feat(all): autogenerated update (2020-08-16) (#626)

diff --git a/abusiveexperiencereport/v1/abusiveexperiencereport-gen.go b/abusiveexperiencereport/v1/abusiveexperiencereport-gen.go
index 15f576a..34491bb 100644
--- a/abusiveexperiencereport/v1/abusiveexperiencereport-gen.go
+++ b/abusiveexperiencereport/v1/abusiveexperiencereport-gen.go
@@ -303,7 +303,7 @@
 
 func (c *SitesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -442,7 +442,7 @@
 
 func (c *ViolatingSitesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/acceleratedmobilepageurl/v1/acceleratedmobilepageurl-gen.go b/acceleratedmobilepageurl/v1/acceleratedmobilepageurl-gen.go
index 0ea7255..9828a6f 100644
--- a/acceleratedmobilepageurl/v1/acceleratedmobilepageurl-gen.go
+++ b/acceleratedmobilepageurl/v1/acceleratedmobilepageurl-gen.go
@@ -363,7 +363,7 @@
 
 func (c *AmpUrlsBatchGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/accessapproval/v1/accessapproval-api.json b/accessapproval/v1/accessapproval-api.json
index 611ca30..d0159e3 100644
--- a/accessapproval/v1/accessapproval-api.json
+++ b/accessapproval/v1/accessapproval-api.json
@@ -108,7 +108,7 @@
     "folders": {
       "methods": {
         "deleteAccessApprovalSettings": {
-          "description": "Deletes the settings associated with a project, folder, or organization.\nThis will have the effect of disabling Access Approval for the project,\nfolder, or organization, but only if all ancestors also have Access\nApproval disabled. If Access Approval is enabled at a higher level of the\nhierarchy, then Access Approval will still be enabled at this level as\nthe settings are inherited.",
+          "description": "Deletes the settings associated with a project, folder, or organization. This will have the effect of disabling Access Approval for the project, folder, or organization, but only if all ancestors also have Access Approval disabled. If Access Approval is enabled at a higher level of the hierarchy, then Access Approval will still be enabled at this level as the settings are inherited.",
           "flatPath": "v1/folders/{foldersId}/accessApprovalSettings",
           "httpMethod": "DELETE",
           "id": "accessapproval.folders.deleteAccessApprovalSettings",
@@ -158,7 +158,7 @@
           ]
         },
         "updateAccessApprovalSettings": {
-          "description": "Updates the settings associated with a project, folder, or organization.\nSettings to update are determined by the value of field_mask.",
+          "description": "Updates the settings associated with a project, folder, or organization. Settings to update are determined by the value of field_mask.",
           "flatPath": "v1/folders/{foldersId}/accessApprovalSettings",
           "httpMethod": "PATCH",
           "id": "accessapproval.folders.updateAccessApprovalSettings",
@@ -167,14 +167,14 @@
           ],
           "parameters": {
             "name": {
-              "description": "The resource name of the settings. Format is one of:\n\u003col\u003e\n  \u003cli\u003e\"projects/{project_id}/accessApprovalSettings\"\u003c/li\u003e\n  \u003cli\u003e\"folders/{folder_id}/accessApprovalSettings\"\u003c/li\u003e\n  \u003cli\u003e\"organizations/{organization_id}/accessApprovalSettings\"\u003c/li\u003e\n\u003col\u003e",
+              "description": "The resource name of the settings. Format is one of: 1. \"projects/{project_id}/accessApprovalSettings\" 2. \"folders/{folder_id}/accessApprovalSettings\" 3. \"organizations/{organization_id}/accessApprovalSettings\" ",
               "location": "path",
               "pattern": "^folders/[^/]+/accessApprovalSettings$",
               "required": true,
               "type": "string"
             },
             "updateMask": {
-              "description": "The update mask applies to the settings. Only the top level fields of\nAccessApprovalSettings (notification_emails \u0026 enrolled_services) are\nsupported. For each field, if it is included, the currently stored value\nwill be entirely overwritten with the value of the field passed in this\nrequest.\n\nFor the `FieldMask` definition, see\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf this field is left unset, only the notification_emails field will be\nupdated.",
+              "description": "The update mask applies to the settings. Only the top level fields of AccessApprovalSettings (notification_emails \u0026 enrolled_services) are supported. For each field, if it is included, the currently stored value will be entirely overwritten with the value of the field passed in this request. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If this field is left unset, only the notification_emails field will be updated.",
               "format": "google-fieldmask",
               "location": "query",
               "type": "string"
@@ -196,7 +196,7 @@
         "approvalRequests": {
           "methods": {
             "approve": {
-              "description": "Approves a request and returns the updated ApprovalRequest.\n\nReturns NOT_FOUND if the request does not exist. Returns\nFAILED_PRECONDITION if the request exists but is not in a pending state.",
+              "description": "Approves a request and returns the updated ApprovalRequest. Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state.",
               "flatPath": "v1/folders/{foldersId}/approvalRequests/{approvalRequestsId}:approve",
               "httpMethod": "POST",
               "id": "accessapproval.folders.approvalRequests.approve",
@@ -224,7 +224,7 @@
               ]
             },
             "dismiss": {
-              "description": "Dismisses a request. Returns the updated ApprovalRequest.\n\nNOTE: This does not deny access to the resource if another request has been\nmade and approved. It is equivalent in effect to ignoring the request\naltogether.\n\nReturns NOT_FOUND if the request does not exist.\n\nReturns FAILED_PRECONDITION if the request exists but is not in a pending\nstate.",
+              "description": "Dismisses a request. Returns the updated ApprovalRequest. NOTE: This does not deny access to the resource if another request has been made and approved. It is equivalent in effect to ignoring the request altogether. Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state.",
               "flatPath": "v1/folders/{foldersId}/approvalRequests/{approvalRequestsId}:dismiss",
               "httpMethod": "POST",
               "id": "accessapproval.folders.approvalRequests.dismiss",
@@ -277,7 +277,7 @@
               ]
             },
             "list": {
-              "description": "Lists approval requests associated with a project, folder, or organization.\nApproval requests can be filtered by state (pending, active, dismissed).\nThe order is reverse chronological.",
+              "description": "Lists approval requests associated with a project, folder, or organization. Approval requests can be filtered by state (pending, active, dismissed). The order is reverse chronological.",
               "flatPath": "v1/folders/{foldersId}/approvalRequests",
               "httpMethod": "GET",
               "id": "accessapproval.folders.approvalRequests.list",
@@ -286,7 +286,7 @@
               ],
               "parameters": {
                 "filter": {
-                  "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n\u003col\u003e\n  \u003cli\u003e[not set]: Requests that are pending or have active approvals.\u003c/li\u003e\n  \u003cli\u003eALL: All requests.\u003c/li\u003e\n  \u003cli\u003ePENDING: Only pending requests.\u003c/li\u003e\n  \u003cli\u003eACTIVE: Only active (i.e. currently approved) requests.\u003c/li\u003e\n  \u003cli\u003eDISMISSED: Only dismissed (including expired) requests.\u003c/li\u003e\n  \u003cli\u003eHISTORY: Active and dismissed (including expired) requests.\u003c/li\u003e\n\u003c/ol\u003e",
+                  "description": "A filter on the type of approval requests to retrieve. Must be one of the following values: 1. [not set]: Requests that are pending or have active approvals. 2. ALL: All requests. 3. PENDING: Only pending requests. 4. ACTIVE: Only active (i.e. currently approved) requests. 5. DISMISSED: Only dismissed (including expired) requests. 6. HISTORY: Active and dismissed (including expired) requests. ",
                   "location": "query",
                   "type": "string"
                 },
@@ -302,7 +302,7 @@
                   "type": "string"
                 },
                 "parent": {
-                  "description": "The parent resource. This may be \"projects/{project_id}\",\n\"folders/{folder_id}\", or \"organizations/{organization_id}\".",
+                  "description": "The parent resource. This may be \"projects/{project_id}\", \"folders/{folder_id}\", or \"organizations/{organization_id}\".",
                   "location": "path",
                   "pattern": "^folders/[^/]+$",
                   "required": true,
@@ -324,7 +324,7 @@
     "organizations": {
       "methods": {
         "deleteAccessApprovalSettings": {
-          "description": "Deletes the settings associated with a project, folder, or organization.\nThis will have the effect of disabling Access Approval for the project,\nfolder, or organization, but only if all ancestors also have Access\nApproval disabled. If Access Approval is enabled at a higher level of the\nhierarchy, then Access Approval will still be enabled at this level as\nthe settings are inherited.",
+          "description": "Deletes the settings associated with a project, folder, or organization. This will have the effect of disabling Access Approval for the project, folder, or organization, but only if all ancestors also have Access Approval disabled. If Access Approval is enabled at a higher level of the hierarchy, then Access Approval will still be enabled at this level as the settings are inherited.",
           "flatPath": "v1/organizations/{organizationsId}/accessApprovalSettings",
           "httpMethod": "DELETE",
           "id": "accessapproval.organizations.deleteAccessApprovalSettings",
@@ -374,7 +374,7 @@
           ]
         },
         "updateAccessApprovalSettings": {
-          "description": "Updates the settings associated with a project, folder, or organization.\nSettings to update are determined by the value of field_mask.",
+          "description": "Updates the settings associated with a project, folder, or organization. Settings to update are determined by the value of field_mask.",
           "flatPath": "v1/organizations/{organizationsId}/accessApprovalSettings",
           "httpMethod": "PATCH",
           "id": "accessapproval.organizations.updateAccessApprovalSettings",
@@ -383,14 +383,14 @@
           ],
           "parameters": {
             "name": {
-              "description": "The resource name of the settings. Format is one of:\n\u003col\u003e\n  \u003cli\u003e\"projects/{project_id}/accessApprovalSettings\"\u003c/li\u003e\n  \u003cli\u003e\"folders/{folder_id}/accessApprovalSettings\"\u003c/li\u003e\n  \u003cli\u003e\"organizations/{organization_id}/accessApprovalSettings\"\u003c/li\u003e\n\u003col\u003e",
+              "description": "The resource name of the settings. Format is one of: 1. \"projects/{project_id}/accessApprovalSettings\" 2. \"folders/{folder_id}/accessApprovalSettings\" 3. \"organizations/{organization_id}/accessApprovalSettings\" ",
               "location": "path",
               "pattern": "^organizations/[^/]+/accessApprovalSettings$",
               "required": true,
               "type": "string"
             },
             "updateMask": {
-              "description": "The update mask applies to the settings. Only the top level fields of\nAccessApprovalSettings (notification_emails \u0026 enrolled_services) are\nsupported. For each field, if it is included, the currently stored value\nwill be entirely overwritten with the value of the field passed in this\nrequest.\n\nFor the `FieldMask` definition, see\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf this field is left unset, only the notification_emails field will be\nupdated.",
+              "description": "The update mask applies to the settings. Only the top level fields of AccessApprovalSettings (notification_emails \u0026 enrolled_services) are supported. For each field, if it is included, the currently stored value will be entirely overwritten with the value of the field passed in this request. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If this field is left unset, only the notification_emails field will be updated.",
               "format": "google-fieldmask",
               "location": "query",
               "type": "string"
@@ -412,7 +412,7 @@
         "approvalRequests": {
           "methods": {
             "approve": {
-              "description": "Approves a request and returns the updated ApprovalRequest.\n\nReturns NOT_FOUND if the request does not exist. Returns\nFAILED_PRECONDITION if the request exists but is not in a pending state.",
+              "description": "Approves a request and returns the updated ApprovalRequest. Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state.",
               "flatPath": "v1/organizations/{organizationsId}/approvalRequests/{approvalRequestsId}:approve",
               "httpMethod": "POST",
               "id": "accessapproval.organizations.approvalRequests.approve",
@@ -440,7 +440,7 @@
               ]
             },
             "dismiss": {
-              "description": "Dismisses a request. Returns the updated ApprovalRequest.\n\nNOTE: This does not deny access to the resource if another request has been\nmade and approved. It is equivalent in effect to ignoring the request\naltogether.\n\nReturns NOT_FOUND if the request does not exist.\n\nReturns FAILED_PRECONDITION if the request exists but is not in a pending\nstate.",
+              "description": "Dismisses a request. Returns the updated ApprovalRequest. NOTE: This does not deny access to the resource if another request has been made and approved. It is equivalent in effect to ignoring the request altogether. Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state.",
               "flatPath": "v1/organizations/{organizationsId}/approvalRequests/{approvalRequestsId}:dismiss",
               "httpMethod": "POST",
               "id": "accessapproval.organizations.approvalRequests.dismiss",
@@ -493,7 +493,7 @@
               ]
             },
             "list": {
-              "description": "Lists approval requests associated with a project, folder, or organization.\nApproval requests can be filtered by state (pending, active, dismissed).\nThe order is reverse chronological.",
+              "description": "Lists approval requests associated with a project, folder, or organization. Approval requests can be filtered by state (pending, active, dismissed). The order is reverse chronological.",
               "flatPath": "v1/organizations/{organizationsId}/approvalRequests",
               "httpMethod": "GET",
               "id": "accessapproval.organizations.approvalRequests.list",
@@ -502,7 +502,7 @@
               ],
               "parameters": {
                 "filter": {
-                  "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n\u003col\u003e\n  \u003cli\u003e[not set]: Requests that are pending or have active approvals.\u003c/li\u003e\n  \u003cli\u003eALL: All requests.\u003c/li\u003e\n  \u003cli\u003ePENDING: Only pending requests.\u003c/li\u003e\n  \u003cli\u003eACTIVE: Only active (i.e. currently approved) requests.\u003c/li\u003e\n  \u003cli\u003eDISMISSED: Only dismissed (including expired) requests.\u003c/li\u003e\n  \u003cli\u003eHISTORY: Active and dismissed (including expired) requests.\u003c/li\u003e\n\u003c/ol\u003e",
+                  "description": "A filter on the type of approval requests to retrieve. Must be one of the following values: 1. [not set]: Requests that are pending or have active approvals. 2. ALL: All requests. 3. PENDING: Only pending requests. 4. ACTIVE: Only active (i.e. currently approved) requests. 5. DISMISSED: Only dismissed (including expired) requests. 6. HISTORY: Active and dismissed (including expired) requests. ",
                   "location": "query",
                   "type": "string"
                 },
@@ -518,7 +518,7 @@
                   "type": "string"
                 },
                 "parent": {
-                  "description": "The parent resource. This may be \"projects/{project_id}\",\n\"folders/{folder_id}\", or \"organizations/{organization_id}\".",
+                  "description": "The parent resource. This may be \"projects/{project_id}\", \"folders/{folder_id}\", or \"organizations/{organization_id}\".",
                   "location": "path",
                   "pattern": "^organizations/[^/]+$",
                   "required": true,
@@ -540,7 +540,7 @@
     "projects": {
       "methods": {
         "deleteAccessApprovalSettings": {
-          "description": "Deletes the settings associated with a project, folder, or organization.\nThis will have the effect of disabling Access Approval for the project,\nfolder, or organization, but only if all ancestors also have Access\nApproval disabled. If Access Approval is enabled at a higher level of the\nhierarchy, then Access Approval will still be enabled at this level as\nthe settings are inherited.",
+          "description": "Deletes the settings associated with a project, folder, or organization. This will have the effect of disabling Access Approval for the project, folder, or organization, but only if all ancestors also have Access Approval disabled. If Access Approval is enabled at a higher level of the hierarchy, then Access Approval will still be enabled at this level as the settings are inherited.",
           "flatPath": "v1/projects/{projectsId}/accessApprovalSettings",
           "httpMethod": "DELETE",
           "id": "accessapproval.projects.deleteAccessApprovalSettings",
@@ -590,7 +590,7 @@
           ]
         },
         "updateAccessApprovalSettings": {
-          "description": "Updates the settings associated with a project, folder, or organization.\nSettings to update are determined by the value of field_mask.",
+          "description": "Updates the settings associated with a project, folder, or organization. Settings to update are determined by the value of field_mask.",
           "flatPath": "v1/projects/{projectsId}/accessApprovalSettings",
           "httpMethod": "PATCH",
           "id": "accessapproval.projects.updateAccessApprovalSettings",
@@ -599,14 +599,14 @@
           ],
           "parameters": {
             "name": {
-              "description": "The resource name of the settings. Format is one of:\n\u003col\u003e\n  \u003cli\u003e\"projects/{project_id}/accessApprovalSettings\"\u003c/li\u003e\n  \u003cli\u003e\"folders/{folder_id}/accessApprovalSettings\"\u003c/li\u003e\n  \u003cli\u003e\"organizations/{organization_id}/accessApprovalSettings\"\u003c/li\u003e\n\u003col\u003e",
+              "description": "The resource name of the settings. Format is one of: 1. \"projects/{project_id}/accessApprovalSettings\" 2. \"folders/{folder_id}/accessApprovalSettings\" 3. \"organizations/{organization_id}/accessApprovalSettings\" ",
               "location": "path",
               "pattern": "^projects/[^/]+/accessApprovalSettings$",
               "required": true,
               "type": "string"
             },
             "updateMask": {
-              "description": "The update mask applies to the settings. Only the top level fields of\nAccessApprovalSettings (notification_emails \u0026 enrolled_services) are\nsupported. For each field, if it is included, the currently stored value\nwill be entirely overwritten with the value of the field passed in this\nrequest.\n\nFor the `FieldMask` definition, see\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf this field is left unset, only the notification_emails field will be\nupdated.",
+              "description": "The update mask applies to the settings. Only the top level fields of AccessApprovalSettings (notification_emails \u0026 enrolled_services) are supported. For each field, if it is included, the currently stored value will be entirely overwritten with the value of the field passed in this request. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If this field is left unset, only the notification_emails field will be updated.",
               "format": "google-fieldmask",
               "location": "query",
               "type": "string"
@@ -628,7 +628,7 @@
         "approvalRequests": {
           "methods": {
             "approve": {
-              "description": "Approves a request and returns the updated ApprovalRequest.\n\nReturns NOT_FOUND if the request does not exist. Returns\nFAILED_PRECONDITION if the request exists but is not in a pending state.",
+              "description": "Approves a request and returns the updated ApprovalRequest. Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state.",
               "flatPath": "v1/projects/{projectsId}/approvalRequests/{approvalRequestsId}:approve",
               "httpMethod": "POST",
               "id": "accessapproval.projects.approvalRequests.approve",
@@ -656,7 +656,7 @@
               ]
             },
             "dismiss": {
-              "description": "Dismisses a request. Returns the updated ApprovalRequest.\n\nNOTE: This does not deny access to the resource if another request has been\nmade and approved. It is equivalent in effect to ignoring the request\naltogether.\n\nReturns NOT_FOUND if the request does not exist.\n\nReturns FAILED_PRECONDITION if the request exists but is not in a pending\nstate.",
+              "description": "Dismisses a request. Returns the updated ApprovalRequest. NOTE: This does not deny access to the resource if another request has been made and approved. It is equivalent in effect to ignoring the request altogether. Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state.",
               "flatPath": "v1/projects/{projectsId}/approvalRequests/{approvalRequestsId}:dismiss",
               "httpMethod": "POST",
               "id": "accessapproval.projects.approvalRequests.dismiss",
@@ -709,7 +709,7 @@
               ]
             },
             "list": {
-              "description": "Lists approval requests associated with a project, folder, or organization.\nApproval requests can be filtered by state (pending, active, dismissed).\nThe order is reverse chronological.",
+              "description": "Lists approval requests associated with a project, folder, or organization. Approval requests can be filtered by state (pending, active, dismissed). The order is reverse chronological.",
               "flatPath": "v1/projects/{projectsId}/approvalRequests",
               "httpMethod": "GET",
               "id": "accessapproval.projects.approvalRequests.list",
@@ -718,7 +718,7 @@
               ],
               "parameters": {
                 "filter": {
-                  "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n\u003col\u003e\n  \u003cli\u003e[not set]: Requests that are pending or have active approvals.\u003c/li\u003e\n  \u003cli\u003eALL: All requests.\u003c/li\u003e\n  \u003cli\u003ePENDING: Only pending requests.\u003c/li\u003e\n  \u003cli\u003eACTIVE: Only active (i.e. currently approved) requests.\u003c/li\u003e\n  \u003cli\u003eDISMISSED: Only dismissed (including expired) requests.\u003c/li\u003e\n  \u003cli\u003eHISTORY: Active and dismissed (including expired) requests.\u003c/li\u003e\n\u003c/ol\u003e",
+                  "description": "A filter on the type of approval requests to retrieve. Must be one of the following values: 1. [not set]: Requests that are pending or have active approvals. 2. ALL: All requests. 3. PENDING: Only pending requests. 4. ACTIVE: Only active (i.e. currently approved) requests. 5. DISMISSED: Only dismissed (including expired) requests. 6. HISTORY: Active and dismissed (including expired) requests. ",
                   "location": "query",
                   "type": "string"
                 },
@@ -734,7 +734,7 @@
                   "type": "string"
                 },
                 "parent": {
-                  "description": "The parent resource. This may be \"projects/{project_id}\",\n\"folders/{folder_id}\", or \"organizations/{organization_id}\".",
+                  "description": "The parent resource. This may be \"projects/{project_id}\", \"folders/{folder_id}\", or \"organizations/{organization_id}\".",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
@@ -754,7 +754,7 @@
       }
     }
   },
-  "revision": "20200726",
+  "revision": "20200807",
   "rootUrl": "https://accessapproval.googleapis.com/",
   "schemas": {
     "AccessApprovalSettings": {
@@ -762,22 +762,23 @@
       "id": "AccessApprovalSettings",
       "properties": {
         "enrolledAncestor": {
-          "description": "Output only. This field is read only (not settable via\nUpdateAccessAccessApprovalSettings method). If the field is true, that\nindicates that at least one service is enrolled for Access Approval in one\nor more ancestors of the Project or Folder (this field will always be\nunset for the organization since organizations do not have ancestors).",
+          "description": "Output only. This field is read only (not settable via UpdateAccessAccessApprovalSettings method). If the field is true, that indicates that at least one service is enrolled for Access Approval in one or more ancestors of the Project or Folder (this field will always be unset for the organization since organizations do not have ancestors).",
+          "readOnly": true,
           "type": "boolean"
         },
         "enrolledServices": {
-          "description": "A list of Google Cloud Services for which the given resource has Access\nApproval enrolled. Access requests for the resource given by name against\nany of these services contained here will be required to have explicit\napproval. If name refers to an organization, enrollment can be done for\nindividual services. If name refers to a folder or project, enrollment can\nonly be done on an all or nothing basis.\n\nIf a cloud_product is repeated in this list, the first entry will be\nhonored and all following entries will be discarded. A maximum of 10\nenrolled services will be enforced, to be expanded as the set of supported\nservices is expanded.",
+          "description": "A list of Google Cloud Services for which the given resource has Access Approval enrolled. Access requests for the resource given by name against any of these services contained here will be required to have explicit approval. If name refers to an organization, enrollment can be done for individual services. If name refers to a folder or project, enrollment can only be done on an all or nothing basis. If a cloud_product is repeated in this list, the first entry will be honored and all following entries will be discarded. A maximum of 10 enrolled services will be enforced, to be expanded as the set of supported services is expanded.",
           "items": {
             "$ref": "EnrolledService"
           },
           "type": "array"
         },
         "name": {
-          "description": "The resource name of the settings. Format is one of:\n\u003col\u003e\n  \u003cli\u003e\"projects/{project_id}/accessApprovalSettings\"\u003c/li\u003e\n  \u003cli\u003e\"folders/{folder_id}/accessApprovalSettings\"\u003c/li\u003e\n  \u003cli\u003e\"organizations/{organization_id}/accessApprovalSettings\"\u003c/li\u003e\n\u003col\u003e",
+          "description": "The resource name of the settings. Format is one of: 1. \"projects/{project_id}/accessApprovalSettings\" 2. \"folders/{folder_id}/accessApprovalSettings\" 3. \"organizations/{organization_id}/accessApprovalSettings\" ",
           "type": "string"
         },
         "notificationEmails": {
-          "description": "A list of email addresses to which notifications relating to approval\nrequests should be sent. Notifications relating to a resource will be sent\nto all emails in the settings of ancestor resources of that resource. A\nmaximum of 50 email addresses are allowed.",
+          "description": "A list of email addresses to which notifications relating to approval requests should be sent. Notifications relating to a resource will be sent to all emails in the settings of ancestor resources of that resource. A maximum of 50 email addresses are allowed.",
           "items": {
             "type": "string"
           },
@@ -791,11 +792,11 @@
       "id": "AccessLocations",
       "properties": {
         "principalOfficeCountry": {
-          "description": "The \"home office\" location of the principal. A two-letter country code\n(ISO 3166-1 alpha-2), such as \"US\", \"DE\" or \"GB\" or a region code. In some\nlimited situations Google systems may refer refer to a region code instead\nof a country code.\nPossible Region Codes:\n\u003col\u003e\n  \u003cli\u003eASI: Asia\u003c/li\u003e\n  \u003cli\u003eEUR: Europe\u003c/li\u003e\n  \u003cli\u003eOCE: Oceania\u003c/li\u003e\n  \u003cli\u003eAFR: Africa\u003c/li\u003e\n  \u003cli\u003eNAM: North America\u003c/li\u003e\n  \u003cli\u003eSAM: South America\u003c/li\u003e\n  \u003cli\u003eANT: Antarctica\u003c/li\u003e\n  \u003cli\u003eANY: Any location\u003c/li\u003e\n\u003c/ol\u003e",
+          "description": "The \"home office\" location of the principal. A two-letter country code (ISO 3166-1 alpha-2), such as \"US\", \"DE\" or \"GB\" or a region code. In some limited situations Google systems may refer refer to a region code instead of a country code. Possible Region Codes: 1. ASI: Asia 2. EUR: Europe 3. OCE: Oceania 4. AFR: Africa 5. NAM: North America 6. SAM: South America 7. ANT: Antarctica 8. ANY: Any location ",
           "type": "string"
         },
         "principalPhysicalLocationCountry": {
-          "description": "Physical location of the principal at the time of the access. A\ntwo-letter country code (ISO 3166-1 alpha-2), such as \"US\", \"DE\" or \"GB\" or\na region code. In some limited situations Google systems may refer refer to\na region code instead of a country code.\nPossible Region Codes:\n\u003col\u003e\n  \u003cli\u003eASI: Asia\u003c/li\u003e\n  \u003cli\u003eEUR: Europe\u003c/li\u003e\n  \u003cli\u003eOCE: Oceania\u003c/li\u003e\n  \u003cli\u003eAFR: Africa\u003c/li\u003e\n  \u003cli\u003eNAM: North America\u003c/li\u003e\n  \u003cli\u003eSAM: South America\u003c/li\u003e\n  \u003cli\u003eANT: Antarctica\u003c/li\u003e\n  \u003cli\u003eANY: Any location\u003c/li\u003e\n\u003c/ol\u003e",
+          "description": "Physical location of the principal at the time of the access. A two-letter country code (ISO 3166-1 alpha-2), such as \"US\", \"DE\" or \"GB\" or a region code. In some limited situations Google systems may refer refer to a region code instead of a country code. Possible Region Codes: 1. ASI: Asia 2. EUR: Europe 3. OCE: Oceania 4. AFR: Africa 5. NAM: North America 6. SAM: South America 7. ANT: Antarctica 8. ANY: Any location ",
           "type": "string"
         }
       },
@@ -818,9 +819,9 @@
           ],
           "enumDescriptions": [
             "Default value for proto, shouldn't be used.",
-            "Customer made a request or raised an issue that required the principal to\naccess customer data. `detail` is of the form (\"#####\" is the issue ID):\n\u003col\u003e\n  \u003cli\u003e\"Feedback Report: #####\"\u003c/li\u003e\n  \u003cli\u003e\"Case Number: #####\"\u003c/li\u003e\n  \u003cli\u003e\"Case ID: #####\"\u003c/li\u003e\n  \u003cli\u003e\"E-PIN Reference: #####\"\u003c/li\u003e\n  \u003cli\u003e\"Google-#####\"\u003c/li\u003e\n  \u003cli\u003e\"T-#####\"\u003c/li\u003e\n\u003c/ol\u003e",
-            "The principal accessed customer data in order to diagnose or resolve a\nsuspected issue in services or a known outage. Often this access is used\nto confirm that customers are not affected by a suspected service issue\nor to remediate a reversible system issue.",
-            "Google initiated service for security, fraud, abuse, or compliance\npurposes."
+            "Customer made a request or raised an issue that required the principal to access customer data. `detail` is of the form (\"#####\" is the issue ID): 1. \"Feedback Report: #####\" 2. \"Case Number: #####\" 3. \"Case ID: #####\" 4. \"E-PIN Reference: #####\" 5. \"Google-#####\" 6. \"T-#####\" ",
+            "The principal accessed customer data in order to diagnose or resolve a suspected issue in services or a known outage. Often this access is used to confirm that customers are not affected by a suspected service issue or to remediate a reversible system issue.",
+            "Google initiated service for security, fraud, abuse, or compliance purposes."
           ],
           "type": "string"
         }
@@ -840,7 +841,7 @@
           "description": "The request was dismissed."
         },
         "name": {
-          "description": "The resource name of the request. Format is\n\"{projects|folders|organizations}/{id}/approvalRequests/{approval_request_id}\".",
+          "description": "The resource name of the request. Format is \"{projects|folders|organizations}/{id}/approvalRequests/{approval_request_id}\".",
           "type": "string"
         },
         "requestTime": {
@@ -849,7 +850,7 @@
           "type": "string"
         },
         "requestedExpiration": {
-          "description": "The requested expiration for the approval. If the request is approved,\naccess will be granted from the time of approval until the expiration time.",
+          "description": "The requested expiration for the approval. If the request is approved, access will be granted from the time of approval until the expiration time.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -862,7 +863,7 @@
           "description": "The justification for which approval is being requested."
         },
         "requestedResourceName": {
-          "description": "The resource for which approval is being requested. The format of the\nresource name is defined at\nhttps://cloud.google.com/apis/design/resource_names. The resource name here\nmay either be a \"full\" resource name (e.g.\n\"//library.googleapis.com/shelves/shelf1/books/book2\") or a \"relative\"\nresource name (e.g. \"shelves/shelf1/books/book2\") as described in the\nresource name specification.",
+          "description": "The resource for which approval is being requested. The format of the resource name is defined at https://cloud.google.com/apis/design/resource_names. The resource name here may either be a \"full\" resource name (e.g. \"//library.googleapis.com/shelves/shelf1/books/book2\") or a \"relative\" resource name (e.g. \"shelves/shelf1/books/book2\") as described in the resource name specification.",
           "type": "string"
         },
         "requestedResourceProperties": {
@@ -917,14 +918,14 @@
           "type": "string"
         },
         "implicit": {
-          "description": "This field will be true if the ApprovalRequest was implcitly dismissed due\nto inaction by the access approval approvers (the request is not acted\non by the approvers before the exiration time).",
+          "description": "This field will be true if the ApprovalRequest was implcitly dismissed due to inaction by the access approval approvers (the request is not acted on by the approvers before the exiration time).",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
@@ -934,7 +935,7 @@
       "id": "EnrolledService",
       "properties": {
         "cloudProduct": {
-          "description": "The product for which Access Approval will be enrolled. Allowed values are\nlisted below (case-sensitive):\n\u003col\u003e\n  \u003cli\u003eall\u003c/li\u003e\n  \u003cli\u003eappengine.googleapis.com\u003c/li\u003e\n  \u003cli\u003ebigquery.googleapis.com\u003c/li\u003e\n  \u003cli\u003ebigtable.googleapis.com\u003c/li\u003e\n  \u003cli\u003ecloudkms.googleapis.com\u003c/li\u003e\n  \u003cli\u003ecompute.googleapis.com\u003c/li\u003e\n  \u003cli\u003edataflow.googleapis.com\u003c/li\u003e\n  \u003cli\u003eiam.googleapis.com\u003c/li\u003e\n  \u003cli\u003epubsub.googleapis.com\u003c/li\u003e\n  \u003cli\u003estorage.googleapis.com\u003c/li\u003e\n\u003col\u003e",
+          "description": "The product for which Access Approval will be enrolled. Allowed values are listed below (case-sensitive): 1. all 2. appengine.googleapis.com 3. bigquery.googleapis.com 4. bigtable.googleapis.com 5. cloudkms.googleapis.com 6. compute.googleapis.com 7. dataflow.googleapis.com 8. iam.googleapis.com 9. pubsub.googleapis.com 10. storage.googleapis.com ",
           "type": "string"
         },
         "enrollmentLevel": {
@@ -975,7 +976,7 @@
       "id": "ResourceProperties",
       "properties": {
         "excludesDescendants": {
-          "description": "Whether an approval will exclude the descendants of the resource being\nrequested.",
+          "description": "Whether an approval will exclude the descendants of the resource being requested.",
           "type": "boolean"
         }
       },
diff --git a/accessapproval/v1/accessapproval-gen.go b/accessapproval/v1/accessapproval-gen.go
index 6ee1a49..d0ae195 100644
--- a/accessapproval/v1/accessapproval-gen.go
+++ b/accessapproval/v1/accessapproval-gen.go
@@ -208,54 +208,36 @@
 // related to Access Approval.
 type AccessApprovalSettings struct {
 	// EnrolledAncestor: Output only. This field is read only (not settable
-	// via
-	// UpdateAccessAccessApprovalSettings method). If the field is true,
-	// that
-	// indicates that at least one service is enrolled for Access Approval
-	// in one
-	// or more ancestors of the Project or Folder (this field will always
-	// be
-	// unset for the organization since organizations do not have
-	// ancestors).
+	// via UpdateAccessAccessApprovalSettings method). If the field is true,
+	// that indicates that at least one service is enrolled for Access
+	// Approval in one or more ancestors of the Project or Folder (this
+	// field will always be unset for the organization since organizations
+	// do not have ancestors).
 	EnrolledAncestor bool `json:"enrolledAncestor,omitempty"`
 
 	// EnrolledServices: A list of Google Cloud Services for which the given
-	// resource has Access
-	// Approval enrolled. Access requests for the resource given by name
-	// against
-	// any of these services contained here will be required to have
-	// explicit
-	// approval. If name refers to an organization, enrollment can be done
-	// for
-	// individual services. If name refers to a folder or project,
-	// enrollment can
-	// only be done on an all or nothing basis.
-	//
-	// If a cloud_product is repeated in this list, the first entry will
-	// be
-	// honored and all following entries will be discarded. A maximum of
-	// 10
-	// enrolled services will be enforced, to be expanded as the set of
-	// supported
-	// services is expanded.
+	// resource has Access Approval enrolled. Access requests for the
+	// resource given by name against any of these services contained here
+	// will be required to have explicit approval. If name refers to an
+	// organization, enrollment can be done for individual services. If name
+	// refers to a folder or project, enrollment can only be done on an all
+	// or nothing basis. If a cloud_product is repeated in this list, the
+	// first entry will be honored and all following entries will be
+	// discarded. A maximum of 10 enrolled services will be enforced, to be
+	// expanded as the set of supported services is expanded.
 	EnrolledServices []*EnrolledService `json:"enrolledServices,omitempty"`
 
-	// Name: The resource name of the settings. Format is one of:
-	// <ol>
-	//   <li>"projects/{project_id}/accessApprovalSettings"</li>
-	//   <li>"folders/{folder_id}/accessApprovalSettings"</li>
-	//
-	// <li>"organizations/{organization_id}/accessApprovalSettings"</li>
-	// <ol>
+	// Name: The resource name of the settings. Format is one of: 1.
+	// "projects/{project_id}/accessApprovalSettings" 2.
+	// "folders/{folder_id}/accessApprovalSettings" 3.
+	// "organizations/{organization_id}/accessApprovalSettings"
 	Name string `json:"name,omitempty"`
 
 	// NotificationEmails: A list of email addresses to which notifications
-	// relating to approval
-	// requests should be sent. Notifications relating to a resource will be
-	// sent
-	// to all emails in the settings of ancestor resources of that resource.
-	// A
-	// maximum of 50 email addresses are allowed.
+	// relating to approval requests should be sent. Notifications relating
+	// to a resource will be sent to all emails in the settings of ancestor
+	// resources of that resource. A maximum of 50 email addresses are
+	// allowed.
 	NotificationEmails []string `json:"notificationEmails,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -289,43 +271,21 @@
 // AccessLocations: Home office and physical location of the principal.
 type AccessLocations struct {
 	// PrincipalOfficeCountry: The "home office" location of the principal.
-	// A two-letter country code
-	// (ISO 3166-1 alpha-2), such as "US", "DE" or "GB" or a region code. In
-	// some
-	// limited situations Google systems may refer refer to a region code
-	// instead
-	// of a country code.
-	// Possible Region Codes:
-	// <ol>
-	//   <li>ASI: Asia</li>
-	//   <li>EUR: Europe</li>
-	//   <li>OCE: Oceania</li>
-	//   <li>AFR: Africa</li>
-	//   <li>NAM: North America</li>
-	//   <li>SAM: South America</li>
-	//   <li>ANT: Antarctica</li>
-	//   <li>ANY: Any location</li>
-	// </ol>
+	// A two-letter country code (ISO 3166-1 alpha-2), such as "US", "DE" or
+	// "GB" or a region code. In some limited situations Google systems may
+	// refer refer to a region code instead of a country code. Possible
+	// Region Codes: 1. ASI: Asia 2. EUR: Europe 3. OCE: Oceania 4. AFR:
+	// Africa 5. NAM: North America 6. SAM: South America 7. ANT: Antarctica
+	// 8. ANY: Any location
 	PrincipalOfficeCountry string `json:"principalOfficeCountry,omitempty"`
 
 	// PrincipalPhysicalLocationCountry: Physical location of the principal
-	// at the time of the access. A
-	// two-letter country code (ISO 3166-1 alpha-2), such as "US", "DE" or
-	// "GB" or
-	// a region code. In some limited situations Google systems may refer
-	// refer to
-	// a region code instead of a country code.
-	// Possible Region Codes:
-	// <ol>
-	//   <li>ASI: Asia</li>
-	//   <li>EUR: Europe</li>
-	//   <li>OCE: Oceania</li>
-	//   <li>AFR: Africa</li>
-	//   <li>NAM: North America</li>
-	//   <li>SAM: South America</li>
-	//   <li>ANT: Antarctica</li>
-	//   <li>ANY: Any location</li>
-	// </ol>
+	// at the time of the access. A two-letter country code (ISO 3166-1
+	// alpha-2), such as "US", "DE" or "GB" or a region code. In some
+	// limited situations Google systems may refer refer to a region code
+	// instead of a country code. Possible Region Codes: 1. ASI: Asia 2.
+	// EUR: Europe 3. OCE: Oceania 4. AFR: Africa 5. NAM: North America 6.
+	// SAM: South America 7. ANT: Antarctica 8. ANY: Any location
 	PrincipalPhysicalLocationCountry string `json:"principalPhysicalLocationCountry,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -363,27 +323,17 @@
 	// Possible values:
 	//   "TYPE_UNSPECIFIED" - Default value for proto, shouldn't be used.
 	//   "CUSTOMER_INITIATED_SUPPORT" - Customer made a request or raised an
-	// issue that required the principal to
-	// access customer data. `detail` is of the form ("#####" is the issue
-	// ID):
-	// <ol>
-	//   <li>"Feedback Report: #####"</li>
-	//   <li>"Case Number: #####"</li>
-	//   <li>"Case ID: #####"</li>
-	//   <li>"E-PIN Reference: #####"</li>
-	//   <li>"Google-#####"</li>
-	//   <li>"T-#####"</li>
-	// </ol>
+	// issue that required the principal to access customer data. `detail`
+	// is of the form ("#####" is the issue ID): 1. "Feedback Report: #####"
+	// 2. "Case Number: #####" 3. "Case ID: #####" 4. "E-PIN Reference:
+	// #####" 5. "Google-#####" 6. "T-#####"
 	//   "GOOGLE_INITIATED_SERVICE" - The principal accessed customer data
-	// in order to diagnose or resolve a
-	// suspected issue in services or a known outage. Often this access is
-	// used
-	// to confirm that customers are not affected by a suspected service
-	// issue
-	// or to remediate a reversible system issue.
+	// in order to diagnose or resolve a suspected issue in services or a
+	// known outage. Often this access is used to confirm that customers are
+	// not affected by a suspected service issue or to remediate a
+	// reversible system issue.
 	//   "GOOGLE_INITIATED_REVIEW" - Google initiated service for security,
-	// fraud, abuse, or compliance
-	// purposes.
+	// fraud, abuse, or compliance purposes.
 	Type string `json:"type,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Detail") to
@@ -418,19 +368,17 @@
 	// Dismiss: The request was dismissed.
 	Dismiss *DismissDecision `json:"dismiss,omitempty"`
 
-	// Name: The resource name of the request. Format
-	// is
-	// "{projects|folders|organizations}/{id}/approvalRequests/{approval_r
-	// equest_id}".
+	// Name: The resource name of the request. Format is
+	// "{projects|folders|organizations}/{id}/approvalRequests/{approval_requ
+	// est_id}".
 	Name string `json:"name,omitempty"`
 
 	// RequestTime: The time at which approval was requested.
 	RequestTime string `json:"requestTime,omitempty"`
 
 	// RequestedExpiration: The requested expiration for the approval. If
-	// the request is approved,
-	// access will be granted from the time of approval until the expiration
-	// time.
+	// the request is approved, access will be granted from the time of
+	// approval until the expiration time.
 	RequestedExpiration string `json:"requestedExpiration,omitempty"`
 
 	// RequestedLocations: The locations for which approval is being
@@ -442,18 +390,12 @@
 	RequestedReason *AccessReason `json:"requestedReason,omitempty"`
 
 	// RequestedResourceName: The resource for which approval is being
-	// requested. The format of the
-	// resource name is defined
-	// at
+	// requested. The format of the resource name is defined at
 	// https://cloud.google.com/apis/design/resource_names. The resource
-	// name here
-	// may either be a "full" resource name
-	// (e.g.
+	// name here may either be a "full" resource name (e.g.
 	// "//library.googleapis.com/shelves/shelf1/books/book2") or a
-	// "relative"
-	// resource name (e.g. "shelves/shelf1/books/book2") as described in
-	// the
-	// resource name specification.
+	// "relative" resource name (e.g. "shelves/shelf1/books/book2") as
+	// described in the resource name specification.
 	RequestedResourceName string `json:"requestedResourceName,omitempty"`
 
 	// RequestedResourceProperties: Properties related to the resource
@@ -559,10 +501,9 @@
 	DismissTime string `json:"dismissTime,omitempty"`
 
 	// Implicit: This field will be true if the ApprovalRequest was
-	// implcitly dismissed due
-	// to inaction by the access approval approvers (the request is not
-	// acted
-	// on by the approvers before the exiration time).
+	// implcitly dismissed due to inaction by the access approval approvers
+	// (the request is not acted on by the approvers before the exiration
+	// time).
 	Implicit bool `json:"implicit,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "DismissTime") to
@@ -589,17 +530,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -610,20 +545,12 @@
 // specific service.
 type EnrolledService struct {
 	// CloudProduct: The product for which Access Approval will be enrolled.
-	// Allowed values are
-	// listed below (case-sensitive):
-	// <ol>
-	//   <li>all</li>
-	//   <li>appengine.googleapis.com</li>
-	//   <li>bigquery.googleapis.com</li>
-	//   <li>bigtable.googleapis.com</li>
-	//   <li>cloudkms.googleapis.com</li>
-	//   <li>compute.googleapis.com</li>
-	//   <li>dataflow.googleapis.com</li>
-	//   <li>iam.googleapis.com</li>
-	//   <li>pubsub.googleapis.com</li>
-	//   <li>storage.googleapis.com</li>
-	// <ol>
+	// Allowed values are listed below (case-sensitive): 1. all 2.
+	// appengine.googleapis.com 3. bigquery.googleapis.com 4.
+	// bigtable.googleapis.com 5. cloudkms.googleapis.com 6.
+	// compute.googleapis.com 7. dataflow.googleapis.com 8.
+	// iam.googleapis.com 9. pubsub.googleapis.com 10.
+	// storage.googleapis.com
 	CloudProduct string `json:"cloudProduct,omitempty"`
 
 	// EnrollmentLevel: The enrollment level of the service.
@@ -700,8 +627,7 @@
 // the request.
 type ResourceProperties struct {
 	// ExcludesDescendants: Whether an approval will exclude the descendants
-	// of the resource being
-	// requested.
+	// of the resource being requested.
 	ExcludesDescendants bool `json:"excludesDescendants,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ExcludesDescendants")
@@ -739,16 +665,12 @@
 }
 
 // DeleteAccessApprovalSettings: Deletes the settings associated with a
-// project, folder, or organization.
-// This will have the effect of disabling Access Approval for the
-// project,
-// folder, or organization, but only if all ancestors also have
-// Access
-// Approval disabled. If Access Approval is enabled at a higher level of
-// the
-// hierarchy, then Access Approval will still be enabled at this level
-// as
-// the settings are inherited.
+// project, folder, or organization. This will have the effect of
+// disabling Access Approval for the project, folder, or organization,
+// but only if all ancestors also have Access Approval disabled. If
+// Access Approval is enabled at a higher level of the hierarchy, then
+// Access Approval will still be enabled at this level as the settings
+// are inherited.
 func (r *FoldersService) DeleteAccessApprovalSettings(name string) *FoldersDeleteAccessApprovalSettingsCall {
 	c := &FoldersDeleteAccessApprovalSettingsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -782,7 +704,7 @@
 
 func (c *FoldersDeleteAccessApprovalSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -841,7 +763,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes the settings associated with a project, folder, or organization.\nThis will have the effect of disabling Access Approval for the project,\nfolder, or organization, but only if all ancestors also have Access\nApproval disabled. If Access Approval is enabled at a higher level of the\nhierarchy, then Access Approval will still be enabled at this level as\nthe settings are inherited.",
+	//   "description": "Deletes the settings associated with a project, folder, or organization. This will have the effect of disabling Access Approval for the project, folder, or organization, but only if all ancestors also have Access Approval disabled. If Access Approval is enabled at a higher level of the hierarchy, then Access Approval will still be enabled at this level as the settings are inherited.",
 	//   "flatPath": "v1/folders/{foldersId}/accessApprovalSettings",
 	//   "httpMethod": "DELETE",
 	//   "id": "accessapproval.folders.deleteAccessApprovalSettings",
@@ -924,7 +846,7 @@
 
 func (c *FoldersGetAccessApprovalSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1025,8 +947,8 @@
 }
 
 // UpdateAccessApprovalSettings: Updates the settings associated with a
-// project, folder, or organization.
-// Settings to update are determined by the value of field_mask.
+// project, folder, or organization. Settings to update are determined
+// by the value of field_mask.
 func (r *FoldersService) UpdateAccessApprovalSettings(name string, accessapprovalsettings *AccessApprovalSettings) *FoldersUpdateAccessApprovalSettingsCall {
 	c := &FoldersUpdateAccessApprovalSettingsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -1035,22 +957,12 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": The update mask
-// applies to the settings. Only the top level fields
-// of
-// AccessApprovalSettings (notification_emails & enrolled_services)
-// are
+// applies to the settings. Only the top level fields of
+// AccessApprovalSettings (notification_emails & enrolled_services) are
 // supported. For each field, if it is included, the currently stored
-// value
-// will be entirely overwritten with the value of the field passed in
-// this
-// request.
-//
-// For the `FieldMask` definition,
-// see
-// https://developers.google.com/protocol-buffers/docs/reference/goog
-// le.protobuf#fieldmask
-// If this field is left unset, only the notification_emails field will
-// be
+// value will be entirely overwritten with the value of the field passed
+// in this request. For the `FieldMask` definition, see
+// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If this field is left unset, only the notification_emails field will be
 // updated.
 func (c *FoldersUpdateAccessApprovalSettingsCall) UpdateMask(updateMask string) *FoldersUpdateAccessApprovalSettingsCall {
 	c.urlParams_.Set("updateMask", updateMask)
@@ -1084,7 +996,7 @@
 
 func (c *FoldersUpdateAccessApprovalSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1148,7 +1060,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates the settings associated with a project, folder, or organization.\nSettings to update are determined by the value of field_mask.",
+	//   "description": "Updates the settings associated with a project, folder, or organization. Settings to update are determined by the value of field_mask.",
 	//   "flatPath": "v1/folders/{foldersId}/accessApprovalSettings",
 	//   "httpMethod": "PATCH",
 	//   "id": "accessapproval.folders.updateAccessApprovalSettings",
@@ -1157,14 +1069,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The resource name of the settings. Format is one of:\n\u003col\u003e\n  \u003cli\u003e\"projects/{project_id}/accessApprovalSettings\"\u003c/li\u003e\n  \u003cli\u003e\"folders/{folder_id}/accessApprovalSettings\"\u003c/li\u003e\n  \u003cli\u003e\"organizations/{organization_id}/accessApprovalSettings\"\u003c/li\u003e\n\u003col\u003e",
+	//       "description": "The resource name of the settings. Format is one of: 1. \"projects/{project_id}/accessApprovalSettings\" 2. \"folders/{folder_id}/accessApprovalSettings\" 3. \"organizations/{organization_id}/accessApprovalSettings\" ",
 	//       "location": "path",
 	//       "pattern": "^folders/[^/]+/accessApprovalSettings$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "The update mask applies to the settings. Only the top level fields of\nAccessApprovalSettings (notification_emails \u0026 enrolled_services) are\nsupported. For each field, if it is included, the currently stored value\nwill be entirely overwritten with the value of the field passed in this\nrequest.\n\nFor the `FieldMask` definition, see\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf this field is left unset, only the notification_emails field will be\nupdated.",
+	//       "description": "The update mask applies to the settings. Only the top level fields of AccessApprovalSettings (notification_emails \u0026 enrolled_services) are supported. For each field, if it is included, the currently stored value will be entirely overwritten with the value of the field passed in this request. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If this field is left unset, only the notification_emails field will be updated.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -1195,11 +1107,8 @@
 	header_                       http.Header
 }
 
-// Approve: Approves a request and returns the updated
-// ApprovalRequest.
-//
-// Returns NOT_FOUND if the request does not exist.
-// Returns
+// Approve: Approves a request and returns the updated ApprovalRequest.
+// Returns NOT_FOUND if the request does not exist. Returns
 // FAILED_PRECONDITION if the request exists but is not in a pending
 // state.
 func (r *FoldersApprovalRequestsService) Approve(name string, approveapprovalrequestmessage *ApproveApprovalRequestMessage) *FoldersApprovalRequestsApproveCall {
@@ -1236,7 +1145,7 @@
 
 func (c *FoldersApprovalRequestsApproveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1300,7 +1209,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Approves a request and returns the updated ApprovalRequest.\n\nReturns NOT_FOUND if the request does not exist. Returns\nFAILED_PRECONDITION if the request exists but is not in a pending state.",
+	//   "description": "Approves a request and returns the updated ApprovalRequest. Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state.",
 	//   "flatPath": "v1/folders/{foldersId}/approvalRequests/{approvalRequestsId}:approve",
 	//   "httpMethod": "POST",
 	//   "id": "accessapproval.folders.approvalRequests.approve",
@@ -1341,20 +1250,12 @@
 	header_                       http.Header
 }
 
-// Dismiss: Dismisses a request. Returns the updated
-// ApprovalRequest.
-//
+// Dismiss: Dismisses a request. Returns the updated ApprovalRequest.
 // NOTE: This does not deny access to the resource if another request
-// has been
-// made and approved. It is equivalent in effect to ignoring the
-// request
-// altogether.
-//
-// Returns NOT_FOUND if the request does not exist.
-//
-// Returns FAILED_PRECONDITION if the request exists but is not in a
-// pending
-// state.
+// has been made and approved. It is equivalent in effect to ignoring
+// the request altogether. Returns NOT_FOUND if the request does not
+// exist. Returns FAILED_PRECONDITION if the request exists but is not
+// in a pending state.
 func (r *FoldersApprovalRequestsService) Dismiss(name string, dismissapprovalrequestmessage *DismissApprovalRequestMessage) *FoldersApprovalRequestsDismissCall {
 	c := &FoldersApprovalRequestsDismissCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -1389,7 +1290,7 @@
 
 func (c *FoldersApprovalRequestsDismissCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1453,7 +1354,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Dismisses a request. Returns the updated ApprovalRequest.\n\nNOTE: This does not deny access to the resource if another request has been\nmade and approved. It is equivalent in effect to ignoring the request\naltogether.\n\nReturns NOT_FOUND if the request does not exist.\n\nReturns FAILED_PRECONDITION if the request exists but is not in a pending\nstate.",
+	//   "description": "Dismisses a request. Returns the updated ApprovalRequest. NOTE: This does not deny access to the resource if another request has been made and approved. It is equivalent in effect to ignoring the request altogether. Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state.",
 	//   "flatPath": "v1/folders/{foldersId}/approvalRequests/{approvalRequestsId}:dismiss",
 	//   "httpMethod": "POST",
 	//   "id": "accessapproval.folders.approvalRequests.dismiss",
@@ -1539,7 +1440,7 @@
 
 func (c *FoldersApprovalRequestsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1640,10 +1541,8 @@
 }
 
 // List: Lists approval requests associated with a project, folder, or
-// organization.
-// Approval requests can be filtered by state (pending, active,
-// dismissed).
-// The order is reverse chronological.
+// organization. Approval requests can be filtered by state (pending,
+// active, dismissed). The order is reverse chronological.
 func (r *FoldersApprovalRequestsService) List(parent string) *FoldersApprovalRequestsListCall {
 	c := &FoldersApprovalRequestsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -1651,18 +1550,12 @@
 }
 
 // Filter sets the optional parameter "filter": A filter on the type of
-// approval requests to retrieve. Must be one of the
-// following values:
-// <ol>
-//   <li>[not set]: Requests that are pending or have active
-// approvals.</li>
-//   <li>ALL: All requests.</li>
-//   <li>PENDING: Only pending requests.</li>
-//   <li>ACTIVE: Only active (i.e. currently approved) requests.</li>
-//   <li>DISMISSED: Only dismissed (including expired) requests.</li>
-//   <li>HISTORY: Active and dismissed (including expired)
-// requests.</li>
-// </ol>
+// approval requests to retrieve. Must be one of the following values:
+// 1. [not set]: Requests that are pending or have active approvals. 2.
+// ALL: All requests. 3. PENDING: Only pending requests. 4. ACTIVE: Only
+// active (i.e. currently approved) requests. 5. DISMISSED: Only
+// dismissed (including expired) requests. 6. HISTORY: Active and
+// dismissed (including expired) requests.
 func (c *FoldersApprovalRequestsListCall) Filter(filter string) *FoldersApprovalRequestsListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
@@ -1718,7 +1611,7 @@
 
 func (c *FoldersApprovalRequestsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1780,7 +1673,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists approval requests associated with a project, folder, or organization.\nApproval requests can be filtered by state (pending, active, dismissed).\nThe order is reverse chronological.",
+	//   "description": "Lists approval requests associated with a project, folder, or organization. Approval requests can be filtered by state (pending, active, dismissed). The order is reverse chronological.",
 	//   "flatPath": "v1/folders/{foldersId}/approvalRequests",
 	//   "httpMethod": "GET",
 	//   "id": "accessapproval.folders.approvalRequests.list",
@@ -1789,7 +1682,7 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n\u003col\u003e\n  \u003cli\u003e[not set]: Requests that are pending or have active approvals.\u003c/li\u003e\n  \u003cli\u003eALL: All requests.\u003c/li\u003e\n  \u003cli\u003ePENDING: Only pending requests.\u003c/li\u003e\n  \u003cli\u003eACTIVE: Only active (i.e. currently approved) requests.\u003c/li\u003e\n  \u003cli\u003eDISMISSED: Only dismissed (including expired) requests.\u003c/li\u003e\n  \u003cli\u003eHISTORY: Active and dismissed (including expired) requests.\u003c/li\u003e\n\u003c/ol\u003e",
+	//       "description": "A filter on the type of approval requests to retrieve. Must be one of the following values: 1. [not set]: Requests that are pending or have active approvals. 2. ALL: All requests. 3. PENDING: Only pending requests. 4. ACTIVE: Only active (i.e. currently approved) requests. 5. DISMISSED: Only dismissed (including expired) requests. 6. HISTORY: Active and dismissed (including expired) requests. ",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -1805,7 +1698,7 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "The parent resource. This may be \"projects/{project_id}\",\n\"folders/{folder_id}\", or \"organizations/{organization_id}\".",
+	//       "description": "The parent resource. This may be \"projects/{project_id}\", \"folders/{folder_id}\", or \"organizations/{organization_id}\".",
 	//       "location": "path",
 	//       "pattern": "^folders/[^/]+$",
 	//       "required": true,
@@ -1855,16 +1748,12 @@
 }
 
 // DeleteAccessApprovalSettings: Deletes the settings associated with a
-// project, folder, or organization.
-// This will have the effect of disabling Access Approval for the
-// project,
-// folder, or organization, but only if all ancestors also have
-// Access
-// Approval disabled. If Access Approval is enabled at a higher level of
-// the
-// hierarchy, then Access Approval will still be enabled at this level
-// as
-// the settings are inherited.
+// project, folder, or organization. This will have the effect of
+// disabling Access Approval for the project, folder, or organization,
+// but only if all ancestors also have Access Approval disabled. If
+// Access Approval is enabled at a higher level of the hierarchy, then
+// Access Approval will still be enabled at this level as the settings
+// are inherited.
 func (r *OrganizationsService) DeleteAccessApprovalSettings(name string) *OrganizationsDeleteAccessApprovalSettingsCall {
 	c := &OrganizationsDeleteAccessApprovalSettingsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -1898,7 +1787,7 @@
 
 func (c *OrganizationsDeleteAccessApprovalSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1957,7 +1846,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes the settings associated with a project, folder, or organization.\nThis will have the effect of disabling Access Approval for the project,\nfolder, or organization, but only if all ancestors also have Access\nApproval disabled. If Access Approval is enabled at a higher level of the\nhierarchy, then Access Approval will still be enabled at this level as\nthe settings are inherited.",
+	//   "description": "Deletes the settings associated with a project, folder, or organization. This will have the effect of disabling Access Approval for the project, folder, or organization, but only if all ancestors also have Access Approval disabled. If Access Approval is enabled at a higher level of the hierarchy, then Access Approval will still be enabled at this level as the settings are inherited.",
 	//   "flatPath": "v1/organizations/{organizationsId}/accessApprovalSettings",
 	//   "httpMethod": "DELETE",
 	//   "id": "accessapproval.organizations.deleteAccessApprovalSettings",
@@ -2040,7 +1929,7 @@
 
 func (c *OrganizationsGetAccessApprovalSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2141,8 +2030,8 @@
 }
 
 // UpdateAccessApprovalSettings: Updates the settings associated with a
-// project, folder, or organization.
-// Settings to update are determined by the value of field_mask.
+// project, folder, or organization. Settings to update are determined
+// by the value of field_mask.
 func (r *OrganizationsService) UpdateAccessApprovalSettings(name string, accessapprovalsettings *AccessApprovalSettings) *OrganizationsUpdateAccessApprovalSettingsCall {
 	c := &OrganizationsUpdateAccessApprovalSettingsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -2151,22 +2040,12 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": The update mask
-// applies to the settings. Only the top level fields
-// of
-// AccessApprovalSettings (notification_emails & enrolled_services)
-// are
+// applies to the settings. Only the top level fields of
+// AccessApprovalSettings (notification_emails & enrolled_services) are
 // supported. For each field, if it is included, the currently stored
-// value
-// will be entirely overwritten with the value of the field passed in
-// this
-// request.
-//
-// For the `FieldMask` definition,
-// see
-// https://developers.google.com/protocol-buffers/docs/reference/goog
-// le.protobuf#fieldmask
-// If this field is left unset, only the notification_emails field will
-// be
+// value will be entirely overwritten with the value of the field passed
+// in this request. For the `FieldMask` definition, see
+// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If this field is left unset, only the notification_emails field will be
 // updated.
 func (c *OrganizationsUpdateAccessApprovalSettingsCall) UpdateMask(updateMask string) *OrganizationsUpdateAccessApprovalSettingsCall {
 	c.urlParams_.Set("updateMask", updateMask)
@@ -2200,7 +2079,7 @@
 
 func (c *OrganizationsUpdateAccessApprovalSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2264,7 +2143,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates the settings associated with a project, folder, or organization.\nSettings to update are determined by the value of field_mask.",
+	//   "description": "Updates the settings associated with a project, folder, or organization. Settings to update are determined by the value of field_mask.",
 	//   "flatPath": "v1/organizations/{organizationsId}/accessApprovalSettings",
 	//   "httpMethod": "PATCH",
 	//   "id": "accessapproval.organizations.updateAccessApprovalSettings",
@@ -2273,14 +2152,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The resource name of the settings. Format is one of:\n\u003col\u003e\n  \u003cli\u003e\"projects/{project_id}/accessApprovalSettings\"\u003c/li\u003e\n  \u003cli\u003e\"folders/{folder_id}/accessApprovalSettings\"\u003c/li\u003e\n  \u003cli\u003e\"organizations/{organization_id}/accessApprovalSettings\"\u003c/li\u003e\n\u003col\u003e",
+	//       "description": "The resource name of the settings. Format is one of: 1. \"projects/{project_id}/accessApprovalSettings\" 2. \"folders/{folder_id}/accessApprovalSettings\" 3. \"organizations/{organization_id}/accessApprovalSettings\" ",
 	//       "location": "path",
 	//       "pattern": "^organizations/[^/]+/accessApprovalSettings$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "The update mask applies to the settings. Only the top level fields of\nAccessApprovalSettings (notification_emails \u0026 enrolled_services) are\nsupported. For each field, if it is included, the currently stored value\nwill be entirely overwritten with the value of the field passed in this\nrequest.\n\nFor the `FieldMask` definition, see\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf this field is left unset, only the notification_emails field will be\nupdated.",
+	//       "description": "The update mask applies to the settings. Only the top level fields of AccessApprovalSettings (notification_emails \u0026 enrolled_services) are supported. For each field, if it is included, the currently stored value will be entirely overwritten with the value of the field passed in this request. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If this field is left unset, only the notification_emails field will be updated.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -2311,11 +2190,8 @@
 	header_                       http.Header
 }
 
-// Approve: Approves a request and returns the updated
-// ApprovalRequest.
-//
-// Returns NOT_FOUND if the request does not exist.
-// Returns
+// Approve: Approves a request and returns the updated ApprovalRequest.
+// Returns NOT_FOUND if the request does not exist. Returns
 // FAILED_PRECONDITION if the request exists but is not in a pending
 // state.
 func (r *OrganizationsApprovalRequestsService) Approve(name string, approveapprovalrequestmessage *ApproveApprovalRequestMessage) *OrganizationsApprovalRequestsApproveCall {
@@ -2352,7 +2228,7 @@
 
 func (c *OrganizationsApprovalRequestsApproveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2416,7 +2292,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Approves a request and returns the updated ApprovalRequest.\n\nReturns NOT_FOUND if the request does not exist. Returns\nFAILED_PRECONDITION if the request exists but is not in a pending state.",
+	//   "description": "Approves a request and returns the updated ApprovalRequest. Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state.",
 	//   "flatPath": "v1/organizations/{organizationsId}/approvalRequests/{approvalRequestsId}:approve",
 	//   "httpMethod": "POST",
 	//   "id": "accessapproval.organizations.approvalRequests.approve",
@@ -2457,20 +2333,12 @@
 	header_                       http.Header
 }
 
-// Dismiss: Dismisses a request. Returns the updated
-// ApprovalRequest.
-//
+// Dismiss: Dismisses a request. Returns the updated ApprovalRequest.
 // NOTE: This does not deny access to the resource if another request
-// has been
-// made and approved. It is equivalent in effect to ignoring the
-// request
-// altogether.
-//
-// Returns NOT_FOUND if the request does not exist.
-//
-// Returns FAILED_PRECONDITION if the request exists but is not in a
-// pending
-// state.
+// has been made and approved. It is equivalent in effect to ignoring
+// the request altogether. Returns NOT_FOUND if the request does not
+// exist. Returns FAILED_PRECONDITION if the request exists but is not
+// in a pending state.
 func (r *OrganizationsApprovalRequestsService) Dismiss(name string, dismissapprovalrequestmessage *DismissApprovalRequestMessage) *OrganizationsApprovalRequestsDismissCall {
 	c := &OrganizationsApprovalRequestsDismissCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -2505,7 +2373,7 @@
 
 func (c *OrganizationsApprovalRequestsDismissCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2569,7 +2437,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Dismisses a request. Returns the updated ApprovalRequest.\n\nNOTE: This does not deny access to the resource if another request has been\nmade and approved. It is equivalent in effect to ignoring the request\naltogether.\n\nReturns NOT_FOUND if the request does not exist.\n\nReturns FAILED_PRECONDITION if the request exists but is not in a pending\nstate.",
+	//   "description": "Dismisses a request. Returns the updated ApprovalRequest. NOTE: This does not deny access to the resource if another request has been made and approved. It is equivalent in effect to ignoring the request altogether. Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state.",
 	//   "flatPath": "v1/organizations/{organizationsId}/approvalRequests/{approvalRequestsId}:dismiss",
 	//   "httpMethod": "POST",
 	//   "id": "accessapproval.organizations.approvalRequests.dismiss",
@@ -2655,7 +2523,7 @@
 
 func (c *OrganizationsApprovalRequestsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2756,10 +2624,8 @@
 }
 
 // List: Lists approval requests associated with a project, folder, or
-// organization.
-// Approval requests can be filtered by state (pending, active,
-// dismissed).
-// The order is reverse chronological.
+// organization. Approval requests can be filtered by state (pending,
+// active, dismissed). The order is reverse chronological.
 func (r *OrganizationsApprovalRequestsService) List(parent string) *OrganizationsApprovalRequestsListCall {
 	c := &OrganizationsApprovalRequestsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -2767,18 +2633,12 @@
 }
 
 // Filter sets the optional parameter "filter": A filter on the type of
-// approval requests to retrieve. Must be one of the
-// following values:
-// <ol>
-//   <li>[not set]: Requests that are pending or have active
-// approvals.</li>
-//   <li>ALL: All requests.</li>
-//   <li>PENDING: Only pending requests.</li>
-//   <li>ACTIVE: Only active (i.e. currently approved) requests.</li>
-//   <li>DISMISSED: Only dismissed (including expired) requests.</li>
-//   <li>HISTORY: Active and dismissed (including expired)
-// requests.</li>
-// </ol>
+// approval requests to retrieve. Must be one of the following values:
+// 1. [not set]: Requests that are pending or have active approvals. 2.
+// ALL: All requests. 3. PENDING: Only pending requests. 4. ACTIVE: Only
+// active (i.e. currently approved) requests. 5. DISMISSED: Only
+// dismissed (including expired) requests. 6. HISTORY: Active and
+// dismissed (including expired) requests.
 func (c *OrganizationsApprovalRequestsListCall) Filter(filter string) *OrganizationsApprovalRequestsListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
@@ -2834,7 +2694,7 @@
 
 func (c *OrganizationsApprovalRequestsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2896,7 +2756,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists approval requests associated with a project, folder, or organization.\nApproval requests can be filtered by state (pending, active, dismissed).\nThe order is reverse chronological.",
+	//   "description": "Lists approval requests associated with a project, folder, or organization. Approval requests can be filtered by state (pending, active, dismissed). The order is reverse chronological.",
 	//   "flatPath": "v1/organizations/{organizationsId}/approvalRequests",
 	//   "httpMethod": "GET",
 	//   "id": "accessapproval.organizations.approvalRequests.list",
@@ -2905,7 +2765,7 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n\u003col\u003e\n  \u003cli\u003e[not set]: Requests that are pending or have active approvals.\u003c/li\u003e\n  \u003cli\u003eALL: All requests.\u003c/li\u003e\n  \u003cli\u003ePENDING: Only pending requests.\u003c/li\u003e\n  \u003cli\u003eACTIVE: Only active (i.e. currently approved) requests.\u003c/li\u003e\n  \u003cli\u003eDISMISSED: Only dismissed (including expired) requests.\u003c/li\u003e\n  \u003cli\u003eHISTORY: Active and dismissed (including expired) requests.\u003c/li\u003e\n\u003c/ol\u003e",
+	//       "description": "A filter on the type of approval requests to retrieve. Must be one of the following values: 1. [not set]: Requests that are pending or have active approvals. 2. ALL: All requests. 3. PENDING: Only pending requests. 4. ACTIVE: Only active (i.e. currently approved) requests. 5. DISMISSED: Only dismissed (including expired) requests. 6. HISTORY: Active and dismissed (including expired) requests. ",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -2921,7 +2781,7 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "The parent resource. This may be \"projects/{project_id}\",\n\"folders/{folder_id}\", or \"organizations/{organization_id}\".",
+	//       "description": "The parent resource. This may be \"projects/{project_id}\", \"folders/{folder_id}\", or \"organizations/{organization_id}\".",
 	//       "location": "path",
 	//       "pattern": "^organizations/[^/]+$",
 	//       "required": true,
@@ -2971,16 +2831,12 @@
 }
 
 // DeleteAccessApprovalSettings: Deletes the settings associated with a
-// project, folder, or organization.
-// This will have the effect of disabling Access Approval for the
-// project,
-// folder, or organization, but only if all ancestors also have
-// Access
-// Approval disabled. If Access Approval is enabled at a higher level of
-// the
-// hierarchy, then Access Approval will still be enabled at this level
-// as
-// the settings are inherited.
+// project, folder, or organization. This will have the effect of
+// disabling Access Approval for the project, folder, or organization,
+// but only if all ancestors also have Access Approval disabled. If
+// Access Approval is enabled at a higher level of the hierarchy, then
+// Access Approval will still be enabled at this level as the settings
+// are inherited.
 func (r *ProjectsService) DeleteAccessApprovalSettings(name string) *ProjectsDeleteAccessApprovalSettingsCall {
 	c := &ProjectsDeleteAccessApprovalSettingsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3014,7 +2870,7 @@
 
 func (c *ProjectsDeleteAccessApprovalSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3073,7 +2929,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes the settings associated with a project, folder, or organization.\nThis will have the effect of disabling Access Approval for the project,\nfolder, or organization, but only if all ancestors also have Access\nApproval disabled. If Access Approval is enabled at a higher level of the\nhierarchy, then Access Approval will still be enabled at this level as\nthe settings are inherited.",
+	//   "description": "Deletes the settings associated with a project, folder, or organization. This will have the effect of disabling Access Approval for the project, folder, or organization, but only if all ancestors also have Access Approval disabled. If Access Approval is enabled at a higher level of the hierarchy, then Access Approval will still be enabled at this level as the settings are inherited.",
 	//   "flatPath": "v1/projects/{projectsId}/accessApprovalSettings",
 	//   "httpMethod": "DELETE",
 	//   "id": "accessapproval.projects.deleteAccessApprovalSettings",
@@ -3156,7 +3012,7 @@
 
 func (c *ProjectsGetAccessApprovalSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3257,8 +3113,8 @@
 }
 
 // UpdateAccessApprovalSettings: Updates the settings associated with a
-// project, folder, or organization.
-// Settings to update are determined by the value of field_mask.
+// project, folder, or organization. Settings to update are determined
+// by the value of field_mask.
 func (r *ProjectsService) UpdateAccessApprovalSettings(name string, accessapprovalsettings *AccessApprovalSettings) *ProjectsUpdateAccessApprovalSettingsCall {
 	c := &ProjectsUpdateAccessApprovalSettingsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3267,22 +3123,12 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": The update mask
-// applies to the settings. Only the top level fields
-// of
-// AccessApprovalSettings (notification_emails & enrolled_services)
-// are
+// applies to the settings. Only the top level fields of
+// AccessApprovalSettings (notification_emails & enrolled_services) are
 // supported. For each field, if it is included, the currently stored
-// value
-// will be entirely overwritten with the value of the field passed in
-// this
-// request.
-//
-// For the `FieldMask` definition,
-// see
-// https://developers.google.com/protocol-buffers/docs/reference/goog
-// le.protobuf#fieldmask
-// If this field is left unset, only the notification_emails field will
-// be
+// value will be entirely overwritten with the value of the field passed
+// in this request. For the `FieldMask` definition, see
+// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If this field is left unset, only the notification_emails field will be
 // updated.
 func (c *ProjectsUpdateAccessApprovalSettingsCall) UpdateMask(updateMask string) *ProjectsUpdateAccessApprovalSettingsCall {
 	c.urlParams_.Set("updateMask", updateMask)
@@ -3316,7 +3162,7 @@
 
 func (c *ProjectsUpdateAccessApprovalSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3380,7 +3226,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates the settings associated with a project, folder, or organization.\nSettings to update are determined by the value of field_mask.",
+	//   "description": "Updates the settings associated with a project, folder, or organization. Settings to update are determined by the value of field_mask.",
 	//   "flatPath": "v1/projects/{projectsId}/accessApprovalSettings",
 	//   "httpMethod": "PATCH",
 	//   "id": "accessapproval.projects.updateAccessApprovalSettings",
@@ -3389,14 +3235,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The resource name of the settings. Format is one of:\n\u003col\u003e\n  \u003cli\u003e\"projects/{project_id}/accessApprovalSettings\"\u003c/li\u003e\n  \u003cli\u003e\"folders/{folder_id}/accessApprovalSettings\"\u003c/li\u003e\n  \u003cli\u003e\"organizations/{organization_id}/accessApprovalSettings\"\u003c/li\u003e\n\u003col\u003e",
+	//       "description": "The resource name of the settings. Format is one of: 1. \"projects/{project_id}/accessApprovalSettings\" 2. \"folders/{folder_id}/accessApprovalSettings\" 3. \"organizations/{organization_id}/accessApprovalSettings\" ",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/accessApprovalSettings$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "The update mask applies to the settings. Only the top level fields of\nAccessApprovalSettings (notification_emails \u0026 enrolled_services) are\nsupported. For each field, if it is included, the currently stored value\nwill be entirely overwritten with the value of the field passed in this\nrequest.\n\nFor the `FieldMask` definition, see\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf this field is left unset, only the notification_emails field will be\nupdated.",
+	//       "description": "The update mask applies to the settings. Only the top level fields of AccessApprovalSettings (notification_emails \u0026 enrolled_services) are supported. For each field, if it is included, the currently stored value will be entirely overwritten with the value of the field passed in this request. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If this field is left unset, only the notification_emails field will be updated.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -3427,11 +3273,8 @@
 	header_                       http.Header
 }
 
-// Approve: Approves a request and returns the updated
-// ApprovalRequest.
-//
-// Returns NOT_FOUND if the request does not exist.
-// Returns
+// Approve: Approves a request and returns the updated ApprovalRequest.
+// Returns NOT_FOUND if the request does not exist. Returns
 // FAILED_PRECONDITION if the request exists but is not in a pending
 // state.
 func (r *ProjectsApprovalRequestsService) Approve(name string, approveapprovalrequestmessage *ApproveApprovalRequestMessage) *ProjectsApprovalRequestsApproveCall {
@@ -3468,7 +3311,7 @@
 
 func (c *ProjectsApprovalRequestsApproveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3532,7 +3375,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Approves a request and returns the updated ApprovalRequest.\n\nReturns NOT_FOUND if the request does not exist. Returns\nFAILED_PRECONDITION if the request exists but is not in a pending state.",
+	//   "description": "Approves a request and returns the updated ApprovalRequest. Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state.",
 	//   "flatPath": "v1/projects/{projectsId}/approvalRequests/{approvalRequestsId}:approve",
 	//   "httpMethod": "POST",
 	//   "id": "accessapproval.projects.approvalRequests.approve",
@@ -3573,20 +3416,12 @@
 	header_                       http.Header
 }
 
-// Dismiss: Dismisses a request. Returns the updated
-// ApprovalRequest.
-//
+// Dismiss: Dismisses a request. Returns the updated ApprovalRequest.
 // NOTE: This does not deny access to the resource if another request
-// has been
-// made and approved. It is equivalent in effect to ignoring the
-// request
-// altogether.
-//
-// Returns NOT_FOUND if the request does not exist.
-//
-// Returns FAILED_PRECONDITION if the request exists but is not in a
-// pending
-// state.
+// has been made and approved. It is equivalent in effect to ignoring
+// the request altogether. Returns NOT_FOUND if the request does not
+// exist. Returns FAILED_PRECONDITION if the request exists but is not
+// in a pending state.
 func (r *ProjectsApprovalRequestsService) Dismiss(name string, dismissapprovalrequestmessage *DismissApprovalRequestMessage) *ProjectsApprovalRequestsDismissCall {
 	c := &ProjectsApprovalRequestsDismissCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3621,7 +3456,7 @@
 
 func (c *ProjectsApprovalRequestsDismissCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3685,7 +3520,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Dismisses a request. Returns the updated ApprovalRequest.\n\nNOTE: This does not deny access to the resource if another request has been\nmade and approved. It is equivalent in effect to ignoring the request\naltogether.\n\nReturns NOT_FOUND if the request does not exist.\n\nReturns FAILED_PRECONDITION if the request exists but is not in a pending\nstate.",
+	//   "description": "Dismisses a request. Returns the updated ApprovalRequest. NOTE: This does not deny access to the resource if another request has been made and approved. It is equivalent in effect to ignoring the request altogether. Returns NOT_FOUND if the request does not exist. Returns FAILED_PRECONDITION if the request exists but is not in a pending state.",
 	//   "flatPath": "v1/projects/{projectsId}/approvalRequests/{approvalRequestsId}:dismiss",
 	//   "httpMethod": "POST",
 	//   "id": "accessapproval.projects.approvalRequests.dismiss",
@@ -3771,7 +3606,7 @@
 
 func (c *ProjectsApprovalRequestsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3872,10 +3707,8 @@
 }
 
 // List: Lists approval requests associated with a project, folder, or
-// organization.
-// Approval requests can be filtered by state (pending, active,
-// dismissed).
-// The order is reverse chronological.
+// organization. Approval requests can be filtered by state (pending,
+// active, dismissed). The order is reverse chronological.
 func (r *ProjectsApprovalRequestsService) List(parent string) *ProjectsApprovalRequestsListCall {
 	c := &ProjectsApprovalRequestsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -3883,18 +3716,12 @@
 }
 
 // Filter sets the optional parameter "filter": A filter on the type of
-// approval requests to retrieve. Must be one of the
-// following values:
-// <ol>
-//   <li>[not set]: Requests that are pending or have active
-// approvals.</li>
-//   <li>ALL: All requests.</li>
-//   <li>PENDING: Only pending requests.</li>
-//   <li>ACTIVE: Only active (i.e. currently approved) requests.</li>
-//   <li>DISMISSED: Only dismissed (including expired) requests.</li>
-//   <li>HISTORY: Active and dismissed (including expired)
-// requests.</li>
-// </ol>
+// approval requests to retrieve. Must be one of the following values:
+// 1. [not set]: Requests that are pending or have active approvals. 2.
+// ALL: All requests. 3. PENDING: Only pending requests. 4. ACTIVE: Only
+// active (i.e. currently approved) requests. 5. DISMISSED: Only
+// dismissed (including expired) requests. 6. HISTORY: Active and
+// dismissed (including expired) requests.
 func (c *ProjectsApprovalRequestsListCall) Filter(filter string) *ProjectsApprovalRequestsListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
@@ -3950,7 +3777,7 @@
 
 func (c *ProjectsApprovalRequestsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4012,7 +3839,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists approval requests associated with a project, folder, or organization.\nApproval requests can be filtered by state (pending, active, dismissed).\nThe order is reverse chronological.",
+	//   "description": "Lists approval requests associated with a project, folder, or organization. Approval requests can be filtered by state (pending, active, dismissed). The order is reverse chronological.",
 	//   "flatPath": "v1/projects/{projectsId}/approvalRequests",
 	//   "httpMethod": "GET",
 	//   "id": "accessapproval.projects.approvalRequests.list",
@@ -4021,7 +3848,7 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n\u003col\u003e\n  \u003cli\u003e[not set]: Requests that are pending or have active approvals.\u003c/li\u003e\n  \u003cli\u003eALL: All requests.\u003c/li\u003e\n  \u003cli\u003ePENDING: Only pending requests.\u003c/li\u003e\n  \u003cli\u003eACTIVE: Only active (i.e. currently approved) requests.\u003c/li\u003e\n  \u003cli\u003eDISMISSED: Only dismissed (including expired) requests.\u003c/li\u003e\n  \u003cli\u003eHISTORY: Active and dismissed (including expired) requests.\u003c/li\u003e\n\u003c/ol\u003e",
+	//       "description": "A filter on the type of approval requests to retrieve. Must be one of the following values: 1. [not set]: Requests that are pending or have active approvals. 2. ALL: All requests. 3. PENDING: Only pending requests. 4. ACTIVE: Only active (i.e. currently approved) requests. 5. DISMISSED: Only dismissed (including expired) requests. 6. HISTORY: Active and dismissed (including expired) requests. ",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -4037,7 +3864,7 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "The parent resource. This may be \"projects/{project_id}\",\n\"folders/{folder_id}\", or \"organizations/{organization_id}\".",
+	//       "description": "The parent resource. This may be \"projects/{project_id}\", \"folders/{folder_id}\", or \"organizations/{organization_id}\".",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
diff --git a/accesscontextmanager/v1/accesscontextmanager-gen.go b/accesscontextmanager/v1/accesscontextmanager-gen.go
index 7176ce5..20f6145 100644
--- a/accesscontextmanager/v1/accesscontextmanager-gen.go
+++ b/accesscontextmanager/v1/accesscontextmanager-gen.go
@@ -1322,7 +1322,7 @@
 
 func (c *AccessPoliciesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1449,7 +1449,7 @@
 
 func (c *AccessPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1590,7 +1590,7 @@
 
 func (c *AccessPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1755,7 +1755,7 @@
 
 func (c *AccessPoliciesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1926,7 +1926,7 @@
 
 func (c *AccessPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2075,7 +2075,7 @@
 
 func (c *AccessPoliciesAccessLevelsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2215,7 +2215,7 @@
 
 func (c *AccessPoliciesAccessLevelsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2377,7 +2377,7 @@
 
 func (c *AccessPoliciesAccessLevelsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2569,7 +2569,7 @@
 
 func (c *AccessPoliciesAccessLevelsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2762,7 +2762,7 @@
 
 func (c *AccessPoliciesAccessLevelsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2916,7 +2916,7 @@
 
 func (c *AccessPoliciesAccessLevelsReplaceAllCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3067,7 +3067,7 @@
 
 func (c *AccessPoliciesServicePerimetersCommitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3211,7 +3211,7 @@
 
 func (c *AccessPoliciesServicePerimetersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3351,7 +3351,7 @@
 
 func (c *AccessPoliciesServicePerimetersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3492,7 +3492,7 @@
 
 func (c *AccessPoliciesServicePerimetersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3651,7 +3651,7 @@
 
 func (c *AccessPoliciesServicePerimetersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3829,7 +3829,7 @@
 
 func (c *AccessPoliciesServicePerimetersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3982,7 +3982,7 @@
 
 func (c *AccessPoliciesServicePerimetersReplaceAllCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4131,7 +4131,7 @@
 
 func (c *OperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4272,7 +4272,7 @@
 
 func (c *OperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4415,7 +4415,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4589,7 +4589,7 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/accesscontextmanager/v1beta/accesscontextmanager-gen.go b/accesscontextmanager/v1beta/accesscontextmanager-gen.go
index 9e0a416..06566b5 100644
--- a/accesscontextmanager/v1beta/accesscontextmanager-gen.go
+++ b/accesscontextmanager/v1beta/accesscontextmanager-gen.go
@@ -1042,7 +1042,7 @@
 
 func (c *AccessPoliciesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1169,7 +1169,7 @@
 
 func (c *AccessPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1310,7 +1310,7 @@
 
 func (c *AccessPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1475,7 +1475,7 @@
 
 func (c *AccessPoliciesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1646,7 +1646,7 @@
 
 func (c *AccessPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1795,7 +1795,7 @@
 
 func (c *AccessPoliciesAccessLevelsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1935,7 +1935,7 @@
 
 func (c *AccessPoliciesAccessLevelsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2097,7 +2097,7 @@
 
 func (c *AccessPoliciesAccessLevelsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2289,7 +2289,7 @@
 
 func (c *AccessPoliciesAccessLevelsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2482,7 +2482,7 @@
 
 func (c *AccessPoliciesAccessLevelsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2632,7 +2632,7 @@
 
 func (c *AccessPoliciesServicePerimetersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2772,7 +2772,7 @@
 
 func (c *AccessPoliciesServicePerimetersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2913,7 +2913,7 @@
 
 func (c *AccessPoliciesServicePerimetersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3072,7 +3072,7 @@
 
 func (c *AccessPoliciesServicePerimetersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3250,7 +3250,7 @@
 
 func (c *AccessPoliciesServicePerimetersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3407,7 +3407,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/adexchangebuyer/v1.2/adexchangebuyer-gen.go b/adexchangebuyer/v1.2/adexchangebuyer-gen.go
index 40558bd..711170e 100644
--- a/adexchangebuyer/v1.2/adexchangebuyer-gen.go
+++ b/adexchangebuyer/v1.2/adexchangebuyer-gen.go
@@ -637,7 +637,7 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -778,7 +778,7 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -898,7 +898,7 @@
 
 func (c *AccountsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1037,7 +1037,7 @@
 
 func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1188,7 +1188,7 @@
 
 func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1328,7 +1328,7 @@
 
 func (c *CreativesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1489,7 +1489,7 @@
 
 func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/adexchangebuyer/v1.3/adexchangebuyer-gen.go b/adexchangebuyer/v1.3/adexchangebuyer-gen.go
index b7a33fe..ff8df7c 100644
--- a/adexchangebuyer/v1.3/adexchangebuyer-gen.go
+++ b/adexchangebuyer/v1.3/adexchangebuyer-gen.go
@@ -1626,7 +1626,7 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1767,7 +1767,7 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1887,7 +1887,7 @@
 
 func (c *AccountsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2026,7 +2026,7 @@
 
 func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2175,7 +2175,7 @@
 
 func (c *BillingInfoGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2317,7 +2317,7 @@
 
 func (c *BillingInfoListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2448,7 +2448,7 @@
 
 func (c *BudgetGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2595,7 +2595,7 @@
 
 func (c *BudgetPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2747,7 +2747,7 @@
 
 func (c *BudgetUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2907,7 +2907,7 @@
 
 func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3047,7 +3047,7 @@
 
 func (c *CreativesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3227,7 +3227,7 @@
 
 func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3419,7 +3419,7 @@
 
 func (c *DirectDealsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3560,7 +3560,7 @@
 
 func (c *DirectDealsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3706,7 +3706,7 @@
 
 func (c *PerformanceReportListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3864,7 +3864,7 @@
 
 func (c *PretargetingConfigDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3987,7 +3987,7 @@
 
 func (c *PretargetingConfigGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4130,7 +4130,7 @@
 
 func (c *PretargetingConfigInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4279,7 +4279,7 @@
 
 func (c *PretargetingConfigListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4416,7 +4416,7 @@
 
 func (c *PretargetingConfigPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4566,7 +4566,7 @@
 
 func (c *PretargetingConfigUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/adexchangebuyer/v1.4/adexchangebuyer-gen.go b/adexchangebuyer/v1.4/adexchangebuyer-gen.go
index b1d93bd..7998eab 100644
--- a/adexchangebuyer/v1.4/adexchangebuyer-gen.go
+++ b/adexchangebuyer/v1.4/adexchangebuyer-gen.go
@@ -4022,7 +4022,7 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4163,7 +4163,7 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4291,7 +4291,7 @@
 
 func (c *AccountsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4443,7 +4443,7 @@
 
 func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4597,7 +4597,7 @@
 
 func (c *BillingInfoGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4739,7 +4739,7 @@
 
 func (c *BillingInfoListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4870,7 +4870,7 @@
 
 func (c *BudgetGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5017,7 +5017,7 @@
 
 func (c *BudgetPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5169,7 +5169,7 @@
 
 func (c *BudgetUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5319,7 +5319,7 @@
 
 func (c *CreativesAddDealCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5451,7 +5451,7 @@
 
 func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5591,7 +5591,7 @@
 
 func (c *CreativesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5794,7 +5794,7 @@
 
 func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6007,7 +6007,7 @@
 
 func (c *CreativesListDealsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6151,7 +6151,7 @@
 
 func (c *CreativesRemoveDealCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6271,7 +6271,7 @@
 
 func (c *MarketplacedealsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6409,7 +6409,7 @@
 
 func (c *MarketplacedealsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6563,7 +6563,7 @@
 
 func (c *MarketplacedealsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6702,7 +6702,7 @@
 
 func (c *MarketplacedealsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6840,7 +6840,7 @@
 
 func (c *MarketplacenotesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6996,7 +6996,7 @@
 
 func (c *MarketplacenotesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7134,7 +7134,7 @@
 
 func (c *MarketplaceprivateauctionUpdateproposalCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7271,7 +7271,7 @@
 
 func (c *PerformanceReportListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7429,7 +7429,7 @@
 
 func (c *PretargetingConfigDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7552,7 +7552,7 @@
 
 func (c *PretargetingConfigGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7695,7 +7695,7 @@
 
 func (c *PretargetingConfigInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7844,7 +7844,7 @@
 
 func (c *PretargetingConfigListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7981,7 +7981,7 @@
 
 func (c *PretargetingConfigPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8131,7 +8131,7 @@
 
 func (c *PretargetingConfigUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8288,7 +8288,7 @@
 
 func (c *ProductsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8435,7 +8435,7 @@
 
 func (c *ProductsSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8570,7 +8570,7 @@
 
 func (c *ProposalsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8701,7 +8701,7 @@
 
 func (c *ProposalsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8830,7 +8830,7 @@
 
 func (c *ProposalsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9015,7 +9015,7 @@
 
 func (c *ProposalsSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9140,7 +9140,7 @@
 
 func (c *ProposalsSetupcompleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9246,7 +9246,7 @@
 
 func (c *ProposalsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9426,7 +9426,7 @@
 
 func (c *PubprofilesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/adexchangebuyer2/v2beta1/adexchangebuyer2-gen.go b/adexchangebuyer2/v2beta1/adexchangebuyer2-gen.go
index e4e95e1..1c978ca 100644
--- a/adexchangebuyer2/v2beta1/adexchangebuyer2-gen.go
+++ b/adexchangebuyer2/v2beta1/adexchangebuyer2-gen.go
@@ -5645,7 +5645,7 @@
 
 func (c *AccountsClientsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5796,7 +5796,7 @@
 
 func (c *AccountsClientsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5975,7 +5975,7 @@
 
 func (c *AccountsClientsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6149,7 +6149,7 @@
 
 func (c *AccountsClientsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6301,7 +6301,7 @@
 
 func (c *AccountsClientsInvitationsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6463,7 +6463,7 @@
 
 func (c *AccountsClientsInvitationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6646,7 +6646,7 @@
 
 func (c *AccountsClientsInvitationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6835,7 +6835,7 @@
 
 func (c *AccountsClientsUsersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7017,7 +7017,7 @@
 
 func (c *AccountsClientsUsersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7197,7 +7197,7 @@
 
 func (c *AccountsClientsUsersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7373,7 +7373,7 @@
 
 func (c *AccountsCreativesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7536,7 +7536,7 @@
 
 func (c *AccountsCreativesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7722,7 +7722,7 @@
 
 func (c *AccountsCreativesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7896,7 +7896,7 @@
 
 func (c *AccountsCreativesStopWatchingCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8045,7 +8045,7 @@
 
 func (c *AccountsCreativesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8195,7 +8195,7 @@
 
 func (c *AccountsCreativesWatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8344,7 +8344,7 @@
 
 func (c *AccountsCreativesDealAssociationsAddCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8532,7 +8532,7 @@
 
 func (c *AccountsCreativesDealAssociationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8713,7 +8713,7 @@
 
 func (c *AccountsCreativesDealAssociationsRemoveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8912,7 +8912,7 @@
 
 func (c *AccountsFinalizedProposalsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9109,7 +9109,7 @@
 
 func (c *AccountsProductsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9286,7 +9286,7 @@
 
 func (c *AccountsProductsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9463,7 +9463,7 @@
 
 func (c *AccountsProposalsAcceptCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9614,7 +9614,7 @@
 
 func (c *AccountsProposalsAddNoteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9765,7 +9765,7 @@
 
 func (c *AccountsProposalsCancelNegotiationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9920,7 +9920,7 @@
 
 func (c *AccountsProposalsCompleteSetupCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10068,7 +10068,7 @@
 
 func (c *AccountsProposalsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10219,7 +10219,7 @@
 
 func (c *AccountsProposalsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10417,7 +10417,7 @@
 
 func (c *AccountsProposalsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10609,7 +10609,7 @@
 
 func (c *AccountsProposalsPauseCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10764,7 +10764,7 @@
 
 func (c *AccountsProposalsResumeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10923,7 +10923,7 @@
 
 func (c *AccountsProposalsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11081,7 +11081,7 @@
 
 func (c *AccountsPublisherProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11246,7 +11246,7 @@
 
 func (c *AccountsPublisherProfilesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11422,7 +11422,7 @@
 
 func (c *BiddersAccountsFilterSetsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11566,7 +11566,7 @@
 
 func (c *BiddersAccountsFilterSetsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11708,7 +11708,7 @@
 
 func (c *BiddersAccountsFilterSetsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11870,7 +11870,7 @@
 
 func (c *BiddersAccountsFilterSetsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12063,7 +12063,7 @@
 
 func (c *BiddersAccountsFilterSetsBidMetricsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12257,7 +12257,7 @@
 
 func (c *BiddersAccountsFilterSetsBidResponseErrorsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12453,7 +12453,7 @@
 
 func (c *BiddersAccountsFilterSetsBidResponsesWithoutBidsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12650,7 +12650,7 @@
 
 func (c *BiddersAccountsFilterSetsFilteredBidRequestsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12844,7 +12844,7 @@
 
 func (c *BiddersAccountsFilterSetsFilteredBidsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13042,7 +13042,7 @@
 
 func (c *BiddersAccountsFilterSetsFilteredBidsCreativesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13250,7 +13250,7 @@
 
 func (c *BiddersAccountsFilterSetsFilteredBidsDetailsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13455,7 +13455,7 @@
 
 func (c *BiddersAccountsFilterSetsImpressionMetricsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13649,7 +13649,7 @@
 
 func (c *BiddersAccountsFilterSetsLosingBidsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13844,7 +13844,7 @@
 
 func (c *BiddersAccountsFilterSetsNonBillableWinningBidsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14022,7 +14022,7 @@
 
 func (c *BiddersFilterSetsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14166,7 +14166,7 @@
 
 func (c *BiddersFilterSetsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14308,7 +14308,7 @@
 
 func (c *BiddersFilterSetsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14470,7 +14470,7 @@
 
 func (c *BiddersFilterSetsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14663,7 +14663,7 @@
 
 func (c *BiddersFilterSetsBidMetricsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14857,7 +14857,7 @@
 
 func (c *BiddersFilterSetsBidResponseErrorsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15053,7 +15053,7 @@
 
 func (c *BiddersFilterSetsBidResponsesWithoutBidsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15250,7 +15250,7 @@
 
 func (c *BiddersFilterSetsFilteredBidRequestsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15444,7 +15444,7 @@
 
 func (c *BiddersFilterSetsFilteredBidsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15642,7 +15642,7 @@
 
 func (c *BiddersFilterSetsFilteredBidsCreativesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15850,7 +15850,7 @@
 
 func (c *BiddersFilterSetsFilteredBidsDetailsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16055,7 +16055,7 @@
 
 func (c *BiddersFilterSetsImpressionMetricsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16249,7 +16249,7 @@
 
 func (c *BiddersFilterSetsLosingBidsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16444,7 +16444,7 @@
 
 func (c *BiddersFilterSetsNonBillableWinningBidsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/adexperiencereport/v1/adexperiencereport-gen.go b/adexperiencereport/v1/adexperiencereport-gen.go
index d382229..6d69c0f 100644
--- a/adexperiencereport/v1/adexperiencereport-gen.go
+++ b/adexperiencereport/v1/adexperiencereport-gen.go
@@ -353,7 +353,7 @@
 
 func (c *SitesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -493,7 +493,7 @@
 
 func (c *ViolatingSitesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/admob/v1/admob-gen.go b/admob/v1/admob-gen.go
index 6deebfd..06a41b5 100644
--- a/admob/v1/admob-gen.go
+++ b/admob/v1/admob-gen.go
@@ -1457,7 +1457,7 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1614,7 +1614,7 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1767,7 +1767,7 @@
 
 func (c *AccountsMediationReportGenerateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1905,7 +1905,7 @@
 
 func (c *AccountsNetworkReportGenerateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/adsense/v1.4/adsense-gen.go b/adsense/v1.4/adsense-gen.go
index a60ffc1..832b7f5 100644
--- a/adsense/v1.4/adsense-gen.go
+++ b/adsense/v1.4/adsense-gen.go
@@ -1825,7 +1825,7 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1987,7 +1987,7 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2154,7 +2154,7 @@
 
 func (c *AccountsAdclientsGetAdCodeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2321,7 +2321,7 @@
 
 func (c *AccountsAdclientsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2503,7 +2503,7 @@
 
 func (c *AccountsAdunitsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2666,7 +2666,7 @@
 
 func (c *AccountsAdunitsGetAdCodeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2851,7 +2851,7 @@
 
 func (c *AccountsAdunitsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3063,7 +3063,7 @@
 
 func (c *AccountsAdunitsCustomchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3248,7 +3248,7 @@
 
 func (c *AccountsAlertsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3376,7 +3376,7 @@
 
 func (c *AccountsAlertsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3529,7 +3529,7 @@
 
 func (c *AccountsCustomchannelsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3708,7 +3708,7 @@
 
 func (c *AccountsCustomchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3920,7 +3920,7 @@
 
 func (c *AccountsCustomchannelsAdunitsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4118,7 +4118,7 @@
 
 func (c *AccountsPaymentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4334,7 +4334,7 @@
 
 func (c *AccountsReportsGenerateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4596,7 +4596,7 @@
 
 func (c *AccountsReportsSavedGenerateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4785,7 +4785,7 @@
 
 func (c *AccountsReportsSavedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4964,7 +4964,7 @@
 
 func (c *AccountsSavedadstylesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5132,7 +5132,7 @@
 
 func (c *AccountsSavedadstylesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5328,7 +5328,7 @@
 
 func (c *AccountsUrlchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5527,7 +5527,7 @@
 
 func (c *AdclientsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5694,7 +5694,7 @@
 
 func (c *AdunitsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5847,7 +5847,7 @@
 
 func (c *AdunitsGetAdCodeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6022,7 +6022,7 @@
 
 func (c *AdunitsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6224,7 +6224,7 @@
 
 func (c *AdunitsCustomchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6399,7 +6399,7 @@
 
 func (c *AlertsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6517,7 +6517,7 @@
 
 func (c *AlertsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6655,7 +6655,7 @@
 
 func (c *CustomchannelsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6824,7 +6824,7 @@
 
 func (c *CustomchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7026,7 +7026,7 @@
 
 func (c *CustomchannelsAdunitsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7215,7 +7215,7 @@
 
 func (c *MetadataDimensionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7343,7 +7343,7 @@
 
 func (c *MetadataMetricsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7470,7 +7470,7 @@
 
 func (c *PaymentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7677,7 +7677,7 @@
 
 func (c *ReportsGenerateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7933,7 +7933,7 @@
 
 func (c *ReportsSavedGenerateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8112,7 +8112,7 @@
 
 func (c *ReportsSavedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8277,7 +8277,7 @@
 
 func (c *SavedadstylesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8435,7 +8435,7 @@
 
 func (c *SavedadstylesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8617,7 +8617,7 @@
 
 func (c *UrlchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/adsensehost/v4.1/adsensehost-gen.go b/adsensehost/v4.1/adsensehost-gen.go
index bd5083b..e9596ef 100644
--- a/adsensehost/v4.1/adsensehost-gen.go
+++ b/adsensehost/v4.1/adsensehost-gen.go
@@ -1153,7 +1153,7 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1295,7 +1295,7 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1438,7 +1438,7 @@
 
 func (c *AccountsAdclientsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1604,7 +1604,7 @@
 
 func (c *AccountsAdclientsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1774,7 +1774,7 @@
 
 func (c *AccountsAdunitsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1933,7 +1933,7 @@
 
 func (c *AccountsAdunitsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2103,7 +2103,7 @@
 
 func (c *AccountsAdunitsGetAdCodeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2261,7 +2261,7 @@
 
 func (c *AccountsAdunitsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2441,7 +2441,7 @@
 
 func (c *AccountsAdunitsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2625,7 +2625,7 @@
 
 func (c *AccountsAdunitsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2781,7 +2781,7 @@
 
 func (c *AccountsAdunitsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2992,7 +2992,7 @@
 
 func (c *AccountsReportsGenerateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3201,7 +3201,7 @@
 
 func (c *AdclientsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3357,7 +3357,7 @@
 
 func (c *AdclientsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3545,7 +3545,7 @@
 
 func (c *AssociationsessionsStartCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3721,7 +3721,7 @@
 
 func (c *AssociationsessionsVerifyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3852,7 +3852,7 @@
 
 func (c *CustomchannelsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4001,7 +4001,7 @@
 
 func (c *CustomchannelsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4142,7 +4142,7 @@
 
 func (c *CustomchannelsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4306,7 +4306,7 @@
 
 func (c *CustomchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4475,7 +4475,7 @@
 
 func (c *CustomchannelsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4620,7 +4620,7 @@
 
 func (c *CustomchannelsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4821,7 +4821,7 @@
 
 func (c *ReportsGenerateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5010,7 +5010,7 @@
 
 func (c *UrlchannelsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5148,7 +5148,7 @@
 
 func (c *UrlchannelsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5311,7 +5311,7 @@
 
 func (c *UrlchannelsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/alertcenter/v1beta1/alertcenter-gen.go b/alertcenter/v1beta1/alertcenter-gen.go
index 6c5370a..d0edba8 100644
--- a/alertcenter/v1beta1/alertcenter-gen.go
+++ b/alertcenter/v1beta1/alertcenter-gen.go
@@ -1947,7 +1947,7 @@
 
 func (c *AlertsBatchDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2072,7 +2072,7 @@
 
 func (c *AlertsBatchUndeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2210,7 +2210,7 @@
 
 func (c *AlertsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2365,7 +2365,7 @@
 
 func (c *AlertsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2523,7 +2523,7 @@
 
 func (c *AlertsGetMetadataCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2716,7 +2716,7 @@
 
 func (c *AlertsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2891,7 +2891,7 @@
 
 func (c *AlertsUndeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3042,7 +3042,7 @@
 
 func (c *AlertsFeedbackCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3216,7 +3216,7 @@
 
 func (c *AlertsFeedbackListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3376,7 +3376,7 @@
 
 func (c *V1beta1GetSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3511,7 +3511,7 @@
 
 func (c *V1beta1UpdateSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/analytics/v3/analytics-gen.go b/analytics/v3/analytics-gen.go
index 4f4b598..56b436b 100644
--- a/analytics/v3/analytics-gen.go
+++ b/analytics/v3/analytics-gen.go
@@ -6030,7 +6030,7 @@
 
 func (c *DataGaGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6319,7 +6319,7 @@
 
 func (c *DataMcfGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6560,7 +6560,7 @@
 
 func (c *DataRealtimeGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6748,7 +6748,7 @@
 
 func (c *ManagementAccountSummariesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6883,7 +6883,7 @@
 
 func (c *ManagementAccountUserLinksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6993,7 +6993,7 @@
 
 func (c *ManagementAccountUserLinksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7155,7 +7155,7 @@
 
 func (c *ManagementAccountUserLinksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7305,7 +7305,7 @@
 
 func (c *ManagementAccountUserLinksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7473,7 +7473,7 @@
 
 func (c *ManagementAccountsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7607,7 +7607,7 @@
 
 func (c *ManagementClientIdHashClientIdCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7758,7 +7758,7 @@
 
 func (c *ManagementCustomDataSourcesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7930,7 +7930,7 @@
 
 func (c *ManagementCustomDimensionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8082,7 +8082,7 @@
 
 func (c *ManagementCustomDimensionsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8254,7 +8254,7 @@
 
 func (c *ManagementCustomDimensionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8423,7 +8423,7 @@
 
 func (c *ManagementCustomDimensionsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8596,7 +8596,7 @@
 
 func (c *ManagementCustomDimensionsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8769,7 +8769,7 @@
 
 func (c *ManagementCustomMetricsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8921,7 +8921,7 @@
 
 func (c *ManagementCustomMetricsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9093,7 +9093,7 @@
 
 func (c *ManagementCustomMetricsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9262,7 +9262,7 @@
 
 func (c *ManagementCustomMetricsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9435,7 +9435,7 @@
 
 func (c *ManagementCustomMetricsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9599,7 +9599,7 @@
 
 func (c *ManagementExperimentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9741,7 +9741,7 @@
 
 func (c *ManagementExperimentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9904,7 +9904,7 @@
 
 func (c *ManagementExperimentsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10087,7 +10087,7 @@
 
 func (c *ManagementExperimentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10261,7 +10261,7 @@
 
 func (c *ManagementExperimentsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10430,7 +10430,7 @@
 
 func (c *ManagementExperimentsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10593,7 +10593,7 @@
 
 func (c *ManagementFiltersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10742,7 +10742,7 @@
 
 func (c *ManagementFiltersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10884,7 +10884,7 @@
 
 func (c *ManagementFiltersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11046,7 +11046,7 @@
 
 func (c *ManagementFiltersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11197,7 +11197,7 @@
 
 func (c *ManagementFiltersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11345,7 +11345,7 @@
 
 func (c *ManagementFiltersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11506,7 +11506,7 @@
 
 func (c *ManagementGoalsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11668,7 +11668,7 @@
 
 func (c *ManagementGoalsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11850,7 +11850,7 @@
 
 func (c *ManagementGoalsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12021,7 +12021,7 @@
 
 func (c *ManagementGoalsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12189,7 +12189,7 @@
 
 func (c *ManagementGoalsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12355,7 +12355,7 @@
 
 func (c *ManagementProfileFilterLinksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12500,7 +12500,7 @@
 
 func (c *ManagementProfileFilterLinksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12666,7 +12666,7 @@
 
 func (c *ManagementProfileFilterLinksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12851,7 +12851,7 @@
 
 func (c *ManagementProfileFilterLinksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13022,7 +13022,7 @@
 
 func (c *ManagementProfileFilterLinksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13194,7 +13194,7 @@
 
 func (c *ManagementProfileFilterLinksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13364,7 +13364,7 @@
 
 func (c *ManagementProfileUserLinksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13494,7 +13494,7 @@
 
 func (c *ManagementProfileUserLinksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13676,7 +13676,7 @@
 
 func (c *ManagementProfileUserLinksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13846,7 +13846,7 @@
 
 func (c *ManagementProfileUserLinksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14010,7 +14010,7 @@
 
 func (c *ManagementProfilesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14141,7 +14141,7 @@
 
 func (c *ManagementProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14296,7 +14296,7 @@
 
 func (c *ManagementProfilesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14468,7 +14468,7 @@
 
 func (c *ManagementProfilesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14629,7 +14629,7 @@
 
 func (c *ManagementProfilesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14787,7 +14787,7 @@
 
 func (c *ManagementProfilesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14943,7 +14943,7 @@
 
 func (c *ManagementRemarketingAudienceDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15074,7 +15074,7 @@
 
 func (c *ManagementRemarketingAudienceGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15226,7 +15226,7 @@
 
 func (c *ManagementRemarketingAudienceInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15404,7 +15404,7 @@
 
 func (c *ManagementRemarketingAudienceListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15569,7 +15569,7 @@
 
 func (c *ManagementRemarketingAudiencePatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15727,7 +15727,7 @@
 
 func (c *ManagementRemarketingAudienceUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15903,7 +15903,7 @@
 
 func (c *ManagementSegmentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16043,7 +16043,7 @@
 
 func (c *ManagementUnsampledReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16184,7 +16184,7 @@
 
 func (c *ManagementUnsampledReportsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16347,7 +16347,7 @@
 
 func (c *ManagementUnsampledReportsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16530,7 +16530,7 @@
 
 func (c *ManagementUnsampledReportsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16698,7 +16698,7 @@
 
 func (c *ManagementUploadsDeleteUploadDataCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16843,7 +16843,7 @@
 
 func (c *ManagementUploadsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17034,7 +17034,7 @@
 
 func (c *ManagementUploadsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17244,7 +17244,7 @@
 
 func (c *ManagementUploadsUploadDataCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17440,7 +17440,7 @@
 
 func (c *ManagementWebPropertyAdWordsLinksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17572,7 +17572,7 @@
 
 func (c *ManagementWebPropertyAdWordsLinksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17724,7 +17724,7 @@
 
 func (c *ManagementWebPropertyAdWordsLinksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17896,7 +17896,7 @@
 
 func (c *ManagementWebPropertyAdWordsLinksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18057,7 +18057,7 @@
 
 func (c *ManagementWebPropertyAdWordsLinksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18215,7 +18215,7 @@
 
 func (c *ManagementWebPropertyAdWordsLinksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18380,7 +18380,7 @@
 
 func (c *ManagementWebpropertiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18526,7 +18526,7 @@
 
 func (c *ManagementWebpropertiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18688,7 +18688,7 @@
 
 func (c *ManagementWebpropertiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18839,7 +18839,7 @@
 
 func (c *ManagementWebpropertiesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18987,7 +18987,7 @@
 
 func (c *ManagementWebpropertiesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19135,7 +19135,7 @@
 
 func (c *ManagementWebpropertyUserLinksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19255,7 +19255,7 @@
 
 func (c *ManagementWebpropertyUserLinksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19427,7 +19427,7 @@
 
 func (c *ManagementWebpropertyUserLinksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19587,7 +19587,7 @@
 
 func (c *ManagementWebpropertyUserLinksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19750,7 +19750,7 @@
 
 func (c *MetadataColumnsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19884,7 +19884,7 @@
 
 func (c *ProvisioningCreateAccountTicketCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20006,7 +20006,7 @@
 
 func (c *ProvisioningCreateAccountTreeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20128,7 +20128,7 @@
 
 func (c *UserDeletionUserDeletionRequestUpsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/analyticsreporting/v4/analyticsreporting-gen.go b/analyticsreporting/v4/analyticsreporting-gen.go
index 725de9d8..439ba27 100644
--- a/analyticsreporting/v4/analyticsreporting-gen.go
+++ b/analyticsreporting/v4/analyticsreporting-gen.go
@@ -2692,7 +2692,7 @@
 
 func (c *ReportsBatchGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2818,7 +2818,7 @@
 
 func (c *UserActivitySearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/androiddeviceprovisioning/v1/androiddeviceprovisioning-gen.go b/androiddeviceprovisioning/v1/androiddeviceprovisioning-gen.go
index c07cbd9..7b92cde 100644
--- a/androiddeviceprovisioning/v1/androiddeviceprovisioning-gen.go
+++ b/androiddeviceprovisioning/v1/androiddeviceprovisioning-gen.go
@@ -1975,7 +1975,7 @@
 
 func (c *CustomersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2128,7 +2128,7 @@
 
 func (c *CustomersConfigurationsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2264,7 +2264,7 @@
 
 func (c *CustomersConfigurationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2402,7 +2402,7 @@
 
 func (c *CustomersConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2543,7 +2543,7 @@
 
 func (c *CustomersConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2686,7 +2686,7 @@
 
 func (c *CustomersConfigurationsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2832,7 +2832,7 @@
 
 func (c *CustomersDevicesApplyConfigurationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2978,7 +2978,7 @@
 
 func (c *CustomersDevicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3134,7 +3134,7 @@
 
 func (c *CustomersDevicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3298,7 +3298,7 @@
 
 func (c *CustomersDevicesRemoveConfigurationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3438,7 +3438,7 @@
 
 func (c *CustomersDevicesUnclaimCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3585,7 +3585,7 @@
 
 func (c *CustomersDpcsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3728,7 +3728,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3864,7 +3864,7 @@
 
 func (c *PartnersCustomersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4028,7 +4028,7 @@
 
 func (c *PartnersCustomersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4195,7 +4195,7 @@
 
 func (c *PartnersDevicesClaimCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4336,7 +4336,7 @@
 
 func (c *PartnersDevicesClaimAsyncCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4475,7 +4475,7 @@
 
 func (c *PartnersDevicesFindByIdentifierCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4638,7 +4638,7 @@
 
 func (c *PartnersDevicesFindByOwnerCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4806,7 +4806,7 @@
 
 func (c *PartnersDevicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4940,7 +4940,7 @@
 
 func (c *PartnersDevicesMetadataCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5089,7 +5089,7 @@
 
 func (c *PartnersDevicesUnclaimCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5230,7 +5230,7 @@
 
 func (c *PartnersDevicesUnclaimAsyncCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5372,7 +5372,7 @@
 
 func (c *PartnersDevicesUpdateMetadataAsyncCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5533,7 +5533,7 @@
 
 func (c *PartnersVendorsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5720,7 +5720,7 @@
 
 func (c *PartnersVendorsCustomersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/androidenterprise/v1/androidenterprise-gen.go b/androidenterprise/v1/androidenterprise-gen.go
index 32189d0..dbdcd83 100644
--- a/androidenterprise/v1/androidenterprise-gen.go
+++ b/androidenterprise/v1/androidenterprise-gen.go
@@ -4080,7 +4080,7 @@
 
 func (c *DevicesForceReportUploadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4212,7 +4212,7 @@
 
 func (c *DevicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4380,7 +4380,7 @@
 
 func (c *DevicesGetStateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4541,7 +4541,7 @@
 
 func (c *DevicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4692,7 +4692,7 @@
 
 func (c *DevicesSetStateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4860,7 +4860,7 @@
 
 func (c *DevicesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5026,7 +5026,7 @@
 
 func (c *EnterprisesAcknowledgeNotificationSetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5135,7 +5135,7 @@
 
 func (c *EnterprisesCompleteSignupCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5269,7 +5269,7 @@
 
 func (c *EnterprisesCreateWebTokenCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5407,7 +5407,7 @@
 
 func (c *EnterprisesEnrollCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5553,7 +5553,7 @@
 
 func (c *EnterprisesGenerateSignupUrlCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5687,7 +5687,7 @@
 
 func (c *EnterprisesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5856,7 +5856,7 @@
 
 func (c *EnterprisesGetServiceAccountCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6014,7 +6014,7 @@
 
 func (c *EnterprisesGetStoreLayoutCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6160,7 +6160,7 @@
 
 func (c *EnterprisesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6320,7 +6320,7 @@
 
 func (c *EnterprisesPullNotificationSetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6453,7 +6453,7 @@
 
 func (c *EnterprisesSendTestPushNotificationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6587,7 +6587,7 @@
 
 func (c *EnterprisesSetAccountCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6733,7 +6733,7 @@
 
 func (c *EnterprisesSetStoreLayoutCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6870,7 +6870,7 @@
 
 func (c *EnterprisesUnenrollCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6975,7 +6975,7 @@
 
 func (c *EntitlementsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7107,7 +7107,7 @@
 
 func (c *EntitlementsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7269,7 +7269,7 @@
 
 func (c *EntitlementsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7425,7 +7425,7 @@
 
 func (c *EntitlementsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7597,7 +7597,7 @@
 
 func (c *GrouplicensesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7749,7 +7749,7 @@
 
 func (c *GrouplicensesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7895,7 +7895,7 @@
 
 func (c *GrouplicenseusersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8043,7 +8043,7 @@
 
 func (c *InstallsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8185,7 +8185,7 @@
 
 func (c *InstallsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8357,7 +8357,7 @@
 
 func (c *InstallsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8515,7 +8515,7 @@
 
 func (c *InstallsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8683,7 +8683,7 @@
 
 func (c *ManagedconfigurationsfordeviceDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8825,7 +8825,7 @@
 
 func (c *ManagedconfigurationsfordeviceGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8997,7 +8997,7 @@
 
 func (c *ManagedconfigurationsfordeviceListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9156,7 +9156,7 @@
 
 func (c *ManagedconfigurationsfordeviceUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9322,7 +9322,7 @@
 
 func (c *ManagedconfigurationsforuserDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9455,7 +9455,7 @@
 
 func (c *ManagedconfigurationsforuserGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9617,7 +9617,7 @@
 
 func (c *ManagedconfigurationsforuserListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9770,7 +9770,7 @@
 
 func (c *ManagedconfigurationsforuserUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9937,7 +9937,7 @@
 
 func (c *ManagedconfigurationssettingsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10098,7 +10098,7 @@
 
 func (c *PermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10243,7 +10243,7 @@
 
 func (c *ProductsApproveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10378,7 +10378,7 @@
 
 func (c *ProductsGenerateApprovalUrlCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10542,7 +10542,7 @@
 
 func (c *ProductsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10713,7 +10713,7 @@
 
 func (c *ProductsGetAppRestrictionsSchemaCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10872,7 +10872,7 @@
 
 func (c *ProductsGetPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11066,7 +11066,7 @@
 
 func (c *ProductsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11227,7 +11227,7 @@
 
 func (c *ProductsUnapproveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11342,7 +11342,7 @@
 
 func (c *ServiceaccountkeysDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11458,7 +11458,7 @@
 
 func (c *ServiceaccountkeysInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11610,7 +11610,7 @@
 
 func (c *ServiceaccountkeysListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11746,7 +11746,7 @@
 
 func (c *StorelayoutclustersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11878,7 +11878,7 @@
 
 func (c *StorelayoutclustersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12030,7 +12030,7 @@
 
 func (c *StorelayoutclustersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12188,7 +12188,7 @@
 
 func (c *StorelayoutclustersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12334,7 +12334,7 @@
 
 func (c *StorelayoutclustersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12489,7 +12489,7 @@
 
 func (c *StorelayoutpagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12611,7 +12611,7 @@
 
 func (c *StorelayoutpagesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12753,7 +12753,7 @@
 
 func (c *StorelayoutpagesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12901,7 +12901,7 @@
 
 func (c *StorelayoutpagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13037,7 +13037,7 @@
 
 func (c *StorelayoutpagesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13184,7 +13184,7 @@
 
 func (c *UsersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13299,7 +13299,7 @@
 
 func (c *UsersGenerateAuthenticationTokenCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13449,7 +13449,7 @@
 
 func (c *UsersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13603,7 +13603,7 @@
 
 func (c *UsersGetAvailableProductSetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13749,7 +13749,7 @@
 
 func (c *UsersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13901,7 +13901,7 @@
 
 func (c *UsersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14045,7 +14045,7 @@
 
 func (c *UsersRevokeDeviceAccessCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14161,7 +14161,7 @@
 
 func (c *UsersSetAvailableProductSetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14314,7 +14314,7 @@
 
 func (c *UsersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14461,7 +14461,7 @@
 
 func (c *WebappsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14583,7 +14583,7 @@
 
 func (c *WebappsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14725,7 +14725,7 @@
 
 func (c *WebappsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14873,7 +14873,7 @@
 
 func (c *WebappsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15009,7 +15009,7 @@
 
 func (c *WebappsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/androidmanagement/v1/androidmanagement-gen.go b/androidmanagement/v1/androidmanagement-gen.go
index 3fd9424..fb4f28c 100644
--- a/androidmanagement/v1/androidmanagement-gen.go
+++ b/androidmanagement/v1/androidmanagement-gen.go
@@ -4348,7 +4348,7 @@
 
 func (c *EnterprisesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4500,7 +4500,7 @@
 
 func (c *EnterprisesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4643,7 +4643,7 @@
 
 func (c *EnterprisesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4807,7 +4807,7 @@
 
 func (c *EnterprisesApplicationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4968,7 +4968,7 @@
 
 func (c *EnterprisesDevicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5130,7 +5130,7 @@
 
 func (c *EnterprisesDevicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5267,7 +5267,7 @@
 
 func (c *EnterprisesDevicesIssueCommandCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5430,7 +5430,7 @@
 
 func (c *EnterprisesDevicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5605,7 +5605,7 @@
 
 func (c *EnterprisesDevicesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5758,7 +5758,7 @@
 
 func (c *EnterprisesDevicesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5891,7 +5891,7 @@
 
 func (c *EnterprisesDevicesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6034,7 +6034,7 @@
 
 func (c *EnterprisesDevicesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6208,7 +6208,7 @@
 
 func (c *EnterprisesDevicesOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6380,7 +6380,7 @@
 
 func (c *EnterprisesEnrollmentTokensCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6519,7 +6519,7 @@
 
 func (c *EnterprisesEnrollmentTokensDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6650,7 +6650,7 @@
 
 func (c *EnterprisesPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6791,7 +6791,7 @@
 
 func (c *EnterprisesPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6949,7 +6949,7 @@
 
 func (c *EnterprisesPoliciesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7124,7 +7124,7 @@
 
 func (c *EnterprisesPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7270,7 +7270,7 @@
 
 func (c *EnterprisesWebAppsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7408,7 +7408,7 @@
 
 func (c *EnterprisesWebAppsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7549,7 +7549,7 @@
 
 func (c *EnterprisesWebAppsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7707,7 +7707,7 @@
 
 func (c *EnterprisesWebAppsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7882,7 +7882,7 @@
 
 func (c *EnterprisesWebAppsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8029,7 +8029,7 @@
 
 func (c *EnterprisesWebTokensCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8184,7 +8184,7 @@
 
 func (c *SignupUrlsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/androidpublisher/v3/androidpublisher-gen.go b/androidpublisher/v3/androidpublisher-gen.go
index 1e55555..b70d727 100644
--- a/androidpublisher/v3/androidpublisher-gen.go
+++ b/androidpublisher/v3/androidpublisher-gen.go
@@ -2974,7 +2974,7 @@
 
 func (c *EditsCommitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3113,7 +3113,7 @@
 
 func (c *EditsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3235,7 +3235,7 @@
 
 func (c *EditsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3377,7 +3377,7 @@
 
 func (c *EditsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3516,7 +3516,7 @@
 
 func (c *EditsValidateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3661,7 +3661,7 @@
 
 func (c *EditsApksAddexternallyhostedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3819,7 +3819,7 @@
 
 func (c *EditsApksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4001,7 +4001,7 @@
 
 func (c *EditsApksUploadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4193,7 +4193,7 @@
 
 func (c *EditsBundlesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4389,7 +4389,7 @@
 
 func (c *EditsBundlesUploadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4619,7 +4619,7 @@
 
 func (c *EditsDeobfuscationfilesUploadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4837,7 +4837,7 @@
 
 func (c *EditsDetailsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4981,7 +4981,7 @@
 
 func (c *EditsDetailsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5130,7 +5130,7 @@
 
 func (c *EditsDetailsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5292,7 +5292,7 @@
 
 func (c *EditsExpansionfilesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5469,7 +5469,7 @@
 
 func (c *EditsExpansionfilesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5651,7 +5651,7 @@
 
 func (c *EditsExpansionfilesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5870,7 +5870,7 @@
 
 func (c *EditsExpansionfilesUploadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6083,7 +6083,7 @@
 
 func (c *EditsImagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6247,7 +6247,7 @@
 
 func (c *EditsImagesDeleteallCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6441,7 +6441,7 @@
 
 func (c *EditsImagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6668,7 +6668,7 @@
 
 func (c *EditsImagesUploadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6890,7 +6890,7 @@
 
 func (c *EditsListingsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7009,7 +7009,7 @@
 
 func (c *EditsListingsDeleteallCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7133,7 +7133,7 @@
 
 func (c *EditsListingsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7294,7 +7294,7 @@
 
 func (c *EditsListingsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7440,7 +7440,7 @@
 
 func (c *EditsListingsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7599,7 +7599,7 @@
 
 func (c *EditsListingsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7767,7 +7767,7 @@
 
 func (c *EditsTestersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7921,7 +7921,7 @@
 
 func (c *EditsTestersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8080,7 +8080,7 @@
 
 func (c *EditsTestersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8248,7 +8248,7 @@
 
 func (c *EditsTracksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8409,7 +8409,7 @@
 
 func (c *EditsTracksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8555,7 +8555,7 @@
 
 func (c *EditsTracksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8714,7 +8714,7 @@
 
 func (c *EditsTracksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8870,7 +8870,7 @@
 
 func (c *InappproductsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8993,7 +8993,7 @@
 
 func (c *InappproductsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9146,7 +9146,7 @@
 
 func (c *InappproductsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9321,7 +9321,7 @@
 
 func (c *InappproductsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9485,7 +9485,7 @@
 
 func (c *InappproductsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9650,7 +9650,7 @@
 
 func (c *InappproductsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9845,7 +9845,7 @@
 
 func (c *InternalappsharingartifactsUploadapkCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10061,7 +10061,7 @@
 
 func (c *InternalappsharingartifactsUploadbundleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10243,7 +10243,7 @@
 
 func (c *OrdersRefundCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10363,7 +10363,7 @@
 
 func (c *PurchasesProductsAcknowledgeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10503,7 +10503,7 @@
 
 func (c *PurchasesProductsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10657,7 +10657,7 @@
 
 func (c *PurchasesSubscriptionsAcknowledgeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10787,7 +10787,7 @@
 
 func (c *PurchasesSubscriptionsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10911,7 +10911,7 @@
 
 func (c *PurchasesSubscriptionsDeferCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11081,7 +11081,7 @@
 
 func (c *PurchasesSubscriptionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11235,7 +11235,7 @@
 
 func (c *PurchasesSubscriptionsRefundCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11358,7 +11358,7 @@
 
 func (c *PurchasesSubscriptionsRevokeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11550,7 +11550,7 @@
 
 func (c *PurchasesVoidedpurchasesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11737,7 +11737,7 @@
 
 func (c *ReviewsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11921,7 +11921,7 @@
 
 func (c *ReviewsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12079,7 +12079,7 @@
 
 func (c *ReviewsReplyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12229,7 +12229,7 @@
 
 func (c *SystemapksVariantsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12391,7 +12391,7 @@
 
 func (c *SystemapksVariantsDownloadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12546,7 +12546,7 @@
 
 func (c *SystemapksVariantsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12709,7 +12709,7 @@
 
 func (c *SystemapksVariantsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/api-list.json b/api-list.json
index b267018..c4b2640 100644
--- a/api-list.json
+++ b/api-list.json
@@ -49,21 +49,6 @@
     },
     {
       "kind": "discovery#directoryItem",
-      "id": "accessapproval:v1beta1",
-      "name": "accessapproval",
-      "version": "v1beta1",
-      "title": "Access Approval API",
-      "description": "An API for controlling access to data by Google personnel.",
-      "discoveryRestUrl": "https://accessapproval.googleapis.com/$discovery/rest?version=v1beta1",
-      "icons": {
-        "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png",
-        "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png"
-      },
-      "documentationLink": "https://cloud.google.com/access-approval/docs",
-      "preferred": false
-    },
-    {
-      "kind": "discovery#directoryItem",
       "id": "accesscontextmanager:v1beta",
       "name": "accesscontextmanager",
       "version": "v1beta",
@@ -1771,15 +1756,14 @@
       "id": "dns:v1",
       "name": "dns",
       "version": "v1",
-      "title": "Google Cloud DNS API",
-      "description": "Configures and serves authoritative DNS records.",
-      "discoveryRestUrl": "https://www.googleapis.com/discovery/v1/apis/dns/v1/rest",
-      "discoveryLink": "./apis/dns/v1/rest",
+      "title": "Cloud DNS API",
+      "description": "",
+      "discoveryRestUrl": "https://dns.googleapis.com/$discovery/rest?version=v1",
       "icons": {
         "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png",
         "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png"
       },
-      "documentationLink": "https://developers.google.com/cloud-dns",
+      "documentationLink": "http://developers.google.com/cloud-dns",
       "preferred": true
     },
     {
@@ -1787,31 +1771,14 @@
       "id": "dns:v1beta2",
       "name": "dns",
       "version": "v1beta2",
-      "title": "Google Cloud DNS API",
-      "description": "Configures and serves authoritative DNS records.",
-      "discoveryRestUrl": "https://www.googleapis.com/discovery/v1/apis/dns/v1beta2/rest",
-      "discoveryLink": "./apis/dns/v1beta2/rest",
+      "title": "Cloud DNS API",
+      "description": "",
+      "discoveryRestUrl": "https://dns.googleapis.com/$discovery/rest?version=v1beta2",
       "icons": {
         "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png",
         "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png"
       },
-      "documentationLink": "https://developers.google.com/cloud-dns",
-      "preferred": false
-    },
-    {
-      "kind": "discovery#directoryItem",
-      "id": "dns:v2beta1",
-      "name": "dns",
-      "version": "v2beta1",
-      "title": "Google Cloud DNS API",
-      "description": "Configures and serves authoritative DNS records.",
-      "discoveryRestUrl": "https://www.googleapis.com/discovery/v1/apis/dns/v2beta1/rest",
-      "discoveryLink": "./apis/dns/v2beta1/rest",
-      "icons": {
-        "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png",
-        "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png"
-      },
-      "documentationLink": "https://developers.google.com/cloud-dns",
+      "documentationLink": "http://developers.google.com/cloud-dns",
       "preferred": false
     },
     {
@@ -2172,6 +2139,21 @@
     },
     {
       "kind": "discovery#directoryItem",
+      "id": "fitness:v1",
+      "name": "fitness",
+      "version": "v1",
+      "title": "Fitness API",
+      "description": "The Fitness API for managing users' fitness tracking data.",
+      "discoveryRestUrl": "https://www.googleapis.com/$discovery/rest?version=v1",
+      "icons": {
+        "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png",
+        "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png"
+      },
+      "documentationLink": "https://developers.google.com/fit/rest/v1/get-started",
+      "preferred": true
+    },
+    {
+      "kind": "discovery#directoryItem",
       "id": "games:v1",
       "name": "games",
       "version": "v1",
@@ -2311,8 +2293,8 @@
       "id": "gmailpostmastertools:v1beta1",
       "name": "gmailpostmastertools",
       "version": "v1beta1",
-      "title": "Gmail Postmaster Tools API",
-      "description": "The Gmail Postmaster API is a RESTful API that provides programmatic access to email traffic metrics (like spam reports, delivery errors etc) otherwise available through the Gmail Postmaster Tools UI currently.",
+      "title": "Postmaster Tools API",
+      "description": "The Postmaster Tools API is a RESTful API that provides programmatic access to email traffic metrics (like spam reports, delivery errors etc) otherwise available through the Gmail Postmaster Tools UI currently.",
       "discoveryRestUrl": "https://gmailpostmastertools.googleapis.com/$discovery/rest?version=v1beta1",
       "icons": {
         "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png",
@@ -2835,22 +2817,6 @@
     },
     {
       "kind": "discovery#directoryItem",
-      "id": "oauth2:v2",
-      "name": "oauth2",
-      "version": "v2",
-      "title": "Google OAuth2 API",
-      "description": "Obtains end-user authorization grants for use with other Google APIs.",
-      "discoveryRestUrl": "https://www.googleapis.com/discovery/v1/apis/oauth2/v2/rest",
-      "discoveryLink": "./apis/oauth2/v2/rest",
-      "icons": {
-        "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png",
-        "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png"
-      },
-      "documentationLink": "https://developers.google.com/identity/protocols/oauth2/",
-      "preferred": true
-    },
-    {
-      "kind": "discovery#directoryItem",
       "id": "osconfig:v1alpha2",
       "name": "osconfig",
       "version": "v1alpha2",
@@ -2990,14 +2956,13 @@
       "name": "playcustomapp",
       "version": "v1",
       "title": "Google Play Custom App Publishing API",
-      "description": "An API to publish custom Android apps.",
-      "discoveryRestUrl": "https://www.googleapis.com/discovery/v1/apis/playcustomapp/v1/rest",
-      "discoveryLink": "./apis/playcustomapp/v1/rest",
+      "description": "API to create and publish custom Android apps",
+      "discoveryRestUrl": "https://www.googleapis.com/$discovery/rest?version=v1",
       "icons": {
         "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png",
         "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png"
       },
-      "documentationLink": "https://developers.google.com/android/work/play/custom-app-api",
+      "documentationLink": "https://developers.google.com/android/work/play/custom-app-api/",
       "preferred": true
     },
     {
@@ -3837,25 +3802,6 @@
     },
     {
       "kind": "discovery#directoryItem",
-      "id": "storage:v1beta2",
-      "name": "storage",
-      "version": "v1beta2",
-      "title": "Cloud Storage JSON API",
-      "description": "Lets you store and retrieve potentially-large, immutable data objects.",
-      "discoveryRestUrl": "https://www.googleapis.com/discovery/v1/apis/storage/v1beta2/rest",
-      "discoveryLink": "./apis/storage/v1beta2/rest",
-      "icons": {
-        "x16": "https://www.google.com/images/icons/product/cloud_storage-16.png",
-        "x32": "https://www.google.com/images/icons/product/cloud_storage-32.png"
-      },
-      "documentationLink": "https://developers.google.com/storage/docs/json_api/",
-      "labels": [
-        "labs"
-      ],
-      "preferred": false
-    },
-    {
-      "kind": "discovery#directoryItem",
       "id": "storagetransfer:v1",
       "name": "storagetransfer",
       "version": "v1",
diff --git a/apigee/v1/apigee-gen.go b/apigee/v1/apigee-gen.go
index 3bd3402..62f2464 100644
--- a/apigee/v1/apigee-gen.go
+++ b/apigee/v1/apigee-gen.go
@@ -7210,7 +7210,7 @@
 
 func (c *HybridIssuersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7355,7 +7355,7 @@
 
 func (c *OrganizationsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7499,7 +7499,7 @@
 
 func (c *OrganizationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7644,7 +7644,7 @@
 
 func (c *OrganizationsGetDeployedIngressConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7789,7 +7789,7 @@
 
 func (c *OrganizationsGetSyncAuthorizationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7942,7 +7942,7 @@
 
 func (c *OrganizationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8089,7 +8089,7 @@
 
 func (c *OrganizationsSetSyncAuthorizationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8231,7 +8231,7 @@
 
 func (c *OrganizationsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8371,7 +8371,7 @@
 
 func (c *OrganizationsAnalyticsDatastoresCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8509,7 +8509,7 @@
 
 func (c *OrganizationsAnalyticsDatastoresDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8650,7 +8650,7 @@
 
 func (c *OrganizationsAnalyticsDatastoresGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8801,7 +8801,7 @@
 
 func (c *OrganizationsAnalyticsDatastoresListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8945,7 +8945,7 @@
 
 func (c *OrganizationsAnalyticsDatastoresTestCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9087,7 +9087,7 @@
 
 func (c *OrganizationsAnalyticsDatastoresUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9237,7 +9237,7 @@
 
 func (c *OrganizationsApiproductsAttributesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9395,7 +9395,7 @@
 
 func (c *OrganizationsApiproductsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9541,7 +9541,7 @@
 
 func (c *OrganizationsApiproductsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9686,7 +9686,7 @@
 
 func (c *OrganizationsApiproductsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9873,7 +9873,7 @@
 
 func (c *OrganizationsApiproductsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10042,7 +10042,7 @@
 
 func (c *OrganizationsApiproductsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10180,7 +10180,7 @@
 
 func (c *OrganizationsApiproductsAttributesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10321,7 +10321,7 @@
 
 func (c *OrganizationsApiproductsAttributesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10465,7 +10465,7 @@
 
 func (c *OrganizationsApiproductsAttributesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10607,7 +10607,7 @@
 
 func (c *OrganizationsApiproductsAttributesUpdateApiProductAttributeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10787,7 +10787,7 @@
 
 func (c *OrganizationsApisCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10943,7 +10943,7 @@
 
 func (c *OrganizationsApisDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11084,7 +11084,7 @@
 
 func (c *OrganizationsApisGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11245,7 +11245,7 @@
 
 func (c *OrganizationsApisListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11401,7 +11401,7 @@
 
 func (c *OrganizationsApisDeploymentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11538,7 +11538,7 @@
 
 func (c *OrganizationsApisKeyvaluemapsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11676,7 +11676,7 @@
 
 func (c *OrganizationsApisKeyvaluemapsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11808,7 +11808,7 @@
 
 func (c *OrganizationsApisRevisionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11965,7 +11965,7 @@
 
 func (c *OrganizationsApisRevisionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12118,7 +12118,7 @@
 
 func (c *OrganizationsApisRevisionsUpdateApiProxyRevisionCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12273,7 +12273,7 @@
 
 func (c *OrganizationsApisRevisionsDeploymentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12419,7 +12419,7 @@
 
 func (c *OrganizationsAppsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12631,7 +12631,7 @@
 
 func (c *OrganizationsAppsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12831,7 +12831,7 @@
 
 func (c *OrganizationsDeploymentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12983,7 +12983,7 @@
 
 func (c *OrganizationsDevelopersAttributesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13126,7 +13126,7 @@
 
 func (c *OrganizationsDevelopersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13272,7 +13272,7 @@
 
 func (c *OrganizationsDevelopersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13422,7 +13422,7 @@
 
 func (c *OrganizationsDevelopersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13619,7 +13619,7 @@
 
 func (c *OrganizationsDevelopersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13794,7 +13794,7 @@
 
 func (c *OrganizationsDevelopersSetDeveloperStatusCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13940,7 +13940,7 @@
 
 func (c *OrganizationsDevelopersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14081,7 +14081,7 @@
 
 func (c *OrganizationsDevelopersAppsAttributesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14227,7 +14227,7 @@
 
 func (c *OrganizationsDevelopersAppsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14368,7 +14368,7 @@
 
 func (c *OrganizationsDevelopersAppsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14532,7 +14532,7 @@
 
 func (c *OrganizationsDevelopersAppsGenerateKeyPairOrUpdateDeveloperAppStatusCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14704,7 +14704,7 @@
 
 func (c *OrganizationsDevelopersAppsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14899,7 +14899,7 @@
 
 func (c *OrganizationsDevelopersAppsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15067,7 +15067,7 @@
 
 func (c *OrganizationsDevelopersAppsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15205,7 +15205,7 @@
 
 func (c *OrganizationsDevelopersAppsAttributesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15346,7 +15346,7 @@
 
 func (c *OrganizationsDevelopersAppsAttributesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15490,7 +15490,7 @@
 
 func (c *OrganizationsDevelopersAppsAttributesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15632,7 +15632,7 @@
 
 func (c *OrganizationsDevelopersAppsAttributesUpdateDeveloperAppAttributeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15784,7 +15784,7 @@
 
 func (c *OrganizationsDevelopersAppsKeysCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15929,7 +15929,7 @@
 
 func (c *OrganizationsDevelopersAppsKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16073,7 +16073,7 @@
 
 func (c *OrganizationsDevelopersAppsKeysGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16215,7 +16215,7 @@
 
 func (c *OrganizationsDevelopersAppsKeysReplaceDeveloperAppKeyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16370,7 +16370,7 @@
 
 func (c *OrganizationsDevelopersAppsKeysUpdateDeveloperAppKeyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16517,7 +16517,7 @@
 
 func (c *OrganizationsDevelopersAppsKeysApiproductsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16662,7 +16662,7 @@
 
 func (c *OrganizationsDevelopersAppsKeysApiproductsUpdateDeveloperAppKeyApiProductCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16811,7 +16811,7 @@
 
 func (c *OrganizationsDevelopersAppsKeysCreateCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16950,7 +16950,7 @@
 
 func (c *OrganizationsDevelopersAttributesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17091,7 +17091,7 @@
 
 func (c *OrganizationsDevelopersAttributesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17235,7 +17235,7 @@
 
 func (c *OrganizationsDevelopersAttributesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17376,7 +17376,7 @@
 
 func (c *OrganizationsDevelopersAttributesUpdateDeveloperAttributeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17523,7 +17523,7 @@
 
 func (c *OrganizationsEnvgroupsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17666,7 +17666,7 @@
 
 func (c *OrganizationsEnvgroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17807,7 +17807,7 @@
 
 func (c *OrganizationsEnvgroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17967,7 +17967,7 @@
 
 func (c *OrganizationsEnvgroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18143,7 +18143,7 @@
 
 func (c *OrganizationsEnvgroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18290,7 +18290,7 @@
 
 func (c *OrganizationsEnvgroupsAttachmentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18428,7 +18428,7 @@
 
 func (c *OrganizationsEnvgroupsAttachmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18569,7 +18569,7 @@
 
 func (c *OrganizationsEnvgroupsAttachmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18731,7 +18731,7 @@
 
 func (c *OrganizationsEnvgroupsAttachmentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18909,7 +18909,7 @@
 
 func (c *OrganizationsEnvironmentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19052,7 +19052,7 @@
 
 func (c *OrganizationsEnvironmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19193,7 +19193,7 @@
 
 func (c *OrganizationsEnvironmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19338,7 +19338,7 @@
 
 func (c *OrganizationsEnvironmentsGetDebugmaskCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19483,7 +19483,7 @@
 
 func (c *OrganizationsEnvironmentsGetDeployedConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19647,7 +19647,7 @@
 
 func (c *OrganizationsEnvironmentsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19793,7 +19793,7 @@
 
 func (c *OrganizationsEnvironmentsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19933,7 +19933,7 @@
 
 func (c *OrganizationsEnvironmentsSubscribeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20068,7 +20068,7 @@
 
 func (c *OrganizationsEnvironmentsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20210,7 +20210,7 @@
 
 func (c *OrganizationsEnvironmentsUnsubscribeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20354,7 +20354,7 @@
 
 func (c *OrganizationsEnvironmentsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20512,7 +20512,7 @@
 
 func (c *OrganizationsEnvironmentsUpdateDebugmaskCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20667,7 +20667,7 @@
 
 func (c *OrganizationsEnvironmentsUpdateEnvironmentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20827,7 +20827,7 @@
 
 func (c *OrganizationsEnvironmentsAnalyticsAdminGetSchemav2Call) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20970,7 +20970,7 @@
 
 func (c *OrganizationsEnvironmentsAnalyticsExportsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21123,7 +21123,7 @@
 
 func (c *OrganizationsEnvironmentsAnalyticsExportsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21268,7 +21268,7 @@
 
 func (c *OrganizationsEnvironmentsAnalyticsExportsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21413,7 +21413,7 @@
 
 func (c *OrganizationsEnvironmentsApisDeploymentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21567,7 +21567,7 @@
 
 func (c *OrganizationsEnvironmentsApisRevisionsDeploymentsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21714,7 +21714,7 @@
 
 func (c *OrganizationsEnvironmentsApisRevisionsGetDeploymentsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21857,7 +21857,7 @@
 
 func (c *OrganizationsEnvironmentsApisRevisionsDebugsessionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22003,7 +22003,7 @@
 
 func (c *OrganizationsEnvironmentsApisRevisionsDebugsessionsDeleteDataCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22144,7 +22144,7 @@
 
 func (c *OrganizationsEnvironmentsApisRevisionsDebugsessionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22304,7 +22304,7 @@
 
 func (c *OrganizationsEnvironmentsApisRevisionsDebugsessionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22482,7 +22482,7 @@
 
 func (c *OrganizationsEnvironmentsApisRevisionsDebugsessionsDataGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22640,7 +22640,7 @@
 
 func (c *OrganizationsEnvironmentsApisRevisionsDeploymentsGenerateDeployChangeReportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22789,7 +22789,7 @@
 
 func (c *OrganizationsEnvironmentsApisRevisionsDeploymentsGenerateUndeployChangeReportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22921,7 +22921,7 @@
 
 func (c *OrganizationsEnvironmentsCachesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23072,7 +23072,7 @@
 
 func (c *OrganizationsEnvironmentsDeploymentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23214,7 +23214,7 @@
 
 func (c *OrganizationsEnvironmentsFlowhooksAttachSharedFlowToFlowHookCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23353,7 +23353,7 @@
 
 func (c *OrganizationsEnvironmentsFlowhooksDetachSharedFlowFromFlowHookCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23497,7 +23497,7 @@
 
 func (c *OrganizationsEnvironmentsFlowhooksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23643,7 +23643,7 @@
 
 func (c *OrganizationsEnvironmentsKeystoresCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23786,7 +23786,7 @@
 
 func (c *OrganizationsEnvironmentsKeystoresDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23927,7 +23927,7 @@
 
 func (c *OrganizationsEnvironmentsKeystoresGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24114,7 +24114,7 @@
 
 func (c *OrganizationsEnvironmentsKeystoresAliasesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24289,7 +24289,7 @@
 
 func (c *OrganizationsEnvironmentsKeystoresAliasesCsrCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24422,7 +24422,7 @@
 
 func (c *OrganizationsEnvironmentsKeystoresAliasesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24563,7 +24563,7 @@
 
 func (c *OrganizationsEnvironmentsKeystoresAliasesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24708,7 +24708,7 @@
 
 func (c *OrganizationsEnvironmentsKeystoresAliasesGetCertificateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24860,7 +24860,7 @@
 
 func (c *OrganizationsEnvironmentsKeystoresAliasesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25010,7 +25010,7 @@
 
 func (c *OrganizationsEnvironmentsKeyvaluemapsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25148,7 +25148,7 @@
 
 func (c *OrganizationsEnvironmentsKeyvaluemapsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25408,7 +25408,7 @@
 
 func (c *OrganizationsEnvironmentsOptimizedStatsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25622,7 +25622,7 @@
 
 func (c *OrganizationsEnvironmentsQueriesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25773,7 +25773,7 @@
 
 func (c *OrganizationsEnvironmentsQueriesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25921,7 +25921,7 @@
 
 func (c *OrganizationsEnvironmentsQueriesGetResultCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26110,7 +26110,7 @@
 
 func (c *OrganizationsEnvironmentsQueriesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26277,7 +26277,7 @@
 
 func (c *OrganizationsEnvironmentsReferencesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26416,7 +26416,7 @@
 
 func (c *OrganizationsEnvironmentsReferencesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26557,7 +26557,7 @@
 
 func (c *OrganizationsEnvironmentsReferencesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26694,7 +26694,7 @@
 
 func (c *OrganizationsEnvironmentsReferencesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26852,7 +26852,7 @@
 
 func (c *OrganizationsEnvironmentsResourcefilesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27005,7 +27005,7 @@
 
 func (c *OrganizationsEnvironmentsResourcefilesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27168,7 +27168,7 @@
 
 func (c *OrganizationsEnvironmentsResourcefilesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27336,7 +27336,7 @@
 
 func (c *OrganizationsEnvironmentsResourcefilesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27491,7 +27491,7 @@
 
 func (c *OrganizationsEnvironmentsResourcefilesListEnvironmentResourcesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27643,7 +27643,7 @@
 
 func (c *OrganizationsEnvironmentsResourcefilesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27808,7 +27808,7 @@
 
 func (c *OrganizationsEnvironmentsSharedflowsDeploymentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27943,7 +27943,7 @@
 
 func (c *OrganizationsEnvironmentsSharedflowsRevisionsDeploymentsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28085,7 +28085,7 @@
 
 func (c *OrganizationsEnvironmentsSharedflowsRevisionsGetDeploymentsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28349,7 +28349,7 @@
 
 func (c *OrganizationsEnvironmentsStatsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28566,7 +28566,7 @@
 
 func (c *OrganizationsEnvironmentsTargetserversCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28710,7 +28710,7 @@
 
 func (c *OrganizationsEnvironmentsTargetserversDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28851,7 +28851,7 @@
 
 func (c *OrganizationsEnvironmentsTargetserversGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28988,7 +28988,7 @@
 
 func (c *OrganizationsEnvironmentsTargetserversUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29130,7 +29130,7 @@
 
 func (c *OrganizationsInstancesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29270,7 +29270,7 @@
 
 func (c *OrganizationsInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29412,7 +29412,7 @@
 
 func (c *OrganizationsInstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29572,7 +29572,7 @@
 
 func (c *OrganizationsInstancesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29741,7 +29741,7 @@
 
 func (c *OrganizationsInstancesReportStatusCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29884,7 +29884,7 @@
 
 func (c *OrganizationsInstancesAttachmentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30023,7 +30023,7 @@
 
 func (c *OrganizationsInstancesAttachmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30164,7 +30164,7 @@
 
 func (c *OrganizationsInstancesAttachmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30325,7 +30325,7 @@
 
 func (c *OrganizationsInstancesAttachmentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30494,7 +30494,7 @@
 
 func (c *OrganizationsKeyvaluemapsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30632,7 +30632,7 @@
 
 func (c *OrganizationsKeyvaluemapsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30775,7 +30775,7 @@
 
 func (c *OrganizationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30949,7 +30949,7 @@
 
 func (c *OrganizationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -31129,7 +31129,7 @@
 
 func (c *OrganizationsReportsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -31267,7 +31267,7 @@
 
 func (c *OrganizationsReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -31410,7 +31410,7 @@
 
 func (c *OrganizationsReportsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -31561,7 +31561,7 @@
 
 func (c *OrganizationsReportsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -31703,7 +31703,7 @@
 
 func (c *OrganizationsReportsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -31862,7 +31862,7 @@
 
 func (c *OrganizationsSharedflowsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -32012,7 +32012,7 @@
 
 func (c *OrganizationsSharedflowsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -32153,7 +32153,7 @@
 
 func (c *OrganizationsSharedflowsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -32311,7 +32311,7 @@
 
 func (c *OrganizationsSharedflowsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -32467,7 +32467,7 @@
 
 func (c *OrganizationsSharedflowsDeploymentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -32603,7 +32603,7 @@
 
 func (c *OrganizationsSharedflowsRevisionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -32755,7 +32755,7 @@
 
 func (c *OrganizationsSharedflowsRevisionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -32909,7 +32909,7 @@
 
 func (c *OrganizationsSharedflowsRevisionsUpdateSharedFlowRevisionCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -33064,7 +33064,7 @@
 
 func (c *OrganizationsSharedflowsRevisionsDeploymentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/appengine/v1/appengine-gen.go b/appengine/v1/appengine-gen.go
index 9999a9f..34e7819 100644
--- a/appengine/v1/appengine-gen.go
+++ b/appengine/v1/appengine-gen.go
@@ -3714,7 +3714,7 @@
 
 func (c *AppsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3850,7 +3850,7 @@
 
 func (c *AppsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3996,7 +3996,7 @@
 
 func (c *AppsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4149,7 +4149,7 @@
 
 func (c *AppsRepairCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4288,7 +4288,7 @@
 
 func (c *AppsAuthorizedCertificatesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4427,7 +4427,7 @@
 
 func (c *AppsAuthorizedCertificatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4591,7 +4591,7 @@
 
 func (c *AppsAuthorizedCertificatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4786,7 +4786,7 @@
 
 func (c *AppsAuthorizedCertificatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4982,7 +4982,7 @@
 
 func (c *AppsAuthorizedCertificatesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5158,7 +5158,7 @@
 
 func (c *AppsAuthorizedDomainsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5349,7 +5349,7 @@
 
 func (c *AppsDomainMappingsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5505,7 +5505,7 @@
 
 func (c *AppsDomainMappingsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5655,7 +5655,7 @@
 
 func (c *AppsDomainMappingsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5822,7 +5822,7 @@
 
 func (c *AppsDomainMappingsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6003,7 +6003,7 @@
 
 func (c *AppsDomainMappingsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6160,7 +6160,7 @@
 
 func (c *AppsFirewallIngressRulesBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6299,7 +6299,7 @@
 
 func (c *AppsFirewallIngressRulesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6438,7 +6438,7 @@
 
 func (c *AppsFirewallIngressRulesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6588,7 +6588,7 @@
 
 func (c *AppsFirewallIngressRulesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6764,7 +6764,7 @@
 
 func (c *AppsFirewallIngressRulesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6946,7 +6946,7 @@
 
 func (c *AppsFirewallIngressRulesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7110,7 +7110,7 @@
 
 func (c *AppsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7285,7 +7285,7 @@
 
 func (c *AppsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7471,7 +7471,7 @@
 
 func (c *AppsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7654,7 +7654,7 @@
 
 func (c *AppsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7827,7 +7827,7 @@
 
 func (c *AppsServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7977,7 +7977,7 @@
 
 func (c *AppsServicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8144,7 +8144,7 @@
 
 func (c *AppsServicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8341,7 +8341,7 @@
 
 func (c *AppsServicesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8501,7 +8501,7 @@
 
 func (c *AppsServicesVersionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8650,7 +8650,7 @@
 
 func (c *AppsServicesVersionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8826,7 +8826,7 @@
 
 func (c *AppsServicesVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9030,7 +9030,7 @@
 
 func (c *AppsServicesVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9278,7 +9278,7 @@
 
 func (c *AppsServicesVersionsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9451,7 +9451,7 @@
 
 func (c *AppsServicesVersionsInstancesDebugCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9629,7 +9629,7 @@
 
 func (c *AppsServicesVersionsInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9799,7 +9799,7 @@
 
 func (c *AppsServicesVersionsInstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9989,7 +9989,7 @@
 
 func (c *AppsServicesVersionsInstancesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/appengine/v1alpha/appengine-gen.go b/appengine/v1alpha/appengine-gen.go
index cb53bea..c557fab 100644
--- a/appengine/v1alpha/appengine-gen.go
+++ b/appengine/v1alpha/appengine-gen.go
@@ -1268,7 +1268,7 @@
 
 func (c *AppsAuthorizedCertificatesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1407,7 +1407,7 @@
 
 func (c *AppsAuthorizedCertificatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1571,7 +1571,7 @@
 
 func (c *AppsAuthorizedCertificatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1766,7 +1766,7 @@
 
 func (c *AppsAuthorizedCertificatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1962,7 +1962,7 @@
 
 func (c *AppsAuthorizedCertificatesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2138,7 +2138,7 @@
 
 func (c *AppsAuthorizedDomainsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2340,7 +2340,7 @@
 
 func (c *AppsDomainMappingsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2501,7 +2501,7 @@
 
 func (c *AppsDomainMappingsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2651,7 +2651,7 @@
 
 func (c *AppsDomainMappingsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2818,7 +2818,7 @@
 
 func (c *AppsDomainMappingsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3011,7 +3011,7 @@
 
 func (c *AppsDomainMappingsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3180,7 +3180,7 @@
 
 func (c *AppsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3355,7 +3355,7 @@
 
 func (c *AppsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3541,7 +3541,7 @@
 
 func (c *AppsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3724,7 +3724,7 @@
 
 func (c *AppsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/appengine/v1beta/appengine-gen.go b/appengine/v1beta/appengine-gen.go
index ae1302a..59e8fa1 100644
--- a/appengine/v1beta/appengine-gen.go
+++ b/appengine/v1beta/appengine-gen.go
@@ -3810,7 +3810,7 @@
 
 func (c *AppsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3946,7 +3946,7 @@
 
 func (c *AppsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4092,7 +4092,7 @@
 
 func (c *AppsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4245,7 +4245,7 @@
 
 func (c *AppsRepairCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4384,7 +4384,7 @@
 
 func (c *AppsAuthorizedCertificatesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4523,7 +4523,7 @@
 
 func (c *AppsAuthorizedCertificatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4687,7 +4687,7 @@
 
 func (c *AppsAuthorizedCertificatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4882,7 +4882,7 @@
 
 func (c *AppsAuthorizedCertificatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5078,7 +5078,7 @@
 
 func (c *AppsAuthorizedCertificatesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5254,7 +5254,7 @@
 
 func (c *AppsAuthorizedDomainsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5445,7 +5445,7 @@
 
 func (c *AppsDomainMappingsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5601,7 +5601,7 @@
 
 func (c *AppsDomainMappingsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5751,7 +5751,7 @@
 
 func (c *AppsDomainMappingsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5918,7 +5918,7 @@
 
 func (c *AppsDomainMappingsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6099,7 +6099,7 @@
 
 func (c *AppsDomainMappingsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6256,7 +6256,7 @@
 
 func (c *AppsFirewallIngressRulesBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6395,7 +6395,7 @@
 
 func (c *AppsFirewallIngressRulesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6534,7 +6534,7 @@
 
 func (c *AppsFirewallIngressRulesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6684,7 +6684,7 @@
 
 func (c *AppsFirewallIngressRulesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6860,7 +6860,7 @@
 
 func (c *AppsFirewallIngressRulesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7042,7 +7042,7 @@
 
 func (c *AppsFirewallIngressRulesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7206,7 +7206,7 @@
 
 func (c *AppsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7381,7 +7381,7 @@
 
 func (c *AppsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7567,7 +7567,7 @@
 
 func (c *AppsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7750,7 +7750,7 @@
 
 func (c *AppsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7923,7 +7923,7 @@
 
 func (c *AppsServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8073,7 +8073,7 @@
 
 func (c *AppsServicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8240,7 +8240,7 @@
 
 func (c *AppsServicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8438,7 +8438,7 @@
 
 func (c *AppsServicesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8598,7 +8598,7 @@
 
 func (c *AppsServicesVersionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8747,7 +8747,7 @@
 
 func (c *AppsServicesVersionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8923,7 +8923,7 @@
 
 func (c *AppsServicesVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9127,7 +9127,7 @@
 
 func (c *AppsServicesVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9377,7 +9377,7 @@
 
 func (c *AppsServicesVersionsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9550,7 +9550,7 @@
 
 func (c *AppsServicesVersionsInstancesDebugCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9728,7 +9728,7 @@
 
 func (c *AppsServicesVersionsInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9898,7 +9898,7 @@
 
 func (c *AppsServicesVersionsInstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10088,7 +10088,7 @@
 
 func (c *AppsServicesVersionsInstancesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/appsactivity/v1/appsactivity-gen.go b/appsactivity/v1/appsactivity-gen.go
index 7b920b7..e319909 100644
--- a/appsactivity/v1/appsactivity-gen.go
+++ b/appsactivity/v1/appsactivity-gen.go
@@ -723,7 +723,7 @@
 
 func (c *ActivitiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/artifactregistry/v1beta1/artifactregistry-api.json b/artifactregistry/v1beta1/artifactregistry-api.json
index c079f08..b44740c 100644
--- a/artifactregistry/v1beta1/artifactregistry-api.json
+++ b/artifactregistry/v1beta1/artifactregistry-api.json
@@ -185,7 +185,7 @@
             "operations": {
               "methods": {
                 "get": {
-                  "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+                  "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                   "httpMethod": "GET",
                   "id": "artifactregistry.projects.locations.operations.get",
@@ -211,7 +211,7 @@
                   ]
                 },
                 "list": {
-                  "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
+                  "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations",
                   "httpMethod": "GET",
                   "id": "artifactregistry.projects.locations.operations.list",
@@ -257,7 +257,7 @@
             "repositories": {
               "methods": {
                 "create": {
-                  "description": "Creates a repository. The returned Operation will finish once the\nrepository has been created. Its response will be the created Repository.",
+                  "description": "Creates a repository. The returned Operation will finish once the repository has been created. Its response will be the created Repository.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories",
                   "httpMethod": "POST",
                   "id": "artifactregistry.projects.locations.repositories.create",
@@ -290,7 +290,7 @@
                   ]
                 },
                 "delete": {
-                  "description": "Deletes a repository and all of its contents. The returned Operation will\nfinish once the repository has been deleted. It will not have any Operation\nmetadata and will return a google.protobuf.Empty response.",
+                  "description": "Deletes a repository and all of its contents. The returned Operation will finish once the repository has been deleted. It will not have any Operation metadata and will return a google.protobuf.Empty response.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}",
                   "httpMethod": "DELETE",
                   "id": "artifactregistry.projects.locations.repositories.delete",
@@ -350,13 +350,13 @@
                   ],
                   "parameters": {
                     "options.requestedPolicyVersion": {
-                      "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+                      "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
                     },
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
                       "required": true,
@@ -419,14 +419,14 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name of the repository, for example:\n\"projects/p1/locations/us-central1/repositories/repo1\".",
+                      "description": "The name of the repository, for example: \"projects/p1/locations/us-central1/repositories/repo1\".",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
                       "required": true,
                       "type": "string"
                     },
                     "updateMask": {
-                      "description": "The update mask applies to the resource. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
+                      "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
                       "format": "google-fieldmask",
                       "location": "query",
                       "type": "string"
@@ -453,7 +453,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
                       "required": true,
@@ -481,7 +481,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
                       "required": true,
@@ -540,7 +540,7 @@
                       ],
                       "parameters": {
                         "filter": {
-                          "description": "An expression for filtering the results of the request. Filter rules are\ncase insensitive. The fields eligible for filtering are:\n\n  * `name`\n  * `owner`\n\n An example of using a filter:\n\n  * `name=\"projects/p1/locations/us-central1/repositories/repo1/files/a/b/*\"` --\u003e Files with an\n  ID starting with \"a/b/\".\n  * `owner=\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0\"` --\u003e\n  Files owned by the version `1.0` in package `pkg1`.",
+                          "description": "An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are: * `name` * `owner` An example of using a filter: * `name=\"projects/p1/locations/us-central1/repositories/repo1/files/a/b/*\"` --\u003e Files with an ID starting with \"a/b/\". * `owner=\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0\"` --\u003e Files owned by the version `1.0` in package `pkg1`.",
                           "location": "query",
                           "type": "string"
                         },
@@ -577,7 +577,7 @@
                 "packages": {
                   "methods": {
                     "delete": {
-                      "description": "Deletes a package and all of its versions and tags. The returned operation\nwill complete once the package has been deleted.",
+                      "description": "Deletes a package and all of its versions and tags. The returned operation will complete once the package has been deleted.",
                       "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}",
                       "httpMethod": "DELETE",
                       "id": "artifactregistry.projects.locations.repositories.packages.delete",
@@ -762,7 +762,7 @@
                           ],
                           "parameters": {
                             "filter": {
-                              "description": "An expression for filtering the results of the request. Filter rules are\ncase insensitive. The fields eligible for filtering are:\n\n  * `version`\n\n An example of using a filter:\n\n  * `version=\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0\"`\n  --\u003e Tags that are applied to the version `1.0` in package `pkg1`.",
+                              "description": "An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are: * `version` An example of using a filter: * `version=\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0\"` --\u003e Tags that are applied to the version `1.0` in package `pkg1`.",
                               "location": "query",
                               "type": "string"
                             },
@@ -804,14 +804,14 @@
                           ],
                           "parameters": {
                             "name": {
-                              "description": "The name of the tag, for example:\n\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/tags/tag1\".",
+                              "description": "The name of the tag, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/tags/tag1\".",
                               "location": "path",
                               "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+/tags/[^/]+$",
                               "required": true,
                               "type": "string"
                             },
                             "updateMask": {
-                              "description": "The update mask applies to the resource. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
+                              "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
                               "format": "google-fieldmask",
                               "location": "query",
                               "type": "string"
@@ -833,7 +833,7 @@
                     "versions": {
                       "methods": {
                         "delete": {
-                          "description": "Deletes a version and all of its content. The returned operation will\ncomplete once the version has been deleted.",
+                          "description": "Deletes a version and all of its content. The returned operation will complete once the version has been deleted.",
                           "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/versions/{versionsId}",
                           "httpMethod": "DELETE",
                           "id": "artifactregistry.projects.locations.repositories.packages.versions.delete",
@@ -842,7 +842,7 @@
                           ],
                           "parameters": {
                             "force": {
-                              "description": "By default, a version that is tagged may not be deleted. If force=true, the\nversion and any tags pointing to the version are deleted.",
+                              "description": "By default, a version that is tagged may not be deleted. If force=true, the version and any tags pointing to the version are deleted.",
                               "location": "query",
                               "type": "boolean"
                             },
@@ -885,6 +885,11 @@
                                 "BASIC",
                                 "FULL"
                               ],
+                              "enumDescriptions": [
+                                "The default / unset value. The API will default to the BASIC view.",
+                                "Includes basic information about the version, but not any related tags.",
+                                "Include everything."
+                              ],
                               "location": "query",
                               "type": "string"
                             }
@@ -932,6 +937,11 @@
                                 "BASIC",
                                 "FULL"
                               ],
+                              "enumDescriptions": [
+                                "The default / unset value. The API will default to the BASIC view.",
+                                "Includes basic information about the version, but not any related tags.",
+                                "Include everything."
+                              ],
                               "location": "query",
                               "type": "string"
                             }
@@ -956,7 +966,7 @@
       }
     }
   },
-  "revision": "20200701",
+  "revision": "20200807",
   "rootUrl": "https://artifactregistry.googleapis.com/",
   "schemas": {
     "Binding": {
@@ -965,46 +975,46 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
     },
     "Expr": {
-      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
+      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
       "id": "Expr",
       "properties": {
         "description": {
-          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
+          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
           "type": "string"
         },
         "expression": {
-          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
+          "description": "Textual representation of an expression in Common Expression Language syntax.",
           "type": "string"
         },
         "location": {
-          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
+          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
           "type": "string"
         },
         "title": {
-          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
+          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
           "type": "string"
         }
       },
@@ -1027,7 +1037,7 @@
           "type": "array"
         },
         "name": {
-          "description": "The name of the file, for example:\n\"projects/p1/locations/us-central1/repositories/repo1/files/a/b/c.txt\".",
+          "description": "The name of the file, for example: \"projects/p1/locations/us-central1/repositories/repo1/files/a/b/c.txt\".",
           "type": "string"
         },
         "owner": {
@@ -1111,11 +1121,11 @@
           "type": "string"
         },
         "name": {
-          "description": "The name of the package, for example:\n\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1\".",
+          "description": "The name of the package, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1\".",
           "type": "string"
         },
         "updateTime": {
-          "description": "The time when the package was last updated. This includes publishing a new\nversion of the package.",
+          "description": "The time when the package was last updated. This includes publishing a new version of the package.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -1158,7 +1168,7 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "The token to retrieve the next page of files, or empty if there are no\nmore files to return.",
+          "description": "The token to retrieve the next page of files, or empty if there are no more files to return.",
           "type": "string"
         }
       },
@@ -1205,7 +1215,7 @@
       "id": "ListPackagesResponse",
       "properties": {
         "nextPageToken": {
-          "description": "The token to retrieve the next page of packages, or empty if there are no\nmore packages to return.",
+          "description": "The token to retrieve the next page of packages, or empty if there are no more packages to return.",
           "type": "string"
         },
         "packages": {
@@ -1223,7 +1233,7 @@
       "id": "ListRepositoriesResponse",
       "properties": {
         "nextPageToken": {
-          "description": "The token to retrieve the next page of repositories, or empty if there are\nno more repositories to return.",
+          "description": "The token to retrieve the next page of repositories, or empty if there are no more repositories to return.",
           "type": "string"
         },
         "repositories": {
@@ -1241,7 +1251,7 @@
       "id": "ListTagsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "The token to retrieve the next page of tags, or empty if there are no\nmore tags to return.",
+          "description": "The token to retrieve the next page of tags, or empty if there are no more tags to return.",
           "type": "string"
         },
         "tags": {
@@ -1259,7 +1269,7 @@
       "id": "ListVersionsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "The token to retrieve the next page of versions, or empty if there are no\nmore versions to return.",
+          "description": "The token to retrieve the next page of versions, or empty if there are no more versions to return.",
           "type": "string"
         },
         "versions": {
@@ -1277,14 +1287,14 @@
       "id": "Location",
       "properties": {
         "displayName": {
-          "description": "The friendly name for this location, typically a nearby city name.\nFor example, \"Tokyo\".",
+          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
           "type": "string"
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Cross-service attributes for the location. For example\n\n    {\"cloud.googleapis.com/region\": \"us-east1\"}",
+          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
           "type": "object"
         },
         "locationId": {
@@ -1296,22 +1306,22 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "Service-specific metadata. For example the available capacity at the given\nlocation.",
+          "description": "Service-specific metadata. For example the available capacity at the given location.",
           "type": "object"
         },
         "name": {
-          "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`",
+          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Operation": {
-      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
+      "description": "This resource represents a long-running operation that is the result of a network API call.",
       "id": "Operation",
       "properties": {
         "done": {
-          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
+          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
           "type": "boolean"
         },
         "error": {
@@ -1323,11 +1333,11 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "Service-specific metadata associated with the operation.  It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata.  Any method that returns a\nlong-running operation should document the metadata type, if any.",
+          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
           "type": "object"
         },
         "name": {
-          "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.",
+          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
           "type": "string"
         },
         "response": {
@@ -1335,7 +1345,7 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "The normal response of the operation in case of success.  If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`.  If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource.  For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name.  For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
+          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
           "type": "object"
         }
       },
@@ -1355,11 +1365,11 @@
           "type": "string"
         },
         "name": {
-          "description": "The name of the package, for example:\n\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1\".",
+          "description": "The name of the package, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1\".",
           "type": "string"
         },
         "updateTime": {
-          "description": "The time when the package was last updated. This includes publishing a new\nversion of the package.",
+          "description": "The time when the package was last updated. This includes publishing a new version of the package.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -1367,23 +1377,23 @@
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\n            \"user:eve@example.com\"\n          ],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "bindings": {
-          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
+          "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.",
           "items": {
             "$ref": "Binding"
           },
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
           "format": "byte",
           "type": "string"
         },
         "version": {
-          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -1422,18 +1432,18 @@
           "type": "string"
         },
         "kmsKeyName": {
-          "description": "The Cloud KMS resource name of the customer managed encryption key that’s\nused to encrypt the contents of the Repository. Has the form:\n`projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`.\nThis value may not be changed after the Repository has been created.",
+          "description": "The Cloud KMS resource name of the customer managed encryption key that’s used to encrypt the contents of the Repository. Has the form: `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`. This value may not be changed after the Repository has been created.",
           "type": "string"
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Labels with user-defined metadata.\nThis field may contain up to 64 entries. Label keys and values may be no\nlonger than 63 characters. Label keys must begin with a lowercase letter\nand may only contain lowercase letters, numeric characters, underscores,\nand dashes.",
+          "description": "Labels with user-defined metadata. This field may contain up to 64 entries. Label keys and values may be no longer than 63 characters. Label keys must begin with a lowercase letter and may only contain lowercase letters, numeric characters, underscores, and dashes.",
           "type": "object"
         },
         "name": {
-          "description": "The name of the repository, for example:\n\"projects/p1/locations/us-central1/repositories/repo1\".",
+          "description": "The name of the repository, for example: \"projects/p1/locations/us-central1/repositories/repo1\".",
           "type": "string"
         },
         "updateTime": {
@@ -1450,13 +1460,13 @@
       "properties": {
         "policy": {
           "$ref": "Policy",
-          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
+          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them."
         }
       },
       "type": "object"
     },
     "Status": {
-      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "Status",
       "properties": {
         "code": {
@@ -1465,7 +1475,7 @@
           "type": "integer"
         },
         "details": {
-          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -1476,22 +1486,22 @@
           "type": "array"
         },
         "message": {
-          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Tag": {
-      "description": "Tags point to a version and represent an alternative name that can be used\nto access the version.",
+      "description": "Tags point to a version and represent an alternative name that can be used to access the version.",
       "id": "Tag",
       "properties": {
         "name": {
-          "description": "The name of the tag, for example:\n\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/tags/tag1\".",
+          "description": "The name of the tag, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/tags/tag1\".",
           "type": "string"
         },
         "version": {
-          "description": "The name of the version the tag refers to, for example:\n\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811\"",
+          "description": "The name of the version the tag refers to, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811\"",
           "type": "string"
         }
       },
@@ -1502,7 +1512,7 @@
       "id": "TestIamPermissionsRequest",
       "properties": {
         "permissions": {
-          "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
+          "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
           "items": {
             "type": "string"
           },
@@ -1516,7 +1526,7 @@
       "id": "TestIamPermissionsResponse",
       "properties": {
         "permissions": {
-          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
+          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
           "items": {
             "type": "string"
           },
@@ -1526,7 +1536,7 @@
       "type": "object"
     },
     "Version": {
-      "description": "The body of a version resource. A version resource represents a\ncollection of components, such as files and other data. This may correspond\nto a version in many package management schemes.",
+      "description": "The body of a version resource. A version resource represents a collection of components, such as files and other data. This may correspond to a version in many package management schemes.",
       "id": "Version",
       "properties": {
         "createTime": {
@@ -1539,11 +1549,11 @@
           "type": "string"
         },
         "name": {
-          "description": "The name of the version, for example:\n\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/art1\".",
+          "description": "The name of the version, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/art1\".",
           "type": "string"
         },
         "relatedTags": {
-          "description": "Output only. A list of related tags. Will contain up to 100 tags that\nreference this version.",
+          "description": "Output only. A list of related tags. Will contain up to 100 tags that reference this version.",
           "items": {
             "$ref": "Tag"
           },
diff --git a/artifactregistry/v1beta1/artifactregistry-gen.go b/artifactregistry/v1beta1/artifactregistry-gen.go
index 2ffec2b..d22fd49 100644
--- a/artifactregistry/v1beta1/artifactregistry-gen.go
+++ b/artifactregistry/v1beta1/artifactregistry-gen.go
@@ -238,95 +238,53 @@
 
 // Binding: Associates `members` with a `role`.
 type Binding struct {
-	// Condition: The condition that is associated with this binding.
-	//
-	// If the condition evaluates to `true`, then this binding applies to
-	// the
-	// current request.
-	//
-	// If the condition evaluates to `false`, then this binding does not
-	// apply to
-	// the current request. However, a different role binding might grant
-	// the same
-	// role to one or more of the members in this binding.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// Condition: The condition that is associated with this binding. If the
+	// condition evaluates to `true`, then this binding applies to the
+	// current request. If the condition evaluates to `false`, then this
+	// binding does not apply to the current request. However, a different
+	// role binding might grant the same role to one or more of the members
+	// in this binding. To learn which resources support conditions in their
+	// IAM policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	Condition *Expr `json:"condition,omitempty"`
 
 	// Members: Specifies the identities requesting access for a Cloud
-	// Platform resource.
-	// `members` can have the following values:
-	//
-	// * `allUsers`: A special identifier that represents anyone who is
-	//    on the internet; with or without a Google account.
-	//
-	// * `allAuthenticatedUsers`: A special identifier that represents
-	// anyone
-	//    who is authenticated with a Google account or a service
-	// account.
-	//
-	// * `user:{emailid}`: An email address that represents a specific
-	// Google
-	//    account. For example, `alice@example.com` .
-	//
-	//
-	// * `serviceAccount:{emailid}`: An email address that represents a
-	// service
-	//    account. For example,
-	// `my-other-app@appspot.gserviceaccount.com`.
-	//
-	// * `group:{emailid}`: An email address that represents a Google
-	// group.
-	//    For example, `admins@example.com`.
-	//
-	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a user that has been recently deleted.
-	// For
-	//    example, `alice@example.com?uid=123456789012345678901`. If the
-	// user is
-	//    recovered, this value reverts to `user:{emailid}` and the
-	// recovered user
-	//    retains the role in the binding.
-	//
-	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
-	// (plus
-	//    unique identifier) representing a service account that has been
-	// recently
-	//    deleted. For example,
-	//
+	// Platform resource. `members` can have the following values: *
+	// `allUsers`: A special identifier that represents anyone who is on the
+	// internet; with or without a Google account. *
+	// `allAuthenticatedUsers`: A special identifier that represents anyone
+	// who is authenticated with a Google account or a service account. *
+	// `user:{emailid}`: An email address that represents a specific Google
+	// account. For example, `alice@example.com` . *
+	// `serviceAccount:{emailid}`: An email address that represents a
+	// service account. For example,
+	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
+	// email address that represents a Google group. For example,
+	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
+	// email address (plus unique identifier) representing a user that has
+	// been recently deleted. For example,
+	// `alice@example.com?uid=123456789012345678901`. If the user is
+	// recovered, this value reverts to `user:{emailid}` and the recovered
+	// user retains the role in the binding. *
+	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
+	// (plus unique identifier) representing a service account that has been
+	// recently deleted. For example,
 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
-	//
-	//    If the service account is undeleted, this value reverts to
-	//    `serviceAccount:{emailid}` and the undeleted service account
-	// retains the
-	//    role in the binding.
-	//
-	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a Google group that has been recently
-	//    deleted. For example,
-	// `admins@example.com?uid=123456789012345678901`. If
-	//    the group is recovered, this value reverts to `group:{emailid}`
-	// and the
-	//    recovered group retains the role in the binding.
-	//
-	//
-	// * `domain:{domain}`: The G Suite domain (primary) that represents all
-	// the
-	//    users of that domain. For example, `google.com` or
-	// `example.com`.
-	//
-	//
+	// If the service account is undeleted, this value reverts to
+	// `serviceAccount:{emailid}` and the undeleted service account retains
+	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
+	// An email address (plus unique identifier) representing a Google group
+	// that has been recently deleted. For example,
+	// `admins@example.com?uid=123456789012345678901`. If the group is
+	// recovered, this value reverts to `group:{emailid}` and the recovered
+	// group retains the role in the binding. * `domain:{domain}`: The G
+	// Suite domain (primary) that represents all the users of that domain.
+	// For example, `google.com` or `example.com`.
 	Members []string `json:"members,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`.
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -353,17 +311,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -371,65 +323,40 @@
 }
 
 // Expr: Represents a textual expression in the Common Expression
-// Language (CEL)
-// syntax. CEL is a C-like expression language. The syntax and semantics
-// of CEL
-// are documented at https://github.com/google/cel-spec.
-//
-// Example (Comparison):
-//
-//     title: "Summary size limit"
-//     description: "Determines if a summary is less than 100 chars"
-//     expression: "document.summary.size() < 100"
-//
-// Example (Equality):
-//
-//     title: "Requestor is owner"
-//     description: "Determines if requestor is the document owner"
-//     expression: "document.owner ==
-// request.auth.claims.email"
-//
-// Example (Logic):
-//
-//     title: "Public documents"
-//     description: "Determine whether the document should be publicly
-// visible"
-//     expression: "document.type != 'private' && document.type !=
-// 'internal'"
-//
-// Example (Data Manipulation):
-//
-//     title: "Notification string"
-//     description: "Create a notification string with a timestamp."
-//     expression: "'New message received at ' +
-// string(document.create_time)"
-//
-// The exact variables and functions that may be referenced within an
-// expression
-// are determined by the service that evaluates it. See the
-// service
-// documentation for additional information.
+// Language (CEL) syntax. CEL is a C-like expression language. The
+// syntax and semantics of CEL are documented at
+// https://github.com/google/cel-spec. Example (Comparison): title:
+// "Summary size limit" description: "Determines if a summary is less
+// than 100 chars" expression: "document.summary.size() < 100" Example
+// (Equality): title: "Requestor is owner" description: "Determines if
+// requestor is the document owner" expression: "document.owner ==
+// request.auth.claims.email" Example (Logic): title: "Public documents"
+// description: "Determine whether the document should be publicly
+// visible" expression: "document.type != 'private' && document.type !=
+// 'internal'" Example (Data Manipulation): title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' +
+// string(document.create_time)" The exact variables and functions that
+// may be referenced within an expression are determined by the service
+// that evaluates it. See the service documentation for additional
+// information.
 type Expr struct {
 	// Description: Optional. Description of the expression. This is a
-	// longer text which
-	// describes the expression, e.g. when hovered over it in a UI.
+	// longer text which describes the expression, e.g. when hovered over it
+	// in a UI.
 	Description string `json:"description,omitempty"`
 
 	// Expression: Textual representation of an expression in Common
-	// Expression Language
-	// syntax.
+	// Expression Language syntax.
 	Expression string `json:"expression,omitempty"`
 
 	// Location: Optional. String indicating the location of the expression
-	// for error
-	// reporting, e.g. a file name and a position in the file.
+	// for error reporting, e.g. a file name and a position in the file.
 	Location string `json:"location,omitempty"`
 
 	// Title: Optional. Title for the expression, i.e. a short string
-	// describing
-	// its purpose. This can be used e.g. in UIs which allow to enter
-	// the
-	// expression.
+	// describing its purpose. This can be used e.g. in UIs which allow to
+	// enter the expression.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -464,10 +391,9 @@
 	// Hashes: The hashes of the file content.
 	Hashes []*Hash `json:"hashes,omitempty"`
 
-	// Name: The name of the file, for
-	// example:
-	// "projects/p1/locations/us-central1/repositories/repo1/files/a
-	// /b/c.txt".
+	// Name: The name of the file, for example:
+	// "projects/p1/locations/us-central1/repositories/repo1/files/a/b/c.txt"
+	// .
 	Name string `json:"name,omitempty"`
 
 	// Owner: The name of the Package or Version that owns this file, if
@@ -609,15 +535,12 @@
 	// DisplayName: The display name of the package.
 	DisplayName string `json:"displayName,omitempty"`
 
-	// Name: The name of the package, for
-	// example:
-	// "projects/p1/locations/us-central1/repositories/repo1/package
-	// s/pkg1".
+	// Name: The name of the package, for example:
+	// "projects/p1/locations/us-central1/repositories/repo1/packages/pkg1".
 	Name string `json:"name,omitempty"`
 
 	// UpdateTime: The time when the package was last updated. This includes
-	// publishing a new
-	// version of the package.
+	// publishing a new version of the package.
 	UpdateTime string `json:"updateTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CreateTime") to
@@ -684,8 +607,7 @@
 	Files []*File `json:"files,omitempty"`
 
 	// NextPageToken: The token to retrieve the next page of files, or empty
-	// if there are no
-	// more files to return.
+	// if there are no more files to return.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -792,8 +714,7 @@
 // ListPackagesResponse: The response from listing packages.
 type ListPackagesResponse struct {
 	// NextPageToken: The token to retrieve the next page of packages, or
-	// empty if there are no
-	// more packages to return.
+	// empty if there are no more packages to return.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Packages: The packages returned.
@@ -829,8 +750,7 @@
 // ListRepositoriesResponse: The response from listing repositories.
 type ListRepositoriesResponse struct {
 	// NextPageToken: The token to retrieve the next page of repositories,
-	// or empty if there are
-	// no more repositories to return.
+	// or empty if there are no more repositories to return.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Repositories: The repositories returned.
@@ -866,8 +786,7 @@
 // ListTagsResponse: The response from listing tags.
 type ListTagsResponse struct {
 	// NextPageToken: The token to retrieve the next page of tags, or empty
-	// if there are no
-	// more tags to return.
+	// if there are no more tags to return.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Tags: The tags returned.
@@ -903,8 +822,7 @@
 // ListVersionsResponse: The response from listing versions.
 type ListVersionsResponse struct {
 	// NextPageToken: The token to retrieve the next page of versions, or
-	// empty if there are no
-	// more versions to return.
+	// empty if there are no more versions to return.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Versions: The versions returned.
@@ -940,13 +858,11 @@
 // Location: A resource that represents Google Cloud Platform location.
 type Location struct {
 	// DisplayName: The friendly name for this location, typically a nearby
-	// city name.
-	// For example, "Tokyo".
+	// city name. For example, "Tokyo".
 	DisplayName string `json:"displayName,omitempty"`
 
 	// Labels: Cross-service attributes for the location. For example
-	//
-	//     {"cloud.googleapis.com/region": "us-east1"}
+	// {"cloud.googleapis.com/region": "us-east1"}
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// LocationId: The canonical id for this location. For example:
@@ -954,13 +870,12 @@
 	LocationId string `json:"locationId,omitempty"`
 
 	// Metadata: Service-specific metadata. For example the available
-	// capacity at the given
-	// location.
+	// capacity at the given location.
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Name: Resource name for the location, which may vary between
-	// implementations.
-	// For example: "projects/example-project/locations/us-east1"
+	// implementations. For example:
+	// "projects/example-project/locations/us-east1"
 	Name string `json:"name,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -991,52 +906,38 @@
 }
 
 // Operation: This resource represents a long-running operation that is
-// the result of a
-// network API call.
+// the result of a network API call.
 type Operation struct {
 	// Done: 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.
+	// progress. If `true`, the operation is completed, and either `error`
+	// or `response` is available.
 	Done bool `json:"done,omitempty"`
 
 	// Error: The error result of the operation in case of failure or
 	// cancellation.
 	Error *Status `json:"error,omitempty"`
 
-	// Metadata: 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.
+	// Metadata: 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.
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Name: The server-assigned name, which is only unique within the same
-	// service that
-	// originally returns it. If you use the default HTTP mapping,
-	// the
-	// `name` should be a resource name ending with
+	// service that originally returns it. If you use the default HTTP
+	// mapping, the `name` should be a resource name ending with
 	// `operations/{unique_id}`.
 	Name string `json:"name,omitempty"`
 
-	// Response: 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`.
+	// Response: 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`.
 	Response googleapi.RawMessage `json:"response,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1074,15 +975,12 @@
 	// DisplayName: The display name of the package.
 	DisplayName string `json:"displayName,omitempty"`
 
-	// Name: The name of the package, for
-	// example:
-	// "projects/p1/locations/us-central1/repositories/repo1/package
-	// s/pkg1".
+	// Name: The name of the package, for example:
+	// "projects/p1/locations/us-central1/repositories/repo1/packages/pkg1".
 	Name string `json:"name,omitempty"`
 
 	// UpdateTime: The time when the package was last updated. This includes
-	// publishing a new
-	// version of the package.
+	// publishing a new version of the package.
 	UpdateTime string `json:"updateTime,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1113,150 +1011,73 @@
 }
 
 // Policy: An Identity and Access Management (IAM) policy, which
-// specifies access
-// controls for Google Cloud resources.
-//
-//
-// A `Policy` is a collection of `bindings`. A `binding` binds one or
-// more
-// `members` to a single `role`. Members can be user accounts, service
-// accounts,
+// specifies access controls for Google Cloud resources. A `Policy` is a
+// collection of `bindings`. A `binding` binds one or more `members` to
+// a single `role`. Members can be user accounts, service accounts,
 // Google groups, and domains (such as G Suite). A `role` is a named
-// list of
-// permissions; each `role` can be an IAM predefined role or a
-// user-created
-// custom role.
-//
-// For some types of Google Cloud resources, a `binding` can also
-// specify a
-// `condition`, which is a logical expression that allows access to a
-// resource
-// only if the expression evaluates to `true`. A condition can add
-// constraints
-// based on attributes of the request, the resource, or both. To learn
-// which
-// resources support conditions in their IAM policies, see the
-// [IAM
+// list of permissions; each `role` can be an IAM predefined role or a
+// user-created custom role. For some types of Google Cloud resources, a
+// `binding` can also specify a `condition`, which is a logical
+// expression that allows access to a resource only if the expression
+// evaluates to `true`. A condition can add constraints based on
+// attributes of the request, the resource, or both. To learn which
+// resources support conditions in their IAM policies, see the [IAM
 // documentation](https://cloud.google.com/iam/help/conditions/resource-p
-// olicies).
-//
-// **JSON example:**
-//
-//     {
-//       "bindings": [
-//         {
-//           "role": "roles/resourcemanager.organizationAdmin",
-//           "members": [
-//             "user:mike@example.com",
-//             "group:admins@example.com",
-//             "domain:google.com",
-//
-// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
-//           ]
-//         },
-//         {
-//           "role": "roles/resourcemanager.organizationViewer",
-//           "members": [
-//             "user:eve@example.com"
-//           ],
-//           "condition": {
-//             "title": "expirable access",
-//             "description": "Does not grant access after Sep 2020",
-//             "expression": "request.time <
-// timestamp('2020-10-01T00:00:00.000Z')",
-//           }
-//         }
-//       ],
-//       "etag": "BwWWja0YfJA=",
-//       "version": 3
-//     }
-//
-// **YAML example:**
-//
-//     bindings:
-//     - members:
-//       - user:mike@example.com
-//       - group:admins@example.com
-//       - domain:google.com
-//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
-//       role: roles/resourcemanager.organizationAdmin
-//     - members:
-//       - user:eve@example.com
-//       role: roles/resourcemanager.organizationViewer
-//       condition:
-//         title: expirable access
-//         description: Does not grant access after Sep 2020
-//         expression: request.time <
-// timestamp('2020-10-01T00:00:00.000Z')
-//     - etag: BwWWja0YfJA=
-//     - version: 3
-//
-// For a description of IAM and its features, see the
-// [IAM documentation](https://cloud.google.com/iam/docs/).
+// olicies). **JSON example:** { "bindings": [ { "role":
+// "roles/resourcemanager.organizationAdmin", "members": [
+// "user:mike@example.com", "group:admins@example.com",
+// "domain:google.com",
+// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
+// "role": "roles/resourcemanager.organizationViewer", "members": [
+// "user:eve@example.com" ], "condition": { "title": "expirable access",
+// "description": "Does not grant access after Sep 2020", "expression":
+// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
+// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
+// members: - user:mike@example.com - group:admins@example.com -
+// domain:google.com -
+// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
+// roles/resourcemanager.organizationAdmin - members: -
+// user:eve@example.com role: roles/resourcemanager.organizationViewer
+// condition: title: expirable access description: Does not grant access
+// after Sep 2020 expression: request.time <
+// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
+// 3 For a description of IAM and its features, see the [IAM
+// documentation](https://cloud.google.com/iam/docs/).
 type Policy struct {
 	// Bindings: Associates a list of `members` to a `role`. Optionally, may
-	// specify a
-	// `condition` that determines how and when the `bindings` are applied.
-	// Each
-	// of the `bindings` must contain at least one member.
+	// specify a `condition` that determines how and when the `bindings` are
+	// applied. Each of the `bindings` must contain at least one member.
 	Bindings []*Binding `json:"bindings,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a policy from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform policy updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `getIamPolicy`,
-	// and
-	// systems are expected to put that etag in the request to
-	// `setIamPolicy` to
-	// ensure that their change will be applied to the same version of the
-	// policy.
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
+	// help prevent simultaneous updates of a policy from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform policy updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `getIamPolicy`, and systems are expected to put that etag in the
+	// request to `setIamPolicy` to ensure that their change will be applied
+	// to the same version of the policy. **Important:** If you use IAM
+	// Conditions, you must include the `etag` field whenever you call
+	// `setIamPolicy`. If you omit this field, then IAM allows you to
+	// overwrite a version `3` policy with a version `1` policy, and all of
 	// the conditions in the version `3` policy are lost.
 	Etag string `json:"etag,omitempty"`
 
-	// Version: Specifies the format of the policy.
-	//
-	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
-	// value
-	// are rejected.
-	//
+	// Version: Specifies the format of the policy. Valid values are `0`,
+	// `1`, and `3`. Requests that specify an invalid value are rejected.
 	// Any operation that affects conditional role bindings must specify
-	// version
-	// `3`. This requirement applies to the following operations:
-	//
-	// * Getting a policy that includes a conditional role binding
-	// * Adding a conditional role binding to a policy
-	// * Changing a conditional role binding in a policy
-	// * Removing any role binding, with or without a condition, from a
-	// policy
-	//   that includes conditions
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
-	// the conditions in the version `3` policy are lost.
-	//
-	// If a policy does not include any conditions, operations on that
-	// policy may
-	// specify any valid version or leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see the
-	// [IAM
+	// version `3`. This requirement applies to the following operations: *
+	// Getting a policy that includes a conditional role binding * Adding a
+	// conditional role binding to a policy * Changing a conditional role
+	// binding in a policy * Removing any role binding, with or without a
+	// condition, from a policy that includes conditions **Important:** If
+	// you use IAM Conditions, you must include the `etag` field whenever
+	// you call `setIamPolicy`. If you omit this field, then IAM allows you
+	// to overwrite a version `3` policy with a version `1` policy, and all
+	// of the conditions in the version `3` policy are lost. If a policy
+	// does not include any conditions, operations on that policy may
+	// specify any valid version or leave the field unset. To learn which
+	// resources support conditions in their IAM policies, see the [IAM
 	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
 	// olicies).
 	Version int64 `json:"version,omitempty"`
@@ -1308,26 +1129,21 @@
 	Format string `json:"format,omitempty"`
 
 	// KmsKeyName: The Cloud KMS resource name of the customer managed
-	// encryption key that’s
-	// used to encrypt the contents of the Repository. Has the
-	// form:
-	// `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKe
-	// ys/my-key`.
-	// This value may not be changed after the Repository has been created.
+	// encryption key that’s used to encrypt the contents of the
+	// Repository. Has the form:
+	// `projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-
+	// key`. This value may not be changed after the Repository has been
+	// created.
 	KmsKeyName string `json:"kmsKeyName,omitempty"`
 
-	// Labels: Labels with user-defined metadata.
-	// This field may contain up to 64 entries. Label keys and values may be
-	// no
-	// longer than 63 characters. Label keys must begin with a lowercase
-	// letter
-	// and may only contain lowercase letters, numeric characters,
-	// underscores,
-	// and dashes.
+	// Labels: Labels with user-defined metadata. This field may contain up
+	// to 64 entries. Label keys and values may be no longer than 63
+	// characters. Label keys must begin with a lowercase letter and may
+	// only contain lowercase letters, numeric characters, underscores, and
+	// dashes.
 	Labels map[string]string `json:"labels,omitempty"`
 
-	// Name: The name of the repository, for
-	// example:
+	// Name: The name of the repository, for example:
 	// "projects/p1/locations/us-central1/repositories/repo1".
 	Name string `json:"name,omitempty"`
 
@@ -1364,11 +1180,9 @@
 // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
 type SetIamPolicyRequest struct {
 	// Policy: REQUIRED: The complete policy to be applied to the
-	// `resource`. The size of
-	// the policy is limited to a few 10s of KB. An empty policy is a
-	// valid policy but certain Cloud Platform services (such as
-	// Projects)
-	// might reject them.
+	// `resource`. The size of the policy is limited to a few 10s of KB. An
+	// empty policy is a valid policy but certain Cloud Platform services
+	// (such as Projects) might reject them.
 	Policy *Policy `json:"policy,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Policy") to
@@ -1395,32 +1209,24 @@
 }
 
 // Status: The `Status` type defines a logical error model that is
-// suitable for
-// different programming environments, including REST APIs and RPC APIs.
-// It is
-// used by [gRPC](https://github.com/grpc). Each `Status` message
-// contains
-// three pieces of data: error code, error message, and error
-// details.
-//
-// You can find out more about this error model and how to work with it
-// in the
-// [API Design Guide](https://cloud.google.com/apis/design/errors).
+// suitable for different programming environments, including REST APIs
+// and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each
+// `Status` message contains three pieces of data: error code, error
+// message, and error details. You can find out more about this error
+// model and how to work with it in the [API Design
+// Guide](https://cloud.google.com/apis/design/errors).
 type Status struct {
 	// Code: The status code, which should be an enum value of
 	// google.rpc.Code.
 	Code int64 `json:"code,omitempty"`
 
-	// Details: A list of messages that carry the error details.  There is a
-	// common set of
-	// message types for APIs to use.
+	// Details: A list of messages that carry the error details. There is a
+	// common set of message types for APIs to use.
 	Details []googleapi.RawMessage `json:"details,omitempty"`
 
 	// Message: 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.
+	// English. Any user-facing error message should be localized and sent
+	// in the google.rpc.Status.details field, or localized by the client.
 	Message string `json:"message,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Code") to
@@ -1447,19 +1253,16 @@
 }
 
 // Tag: Tags point to a version and represent an alternative name that
-// can be used
-// to access the version.
+// can be used to access the version.
 type Tag struct {
-	// Name: The name of the tag, for
-	// example:
-	// "projects/p1/locations/us-central1/repositories/repo1/package
-	// s/pkg1/tags/tag1".
+	// Name: The name of the tag, for example:
+	// "projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/ta
+	// gs/tag1".
 	Name string `json:"name,omitempty"`
 
-	// Version: The name of the version the tag refers to, for
-	// example:
-	// "projects/p1/locations/us-central1/repositories/repo1/package
-	// s/pkg1/versions/sha256:5243811"
+	// Version: The name of the version the tag refers to, for example:
+	// "projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/ve
+	// rsions/sha256:5243811"
 	Version string `json:"version,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1493,11 +1296,8 @@
 // method.
 type TestIamPermissionsRequest struct {
 	// Permissions: The set of permissions to check for the `resource`.
-	// Permissions with
-	// wildcards (such as '*' or 'storage.*') are not allowed. For
-	// more
-	// information see
-	// [IAM
+	// Permissions with wildcards (such as '*' or 'storage.*') are not
+	// allowed. For more information see [IAM
 	// Overview](https://cloud.google.com/iam/docs/overview#permissions).
 	Permissions []string `json:"permissions,omitempty"`
 
@@ -1528,8 +1328,7 @@
 // method.
 type TestIamPermissionsResponse struct {
 	// Permissions: A subset of `TestPermissionsRequest.permissions` that
-	// the caller is
-	// allowed.
+	// the caller is allowed.
 	Permissions []string `json:"permissions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1560,10 +1359,8 @@
 }
 
 // Version: The body of a version resource. A version resource
-// represents a
-// collection of components, such as files and other data. This may
-// correspond
-// to a version in many package management schemes.
+// represents a collection of components, such as files and other data.
+// This may correspond to a version in many package management schemes.
 type Version struct {
 	// CreateTime: The time when the version was created.
 	CreateTime string `json:"createTime,omitempty"`
@@ -1572,15 +1369,13 @@
 	// its metadata.
 	Description string `json:"description,omitempty"`
 
-	// Name: The name of the version, for
-	// example:
-	// "projects/p1/locations/us-central1/repositories/repo1/package
-	// s/pkg1/versions/art1".
+	// Name: The name of the version, for example:
+	// "projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/ve
+	// rsions/art1".
 	Name string `json:"name,omitempty"`
 
 	// RelatedTags: Output only. A list of related tags. Will contain up to
-	// 100 tags that
-	// reference this version.
+	// 100 tags that reference this version.
 	RelatedTags []*Tag `json:"relatedTags,omitempty"`
 
 	// UpdateTime: The time when the version was last updated.
@@ -1668,7 +1463,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1835,7 +1630,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1973,11 +1768,9 @@
 	header_      http.Header
 }
 
-// Get: 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.
+// Get: 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.
 func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall {
 	c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -2021,7 +1814,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2083,7 +1876,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+	//   "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
 	//   "httpMethod": "GET",
 	//   "id": "artifactregistry.projects.locations.operations.get",
@@ -2123,22 +1916,15 @@
 }
 
 // List: 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. 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.
 func (r *ProjectsLocationsOperationsService) List(name string) *ProjectsLocationsOperationsListCall {
 	c := &ProjectsLocationsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -2203,7 +1989,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2265,7 +2051,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
+	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations",
 	//   "httpMethod": "GET",
 	//   "id": "artifactregistry.projects.locations.operations.list",
@@ -2342,8 +2128,7 @@
 }
 
 // Create: Creates a repository. The returned Operation will finish once
-// the
-// repository has been created. Its response will be the created
+// the repository has been created. Its response will be the created
 // Repository.
 func (r *ProjectsLocationsRepositoriesService) Create(parent string, repository *Repository) *ProjectsLocationsRepositoriesCreateCall {
 	c := &ProjectsLocationsRepositoriesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -2386,7 +2171,7 @@
 
 func (c *ProjectsLocationsRepositoriesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2450,7 +2235,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a repository. The returned Operation will finish once the\nrepository has been created. Its response will be the created Repository.",
+	//   "description": "Creates a repository. The returned Operation will finish once the repository has been created. Its response will be the created Repository.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories",
 	//   "httpMethod": "POST",
 	//   "id": "artifactregistry.projects.locations.repositories.create",
@@ -2496,10 +2281,9 @@
 }
 
 // Delete: Deletes a repository and all of its contents. The returned
-// Operation will
-// finish once the repository has been deleted. It will not have any
-// Operation
-// metadata and will return a google.protobuf.Empty response.
+// Operation will finish once the repository has been deleted. It will
+// not have any Operation metadata and will return a
+// google.protobuf.Empty response.
 func (r *ProjectsLocationsRepositoriesService) Delete(name string) *ProjectsLocationsRepositoriesDeleteCall {
 	c := &ProjectsLocationsRepositoriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -2533,7 +2317,7 @@
 
 func (c *ProjectsLocationsRepositoriesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2592,7 +2376,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a repository and all of its contents. The returned Operation will\nfinish once the repository has been deleted. It will not have any Operation\nmetadata and will return a google.protobuf.Empty response.",
+	//   "description": "Deletes a repository and all of its contents. The returned Operation will finish once the repository has been deleted. It will not have any Operation metadata and will return a google.protobuf.Empty response.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "artifactregistry.projects.locations.repositories.delete",
@@ -2674,7 +2458,7 @@
 
 func (c *ProjectsLocationsRepositoriesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2784,24 +2568,14 @@
 
 // OptionsRequestedPolicyVersion sets the optional parameter
 // "options.requestedPolicyVersion": The policy format version to be
-// returned.
-//
-// Valid values are 0, 1, and 3. Requests specifying an invalid value
-// will be
-// rejected.
-//
-// Requests for policies with any conditional bindings must specify
-// version 3.
-// Policies without any conditional bindings may specify any valid value
-// or
-// leave the field unset.
-//
-// To learn which resources support conditions in their IAM policies,
-// see
-// the
-// [IAM
-// documentation](https://cloud.google.com/iam/help/conditions/r
-// esource-policies).
+// returned. Valid values are 0, 1, and 3. Requests specifying an
+// invalid value will be rejected. Requests for policies with any
+// conditional bindings must specify version 3. Policies without any
+// conditional bindings may specify any valid value or leave the field
+// unset. To learn which resources support conditions in their IAM
+// policies, see the [IAM
+// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+// olicies).
 func (c *ProjectsLocationsRepositoriesGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsRepositoriesGetIamPolicyCall {
 	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
 	return c
@@ -2844,7 +2618,7 @@
 
 func (c *ProjectsLocationsRepositoriesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2915,13 +2689,13 @@
 	//   ],
 	//   "parameters": {
 	//     "options.requestedPolicyVersion": {
-	//       "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+	//       "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
 	//       "required": true,
@@ -3009,7 +2783,7 @@
 
 func (c *ProjectsLocationsRepositoriesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3151,11 +2925,8 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": The update mask
-// applies to the resource. For the `FieldMask`
-// definition,
-// see
-// https://developers.google.com/protocol-buffers/docs/re
-// ference/google.protobuf#fieldmask
+// applies to the resource. For the `FieldMask` definition, see
+// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
 func (c *ProjectsLocationsRepositoriesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsRepositoriesPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
 	return c
@@ -3188,7 +2959,7 @@
 
 func (c *ProjectsLocationsRepositoriesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3261,14 +3032,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name of the repository, for example:\n\"projects/p1/locations/us-central1/repositories/repo1\".",
+	//       "description": "The name of the repository, for example: \"projects/p1/locations/us-central1/repositories/repo1\".",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "The update mask applies to the resource. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
+	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -3334,7 +3105,7 @@
 
 func (c *ProjectsLocationsRepositoriesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3407,7 +3178,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
 	//       "required": true,
@@ -3475,7 +3246,7 @@
 
 func (c *ProjectsLocationsRepositoriesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3548,7 +3319,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$",
 	//       "required": true,
@@ -3625,7 +3396,7 @@
 
 func (c *ProjectsLocationsRepositoriesFilesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3734,22 +3505,14 @@
 }
 
 // Filter sets the optional parameter "filter": An expression for
-// filtering the results of the request. Filter rules are
-// case insensitive. The fields eligible for filtering are:
-//
-//   * `name`
-//   * `owner`
-//
-//  An example of using a filter:
-//
-//   *
+// filtering the results of the request. Filter rules are case
+// insensitive. The fields eligible for filtering are: * `name` *
+// `owner` An example of using a filter: *
 // `name="projects/p1/locations/us-central1/repositories/repo1/files/a/b/
-// *" --> Files with an
-//   ID starting with "a/b/".
-//   *
+// *" --> Files with an ID starting with "a/b/". *
 // `owner="projects/p1/locations/us-central1/repositories/repo1/packages/
-// pkg1/versions/1.0" -->
-//   Files owned by the version `1.0` in package `pkg1`.
+// pkg1/versions/1.0" --> Files owned by the version `1.0` in package
+// `pkg1`.
 func (c *ProjectsLocationsRepositoriesFilesListCall) Filter(filter string) *ProjectsLocationsRepositoriesFilesListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
@@ -3806,7 +3569,7 @@
 
 func (c *ProjectsLocationsRepositoriesFilesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3877,7 +3640,7 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "An expression for filtering the results of the request. Filter rules are\ncase insensitive. The fields eligible for filtering are:\n\n  * `name`\n  * `owner`\n\n An example of using a filter:\n\n  * `name=\"projects/p1/locations/us-central1/repositories/repo1/files/a/b/*\"` --\u003e Files with an\n  ID starting with \"a/b/\".\n  * `owner=\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0\"` --\u003e\n  Files owned by the version `1.0` in package `pkg1`.",
+	//       "description": "An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are: * `name` * `owner` An example of using a filter: * `name=\"projects/p1/locations/us-central1/repositories/repo1/files/a/b/*\"` --\u003e Files with an ID starting with \"a/b/\". * `owner=\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0\"` --\u003e Files owned by the version `1.0` in package `pkg1`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -3944,8 +3707,7 @@
 }
 
 // Delete: Deletes a package and all of its versions and tags. The
-// returned operation
-// will complete once the package has been deleted.
+// returned operation will complete once the package has been deleted.
 func (r *ProjectsLocationsRepositoriesPackagesService) Delete(name string) *ProjectsLocationsRepositoriesPackagesDeleteCall {
 	c := &ProjectsLocationsRepositoriesPackagesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3979,7 +3741,7 @@
 
 func (c *ProjectsLocationsRepositoriesPackagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4038,7 +3800,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a package and all of its versions and tags. The returned operation\nwill complete once the package has been deleted.",
+	//   "description": "Deletes a package and all of its versions and tags. The returned operation will complete once the package has been deleted.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "artifactregistry.projects.locations.repositories.packages.delete",
@@ -4120,7 +3882,7 @@
 
 func (c *ProjectsLocationsRepositoriesPackagesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4279,7 +4041,7 @@
 
 func (c *ProjectsLocationsRepositoriesPackagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4454,7 +4216,7 @@
 
 func (c *ProjectsLocationsRepositoriesPackagesTagsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4597,7 +4359,7 @@
 
 func (c *ProjectsLocationsRepositoriesPackagesTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4738,7 +4500,7 @@
 
 func (c *ProjectsLocationsRepositoriesPackagesTagsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4847,17 +4609,12 @@
 }
 
 // Filter sets the optional parameter "filter": An expression for
-// filtering the results of the request. Filter rules are
-// case insensitive. The fields eligible for filtering are:
-//
-//   * `version`
-//
-//  An example of using a filter:
-//
-//   *
+// filtering the results of the request. Filter rules are case
+// insensitive. The fields eligible for filtering are: * `version` An
+// example of using a filter: *
 // `version="projects/p1/locations/us-central1/repositories/repo1/package
-// s/pkg1/versions/1.0"
-//   --> Tags that are applied to the version `1.0` in package `pkg1`.
+// s/pkg1/versions/1.0" --> Tags that are applied to the version `1.0`
+// in package `pkg1`.
 func (c *ProjectsLocationsRepositoriesPackagesTagsListCall) Filter(filter string) *ProjectsLocationsRepositoriesPackagesTagsListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
@@ -4914,7 +4671,7 @@
 
 func (c *ProjectsLocationsRepositoriesPackagesTagsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4985,7 +4742,7 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "An expression for filtering the results of the request. Filter rules are\ncase insensitive. The fields eligible for filtering are:\n\n  * `version`\n\n An example of using a filter:\n\n  * `version=\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0\"`\n  --\u003e Tags that are applied to the version `1.0` in package `pkg1`.",
+	//       "description": "An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are: * `version` An example of using a filter: * `version=\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0\"` --\u003e Tags that are applied to the version `1.0` in package `pkg1`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -5061,11 +4818,8 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": The update mask
-// applies to the resource. For the `FieldMask`
-// definition,
-// see
-// https://developers.google.com/protocol-buffers/docs/re
-// ference/google.protobuf#fieldmask
+// applies to the resource. For the `FieldMask` definition, see
+// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
 func (c *ProjectsLocationsRepositoriesPackagesTagsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsRepositoriesPackagesTagsPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
 	return c
@@ -5098,7 +4852,7 @@
 
 func (c *ProjectsLocationsRepositoriesPackagesTagsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5171,14 +4925,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name of the tag, for example:\n\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/tags/tag1\".",
+	//       "description": "The name of the tag, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/tags/tag1\".",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+/tags/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "The update mask applies to the resource. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
+	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -5209,8 +4963,7 @@
 }
 
 // Delete: Deletes a version and all of its content. The returned
-// operation will
-// complete once the version has been deleted.
+// operation will complete once the version has been deleted.
 func (r *ProjectsLocationsRepositoriesPackagesVersionsService) Delete(name string) *ProjectsLocationsRepositoriesPackagesVersionsDeleteCall {
 	c := &ProjectsLocationsRepositoriesPackagesVersionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -5218,8 +4971,8 @@
 }
 
 // Force sets the optional parameter "force": By default, a version that
-// is tagged may not be deleted. If force=true, the
-// version and any tags pointing to the version are deleted.
+// is tagged may not be deleted. If force=true, the version and any tags
+// pointing to the version are deleted.
 func (c *ProjectsLocationsRepositoriesPackagesVersionsDeleteCall) Force(force bool) *ProjectsLocationsRepositoriesPackagesVersionsDeleteCall {
 	c.urlParams_.Set("force", fmt.Sprint(force))
 	return c
@@ -5252,7 +5005,7 @@
 
 func (c *ProjectsLocationsRepositoriesPackagesVersionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5311,7 +5064,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a version and all of its content. The returned operation will\ncomplete once the version has been deleted.",
+	//   "description": "Deletes a version and all of its content. The returned operation will complete once the version has been deleted.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/versions/{versionsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "artifactregistry.projects.locations.repositories.packages.versions.delete",
@@ -5320,7 +5073,7 @@
 	//   ],
 	//   "parameters": {
 	//     "force": {
-	//       "description": "By default, a version that is tagged may not be deleted. If force=true, the\nversion and any tags pointing to the version are deleted.",
+	//       "description": "By default, a version that is tagged may not be deleted. If force=true, the version and any tags pointing to the version are deleted.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -5365,9 +5118,11 @@
 // returned in the response.
 //
 // Possible values:
-//   "VERSION_VIEW_UNSPECIFIED"
-//   "BASIC"
-//   "FULL"
+//   "VERSION_VIEW_UNSPECIFIED" - The default / unset value. The API
+// will default to the BASIC view.
+//   "BASIC" - Includes basic information about the version, but not any
+// related tags.
+//   "FULL" - Include everything.
 func (c *ProjectsLocationsRepositoriesPackagesVersionsGetCall) View(view string) *ProjectsLocationsRepositoriesPackagesVersionsGetCall {
 	c.urlParams_.Set("view", view)
 	return c
@@ -5410,7 +5165,7 @@
 
 func (c *ProjectsLocationsRepositoriesPackagesVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5494,6 +5249,11 @@
 	//         "BASIC",
 	//         "FULL"
 	//       ],
+	//       "enumDescriptions": [
+	//         "The default / unset value. The API will default to the BASIC view.",
+	//         "Includes basic information about the version, but not any related tags.",
+	//         "Include everything."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -5546,9 +5306,11 @@
 // returned in the response.
 //
 // Possible values:
-//   "VERSION_VIEW_UNSPECIFIED"
-//   "BASIC"
-//   "FULL"
+//   "VERSION_VIEW_UNSPECIFIED" - The default / unset value. The API
+// will default to the BASIC view.
+//   "BASIC" - Includes basic information about the version, but not any
+// related tags.
+//   "FULL" - Include everything.
 func (c *ProjectsLocationsRepositoriesPackagesVersionsListCall) View(view string) *ProjectsLocationsRepositoriesPackagesVersionsListCall {
 	c.urlParams_.Set("view", view)
 	return c
@@ -5591,7 +5353,7 @@
 
 func (c *ProjectsLocationsRepositoriesPackagesVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5686,6 +5448,11 @@
 	//         "BASIC",
 	//         "FULL"
 	//       ],
+	//       "enumDescriptions": [
+	//         "The default / unset value. The API will default to the BASIC view.",
+	//         "Includes basic information about the version, but not any related tags.",
+	//         "Include everything."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     }
diff --git a/bigquery/v2/bigquery-api.json b/bigquery/v2/bigquery-api.json
index d03be31..d1ca066 100644
--- a/bigquery/v2/bigquery-api.json
+++ b/bigquery/v2/bigquery-api.json
@@ -691,7 +691,7 @@
           ]
         },
         "list": {
-          "description": "Lists all models in the specified dataset. Requires the READER dataset\nrole.",
+          "description": "Lists all models in the specified dataset. Requires the READER dataset role.",
           "flatPath": "projects/{projectsId}/datasets/{datasetsId}/models",
           "httpMethod": "GET",
           "id": "bigquery.models.list",
@@ -708,13 +708,13 @@
               "type": "string"
             },
             "maxResults": {
-              "description": "The maximum number of results to return in a single response page.\nLeverage the page tokens to iterate through the entire collection.",
+              "description": "The maximum number of results to return in a single response page. Leverage the page tokens to iterate through the entire collection.",
               "format": "uint32",
               "location": "query",
               "type": "integer"
             },
             "pageToken": {
-              "description": "Page token, returned by a previous call to request the next page of\nresults",
+              "description": "Page token, returned by a previous call to request the next page of results",
               "location": "query",
               "type": "string"
             },
@@ -909,7 +909,7 @@
               "type": "string"
             },
             "readMask": {
-              "description": "If set, only the Routine fields in the field mask are returned in the\nresponse. If unset, all Routine fields are returned.",
+              "description": "If set, only the Routine fields in the field mask are returned in the response. If unset, all Routine fields are returned.",
               "format": "google-fieldmask",
               "location": "query",
               "type": "string"
@@ -971,7 +971,7 @@
           ]
         },
         "list": {
-          "description": "Lists all routines in the specified dataset. Requires the READER dataset\nrole.",
+          "description": "Lists all routines in the specified dataset. Requires the READER dataset role.",
           "flatPath": "projects/{projectsId}/datasets/{datasetsId}/routines",
           "httpMethod": "GET",
           "id": "bigquery.routines.list",
@@ -988,18 +988,18 @@
               "type": "string"
             },
             "filter": {
-              "description": "If set, then only the Routines matching this filter are returned.\nThe current supported form is either \"routine_type:\u003cRoutineType\u003e\" or\n\"routineType:\u003cRoutineType\u003e\", where \u003cRoutineType\u003e is a RoutineType enum.\nExample: \"routineType:SCALAR_FUNCTION\".",
+              "description": "If set, then only the Routines matching this filter are returned. The current supported form is either \"routine_type:\" or \"routineType:\", where is a RoutineType enum. Example: \"routineType:SCALAR_FUNCTION\".",
               "location": "query",
               "type": "string"
             },
             "maxResults": {
-              "description": "The maximum number of results to return in a single response page.\nLeverage the page tokens to iterate through the entire collection.",
+              "description": "The maximum number of results to return in a single response page. Leverage the page tokens to iterate through the entire collection.",
               "format": "uint32",
               "location": "query",
               "type": "integer"
             },
             "pageToken": {
-              "description": "Page token, returned by a previous call, to request the next page of\nresults",
+              "description": "Page token, returned by a previous call, to request the next page of results",
               "location": "query",
               "type": "string"
             },
@@ -1011,7 +1011,7 @@
               "type": "string"
             },
             "readMask": {
-              "description": "If set, then only the Routine fields in the field mask, as well as\nproject_id, dataset_id and routine_id, are returned in the response.\nIf unset, then the following Routine fields are returned:\netag, project_id, dataset_id, routine_id, routine_type, creation_time,\nlast_modified_time, and language.",
+              "description": "If set, then only the Routine fields in the field mask, as well as project_id, dataset_id and routine_id, are returned in the response. If unset, then the following Routine fields are returned: etag, project_id, dataset_id, routine_id, routine_type, creation_time, last_modified_time, and language.",
               "format": "google-fieldmask",
               "location": "query",
               "type": "string"
@@ -1029,7 +1029,7 @@
           ]
         },
         "update": {
-          "description": "Updates information in an existing routine. The update method replaces the\nentire Routine resource.",
+          "description": "Updates information in an existing routine. The update method replaces the entire Routine resource.",
           "flatPath": "projects/{projectsId}/datasets/{datasetsId}/routines/{routinesId}",
           "httpMethod": "PUT",
           "id": "bigquery.routines.update",
@@ -1266,7 +1266,7 @@
           ]
         },
         "getIamPolicy": {
-          "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
+          "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
           "flatPath": "projects/{projectsId}/datasets/{datasetsId}/tables/{tablesId}:getIamPolicy",
           "httpMethod": "POST",
           "id": "bigquery.tables.getIamPolicy",
@@ -1275,7 +1275,7 @@
           ],
           "parameters": {
             "resource": {
-              "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+              "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
               "location": "path",
               "pattern": "^projects/[^/]+/datasets/[^/]+/tables/[^/]+$",
               "required": true,
@@ -1416,7 +1416,7 @@
           ]
         },
         "setIamPolicy": {
-          "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
+          "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
           "flatPath": "projects/{projectsId}/datasets/{datasetsId}/tables/{tablesId}:setIamPolicy",
           "httpMethod": "POST",
           "id": "bigquery.tables.setIamPolicy",
@@ -1425,7 +1425,7 @@
           ],
           "parameters": {
             "resource": {
-              "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+              "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
               "location": "path",
               "pattern": "^projects/[^/]+/datasets/[^/]+/tables/[^/]+$",
               "required": true,
@@ -1445,7 +1445,7 @@
           ]
         },
         "testIamPermissions": {
-          "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+          "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
           "flatPath": "projects/{projectsId}/datasets/{datasetsId}/tables/{tablesId}:testIamPermissions",
           "httpMethod": "POST",
           "id": "bigquery.tables.testIamPermissions",
@@ -1454,7 +1454,7 @@
           ],
           "parameters": {
             "resource": {
-              "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+              "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
               "location": "path",
               "pattern": "^projects/[^/]+/datasets/[^/]+/tables/[^/]+$",
               "required": true,
@@ -1519,20 +1519,20 @@
       }
     }
   },
-  "revision": "20200719",
+  "revision": "20200805",
   "rootUrl": "https://bigquery.googleapis.com/",
   "schemas": {
     "AggregateClassificationMetrics": {
-      "description": "Aggregate metrics for classification/classifier models. For multi-class\nmodels, the metrics are either macro-averaged or micro-averaged. When\nmacro-averaged, the metrics are calculated for each label and then an\nunweighted average is taken of those values. When micro-averaged, the\nmetric is calculated globally by counting the total number of correctly\npredicted rows.",
+      "description": "Aggregate metrics for classification/classifier models. For multi-class models, the metrics are either macro-averaged or micro-averaged. When macro-averaged, the metrics are calculated for each label and then an unweighted average is taken of those values. When micro-averaged, the metric is calculated globally by counting the total number of correctly predicted rows.",
       "id": "AggregateClassificationMetrics",
       "properties": {
         "accuracy": {
-          "description": "Accuracy is the fraction of predictions given the correct label. For\nmulticlass this is a micro-averaged metric.",
+          "description": "Accuracy is the fraction of predictions given the correct label. For multiclass this is a micro-averaged metric.",
           "format": "double",
           "type": "number"
         },
         "f1Score": {
-          "description": "The F1 score is an average of recall and precision. For multiclass\nthis is a macro-averaged metric.",
+          "description": "The F1 score is an average of recall and precision. For multiclass this is a macro-averaged metric.",
           "format": "double",
           "type": "number"
         },
@@ -1542,22 +1542,22 @@
           "type": "number"
         },
         "precision": {
-          "description": "Precision is the fraction of actual positive predictions that had\npositive actual labels. For multiclass this is a macro-averaged\nmetric treating each class as a binary classifier.",
+          "description": "Precision is the fraction of actual positive predictions that had positive actual labels. For multiclass this is a macro-averaged metric treating each class as a binary classifier.",
           "format": "double",
           "type": "number"
         },
         "recall": {
-          "description": "Recall is the fraction of actual positive labels that were given a\npositive prediction. For multiclass this is a macro-averaged metric.",
+          "description": "Recall is the fraction of actual positive labels that were given a positive prediction. For multiclass this is a macro-averaged metric.",
           "format": "double",
           "type": "number"
         },
         "rocAuc": {
-          "description": "Area Under a ROC Curve. For multiclass this is a macro-averaged\nmetric.",
+          "description": "Area Under a ROC Curve. For multiclass this is a macro-averaged metric.",
           "format": "double",
           "type": "number"
         },
         "threshold": {
-          "description": "Threshold at which the metrics are computed. For binary\nclassification models this is the positive class threshold.\nFor multi-class classfication models this is the confidence\nthreshold.",
+          "description": "Threshold at which the metrics are computed. For binary classification models this is the positive class threshold. For multi-class classfication models this is the confidence threshold.",
           "format": "double",
           "type": "number"
         }
@@ -1577,8 +1577,8 @@
           ],
           "enumDescriptions": [
             "",
-            "The argument is a variable with fully specified type, which can be a\nstruct or an array, but not a table.",
-            "The argument is any type, including struct or array, but not a table.\nTo be added: FIXED_TABLE, ANY_TABLE"
+            "The argument is a variable with fully specified type, which can be a struct or an array, but not a table.",
+            "The argument is any type, including struct or array, but not a table. To be added: FIXED_TABLE, ANY_TABLE"
           ],
           "type": "string"
         },
@@ -1587,7 +1587,7 @@
           "description": "Required unless argument_kind = ANY_TYPE."
         },
         "mode": {
-          "description": "Optional. Specifies whether the argument is input or output.\nCan be set for procedures only.",
+          "description": "Optional. Specifies whether the argument is input or output. Can be set for procedures only.",
           "enum": [
             "MODE_UNSPECIFIED",
             "IN",
@@ -1671,14 +1671,14 @@
           "type": "array"
         },
         "arimaSingleModelForecastingMetrics": {
-          "description": "Repeated as there can be many metric sets (one for each model) in\nauto-arima and the large-scale case.",
+          "description": "Repeated as there can be many metric sets (one for each model) in auto-arima and the large-scale case.",
           "items": {
             "$ref": "ArimaSingleModelForecastingMetrics"
           },
           "type": "array"
         },
         "hasDrift": {
-          "description": "Whether Arima model fitted with drift or not. It is always false when d\nis not 1.",
+          "description": "Whether Arima model fitted with drift or not. It is always false when d is not 1.",
           "items": {
             "type": "boolean"
           },
@@ -1692,7 +1692,7 @@
           "type": "array"
         },
         "seasonalPeriods": {
-          "description": "Seasonal periods. Repeated because multiple periods are supported for one\ntime series.",
+          "description": "Seasonal periods. Repeated because multiple periods are supported for one time series.",
           "enumDescriptions": [
             "",
             "No seasonality",
@@ -1712,6 +1712,15 @@
               "QUARTERLY",
               "YEARLY"
             ],
+            "enumDescriptions": [
+              "",
+              "No seasonality",
+              "Daily period, 24 hours.",
+              "Weekly period, 7 days.",
+              "Monthly period, 30 days or irregular.",
+              "Quarterly period, 90 days or irregular.",
+              "Yearly period, 365 days or irregular."
+            ],
             "type": "string"
           },
           "type": "array"
@@ -1739,7 +1748,7 @@
           "description": "Arima fitting metrics."
         },
         "hasDrift": {
-          "description": "Whether Arima model fitted with drift or not. It is always false\nwhen d is not 1.",
+          "description": "Whether Arima model fitted with drift or not. It is always false when d is not 1.",
           "type": "boolean"
         },
         "nonSeasonalOrder": {
@@ -1747,7 +1756,7 @@
           "description": "Non-seasonal order."
         },
         "seasonalPeriods": {
-          "description": "Seasonal periods. Repeated because multiple periods are supported\nfor one time series.",
+          "description": "Seasonal periods. Repeated because multiple periods are supported for one time series.",
           "enumDescriptions": [
             "",
             "No seasonality",
@@ -1767,6 +1776,15 @@
               "QUARTERLY",
               "YEARLY"
             ],
+            "enumDescriptions": [
+              "",
+              "No seasonality",
+              "Daily period, 24 hours.",
+              "Weekly period, 7 days.",
+              "Monthly period, 30 days or irregular.",
+              "Quarterly period, 90 days or irregular.",
+              "Yearly period, 365 days or irregular."
+            ],
             "type": "string"
           },
           "type": "array"
@@ -1801,18 +1819,18 @@
       "type": "object"
     },
     "ArimaResult": {
-      "description": "(Auto-)arima fitting result. Wrap everything in ArimaResult for easier\nrefactoring if we want to use model-specific iteration results.",
+      "description": "(Auto-)arima fitting result. Wrap everything in ArimaResult for easier refactoring if we want to use model-specific iteration results.",
       "id": "ArimaResult",
       "properties": {
         "arimaModelInfo": {
-          "description": "This message is repeated because there are multiple arima models\nfitted in auto-arima. For non-auto-arima model, its size is one.",
+          "description": "This message is repeated because there are multiple arima models fitted in auto-arima. For non-auto-arima model, its size is one.",
           "items": {
             "$ref": "ArimaModelInfo"
           },
           "type": "array"
         },
         "seasonalPeriods": {
-          "description": "Seasonal periods. Repeated because multiple periods are supported for\none time series.",
+          "description": "Seasonal periods. Repeated because multiple periods are supported for one time series.",
           "enumDescriptions": [
             "",
             "No seasonality",
@@ -1832,6 +1850,15 @@
               "QUARTERLY",
               "YEARLY"
             ],
+            "enumDescriptions": [
+              "",
+              "No seasonality",
+              "Daily period, 24 hours.",
+              "Weekly period, 7 days.",
+              "Monthly period, 30 days or irregular.",
+              "Quarterly period, 90 days or irregular.",
+              "Yearly period, 365 days or irregular."
+            ],
             "type": "string"
           },
           "type": "array"
@@ -1848,7 +1875,7 @@
           "description": "Arima fitting metrics."
         },
         "hasDrift": {
-          "description": "Is arima model fitted with drift or not. It is always false when d\nis not 1.",
+          "description": "Is arima model fitted with drift or not. It is always false when d is not 1.",
           "type": "boolean"
         },
         "nonSeasonalOrder": {
@@ -1856,7 +1883,7 @@
           "description": "Non-seasonal order."
         },
         "seasonalPeriods": {
-          "description": "Seasonal periods. Repeated because multiple periods are supported\nfor one time series.",
+          "description": "Seasonal periods. Repeated because multiple periods are supported for one time series.",
           "enumDescriptions": [
             "",
             "No seasonality",
@@ -1876,6 +1903,15 @@
               "QUARTERLY",
               "YEARLY"
             ],
+            "enumDescriptions": [
+              "",
+              "No seasonality",
+              "Daily period, 24 hours.",
+              "Weekly period, 7 days.",
+              "Monthly period, 30 days or irregular.",
+              "Quarterly period, 90 days or irregular.",
+              "Yearly period, 365 days or irregular."
+            ],
             "type": "string"
           },
           "type": "array"
@@ -1888,7 +1924,7 @@
       "type": "object"
     },
     "AuditConfig": {
-      "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n    {\n      \"audit_configs\": [\n        {\n          \"service\": \"allServices\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n              \"exempted_members\": [\n                \"user:jose@example.com\"\n              ]\n            },\n            {\n              \"log_type\": \"DATA_WRITE\"\n            },\n            {\n              \"log_type\": \"ADMIN_READ\"\n            }\n          ]\n        },\n        {\n          \"service\": \"sampleservice.googleapis.com\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\"\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n              \"exempted_members\": [\n                \"user:aliya@example.com\"\n              ]\n            }\n          ]\n        }\n      ]\n    }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.",
+      "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.",
       "id": "AuditConfig",
       "properties": {
         "auditLogConfigs": {
@@ -1899,18 +1935,18 @@
           "type": "array"
         },
         "service": {
-          "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.",
+          "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "AuditLogConfig": {
-      "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n    {\n      \"audit_log_configs\": [\n        {\n          \"log_type\": \"DATA_READ\",\n          \"exempted_members\": [\n            \"user:jose@example.com\"\n          ]\n        },\n        {\n          \"log_type\": \"DATA_WRITE\"\n        }\n      ]\n    }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.",
+      "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.",
       "id": "AuditLogConfig",
       "properties": {
         "exemptedMembers": {
-          "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.",
+          "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.",
           "items": {
             "type": "string"
           },
@@ -2087,12 +2123,12 @@
           "type": "number"
         },
         "precision": {
-          "description": "The fraction of actual positive predictions that had positive actual\nlabels.",
+          "description": "The fraction of actual positive predictions that had positive actual labels.",
           "format": "double",
           "type": "number"
         },
         "recall": {
-          "description": "The fraction of actual positive labels that were given a positive\nprediction.",
+          "description": "The fraction of actual positive labels that were given a positive prediction.",
           "format": "double",
           "type": "number"
         },
@@ -2115,17 +2151,17 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
           "type": "string"
         }
       },
@@ -2228,7 +2264,7 @@
       "id": "CategoricalValue",
       "properties": {
         "categoryCounts": {
-          "description": "Counts of all categories for the categorical feature. If there are\nmore than ten categories, we return top ten (by count) and return\none more CategoryCount with category \"_OTHER_\" and count as\naggregate counts of remaining categories.",
+          "description": "Counts of all categories for the categorical feature. If there are more than ten categories, we return top ten (by count) and return one more CategoryCount with category \"_OTHER_\" and count as aggregate counts of remaining categories.",
           "items": {
             "$ref": "CategoryCount"
           },
@@ -2246,7 +2282,7 @@
           "type": "string"
         },
         "count": {
-          "description": "The count of training samples matching the category within the\ncluster.",
+          "description": "The count of training samples matching the category within the cluster.",
           "format": "int64",
           "type": "string"
         }
@@ -2287,7 +2323,7 @@
           "type": "string"
         },
         "clusterRadius": {
-          "description": "Cluster radius, the average distance from centroid\nto each point assigned to the cluster.",
+          "description": "Cluster radius, the average distance from centroid to each point assigned to the cluster.",
           "format": "double",
           "type": "number"
         },
@@ -2341,7 +2377,7 @@
       "id": "ConfusionMatrix",
       "properties": {
         "confidenceThreshold": {
-          "description": "Confidence threshold used when computing the entries of the\nconfusion matrix.",
+          "description": "Confidence threshold used when computing the entries of the confusion matrix.",
           "format": "double",
           "type": "number"
         },
@@ -2403,7 +2439,7 @@
       "type": "object"
     },
     "DataSplitResult": {
-      "description": "Data split result. This contains references to the training and evaluation\ndata tables that were used to train the model.",
+      "description": "Data split result. This contains references to the training and evaluation data tables that were used to train the model.",
       "id": "DataSplitResult",
       "properties": {
         "evaluationTable": {
@@ -2644,7 +2680,7 @@
           "type": "string"
         },
         "predictedLabel": {
-          "description": "The predicted label. For confidence_threshold \u003e 0, we will\nalso add an entry indicating the number of items under the\nconfidence threshold.",
+          "description": "The predicted label. For confidence_threshold \u003e 0, we will also add an entry indicating the number of items under the confidence threshold.",
           "type": "string"
         }
       },
@@ -2673,7 +2709,7 @@
       "type": "object"
     },
     "EvaluationMetrics": {
-      "description": "Evaluation metrics of a model. These are either computed on all training\ndata or just the eval data based on whether eval data was used during\ntraining. These are not present for imported models.",
+      "description": "Evaluation metrics of a model. These are either computed on all training data or just the eval data based on whether eval data was used during training. These are not present for imported models.",
       "id": "EvaluationMetrics",
       "properties": {
         "arimaForecastingMetrics": {
@@ -2698,7 +2734,7 @@
         },
         "regressionMetrics": {
           "$ref": "RegressionMetrics",
-          "description": "Populated for regression models and explicit feedback type matrix\nfactorization models."
+          "description": "Populated for regression models and explicit feedback type matrix factorization models."
         }
       },
       "type": "object"
@@ -2880,23 +2916,23 @@
       "type": "object"
     },
     "Expr": {
-      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
+      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
       "id": "Expr",
       "properties": {
         "description": {
-          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
+          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
           "type": "string"
         },
         "expression": {
-          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
+          "description": "Textual representation of an expression in Common Expression Language syntax.",
           "type": "string"
         },
         "location": {
-          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
+          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
           "type": "string"
         },
         "title": {
-          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
+          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
           "type": "string"
         }
       },
@@ -2973,7 +3009,7 @@
           "type": "string"
         },
         "numericalValue": {
-          "description": "The numerical feature value. This is the centroid value for this\nfeature.",
+          "description": "The numerical feature value. This is the centroid value for this feature.",
           "format": "double",
           "type": "number"
         }
@@ -2986,7 +3022,7 @@
       "properties": {
         "options": {
           "$ref": "GetPolicyOptions",
-          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`."
+          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`."
         }
       },
       "type": "object"
@@ -2996,7 +3032,7 @@
       "id": "GetPolicyOptions",
       "properties": {
         "requestedPolicyVersion": {
-          "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -4006,7 +4042,7 @@
       "id": "ListModelsResponse",
       "properties": {
         "models": {
-          "description": "Models in the requested dataset. Only the following fields are populated:\nmodel_reference, model_type, creation_time, last_modified_time and\nlabels.",
+          "description": "Models in the requested dataset. Only the following fields are populated: model_reference, model_type, creation_time, last_modified_time and labels.",
           "items": {
             "$ref": "Model"
           },
@@ -4027,7 +4063,7 @@
           "type": "string"
         },
         "routines": {
-          "description": "Routines in the requested dataset. Unless read_mask is set in the request,\nonly the following fields are populated:\netag, project_id, dataset_id, routine_id, routine_type, creation_time,\nlast_modified_time, and language.",
+          "description": "Routines in the requested dataset. Unless read_mask is set in the request, only the following fields are populated: etag, project_id, dataset_id, routine_id, routine_type, creation_time, last_modified_time, and language.",
           "items": {
             "$ref": "Routine"
           },
@@ -4037,11 +4073,11 @@
       "type": "object"
     },
     "LocationMetadata": {
-      "description": "BigQuery-specific metadata about a location. This will be set on\ngoogle.cloud.location.Location.metadata in Cloud Location API\nresponses.",
+      "description": "BigQuery-specific metadata about a location. This will be set on google.cloud.location.Location.metadata in Cloud Location API responses.",
       "id": "LocationMetadata",
       "properties": {
         "legacyLocationId": {
-          "description": "The legacy BigQuery location ID, e.g. “EU” for the “europe” location.\nThis is for any API consumers that need the legacy “US” and “EU” locations.",
+          "description": "The legacy BigQuery location ID, e.g. “EU” for the “europe” location. This is for any API consumers that need the legacy “US” and “EU” locations.",
           "type": "string"
         }
       },
@@ -4077,6 +4113,7 @@
         "creationTime": {
           "description": "Output only. The time when this model was created, in millisecs since the epoch.",
           "format": "int64",
+          "readOnly": true,
           "type": "string"
         },
         "description": {
@@ -4085,14 +4122,15 @@
         },
         "encryptionConfiguration": {
           "$ref": "EncryptionConfiguration",
-          "description": "Custom encryption configuration (e.g., Cloud KMS keys). This shows the\nencryption configuration of the model data while stored in BigQuery\nstorage. This field can be used with PatchModel to update encryption key\nfor an already encrypted model."
+          "description": "Custom encryption configuration (e.g., Cloud KMS keys). This shows the encryption configuration of the model data while stored in BigQuery storage. This field can be used with PatchModel to update encryption key for an already encrypted model."
         },
         "etag": {
           "description": "Output only. A hash of this resource.",
+          "readOnly": true,
           "type": "string"
         },
         "expirationTime": {
-          "description": "Optional. The time when this model expires, in milliseconds since the epoch.\nIf not present, the model will persist indefinitely. Expired models\nwill be deleted and their storage reclaimed.  The defaultTableExpirationMs\nproperty of the encapsulating dataset can be used to set a default\nexpirationTime on newly created models.",
+          "description": "Optional. The time when this model expires, in milliseconds since the epoch. If not present, the model will persist indefinitely. Expired models will be deleted and their storage reclaimed. The defaultTableExpirationMs property of the encapsulating dataset can be used to set a default expirationTime on newly created models.",
           "format": "int64",
           "type": "string"
         },
@@ -4101,6 +4139,7 @@
           "items": {
             "$ref": "StandardSqlField"
           },
+          "readOnly": true,
           "type": "array"
         },
         "friendlyName": {
@@ -4108,26 +4147,29 @@
           "type": "string"
         },
         "labelColumns": {
-          "description": "Output only. Label columns that were used to train this model.\nThe output of the model will have a \"predicted_\" prefix to these columns.",
+          "description": "Output only. Label columns that were used to train this model. The output of the model will have a \"predicted_\" prefix to these columns.",
           "items": {
             "$ref": "StandardSqlField"
           },
+          "readOnly": true,
           "type": "array"
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The labels associated with this model. You can use these to organize\nand group your models. Label keys and values can be no longer\nthan 63 characters, can only contain lowercase letters, numeric\ncharacters, underscores and dashes. International characters are allowed.\nLabel values are optional. Label keys must start with a letter and each\nlabel in the list must have a different key.",
+          "description": "The labels associated with this model. You can use these to organize and group your models. Label keys and values can be no longer than 63 characters, can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter and each label in the list must have a different key.",
           "type": "object"
         },
         "lastModifiedTime": {
           "description": "Output only. The time when this model was last modified, in millisecs since the epoch.",
           "format": "int64",
+          "readOnly": true,
           "type": "string"
         },
         "location": {
-          "description": "Output only. The geographic location where the model resides. This value\nis inherited from the dataset.",
+          "description": "Output only. The geographic location where the model resides. This value is inherited from the dataset.",
+          "readOnly": true,
           "type": "string"
         },
         "modelReference": {
@@ -4166,6 +4208,7 @@
             "[Beta] AutoML Tables regression model.",
             "[Beta] AutoML Tables classification model."
           ],
+          "readOnly": true,
           "type": "string"
         },
         "trainingRuns": {
@@ -4173,6 +4216,7 @@
           "items": {
             "$ref": "TrainingRun"
           },
+          "readOnly": true,
           "type": "array"
         }
       },
@@ -4246,7 +4290,7 @@
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\n            \"user:eve@example.com\"\n          ],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "auditConfigs": {
@@ -4257,19 +4301,19 @@
           "type": "array"
         },
         "bindings": {
-          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
+          "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.",
           "items": {
             "$ref": "Binding"
           },
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
           "format": "byte",
           "type": "string"
         },
         "version": {
-          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -4631,26 +4675,26 @@
       "type": "object"
     },
     "RankingMetrics": {
-      "description": "Evaluation metrics used by weighted-ALS models specified by\nfeedback_type=implicit.",
+      "description": "Evaluation metrics used by weighted-ALS models specified by feedback_type=implicit.",
       "id": "RankingMetrics",
       "properties": {
         "averageRank": {
-          "description": "Determines the goodness of a ranking by computing the percentile rank\nfrom the predicted confidence and dividing it by the original rank.",
+          "description": "Determines the goodness of a ranking by computing the percentile rank from the predicted confidence and dividing it by the original rank.",
           "format": "double",
           "type": "number"
         },
         "meanAveragePrecision": {
-          "description": "Calculates a precision per user for all the items by ranking them and\nthen averages all the precisions across all the users.",
+          "description": "Calculates a precision per user for all the items by ranking them and then averages all the precisions across all the users.",
           "format": "double",
           "type": "number"
         },
         "meanSquaredError": {
-          "description": "Similar to the mean squared error computed in regression and explicit\nrecommendation models except instead of computing the rating directly,\nthe output from evaluate is computed against a preference which is 1 or 0\ndepending on if the rating exists or not.",
+          "description": "Similar to the mean squared error computed in regression and explicit recommendation models except instead of computing the rating directly, the output from evaluate is computed against a preference which is 1 or 0 depending on if the rating exists or not.",
           "format": "double",
           "type": "number"
         },
         "normalizedDiscountedCumulativeGain": {
-          "description": "A metric to determine the goodness of a ranking calculated from the\npredicted confidence by comparing it to an ideal rank measured by the\noriginal ratings.",
+          "description": "A metric to determine the goodness of a ranking calculated from the predicted confidence by comparing it to an ideal rank measured by the original ratings.",
           "format": "double",
           "type": "number"
         }
@@ -4658,7 +4702,7 @@
       "type": "object"
     },
     "RegressionMetrics": {
-      "description": "Evaluation metrics for regression and explicit feedback type matrix\nfactorization models.",
+      "description": "Evaluation metrics for regression and explicit feedback type matrix factorization models.",
       "id": "RegressionMetrics",
       "properties": {
         "meanAbsoluteError": {
@@ -4701,12 +4745,13 @@
           "type": "array"
         },
         "creationTime": {
-          "description": "Output only. The time when this routine was created, in milliseconds since\nthe epoch.",
+          "description": "Output only. The time when this routine was created, in milliseconds since the epoch.",
           "format": "int64",
+          "readOnly": true,
           "type": "string"
         },
         "definitionBody": {
-          "description": "Required. The body of the routine.\n\nFor functions, this is the expression in the AS clause.\n\nIf language=SQL, it is the substring inside (but excluding) the\nparentheses. For example, for the function created with the following\nstatement:\n\n`CREATE FUNCTION JoinLines(x string, y string) as (concat(x, \"\\n\", y))`\n\nThe definition_body is `concat(x, \"\\n\", y)` (\\n is not replaced with\nlinebreak).\n\nIf language=JAVASCRIPT, it is the evaluated string in the AS clause.\nFor example, for the function created with the following statement:\n\n`CREATE FUNCTION f() RETURNS STRING LANGUAGE js AS 'return \"\\n\";\\n'`\n\nThe definition_body is\n\n`return \"\\n\";\\n`\n\nNote that both \\n are replaced with linebreaks.",
+          "description": "Required. The body of the routine. For functions, this is the expression in the AS clause. If language=SQL, it is the substring inside (but excluding) the parentheses. For example, for the function created with the following statement: `CREATE FUNCTION JoinLines(x string, y string) as (concat(x, \"\\n\", y))` The definition_body is `concat(x, \"\\n\", y)` (\\n is not replaced with linebreak). If language=JAVASCRIPT, it is the evaluated string in the AS clause. For example, for the function created with the following statement: `CREATE FUNCTION f() RETURNS STRING LANGUAGE js AS 'return \"\\n\";\\n'` The definition_body is `return \"\\n\";\\n` Note that both \\n are replaced with linebreaks.",
           "type": "string"
         },
         "description": {
@@ -4722,17 +4767,18 @@
           ],
           "enumDescriptions": [
             "The determinism of the UDF is unspecified.",
-            "The UDF is deterministic, meaning that 2 function calls with the same\ninputs always produce the same result, even across 2 query runs.",
+            "The UDF is deterministic, meaning that 2 function calls with the same inputs always produce the same result, even across 2 query runs.",
             "The UDF is not deterministic."
           ],
           "type": "string"
         },
         "etag": {
           "description": "Output only. A hash of this resource.",
+          "readOnly": true,
           "type": "string"
         },
         "importedLibraries": {
-          "description": "Optional. If language = \"JAVASCRIPT\", this field stores the path of the\nimported JAVASCRIPT libraries.",
+          "description": "Optional. If language = \"JAVASCRIPT\", this field stores the path of the imported JAVASCRIPT libraries.",
           "items": {
             "type": "string"
           },
@@ -4753,13 +4799,14 @@
           "type": "string"
         },
         "lastModifiedTime": {
-          "description": "Output only. The time when this routine was last modified, in milliseconds\nsince the epoch.",
+          "description": "Output only. The time when this routine was last modified, in milliseconds since the epoch.",
           "format": "int64",
+          "readOnly": true,
           "type": "string"
         },
         "returnType": {
           "$ref": "StandardSqlDataType",
-          "description": "Optional if language = \"SQL\"; required otherwise.\n\nIf absent, the return type is inferred from definition_body at query time\nin each query that references this routine. If present, then the evaluated\nresult will be cast to the specified returned type at query time.\n\nFor example, for the functions created with the following statements:\n\n* `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);`\n\n* `CREATE FUNCTION Increment(x FLOAT64) AS (Add(x, 1));`\n\n* `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64 AS (Add(x, -1));`\n\nThe return_type is `{type_kind: \"FLOAT64\"}` for `Add` and `Decrement`, and\nis absent for `Increment` (inferred as FLOAT64 at query time).\n\nSuppose the function `Add` is replaced by\n  `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);`\n\nThen the inferred return type of `Increment` is automatically changed to\nINT64 at query time, while the return type of `Decrement` remains FLOAT64."
+          "description": "Optional if language = \"SQL\"; required otherwise. If absent, the return type is inferred from definition_body at query time in each query that references this routine. If present, then the evaluated result will be cast to the specified returned type at query time. For example, for the functions created with the following statements: * `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x + y);` * `CREATE FUNCTION Increment(x FLOAT64) AS (Add(x, 1));` * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64 AS (Add(x, -1));` The return_type is `{type_kind: \"FLOAT64\"}` for `Add` and `Decrement`, and is absent for `Increment` (inferred as FLOAT64 at query time). Suppose the function `Add` is replaced by `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);` Then the inferred return type of `Increment` is automatically changed to INT64 at query time, while the return type of `Decrement` remains FLOAT64."
         },
         "routineReference": {
           "$ref": "RoutineReference",
@@ -4907,10 +4954,10 @@
       "properties": {
         "policy": {
           "$ref": "Policy",
-          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
+          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them."
         },
         "updateMask": {
-          "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`",
+          "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`",
           "format": "google-fieldmask",
           "type": "string"
         }
@@ -4933,7 +4980,7 @@
       "type": "object"
     },
     "StandardSqlDataType": {
-      "description": "The type of a variable, e.g., a function argument.\nExamples:\nINT64: {type_kind=\"INT64\"}\nARRAY\u003cSTRING\u003e: {type_kind=\"ARRAY\", array_element_type=\"STRING\"}\nSTRUCT\u003cx STRING, y ARRAY\u003cDATE\u003e\u003e:\n  {type_kind=\"STRUCT\",\n   struct_type={fields=[\n     {name=\"x\", type={type_kind=\"STRING\"}},\n     {name=\"y\", type={type_kind=\"ARRAY\", array_element_type=\"DATE\"}}\n   ]}}",
+      "description": "The type of a variable, e.g., a function argument. Examples: INT64: {type_kind=\"INT64\"} ARRAY: {type_kind=\"ARRAY\", array_element_type=\"STRING\"} STRUCT\u003e: {type_kind=\"STRUCT\", struct_type={fields=[ {name=\"x\", type={type_kind=\"STRING\"}}, {name=\"y\", type={type_kind=\"ARRAY\", array_element_type=\"DATE\"}} ]}}",
       "id": "StandardSqlDataType",
       "properties": {
         "arrayElementType": {
@@ -4945,7 +4992,7 @@
           "description": "The fields of this struct, in order, if type_kind = \"STRUCT\"."
         },
         "typeKind": {
-          "description": "Required. The top level type of this field.\nCan be any standard SQL data type (e.g., \"INT64\", \"DATE\", \"ARRAY\").",
+          "description": "Required. The top level type of this field. Can be any standard SQL data type (e.g., \"INT64\", \"DATE\", \"ARRAY\").",
           "enum": [
             "TYPE_KIND_UNSPECIFIED",
             "INT64",
@@ -4970,7 +5017,7 @@
             "Encoded as a number, or string \"NaN\", \"Infinity\" or \"-Infinity\".",
             "Encoded as a string value.",
             "Encoded as a base64 string per RFC 4648, section 4.",
-            "Encoded as an RFC 3339 timestamp with mandatory \"Z\" time zone string:\n1985-04-12T23:20:50.52Z",
+            "Encoded as an RFC 3339 timestamp with mandatory \"Z\" time zone string: 1985-04-12T23:20:50.52Z",
             "Encoded as RFC 3339 full-date format string: 1985-04-12",
             "Encoded as RFC 3339 partial-time format string: 23:20:50.52",
             "Encoded as RFC 3339 full-date \"T\" partial-time: 1985-04-12T23:20:50.52",
@@ -4978,7 +5025,7 @@
             "Encoded as a decimal string.",
             "Encoded as a decimal string.",
             "Encoded as a list with types matching Type.array_type.",
-            "Encoded as a list with fields of type Type.struct_type[i]. List is used\nbecause a JSON object cannot have duplicate field names."
+            "Encoded as a list with fields of type Type.struct_type[i]. List is used because a JSON object cannot have duplicate field names."
           ],
           "type": "string"
         }
@@ -4995,7 +5042,7 @@
         },
         "type": {
           "$ref": "StandardSqlDataType",
-          "description": "Optional. The type of this parameter. Absent if not explicitly\nspecified (e.g., CREATE FUNCTION statement can omit the return type;\nin this case the output parameter does not have this \"type\" field)."
+          "description": "Optional. The type of this parameter. Absent if not explicitly specified (e.g., CREATE FUNCTION statement can omit the return type; in this case the output parameter does not have this \"type\" field)."
         }
       },
       "type": "object"
@@ -5490,7 +5537,7 @@
       "id": "TestIamPermissionsRequest",
       "properties": {
         "permissions": {
-          "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
+          "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
           "items": {
             "type": "string"
           },
@@ -5504,7 +5551,7 @@
       "id": "TestIamPermissionsResponse",
       "properties": {
         "permissions": {
-          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
+          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
           "items": {
             "type": "string"
           },
@@ -5542,6 +5589,11 @@
           "description": "Whether to enable auto ARIMA or not.",
           "type": "boolean"
         },
+        "autoArimaMaxOrder": {
+          "description": "The max value of non-seasonal p and q.",
+          "format": "int64",
+          "type": "string"
+        },
         "batchSize": {
           "description": "Batch size for dnn models.",
           "format": "int64",
@@ -5572,11 +5624,11 @@
           "type": "string"
         },
         "dataSplitColumn": {
-          "description": "The column to split data with. This column won't be used as a\nfeature.\n1. When data_split_method is CUSTOM, the corresponding column should\nbe boolean. The rows with true value tag are eval data, and the false\nare training data.\n2. When data_split_method is SEQ, the first DATA_SPLIT_EVAL_FRACTION\nrows (from smallest to largest) in the corresponding column are used\nas training data, and the rest are eval data. It respects the order\nin Orderable data types:\nhttps://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#data-type-properties",
+          "description": "The column to split data with. This column won't be used as a feature. 1. When data_split_method is CUSTOM, the corresponding column should be boolean. The rows with true value tag are eval data, and the false are training data. 2. When data_split_method is SEQ, the first DATA_SPLIT_EVAL_FRACTION rows (from smallest to largest) in the corresponding column are used as training data, and the rest are eval data. It respects the order in Orderable data types: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#data-type-properties",
           "type": "string"
         },
         "dataSplitEvalFraction": {
-          "description": "The fraction of evaluation data over the whole input data. The rest\nof data will be used as training data. The format should be double.\nAccurate to two decimal places.\nDefault value is 0.2.",
+          "description": "The fraction of evaluation data over the whole input data. The rest of data will be used as training data. The format should be double. Accurate to two decimal places. Default value is 0.2.",
           "format": "double",
           "type": "number"
         },
@@ -5596,7 +5648,7 @@
             "Splits data with the user provided tags.",
             "Splits data sequentially.",
             "Data split will be skipped.",
-            "Splits data automatically: Uses NO_SPLIT if the data size is small.\nOtherwise uses RANDOM."
+            "Splits data automatically: Uses NO_SPLIT if the data size is small. Otherwise uses RANDOM."
           ],
           "type": "string"
         },
@@ -5620,11 +5672,11 @@
           "type": "number"
         },
         "earlyStop": {
-          "description": "Whether to stop early when the loss doesn't improve significantly\nany more (compared to min_relative_progress). Used only for iterative\ntraining algorithms.",
+          "description": "Whether to stop early when the loss doesn't improve significantly any more (compared to min_relative_progress). Used only for iterative training algorithms.",
           "type": "boolean"
         },
         "feedbackType": {
-          "description": "Feedback type that specifies which algorithm to run for matrix\nfactorization.",
+          "description": "Feedback type that specifies which algorithm to run for matrix factorization.",
           "enum": [
             "FEEDBACK_TYPE_UNSPECIFIED",
             "IMPLICIT",
@@ -5646,7 +5698,7 @@
           "type": "array"
         },
         "holidayRegion": {
-          "description": "The geographical region based on which the holidays are considered in\ntime series modeling. If a valid value is specified, then holiday\neffects modeling is enabled.",
+          "description": "The geographical region based on which the holidays are considered in time series modeling. If a valid value is specified, then holiday effects modeling is enabled.",
           "enum": [
             "HOLIDAY_REGION_UNSPECIFIED",
             "GLOBAL",
@@ -5722,7 +5774,7 @@
             "Holiday region unspecified.",
             "Global.",
             "North America.",
-            "Japan and Asia Pacific: Korea, Greater China, India, Australia, and New\nZealand.",
+            "Japan and Asia Pacific: Korea, Greater China, India, Australia, and New Zealand.",
             "Europe, the Middle East and Africa.",
             "Latin America and the Caribbean.",
             "United Arab Emirates",
@@ -5801,7 +5853,7 @@
           "type": "boolean"
         },
         "initialLearnRate": {
-          "description": "Specifies the initial learning rate for the line search learn rate\nstrategy.",
+          "description": "Specifies the initial learning rate for the line search learn rate strategy.",
           "format": "double",
           "type": "number"
         },
@@ -5817,7 +5869,7 @@
           "type": "string"
         },
         "kmeansInitializationColumn": {
-          "description": "The column used to provide the initial centroids for kmeans algorithm\nwhen kmeans_initialization_method is CUSTOM.",
+          "description": "The column used to provide the initial centroids for kmeans algorithm when kmeans_initialization_method is CUSTOM.",
           "type": "string"
         },
         "kmeansInitializationMethod": {
@@ -5831,7 +5883,7 @@
           "enumDescriptions": [
             "",
             "Initializes the centroids randomly.",
-            "Initializes the centroids using data specified in\nkmeans_initialization_column.",
+            "Initializes the centroids using data specified in kmeans_initialization_column.",
             "Initializes with kmeans++."
           ],
           "type": "string"
@@ -5851,7 +5903,7 @@
             "format": "double",
             "type": "number"
           },
-          "description": "Weights associated with each label class, for rebalancing the\ntraining data. Only applicable for classification models.",
+          "description": "Weights associated with each label class, for rebalancing the training data. Only applicable for classification models.",
           "type": "object"
         },
         "learnRate": {
@@ -5888,7 +5940,7 @@
           "type": "string"
         },
         "maxIterations": {
-          "description": "The maximum number of iterations in training. Used only for iterative\ntraining algorithms.",
+          "description": "The maximum number of iterations in training. Used only for iterative training algorithms.",
           "format": "int64",
           "type": "string"
         },
@@ -5898,7 +5950,7 @@
           "type": "string"
         },
         "minRelativeProgress": {
-          "description": "When early_stop is true, stops training when accuracy improvement is\nless than 'min_relative_progress'. Used only for iterative training\nalgorithms.",
+          "description": "When early_stop is true, stops training when accuracy improvement is less than 'min_relative_progress'. Used only for iterative training algorithms.",
           "format": "double",
           "type": "number"
         },
@@ -5908,12 +5960,12 @@
           "type": "number"
         },
         "modelUri": {
-          "description": "[Beta] Google Cloud Storage URI from which the model was imported. Only\napplicable for imported models.",
+          "description": "[Beta] Google Cloud Storage URI from which the model was imported. Only applicable for imported models.",
           "type": "string"
         },
         "nonSeasonalOrder": {
           "$ref": "ArimaOrder",
-          "description": "A specification of the non-seasonal part of the ARIMA model: the three\ncomponents (p, d, q) are the AR order, the degree of differencing, and\nthe MA order."
+          "description": "A specification of the non-seasonal part of the ARIMA model: the three components (p, d, q) are the AR order, the degree of differencing, and the MA order."
         },
         "numClusters": {
           "description": "Number of clusters for clustering models.",
@@ -5940,11 +5992,11 @@
           "type": "string"
         },
         "preserveInputStructs": {
-          "description": "Whether to preserve the input structs in output feature names.\nSuppose there is a struct A with field b.\nWhen false (default), the output feature name is A_b.\nWhen true, the output feature name is A.b.",
+          "description": "Whether to preserve the input structs in output feature names. Suppose there is a struct A with field b. When false (default), the output feature name is A_b. When true, the output feature name is A.b.",
           "type": "boolean"
         },
         "subsample": {
-          "description": "Subsample fraction of the training data to grow tree to prevent\noverfitting for boosted tree models.",
+          "description": "Subsample fraction of the training data to grow tree to prevent overfitting for boosted tree models.",
           "format": "double",
           "type": "number"
         },
@@ -5953,7 +6005,7 @@
           "type": "string"
         },
         "timeSeriesIdColumn": {
-          "description": "The id column that will be used to indicate different time series to\nforecast in parallel.",
+          "description": "The id column that will be used to indicate different time series to forecast in parallel.",
           "type": "string"
         },
         "timeSeriesTimestampColumn": {
@@ -5965,7 +6017,7 @@
           "type": "string"
         },
         "walsAlpha": {
-          "description": "Hyperparameter for matrix factoration when implicit feedback type is\nspecified.",
+          "description": "Hyperparameter for matrix factoration when implicit feedback type is specified.",
           "format": "double",
           "type": "number"
         },
@@ -5982,11 +6034,11 @@
       "properties": {
         "dataSplitResult": {
           "$ref": "DataSplitResult",
-          "description": "Data split result of the training run. Only set when the input data is\nactually split."
+          "description": "Data split result of the training run. Only set when the input data is actually split."
         },
         "evaluationMetrics": {
           "$ref": "EvaluationMetrics",
-          "description": "The evaluation metrics over training/eval data that were computed at the\nend of training."
+          "description": "The evaluation metrics over training/eval data that were computed at the end of training."
         },
         "results": {
           "description": "Output of each iteration run, results.size() \u003c= max_iterations.",
@@ -6002,7 +6054,7 @@
         },
         "trainingOptions": {
           "$ref": "TrainingOptions",
-          "description": "Options that were used for this training run, includes\nuser specified and default options that were used."
+          "description": "Options that were used for this training run, includes user specified and default options that were used."
         }
       },
       "type": "object"
diff --git a/bigquery/v2/bigquery-gen.go b/bigquery/v2/bigquery-gen.go
index 25ee235..3f3a6c6 100644
--- a/bigquery/v2/bigquery-gen.go
+++ b/bigquery/v2/bigquery-gen.go
@@ -249,25 +249,19 @@
 }
 
 // AggregateClassificationMetrics: Aggregate metrics for
-// classification/classifier models. For multi-class
-// models, the metrics are either macro-averaged or micro-averaged.
-// When
-// macro-averaged, the metrics are calculated for each label and then
-// an
-// unweighted average is taken of those values. When micro-averaged,
-// the
-// metric is calculated globally by counting the total number of
-// correctly
+// classification/classifier models. For multi-class models, the metrics
+// are either macro-averaged or micro-averaged. When macro-averaged, the
+// metrics are calculated for each label and then an unweighted average
+// is taken of those values. When micro-averaged, the metric is
+// calculated globally by counting the total number of correctly
 // predicted rows.
 type AggregateClassificationMetrics struct {
 	// Accuracy: Accuracy is the fraction of predictions given the correct
-	// label. For
-	// multiclass this is a micro-averaged metric.
+	// label. For multiclass this is a micro-averaged metric.
 	Accuracy float64 `json:"accuracy,omitempty"`
 
 	// F1Score: The F1 score is an average of recall and precision. For
-	// multiclass
-	// this is a macro-averaged metric.
+	// multiclass this is a macro-averaged metric.
 	F1Score float64 `json:"f1Score,omitempty"`
 
 	// LogLoss: Logarithmic Loss. For multiclass this is a macro-averaged
@@ -275,28 +269,22 @@
 	LogLoss float64 `json:"logLoss,omitempty"`
 
 	// Precision: Precision is the fraction of actual positive predictions
-	// that had
-	// positive actual labels. For multiclass this is a
-	// macro-averaged
-	// metric treating each class as a binary classifier.
+	// that had positive actual labels. For multiclass this is a
+	// macro-averaged metric treating each class as a binary classifier.
 	Precision float64 `json:"precision,omitempty"`
 
 	// Recall: Recall is the fraction of actual positive labels that were
-	// given a
-	// positive prediction. For multiclass this is a macro-averaged metric.
+	// given a positive prediction. For multiclass this is a macro-averaged
+	// metric.
 	Recall float64 `json:"recall,omitempty"`
 
 	// RocAuc: Area Under a ROC Curve. For multiclass this is a
-	// macro-averaged
-	// metric.
+	// macro-averaged metric.
 	RocAuc float64 `json:"rocAuc,omitempty"`
 
-	// Threshold: Threshold at which the metrics are computed. For
-	// binary
-	// classification models this is the positive class threshold.
-	// For multi-class classfication models this is the
-	// confidence
-	// threshold.
+	// Threshold: Threshold at which the metrics are computed. For binary
+	// classification models this is the positive class threshold. For
+	// multi-class classfication models this is the confidence threshold.
 	Threshold float64 `json:"threshold,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Accuracy") to
@@ -355,18 +343,15 @@
 	// Possible values:
 	//   "ARGUMENT_KIND_UNSPECIFIED"
 	//   "FIXED_TYPE" - The argument is a variable with fully specified
-	// type, which can be a
-	// struct or an array, but not a table.
+	// type, which can be a struct or an array, but not a table.
 	//   "ANY_TYPE" - The argument is any type, including struct or array,
-	// but not a table.
-	// To be added: FIXED_TABLE, ANY_TABLE
+	// but not a table. To be added: FIXED_TABLE, ANY_TABLE
 	ArgumentKind string `json:"argumentKind,omitempty"`
 
 	// DataType: Required unless argument_kind = ANY_TYPE.
 	DataType *StandardSqlDataType `json:"dataType,omitempty"`
 
-	// Mode: Optional. Specifies whether the argument is input or
-	// output.
+	// Mode: Optional. Specifies whether the argument is input or output.
 	// Can be set for procedures only.
 	//
 	// Possible values:
@@ -515,21 +500,19 @@
 	ArimaFittingMetrics []*ArimaFittingMetrics `json:"arimaFittingMetrics,omitempty"`
 
 	// ArimaSingleModelForecastingMetrics: Repeated as there can be many
-	// metric sets (one for each model) in
-	// auto-arima and the large-scale case.
+	// metric sets (one for each model) in auto-arima and the large-scale
+	// case.
 	ArimaSingleModelForecastingMetrics []*ArimaSingleModelForecastingMetrics `json:"arimaSingleModelForecastingMetrics,omitempty"`
 
 	// HasDrift: Whether Arima model fitted with drift or not. It is always
-	// false when d
-	// is not 1.
+	// false when d is not 1.
 	HasDrift []bool `json:"hasDrift,omitempty"`
 
 	// NonSeasonalOrder: Non-seasonal order.
 	NonSeasonalOrder []*ArimaOrder `json:"nonSeasonalOrder,omitempty"`
 
 	// SeasonalPeriods: Seasonal periods. Repeated because multiple periods
-	// are supported for one
-	// time series.
+	// are supported for one time series.
 	//
 	// Possible values:
 	//   "SEASONAL_PERIOD_TYPE_UNSPECIFIED"
@@ -578,16 +561,14 @@
 	ArimaFittingMetrics *ArimaFittingMetrics `json:"arimaFittingMetrics,omitempty"`
 
 	// HasDrift: Whether Arima model fitted with drift or not. It is always
-	// false
-	// when d is not 1.
+	// false when d is not 1.
 	HasDrift bool `json:"hasDrift,omitempty"`
 
 	// NonSeasonalOrder: Non-seasonal order.
 	NonSeasonalOrder *ArimaOrder `json:"nonSeasonalOrder,omitempty"`
 
 	// SeasonalPeriods: Seasonal periods. Repeated because multiple periods
-	// are supported
-	// for one time series.
+	// are supported for one time series.
 	//
 	// Possible values:
 	//   "SEASONAL_PERIOD_TYPE_UNSPECIFIED"
@@ -662,17 +643,16 @@
 }
 
 // ArimaResult: (Auto-)arima fitting result. Wrap everything in
-// ArimaResult for easier
-// refactoring if we want to use model-specific iteration results.
+// ArimaResult for easier refactoring if we want to use model-specific
+// iteration results.
 type ArimaResult struct {
 	// ArimaModelInfo: This message is repeated because there are multiple
-	// arima models
-	// fitted in auto-arima. For non-auto-arima model, its size is one.
+	// arima models fitted in auto-arima. For non-auto-arima model, its size
+	// is one.
 	ArimaModelInfo []*ArimaModelInfo `json:"arimaModelInfo,omitempty"`
 
 	// SeasonalPeriods: Seasonal periods. Repeated because multiple periods
-	// are supported for
-	// one time series.
+	// are supported for one time series.
 	//
 	// Possible values:
 	//   "SEASONAL_PERIOD_TYPE_UNSPECIFIED"
@@ -715,16 +695,14 @@
 	ArimaFittingMetrics *ArimaFittingMetrics `json:"arimaFittingMetrics,omitempty"`
 
 	// HasDrift: Is arima model fitted with drift or not. It is always false
-	// when d
-	// is not 1.
+	// when d is not 1.
 	HasDrift bool `json:"hasDrift,omitempty"`
 
 	// NonSeasonalOrder: Non-seasonal order.
 	NonSeasonalOrder *ArimaOrder `json:"nonSeasonalOrder,omitempty"`
 
 	// SeasonalPeriods: Seasonal periods. Repeated because multiple periods
-	// are supported
-	// for one time series.
+	// are supported for one time series.
 	//
 	// Possible values:
 	//   "SEASONAL_PERIOD_TYPE_UNSPECIFIED"
@@ -763,72 +741,31 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// AuditConfig: Specifies the audit configuration for a service.
-// The configuration determines which permission types are logged, and
-// what
-// identities, if any, are exempted from logging.
-// An AuditConfig must have one or more AuditLogConfigs.
-//
-// If there are AuditConfigs for both `allServices` and a specific
-// service,
-// the union of the two AuditConfigs is used for that service: the
-// log_types
-// specified in each AuditConfig are enabled, and the exempted_members
-// in each
-// AuditLogConfig are exempted.
-//
-// Example Policy with multiple AuditConfigs:
-//
-//     {
-//       "audit_configs": [
-//         {
-//           "service": "allServices",
-//           "audit_log_configs": [
-//             {
-//               "log_type": "DATA_READ",
-//               "exempted_members": [
-//                 "user:jose@example.com"
-//               ]
-//             },
-//             {
-//               "log_type": "DATA_WRITE"
-//             },
-//             {
-//               "log_type": "ADMIN_READ"
-//             }
-//           ]
-//         },
-//         {
-//           "service": "sampleservice.googleapis.com",
-//           "audit_log_configs": [
-//             {
-//               "log_type": "DATA_READ"
-//             },
-//             {
-//               "log_type": "DATA_WRITE",
-//               "exempted_members": [
-//                 "user:aliya@example.com"
-//               ]
-//             }
-//           ]
-//         }
-//       ]
-//     }
-//
-// For sampleservice, this policy enables DATA_READ, DATA_WRITE and
-// ADMIN_READ
-// logging. It also exempts jose@example.com from DATA_READ logging,
-// and
-// aliya@example.com from DATA_WRITE logging.
+// AuditConfig: Specifies the audit configuration for a service. The
+// configuration determines which permission types are logged, and what
+// identities, if any, are exempted from logging. An AuditConfig must
+// have one or more AuditLogConfigs. If there are AuditConfigs for both
+// `allServices` and a specific service, the union of the two
+// AuditConfigs is used for that service: the log_types specified in
+// each AuditConfig are enabled, and the exempted_members in each
+// AuditLogConfig are exempted. Example Policy with multiple
+// AuditConfigs: { "audit_configs": [ { "service": "allServices",
+// "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members":
+// [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, {
+// "log_type": "ADMIN_READ" } ] }, { "service":
+// "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type":
+// "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [
+// "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy
+// enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts
+// jose@example.com from DATA_READ logging, and aliya@example.com from
+// DATA_WRITE logging.
 type AuditConfig struct {
 	// AuditLogConfigs: The configuration for logging of each type of
 	// permission.
 	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
 
-	// Service: Specifies a service that will be enabled for audit
-	// logging.
-	// For example, `storage.googleapis.com`,
-	// `cloudsql.googleapis.com`.
+	// Service: Specifies a service that will be enabled for audit logging.
+	// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
 	// `allServices` is a special value that covers all services.
 	Service string `json:"service,omitempty"`
 
@@ -857,31 +794,15 @@
 }
 
 // AuditLogConfig: Provides the configuration for logging a type of
-// permissions.
-// Example:
-//
-//     {
-//       "audit_log_configs": [
-//         {
-//           "log_type": "DATA_READ",
-//           "exempted_members": [
-//             "user:jose@example.com"
-//           ]
-//         },
-//         {
-//           "log_type": "DATA_WRITE"
-//         }
-//       ]
-//     }
-//
-// This enables 'DATA_READ' and 'DATA_WRITE' logging, while
-// exempting
-// jose@example.com from DATA_READ logging.
+// permissions. Example: { "audit_log_configs": [ { "log_type":
+// "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, {
+// "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and
+// 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ
+// logging.
 type AuditLogConfig struct {
 	// ExemptedMembers: Specifies the identities that do not cause logging
-	// for this type of
-	// permission.
-	// Follows the same format of Binding.members.
+	// for this type of permission. Follows the same format of
+	// Binding.members.
 	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
 
 	// LogType: The log type that this config enables.
@@ -1183,13 +1104,11 @@
 	PositiveClassThreshold float64 `json:"positiveClassThreshold,omitempty"`
 
 	// Precision: The fraction of actual positive predictions that had
-	// positive actual
-	// labels.
+	// positive actual labels.
 	Precision float64 `json:"precision,omitempty"`
 
 	// Recall: The fraction of actual positive labels that were given a
-	// positive
-	// prediction.
+	// positive prediction.
 	Recall float64 `json:"recall,omitempty"`
 
 	// TrueNegatives: Number of true samples predicted as false.
@@ -1245,95 +1164,53 @@
 
 // Binding: Associates `members` with a `role`.
 type Binding struct {
-	// Condition: The condition that is associated with this binding.
-	//
-	// If the condition evaluates to `true`, then this binding applies to
-	// the
-	// current request.
-	//
-	// If the condition evaluates to `false`, then this binding does not
-	// apply to
-	// the current request. However, a different role binding might grant
-	// the same
-	// role to one or more of the members in this binding.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// Condition: The condition that is associated with this binding. If the
+	// condition evaluates to `true`, then this binding applies to the
+	// current request. If the condition evaluates to `false`, then this
+	// binding does not apply to the current request. However, a different
+	// role binding might grant the same role to one or more of the members
+	// in this binding. To learn which resources support conditions in their
+	// IAM policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	Condition *Expr `json:"condition,omitempty"`
 
 	// Members: Specifies the identities requesting access for a Cloud
-	// Platform resource.
-	// `members` can have the following values:
-	//
-	// * `allUsers`: A special identifier that represents anyone who is
-	//    on the internet; with or without a Google account.
-	//
-	// * `allAuthenticatedUsers`: A special identifier that represents
-	// anyone
-	//    who is authenticated with a Google account or a service
-	// account.
-	//
-	// * `user:{emailid}`: An email address that represents a specific
-	// Google
-	//    account. For example, `alice@example.com` .
-	//
-	//
-	// * `serviceAccount:{emailid}`: An email address that represents a
-	// service
-	//    account. For example,
-	// `my-other-app@appspot.gserviceaccount.com`.
-	//
-	// * `group:{emailid}`: An email address that represents a Google
-	// group.
-	//    For example, `admins@example.com`.
-	//
-	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a user that has been recently deleted.
-	// For
-	//    example, `alice@example.com?uid=123456789012345678901`. If the
-	// user is
-	//    recovered, this value reverts to `user:{emailid}` and the
-	// recovered user
-	//    retains the role in the binding.
-	//
-	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
-	// (plus
-	//    unique identifier) representing a service account that has been
-	// recently
-	//    deleted. For example,
-	//
+	// Platform resource. `members` can have the following values: *
+	// `allUsers`: A special identifier that represents anyone who is on the
+	// internet; with or without a Google account. *
+	// `allAuthenticatedUsers`: A special identifier that represents anyone
+	// who is authenticated with a Google account or a service account. *
+	// `user:{emailid}`: An email address that represents a specific Google
+	// account. For example, `alice@example.com` . *
+	// `serviceAccount:{emailid}`: An email address that represents a
+	// service account. For example,
+	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
+	// email address that represents a Google group. For example,
+	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
+	// email address (plus unique identifier) representing a user that has
+	// been recently deleted. For example,
+	// `alice@example.com?uid=123456789012345678901`. If the user is
+	// recovered, this value reverts to `user:{emailid}` and the recovered
+	// user retains the role in the binding. *
+	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
+	// (plus unique identifier) representing a service account that has been
+	// recently deleted. For example,
 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
-	//
-	//    If the service account is undeleted, this value reverts to
-	//    `serviceAccount:{emailid}` and the undeleted service account
-	// retains the
-	//    role in the binding.
-	//
-	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a Google group that has been recently
-	//    deleted. For example,
-	// `admins@example.com?uid=123456789012345678901`. If
-	//    the group is recovered, this value reverts to `group:{emailid}`
-	// and the
-	//    recovered group retains the role in the binding.
-	//
-	//
-	// * `domain:{domain}`: The G Suite domain (primary) that represents all
-	// the
-	//    users of that domain. For example, `google.com` or
-	// `example.com`.
-	//
-	//
+	// If the service account is undeleted, this value reverts to
+	// `serviceAccount:{emailid}` and the undeleted service account retains
+	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
+	// An email address (plus unique identifier) representing a Google group
+	// that has been recently deleted. For example,
+	// `admins@example.com?uid=123456789012345678901`. If the group is
+	// recovered, this value reverts to `group:{emailid}` and the recovered
+	// group retains the role in the binding. * `domain:{domain}`: The G
+	// Suite domain (primary) that represents all the users of that domain.
+	// For example, `google.com` or `example.com`.
 	Members []string `json:"members,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`.
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -1546,10 +1423,9 @@
 // CategoricalValue: Representative value of a categorical feature.
 type CategoricalValue struct {
 	// CategoryCounts: Counts of all categories for the categorical feature.
-	// If there are
-	// more than ten categories, we return top ten (by count) and return
-	// one more CategoryCount with category "_OTHER_" and count as
-	// aggregate counts of remaining categories.
+	// If there are more than ten categories, we return top ten (by count)
+	// and return one more CategoryCount with category "_OTHER_" and count
+	// as aggregate counts of remaining categories.
 	CategoryCounts []*CategoryCount `json:"categoryCounts,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CategoryCounts") to
@@ -1582,8 +1458,7 @@
 	// Category: The name of category.
 	Category string `json:"category,omitempty"`
 
-	// Count: The count of training samples matching the category within
-	// the
+	// Count: The count of training samples matching the category within the
 	// cluster.
 	Count int64 `json:"count,omitempty,string"`
 
@@ -1650,8 +1525,8 @@
 	// CentroidId: Centroid id.
 	CentroidId int64 `json:"centroidId,omitempty,string"`
 
-	// ClusterRadius: Cluster radius, the average distance from centroid
-	// to each point assigned to the cluster.
+	// ClusterRadius: Cluster radius, the average distance from centroid to
+	// each point assigned to the cluster.
 	ClusterRadius float64 `json:"clusterRadius,omitempty"`
 
 	// ClusterSize: Cluster size, the total number of points assigned to the
@@ -1781,8 +1656,7 @@
 // models.
 type ConfusionMatrix struct {
 	// ConfidenceThreshold: Confidence threshold used when computing the
-	// entries of the
-	// confusion matrix.
+	// entries of the confusion matrix.
 	ConfidenceThreshold float64 `json:"confidenceThreshold,omitempty"`
 
 	// Rows: One row per actual label.
@@ -1934,8 +1808,8 @@
 }
 
 // DataSplitResult: Data split result. This contains references to the
-// training and evaluation
-// data tables that were used to train the model.
+// training and evaluation data tables that were used to train the
+// model.
 type DataSplitResult struct {
 	// EvaluationTable: Table reference of the evaluation data after split.
 	EvaluationTable *TableReference `json:"evaluationTable,omitempty"`
@@ -2350,8 +2224,7 @@
 	ItemCount int64 `json:"itemCount,omitempty,string"`
 
 	// PredictedLabel: The predicted label. For confidence_threshold > 0, we
-	// will
-	// also add an entry indicating the number of items under the
+	// will also add an entry indicating the number of items under the
 	// confidence threshold.
 	PredictedLabel string `json:"predictedLabel,omitempty"`
 
@@ -2416,10 +2289,9 @@
 }
 
 // EvaluationMetrics: Evaluation metrics of a model. These are either
-// computed on all training
-// data or just the eval data based on whether eval data was used
-// during
-// training. These are not present for imported models.
+// computed on all training data or just the eval data based on whether
+// eval data was used during training. These are not present for
+// imported models.
 type EvaluationMetrics struct {
 	// ArimaForecastingMetrics: Populated for ARIMA models.
 	ArimaForecastingMetrics *ArimaForecastingMetrics `json:"arimaForecastingMetrics,omitempty"`
@@ -2440,8 +2312,7 @@
 	RankingMetrics *RankingMetrics `json:"rankingMetrics,omitempty"`
 
 	// RegressionMetrics: Populated for regression models and explicit
-	// feedback type matrix
-	// factorization models.
+	// feedback type matrix factorization models.
 	RegressionMetrics *RegressionMetrics `json:"regressionMetrics,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -2658,65 +2529,40 @@
 }
 
 // Expr: Represents a textual expression in the Common Expression
-// Language (CEL)
-// syntax. CEL is a C-like expression language. The syntax and semantics
-// of CEL
-// are documented at https://github.com/google/cel-spec.
-//
-// Example (Comparison):
-//
-//     title: "Summary size limit"
-//     description: "Determines if a summary is less than 100 chars"
-//     expression: "document.summary.size() < 100"
-//
-// Example (Equality):
-//
-//     title: "Requestor is owner"
-//     description: "Determines if requestor is the document owner"
-//     expression: "document.owner ==
-// request.auth.claims.email"
-//
-// Example (Logic):
-//
-//     title: "Public documents"
-//     description: "Determine whether the document should be publicly
-// visible"
-//     expression: "document.type != 'private' && document.type !=
-// 'internal'"
-//
-// Example (Data Manipulation):
-//
-//     title: "Notification string"
-//     description: "Create a notification string with a timestamp."
-//     expression: "'New message received at ' +
-// string(document.create_time)"
-//
-// The exact variables and functions that may be referenced within an
-// expression
-// are determined by the service that evaluates it. See the
-// service
-// documentation for additional information.
+// Language (CEL) syntax. CEL is a C-like expression language. The
+// syntax and semantics of CEL are documented at
+// https://github.com/google/cel-spec. Example (Comparison): title:
+// "Summary size limit" description: "Determines if a summary is less
+// than 100 chars" expression: "document.summary.size() < 100" Example
+// (Equality): title: "Requestor is owner" description: "Determines if
+// requestor is the document owner" expression: "document.owner ==
+// request.auth.claims.email" Example (Logic): title: "Public documents"
+// description: "Determine whether the document should be publicly
+// visible" expression: "document.type != 'private' && document.type !=
+// 'internal'" Example (Data Manipulation): title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' +
+// string(document.create_time)" The exact variables and functions that
+// may be referenced within an expression are determined by the service
+// that evaluates it. See the service documentation for additional
+// information.
 type Expr struct {
 	// Description: Optional. Description of the expression. This is a
-	// longer text which
-	// describes the expression, e.g. when hovered over it in a UI.
+	// longer text which describes the expression, e.g. when hovered over it
+	// in a UI.
 	Description string `json:"description,omitempty"`
 
 	// Expression: Textual representation of an expression in Common
-	// Expression Language
-	// syntax.
+	// Expression Language syntax.
 	Expression string `json:"expression,omitempty"`
 
 	// Location: Optional. String indicating the location of the expression
-	// for error
-	// reporting, e.g. a file name and a position in the file.
+	// for error reporting, e.g. a file name and a position in the file.
 	Location string `json:"location,omitempty"`
 
 	// Title: Optional. Title for the expression, i.e. a short string
-	// describing
-	// its purpose. This can be used e.g. in UIs which allow to enter
-	// the
-	// expression.
+	// describing its purpose. This can be used e.g. in UIs which allow to
+	// enter the expression.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -2851,8 +2697,7 @@
 	FeatureColumn string `json:"featureColumn,omitempty"`
 
 	// NumericalValue: The numerical feature value. This is the centroid
-	// value for this
-	// feature.
+	// value for this feature.
 	NumericalValue float64 `json:"numericalValue,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CategoricalValue") to
@@ -2896,8 +2741,7 @@
 // GetIamPolicyRequest: Request message for `GetIamPolicy` method.
 type GetIamPolicyRequest struct {
 	// Options: OPTIONAL: A `GetPolicyOptions` object for specifying options
-	// to
-	// `GetIamPolicy`.
+	// to `GetIamPolicy`.
 	Options *GetPolicyOptions `json:"options,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Options") to
@@ -2926,24 +2770,14 @@
 // GetPolicyOptions: Encapsulates settings provided to GetIamPolicy.
 type GetPolicyOptions struct {
 	// RequestedPolicyVersion: Optional. The policy format version to be
-	// returned.
-	//
-	// Valid values are 0, 1, and 3. Requests specifying an invalid value
-	// will be
-	// rejected.
-	//
-	// Requests for policies with any conditional bindings must specify
-	// version 3.
-	// Policies without any conditional bindings may specify any valid value
-	// or
-	// leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// returned. Valid values are 0, 1, and 3. Requests specifying an
+	// invalid value will be rejected. Requests for policies with any
+	// conditional bindings must specify version 3. Policies without any
+	// conditional bindings may specify any valid value or leave the field
+	// unset. To learn which resources support conditions in their IAM
+	// policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	RequestedPolicyVersion int64 `json:"requestedPolicyVersion,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -4472,10 +4306,8 @@
 
 type ListModelsResponse struct {
 	// Models: Models in the requested dataset. Only the following fields
-	// are populated:
-	// model_reference, model_type, creation_time, last_modified_time
-	// and
-	// labels.
+	// are populated: model_reference, model_type, creation_time,
+	// last_modified_time and labels.
 	Models []*Model `json:"models,omitempty"`
 
 	// NextPageToken: A token to request the next page of results.
@@ -4513,10 +4345,8 @@
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Routines: Routines in the requested dataset. Unless read_mask is set
-	// in the request,
-	// only the following fields are populated:
-	// etag, project_id, dataset_id, routine_id, routine_type,
-	// creation_time,
+	// in the request, only the following fields are populated: etag,
+	// project_id, dataset_id, routine_id, routine_type, creation_time,
 	// last_modified_time, and language.
 	Routines []*Routine `json:"routines,omitempty"`
 
@@ -4548,15 +4378,12 @@
 }
 
 // LocationMetadata: BigQuery-specific metadata about a location. This
-// will be set on
-// google.cloud.location.Location.metadata in Cloud Location
-// API
-// responses.
+// will be set on google.cloud.location.Location.metadata in Cloud
+// Location API responses.
 type LocationMetadata struct {
 	// LegacyLocationId: The legacy BigQuery location ID, e.g. “EU” for
-	// the “europe” location.
-	// This is for any API consumers that need the legacy “US” and
-	// “EU” locations.
+	// the “europe” location. This is for any API consumers that need
+	// the legacy “US” and “EU” locations.
 	LegacyLocationId string `json:"legacyLocationId,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "LegacyLocationId") to
@@ -4633,26 +4460,20 @@
 	Description string `json:"description,omitempty"`
 
 	// EncryptionConfiguration: Custom encryption configuration (e.g., Cloud
-	// KMS keys). This shows the
-	// encryption configuration of the model data while stored in
-	// BigQuery
-	// storage. This field can be used with PatchModel to update encryption
-	// key
-	// for an already encrypted model.
+	// KMS keys). This shows the encryption configuration of the model data
+	// while stored in BigQuery storage. This field can be used with
+	// PatchModel to update encryption key for an already encrypted model.
 	EncryptionConfiguration *EncryptionConfiguration `json:"encryptionConfiguration,omitempty"`
 
 	// Etag: Output only. A hash of this resource.
 	Etag string `json:"etag,omitempty"`
 
 	// ExpirationTime: Optional. The time when this model expires, in
-	// milliseconds since the epoch.
-	// If not present, the model will persist indefinitely. Expired
-	// models
-	// will be deleted and their storage reclaimed.  The
-	// defaultTableExpirationMs
-	// property of the encapsulating dataset can be used to set a
-	// default
-	// expirationTime on newly created models.
+	// milliseconds since the epoch. If not present, the model will persist
+	// indefinitely. Expired models will be deleted and their storage
+	// reclaimed. The defaultTableExpirationMs property of the encapsulating
+	// dataset can be used to set a default expirationTime on newly created
+	// models.
 	ExpirationTime int64 `json:"expirationTime,omitempty,string"`
 
 	// FeatureColumns: Output only. Input feature columns that were used to
@@ -4663,21 +4484,16 @@
 	FriendlyName string `json:"friendlyName,omitempty"`
 
 	// LabelColumns: Output only. Label columns that were used to train this
-	// model.
-	// The output of the model will have a "predicted_" prefix to these
-	// columns.
+	// model. The output of the model will have a "predicted_" prefix to
+	// these columns.
 	LabelColumns []*StandardSqlField `json:"labelColumns,omitempty"`
 
 	// Labels: The labels associated with this model. You can use these to
-	// organize
-	// and group your models. Label keys and values can be no longer
-	// than 63 characters, can only contain lowercase letters,
-	// numeric
-	// characters, underscores and dashes. International characters are
-	// allowed.
-	// Label values are optional. Label keys must start with a letter and
-	// each
-	// label in the list must have a different key.
+	// organize and group your models. Label keys and values can be no
+	// longer than 63 characters, can only contain lowercase letters,
+	// numeric characters, underscores and dashes. International characters
+	// are allowed. Label values are optional. Label keys must start with a
+	// letter and each label in the list must have a different key.
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// LastModifiedTime: Output only. The time when this model was last
@@ -4685,8 +4501,7 @@
 	LastModifiedTime int64 `json:"lastModifiedTime,omitempty,string"`
 
 	// Location: Output only. The geographic location where the model
-	// resides. This value
-	// is inherited from the dataset.
+	// resides. This value is inherited from the dataset.
 	Location string `json:"location,omitempty"`
 
 	// ModelReference: Required. Unique identifier for this model.
@@ -4882,154 +4697,77 @@
 }
 
 // Policy: An Identity and Access Management (IAM) policy, which
-// specifies access
-// controls for Google Cloud resources.
-//
-//
-// A `Policy` is a collection of `bindings`. A `binding` binds one or
-// more
-// `members` to a single `role`. Members can be user accounts, service
-// accounts,
+// specifies access controls for Google Cloud resources. A `Policy` is a
+// collection of `bindings`. A `binding` binds one or more `members` to
+// a single `role`. Members can be user accounts, service accounts,
 // Google groups, and domains (such as G Suite). A `role` is a named
-// list of
-// permissions; each `role` can be an IAM predefined role or a
-// user-created
-// custom role.
-//
-// For some types of Google Cloud resources, a `binding` can also
-// specify a
-// `condition`, which is a logical expression that allows access to a
-// resource
-// only if the expression evaluates to `true`. A condition can add
-// constraints
-// based on attributes of the request, the resource, or both. To learn
-// which
-// resources support conditions in their IAM policies, see the
-// [IAM
+// list of permissions; each `role` can be an IAM predefined role or a
+// user-created custom role. For some types of Google Cloud resources, a
+// `binding` can also specify a `condition`, which is a logical
+// expression that allows access to a resource only if the expression
+// evaluates to `true`. A condition can add constraints based on
+// attributes of the request, the resource, or both. To learn which
+// resources support conditions in their IAM policies, see the [IAM
 // documentation](https://cloud.google.com/iam/help/conditions/resource-p
-// olicies).
-//
-// **JSON example:**
-//
-//     {
-//       "bindings": [
-//         {
-//           "role": "roles/resourcemanager.organizationAdmin",
-//           "members": [
-//             "user:mike@example.com",
-//             "group:admins@example.com",
-//             "domain:google.com",
-//
-// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
-//           ]
-//         },
-//         {
-//           "role": "roles/resourcemanager.organizationViewer",
-//           "members": [
-//             "user:eve@example.com"
-//           ],
-//           "condition": {
-//             "title": "expirable access",
-//             "description": "Does not grant access after Sep 2020",
-//             "expression": "request.time <
-// timestamp('2020-10-01T00:00:00.000Z')",
-//           }
-//         }
-//       ],
-//       "etag": "BwWWja0YfJA=",
-//       "version": 3
-//     }
-//
-// **YAML example:**
-//
-//     bindings:
-//     - members:
-//       - user:mike@example.com
-//       - group:admins@example.com
-//       - domain:google.com
-//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
-//       role: roles/resourcemanager.organizationAdmin
-//     - members:
-//       - user:eve@example.com
-//       role: roles/resourcemanager.organizationViewer
-//       condition:
-//         title: expirable access
-//         description: Does not grant access after Sep 2020
-//         expression: request.time <
-// timestamp('2020-10-01T00:00:00.000Z')
-//     - etag: BwWWja0YfJA=
-//     - version: 3
-//
-// For a description of IAM and its features, see the
-// [IAM documentation](https://cloud.google.com/iam/docs/).
+// olicies). **JSON example:** { "bindings": [ { "role":
+// "roles/resourcemanager.organizationAdmin", "members": [
+// "user:mike@example.com", "group:admins@example.com",
+// "domain:google.com",
+// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
+// "role": "roles/resourcemanager.organizationViewer", "members": [
+// "user:eve@example.com" ], "condition": { "title": "expirable access",
+// "description": "Does not grant access after Sep 2020", "expression":
+// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
+// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
+// members: - user:mike@example.com - group:admins@example.com -
+// domain:google.com -
+// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
+// roles/resourcemanager.organizationAdmin - members: -
+// user:eve@example.com role: roles/resourcemanager.organizationViewer
+// condition: title: expirable access description: Does not grant access
+// after Sep 2020 expression: request.time <
+// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
+// 3 For a description of IAM and its features, see the [IAM
+// documentation](https://cloud.google.com/iam/docs/).
 type Policy struct {
 	// AuditConfigs: Specifies cloud audit logging configuration for this
 	// policy.
 	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
 
 	// Bindings: Associates a list of `members` to a `role`. Optionally, may
-	// specify a
-	// `condition` that determines how and when the `bindings` are applied.
-	// Each
-	// of the `bindings` must contain at least one member.
+	// specify a `condition` that determines how and when the `bindings` are
+	// applied. Each of the `bindings` must contain at least one member.
 	Bindings []*Binding `json:"bindings,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a policy from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform policy updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `getIamPolicy`,
-	// and
-	// systems are expected to put that etag in the request to
-	// `setIamPolicy` to
-	// ensure that their change will be applied to the same version of the
-	// policy.
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
+	// help prevent simultaneous updates of a policy from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform policy updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `getIamPolicy`, and systems are expected to put that etag in the
+	// request to `setIamPolicy` to ensure that their change will be applied
+	// to the same version of the policy. **Important:** If you use IAM
+	// Conditions, you must include the `etag` field whenever you call
+	// `setIamPolicy`. If you omit this field, then IAM allows you to
+	// overwrite a version `3` policy with a version `1` policy, and all of
 	// the conditions in the version `3` policy are lost.
 	Etag string `json:"etag,omitempty"`
 
-	// Version: Specifies the format of the policy.
-	//
-	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
-	// value
-	// are rejected.
-	//
+	// Version: Specifies the format of the policy. Valid values are `0`,
+	// `1`, and `3`. Requests that specify an invalid value are rejected.
 	// Any operation that affects conditional role bindings must specify
-	// version
-	// `3`. This requirement applies to the following operations:
-	//
-	// * Getting a policy that includes a conditional role binding
-	// * Adding a conditional role binding to a policy
-	// * Changing a conditional role binding in a policy
-	// * Removing any role binding, with or without a condition, from a
-	// policy
-	//   that includes conditions
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
-	// the conditions in the version `3` policy are lost.
-	//
-	// If a policy does not include any conditions, operations on that
-	// policy may
-	// specify any valid version or leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see the
-	// [IAM
+	// version `3`. This requirement applies to the following operations: *
+	// Getting a policy that includes a conditional role binding * Adding a
+	// conditional role binding to a policy * Changing a conditional role
+	// binding in a policy * Removing any role binding, with or without a
+	// condition, from a policy that includes conditions **Important:** If
+	// you use IAM Conditions, you must include the `etag` field whenever
+	// you call `setIamPolicy`. If you omit this field, then IAM allows you
+	// to overwrite a version `3` policy with a version `1` policy, and all
+	// of the conditions in the version `3` policy are lost. If a policy
+	// does not include any conditions, operations on that policy may
+	// specify any valid version or leave the field unset. To learn which
+	// resources support conditions in their IAM policies, see the [IAM
 	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
 	// olicies).
 	Version int64 `json:"version,omitempty"`
@@ -5636,33 +5374,28 @@
 }
 
 // RankingMetrics: Evaluation metrics used by weighted-ALS models
-// specified by
-// feedback_type=implicit.
+// specified by feedback_type=implicit.
 type RankingMetrics struct {
 	// AverageRank: Determines the goodness of a ranking by computing the
-	// percentile rank
-	// from the predicted confidence and dividing it by the original rank.
+	// percentile rank from the predicted confidence and dividing it by the
+	// original rank.
 	AverageRank float64 `json:"averageRank,omitempty"`
 
 	// MeanAveragePrecision: Calculates a precision per user for all the
-	// items by ranking them and
-	// then averages all the precisions across all the users.
+	// items by ranking them and then averages all the precisions across all
+	// the users.
 	MeanAveragePrecision float64 `json:"meanAveragePrecision,omitempty"`
 
 	// MeanSquaredError: Similar to the mean squared error computed in
-	// regression and explicit
-	// recommendation models except instead of computing the rating
-	// directly,
-	// the output from evaluate is computed against a preference which is 1
-	// or 0
-	// depending on if the rating exists or not.
+	// regression and explicit recommendation models except instead of
+	// computing the rating directly, the output from evaluate is computed
+	// against a preference which is 1 or 0 depending on if the rating
+	// exists or not.
 	MeanSquaredError float64 `json:"meanSquaredError,omitempty"`
 
 	// NormalizedDiscountedCumulativeGain: A metric to determine the
-	// goodness of a ranking calculated from the
-	// predicted confidence by comparing it to an ideal rank measured by
-	// the
-	// original ratings.
+	// goodness of a ranking calculated from the predicted confidence by
+	// comparing it to an ideal rank measured by the original ratings.
 	NormalizedDiscountedCumulativeGain float64 `json:"normalizedDiscountedCumulativeGain,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AverageRank") to
@@ -5709,8 +5442,7 @@
 }
 
 // RegressionMetrics: Evaluation metrics for regression and explicit
-// feedback type matrix
-// factorization models.
+// feedback type matrix factorization models.
 type RegressionMetrics struct {
 	// MeanAbsoluteError: Mean absolute error.
 	MeanAbsoluteError float64 `json:"meanAbsoluteError,omitempty"`
@@ -5779,40 +5511,20 @@
 	Arguments []*Argument `json:"arguments,omitempty"`
 
 	// CreationTime: Output only. The time when this routine was created, in
-	// milliseconds since
-	// the epoch.
+	// milliseconds since the epoch.
 	CreationTime int64 `json:"creationTime,omitempty,string"`
 
-	// DefinitionBody: Required. The body of the routine.
-	//
-	// For functions, this is the expression in the AS clause.
-	//
-	// If language=SQL, it is the substring inside (but excluding)
-	// the
-	// parentheses. For example, for the function created with the
-	// following
-	// statement:
-	//
-	// `CREATE FUNCTION JoinLines(x string, y string) as (concat(x, "\n",
-	// y))`
-	//
-	// The definition_body is `concat(x, "\n", y)` (\n is not replaced
-	// with
-	// linebreak).
-	//
-	// If language=JAVASCRIPT, it is the evaluated string in the AS
-	// clause.
-	// For example, for the function created with the following
-	// statement:
-	//
-	// `CREATE FUNCTION f() RETURNS STRING LANGUAGE js AS 'return
-	// "\n";\n'`
-	//
-	// The definition_body is
-	//
-	// `return "\n";\n`
-	//
-	// Note that both \n are replaced with linebreaks.
+	// DefinitionBody: Required. The body of the routine. For functions,
+	// this is the expression in the AS clause. If language=SQL, it is the
+	// substring inside (but excluding) the parentheses. For example, for
+	// the function created with the following statement: `CREATE FUNCTION
+	// JoinLines(x string, y string) as (concat(x, "\n", y))` The
+	// definition_body is `concat(x, "\n", y)` (\n is not replaced with
+	// linebreak). If language=JAVASCRIPT, it is the evaluated string in the
+	// AS clause. For example, for the function created with the following
+	// statement: `CREATE FUNCTION f() RETURNS STRING LANGUAGE js AS 'return
+	// "\n";\n'` The definition_body is `return "\n";\n` Note that both \n
+	// are replaced with linebreaks.
 	DefinitionBody string `json:"definitionBody,omitempty"`
 
 	// Description: Optional. [Experimental] The description of the routine
@@ -5826,8 +5538,8 @@
 	//   "DETERMINISM_LEVEL_UNSPECIFIED" - The determinism of the UDF is
 	// unspecified.
 	//   "DETERMINISTIC" - The UDF is deterministic, meaning that 2 function
-	// calls with the same
-	// inputs always produce the same result, even across 2 query runs.
+	// calls with the same inputs always produce the same result, even
+	// across 2 query runs.
 	//   "NOT_DETERMINISTIC" - The UDF is not deterministic.
 	DeterminismLevel string `json:"determinismLevel,omitempty"`
 
@@ -5835,8 +5547,7 @@
 	Etag string `json:"etag,omitempty"`
 
 	// ImportedLibraries: Optional. If language = "JAVASCRIPT", this field
-	// stores the path of the
-	// imported JAVASCRIPT libraries.
+	// stores the path of the imported JAVASCRIPT libraries.
 	ImportedLibraries []string `json:"importedLibraries,omitempty"`
 
 	// Language: Optional. Defaults to "SQL".
@@ -5848,41 +5559,22 @@
 	Language string `json:"language,omitempty"`
 
 	// LastModifiedTime: Output only. The time when this routine was last
-	// modified, in milliseconds
-	// since the epoch.
+	// modified, in milliseconds since the epoch.
 	LastModifiedTime int64 `json:"lastModifiedTime,omitempty,string"`
 
-	// ReturnType: Optional if language = "SQL"; required otherwise.
-	//
-	// If absent, the return type is inferred from definition_body at query
-	// time
-	// in each query that references this routine. If present, then the
-	// evaluated
-	// result will be cast to the specified returned type at query
-	// time.
-	//
-	// For example, for the functions created with the following
-	// statements:
-	//
-	// * `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS FLOAT64 AS (x +
-	// y);`
-	//
-	// * `CREATE FUNCTION Increment(x FLOAT64) AS (Add(x, 1));`
-	//
-	// * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64 AS (Add(x,
-	// -1));`
-	//
-	// The return_type is `{type_kind: "FLOAT64"}` for `Add` and
-	// `Decrement`, and
-	// is absent for `Increment` (inferred as FLOAT64 at query
-	// time).
-	//
-	// Suppose the function `Add` is replaced by
-	//   `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x +
-	// y);`
-	//
-	// Then the inferred return type of `Increment` is automatically changed
-	// to
+	// ReturnType: Optional if language = "SQL"; required otherwise. If
+	// absent, the return type is inferred from definition_body at query
+	// time in each query that references this routine. If present, then the
+	// evaluated result will be cast to the specified returned type at query
+	// time. For example, for the functions created with the following
+	// statements: * `CREATE FUNCTION Add(x FLOAT64, y FLOAT64) RETURNS
+	// FLOAT64 AS (x + y);` * `CREATE FUNCTION Increment(x FLOAT64) AS
+	// (Add(x, 1));` * `CREATE FUNCTION Decrement(x FLOAT64) RETURNS FLOAT64
+	// AS (Add(x, -1));` The return_type is `{type_kind: "FLOAT64"}` for
+	// `Add` and `Decrement`, and is absent for `Increment` (inferred as
+	// FLOAT64 at query time). Suppose the function `Add` is replaced by
+	// `CREATE OR REPLACE FUNCTION Add(x INT64, y INT64) AS (x + y);` Then
+	// the inferred return type of `Increment` is automatically changed to
 	// INT64 at query time, while the return type of `Decrement` remains
 	// FLOAT64.
 	ReturnType *StandardSqlDataType `json:"returnType,omitempty"`
@@ -6144,20 +5836,15 @@
 // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
 type SetIamPolicyRequest struct {
 	// Policy: REQUIRED: The complete policy to be applied to the
-	// `resource`. The size of
-	// the policy is limited to a few 10s of KB. An empty policy is a
-	// valid policy but certain Cloud Platform services (such as
-	// Projects)
-	// might reject them.
+	// `resource`. The size of the policy is limited to a few 10s of KB. An
+	// empty policy is a valid policy but certain Cloud Platform services
+	// (such as Projects) might reject them.
 	Policy *Policy `json:"policy,omitempty"`
 
 	// UpdateMask: OPTIONAL: A FieldMask specifying which fields of the
-	// policy to modify. Only
-	// the fields in the mask will be modified. If no mask is provided,
-	// the
-	// following default mask is used:
-	//
-	// `paths: "bindings, etag"
+	// policy to modify. Only the fields in the mask will be modified. If no
+	// mask is provided, the following default mask is used: `paths:
+	// "bindings, etag"
 	UpdateMask string `json:"updateMask,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Policy") to
@@ -6217,17 +5904,11 @@
 }
 
 // StandardSqlDataType: The type of a variable, e.g., a function
-// argument.
-// Examples:
-// INT64: {type_kind="INT64"}
-// ARRAY<STRING>: {type_kind="ARRAY",
-// array_element_type="STRING"}
-// STRUCT<x STRING, y ARRAY<DATE>>:
-//   {type_kind="STRUCT",
-//    struct_type={fields=[
-//      {name="x", type={type_kind="STRING"}},
-//      {name="y", type={type_kind="ARRAY", array_element_type="DATE"}}
-//    ]}}
+// argument. Examples: INT64: {type_kind="INT64"} ARRAY:
+// {type_kind="ARRAY", array_element_type="STRING"} STRUCT>:
+// {type_kind="STRUCT", struct_type={fields=[ {name="x",
+// type={type_kind="STRING"}}, {name="y", type={type_kind="ARRAY",
+// array_element_type="DATE"}} ]}}
 type StandardSqlDataType struct {
 	// ArrayElementType: The type of the array's elements, if type_kind =
 	// "ARRAY".
@@ -6237,8 +5918,8 @@
 	// "STRUCT".
 	StructType *StandardSqlStructType `json:"structType,omitempty"`
 
-	// TypeKind: Required. The top level type of this field.
-	// Can be any standard SQL data type (e.g., "INT64", "DATE", "ARRAY").
+	// TypeKind: Required. The top level type of this field. Can be any
+	// standard SQL data type (e.g., "INT64", "DATE", "ARRAY").
 	//
 	// Possible values:
 	//   "TYPE_KIND_UNSPECIFIED" - Invalid type.
@@ -6249,8 +5930,7 @@
 	//   "STRING" - Encoded as a string value.
 	//   "BYTES" - Encoded as a base64 string per RFC 4648, section 4.
 	//   "TIMESTAMP" - Encoded as an RFC 3339 timestamp with mandatory "Z"
-	// time zone string:
-	// 1985-04-12T23:20:50.52Z
+	// time zone string: 1985-04-12T23:20:50.52Z
 	//   "DATE" - Encoded as RFC 3339 full-date format string: 1985-04-12
 	//   "TIME" - Encoded as RFC 3339 partial-time format string:
 	// 23:20:50.52
@@ -6261,8 +5941,8 @@
 	//   "BIGNUMERIC" - Encoded as a decimal string.
 	//   "ARRAY" - Encoded as a list with types matching Type.array_type.
 	//   "STRUCT" - Encoded as a list with fields of type
-	// Type.struct_type[i]. List is used
-	// because a JSON object cannot have duplicate field names.
+	// Type.struct_type[i]. List is used because a JSON object cannot have
+	// duplicate field names.
 	TypeKind string `json:"typeKind,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ArrayElementType") to
@@ -6295,10 +5975,8 @@
 	// fields.
 	Name string `json:"name,omitempty"`
 
-	// Type: Optional. The type of this parameter. Absent if not
-	// explicitly
-	// specified (e.g., CREATE FUNCTION statement can omit the return
-	// type;
+	// Type: Optional. The type of this parameter. Absent if not explicitly
+	// specified (e.g., CREATE FUNCTION statement can omit the return type;
 	// in this case the output parameter does not have this "type" field).
 	Type *StandardSqlDataType `json:"type,omitempty"`
 
@@ -7117,11 +6795,8 @@
 // method.
 type TestIamPermissionsRequest struct {
 	// Permissions: The set of permissions to check for the `resource`.
-	// Permissions with
-	// wildcards (such as '*' or 'storage.*') are not allowed. For
-	// more
-	// information see
-	// [IAM
+	// Permissions with wildcards (such as '*' or 'storage.*') are not
+	// allowed. For more information see [IAM
 	// Overview](https://cloud.google.com/iam/docs/overview#permissions).
 	Permissions []string `json:"permissions,omitempty"`
 
@@ -7152,8 +6827,7 @@
 // method.
 type TestIamPermissionsResponse struct {
 	// Permissions: A subset of `TestPermissionsRequest.permissions` that
-	// the caller is
-	// allowed.
+	// the caller is allowed.
 	Permissions []string `json:"permissions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -7230,6 +6904,9 @@
 	// AutoArima: Whether to enable auto ARIMA or not.
 	AutoArima bool `json:"autoArima,omitempty"`
 
+	// AutoArimaMaxOrder: The max value of non-seasonal p and q.
+	AutoArimaMaxOrder int64 `json:"autoArimaMaxOrder,omitempty,string"`
+
 	// BatchSize: Batch size for dnn models.
 	BatchSize int64 `json:"batchSize,omitempty,string"`
 
@@ -7247,31 +6924,20 @@
 	DataFrequency string `json:"dataFrequency,omitempty"`
 
 	// DataSplitColumn: The column to split data with. This column won't be
-	// used as a
-	// feature.
-	// 1. When data_split_method is CUSTOM, the corresponding column
-	// should
-	// be boolean. The rows with true value tag are eval data, and the
-	// false
-	// are training data.
-	// 2. When data_split_method is SEQ, the first
-	// DATA_SPLIT_EVAL_FRACTION
-	// rows (from smallest to largest) in the corresponding column are
-	// used
-	// as training data, and the rest are eval data. It respects the
-	// order
-	// in Orderable data
-	// types:
-	// https://cloud.google.com/bigquery/docs/reference/standard-sql/d
-	// ata-types#data-type-properties
+	// used as a feature. 1. When data_split_method is CUSTOM, the
+	// corresponding column should be boolean. The rows with true value tag
+	// are eval data, and the false are training data. 2. When
+	// data_split_method is SEQ, the first DATA_SPLIT_EVAL_FRACTION rows
+	// (from smallest to largest) in the corresponding column are used as
+	// training data, and the rest are eval data. It respects the order in
+	// Orderable data types:
+	// https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#data-type-properties
 	DataSplitColumn string `json:"dataSplitColumn,omitempty"`
 
 	// DataSplitEvalFraction: The fraction of evaluation data over the whole
-	// input data. The rest
-	// of data will be used as training data. The format should be
-	// double.
-	// Accurate to two decimal places.
-	// Default value is 0.2.
+	// input data. The rest of data will be used as training data. The
+	// format should be double. Accurate to two decimal places. Default
+	// value is 0.2.
 	DataSplitEvalFraction float64 `json:"dataSplitEvalFraction,omitempty"`
 
 	// DataSplitMethod: The data split type for training and evaluation,
@@ -7284,8 +6950,7 @@
 	//   "SEQUENTIAL" - Splits data sequentially.
 	//   "NO_SPLIT" - Data split will be skipped.
 	//   "AUTO_SPLIT" - Splits data automatically: Uses NO_SPLIT if the data
-	// size is small.
-	// Otherwise uses RANDOM.
+	// size is small. Otherwise uses RANDOM.
 	DataSplitMethod string `json:"dataSplitMethod,omitempty"`
 
 	// DistanceType: Distance type for clustering models.
@@ -7300,15 +6965,12 @@
 	Dropout float64 `json:"dropout,omitempty"`
 
 	// EarlyStop: Whether to stop early when the loss doesn't improve
-	// significantly
-	// any more (compared to min_relative_progress). Used only for
-	// iterative
-	// training algorithms.
+	// significantly any more (compared to min_relative_progress). Used only
+	// for iterative training algorithms.
 	EarlyStop bool `json:"earlyStop,omitempty"`
 
 	// FeedbackType: Feedback type that specifies which algorithm to run for
-	// matrix
-	// factorization.
+	// matrix factorization.
 	//
 	// Possible values:
 	//   "FEEDBACK_TYPE_UNSPECIFIED"
@@ -7320,18 +6982,15 @@
 	HiddenUnits googleapi.Int64s `json:"hiddenUnits,omitempty"`
 
 	// HolidayRegion: The geographical region based on which the holidays
-	// are considered in
-	// time series modeling. If a valid value is specified, then
-	// holiday
-	// effects modeling is enabled.
+	// are considered in time series modeling. If a valid value is
+	// specified, then holiday effects modeling is enabled.
 	//
 	// Possible values:
 	//   "HOLIDAY_REGION_UNSPECIFIED" - Holiday region unspecified.
 	//   "GLOBAL" - Global.
 	//   "NA" - North America.
 	//   "JAPAC" - Japan and Asia Pacific: Korea, Greater China, India,
-	// Australia, and New
-	// Zealand.
+	// Australia, and New Zealand.
 	//   "EMEA" - Europe, the Middle East and Africa.
 	//   "LAC" - Latin America and the Caribbean.
 	//   "AE" - United Arab Emirates
@@ -7406,8 +7065,7 @@
 	IncludeDrift bool `json:"includeDrift,omitempty"`
 
 	// InitialLearnRate: Specifies the initial learning rate for the line
-	// search learn rate
-	// strategy.
+	// search learn rate strategy.
 	InitialLearnRate float64 `json:"initialLearnRate,omitempty"`
 
 	// InputLabelColumns: Name of input label columns in training data.
@@ -7417,8 +7075,8 @@
 	ItemColumn string `json:"itemColumn,omitempty"`
 
 	// KmeansInitializationColumn: The column used to provide the initial
-	// centroids for kmeans algorithm
-	// when kmeans_initialization_method is CUSTOM.
+	// centroids for kmeans algorithm when kmeans_initialization_method is
+	// CUSTOM.
 	KmeansInitializationColumn string `json:"kmeansInitializationColumn,omitempty"`
 
 	// KmeansInitializationMethod: The method used to initialize the
@@ -7427,8 +7085,7 @@
 	// Possible values:
 	//   "KMEANS_INITIALIZATION_METHOD_UNSPECIFIED"
 	//   "RANDOM" - Initializes the centroids randomly.
-	//   "CUSTOM" - Initializes the centroids using data specified
-	// in
+	//   "CUSTOM" - Initializes the centroids using data specified in
 	// kmeans_initialization_column.
 	//   "KMEANS_PLUS_PLUS" - Initializes with kmeans++.
 	KmeansInitializationMethod string `json:"kmeansInitializationMethod,omitempty"`
@@ -7440,8 +7097,8 @@
 	L2Regularization float64 `json:"l2Regularization,omitempty"`
 
 	// LabelClassWeights: Weights associated with each label class, for
-	// rebalancing the
-	// training data. Only applicable for classification models.
+	// rebalancing the training data. Only applicable for classification
+	// models.
 	LabelClassWeights map[string]float64 `json:"labelClassWeights,omitempty"`
 
 	// LearnRate: Learning rate in training. Used only for iterative
@@ -7467,33 +7124,27 @@
 	LossType string `json:"lossType,omitempty"`
 
 	// MaxIterations: The maximum number of iterations in training. Used
-	// only for iterative
-	// training algorithms.
+	// only for iterative training algorithms.
 	MaxIterations int64 `json:"maxIterations,omitempty,string"`
 
 	// MaxTreeDepth: Maximum depth of a tree for boosted tree models.
 	MaxTreeDepth int64 `json:"maxTreeDepth,omitempty,string"`
 
 	// MinRelativeProgress: When early_stop is true, stops training when
-	// accuracy improvement is
-	// less than 'min_relative_progress'. Used only for iterative
-	// training
-	// algorithms.
+	// accuracy improvement is less than 'min_relative_progress'. Used only
+	// for iterative training algorithms.
 	MinRelativeProgress float64 `json:"minRelativeProgress,omitempty"`
 
 	// MinSplitLoss: Minimum split loss for boosted tree models.
 	MinSplitLoss float64 `json:"minSplitLoss,omitempty"`
 
 	// ModelUri: [Beta] Google Cloud Storage URI from which the model was
-	// imported. Only
-	// applicable for imported models.
+	// imported. Only applicable for imported models.
 	ModelUri string `json:"modelUri,omitempty"`
 
 	// NonSeasonalOrder: A specification of the non-seasonal part of the
-	// ARIMA model: the three
-	// components (p, d, q) are the AR order, the degree of differencing,
-	// and
-	// the MA order.
+	// ARIMA model: the three components (p, d, q) are the AR order, the
+	// degree of differencing, and the MA order.
 	NonSeasonalOrder *ArimaOrder `json:"nonSeasonalOrder,omitempty"`
 
 	// NumClusters: Number of clusters for clustering models.
@@ -7514,15 +7165,13 @@
 	OptimizationStrategy string `json:"optimizationStrategy,omitempty"`
 
 	// PreserveInputStructs: Whether to preserve the input structs in output
-	// feature names.
-	// Suppose there is a struct A with field b.
-	// When false (default), the output feature name is A_b.
-	// When true, the output feature name is A.b.
+	// feature names. Suppose there is a struct A with field b. When false
+	// (default), the output feature name is A_b. When true, the output
+	// feature name is A.b.
 	PreserveInputStructs bool `json:"preserveInputStructs,omitempty"`
 
 	// Subsample: Subsample fraction of the training data to grow tree to
-	// prevent
-	// overfitting for boosted tree models.
+	// prevent overfitting for boosted tree models.
 	Subsample float64 `json:"subsample,omitempty"`
 
 	// TimeSeriesDataColumn: Column to be designated as time series data for
@@ -7530,8 +7179,7 @@
 	TimeSeriesDataColumn string `json:"timeSeriesDataColumn,omitempty"`
 
 	// TimeSeriesIdColumn: The id column that will be used to indicate
-	// different time series to
-	// forecast in parallel.
+	// different time series to forecast in parallel.
 	TimeSeriesIdColumn string `json:"timeSeriesIdColumn,omitempty"`
 
 	// TimeSeriesTimestampColumn: Column to be designated as time series
@@ -7542,8 +7190,7 @@
 	UserColumn string `json:"userColumn,omitempty"`
 
 	// WalsAlpha: Hyperparameter for matrix factoration when implicit
-	// feedback type is
-	// specified.
+	// feedback type is specified.
 	WalsAlpha float64 `json:"walsAlpha,omitempty"`
 
 	// WarmStart: Whether to train a model from the last checkpoint.
@@ -7608,13 +7255,11 @@
 // model.
 type TrainingRun struct {
 	// DataSplitResult: Data split result of the training run. Only set when
-	// the input data is
-	// actually split.
+	// the input data is actually split.
 	DataSplitResult *DataSplitResult `json:"dataSplitResult,omitempty"`
 
 	// EvaluationMetrics: The evaluation metrics over training/eval data
-	// that were computed at the
-	// end of training.
+	// that were computed at the end of training.
 	EvaluationMetrics *EvaluationMetrics `json:"evaluationMetrics,omitempty"`
 
 	// Results: Output of each iteration run, results.size() <=
@@ -7625,8 +7270,7 @@
 	StartTime string `json:"startTime,omitempty"`
 
 	// TrainingOptions: Options that were used for this training run,
-	// includes
-	// user specified and default options that were used.
+	// includes user specified and default options that were used.
 	TrainingOptions *TrainingOptions `json:"trainingOptions,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "DataSplitResult") to
@@ -7788,7 +7432,7 @@
 
 func (c *DatasetsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7915,7 +7559,7 @@
 
 func (c *DatasetsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8059,7 +7703,7 @@
 
 func (c *DatasetsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8239,7 +7883,7 @@
 
 func (c *DatasetsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8422,7 +8066,7 @@
 
 func (c *DatasetsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8573,7 +8217,7 @@
 
 func (c *DatasetsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8731,7 +8375,7 @@
 
 func (c *JobsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8896,7 +8540,7 @@
 
 func (c *JobsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9095,7 +8739,7 @@
 
 func (c *JobsGetQueryResultsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9329,7 +8973,7 @@
 
 func (c *JobsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9596,7 +9240,7 @@
 
 func (c *JobsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9816,7 +9460,7 @@
 
 func (c *JobsQueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9959,7 +9603,7 @@
 
 func (c *ModelsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10095,7 +9739,7 @@
 
 func (c *ModelsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10218,8 +9862,7 @@
 }
 
 // List: Lists all models in the specified dataset. Requires the READER
-// dataset
-// role.
+// dataset role.
 func (r *ModelsService) List(projectId string, datasetId string) *ModelsListCall {
 	c := &ModelsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -10228,16 +9871,15 @@
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
-// number of results to return in a single response page.
-// Leverage the page tokens to iterate through the entire collection.
+// number of results to return in a single response page. Leverage the
+// page tokens to iterate through the entire collection.
 func (c *ModelsListCall) MaxResults(maxResults int64) *ModelsListCall {
 	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Page token,
-// returned by a previous call to request the next page of
-// results
+// returned by a previous call to request the next page of results
 func (c *ModelsListCall) PageToken(pageToken string) *ModelsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -10280,7 +9922,7 @@
 
 func (c *ModelsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10343,7 +9985,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists all models in the specified dataset. Requires the READER dataset\nrole.",
+	//   "description": "Lists all models in the specified dataset. Requires the READER dataset role.",
 	//   "flatPath": "projects/{projectsId}/datasets/{datasetsId}/models",
 	//   "httpMethod": "GET",
 	//   "id": "bigquery.models.list",
@@ -10360,13 +10002,13 @@
 	//       "type": "string"
 	//     },
 	//     "maxResults": {
-	//       "description": "The maximum number of results to return in a single response page.\nLeverage the page tokens to iterate through the entire collection.",
+	//       "description": "The maximum number of results to return in a single response page. Leverage the page tokens to iterate through the entire collection.",
 	//       "format": "uint32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Page token, returned by a previous call to request the next page of\nresults",
+	//       "description": "Page token, returned by a previous call to request the next page of results",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -10463,7 +10105,7 @@
 
 func (c *ModelsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10632,7 +10274,7 @@
 
 func (c *ProjectsGetServiceAccountCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10790,7 +10432,7 @@
 
 func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10948,7 +10590,7 @@
 
 func (c *RoutinesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11048,8 +10690,8 @@
 }
 
 // ReadMask sets the optional parameter "readMask": If set, only the
-// Routine fields in the field mask are returned in the
-// response. If unset, all Routine fields are returned.
+// Routine fields in the field mask are returned in the response. If
+// unset, all Routine fields are returned.
 func (c *RoutinesGetCall) ReadMask(readMask string) *RoutinesGetCall {
 	c.urlParams_.Set("readMask", readMask)
 	return c
@@ -11092,7 +10734,7 @@
 
 func (c *RoutinesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11181,7 +10823,7 @@
 	//       "type": "string"
 	//     },
 	//     "readMask": {
-	//       "description": "If set, only the Routine fields in the field mask are returned in the\nresponse. If unset, all Routine fields are returned.",
+	//       "description": "If set, only the Routine fields in the field mask are returned in the response. If unset, all Routine fields are returned.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -11256,7 +10898,7 @@
 
 func (c *RoutinesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11373,8 +11015,7 @@
 }
 
 // List: Lists all routines in the specified dataset. Requires the
-// READER dataset
-// role.
+// READER dataset role.
 func (r *RoutinesService) List(projectId string, datasetId string) *RoutinesListCall {
 	c := &RoutinesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -11383,40 +11024,34 @@
 }
 
 // Filter sets the optional parameter "filter": If set, then only the
-// Routines matching this filter are returned.
-// The current supported form is either "routine_type:<RoutineType>"
-// or
-// "routineType:<RoutineType>", where <RoutineType> is a RoutineType
-// enum.
-// Example: "routineType:SCALAR_FUNCTION".
+// Routines matching this filter are returned. The current supported
+// form is either "routine_type:" or "routineType:", where is a
+// RoutineType enum. Example: "routineType:SCALAR_FUNCTION".
 func (c *RoutinesListCall) Filter(filter string) *RoutinesListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
 }
 
 // MaxResults sets the optional parameter "maxResults": The maximum
-// number of results to return in a single response page.
-// Leverage the page tokens to iterate through the entire collection.
+// number of results to return in a single response page. Leverage the
+// page tokens to iterate through the entire collection.
 func (c *RoutinesListCall) MaxResults(maxResults int64) *RoutinesListCall {
 	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Page token,
-// returned by a previous call, to request the next page of
-// results
+// returned by a previous call, to request the next page of results
 func (c *RoutinesListCall) PageToken(pageToken string) *RoutinesListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
 }
 
 // ReadMask sets the optional parameter "readMask": If set, then only
-// the Routine fields in the field mask, as well as
-// project_id, dataset_id and routine_id, are returned in the
-// response.
-// If unset, then the following Routine fields are returned:
-// etag, project_id, dataset_id, routine_id, routine_type,
-// creation_time,
+// the Routine fields in the field mask, as well as project_id,
+// dataset_id and routine_id, are returned in the response. If unset,
+// then the following Routine fields are returned: etag, project_id,
+// dataset_id, routine_id, routine_type, creation_time,
 // last_modified_time, and language.
 func (c *RoutinesListCall) ReadMask(readMask string) *RoutinesListCall {
 	c.urlParams_.Set("readMask", readMask)
@@ -11460,7 +11095,7 @@
 
 func (c *RoutinesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11523,7 +11158,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists all routines in the specified dataset. Requires the READER dataset\nrole.",
+	//   "description": "Lists all routines in the specified dataset. Requires the READER dataset role.",
 	//   "flatPath": "projects/{projectsId}/datasets/{datasetsId}/routines",
 	//   "httpMethod": "GET",
 	//   "id": "bigquery.routines.list",
@@ -11540,18 +11175,18 @@
 	//       "type": "string"
 	//     },
 	//     "filter": {
-	//       "description": "If set, then only the Routines matching this filter are returned.\nThe current supported form is either \"routine_type:\u003cRoutineType\u003e\" or\n\"routineType:\u003cRoutineType\u003e\", where \u003cRoutineType\u003e is a RoutineType enum.\nExample: \"routineType:SCALAR_FUNCTION\".",
+	//       "description": "If set, then only the Routines matching this filter are returned. The current supported form is either \"routine_type:\" or \"routineType:\", where is a RoutineType enum. Example: \"routineType:SCALAR_FUNCTION\".",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "maxResults": {
-	//       "description": "The maximum number of results to return in a single response page.\nLeverage the page tokens to iterate through the entire collection.",
+	//       "description": "The maximum number of results to return in a single response page. Leverage the page tokens to iterate through the entire collection.",
 	//       "format": "uint32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Page token, returned by a previous call, to request the next page of\nresults",
+	//       "description": "Page token, returned by a previous call, to request the next page of results",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -11563,7 +11198,7 @@
 	//       "type": "string"
 	//     },
 	//     "readMask": {
-	//       "description": "If set, then only the Routine fields in the field mask, as well as\nproject_id, dataset_id and routine_id, are returned in the response.\nIf unset, then the following Routine fields are returned:\netag, project_id, dataset_id, routine_id, routine_type, creation_time,\nlast_modified_time, and language.",
+	//       "description": "If set, then only the Routine fields in the field mask, as well as project_id, dataset_id and routine_id, are returned in the response. If unset, then the following Routine fields are returned: etag, project_id, dataset_id, routine_id, routine_type, creation_time, last_modified_time, and language.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -11618,8 +11253,7 @@
 }
 
 // Update: Updates information in an existing routine. The update method
-// replaces the
-// entire Routine resource.
+// replaces the entire Routine resource.
 func (r *RoutinesService) Update(projectId string, datasetId string, routineId string, routine *Routine) *RoutinesUpdateCall {
 	c := &RoutinesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -11656,7 +11290,7 @@
 
 func (c *RoutinesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11722,7 +11356,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates information in an existing routine. The update method replaces the\nentire Routine resource.",
+	//   "description": "Updates information in an existing routine. The update method replaces the entire Routine resource.",
 	//   "flatPath": "projects/{projectsId}/datasets/{datasetsId}/routines/{routinesId}",
 	//   "httpMethod": "PUT",
 	//   "id": "bigquery.routines.update",
@@ -11820,7 +11454,7 @@
 
 func (c *TabledataInsertAllCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12019,7 +11653,7 @@
 
 func (c *TabledataListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12217,7 +11851,7 @@
 
 func (c *TablesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12359,7 +11993,7 @@
 
 func (c *TablesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12481,9 +12115,8 @@
 	header_             http.Header
 }
 
-// GetIamPolicy: Gets the access control policy for a resource.
-// Returns an empty policy if the resource exists and does not have a
-// policy
+// GetIamPolicy: Gets the access control policy for a resource. Returns
+// an empty policy if the resource exists and does not have a policy
 // set.
 func (r *TablesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *TablesGetIamPolicyCall {
 	c := &TablesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -12519,7 +12152,7 @@
 
 func (c *TablesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12583,7 +12216,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
+	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
 	//   "flatPath": "projects/{projectsId}/datasets/{datasetsId}/tables/{tablesId}:getIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "bigquery.tables.getIamPolicy",
@@ -12592,7 +12225,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/datasets/[^/]+/tables/[^/]+$",
 	//       "required": true,
@@ -12664,7 +12297,7 @@
 
 func (c *TablesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12837,7 +12470,7 @@
 
 func (c *TablesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13020,7 +12653,7 @@
 
 func (c *TablesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13141,11 +12774,8 @@
 }
 
 // SetIamPolicy: Sets the access control policy on the specified
-// resource. Replaces any
-// existing policy.
-//
-// Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`
-// errors.
+// resource. Replaces any existing policy. Can return `NOT_FOUND`,
+// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
 func (r *TablesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *TablesSetIamPolicyCall {
 	c := &TablesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -13180,7 +12810,7 @@
 
 func (c *TablesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13244,7 +12874,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
+	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
 	//   "flatPath": "projects/{projectsId}/datasets/{datasetsId}/tables/{tablesId}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "bigquery.tables.setIamPolicy",
@@ -13253,7 +12883,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/datasets/[^/]+/tables/[^/]+$",
 	//       "required": true,
@@ -13287,16 +12917,11 @@
 }
 
 // TestIamPermissions: 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.
+// 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.
 func (r *TablesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *TablesTestIamPermissionsCall {
 	c := &TablesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -13331,7 +12956,7 @@
 
 func (c *TablesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13395,7 +13020,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+	//   "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
 	//   "flatPath": "projects/{projectsId}/datasets/{datasetsId}/tables/{tablesId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "bigquery.tables.testIamPermissions",
@@ -13404,7 +13029,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/datasets/[^/]+/tables/[^/]+$",
 	//       "required": true,
@@ -13480,7 +13105,7 @@
 
 func (c *TablesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/bigqueryconnection/v1beta1/bigqueryconnection-api.json b/bigqueryconnection/v1beta1/bigqueryconnection-api.json
index 98c8483..56234f4 100644
--- a/bigqueryconnection/v1beta1/bigqueryconnection-api.json
+++ b/bigqueryconnection/v1beta1/bigqueryconnection-api.json
@@ -129,7 +129,7 @@
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. Parent resource name.\nMust be in the format `projects/{project_id}/locations/{location_id}`",
+                      "description": "Required. Parent resource name. Must be in the format `projects/{project_id}/locations/{location_id}`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -158,7 +158,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. Name of the deleted connection, for example:\n`projects/{project_id}/locations/{location_id}/connections/{connection_id}`",
+                      "description": "Required. Name of the deleted connection, for example: `projects/{project_id}/locations/{location_id}/connections/{connection_id}`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                       "required": true,
@@ -184,7 +184,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. Name of the requested connection, for example:\n`projects/{project_id}/locations/{location_id}/connections/{connection_id}`",
+                      "description": "Required. Name of the requested connection, for example: `projects/{project_id}/locations/{location_id}/connections/{connection_id}`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                       "required": true,
@@ -201,7 +201,7 @@
                   ]
                 },
                 "getIamPolicy": {
-                  "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
+                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:getIamPolicy",
                   "httpMethod": "POST",
                   "id": "bigqueryconnection.projects.locations.connections.getIamPolicy",
@@ -210,7 +210,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                       "required": true,
@@ -250,7 +250,7 @@
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. Parent resource name.\nMust be in the form: `projects/{project_id}/locations/{location_id}`",
+                      "description": "Required. Parent resource name. Must be in the form: `projects/{project_id}/locations/{location_id}`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -267,7 +267,7 @@
                   ]
                 },
                 "patch": {
-                  "description": "Updates the specified connection. For security reasons, also resets\ncredential if connection properties are in the update field mask.",
+                  "description": "Updates the specified connection. For security reasons, also resets credential if connection properties are in the update field mask.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}",
                   "httpMethod": "PATCH",
                   "id": "bigqueryconnection.projects.locations.connections.patch",
@@ -276,7 +276,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. Name of the connection to update, for example:\n`projects/{project_id}/locations/{location_id}/connections/{connection_id}`",
+                      "description": "Required. Name of the connection to update, for example: `projects/{project_id}/locations/{location_id}/connections/{connection_id}`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                       "required": true,
@@ -302,7 +302,7 @@
                   ]
                 },
                 "setIamPolicy": {
-                  "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
+                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:setIamPolicy",
                   "httpMethod": "POST",
                   "id": "bigqueryconnection.projects.locations.connections.setIamPolicy",
@@ -311,7 +311,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                       "required": true,
@@ -331,7 +331,7 @@
                   ]
                 },
                 "testIamPermissions": {
-                  "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:testIamPermissions",
                   "httpMethod": "POST",
                   "id": "bigqueryconnection.projects.locations.connections.testIamPermissions",
@@ -340,7 +340,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
                       "required": true,
@@ -369,7 +369,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. Name of the connection, for example:\n`projects/{project_id}/locations/{location_id}/connections/{connection_id}/credential`",
+                      "description": "Required. Name of the connection, for example: `projects/{project_id}/locations/{location_id}/connections/{connection_id}/credential`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/credential$",
                       "required": true,
@@ -395,11 +395,11 @@
       }
     }
   },
-  "revision": "20200617",
+  "revision": "20200805",
   "rootUrl": "https://bigqueryconnection.googleapis.com/",
   "schemas": {
     "AuditConfig": {
-      "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n    {\n      \"audit_configs\": [\n        {\n          \"service\": \"allServices\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n              \"exempted_members\": [\n                \"user:jose@example.com\"\n              ]\n            },\n            {\n              \"log_type\": \"DATA_WRITE\"\n            },\n            {\n              \"log_type\": \"ADMIN_READ\"\n            }\n          ]\n        },\n        {\n          \"service\": \"sampleservice.googleapis.com\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\"\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n              \"exempted_members\": [\n                \"user:aliya@example.com\"\n              ]\n            }\n          ]\n        }\n      ]\n    }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.",
+      "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.",
       "id": "AuditConfig",
       "properties": {
         "auditLogConfigs": {
@@ -410,18 +410,18 @@
           "type": "array"
         },
         "service": {
-          "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.",
+          "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "AuditLogConfig": {
-      "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n    {\n      \"audit_log_configs\": [\n        {\n          \"log_type\": \"DATA_READ\",\n          \"exempted_members\": [\n            \"user:jose@example.com\"\n          ]\n        },\n        {\n          \"log_type\": \"DATA_WRITE\"\n        }\n      ]\n    }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.",
+      "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.",
       "id": "AuditLogConfig",
       "properties": {
         "exemptedMembers": {
-          "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.",
+          "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.",
           "items": {
             "type": "string"
           },
@@ -452,17 +452,17 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
           "type": "string"
         }
       },
@@ -517,7 +517,7 @@
       "type": "object"
     },
     "Connection": {
-      "description": "Configuration parameters to establish connection with an external data\nsource, except the credential attributes.",
+      "description": "Configuration parameters to establish connection with an external data source, except the credential attributes.",
       "id": "Connection",
       "properties": {
         "cloudSql": {
@@ -527,6 +527,7 @@
         "creationTime": {
           "description": "Output only. The creation timestamp of the connection.",
           "format": "int64",
+          "readOnly": true,
           "type": "string"
         },
         "description": {
@@ -539,15 +540,17 @@
         },
         "hasCredential": {
           "description": "Output only. True, if credential is configured for this connection.",
+          "readOnly": true,
           "type": "boolean"
         },
         "lastModifiedTime": {
           "description": "Output only. The last update timestamp of the connection.",
           "format": "int64",
+          "readOnly": true,
           "type": "string"
         },
         "name": {
-          "description": "The resource name of the connection in the form of:\n`projects/{project_id}/locations/{location_id}/connections/{connection_id}`",
+          "description": "The resource name of the connection in the form of: `projects/{project_id}/locations/{location_id}/connections/{connection_id}`",
           "type": "string"
         }
       },
@@ -565,29 +568,29 @@
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
     },
     "Expr": {
-      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
+      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
       "id": "Expr",
       "properties": {
         "description": {
-          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
+          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
           "type": "string"
         },
         "expression": {
-          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
+          "description": "Textual representation of an expression in Common Expression Language syntax.",
           "type": "string"
         },
         "location": {
-          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
+          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
           "type": "string"
         },
         "title": {
-          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
+          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
           "type": "string"
         }
       },
@@ -599,7 +602,7 @@
       "properties": {
         "options": {
           "$ref": "GetPolicyOptions",
-          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`."
+          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`."
         }
       },
       "type": "object"
@@ -609,7 +612,7 @@
       "id": "GetPolicyOptions",
       "properties": {
         "requestedPolicyVersion": {
-          "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -635,7 +638,7 @@
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\n            \"user:eve@example.com\"\n          ],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "auditConfigs": {
@@ -646,19 +649,19 @@
           "type": "array"
         },
         "bindings": {
-          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
+          "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.",
           "items": {
             "$ref": "Binding"
           },
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
           "format": "byte",
           "type": "string"
         },
         "version": {
-          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -671,10 +674,10 @@
       "properties": {
         "policy": {
           "$ref": "Policy",
-          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
+          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them."
         },
         "updateMask": {
-          "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`",
+          "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`",
           "format": "google-fieldmask",
           "type": "string"
         }
@@ -686,7 +689,7 @@
       "id": "TestIamPermissionsRequest",
       "properties": {
         "permissions": {
-          "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
+          "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
           "items": {
             "type": "string"
           },
@@ -700,7 +703,7 @@
       "id": "TestIamPermissionsResponse",
       "properties": {
         "permissions": {
-          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
+          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
           "items": {
             "type": "string"
           },
diff --git a/bigqueryconnection/v1beta1/bigqueryconnection-gen.go b/bigqueryconnection/v1beta1/bigqueryconnection-gen.go
index 2366e08..aea666f 100644
--- a/bigqueryconnection/v1beta1/bigqueryconnection-gen.go
+++ b/bigqueryconnection/v1beta1/bigqueryconnection-gen.go
@@ -176,72 +176,31 @@
 	s *Service
 }
 
-// AuditConfig: Specifies the audit configuration for a service.
-// The configuration determines which permission types are logged, and
-// what
-// identities, if any, are exempted from logging.
-// An AuditConfig must have one or more AuditLogConfigs.
-//
-// If there are AuditConfigs for both `allServices` and a specific
-// service,
-// the union of the two AuditConfigs is used for that service: the
-// log_types
-// specified in each AuditConfig are enabled, and the exempted_members
-// in each
-// AuditLogConfig are exempted.
-//
-// Example Policy with multiple AuditConfigs:
-//
-//     {
-//       "audit_configs": [
-//         {
-//           "service": "allServices",
-//           "audit_log_configs": [
-//             {
-//               "log_type": "DATA_READ",
-//               "exempted_members": [
-//                 "user:jose@example.com"
-//               ]
-//             },
-//             {
-//               "log_type": "DATA_WRITE"
-//             },
-//             {
-//               "log_type": "ADMIN_READ"
-//             }
-//           ]
-//         },
-//         {
-//           "service": "sampleservice.googleapis.com",
-//           "audit_log_configs": [
-//             {
-//               "log_type": "DATA_READ"
-//             },
-//             {
-//               "log_type": "DATA_WRITE",
-//               "exempted_members": [
-//                 "user:aliya@example.com"
-//               ]
-//             }
-//           ]
-//         }
-//       ]
-//     }
-//
-// For sampleservice, this policy enables DATA_READ, DATA_WRITE and
-// ADMIN_READ
-// logging. It also exempts jose@example.com from DATA_READ logging,
-// and
-// aliya@example.com from DATA_WRITE logging.
+// AuditConfig: Specifies the audit configuration for a service. The
+// configuration determines which permission types are logged, and what
+// identities, if any, are exempted from logging. An AuditConfig must
+// have one or more AuditLogConfigs. If there are AuditConfigs for both
+// `allServices` and a specific service, the union of the two
+// AuditConfigs is used for that service: the log_types specified in
+// each AuditConfig are enabled, and the exempted_members in each
+// AuditLogConfig are exempted. Example Policy with multiple
+// AuditConfigs: { "audit_configs": [ { "service": "allServices",
+// "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members":
+// [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, {
+// "log_type": "ADMIN_READ" } ] }, { "service":
+// "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type":
+// "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [
+// "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy
+// enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts
+// jose@example.com from DATA_READ logging, and aliya@example.com from
+// DATA_WRITE logging.
 type AuditConfig struct {
 	// AuditLogConfigs: The configuration for logging of each type of
 	// permission.
 	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
 
-	// Service: Specifies a service that will be enabled for audit
-	// logging.
-	// For example, `storage.googleapis.com`,
-	// `cloudsql.googleapis.com`.
+	// Service: Specifies a service that will be enabled for audit logging.
+	// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
 	// `allServices` is a special value that covers all services.
 	Service string `json:"service,omitempty"`
 
@@ -270,31 +229,15 @@
 }
 
 // AuditLogConfig: Provides the configuration for logging a type of
-// permissions.
-// Example:
-//
-//     {
-//       "audit_log_configs": [
-//         {
-//           "log_type": "DATA_READ",
-//           "exempted_members": [
-//             "user:jose@example.com"
-//           ]
-//         },
-//         {
-//           "log_type": "DATA_WRITE"
-//         }
-//       ]
-//     }
-//
-// This enables 'DATA_READ' and 'DATA_WRITE' logging, while
-// exempting
-// jose@example.com from DATA_READ logging.
+// permissions. Example: { "audit_log_configs": [ { "log_type":
+// "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, {
+// "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and
+// 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ
+// logging.
 type AuditLogConfig struct {
 	// ExemptedMembers: Specifies the identities that do not cause logging
-	// for this type of
-	// permission.
-	// Follows the same format of Binding.members.
+	// for this type of permission. Follows the same format of
+	// Binding.members.
 	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
 
 	// LogType: The log type that this config enables.
@@ -332,95 +275,53 @@
 
 // Binding: Associates `members` with a `role`.
 type Binding struct {
-	// Condition: The condition that is associated with this binding.
-	//
-	// If the condition evaluates to `true`, then this binding applies to
-	// the
-	// current request.
-	//
-	// If the condition evaluates to `false`, then this binding does not
-	// apply to
-	// the current request. However, a different role binding might grant
-	// the same
-	// role to one or more of the members in this binding.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// Condition: The condition that is associated with this binding. If the
+	// condition evaluates to `true`, then this binding applies to the
+	// current request. If the condition evaluates to `false`, then this
+	// binding does not apply to the current request. However, a different
+	// role binding might grant the same role to one or more of the members
+	// in this binding. To learn which resources support conditions in their
+	// IAM policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	Condition *Expr `json:"condition,omitempty"`
 
 	// Members: Specifies the identities requesting access for a Cloud
-	// Platform resource.
-	// `members` can have the following values:
-	//
-	// * `allUsers`: A special identifier that represents anyone who is
-	//    on the internet; with or without a Google account.
-	//
-	// * `allAuthenticatedUsers`: A special identifier that represents
-	// anyone
-	//    who is authenticated with a Google account or a service
-	// account.
-	//
-	// * `user:{emailid}`: An email address that represents a specific
-	// Google
-	//    account. For example, `alice@example.com` .
-	//
-	//
-	// * `serviceAccount:{emailid}`: An email address that represents a
-	// service
-	//    account. For example,
-	// `my-other-app@appspot.gserviceaccount.com`.
-	//
-	// * `group:{emailid}`: An email address that represents a Google
-	// group.
-	//    For example, `admins@example.com`.
-	//
-	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a user that has been recently deleted.
-	// For
-	//    example, `alice@example.com?uid=123456789012345678901`. If the
-	// user is
-	//    recovered, this value reverts to `user:{emailid}` and the
-	// recovered user
-	//    retains the role in the binding.
-	//
-	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
-	// (plus
-	//    unique identifier) representing a service account that has been
-	// recently
-	//    deleted. For example,
-	//
+	// Platform resource. `members` can have the following values: *
+	// `allUsers`: A special identifier that represents anyone who is on the
+	// internet; with or without a Google account. *
+	// `allAuthenticatedUsers`: A special identifier that represents anyone
+	// who is authenticated with a Google account or a service account. *
+	// `user:{emailid}`: An email address that represents a specific Google
+	// account. For example, `alice@example.com` . *
+	// `serviceAccount:{emailid}`: An email address that represents a
+	// service account. For example,
+	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
+	// email address that represents a Google group. For example,
+	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
+	// email address (plus unique identifier) representing a user that has
+	// been recently deleted. For example,
+	// `alice@example.com?uid=123456789012345678901`. If the user is
+	// recovered, this value reverts to `user:{emailid}` and the recovered
+	// user retains the role in the binding. *
+	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
+	// (plus unique identifier) representing a service account that has been
+	// recently deleted. For example,
 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
-	//
-	//    If the service account is undeleted, this value reverts to
-	//    `serviceAccount:{emailid}` and the undeleted service account
-	// retains the
-	//    role in the binding.
-	//
-	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a Google group that has been recently
-	//    deleted. For example,
-	// `admins@example.com?uid=123456789012345678901`. If
-	//    the group is recovered, this value reverts to `group:{emailid}`
-	// and the
-	//    recovered group retains the role in the binding.
-	//
-	//
-	// * `domain:{domain}`: The G Suite domain (primary) that represents all
-	// the
-	//    users of that domain. For example, `google.com` or
-	// `example.com`.
-	//
-	//
+	// If the service account is undeleted, this value reverts to
+	// `serviceAccount:{emailid}` and the undeleted service account retains
+	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
+	// An email address (plus unique identifier) representing a Google group
+	// that has been recently deleted. For example,
+	// `admins@example.com?uid=123456789012345678901`. If the group is
+	// recovered, this value reverts to `group:{emailid}` and the recovered
+	// group retains the role in the binding. * `domain:{domain}`: The G
+	// Suite domain (primary) that represents all the users of that domain.
+	// For example, `google.com` or `example.com`.
 	Members []string `json:"members,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`.
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -521,8 +422,7 @@
 }
 
 // Connection: Configuration parameters to establish connection with an
-// external data
-// source, except the credential attributes.
+// external data source, except the credential attributes.
 type Connection struct {
 	// CloudSql: Cloud SQL properties.
 	CloudSql *CloudSqlProperties `json:"cloudSql,omitempty"`
@@ -544,10 +444,9 @@
 	// connection.
 	LastModifiedTime int64 `json:"lastModifiedTime,omitempty,string"`
 
-	// Name: The resource name of the connection in the form
-	// of:
-	// `projects/{project_id}/locations/{location_id}/connections/{connec
-	// tion_id}`
+	// Name: The resource name of the connection in the form of:
+	// `projects/{project_id}/locations/{location_id}/connections/{connection
+	// _id}`
 	Name string `json:"name,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -606,17 +505,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -624,65 +517,40 @@
 }
 
 // Expr: Represents a textual expression in the Common Expression
-// Language (CEL)
-// syntax. CEL is a C-like expression language. The syntax and semantics
-// of CEL
-// are documented at https://github.com/google/cel-spec.
-//
-// Example (Comparison):
-//
-//     title: "Summary size limit"
-//     description: "Determines if a summary is less than 100 chars"
-//     expression: "document.summary.size() < 100"
-//
-// Example (Equality):
-//
-//     title: "Requestor is owner"
-//     description: "Determines if requestor is the document owner"
-//     expression: "document.owner ==
-// request.auth.claims.email"
-//
-// Example (Logic):
-//
-//     title: "Public documents"
-//     description: "Determine whether the document should be publicly
-// visible"
-//     expression: "document.type != 'private' && document.type !=
-// 'internal'"
-//
-// Example (Data Manipulation):
-//
-//     title: "Notification string"
-//     description: "Create a notification string with a timestamp."
-//     expression: "'New message received at ' +
-// string(document.create_time)"
-//
-// The exact variables and functions that may be referenced within an
-// expression
-// are determined by the service that evaluates it. See the
-// service
-// documentation for additional information.
+// Language (CEL) syntax. CEL is a C-like expression language. The
+// syntax and semantics of CEL are documented at
+// https://github.com/google/cel-spec. Example (Comparison): title:
+// "Summary size limit" description: "Determines if a summary is less
+// than 100 chars" expression: "document.summary.size() < 100" Example
+// (Equality): title: "Requestor is owner" description: "Determines if
+// requestor is the document owner" expression: "document.owner ==
+// request.auth.claims.email" Example (Logic): title: "Public documents"
+// description: "Determine whether the document should be publicly
+// visible" expression: "document.type != 'private' && document.type !=
+// 'internal'" Example (Data Manipulation): title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' +
+// string(document.create_time)" The exact variables and functions that
+// may be referenced within an expression are determined by the service
+// that evaluates it. See the service documentation for additional
+// information.
 type Expr struct {
 	// Description: Optional. Description of the expression. This is a
-	// longer text which
-	// describes the expression, e.g. when hovered over it in a UI.
+	// longer text which describes the expression, e.g. when hovered over it
+	// in a UI.
 	Description string `json:"description,omitempty"`
 
 	// Expression: Textual representation of an expression in Common
-	// Expression Language
-	// syntax.
+	// Expression Language syntax.
 	Expression string `json:"expression,omitempty"`
 
 	// Location: Optional. String indicating the location of the expression
-	// for error
-	// reporting, e.g. a file name and a position in the file.
+	// for error reporting, e.g. a file name and a position in the file.
 	Location string `json:"location,omitempty"`
 
 	// Title: Optional. Title for the expression, i.e. a short string
-	// describing
-	// its purpose. This can be used e.g. in UIs which allow to enter
-	// the
-	// expression.
+	// describing its purpose. This can be used e.g. in UIs which allow to
+	// enter the expression.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -711,8 +579,7 @@
 // GetIamPolicyRequest: Request message for `GetIamPolicy` method.
 type GetIamPolicyRequest struct {
 	// Options: OPTIONAL: A `GetPolicyOptions` object for specifying options
-	// to
-	// `GetIamPolicy`.
+	// to `GetIamPolicy`.
 	Options *GetPolicyOptions `json:"options,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Options") to
@@ -741,24 +608,14 @@
 // GetPolicyOptions: Encapsulates settings provided to GetIamPolicy.
 type GetPolicyOptions struct {
 	// RequestedPolicyVersion: Optional. The policy format version to be
-	// returned.
-	//
-	// Valid values are 0, 1, and 3. Requests specifying an invalid value
-	// will be
-	// rejected.
-	//
-	// Requests for policies with any conditional bindings must specify
-	// version 3.
-	// Policies without any conditional bindings may specify any valid value
-	// or
-	// leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// returned. Valid values are 0, 1, and 3. Requests specifying an
+	// invalid value will be rejected. Requests for policies with any
+	// conditional bindings must specify version 3. Policies without any
+	// conditional bindings may specify any valid value or leave the field
+	// unset. To learn which resources support conditions in their IAM
+	// policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	RequestedPolicyVersion int64 `json:"requestedPolicyVersion,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -823,154 +680,77 @@
 }
 
 // Policy: An Identity and Access Management (IAM) policy, which
-// specifies access
-// controls for Google Cloud resources.
-//
-//
-// A `Policy` is a collection of `bindings`. A `binding` binds one or
-// more
-// `members` to a single `role`. Members can be user accounts, service
-// accounts,
+// specifies access controls for Google Cloud resources. A `Policy` is a
+// collection of `bindings`. A `binding` binds one or more `members` to
+// a single `role`. Members can be user accounts, service accounts,
 // Google groups, and domains (such as G Suite). A `role` is a named
-// list of
-// permissions; each `role` can be an IAM predefined role or a
-// user-created
-// custom role.
-//
-// For some types of Google Cloud resources, a `binding` can also
-// specify a
-// `condition`, which is a logical expression that allows access to a
-// resource
-// only if the expression evaluates to `true`. A condition can add
-// constraints
-// based on attributes of the request, the resource, or both. To learn
-// which
-// resources support conditions in their IAM policies, see the
-// [IAM
+// list of permissions; each `role` can be an IAM predefined role or a
+// user-created custom role. For some types of Google Cloud resources, a
+// `binding` can also specify a `condition`, which is a logical
+// expression that allows access to a resource only if the expression
+// evaluates to `true`. A condition can add constraints based on
+// attributes of the request, the resource, or both. To learn which
+// resources support conditions in their IAM policies, see the [IAM
 // documentation](https://cloud.google.com/iam/help/conditions/resource-p
-// olicies).
-//
-// **JSON example:**
-//
-//     {
-//       "bindings": [
-//         {
-//           "role": "roles/resourcemanager.organizationAdmin",
-//           "members": [
-//             "user:mike@example.com",
-//             "group:admins@example.com",
-//             "domain:google.com",
-//
-// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
-//           ]
-//         },
-//         {
-//           "role": "roles/resourcemanager.organizationViewer",
-//           "members": [
-//             "user:eve@example.com"
-//           ],
-//           "condition": {
-//             "title": "expirable access",
-//             "description": "Does not grant access after Sep 2020",
-//             "expression": "request.time <
-// timestamp('2020-10-01T00:00:00.000Z')",
-//           }
-//         }
-//       ],
-//       "etag": "BwWWja0YfJA=",
-//       "version": 3
-//     }
-//
-// **YAML example:**
-//
-//     bindings:
-//     - members:
-//       - user:mike@example.com
-//       - group:admins@example.com
-//       - domain:google.com
-//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
-//       role: roles/resourcemanager.organizationAdmin
-//     - members:
-//       - user:eve@example.com
-//       role: roles/resourcemanager.organizationViewer
-//       condition:
-//         title: expirable access
-//         description: Does not grant access after Sep 2020
-//         expression: request.time <
-// timestamp('2020-10-01T00:00:00.000Z')
-//     - etag: BwWWja0YfJA=
-//     - version: 3
-//
-// For a description of IAM and its features, see the
-// [IAM documentation](https://cloud.google.com/iam/docs/).
+// olicies). **JSON example:** { "bindings": [ { "role":
+// "roles/resourcemanager.organizationAdmin", "members": [
+// "user:mike@example.com", "group:admins@example.com",
+// "domain:google.com",
+// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
+// "role": "roles/resourcemanager.organizationViewer", "members": [
+// "user:eve@example.com" ], "condition": { "title": "expirable access",
+// "description": "Does not grant access after Sep 2020", "expression":
+// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
+// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
+// members: - user:mike@example.com - group:admins@example.com -
+// domain:google.com -
+// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
+// roles/resourcemanager.organizationAdmin - members: -
+// user:eve@example.com role: roles/resourcemanager.organizationViewer
+// condition: title: expirable access description: Does not grant access
+// after Sep 2020 expression: request.time <
+// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
+// 3 For a description of IAM and its features, see the [IAM
+// documentation](https://cloud.google.com/iam/docs/).
 type Policy struct {
 	// AuditConfigs: Specifies cloud audit logging configuration for this
 	// policy.
 	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
 
 	// Bindings: Associates a list of `members` to a `role`. Optionally, may
-	// specify a
-	// `condition` that determines how and when the `bindings` are applied.
-	// Each
-	// of the `bindings` must contain at least one member.
+	// specify a `condition` that determines how and when the `bindings` are
+	// applied. Each of the `bindings` must contain at least one member.
 	Bindings []*Binding `json:"bindings,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a policy from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform policy updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `getIamPolicy`,
-	// and
-	// systems are expected to put that etag in the request to
-	// `setIamPolicy` to
-	// ensure that their change will be applied to the same version of the
-	// policy.
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
+	// help prevent simultaneous updates of a policy from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform policy updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `getIamPolicy`, and systems are expected to put that etag in the
+	// request to `setIamPolicy` to ensure that their change will be applied
+	// to the same version of the policy. **Important:** If you use IAM
+	// Conditions, you must include the `etag` field whenever you call
+	// `setIamPolicy`. If you omit this field, then IAM allows you to
+	// overwrite a version `3` policy with a version `1` policy, and all of
 	// the conditions in the version `3` policy are lost.
 	Etag string `json:"etag,omitempty"`
 
-	// Version: Specifies the format of the policy.
-	//
-	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
-	// value
-	// are rejected.
-	//
+	// Version: Specifies the format of the policy. Valid values are `0`,
+	// `1`, and `3`. Requests that specify an invalid value are rejected.
 	// Any operation that affects conditional role bindings must specify
-	// version
-	// `3`. This requirement applies to the following operations:
-	//
-	// * Getting a policy that includes a conditional role binding
-	// * Adding a conditional role binding to a policy
-	// * Changing a conditional role binding in a policy
-	// * Removing any role binding, with or without a condition, from a
-	// policy
-	//   that includes conditions
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
-	// the conditions in the version `3` policy are lost.
-	//
-	// If a policy does not include any conditions, operations on that
-	// policy may
-	// specify any valid version or leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see the
-	// [IAM
+	// version `3`. This requirement applies to the following operations: *
+	// Getting a policy that includes a conditional role binding * Adding a
+	// conditional role binding to a policy * Changing a conditional role
+	// binding in a policy * Removing any role binding, with or without a
+	// condition, from a policy that includes conditions **Important:** If
+	// you use IAM Conditions, you must include the `etag` field whenever
+	// you call `setIamPolicy`. If you omit this field, then IAM allows you
+	// to overwrite a version `3` policy with a version `1` policy, and all
+	// of the conditions in the version `3` policy are lost. If a policy
+	// does not include any conditions, operations on that policy may
+	// specify any valid version or leave the field unset. To learn which
+	// resources support conditions in their IAM policies, see the [IAM
 	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
 	// olicies).
 	Version int64 `json:"version,omitempty"`
@@ -1005,20 +785,15 @@
 // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
 type SetIamPolicyRequest struct {
 	// Policy: REQUIRED: The complete policy to be applied to the
-	// `resource`. The size of
-	// the policy is limited to a few 10s of KB. An empty policy is a
-	// valid policy but certain Cloud Platform services (such as
-	// Projects)
-	// might reject them.
+	// `resource`. The size of the policy is limited to a few 10s of KB. An
+	// empty policy is a valid policy but certain Cloud Platform services
+	// (such as Projects) might reject them.
 	Policy *Policy `json:"policy,omitempty"`
 
 	// UpdateMask: OPTIONAL: A FieldMask specifying which fields of the
-	// policy to modify. Only
-	// the fields in the mask will be modified. If no mask is provided,
-	// the
-	// following default mask is used:
-	//
-	// `paths: "bindings, etag"
+	// policy to modify. Only the fields in the mask will be modified. If no
+	// mask is provided, the following default mask is used: `paths:
+	// "bindings, etag"
 	UpdateMask string `json:"updateMask,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Policy") to
@@ -1048,11 +823,8 @@
 // method.
 type TestIamPermissionsRequest struct {
 	// Permissions: The set of permissions to check for the `resource`.
-	// Permissions with
-	// wildcards (such as '*' or 'storage.*') are not allowed. For
-	// more
-	// information see
-	// [IAM
+	// Permissions with wildcards (such as '*' or 'storage.*') are not
+	// allowed. For more information see [IAM
 	// Overview](https://cloud.google.com/iam/docs/overview#permissions).
 	Permissions []string `json:"permissions,omitempty"`
 
@@ -1083,8 +855,7 @@
 // method.
 type TestIamPermissionsResponse struct {
 	// Permissions: A subset of `TestPermissionsRequest.permissions` that
-	// the caller is
-	// allowed.
+	// the caller is allowed.
 	Permissions []string `json:"permissions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1167,7 +938,7 @@
 
 func (c *ProjectsLocationsConnectionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1245,7 +1016,7 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. Parent resource name.\nMust be in the format `projects/{project_id}/locations/{location_id}`",
+	//       "description": "Required. Parent resource name. Must be in the format `projects/{project_id}/locations/{location_id}`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
@@ -1311,7 +1082,7 @@
 
 func (c *ProjectsLocationsConnectionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1379,7 +1150,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. Name of the deleted connection, for example:\n`projects/{project_id}/locations/{location_id}/connections/{connection_id}`",
+	//       "description": "Required. Name of the deleted connection, for example: `projects/{project_id}/locations/{location_id}/connections/{connection_id}`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
 	//       "required": true,
@@ -1453,7 +1224,7 @@
 
 func (c *ProjectsLocationsConnectionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1524,7 +1295,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. Name of the requested connection, for example:\n`projects/{project_id}/locations/{location_id}/connections/{connection_id}`",
+	//       "description": "Required. Name of the requested connection, for example: `projects/{project_id}/locations/{location_id}/connections/{connection_id}`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
 	//       "required": true,
@@ -1554,9 +1325,8 @@
 	header_             http.Header
 }
 
-// GetIamPolicy: Gets the access control policy for a resource.
-// Returns an empty policy if the resource exists and does not have a
-// policy
+// GetIamPolicy: Gets the access control policy for a resource. Returns
+// an empty policy if the resource exists and does not have a policy
 // set.
 func (r *ProjectsLocationsConnectionsService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsConnectionsGetIamPolicyCall {
 	c := &ProjectsLocationsConnectionsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -1592,7 +1362,7 @@
 
 func (c *ProjectsLocationsConnectionsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1656,7 +1426,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
+	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:getIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "bigqueryconnection.projects.locations.connections.getIamPolicy",
@@ -1665,7 +1435,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
 	//       "required": true,
@@ -1755,7 +1525,7 @@
 
 func (c *ProjectsLocationsConnectionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1837,7 +1607,7 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. Parent resource name.\nMust be in the form: `projects/{project_id}/locations/{location_id}`",
+	//       "description": "Required. Parent resource name. Must be in the form: `projects/{project_id}/locations/{location_id}`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
@@ -1889,8 +1659,8 @@
 }
 
 // Patch: Updates the specified connection. For security reasons, also
-// resets
-// credential if connection properties are in the update field mask.
+// resets credential if connection properties are in the update field
+// mask.
 func (r *ProjectsLocationsConnectionsService) Patch(name string, connection *Connection) *ProjectsLocationsConnectionsPatchCall {
 	c := &ProjectsLocationsConnectionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -1932,7 +1702,7 @@
 
 func (c *ProjectsLocationsConnectionsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1996,7 +1766,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates the specified connection. For security reasons, also resets\ncredential if connection properties are in the update field mask.",
+	//   "description": "Updates the specified connection. For security reasons, also resets credential if connection properties are in the update field mask.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}",
 	//   "httpMethod": "PATCH",
 	//   "id": "bigqueryconnection.projects.locations.connections.patch",
@@ -2005,7 +1775,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. Name of the connection to update, for example:\n`projects/{project_id}/locations/{location_id}/connections/{connection_id}`",
+	//       "description": "Required. Name of the connection to update, for example: `projects/{project_id}/locations/{location_id}/connections/{connection_id}`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
 	//       "required": true,
@@ -2045,11 +1815,8 @@
 }
 
 // SetIamPolicy: Sets the access control policy on the specified
-// resource. Replaces any
-// existing policy.
-//
-// Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`
-// errors.
+// resource. Replaces any existing policy. Can return `NOT_FOUND`,
+// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
 func (r *ProjectsLocationsConnectionsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsConnectionsSetIamPolicyCall {
 	c := &ProjectsLocationsConnectionsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -2084,7 +1851,7 @@
 
 func (c *ProjectsLocationsConnectionsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2148,7 +1915,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
+	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "bigqueryconnection.projects.locations.connections.setIamPolicy",
@@ -2157,7 +1924,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
 	//       "required": true,
@@ -2191,16 +1958,11 @@
 }
 
 // TestIamPermissions: 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.
+// 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.
 func (r *ProjectsLocationsConnectionsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsConnectionsTestIamPermissionsCall {
 	c := &ProjectsLocationsConnectionsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -2235,7 +1997,7 @@
 
 func (c *ProjectsLocationsConnectionsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2299,7 +2061,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+	//   "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "bigqueryconnection.projects.locations.connections.testIamPermissions",
@@ -2308,7 +2070,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$",
 	//       "required": true,
@@ -2376,7 +2138,7 @@
 
 func (c *ProjectsLocationsConnectionsUpdateCredentialCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2449,7 +2211,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. Name of the connection, for example:\n`projects/{project_id}/locations/{location_id}/connections/{connection_id}/credential`",
+	//       "description": "Required. Name of the connection, for example: `projects/{project_id}/locations/{location_id}/connections/{connection_id}/credential`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/credential$",
 	//       "required": true,
diff --git a/bigquerydatatransfer/v1/bigquerydatatransfer-gen.go b/bigquerydatatransfer/v1/bigquerydatatransfer-gen.go
index ac90a50..3a94a24 100644
--- a/bigquerydatatransfer/v1/bigquerydatatransfer-gen.go
+++ b/bigquerydatatransfer/v1/bigquerydatatransfer-gen.go
@@ -1411,7 +1411,7 @@
 
 func (c *ProjectsDataSourcesCheckValidCredsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1564,7 +1564,7 @@
 
 func (c *ProjectsDataSourcesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1730,7 +1730,7 @@
 
 func (c *ProjectsDataSourcesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1909,7 +1909,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2078,7 +2078,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2258,7 +2258,7 @@
 
 func (c *ProjectsLocationsDataSourcesCheckValidCredsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2411,7 +2411,7 @@
 
 func (c *ProjectsLocationsDataSourcesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2577,7 +2577,7 @@
 
 func (c *ProjectsLocationsDataSourcesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2781,7 +2781,7 @@
 
 func (c *ProjectsLocationsTransferConfigsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2935,7 +2935,7 @@
 
 func (c *ProjectsLocationsTransferConfigsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3077,7 +3077,7 @@
 
 func (c *ProjectsLocationsTransferConfigsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3250,7 +3250,7 @@
 
 func (c *ProjectsLocationsTransferConfigsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3469,7 +3469,7 @@
 
 func (c *ProjectsLocationsTransferConfigsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3634,7 +3634,7 @@
 
 func (c *ProjectsLocationsTransferConfigsScheduleRunsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3778,7 +3778,7 @@
 
 func (c *ProjectsLocationsTransferConfigsStartManualRunsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3917,7 +3917,7 @@
 
 func (c *ProjectsLocationsTransferConfigsRunsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4059,7 +4059,7 @@
 
 func (c *ProjectsLocationsTransferConfigsRunsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4251,7 +4251,7 @@
 
 func (c *ProjectsLocationsTransferConfigsRunsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4497,7 +4497,7 @@
 
 func (c *ProjectsLocationsTransferConfigsRunsTransferLogsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4719,7 +4719,7 @@
 
 func (c *ProjectsTransferConfigsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4873,7 +4873,7 @@
 
 func (c *ProjectsTransferConfigsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5015,7 +5015,7 @@
 
 func (c *ProjectsTransferConfigsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5188,7 +5188,7 @@
 
 func (c *ProjectsTransferConfigsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5407,7 +5407,7 @@
 
 func (c *ProjectsTransferConfigsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5572,7 +5572,7 @@
 
 func (c *ProjectsTransferConfigsScheduleRunsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5716,7 +5716,7 @@
 
 func (c *ProjectsTransferConfigsStartManualRunsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5855,7 +5855,7 @@
 
 func (c *ProjectsTransferConfigsRunsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5997,7 +5997,7 @@
 
 func (c *ProjectsTransferConfigsRunsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6189,7 +6189,7 @@
 
 func (c *ProjectsTransferConfigsRunsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6435,7 +6435,7 @@
 
 func (c *ProjectsTransferConfigsRunsTransferLogsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/bigqueryreservation/v1/bigqueryreservation-api.json b/bigqueryreservation/v1/bigqueryreservation-api.json
index 707cab3..7925772 100644
--- a/bigqueryreservation/v1/bigqueryreservation-api.json
+++ b/bigqueryreservation/v1/bigqueryreservation-api.json
@@ -845,7 +845,7 @@
       }
     }
   },
-  "revision": "20200801",
+  "revision": "20200808",
   "rootUrl": "https://bigqueryreservation.googleapis.com/",
   "schemas": {
     "Assignment": {
@@ -1157,6 +1157,12 @@
       "description": "A reservation is a mechanism used to guarantee slots to users.",
       "id": "Reservation",
       "properties": {
+        "creationTime": {
+          "description": "Output only. Creation time of the reservation.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
+        },
         "ignoreIdleSlots": {
           "description": "If false, any query using this reservation will use idle slots from other reservations within the same admin project. If true, a query using this reservation will execute with the slot capacity specified above at most.",
           "type": "boolean"
@@ -1169,6 +1175,12 @@
           "description": "Minimum slots available to this reservation. A slot is a unit of computational power in BigQuery, and serves as the unit of parallelism. Queries using this reservation might use more slots during runtime if ignore_idle_slots is set to false. If the new reservation's slot capacity exceed the parent's slot capacity or if total slot capacity of the new reservation and its siblings exceeds the parent's slot capacity, the request will fail with `google.rpc.Code.RESOURCE_EXHAUSTED`.",
           "format": "int64",
           "type": "string"
+        },
+        "updateTime": {
+          "description": "Output only. Last update time of the reservation.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
         }
       },
       "type": "object"
diff --git a/bigqueryreservation/v1/bigqueryreservation-gen.go b/bigqueryreservation/v1/bigqueryreservation-gen.go
index 69a62b0..d0cfca4 100644
--- a/bigqueryreservation/v1/bigqueryreservation-gen.go
+++ b/bigqueryreservation/v1/bigqueryreservation-gen.go
@@ -752,6 +752,9 @@
 // Reservation: A reservation is a mechanism used to guarantee slots to
 // users.
 type Reservation struct {
+	// CreationTime: Output only. Creation time of the reservation.
+	CreationTime string `json:"creationTime,omitempty"`
+
 	// IgnoreIdleSlots: If false, any query using this reservation will use
 	// idle slots from other reservations within the same admin project. If
 	// true, a query using this reservation will execute with the slot
@@ -772,11 +775,14 @@
 	// `google.rpc.Code.RESOURCE_EXHAUSTED`.
 	SlotCapacity int64 `json:"slotCapacity,omitempty,string"`
 
+	// UpdateTime: Output only. Last update time of the reservation.
+	UpdateTime string `json:"updateTime,omitempty"`
+
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
 	googleapi.ServerResponse `json:"-"`
 
-	// ForceSendFields is a list of field names (e.g. "IgnoreIdleSlots") to
+	// ForceSendFields is a list of field names (e.g. "CreationTime") to
 	// unconditionally include in API requests. By default, fields with
 	// empty values are omitted from API requests. However, any non-pointer,
 	// non-interface field appearing in ForceSendFields will be sent to the
@@ -784,13 +790,12 @@
 	// used to include empty fields in Patch requests.
 	ForceSendFields []string `json:"-"`
 
-	// NullFields is a list of field names (e.g. "IgnoreIdleSlots") to
-	// include in API requests with the JSON null value. By default, fields
-	// with empty values are omitted from API requests. However, any field
-	// with an empty value appearing in NullFields will be sent to the
-	// server as null. It is an error if a field in this list has a
-	// non-empty value. This may be used to include null fields in Patch
-	// requests.
+	// NullFields is a list of field names (e.g. "CreationTime") to include
+	// in API requests with the JSON null value. By default, fields with
+	// empty values are omitted from API requests. However, any field with
+	// an empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
 	NullFields []string `json:"-"`
 }
 
@@ -1031,7 +1036,7 @@
 
 func (c *OperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1203,7 +1208,7 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1385,7 +1390,7 @@
 
 func (c *ProjectsLocationsGetBiReservationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1565,7 +1570,7 @@
 
 func (c *ProjectsLocationsSearchAllAssignmentsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1783,7 +1788,7 @@
 
 func (c *ProjectsLocationsSearchAssignmentsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1967,7 +1972,7 @@
 
 func (c *ProjectsLocationsUpdateBiReservationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2122,7 +2127,7 @@
 
 func (c *ProjectsLocationsCapacityCommitmentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2268,7 +2273,7 @@
 
 func (c *ProjectsLocationsCapacityCommitmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2410,7 +2415,7 @@
 
 func (c *ProjectsLocationsCapacityCommitmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2569,7 +2574,7 @@
 
 func (c *ProjectsLocationsCapacityCommitmentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2741,7 +2746,7 @@
 
 func (c *ProjectsLocationsCapacityCommitmentsMergeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2893,7 +2898,7 @@
 
 func (c *ProjectsLocationsCapacityCommitmentsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3045,7 +3050,7 @@
 
 func (c *ProjectsLocationsCapacityCommitmentsSplitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3194,7 +3199,7 @@
 
 func (c *ProjectsLocationsReservationsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3340,7 +3345,7 @@
 
 func (c *ProjectsLocationsReservationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3482,7 +3487,7 @@
 
 func (c *ProjectsLocationsReservationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3642,7 +3647,7 @@
 
 func (c *ProjectsLocationsReservationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3817,7 +3822,7 @@
 
 func (c *ProjectsLocationsReservationsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3982,7 +3987,7 @@
 
 func (c *ProjectsLocationsReservationsAssignmentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4129,7 +4134,7 @@
 
 func (c *ProjectsLocationsReservationsAssignmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4295,7 +4300,7 @@
 
 func (c *ProjectsLocationsReservationsAssignmentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4466,7 +4471,7 @@
 
 func (c *ProjectsLocationsReservationsAssignmentsMoveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/bigqueryreservation/v1alpha2/bigqueryreservation-gen.go b/bigqueryreservation/v1alpha2/bigqueryreservation-gen.go
index 8c9e39a..d06b944 100644
--- a/bigqueryreservation/v1alpha2/bigqueryreservation-gen.go
+++ b/bigqueryreservation/v1alpha2/bigqueryreservation-gen.go
@@ -803,7 +803,7 @@
 
 func (c *ProjectsLocationsSearchReservationGrantsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -983,7 +983,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1127,7 +1127,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1267,7 +1267,7 @@
 
 func (c *ProjectsLocationsReservationGrantsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1411,7 +1411,7 @@
 
 func (c *ProjectsLocationsReservationGrantsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1572,7 +1572,7 @@
 
 func (c *ProjectsLocationsReservationGrantsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1749,7 +1749,7 @@
 
 func (c *ProjectsLocationsReservationsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1904,7 +1904,7 @@
 
 func (c *ProjectsLocationsReservationsCreateReservationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2061,7 +2061,7 @@
 
 func (c *ProjectsLocationsReservationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2208,7 +2208,7 @@
 
 func (c *ProjectsLocationsReservationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2378,7 +2378,7 @@
 
 func (c *ProjectsLocationsReservationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2559,7 +2559,7 @@
 
 func (c *ProjectsLocationsReservationsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2706,7 +2706,7 @@
 
 func (c *ProjectsLocationsReservationsSlotPoolsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2848,7 +2848,7 @@
 
 func (c *ProjectsLocationsReservationsSlotPoolsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3007,7 +3007,7 @@
 
 func (c *ProjectsLocationsReservationsSlotPoolsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/bigqueryreservation/v1beta1/bigqueryreservation-api.json b/bigqueryreservation/v1beta1/bigqueryreservation-api.json
index c418c64..b730e02 100644
--- a/bigqueryreservation/v1beta1/bigqueryreservation-api.json
+++ b/bigqueryreservation/v1beta1/bigqueryreservation-api.json
@@ -736,7 +736,7 @@
       }
     }
   },
-  "revision": "20200801",
+  "revision": "20200808",
   "rootUrl": "https://bigqueryreservation.googleapis.com/",
   "schemas": {
     "Assignment": {
@@ -995,6 +995,12 @@
       "description": "A reservation is a mechanism used to guarantee slots to users.",
       "id": "Reservation",
       "properties": {
+        "creationTime": {
+          "description": "Output only. Creation time of the reservation.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
+        },
         "ignoreIdleSlots": {
           "description": "If false, any query using this reservation will use idle slots from other reservations within the same admin project. If true, a query using this reservation will execute with the slot capacity specified above at most.",
           "type": "boolean"
@@ -1007,6 +1013,12 @@
           "description": "Minimum slots available to this reservation. A slot is a unit of computational power in BigQuery, and serves as the unit of parallelism. Queries using this reservation might use more slots during runtime if ignore_idle_slots is set to false. If the new reservation's slot capacity exceed the parent's slot capacity or if total slot capacity of the new reservation and its siblings exceeds the parent's slot capacity, the request will fail with `google.rpc.Code.RESOURCE_EXHAUSTED`.",
           "format": "int64",
           "type": "string"
+        },
+        "updateTime": {
+          "description": "Output only. Last update time of the reservation.",
+          "format": "google-datetime",
+          "readOnly": true,
+          "type": "string"
         }
       },
       "type": "object"
diff --git a/bigqueryreservation/v1beta1/bigqueryreservation-gen.go b/bigqueryreservation/v1beta1/bigqueryreservation-gen.go
index 357ca27..9871b84 100644
--- a/bigqueryreservation/v1beta1/bigqueryreservation-gen.go
+++ b/bigqueryreservation/v1beta1/bigqueryreservation-gen.go
@@ -645,6 +645,9 @@
 // Reservation: A reservation is a mechanism used to guarantee slots to
 // users.
 type Reservation struct {
+	// CreationTime: Output only. Creation time of the reservation.
+	CreationTime string `json:"creationTime,omitempty"`
+
 	// IgnoreIdleSlots: If false, any query using this reservation will use
 	// idle slots from other reservations within the same admin project. If
 	// true, a query using this reservation will execute with the slot
@@ -665,11 +668,14 @@
 	// `google.rpc.Code.RESOURCE_EXHAUSTED`.
 	SlotCapacity int64 `json:"slotCapacity,omitempty,string"`
 
+	// UpdateTime: Output only. Last update time of the reservation.
+	UpdateTime string `json:"updateTime,omitempty"`
+
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
 	googleapi.ServerResponse `json:"-"`
 
-	// ForceSendFields is a list of field names (e.g. "IgnoreIdleSlots") to
+	// ForceSendFields is a list of field names (e.g. "CreationTime") to
 	// unconditionally include in API requests. By default, fields with
 	// empty values are omitted from API requests. However, any non-pointer,
 	// non-interface field appearing in ForceSendFields will be sent to the
@@ -677,13 +683,12 @@
 	// used to include empty fields in Patch requests.
 	ForceSendFields []string `json:"-"`
 
-	// NullFields is a list of field names (e.g. "IgnoreIdleSlots") to
-	// include in API requests with the JSON null value. By default, fields
-	// with empty values are omitted from API requests. However, any field
-	// with an empty value appearing in NullFields will be sent to the
-	// server as null. It is an error if a field in this list has a
-	// non-empty value. This may be used to include null fields in Patch
-	// requests.
+	// NullFields is a list of field names (e.g. "CreationTime") to include
+	// in API requests with the JSON null value. By default, fields with
+	// empty values are omitted from API requests. However, any field with
+	// an empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
 	NullFields []string `json:"-"`
 }
 
@@ -895,7 +900,7 @@
 
 func (c *ProjectsLocationsGetBiReservationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1076,7 +1081,7 @@
 
 func (c *ProjectsLocationsSearchAssignmentsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1260,7 +1265,7 @@
 
 func (c *ProjectsLocationsUpdateBiReservationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1415,7 +1420,7 @@
 
 func (c *ProjectsLocationsCapacityCommitmentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1561,7 +1566,7 @@
 
 func (c *ProjectsLocationsCapacityCommitmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1703,7 +1708,7 @@
 
 func (c *ProjectsLocationsCapacityCommitmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1862,7 +1867,7 @@
 
 func (c *ProjectsLocationsCapacityCommitmentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2034,7 +2039,7 @@
 
 func (c *ProjectsLocationsCapacityCommitmentsMergeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2186,7 +2191,7 @@
 
 func (c *ProjectsLocationsCapacityCommitmentsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2338,7 +2343,7 @@
 
 func (c *ProjectsLocationsCapacityCommitmentsSplitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2487,7 +2492,7 @@
 
 func (c *ProjectsLocationsReservationsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2633,7 +2638,7 @@
 
 func (c *ProjectsLocationsReservationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2775,7 +2780,7 @@
 
 func (c *ProjectsLocationsReservationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2945,7 +2950,7 @@
 
 func (c *ProjectsLocationsReservationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3125,7 +3130,7 @@
 
 func (c *ProjectsLocationsReservationsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3290,7 +3295,7 @@
 
 func (c *ProjectsLocationsReservationsAssignmentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3437,7 +3442,7 @@
 
 func (c *ProjectsLocationsReservationsAssignmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3603,7 +3608,7 @@
 
 func (c *ProjectsLocationsReservationsAssignmentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3774,7 +3779,7 @@
 
 func (c *ProjectsLocationsReservationsAssignmentsMoveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/bigtableadmin/v2/bigtableadmin-gen.go b/bigtableadmin/v2/bigtableadmin-gen.go
index acea466..620ad04 100644
--- a/bigtableadmin/v2/bigtableadmin-gen.go
+++ b/bigtableadmin/v2/bigtableadmin-gen.go
@@ -3225,7 +3225,7 @@
 
 func (c *OperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3366,7 +3366,7 @@
 
 func (c *OperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3516,7 +3516,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3703,7 +3703,7 @@
 
 func (c *OperationsProjectsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3881,7 +3881,7 @@
 
 func (c *ProjectsInstancesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4024,7 +4024,7 @@
 
 func (c *ProjectsInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4170,7 +4170,7 @@
 
 func (c *ProjectsInstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4313,7 +4313,7 @@
 
 func (c *ProjectsInstancesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4474,7 +4474,7 @@
 
 func (c *ProjectsInstancesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4651,7 +4651,7 @@
 
 func (c *ProjectsInstancesPartialUpdateInstanceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4804,7 +4804,7 @@
 
 func (c *ProjectsInstancesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4950,7 +4950,7 @@
 
 func (c *ProjectsInstancesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5099,7 +5099,7 @@
 
 func (c *ProjectsInstancesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5262,7 +5262,7 @@
 
 func (c *ProjectsInstancesAppProfilesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5423,7 +5423,7 @@
 
 func (c *ProjectsInstancesAppProfilesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5574,7 +5574,7 @@
 
 func (c *ProjectsInstancesAppProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5750,7 +5750,7 @@
 
 func (c *ProjectsInstancesAppProfilesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5937,7 +5937,7 @@
 
 func (c *ProjectsInstancesAppProfilesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6104,7 +6104,7 @@
 
 func (c *ProjectsInstancesClustersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6252,7 +6252,7 @@
 
 func (c *ProjectsInstancesClustersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6398,7 +6398,7 @@
 
 func (c *ProjectsInstancesClustersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6555,7 +6555,7 @@
 
 func (c *ProjectsInstancesClustersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6722,7 +6722,7 @@
 
 func (c *ProjectsInstancesClustersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6892,7 +6892,7 @@
 
 func (c *ProjectsInstancesClustersBackupsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7039,7 +7039,7 @@
 
 func (c *ProjectsInstancesClustersBackupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7184,7 +7184,7 @@
 
 func (c *ProjectsInstancesClustersBackupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7327,7 +7327,7 @@
 
 func (c *ProjectsInstancesClustersBackupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7577,7 +7577,7 @@
 
 func (c *ProjectsInstancesClustersBackupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7772,7 +7772,7 @@
 
 func (c *ProjectsInstancesClustersBackupsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7924,7 +7924,7 @@
 
 func (c *ProjectsInstancesClustersBackupsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8069,7 +8069,7 @@
 
 func (c *ProjectsInstancesClustersBackupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8217,7 +8217,7 @@
 
 func (c *ProjectsInstancesTablesCheckConsistencyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8364,7 +8364,7 @@
 
 func (c *ProjectsInstancesTablesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8506,7 +8506,7 @@
 
 func (c *ProjectsInstancesTablesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8646,7 +8646,7 @@
 
 func (c *ProjectsInstancesTablesDropRowRangeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8796,7 +8796,7 @@
 
 func (c *ProjectsInstancesTablesGenerateConsistencyTokenCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8964,7 +8964,7 @@
 
 func (c *ProjectsInstancesTablesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9120,7 +9120,7 @@
 
 func (c *ProjectsInstancesTablesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9314,7 +9314,7 @@
 
 func (c *ProjectsInstancesTablesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9504,7 +9504,7 @@
 
 func (c *ProjectsInstancesTablesModifyColumnFamiliesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9658,7 +9658,7 @@
 
 func (c *ProjectsInstancesTablesRestoreCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9804,7 +9804,7 @@
 
 func (c *ProjectsInstancesTablesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9949,7 +9949,7 @@
 
 func (c *ProjectsInstancesTablesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10102,7 +10102,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10274,7 +10274,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/billingbudgets/v1beta1/billingbudgets-gen.go b/billingbudgets/v1beta1/billingbudgets-gen.go
index 41deef6..fd692cf 100644
--- a/billingbudgets/v1beta1/billingbudgets-gen.go
+++ b/billingbudgets/v1beta1/billingbudgets-gen.go
@@ -656,7 +656,7 @@
 
 func (c *BillingAccountsBudgetsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -795,7 +795,7 @@
 
 func (c *BillingAccountsBudgetsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -939,7 +939,7 @@
 
 func (c *BillingAccountsBudgetsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1104,7 +1104,7 @@
 
 func (c *BillingAccountsBudgetsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1276,7 +1276,7 @@
 
 func (c *BillingAccountsBudgetsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/binaryauthorization/v1/binaryauthorization-gen.go b/binaryauthorization/v1/binaryauthorization-gen.go
index cdd427b..62efd2a 100644
--- a/binaryauthorization/v1/binaryauthorization-gen.go
+++ b/binaryauthorization/v1/binaryauthorization-gen.go
@@ -1001,7 +1001,7 @@
 
 func (c *ProjectsGetPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1140,7 +1140,7 @@
 
 func (c *ProjectsUpdatePolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1290,7 +1290,7 @@
 
 func (c *ProjectsAttestorsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1434,7 +1434,7 @@
 
 func (c *ProjectsAttestorsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1576,7 +1576,7 @@
 
 func (c *ProjectsAttestorsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1737,7 +1737,7 @@
 
 func (c *ProjectsAttestorsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1905,7 +1905,7 @@
 
 func (c *ProjectsAttestorsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2074,7 +2074,7 @@
 
 func (c *ProjectsAttestorsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2219,7 +2219,7 @@
 
 func (c *ProjectsAttestorsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2360,7 +2360,7 @@
 
 func (c *ProjectsAttestorsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2526,7 +2526,7 @@
 
 func (c *ProjectsPolicyGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2669,7 +2669,7 @@
 
 func (c *ProjectsPolicySetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2814,7 +2814,7 @@
 
 func (c *ProjectsPolicyTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/binaryauthorization/v1beta1/binaryauthorization-gen.go b/binaryauthorization/v1beta1/binaryauthorization-gen.go
index 96da809..e1902a3 100644
--- a/binaryauthorization/v1beta1/binaryauthorization-gen.go
+++ b/binaryauthorization/v1beta1/binaryauthorization-gen.go
@@ -1001,7 +1001,7 @@
 
 func (c *ProjectsGetPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1140,7 +1140,7 @@
 
 func (c *ProjectsUpdatePolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1290,7 +1290,7 @@
 
 func (c *ProjectsAttestorsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1434,7 +1434,7 @@
 
 func (c *ProjectsAttestorsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1576,7 +1576,7 @@
 
 func (c *ProjectsAttestorsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1737,7 +1737,7 @@
 
 func (c *ProjectsAttestorsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1905,7 +1905,7 @@
 
 func (c *ProjectsAttestorsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2074,7 +2074,7 @@
 
 func (c *ProjectsAttestorsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2219,7 +2219,7 @@
 
 func (c *ProjectsAttestorsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2360,7 +2360,7 @@
 
 func (c *ProjectsAttestorsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2526,7 +2526,7 @@
 
 func (c *ProjectsPolicyGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2669,7 +2669,7 @@
 
 func (c *ProjectsPolicySetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2814,7 +2814,7 @@
 
 func (c *ProjectsPolicyTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/blogger/v2/blogger-gen.go b/blogger/v2/blogger-gen.go
index 5c13b33..c007b63 100644
--- a/blogger/v2/blogger-gen.go
+++ b/blogger/v2/blogger-gen.go
@@ -1471,7 +1471,7 @@
 
 func (c *BlogsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1613,7 +1613,7 @@
 
 func (c *BlogsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1759,7 +1759,7 @@
 
 func (c *CommentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1941,7 +1941,7 @@
 
 func (c *CommentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2130,7 +2130,7 @@
 
 func (c *PagesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2285,7 +2285,7 @@
 
 func (c *PagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2433,7 +2433,7 @@
 
 func (c *PostsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2606,7 +2606,7 @@
 
 func (c *PostsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2786,7 +2786,7 @@
 
 func (c *UsersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/blogger/v3/blogger-gen.go b/blogger/v3/blogger-gen.go
index 695145d..be56316 100644
--- a/blogger/v3/blogger-gen.go
+++ b/blogger/v3/blogger-gen.go
@@ -1714,7 +1714,7 @@
 
 func (c *BlogUserInfosGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1887,7 +1887,7 @@
 
 func (c *BlogsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2062,7 +2062,7 @@
 
 func (c *BlogsGetByUrlCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2259,7 +2259,7 @@
 
 func (c *BlogsListByUserCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2447,7 +2447,7 @@
 
 func (c *CommentsApproveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2593,7 +2593,7 @@
 
 func (c *CommentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2734,7 +2734,7 @@
 
 func (c *CommentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2963,7 +2963,7 @@
 
 func (c *CommentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3229,7 +3229,7 @@
 
 func (c *CommentsListByBlogCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3425,7 +3425,7 @@
 
 func (c *CommentsMarkAsSpamCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3572,7 +3572,7 @@
 
 func (c *CommentsRemoveContentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3736,7 +3736,7 @@
 
 func (c *PageViewsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3884,7 +3884,7 @@
 
 func (c *PagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4016,7 +4016,7 @@
 
 func (c *PagesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4179,7 +4179,7 @@
 
 func (c *PagesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4370,7 +4370,7 @@
 
 func (c *PagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4581,7 +4581,7 @@
 
 func (c *PagesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4734,7 +4734,7 @@
 
 func (c *PagesPublishCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4871,7 +4871,7 @@
 
 func (c *PagesRevertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5022,7 +5022,7 @@
 
 func (c *PagesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5194,7 +5194,7 @@
 
 func (c *PostUserInfosGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5428,7 +5428,7 @@
 
 func (c *PostUserInfosListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5662,7 +5662,7 @@
 
 func (c *PostsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5812,7 +5812,7 @@
 
 func (c *PostsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6011,7 +6011,7 @@
 
 func (c *PostsGetByPathCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6190,7 +6190,7 @@
 
 func (c *PostsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6426,7 +6426,7 @@
 
 func (c *PostsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6689,7 +6689,7 @@
 
 func (c *PostsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6862,7 +6862,7 @@
 
 func (c *PostsPublishCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7003,7 +7003,7 @@
 
 func (c *PostsRevertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7168,7 +7168,7 @@
 
 func (c *PostsSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7360,7 +7360,7 @@
 
 func (c *PostsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7536,7 +7536,7 @@
 
 func (c *UsersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/books/v1/books-gen.go b/books/v1/books-gen.go
index 9ae4e53..b70c14c 100644
--- a/books/v1/books-gen.go
+++ b/books/v1/books-gen.go
@@ -4973,7 +4973,7 @@
 
 func (c *BookshelvesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5136,7 +5136,7 @@
 
 func (c *BookshelvesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5315,7 +5315,7 @@
 
 func (c *BookshelvesVolumesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5503,7 +5503,7 @@
 
 func (c *CloudloadingAddBookCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5646,7 +5646,7 @@
 
 func (c *CloudloadingDeleteBookCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5769,7 +5769,7 @@
 
 func (c *CloudloadingUpdateBookCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5911,7 +5911,7 @@
 
 func (c *DictionaryListOfflineMetadataCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6054,7 +6054,7 @@
 
 func (c *FamilysharingGetFamilyInfoCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6198,7 +6198,7 @@
 
 func (c *FamilysharingShareCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6350,7 +6350,7 @@
 
 func (c *FamilysharingUnshareCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6510,7 +6510,7 @@
 
 func (c *LayersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6699,7 +6699,7 @@
 
 func (c *LayersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6918,7 +6918,7 @@
 
 func (c *LayersAnnotationDataGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7198,7 +7198,7 @@
 
 func (c *LayersAnnotationDataListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7449,7 +7449,7 @@
 
 func (c *LayersVolumeAnnotationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7716,7 +7716,7 @@
 
 func (c *LayersVolumeAnnotationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7959,7 +7959,7 @@
 
 func (c *MyconfigGetUserSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8111,7 +8111,7 @@
 
 func (c *MyconfigReleaseDownloadAccessCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8295,7 +8295,7 @@
 
 func (c *MyconfigRequestAccessCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8514,7 +8514,7 @@
 
 func (c *MyconfigSyncVolumeLicensesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8684,7 +8684,7 @@
 
 func (c *MyconfigUpdateUserSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8816,7 +8816,7 @@
 
 func (c *MylibraryAnnotationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8979,7 +8979,7 @@
 
 func (c *MylibraryAnnotationsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9207,7 +9207,7 @@
 
 func (c *MylibraryAnnotationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9413,7 +9413,7 @@
 
 func (c *MylibraryAnnotationsSummaryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9551,7 +9551,7 @@
 
 func (c *MylibraryAnnotationsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9719,7 +9719,7 @@
 
 func (c *MylibraryBookshelvesAddVolumeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9882,7 +9882,7 @@
 
 func (c *MylibraryBookshelvesClearVolumesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10035,7 +10035,7 @@
 
 func (c *MylibraryBookshelvesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10189,7 +10189,7 @@
 
 func (c *MylibraryBookshelvesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10337,7 +10337,7 @@
 
 func (c *MylibraryBookshelvesMoveVolumeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10507,7 +10507,7 @@
 
 func (c *MylibraryBookshelvesRemoveVolumeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10724,7 +10724,7 @@
 
 func (c *MylibraryBookshelvesVolumesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10928,7 +10928,7 @@
 
 func (c *MylibraryReadingpositionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11121,7 +11121,7 @@
 
 func (c *MylibraryReadingpositionsSetPositionCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11329,7 +11329,7 @@
 
 func (c *NotificationGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11481,7 +11481,7 @@
 
 func (c *OnboardingListCategoriesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11659,7 +11659,7 @@
 
 func (c *OnboardingListCategoryVolumesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11876,7 +11876,7 @@
 
 func (c *PersonalizedstreamGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12070,7 +12070,7 @@
 
 func (c *PromoofferAcceptCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12268,7 +12268,7 @@
 
 func (c *PromoofferDismissCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12467,7 +12467,7 @@
 
 func (c *PromoofferGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12634,7 +12634,7 @@
 
 func (c *SeriesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12791,7 +12791,7 @@
 
 func (c *SeriesMembershipGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12987,7 +12987,7 @@
 
 func (c *VolumesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13302,7 +13302,7 @@
 
 func (c *VolumesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13624,7 +13624,7 @@
 
 func (c *VolumesAssociatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13875,7 +13875,7 @@
 
 func (c *VolumesMybooksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14107,7 +14107,7 @@
 
 func (c *VolumesRecommendedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14286,7 +14286,7 @@
 
 func (c *VolumesRecommendedRateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14494,7 +14494,7 @@
 
 func (c *VolumesUseruploadedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/calendar/v3/calendar-gen.go b/calendar/v3/calendar-gen.go
index dfa5a57..fd69e78 100644
--- a/calendar/v3/calendar-gen.go
+++ b/calendar/v3/calendar-gen.go
@@ -2418,7 +2418,7 @@
 
 func (c *AclDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2539,7 +2539,7 @@
 
 func (c *AclGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2689,7 +2689,7 @@
 
 func (c *AclInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2881,7 +2881,7 @@
 
 func (c *AclListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3070,7 +3070,7 @@
 
 func (c *AclPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3232,7 +3232,7 @@
 
 func (c *AclUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3423,7 +3423,7 @@
 
 func (c *AclWatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3583,7 +3583,7 @@
 
 func (c *CalendarListDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3694,7 +3694,7 @@
 
 func (c *CalendarListGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3836,7 +3836,7 @@
 
 func (c *CalendarListInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4039,7 +4039,7 @@
 
 func (c *CalendarListListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4238,7 +4238,7 @@
 
 func (c *CalendarListPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4391,7 +4391,7 @@
 
 func (c *CalendarListUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4597,7 +4597,7 @@
 
 func (c *CalendarListWatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4769,7 +4769,7 @@
 
 func (c *CalendarsClearCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4870,7 +4870,7 @@
 
 func (c *CalendarsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4981,7 +4981,7 @@
 
 func (c *CalendarsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5113,7 +5113,7 @@
 
 func (c *CalendarsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5238,7 +5238,7 @@
 
 func (c *CalendarsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5376,7 +5376,7 @@
 
 func (c *CalendarsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5512,7 +5512,7 @@
 
 func (c *ChannelsStopCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5620,7 +5620,7 @@
 
 func (c *ColorsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5766,7 +5766,7 @@
 
 func (c *EventsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5934,7 +5934,7 @@
 
 func (c *EventsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6116,7 +6116,7 @@
 
 func (c *EventsImportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6324,7 +6324,7 @@
 
 func (c *EventsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6589,7 +6589,7 @@
 
 func (c *EventsInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6997,7 +6997,7 @@
 
 func (c *EventsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7287,7 +7287,7 @@
 
 func (c *EventsMoveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7521,7 +7521,7 @@
 
 func (c *EventsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7738,7 +7738,7 @@
 
 func (c *EventsQuickAddCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7964,7 +7964,7 @@
 
 func (c *EventsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8338,7 +8338,7 @@
 
 func (c *EventsWatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8582,7 +8582,7 @@
 
 func (c *FreebusyQueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8716,7 +8716,7 @@
 
 func (c *SettingsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8887,7 +8887,7 @@
 
 func (c *SettingsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9076,7 +9076,7 @@
 
 func (c *SettingsWatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/chat/v1/chat-gen.go b/chat/v1/chat-gen.go
index 069528b..3f1cacf 100644
--- a/chat/v1/chat-gen.go
+++ b/chat/v1/chat-gen.go
@@ -1555,7 +1555,7 @@
 
 func (c *MediaDownloadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1713,7 +1713,7 @@
 
 func (c *SpacesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1867,7 +1867,7 @@
 
 func (c *SpacesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2028,7 +2028,7 @@
 
 func (c *SpacesMembersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2184,7 +2184,7 @@
 
 func (c *SpacesMembersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2362,7 +2362,7 @@
 
 func (c *SpacesMessagesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2502,7 +2502,7 @@
 
 func (c *SpacesMessagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2640,7 +2640,7 @@
 
 func (c *SpacesMessagesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2780,7 +2780,7 @@
 
 func (c *SpacesMessagesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2933,7 +2933,7 @@
 
 func (c *SpacesMessagesAttachmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/chromeuxreport/v1/chromeuxreport-gen.go b/chromeuxreport/v1/chromeuxreport-gen.go
index 4c774a2..46e828f 100644
--- a/chromeuxreport/v1/chromeuxreport-gen.go
+++ b/chromeuxreport/v1/chromeuxreport-gen.go
@@ -552,7 +552,7 @@
 
 func (c *RecordsQueryRecordCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/civicinfo/v2/civicinfo-gen.go b/civicinfo/v2/civicinfo-gen.go
index 48bf644..a0f8e3a 100644
--- a/civicinfo/v2/civicinfo-gen.go
+++ b/civicinfo/v2/civicinfo-gen.go
@@ -1367,7 +1367,7 @@
 
 func (c *DivisionsSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1499,7 +1499,7 @@
 
 func (c *ElectionsElectionQueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1655,7 +1655,7 @@
 
 func (c *ElectionsVoterInfoQueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1867,7 +1867,7 @@
 
 func (c *RepresentativesRepresentativeInfoByAddressCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2120,7 +2120,7 @@
 
 func (c *RepresentativesRepresentativeInfoByDivisionCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/classroom/v1/classroom-gen.go b/classroom/v1/classroom-gen.go
index e9383a5..c2f8b6b 100644
--- a/classroom/v1/classroom-gen.go
+++ b/classroom/v1/classroom-gen.go
@@ -2998,7 +2998,7 @@
 
 func (c *CoursesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3126,7 +3126,7 @@
 
 func (c *CoursesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3269,7 +3269,7 @@
 
 func (c *CoursesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3484,7 +3484,7 @@
 
 func (c *CoursesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3692,7 +3692,7 @@
 
 func (c *CoursesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3841,7 +3841,7 @@
 
 func (c *CoursesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3986,7 +3986,7 @@
 
 func (c *CoursesAliasesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4131,7 +4131,7 @@
 
 func (c *CoursesAliasesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4300,7 +4300,7 @@
 
 func (c *CoursesAliasesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4473,7 +4473,7 @@
 
 func (c *CoursesAnnouncementsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4621,7 +4621,7 @@
 
 func (c *CoursesAnnouncementsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4775,7 +4775,7 @@
 
 func (c *CoursesAnnouncementsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4983,7 +4983,7 @@
 
 func (c *CoursesAnnouncementsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5181,7 +5181,7 @@
 
 func (c *CoursesAnnouncementsModifyAssigneesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5350,7 +5350,7 @@
 
 func (c *CoursesAnnouncementsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5515,7 +5515,7 @@
 
 func (c *CoursesCourseWorkCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5663,7 +5663,7 @@
 
 func (c *CoursesCourseWorkDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5817,7 +5817,7 @@
 
 func (c *CoursesCourseWorkGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6026,7 +6026,7 @@
 
 func (c *CoursesCourseWorkListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6226,7 +6226,7 @@
 
 func (c *CoursesCourseWorkModifyAssigneesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6403,7 +6403,7 @@
 
 func (c *CoursesCourseWorkPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6573,7 +6573,7 @@
 
 func (c *CoursesCourseWorkStudentSubmissionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6810,7 +6810,7 @@
 
 func (c *CoursesCourseWorkStudentSubmissionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7046,7 +7046,7 @@
 
 func (c *CoursesCourseWorkStudentSubmissionsModifyAttachmentsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7227,7 +7227,7 @@
 
 func (c *CoursesCourseWorkStudentSubmissionsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7407,7 +7407,7 @@
 
 func (c *CoursesCourseWorkStudentSubmissionsReclaimCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7579,7 +7579,7 @@
 
 func (c *CoursesCourseWorkStudentSubmissionsReturnCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7749,7 +7749,7 @@
 
 func (c *CoursesCourseWorkStudentSubmissionsTurnInCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7922,7 +7922,7 @@
 
 func (c *CoursesStudentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8072,7 +8072,7 @@
 
 func (c *CoursesStudentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8226,7 +8226,7 @@
 
 func (c *CoursesStudentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8400,7 +8400,7 @@
 
 func (c *CoursesStudentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8577,7 +8577,7 @@
 
 func (c *CoursesTeachersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8723,7 +8723,7 @@
 
 func (c *CoursesTeachersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8877,7 +8877,7 @@
 
 func (c *CoursesTeachersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9051,7 +9051,7 @@
 
 func (c *CoursesTeachersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9224,7 +9224,7 @@
 
 func (c *CoursesTopicsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9368,7 +9368,7 @@
 
 func (c *CoursesTopicsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9522,7 +9522,7 @@
 
 func (c *CoursesTopicsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9697,7 +9697,7 @@
 
 func (c *CoursesTopicsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9883,7 +9883,7 @@
 
 func (c *CoursesTopicsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10042,7 +10042,7 @@
 
 func (c *InvitationsAcceptCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10179,7 +10179,7 @@
 
 func (c *InvitationsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10307,7 +10307,7 @@
 
 func (c *InvitationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10450,7 +10450,7 @@
 
 func (c *InvitationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10630,7 +10630,7 @@
 
 func (c *InvitationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10817,7 +10817,7 @@
 
 func (c *RegistrationsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10943,7 +10943,7 @@
 
 func (c *RegistrationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11086,7 +11086,7 @@
 
 func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11247,7 +11247,7 @@
 
 func (c *UserProfilesGuardianInvitationsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11407,7 +11407,7 @@
 
 func (c *UserProfilesGuardianInvitationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11611,7 +11611,7 @@
 
 func (c *UserProfilesGuardianInvitationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11825,7 +11825,7 @@
 
 func (c *UserProfilesGuardianInvitationsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11990,7 +11990,7 @@
 
 func (c *UserProfilesGuardiansDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12151,7 +12151,7 @@
 
 func (c *UserProfilesGuardiansGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12347,7 +12347,7 @@
 
 func (c *UserProfilesGuardiansListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/cloudasset/v1/cloudasset-api.json b/cloudasset/v1/cloudasset-api.json
index 59a8d0a..c5c67d4 100644
--- a/cloudasset/v1/cloudasset-api.json
+++ b/cloudasset/v1/cloudasset-api.json
@@ -108,7 +108,7 @@
     "feeds": {
       "methods": {
         "create": {
-          "description": "Creates a feed in a parent project/folder/organization to listen to its\nasset updates.",
+          "description": "Creates a feed in a parent project/folder/organization to listen to its asset updates.",
           "flatPath": "v1/{v1Id}/{v1Id1}/feeds",
           "httpMethod": "POST",
           "id": "cloudasset.feeds.create",
@@ -117,7 +117,7 @@
           ],
           "parameters": {
             "parent": {
-              "description": "Required. The name of the project/folder/organization where this feed\nshould be created in. It can only be an organization number (such as\n\"organizations/123\"), a folder number (such as \"folders/123\"), a project ID\n(such as \"projects/my-project-id\")\", or a project number (such as\n\"projects/12345\").",
+              "description": "Required. The name of the project/folder/organization where this feed should be created in. It can only be an organization number (such as \"organizations/123\"), a folder number (such as \"folders/123\"), a project ID (such as \"projects/my-project-id\")\", or a project number (such as \"projects/12345\").",
               "location": "path",
               "pattern": "^[^/]+/[^/]+$",
               "required": true,
@@ -145,7 +145,7 @@
           ],
           "parameters": {
             "name": {
-              "description": "Required. The name of the feed and it must be in the format of:\nprojects/project_number/feeds/feed_id\nfolders/folder_number/feeds/feed_id\norganizations/organization_number/feeds/feed_id",
+              "description": "Required. The name of the feed and it must be in the format of: projects/project_number/feeds/feed_id folders/folder_number/feeds/feed_id organizations/organization_number/feeds/feed_id",
               "location": "path",
               "pattern": "^[^/]+/[^/]+/feeds/[^/]+$",
               "required": true,
@@ -170,7 +170,7 @@
           ],
           "parameters": {
             "name": {
-              "description": "Required. The name of the Feed and it must be in the format of:\nprojects/project_number/feeds/feed_id\nfolders/folder_number/feeds/feed_id\norganizations/organization_number/feeds/feed_id",
+              "description": "Required. The name of the Feed and it must be in the format of: projects/project_number/feeds/feed_id folders/folder_number/feeds/feed_id organizations/organization_number/feeds/feed_id",
               "location": "path",
               "pattern": "^[^/]+/[^/]+/feeds/[^/]+$",
               "required": true,
@@ -195,7 +195,7 @@
           ],
           "parameters": {
             "parent": {
-              "description": "Required. The parent project/folder/organization whose feeds are to be\nlisted. It can only be using project/folder/organization number (such as\n\"folders/12345\")\", or a project ID (such as \"projects/my-project-id\").",
+              "description": "Required. The parent project/folder/organization whose feeds are to be listed. It can only be using project/folder/organization number (such as \"folders/12345\")\", or a project ID (such as \"projects/my-project-id\").",
               "location": "path",
               "pattern": "^[^/]+/[^/]+$",
               "required": true,
@@ -220,7 +220,7 @@
           ],
           "parameters": {
             "name": {
-              "description": "Required. The format will be\nprojects/{project_number}/feeds/{client-assigned_feed_identifier} or\nfolders/{folder_number}/feeds/{client-assigned_feed_identifier} or\norganizations/{organization_number}/feeds/{client-assigned_feed_identifier}\n\nThe client-assigned feed identifier must be unique within the parent\nproject/folder/organization.",
+              "description": "Required. The format will be projects/{project_number}/feeds/{client-assigned_feed_identifier} or folders/{folder_number}/feeds/{client-assigned_feed_identifier} or organizations/{organization_number}/feeds/{client-assigned_feed_identifier} The client-assigned feed identifier must be unique within the parent project/folder/organization.",
               "location": "path",
               "pattern": "^[^/]+/[^/]+/feeds/[^/]+$",
               "required": true,
@@ -243,7 +243,7 @@
     "operations": {
       "methods": {
         "get": {
-          "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+          "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
           "flatPath": "v1/{v1Id}/{v1Id1}/operations/{operationsId}/{operationsId1}",
           "httpMethod": "GET",
           "id": "cloudasset.operations.get",
@@ -272,7 +272,7 @@
     "v1": {
       "methods": {
         "batchGetAssetsHistory": {
-          "description": "Batch gets the update history of assets that overlap a time window.\nFor IAM_POLICY content, this API outputs history when the asset and its\nattached IAM POLICY both exist. This can create gaps in the output history.\nOtherwise, this API outputs history with asset in both non-delete or\ndeleted status.\nIf a specified asset does not exist, this API returns an INVALID_ARGUMENT\nerror.",
+          "description": "Batch gets the update history of assets that overlap a time window. For IAM_POLICY content, this API outputs history when the asset and its attached IAM POLICY both exist. This can create gaps in the output history. Otherwise, this API outputs history with asset in both non-delete or deleted status. If a specified asset does not exist, this API returns an INVALID_ARGUMENT error.",
           "flatPath": "v1/{v1Id}/{v1Id1}:batchGetAssetsHistory",
           "httpMethod": "GET",
           "id": "cloudasset.batchGetAssetsHistory",
@@ -281,7 +281,7 @@
           ],
           "parameters": {
             "assetNames": {
-              "description": "A list of the full names of the assets.\nSee: https://cloud.google.com/asset-inventory/docs/resource-name-format\nExample:\n\n`//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.\n\nThe request becomes a no-op if the asset name list is empty, and the max\nsize of the asset name list is 100 in one request.",
+              "description": "A list of the full names of the assets. See: https://cloud.google.com/asset-inventory/docs/resource-name-format Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. The request becomes a no-op if the asset name list is empty, and the max size of the asset name list is 100 in one request.",
               "location": "query",
               "repeated": true,
               "type": "string"
@@ -295,18 +295,25 @@
                 "ORG_POLICY",
                 "ACCESS_POLICY"
               ],
+              "enumDescriptions": [
+                "Unspecified content type.",
+                "Resource metadata.",
+                "The actual IAM policy set on a resource.",
+                "The Cloud Organization Policy set on an asset.",
+                "The Cloud Access context manager Policy set on an asset."
+              ],
               "location": "query",
               "type": "string"
             },
             "parent": {
-              "description": "Required. The relative name of the root asset. It can only be an\norganization number (such as \"organizations/123\"), a project ID (such as\n\"projects/my-project-id\")\", or a project number (such as \"projects/12345\").",
+              "description": "Required. The relative name of the root asset. It can only be an organization number (such as \"organizations/123\"), a project ID (such as \"projects/my-project-id\")\", or a project number (such as \"projects/12345\").",
               "location": "path",
               "pattern": "^[^/]+/[^/]+$",
               "required": true,
               "type": "string"
             },
             "readTimeWindow.endTime": {
-              "description": "End time of the time window (inclusive). If not specified, the current\ntimestamp is used instead.",
+              "description": "End time of the time window (inclusive). If not specified, the current timestamp is used instead.",
               "format": "google-datetime",
               "location": "query",
               "type": "string"
@@ -327,7 +334,7 @@
           ]
         },
         "exportAssets": {
-          "description": "Exports assets with time and resource types to a given Cloud Storage\nlocation/BigQuery table. For Cloud Storage location destinations, the\noutput format is newline-delimited JSON. Each line represents a\ngoogle.cloud.asset.v1.Asset in the JSON format; for BigQuery table\ndestinations, the output table stores the fields in asset proto as columns.\nThis API implements the google.longrunning.Operation API\n, which allows you to keep track of the export. We recommend intervals of\nat least 2 seconds with exponential retry to poll the export operation\nresult. For regular-size resource parent, the export operation usually\nfinishes within 5 minutes.",
+          "description": "Exports assets with time and resource types to a given Cloud Storage location/BigQuery table. For Cloud Storage location destinations, the output format is newline-delimited JSON. Each line represents a google.cloud.asset.v1.Asset in the JSON format; for BigQuery table destinations, the output table stores the fields in asset proto as columns. This API implements the google.longrunning.Operation API , which allows you to keep track of the export. We recommend intervals of at least 2 seconds with exponential retry to poll the export operation result. For regular-size resource parent, the export operation usually finishes within 5 minutes.",
           "flatPath": "v1/{v1Id}/{v1Id1}:exportAssets",
           "httpMethod": "POST",
           "id": "cloudasset.exportAssets",
@@ -336,7 +343,7 @@
           ],
           "parameters": {
             "parent": {
-              "description": "Required. The relative name of the root asset. This can only be an\norganization number (such as \"organizations/123\"), a project ID (such as\n\"projects/my-project-id\"), or a project number (such as \"projects/12345\"),\nor a folder number (such as \"folders/123\").",
+              "description": "Required. The relative name of the root asset. This can only be an organization number (such as \"organizations/123\"), a project ID (such as \"projects/my-project-id\"), or a project number (such as \"projects/12345\"), or a folder number (such as \"folders/123\").",
               "location": "path",
               "pattern": "^[^/]+/[^/]+$",
               "required": true,
@@ -355,7 +362,7 @@
           ]
         },
         "searchAllIamPolicies": {
-          "description": "Searches all IAM policies within the specified scope, such as a project,\nfolder, or organization. The caller must be granted the\n`cloudasset.assets.searchAllIamPolicies` permission on the desired scope,\notherwise the request will be rejected.",
+          "description": "Searches all IAM policies within the specified scope, such as a project, folder, or organization. The caller must be granted the `cloudasset.assets.searchAllIamPolicies` permission on the desired scope, otherwise the request will be rejected.",
           "flatPath": "v1/{v1Id}/{v1Id1}:searchAllIamPolicies",
           "httpMethod": "GET",
           "id": "cloudasset.searchAllIamPolicies",
@@ -364,23 +371,23 @@
           ],
           "parameters": {
             "pageSize": {
-              "description": "Optional. The page size for search result pagination. Page size is capped at 500 even\nif a larger value is given. If set to zero, server will pick an appropriate\ndefault. Returned results may be fewer than requested. When this happens,\nthere could be more results as long as `next_page_token` is returned.",
+              "description": "Optional. The page size for search result pagination. Page size is capped at 500 even if a larger value is given. If set to zero, server will pick an appropriate default. Returned results may be fewer than requested. When this happens, there could be more results as long as `next_page_token` is returned.",
               "format": "int32",
               "location": "query",
               "type": "integer"
             },
             "pageToken": {
-              "description": "Optional. If present, retrieve the next batch of results from the preceding call to\nthis method. `page_token` must be the value of `next_page_token` from the\nprevious response. The values of all other method parameters must be\nidentical to those in the previous call.",
+              "description": "Optional. If present, retrieve the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of all other method parameters must be identical to those in the previous call.",
               "location": "query",
               "type": "string"
             },
             "query": {
-              "description": "Optional. The query statement. See [how to construct a\nquery](https://cloud.google.com/asset-inventory/docs/searching-iam-policies#how_to_construct_a_query)\nfor more information. If not specified or empty, it will search all the\nIAM policies within the specified `scope`.\n\nExamples:\n\n* `policy : \"amy@gmail.com\"` to find IAM policy bindings that specify user\n  \"amy@gmail.com\".\n* `policy : \"roles/compute.admin\"` to find IAM policy bindings that specify\n  the Compute Admin role.\n* `policy.role.permissions : \"storage.buckets.update\"` to find IAM policy\n  bindings that specify a role containing \"storage.buckets.update\"\n  permission. Note that if callers don't have `iam.roles.get` access to a\n  role's included permissions, policy bindings that specify this role will\n  be dropped from the search results.\n* `resource : \"organizations/123456\"` to find IAM policy bindings\n  that are set on \"organizations/123456\".\n* `\"Important\"` to find IAM policy bindings that contain \"Important\" as a\n  word in any of the searchable fields (except for the included\n  permissions).\n* `\"*por*\"` to find IAM policy bindings which contain \"por\" as a substring\n  in any of the searchable fields (except for the included permissions).\n* `(resource : (\"instance1\" OR \"instance2\") AND policy : \"amy\")` to find\n  IAM policy bindings that are set on resources \"instance1\" or\n  \"instance2\" and also specify user \"amy\".",
+              "description": "Optional. The query statement. See [how to construct a query](https://cloud.google.com/asset-inventory/docs/searching-iam-policies#how_to_construct_a_query) for more information. If not specified or empty, it will search all the IAM policies within the specified `scope`. Examples: * `policy:amy@gmail.com` to find IAM policy bindings that specify user \"amy@gmail.com\". * `policy:roles/compute.admin` to find IAM policy bindings that specify the Compute Admin role. * `policy.role.permissions:storage.buckets.update` to find IAM policy bindings that specify a role containing \"storage.buckets.update\" permission. Note that if callers don't have `iam.roles.get` access to a role's included permissions, policy bindings that specify this role will be dropped from the search results. * `resource:organizations/123456` to find IAM policy bindings that are set on \"organizations/123456\". * `Important` to find IAM policy bindings that contain \"Important\" as a word in any of the searchable fields (except for the included permissions). * `*por*` to find IAM policy bindings that contain \"por\" as a substring in any of the searchable fields (except for the included permissions). * `resource:(instance1 OR instance2) policy:amy` to find IAM policy bindings that are set on resources \"instance1\" or \"instance2\" and also specify user \"amy\".",
               "location": "query",
               "type": "string"
             },
             "scope": {
-              "description": "Required. A scope can be a project, a folder, or an organization. The search is\nlimited to the IAM policies within the `scope`. The caller must be granted\nthe\n[`cloudasset.assets.searchAllIamPolicies`](http://cloud.google.com/asset-inventory/docs/access-control#required_permissions)\npermission on the desired scope.\n\nThe allowed values are:\n\n* projects/{PROJECT_ID} (e.g., \"projects/foo-bar\")\n* projects/{PROJECT_NUMBER} (e.g., \"projects/12345678\")\n* folders/{FOLDER_NUMBER} (e.g., \"folders/1234567\")\n* organizations/{ORGANIZATION_NUMBER} (e.g., \"organizations/123456\")",
+              "description": "Required. A scope can be a project, a folder, or an organization. The search is limited to the IAM policies within the `scope`. The caller must be granted the [`cloudasset.assets.searchAllIamPolicies`](http://cloud.google.com/asset-inventory/docs/access-control#required_permissions) permission on the desired scope. The allowed values are: * projects/{PROJECT_ID} (e.g., \"projects/foo-bar\") * projects/{PROJECT_NUMBER} (e.g., \"projects/12345678\") * folders/{FOLDER_NUMBER} (e.g., \"folders/1234567\") * organizations/{ORGANIZATION_NUMBER} (e.g., \"organizations/123456\")",
               "location": "path",
               "pattern": "^[^/]+/[^/]+$",
               "required": true,
@@ -396,7 +403,7 @@
           ]
         },
         "searchAllResources": {
-          "description": "Searches all Cloud resources within the specified scope, such as a project,\nfolder, or organization. The caller must be granted the\n`cloudasset.assets.searchAllResources` permission on the desired scope,\notherwise the request will be rejected.",
+          "description": "Searches all Cloud resources within the specified scope, such as a project, folder, or organization. The caller must be granted the `cloudasset.assets.searchAllResources` permission on the desired scope, otherwise the request will be rejected.",
           "flatPath": "v1/{v1Id}/{v1Id1}:searchAllResources",
           "httpMethod": "GET",
           "id": "cloudasset.searchAllResources",
@@ -405,34 +412,34 @@
           ],
           "parameters": {
             "assetTypes": {
-              "description": "Optional. A list of asset types that this request searches for. If empty, it will\nsearch all the [searchable asset\ntypes](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).",
+              "description": "Optional. A list of asset types that this request searches for. If empty, it will search all the [searchable asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).",
               "location": "query",
               "repeated": true,
               "type": "string"
             },
             "orderBy": {
-              "description": "Optional. A comma separated list of fields specifying the sorting order of the\nresults. The default order is ascending. Add \" DESC\" after the field name\nto indicate descending order. Redundant space characters are ignored.\nExample: \"location DESC, name\". Only string fields in the response are\nsortable, including `name`, `displayName`, `description`, `location`. All\nthe other fields such as repeated fields (e.g., `networkTags`), map\nfields (e.g., `labels`) and struct fields (e.g., `additionalAttributes`)\nare not supported.",
+              "description": "Optional. A comma separated list of fields specifying the sorting order of the results. The default order is ascending. Add \" DESC\" after the field name to indicate descending order. Redundant space characters are ignored. Example: \"location DESC, name\". Only string fields in the response are sortable, including `name`, `displayName`, `description`, `location`. All the other fields such as repeated fields (e.g., `networkTags`), map fields (e.g., `labels`) and struct fields (e.g., `additionalAttributes`) are not supported.",
               "location": "query",
               "type": "string"
             },
             "pageSize": {
-              "description": "Optional. The page size for search result pagination. Page size is capped at 500 even\nif a larger value is given. If set to zero, server will pick an appropriate\ndefault. Returned results may be fewer than requested. When this happens,\nthere could be more results as long as `next_page_token` is returned.",
+              "description": "Optional. The page size for search result pagination. Page size is capped at 500 even if a larger value is given. If set to zero, server will pick an appropriate default. Returned results may be fewer than requested. When this happens, there could be more results as long as `next_page_token` is returned.",
               "format": "int32",
               "location": "query",
               "type": "integer"
             },
             "pageToken": {
-              "description": "Optional. If present, then retrieve the next batch of results from the preceding call\nto this method. `page_token` must be the value of `next_page_token` from\nthe previous response. The values of all other method parameters, must be\nidentical to those in the previous call.",
+              "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of all other method parameters, must be identical to those in the previous call.",
               "location": "query",
               "type": "string"
             },
             "query": {
-              "description": "Optional. The query statement. See [how to construct a\nquery](http://cloud.google.com/asset-inventory/docs/searching-resources#how_to_construct_a_query)\nfor more information. If not specified or empty, it will search all the\nresources within the specified `scope`. Note that the query string is\ncompared against each Cloud IAM policy binding, including its members,\nroles, and Cloud IAM conditions. The returned Cloud IAM policies will only\ncontain the bindings that match your query. To learn more about the IAM\npolicy structure, see [IAM policy\ndoc](https://cloud.google.com/iam/docs/policies#structure).\n\nExamples:\n\n* `name : \"Important\"` to find Cloud resources whose name contains\n  \"Important\" as a word.\n* `displayName : \"Impor*\"` to find Cloud resources whose display name\n  contains \"Impor\" as a prefix.\n* `description : \"*por*\"` to find Cloud resources whose description\n  contains \"por\" as a substring.\n* `location : \"us-west*\"` to find Cloud resources whose location is\n  prefixed with \"us-west\".\n* `labels : \"prod\"` to find Cloud resources whose labels contain \"prod\" as\n  a key or value.\n* `labels.env : \"prod\"` to find Cloud resources which have a label \"env\"\n  and its value is \"prod\".\n* `labels.env : *` to find Cloud resources which have a label \"env\".\n* `\"Important\"` to find Cloud resources which contain \"Important\" as a word\n  in any of the searchable fields.\n* `\"Impor*\"` to find Cloud resources which contain \"Impor\" as a prefix\n  in any of the searchable fields.\n* `\"*por*\"` to find Cloud resources which contain \"por\" as a substring in\n  any of the searchable fields.\n* `(\"Important\" AND location : (\"us-west1\" OR \"global\"))` to find Cloud\n  resources which contain \"Important\" as a word in any of the searchable\n  fields and are also located in the \"us-west1\" region or the \"global\"\n  location.",
+              "description": "Optional. The query statement. See [how to construct a query](http://cloud.google.com/asset-inventory/docs/searching-resources#how_to_construct_a_query) for more information. If not specified or empty, it will search all the resources within the specified `scope`. Note that the query string is compared against each Cloud IAM policy binding, including its members, roles, and Cloud IAM conditions. The returned Cloud IAM policies will only contain the bindings that match your query. To learn more about the IAM policy structure, see [IAM policy doc](https://cloud.google.com/iam/docs/policies#structure). Examples: * `name:Important` to find Cloud resources whose name contains \"Important\" as a word. * `displayName:Impor*` to find Cloud resources whose display name contains \"Impor\" as a prefix. * `description:*por*` to find Cloud resources whose description contains \"por\" as a substring. * `location:us-west*` to find Cloud resources whose location is prefixed with \"us-west\". * `labels:prod` to find Cloud resources whose labels contain \"prod\" as a key or value. * `labels.env:prod` to find Cloud resources that have a label \"env\" and its value is \"prod\". * `labels.env:*` to find Cloud resources that have a label \"env\". * `Important` to find Cloud resources that contain \"Important\" as a word in any of the searchable fields. * `Impor*` to find Cloud resources that contain \"Impor\" as a prefix in any of the searchable fields. * `*por*` to find Cloud resources that contain \"por\" as a substring in any of the searchable fields. * `Important location:(us-west1 OR global)` to find Cloud resources that contain \"Important\" as a word in any of the searchable fields and are also located in the \"us-west1\" region or the \"global\" location.",
               "location": "query",
               "type": "string"
             },
             "scope": {
-              "description": "Required. A scope can be a project, a folder, or an organization. The search is\nlimited to the resources within the `scope`. The caller must be granted the\n[`cloudasset.assets.searchAllResources`](http://cloud.google.com/asset-inventory/docs/access-control#required_permissions)\npermission on the desired scope.\n\nThe allowed values are:\n\n* projects/{PROJECT_ID} (e.g., \"projects/foo-bar\")\n* projects/{PROJECT_NUMBER} (e.g., \"projects/12345678\")\n* folders/{FOLDER_NUMBER} (e.g., \"folders/1234567\")\n* organizations/{ORGANIZATION_NUMBER} (e.g., \"organizations/123456\")",
+              "description": "Required. A scope can be a project, a folder, or an organization. The search is limited to the resources within the `scope`. The caller must be granted the [`cloudasset.assets.searchAllResources`](http://cloud.google.com/asset-inventory/docs/access-control#required_permissions) permission on the desired scope. The allowed values are: * projects/{PROJECT_ID} (e.g., \"projects/foo-bar\") * projects/{PROJECT_NUMBER} (e.g., \"projects/12345678\") * folders/{FOLDER_NUMBER} (e.g., \"folders/1234567\") * organizations/{ORGANIZATION_NUMBER} (e.g., \"organizations/123456\")",
               "location": "path",
               "pattern": "^[^/]+/[^/]+$",
               "required": true,
@@ -450,42 +457,42 @@
       }
     }
   },
-  "revision": "20200731",
+  "revision": "20200810",
   "rootUrl": "https://cloudasset.googleapis.com/",
   "schemas": {
     "Asset": {
-      "description": "An asset in Google Cloud. An asset can be any resource in the Google Cloud\n[resource\nhierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),\na resource outside the Google Cloud resource hierarchy (such as Google\nKubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy).\nSee [Supported asset\ntypes](https://cloud.google.com/asset-inventory/docs/supported-asset-types)\nfor more information.",
+      "description": "An asset in Google Cloud. An asset can be any resource in the Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), a resource outside the Google Cloud resource hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy). See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.",
       "id": "Asset",
       "properties": {
         "accessLevel": {
           "$ref": "GoogleIdentityAccesscontextmanagerV1AccessLevel",
-          "description": "Please also refer to the [access level user\nguide](https://cloud.google.com/access-context-manager/docs/overview#access-levels)."
+          "description": "Please also refer to the [access level user guide](https://cloud.google.com/access-context-manager/docs/overview#access-levels)."
         },
         "accessPolicy": {
           "$ref": "GoogleIdentityAccesscontextmanagerV1AccessPolicy",
-          "description": "Please also refer to the [access policy user\nguide](https://cloud.google.com/access-context-manager/docs/overview#access-policies)."
+          "description": "Please also refer to the [access policy user guide](https://cloud.google.com/access-context-manager/docs/overview#access-policies)."
         },
         "ancestors": {
-          "description": "The ancestry path of an asset in Google Cloud [resource\nhierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),\nrepresented as a list of relative resource names. An ancestry path starts\nwith the closest ancestor in the hierarchy and ends at root. If the asset\nis a project, folder, or organization, the ancestry path starts from the\nasset itself.\n\nExample: `[\"projects/123456789\", \"folders/5432\", \"organizations/1234\"]`",
+          "description": "The ancestry path of an asset in Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), represented as a list of relative resource names. An ancestry path starts with the closest ancestor in the hierarchy and ends at root. If the asset is a project, folder, or organization, the ancestry path starts from the asset itself. Example: `[\"projects/123456789\", \"folders/5432\", \"organizations/1234\"]`",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "assetType": {
-          "description": "The type of the asset. Example: `compute.googleapis.com/Disk`\n\nSee [Supported asset\ntypes](https://cloud.google.com/asset-inventory/docs/supported-asset-types)\nfor more information.",
+          "description": "The type of the asset. Example: `compute.googleapis.com/Disk` See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.",
           "type": "string"
         },
         "iamPolicy": {
           "$ref": "Policy",
-          "description": "A representation of the Cloud IAM policy set on a Google Cloud resource.\nThere can be a maximum of one Cloud IAM policy set on any given resource.\nIn addition, Cloud IAM policies inherit their granted access scope from any\npolicies set on parent resources in the resource hierarchy. Therefore, the\neffectively policy is the union of both the policy set on this resource\nand each policy set on all of the resource's ancestry resource levels in\nthe hierarchy. See\n[this topic](https://cloud.google.com/iam/docs/policies#inheritance) for\nmore information."
+          "description": "A representation of the Cloud IAM policy set on a Google Cloud resource. There can be a maximum of one Cloud IAM policy set on any given resource. In addition, Cloud IAM policies inherit their granted access scope from any policies set on parent resources in the resource hierarchy. Therefore, the effectively policy is the union of both the policy set on this resource and each policy set on all of the resource's ancestry resource levels in the hierarchy. See [this topic](https://cloud.google.com/iam/docs/policies#inheritance) for more information."
         },
         "name": {
-          "description": "The full name of the asset. Example:\n`//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`\n\nSee [Resource\nnames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nfor more information.",
+          "description": "The full name of the asset. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1` See [Resource names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information.",
           "type": "string"
         },
         "orgPolicy": {
-          "description": "A representation of an [organization\npolicy](https://cloud.google.com/resource-manager/docs/organization-policy/overview#organization_policy).\nThere can be more than one organization policy with different constraints\nset on a given resource.",
+          "description": "A representation of an [organization policy](https://cloud.google.com/resource-manager/docs/organization-policy/overview#organization_policy). There can be more than one organization policy with different constraints set on a given resource.",
           "items": {
             "$ref": "GoogleCloudOrgpolicyV1Policy"
           },
@@ -497,10 +504,10 @@
         },
         "servicePerimeter": {
           "$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter",
-          "description": "Please also refer to the [service perimeter user\nguide](https://cloud.google.com/vpc-service-controls/docs/overview)."
+          "description": "Please also refer to the [service perimeter user guide](https://cloud.google.com/vpc-service-controls/docs/overview)."
         },
         "updateTime": {
-          "description": "The last update timestamp of an asset. update_time is updated when\ncreate/update/delete operation is performed.",
+          "description": "The last update timestamp of an asset. update_time is updated when create/update/delete operation is performed.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -508,7 +515,7 @@
       "type": "object"
     },
     "AuditConfig": {
-      "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n    {\n      \"audit_configs\": [\n        {\n          \"service\": \"allServices\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n              \"exempted_members\": [\n                \"user:jose@example.com\"\n              ]\n            },\n            {\n              \"log_type\": \"DATA_WRITE\"\n            },\n            {\n              \"log_type\": \"ADMIN_READ\"\n            }\n          ]\n        },\n        {\n          \"service\": \"sampleservice.googleapis.com\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\"\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n              \"exempted_members\": [\n                \"user:aliya@example.com\"\n              ]\n            }\n          ]\n        }\n      ]\n    }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.",
+      "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.",
       "id": "AuditConfig",
       "properties": {
         "auditLogConfigs": {
@@ -519,18 +526,18 @@
           "type": "array"
         },
         "service": {
-          "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.",
+          "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "AuditLogConfig": {
-      "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n    {\n      \"audit_log_configs\": [\n        {\n          \"log_type\": \"DATA_READ\",\n          \"exempted_members\": [\n            \"user:jose@example.com\"\n          ]\n        },\n        {\n          \"log_type\": \"DATA_WRITE\"\n        }\n      ]\n    }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.",
+      "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.",
       "id": "AuditLogConfig",
       "properties": {
         "exemptedMembers": {
-          "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.",
+          "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.",
           "items": {
             "type": "string"
           },
@@ -574,15 +581,15 @@
       "id": "BigQueryDestination",
       "properties": {
         "dataset": {
-          "description": "Required. The BigQuery dataset in format\n\"projects/projectId/datasets/datasetId\", to which the snapshot result\nshould be exported. If this dataset does not exist, the export call returns\nan INVALID_ARGUMENT error.",
+          "description": "Required. The BigQuery dataset in format \"projects/projectId/datasets/datasetId\", to which the snapshot result should be exported. If this dataset does not exist, the export call returns an INVALID_ARGUMENT error.",
           "type": "string"
         },
         "force": {
-          "description": "If the destination table already exists and this flag is `TRUE`, the\ntable will be overwritten by the contents of assets snapshot. If the flag\nis `FALSE` or unset and the destination table already exists, the export\ncall returns an INVALID_ARGUMEMT error.",
+          "description": "If the destination table already exists and this flag is `TRUE`, the table will be overwritten by the contents of assets snapshot. If the flag is `FALSE` or unset and the destination table already exists, the export call returns an INVALID_ARGUMEMT error.",
           "type": "boolean"
         },
         "table": {
-          "description": "Required. The BigQuery table to which the snapshot result should be\nwritten. If this table does not exist, a new table with the given name\nwill be created.",
+          "description": "Required. The BigQuery table to which the snapshot result should be written. If this table does not exist, a new table with the given name will be created.",
           "type": "string"
         }
       },
@@ -594,17 +601,17 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
           "type": "string"
         }
       },
@@ -616,17 +623,17 @@
       "properties": {
         "feed": {
           "$ref": "Feed",
-          "description": "Required. The feed details. The field `name` must be empty and it will be generated\nin the format of:\nprojects/project_number/feeds/feed_id\nfolders/folder_number/feeds/feed_id\norganizations/organization_number/feeds/feed_id"
+          "description": "Required. The feed details. The field `name` must be empty and it will be generated in the format of: projects/project_number/feeds/feed_id folders/folder_number/feeds/feed_id organizations/organization_number/feeds/feed_id"
         },
         "feedId": {
-          "description": "Required. This is the client-assigned asset feed identifier and it needs to\nbe unique under a specific parent project/folder/organization.",
+          "description": "Required. This is the client-assigned asset feed identifier and it needs to be unique under a specific parent project/folder/organization.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
@@ -639,7 +646,7 @@
           "additionalProperties": {
             "$ref": "Permissions"
           },
-          "description": "The map from roles to their included permissions that match the\npermission query (i.e., a query containing `policy.role.permissions:`).\nExample: if query `policy.role.permissions : \"compute.disk.get\"`\nmatches a policy binding that contains owner role, the\nmatched_permissions will be `{\"roles/owner\": [\"compute.disk.get\"]}`. The\nroles can also be found in the returned `policy` bindings. Note that the\nmap is populated only for requests with permission queries.",
+          "description": "The map from roles to their included permissions that match the permission query (i.e., a query containing `policy.role.permissions:`). Example: if query `policy.role.permissions:compute.disk.get` matches a policy binding that contains owner role, the matched_permissions will be `{\"roles/owner\": [\"compute.disk.get\"]}`. The roles can also be found in the returned `policy` bindings. Note that the map is populated only for requests with permission queries.",
           "type": "object"
         }
       },
@@ -650,14 +657,14 @@
       "id": "ExportAssetsRequest",
       "properties": {
         "assetTypes": {
-          "description": "A list of asset types to take a snapshot for. For example:\n\"compute.googleapis.com/Disk\".\n\nRegular expressions are also supported. For example:\n\n* \"compute.googleapis.com.*\" snapshots resources whose asset type starts\nwith \"compute.googleapis.com\".\n* \".*Instance\" snapshots resources whose asset type ends with \"Instance\".\n* \".*Instance.*\" snapshots resources whose asset type contains \"Instance\".\n\nSee [RE2](https://github.com/google/re2/wiki/Syntax) for all supported\nregular expression syntax. If the regular expression does not match any\nsupported asset type, an INVALID_ARGUMENT error will be returned.\n\nIf specified, only matching assets will be returned, otherwise, it will\nsnapshot all asset types. See [Introduction to Cloud Asset\nInventory](https://cloud.google.com/asset-inventory/docs/overview)\nfor all supported asset types.",
+          "description": "A list of asset types to take a snapshot for. For example: \"compute.googleapis.com/Disk\". Regular expressions are also supported. For example: * \"compute.googleapis.com.*\" snapshots resources whose asset type starts with \"compute.googleapis.com\". * \".*Instance\" snapshots resources whose asset type ends with \"Instance\". * \".*Instance.*\" snapshots resources whose asset type contains \"Instance\". See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported regular expression syntax. If the regular expression does not match any supported asset type, an INVALID_ARGUMENT error will be returned. If specified, only matching assets will be returned, otherwise, it will snapshot all asset types. See [Introduction to Cloud Asset Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all supported asset types.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "contentType": {
-          "description": "Asset content type. If not specified, no content but the asset name will be\nreturned.",
+          "description": "Asset content type. If not specified, no content but the asset name will be returned.",
           "enum": [
             "CONTENT_TYPE_UNSPECIFIED",
             "RESOURCE",
@@ -679,7 +686,7 @@
           "description": "Required. Output configuration indicating where the results will be output to."
         },
         "readTime": {
-          "description": "Timestamp to take an asset snapshot. This can only be set to a timestamp\nbetween the current time and the current time minus 35 days (inclusive).\nIf not specified, the current time will be used. Due to delays in resource\ndata collection and indexing, there is a volatile window during which\nrunning the same query may get different results.",
+          "description": "Timestamp to take an asset snapshot. This can only be set to a timestamp between the current time and the current time minus 35 days (inclusive). If not specified, the current time will be used. Due to delays in resource data collection and indexing, there is a volatile window during which running the same query may get different results.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -687,41 +694,41 @@
       "type": "object"
     },
     "Expr": {
-      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
+      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
       "id": "Expr",
       "properties": {
         "description": {
-          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
+          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
           "type": "string"
         },
         "expression": {
-          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
+          "description": "Textual representation of an expression in Common Expression Language syntax.",
           "type": "string"
         },
         "location": {
-          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
+          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
           "type": "string"
         },
         "title": {
-          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
+          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Feed": {
-      "description": "An asset feed used to export asset updates to a destinations.\nAn asset feed filter controls what updates are exported.\nThe asset feed must be created within a project, organization, or\nfolder. Supported destinations are:\nPub/Sub topics.",
+      "description": "An asset feed used to export asset updates to a destinations. An asset feed filter controls what updates are exported. The asset feed must be created within a project, organization, or folder. Supported destinations are: Pub/Sub topics.",
       "id": "Feed",
       "properties": {
         "assetNames": {
-          "description": "A list of the full names of the assets to receive updates. You must specify\neither or both of asset_names and asset_types. Only asset updates matching\nspecified asset_names or asset_types are exported to the feed.\nExample:\n`//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.\nSee [Resource\nNames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nfor more info.",
+          "description": "A list of the full names of the assets to receive updates. You must specify either or both of asset_names and asset_types. Only asset updates matching specified asset_names or asset_types are exported to the feed. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. See [Resource Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more info.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "assetTypes": {
-          "description": "A list of types of the assets to receive updates. You must specify either\nor both of asset_names and asset_types. Only asset updates matching\nspecified asset_names or asset_types are exported to the feed.\nExample: `\"compute.googleapis.com/Disk\"`\n\nSee [this\ntopic](https://cloud.google.com/asset-inventory/docs/supported-asset-types)\nfor a list of all supported asset types.",
+          "description": "A list of types of the assets to receive updates. You must specify either or both of asset_names and asset_types. Only asset updates matching specified asset_names or asset_types are exported to the feed. Example: `\"compute.googleapis.com/Disk\"` See [this topic](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for a list of all supported asset types.",
           "items": {
             "type": "string"
           },
@@ -729,10 +736,10 @@
         },
         "condition": {
           "$ref": "Expr",
-          "description": "A condition which determines whether an asset update should be published.\nIf specified, an asset will be returned only when the expression evaluates\nto true.\nWhen set, `expression` field in the `Expr` must be a valid [CEL expression]\n(https://github.com/google/cel-spec) on a TemporalAsset with name\n`temporal_asset`. Example: a Feed with expression (\"temporal_asset.deleted\n== true\") will only publish Asset deletions. Other fields of `Expr` are\noptional.\n\nSee our [user\nguide](https://cloud.google.com/asset-inventory/docs/monitoring-asset-changes#feed_with_condition)\nfor detailed instructions."
+          "description": "A condition which determines whether an asset update should be published. If specified, an asset will be returned only when the expression evaluates to true. When set, `expression` field in the `Expr` must be a valid [CEL expression] (https://github.com/google/cel-spec) on a TemporalAsset with name `temporal_asset`. Example: a Feed with expression (\"temporal_asset.deleted == true\") will only publish Asset deletions. Other fields of `Expr` are optional. See our [user guide](https://cloud.google.com/asset-inventory/docs/monitoring-asset-changes#feed_with_condition) for detailed instructions."
         },
         "contentType": {
-          "description": "Asset content type. If not specified, no content but the asset name and\ntype will be returned.",
+          "description": "Asset content type. If not specified, no content but the asset name and type will be returned.",
           "enum": [
             "CONTENT_TYPE_UNSPECIFIED",
             "RESOURCE",
@@ -751,10 +758,10 @@
         },
         "feedOutputConfig": {
           "$ref": "FeedOutputConfig",
-          "description": "Required. Feed output configuration defining where the asset updates are\npublished to."
+          "description": "Required. Feed output configuration defining where the asset updates are published to."
         },
         "name": {
-          "description": "Required. The format will be\nprojects/{project_number}/feeds/{client-assigned_feed_identifier} or\nfolders/{folder_number}/feeds/{client-assigned_feed_identifier} or\norganizations/{organization_number}/feeds/{client-assigned_feed_identifier}\n\nThe client-assigned feed identifier must be unique within the parent\nproject/folder/organization.",
+          "description": "Required. The format will be projects/{project_number}/feeds/{client-assigned_feed_identifier} or folders/{folder_number}/feeds/{client-assigned_feed_identifier} or organizations/{organization_number}/feeds/{client-assigned_feed_identifier} The client-assigned feed identifier must be unique within the parent project/folder/organization.",
           "type": "string"
         }
       },
@@ -776,29 +783,29 @@
       "id": "GcsDestination",
       "properties": {
         "uri": {
-          "description": "The uri of the Cloud Storage object. It's the same uri that is used by\ngsutil. Example: \"gs://bucket_name/object_name\". See [Viewing and\nEditing Object\nMetadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)\nfor more information.",
+          "description": "The uri of the Cloud Storage object. It's the same uri that is used by gsutil. Example: \"gs://bucket_name/object_name\". See [Viewing and Editing Object Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata) for more information.",
           "type": "string"
         },
         "uriPrefix": {
-          "description": "The uri prefix of all generated Cloud Storage objects. Example:\n\"gs://bucket_name/object_name_prefix\". Each object uri is in format:\n\"gs://bucket_name/object_name_prefix/\u003casset type\u003e/\u003cshard number\u003e and only\ncontains assets for that type. \u003cshard number\u003e starts from 0. Example:\n\"gs://bucket_name/object_name_prefix/compute.googleapis.com/Disk/0\" is\nthe first shard of output objects containing all\ncompute.googleapis.com/Disk assets. An INVALID_ARGUMENT error will be\nreturned if file with the same name \"gs://bucket_name/object_name_prefix\"\nalready exists.",
+          "description": "The uri prefix of all generated Cloud Storage objects. Example: \"gs://bucket_name/object_name_prefix\". Each object uri is in format: \"gs://bucket_name/object_name_prefix// and only contains assets for that type. starts from 0. Example: \"gs://bucket_name/object_name_prefix/compute.googleapis.com/Disk/0\" is the first shard of output objects containing all compute.googleapis.com/Disk assets. An INVALID_ARGUMENT error will be returned if file with the same name \"gs://bucket_name/object_name_prefix\" already exists.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleCloudOrgpolicyV1BooleanPolicy": {
-      "description": "Used in `policy_type` to specify how `boolean_policy` will behave at this\nresource.",
+      "description": "Used in `policy_type` to specify how `boolean_policy` will behave at this resource.",
       "id": "GoogleCloudOrgpolicyV1BooleanPolicy",
       "properties": {
         "enforced": {
-          "description": "If `true`, then the `Policy` is enforced. If `false`, then any\nconfiguration is acceptable.\n\nSuppose you have a `Constraint`\n`constraints/compute.disableSerialPortAccess` with `constraint_default`\nset to `ALLOW`. A `Policy` for that `Constraint` exhibits the following\nbehavior:\n  - If the `Policy` at this resource has enforced set to `false`, serial\n    port connection attempts will be allowed.\n  - If the `Policy` at this resource has enforced set to `true`, serial\n    port connection attempts will be refused.\n  - If the `Policy` at this resource is `RestoreDefault`, serial port\n    connection attempts will be allowed.\n  - If no `Policy` is set at this resource or anywhere higher in the\n    resource hierarchy, serial port connection attempts will be allowed.\n  - If no `Policy` is set at this resource, but one exists higher in the\n    resource hierarchy, the behavior is as if the`Policy` were set at\n    this resource.\n\nThe following examples demonstrate the different possible layerings:\n\nExample 1 (nearest `Constraint` wins):\n  `organizations/foo` has a `Policy` with:\n    {enforced: false}\n  `projects/bar` has no `Policy` set.\nThe constraint at `projects/bar` and `organizations/foo` will not be\nenforced.\n\nExample 2 (enforcement gets replaced):\n  `organizations/foo` has a `Policy` with:\n    {enforced: false}\n  `projects/bar` has a `Policy` with:\n    {enforced: true}\nThe constraint at `organizations/foo` is not enforced.\nThe constraint at `projects/bar` is enforced.\n\nExample 3 (RestoreDefault):\n  `organizations/foo` has a `Policy` with:\n    {enforced: true}\n  `projects/bar` has a `Policy` with:\n    {RestoreDefault: {}}\nThe constraint at `organizations/foo` is enforced.\nThe constraint at `projects/bar` is not enforced, because\n`constraint_default` for the `Constraint` is `ALLOW`.",
+          "description": "If `true`, then the `Policy` is enforced. If `false`, then any configuration is acceptable. Suppose you have a `Constraint` `constraints/compute.disableSerialPortAccess` with `constraint_default` set to `ALLOW`. A `Policy` for that `Constraint` exhibits the following behavior: - If the `Policy` at this resource has enforced set to `false`, serial port connection attempts will be allowed. - If the `Policy` at this resource has enforced set to `true`, serial port connection attempts will be refused. - If the `Policy` at this resource is `RestoreDefault`, serial port connection attempts will be allowed. - If no `Policy` is set at this resource or anywhere higher in the resource hierarchy, serial port connection attempts will be allowed. - If no `Policy` is set at this resource, but one exists higher in the resource hierarchy, the behavior is as if the`Policy` were set at this resource. The following examples demonstrate the different possible layerings: Example 1 (nearest `Constraint` wins): `organizations/foo` has a `Policy` with: {enforced: false} `projects/bar` has no `Policy` set. The constraint at `projects/bar` and `organizations/foo` will not be enforced. Example 2 (enforcement gets replaced): `organizations/foo` has a `Policy` with: {enforced: false} `projects/bar` has a `Policy` with: {enforced: true} The constraint at `organizations/foo` is not enforced. The constraint at `projects/bar` is enforced. Example 3 (RestoreDefault): `organizations/foo` has a `Policy` with: {enforced: true} `projects/bar` has a `Policy` with: {RestoreDefault: {}} The constraint at `organizations/foo` is enforced. The constraint at `projects/bar` is not enforced, because `constraint_default` for the `Constraint` is `ALLOW`.",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "GoogleCloudOrgpolicyV1ListPolicy": {
-      "description": "Used in `policy_type` to specify how `list_policy` behaves at this\nresource.\n\n`ListPolicy` can define specific values and subtrees of Cloud Resource\nManager resource hierarchy (`Organizations`, `Folders`, `Projects`) that\nare allowed or denied by setting the `allowed_values` and `denied_values`\nfields. This is achieved by using the `under:` and optional `is:` prefixes.\nThe `under:` prefix is used to denote resource subtree values.\nThe `is:` prefix is used to denote specific values, and is required only\nif the value contains a \":\". Values prefixed with \"is:\" are treated the\nsame as values with no prefix.\nAncestry subtrees must be in one of the following formats:\n    - \"projects/\u003cproject-id\u003e\", e.g. \"projects/tokyo-rain-123\"\n    - \"folders/\u003cfolder-id\u003e\", e.g. \"folders/1234\"\n    - \"organizations/\u003corganization-id\u003e\", e.g. \"organizations/1234\"\nThe `supports_under` field of the associated `Constraint`  defines whether\nancestry prefixes can be used. You can set `allowed_values` and\n`denied_values` in the same `Policy` if `all_values` is\n`ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all\nvalues. If `all_values` is set to either `ALLOW` or `DENY`,\n`allowed_values` and `denied_values` must be unset.",
+      "description": "Used in `policy_type` to specify how `list_policy` behaves at this resource. `ListPolicy` can define specific values and subtrees of Cloud Resource Manager resource hierarchy (`Organizations`, `Folders`, `Projects`) that are allowed or denied by setting the `allowed_values` and `denied_values` fields. This is achieved by using the `under:` and optional `is:` prefixes. The `under:` prefix is used to denote resource subtree values. The `is:` prefix is used to denote specific values, and is required only if the value contains a \":\". Values prefixed with \"is:\" are treated the same as values with no prefix. Ancestry subtrees must be in one of the following formats: - \"projects/\", e.g. \"projects/tokyo-rain-123\" - \"folders/\", e.g. \"folders/1234\" - \"organizations/\", e.g. \"organizations/1234\" The `supports_under` field of the associated `Constraint` defines whether ancestry prefixes can be used. You can set `allowed_values` and `denied_values` in the same `Policy` if `all_values` is `ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all values. If `all_values` is set to either `ALLOW` or `DENY`, `allowed_values` and `denied_values` must be unset.",
       "id": "GoogleCloudOrgpolicyV1ListPolicy",
       "properties": {
         "allValues": {
@@ -816,32 +823,32 @@
           "type": "string"
         },
         "allowedValues": {
-          "description": "List of values allowed  at this resource. Can only be set if `all_values`\nis set to `ALL_VALUES_UNSPECIFIED`.",
+          "description": "List of values allowed at this resource. Can only be set if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "deniedValues": {
-          "description": "List of values denied at this resource. Can only be set if `all_values`\nis set to `ALL_VALUES_UNSPECIFIED`.",
+          "description": "List of values denied at this resource. Can only be set if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "inheritFromParent": {
-          "description": "Determines the inheritance behavior for this `Policy`.\n\nBy default, a `ListPolicy` set at a resource supersedes any `Policy` set\nanywhere up the resource hierarchy. However, if `inherit_from_parent` is\nset to `true`, then the values from the effective `Policy` of the parent\nresource are inherited, meaning the values set in this `Policy` are\nadded to the values inherited up the hierarchy.\n\nSetting `Policy` hierarchies that inherit both allowed values and denied\nvalues isn't recommended in most circumstances to keep the configuration\nsimple and understandable. However, it is possible to set a `Policy` with\n`allowed_values` set that inherits a `Policy` with `denied_values` set.\nIn this case, the values that are allowed must be in `allowed_values` and\nnot present in `denied_values`.\n\nFor example, suppose you have a `Constraint`\n`constraints/serviceuser.services`, which has a `constraint_type` of\n`list_constraint`, and with `constraint_default` set to `ALLOW`.\nSuppose that at the Organization level, a `Policy` is applied that\nrestricts the allowed API activations to {`E1`, `E2`}. Then, if a\n`Policy` is applied to a project below the Organization that has\n`inherit_from_parent` set to `false` and field all_values set to DENY,\nthen an attempt to activate any API will be denied.\n\nThe following examples demonstrate different possible layerings for\n`projects/bar` parented by `organizations/foo`:\n\nExample 1 (no inherited values):\n  `organizations/foo` has a `Policy` with values:\n    {allowed_values: \"E1\" allowed_values:\"E2\"}\n  `projects/bar` has `inherit_from_parent` `false` and values:\n    {allowed_values: \"E3\" allowed_values: \"E4\"}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are `E3`, and `E4`.\n\nExample 2 (inherited values):\n  `organizations/foo` has a `Policy` with values:\n    {allowed_values: \"E1\" allowed_values:\"E2\"}\n  `projects/bar` has a `Policy` with values:\n    {value: \"E3\" value: \"E4\" inherit_from_parent: true}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`.\n\nExample 3 (inheriting both allowed and denied values):\n  `organizations/foo` has a `Policy` with values:\n    {allowed_values: \"E1\" allowed_values: \"E2\"}\n  `projects/bar` has a `Policy` with:\n    {denied_values: \"E1\"}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe value accepted at `projects/bar` is `E2`.\n\nExample 4 (RestoreDefault):\n  `organizations/foo` has a `Policy` with values:\n    {allowed_values: \"E1\" allowed_values:\"E2\"}\n  `projects/bar` has a `Policy` with values:\n    {RestoreDefault: {}}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are either all or none depending on\nthe value of `constraint_default` (if `ALLOW`, all; if\n`DENY`, none).\n\nExample 5 (no policy inherits parent policy):\n  `organizations/foo` has no `Policy` set.\n  `projects/bar` has no `Policy` set.\nThe accepted values at both levels are either all or none depending on\nthe value of `constraint_default` (if `ALLOW`, all; if\n`DENY`, none).\n\nExample 6 (ListConstraint allowing all):\n  `organizations/foo` has a `Policy` with values:\n    {allowed_values: \"E1\" allowed_values: \"E2\"}\n  `projects/bar` has a `Policy` with:\n    {all: ALLOW}\nThe accepted values at `organizations/foo` are `E1`, E2`.\nAny value is accepted at `projects/bar`.\n\nExample 7 (ListConstraint allowing none):\n  `organizations/foo` has a `Policy` with values:\n    {allowed_values: \"E1\" allowed_values: \"E2\"}\n  `projects/bar` has a `Policy` with:\n    {all: DENY}\nThe accepted values at `organizations/foo` are `E1`, E2`.\nNo value is accepted at `projects/bar`.\n\nExample 10 (allowed and denied subtrees of Resource Manager hierarchy):\nGiven the following resource hierarchy\n  O1-\u003e{F1, F2}; F1-\u003e{P1}; F2-\u003e{P2, P3},\n  `organizations/foo` has a `Policy` with values:\n    {allowed_values: \"under:organizations/O1\"}\n  `projects/bar` has a `Policy` with:\n    {allowed_values: \"under:projects/P3\"}\n    {denied_values: \"under:folders/F2\"}\nThe accepted values at `organizations/foo` are `organizations/O1`,\n  `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`,\n  `projects/P3`.\nThe accepted values at `projects/bar` are `organizations/O1`,\n  `folders/F1`, `projects/P1`.",
+          "description": "Determines the inheritance behavior for this `Policy`. By default, a `ListPolicy` set at a resource supersedes any `Policy` set anywhere up the resource hierarchy. However, if `inherit_from_parent` is set to `true`, then the values from the effective `Policy` of the parent resource are inherited, meaning the values set in this `Policy` are added to the values inherited up the hierarchy. Setting `Policy` hierarchies that inherit both allowed values and denied values isn't recommended in most circumstances to keep the configuration simple and understandable. However, it is possible to set a `Policy` with `allowed_values` set that inherits a `Policy` with `denied_values` set. In this case, the values that are allowed must be in `allowed_values` and not present in `denied_values`. For example, suppose you have a `Constraint` `constraints/serviceuser.services`, which has a `constraint_type` of `list_constraint`, and with `constraint_default` set to `ALLOW`. Suppose that at the Organization level, a `Policy` is applied that restricts the allowed API activations to {`E1`, `E2`}. Then, if a `Policy` is applied to a project below the Organization that has `inherit_from_parent` set to `false` and field all_values set to DENY, then an attempt to activate any API will be denied. The following examples demonstrate different possible layerings for `projects/bar` parented by `organizations/foo`: Example 1 (no inherited values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has `inherit_from_parent` `false` and values: {allowed_values: \"E3\" allowed_values: \"E4\"} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are `E3`, and `E4`. Example 2 (inherited values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has a `Policy` with values: {value: \"E3\" value: \"E4\" inherit_from_parent: true} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`. Example 3 (inheriting both allowed and denied values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {denied_values: \"E1\"} The accepted values at `organizations/foo` are `E1`, `E2`. The value accepted at `projects/bar` is `E2`. Example 4 (RestoreDefault): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has a `Policy` with values: {RestoreDefault: {}} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are either all or none depending on the value of `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 5 (no policy inherits parent policy): `organizations/foo` has no `Policy` set. `projects/bar` has no `Policy` set. The accepted values at both levels are either all or none depending on the value of `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 6 (ListConstraint allowing all): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {all: ALLOW} The accepted values at `organizations/foo` are `E1`, E2`. Any value is accepted at `projects/bar`. Example 7 (ListConstraint allowing none): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {all: DENY} The accepted values at `organizations/foo` are `E1`, E2`. No value is accepted at `projects/bar`. Example 10 (allowed and denied subtrees of Resource Manager hierarchy): Given the following resource hierarchy O1-\u003e{F1, F2}; F1-\u003e{P1}; F2-\u003e{P2, P3}, `organizations/foo` has a `Policy` with values: {allowed_values: \"under:organizations/O1\"} `projects/bar` has a `Policy` with: {allowed_values: \"under:projects/P3\"} {denied_values: \"under:folders/F2\"} The accepted values at `organizations/foo` are `organizations/O1`, `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`, `projects/P3`. The accepted values at `projects/bar` are `organizations/O1`, `folders/F1`, `projects/P1`.",
           "type": "boolean"
         },
         "suggestedValue": {
-          "description": "Optional. The Google Cloud Console will try to default to a configuration\nthat matches the value specified in this `Policy`. If `suggested_value`\nis not set, it will inherit the value specified higher in the hierarchy,\nunless `inherit_from_parent` is `false`.",
+          "description": "Optional. The Google Cloud Console will try to default to a configuration that matches the value specified in this `Policy`. If `suggested_value` is not set, it will inherit the value specified higher in the hierarchy, unless `inherit_from_parent` is `false`.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleCloudOrgpolicyV1Policy": {
-      "description": "Defines a Cloud Organization `Policy` which is used to specify `Constraints`\nfor configurations of Cloud Platform resources.",
+      "description": "Defines a Cloud Organization `Policy` which is used to specify `Constraints` for configurations of Cloud Platform resources.",
       "id": "GoogleCloudOrgpolicyV1Policy",
       "properties": {
         "booleanPolicy": {
@@ -849,11 +856,11 @@
           "description": "For boolean `Constraints`, whether to enforce the `Constraint` or not."
         },
         "constraint": {
-          "description": "The name of the `Constraint` the `Policy` is configuring, for example,\n`constraints/serviceuser.services`.\n\nA [list of available\nconstraints](/resource-manager/docs/organization-policy/org-policy-constraints)\nis available.\n\nImmutable after creation.",
+          "description": "The name of the `Constraint` the `Policy` is configuring, for example, `constraints/serviceuser.services`. A [list of available constraints](/resource-manager/docs/organization-policy/org-policy-constraints) is available. Immutable after creation.",
           "type": "string"
         },
         "etag": {
-          "description": "An opaque tag indicating the current version of the `Policy`, used for\nconcurrency control.\n\nWhen the `Policy` is returned from either a `GetPolicy` or a\n`ListOrgPolicy` request, this `etag` indicates the version of the current\n`Policy` to use when executing a read-modify-write loop.\n\nWhen the `Policy` is returned from a `GetEffectivePolicy` request, the\n`etag` will be unset.\n\nWhen the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value\nthat was returned from a `GetOrgPolicy` request as part of a\nread-modify-write loop for concurrency control. Not setting the `etag`in a\n`SetOrgPolicy` request will result in an unconditional write of the\n`Policy`.",
+          "description": "An opaque tag indicating the current version of the `Policy`, used for concurrency control. When the `Policy` is returned from either a `GetPolicy` or a `ListOrgPolicy` request, this `etag` indicates the version of the current `Policy` to use when executing a read-modify-write loop. When the `Policy` is returned from a `GetEffectivePolicy` request, the `etag` will be unset. When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value that was returned from a `GetOrgPolicy` request as part of a read-modify-write loop for concurrency control. Not setting the `etag`in a `SetOrgPolicy` request will result in an unconditional write of the `Policy`.",
           "format": "byte",
           "type": "string"
         },
@@ -863,10 +870,10 @@
         },
         "restoreDefault": {
           "$ref": "GoogleCloudOrgpolicyV1RestoreDefault",
-          "description": "Restores the default behavior of the constraint; independent of\n`Constraint` type."
+          "description": "Restores the default behavior of the constraint; independent of `Constraint` type."
         },
         "updateTime": {
-          "description": "The time stamp the `Policy` was previously updated. This is set by the\nserver, not specified by the caller, and represents the last time a call to\n`SetOrgPolicy` was made for that `Policy`. Any value set by the client will\nbe ignored.",
+          "description": "The time stamp the `Policy` was previously updated. This is set by the server, not specified by the caller, and represents the last time a call to `SetOrgPolicy` was made for that `Policy`. Any value set by the client will be ignored.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -879,13 +886,13 @@
       "type": "object"
     },
     "GoogleCloudOrgpolicyV1RestoreDefault": {
-      "description": "Ignores policies set above this resource and restores the\n`constraint_default` enforcement behavior of the specific `Constraint` at\nthis resource.\n\nSuppose that `constraint_default` is set to `ALLOW` for the\n`Constraint` `constraints/serviceuser.services`. Suppose that organization\nfoo.com sets a `Policy` at their Organization resource node that restricts\nthe allowed service activations to deny all service activations. They\ncould then set a `Policy` with the `policy_type` `restore_default` on\nseveral experimental projects, restoring the `constraint_default`\nenforcement of the `Constraint` for only those projects, allowing those\nprojects to have all services activated.",
+      "description": "Ignores policies set above this resource and restores the `constraint_default` enforcement behavior of the specific `Constraint` at this resource. Suppose that `constraint_default` is set to `ALLOW` for the `Constraint` `constraints/serviceuser.services`. Suppose that organization foo.com sets a `Policy` at their Organization resource node that restricts the allowed service activations to deny all service activations. They could then set a `Policy` with the `policy_type` `restore_default` on several experimental projects, restoring the `constraint_default` enforcement of the `Constraint` for only those projects, allowing those projects to have all services activated.",
       "id": "GoogleCloudOrgpolicyV1RestoreDefault",
       "properties": {},
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1AccessLevel": {
-      "description": "An `AccessLevel` is a label that can be applied to requests to Google Cloud\nservices, along with a list of requirements necessary for the label to be\napplied.",
+      "description": "An `AccessLevel` is a label that can be applied to requests to Google Cloud services, along with a list of requirements necessary for the label to be applied.",
       "id": "GoogleIdentityAccesscontextmanagerV1AccessLevel",
       "properties": {
         "basic": {
@@ -901,7 +908,7 @@
           "type": "string"
         },
         "name": {
-          "description": "Required. Resource name for the Access Level. The `short_name` component\nmust begin with a letter and only include alphanumeric and '_'. Format:\n`accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length\nof the `short_name` component is 50 characters.",
+          "description": "Required. Resource name for the Access Level. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length of the `short_name` component is 50 characters.",
           "type": "string"
         },
         "title": {
@@ -912,19 +919,19 @@
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1AccessPolicy": {
-      "description": "`AccessPolicy` is a container for `AccessLevels` (which define the necessary\nattributes to use Google Cloud services) and `ServicePerimeters` (which\ndefine regions of services able to freely pass data within a perimeter). An\naccess policy is globally visible within an organization, and the\nrestrictions it specifies apply to all projects within an organization.",
+      "description": "`AccessPolicy` is a container for `AccessLevels` (which define the necessary attributes to use Google Cloud services) and `ServicePerimeters` (which define regions of services able to freely pass data within a perimeter). An access policy is globally visible within an organization, and the restrictions it specifies apply to all projects within an organization.",
       "id": "GoogleIdentityAccesscontextmanagerV1AccessPolicy",
       "properties": {
         "etag": {
-          "description": "Output only. An opaque identifier for the current version of the\n`AccessPolicy`. This will always be a strongly validated etag, meaning that\ntwo Access Polices will be identical if and only if their etags are\nidentical. Clients should not expect this to be in any specific format.",
+          "description": "Output only. An opaque identifier for the current version of the `AccessPolicy`. This will always be a strongly validated etag, meaning that two Access Polices will be identical if and only if their etags are identical. Clients should not expect this to be in any specific format.",
           "type": "string"
         },
         "name": {
-          "description": "Output only. Resource name of the `AccessPolicy`. Format:\n`accessPolicies/{policy_id}`",
+          "description": "Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/{policy_id}`",
           "type": "string"
         },
         "parent": {
-          "description": "Required. The parent of this `AccessPolicy` in the Cloud Resource\nHierarchy. Currently immutable once created. Format:\n`organizations/{organization_id}`",
+          "description": "Required. The parent of this `AccessPolicy` in the Cloud Resource Hierarchy. Currently immutable once created. Format: `organizations/{organization_id}`",
           "type": "string"
         },
         "title": {
@@ -939,7 +946,7 @@
       "id": "GoogleIdentityAccesscontextmanagerV1BasicLevel",
       "properties": {
         "combiningFunction": {
-          "description": "How the `conditions` list should be combined to determine if a request is\ngranted this `AccessLevel`. If AND is used, each `Condition` in\n`conditions` must be satisfied for the `AccessLevel` to be applied. If OR\nis used, at least one `Condition` in `conditions` must be satisfied for the\n`AccessLevel` to be applied. Default behavior is AND.",
+          "description": "How the `conditions` list should be combined to determine if a request is granted this `AccessLevel`. If AND is used, each `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. If OR is used, at least one `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. Default behavior is AND.",
           "enum": [
             "AND",
             "OR"
@@ -961,40 +968,40 @@
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1Condition": {
-      "description": "A condition necessary for an `AccessLevel` to be granted. The Condition is an\nAND over its fields. So a Condition is true if: 1) the request IP is from one\nof the listed subnetworks AND 2) the originating device complies with the\nlisted device policy AND 3) all listed access levels are granted AND 4) the\nrequest was sent at a time allowed by the DateTimeRestriction.",
+      "description": "A condition necessary for an `AccessLevel` to be granted. The Condition is an AND over its fields. So a Condition is true if: 1) the request IP is from one of the listed subnetworks AND 2) the originating device complies with the listed device policy AND 3) all listed access levels are granted AND 4) the request was sent at a time allowed by the DateTimeRestriction.",
       "id": "GoogleIdentityAccesscontextmanagerV1Condition",
       "properties": {
         "devicePolicy": {
           "$ref": "GoogleIdentityAccesscontextmanagerV1DevicePolicy",
-          "description": "Device specific restrictions, all restrictions must hold for the\nCondition to be true. If not specified, all devices are allowed."
+          "description": "Device specific restrictions, all restrictions must hold for the Condition to be true. If not specified, all devices are allowed."
         },
         "ipSubnetworks": {
-          "description": "CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for\na CIDR IP address block, the specified IP address portion must be properly\ntruncated (i.e. all the host bits must be zero) or the input is considered\nmalformed. For example, \"192.0.2.0/24\" is accepted but \"192.0.2.1/24\" is\nnot. Similarly, for IPv6, \"2001:db8::/32\" is accepted whereas\n\"2001:db8::1/32\" is not. The originating IP of a request must be in one of\nthe listed subnets in order for this Condition to be true. If empty, all IP\naddresses are allowed.",
+          "description": "CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for a CIDR IP address block, the specified IP address portion must be properly truncated (i.e. all the host bits must be zero) or the input is considered malformed. For example, \"192.0.2.0/24\" is accepted but \"192.0.2.1/24\" is not. Similarly, for IPv6, \"2001:db8::/32\" is accepted whereas \"2001:db8::1/32\" is not. The originating IP of a request must be in one of the listed subnets in order for this Condition to be true. If empty, all IP addresses are allowed.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "members": {
-          "description": "The request must be made by one of the provided user or service\naccounts. Groups are not supported.\nSyntax:\n`user:{emailid}`\n`serviceAccount:{emailid}`\nIf not specified, a request may come from any user.",
+          "description": "The request must be made by one of the provided user or service accounts. Groups are not supported. Syntax: `user:{emailid}` `serviceAccount:{emailid}` If not specified, a request may come from any user.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "negate": {
-          "description": "Whether to negate the Condition. If true, the Condition becomes a NAND over\nits non-empty fields, each field must be false for the Condition overall to\nbe satisfied. Defaults to false.",
+          "description": "Whether to negate the Condition. If true, the Condition becomes a NAND over its non-empty fields, each field must be false for the Condition overall to be satisfied. Defaults to false.",
           "type": "boolean"
         },
         "regions": {
-          "description": "The request must originate from one of the provided countries/regions.\nMust be valid ISO 3166-1 alpha-2 codes.",
+          "description": "The request must originate from one of the provided countries/regions. Must be valid ISO 3166-1 alpha-2 codes.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "requiredAccessLevels": {
-          "description": "A list of other access levels defined in the same `Policy`, referenced by\nresource name. Referencing an `AccessLevel` which does not exist is an\nerror. All access levels listed must be granted for the Condition\nto be true. Example:\n\"`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME\"`",
+          "description": "A list of other access levels defined in the same `Policy`, referenced by resource name. Referencing an `AccessLevel` which does not exist is an error. All access levels listed must be granted for the Condition to be true. Example: \"`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME\"`",
           "items": {
             "type": "string"
           },
@@ -1004,7 +1011,7 @@
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1CustomLevel": {
-      "description": "`CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language\nto represent the necessary conditions for the level to apply to a request.\nSee CEL spec at: https://github.com/google/cel-spec",
+      "description": "`CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request. See CEL spec at: https://github.com/google/cel-spec",
       "id": "GoogleIdentityAccesscontextmanagerV1CustomLevel",
       "properties": {
         "expr": {
@@ -1015,16 +1022,16 @@
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1DevicePolicy": {
-      "description": "`DevicePolicy` specifies device specific restrictions necessary to acquire a\ngiven access level. A `DevicePolicy` specifies requirements for requests from\ndevices to be granted access levels, it does not do any enforcement on the\ndevice. `DevicePolicy` acts as an AND over all specified fields, and each\nrepeated field is an OR over its elements. Any unset fields are ignored. For\nexample, if the proto is { os_type : DESKTOP_WINDOWS, os_type :\nDESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be\ntrue for requests originating from encrypted Linux desktops and encrypted\nWindows desktops.",
+      "description": "`DevicePolicy` specifies device specific restrictions necessary to acquire a given access level. A `DevicePolicy` specifies requirements for requests from devices to be granted access levels, it does not do any enforcement on the device. `DevicePolicy` acts as an AND over all specified fields, and each repeated field is an OR over its elements. Any unset fields are ignored. For example, if the proto is { os_type : DESKTOP_WINDOWS, os_type : DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be true for requests originating from encrypted Linux desktops and encrypted Windows desktops.",
       "id": "GoogleIdentityAccesscontextmanagerV1DevicePolicy",
       "properties": {
         "allowedDeviceManagementLevels": {
-          "description": "Allowed device management levels, an empty list allows all management\nlevels.",
+          "description": "Allowed device management levels, an empty list allows all management levels.",
           "enumDescriptions": [
             "The device's management level is not specified or not known.",
             "The device is not managed.",
-            "Basic management is enabled, which is generally limited to monitoring and\nwiping the corporate account.",
-            "Complete device management. This includes more thorough monitoring and the\nability to directly manage the device (such as remote wiping). This can be\nenabled through the Android Enterprise Platform."
+            "Basic management is enabled, which is generally limited to monitoring and wiping the corporate account.",
+            "Complete device management. This includes more thorough monitoring and the ability to directly manage the device (such as remote wiping). This can be enabled through the Android Enterprise Platform."
           ],
           "items": {
             "enum": [
@@ -1033,6 +1040,12 @@
               "BASIC",
               "COMPLETE"
             ],
+            "enumDescriptions": [
+              "The device's management level is not specified or not known.",
+              "The device is not managed.",
+              "Basic management is enabled, which is generally limited to monitoring and wiping the corporate account.",
+              "Complete device management. This includes more thorough monitoring and the ability to directly manage the device (such as remote wiping). This can be enabled through the Android Enterprise Platform."
+            ],
             "type": "string"
           },
           "type": "array"
@@ -1052,6 +1065,12 @@
               "UNENCRYPTED",
               "ENCRYPTED"
             ],
+            "enumDescriptions": [
+              "The encryption status of the device is not specified or not known.",
+              "The device does not support encryption.",
+              "The device supports encryption, but is currently unencrypted.",
+              "The device is encrypted."
+            ],
             "type": "string"
           },
           "type": "array"
@@ -1072,7 +1091,7 @@
           "type": "boolean"
         },
         "requireScreenlock": {
-          "description": "Whether or not screenlock is required for the DevicePolicy to be true.\nDefaults to `false`.",
+          "description": "Whether or not screenlock is required for the DevicePolicy to be true. Defaults to `false`.",
           "type": "boolean"
         }
       },
@@ -1083,7 +1102,7 @@
       "id": "GoogleIdentityAccesscontextmanagerV1OsConstraint",
       "properties": {
         "minimumVersion": {
-          "description": "The minimum allowed OS version. If not set, any version of this OS\nsatisfies the constraint. Format: `\"major.minor.patch\"`.\nExamples: `\"10.5.301\"`, `\"9.2.1\"`.",
+          "description": "The minimum allowed OS version. If not set, any version of this OS satisfies the constraint. Format: `\"major.minor.patch\"`. Examples: `\"10.5.301\"`, `\"9.2.1\"`.",
           "type": "string"
         },
         "osType": {
@@ -1109,26 +1128,26 @@
           "type": "string"
         },
         "requireVerifiedChromeOs": {
-          "description": "Only allows requests from devices with a verified Chrome OS.\nVerifications includes requirements that the device is enterprise-managed,\nconformant to domain policies, and the caller has permission to call\nthe API targeted by the request.",
+          "description": "Only allows requests from devices with a verified Chrome OS. Verifications includes requirements that the device is enterprise-managed, conformant to domain policies, and the caller has permission to call the API targeted by the request.",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1ServicePerimeter": {
-      "description": "`ServicePerimeter` describes a set of Google Cloud resources which can freely\nimport and export data amongst themselves, but not export outside of the\n`ServicePerimeter`. If a request with a source within this `ServicePerimeter`\nhas a target outside of the `ServicePerimeter`, the request will be blocked.\nOtherwise the request is allowed. There are two types of Service Perimeter -\nRegular and Bridge. Regular Service Perimeters cannot overlap, a single\nGoogle Cloud project can only belong to a single regular Service Perimeter.\nService Perimeter Bridges can contain only Google Cloud projects as members,\na single Google Cloud project may belong to multiple Service Perimeter\nBridges.",
+      "description": "`ServicePerimeter` describes a set of Google Cloud resources which can freely import and export data amongst themselves, but not export outside of the `ServicePerimeter`. If a request with a source within this `ServicePerimeter` has a target outside of the `ServicePerimeter`, the request will be blocked. Otherwise the request is allowed. There are two types of Service Perimeter - Regular and Bridge. Regular Service Perimeters cannot overlap, a single Google Cloud project can only belong to a single regular Service Perimeter. Service Perimeter Bridges can contain only Google Cloud projects as members, a single Google Cloud project may belong to multiple Service Perimeter Bridges.",
       "id": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter",
       "properties": {
         "description": {
-          "description": "Description of the `ServicePerimeter` and its use. Does not affect\nbehavior.",
+          "description": "Description of the `ServicePerimeter` and its use. Does not affect behavior.",
           "type": "string"
         },
         "name": {
-          "description": "Required. Resource name for the ServicePerimeter.  The `short_name`\ncomponent must begin with a letter and only include alphanumeric and '_'.\nFormat: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`",
+          "description": "Required. Resource name for the ServicePerimeter. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`",
           "type": "string"
         },
         "perimeterType": {
-          "description": "Perimeter type indicator. A single project is\nallowed to be a member of single regular perimeter, but multiple service\nperimeter bridges. A project cannot be a included in a perimeter bridge\nwithout being included in regular perimeter. For perimeter bridges,\nthe restricted service list as well as access level lists must be\nempty.",
+          "description": "Perimeter type indicator. A single project is allowed to be a member of single regular perimeter, but multiple service perimeter bridges. A project cannot be a included in a perimeter bridge without being included in regular perimeter. For perimeter bridges, the restricted service list as well as access level lists must be empty.",
           "enum": [
             "PERIMETER_TYPE_REGULAR",
             "PERIMETER_TYPE_BRIDGE"
@@ -1141,43 +1160,43 @@
         },
         "spec": {
           "$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig",
-          "description": "Proposed (or dry run) ServicePerimeter configuration. This configuration\nallows to specify and test ServicePerimeter configuration without enforcing\nactual access restrictions. Only allowed to be set when the\n\"use_explicit_dry_run_spec\" flag is set."
+          "description": "Proposed (or dry run) ServicePerimeter configuration. This configuration allows to specify and test ServicePerimeter configuration without enforcing actual access restrictions. Only allowed to be set when the \"use_explicit_dry_run_spec\" flag is set."
         },
         "status": {
           "$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig",
-          "description": "Current ServicePerimeter configuration. Specifies sets of resources,\nrestricted services and access levels that determine perimeter\ncontent and boundaries."
+          "description": "Current ServicePerimeter configuration. Specifies sets of resources, restricted services and access levels that determine perimeter content and boundaries."
         },
         "title": {
           "description": "Human readable title. Must be unique within the Policy.",
           "type": "string"
         },
         "useExplicitDryRunSpec": {
-          "description": "Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly\nexists  for all Service Perimeters, and that spec is identical to the\nstatus for those Service Perimeters. When this flag is set, it inhibits the\ngeneration of the implicit spec, thereby allowing the user to explicitly\nprovide a configuration (\"spec\") to use in a dry-run version of the Service\nPerimeter. This allows the user to test changes to the enforced config\n(\"status\") without actually enforcing them. This testing is done through\nanalyzing the differences between currently enforced and suggested\nrestrictions. use_explicit_dry_run_spec must bet set to True if any of the\nfields in the spec are set to non-default values.",
+          "description": "Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists for all Service Perimeters, and that spec is identical to the status for those Service Perimeters. When this flag is set, it inhibits the generation of the implicit spec, thereby allowing the user to explicitly provide a configuration (\"spec\") to use in a dry-run version of the Service Perimeter. This allows the user to test changes to the enforced config (\"status\") without actually enforcing them. This testing is done through analyzing the differences between currently enforced and suggested restrictions. use_explicit_dry_run_spec must bet set to True if any of the fields in the spec are set to non-default values.",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig": {
-      "description": "`ServicePerimeterConfig` specifies a set of Google Cloud resources that\ndescribe specific Service Perimeter configuration.",
+      "description": "`ServicePerimeterConfig` specifies a set of Google Cloud resources that describe specific Service Perimeter configuration.",
       "id": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig",
       "properties": {
         "accessLevels": {
-          "description": "A list of `AccessLevel` resource names that allow resources within the\n`ServicePerimeter` to be accessed from the internet. `AccessLevels` listed\nmust be in the same policy as this `ServicePerimeter`. Referencing a\nnonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are\nlisted, resources within the perimeter can only be accessed via Google\nCloud calls with request origins within the perimeter. Example:\n`\"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL\"`.\nFor Service Perimeter Bridge, must be empty.",
+          "description": "A list of `AccessLevel` resource names that allow resources within the `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `\"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL\"`. For Service Perimeter Bridge, must be empty.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "resources": {
-          "description": "A list of Google Cloud resources that are inside of the service perimeter.\nCurrently only projects are allowed. Format: `projects/{project_number}`",
+          "description": "A list of Google Cloud resources that are inside of the service perimeter. Currently only projects are allowed. Format: `projects/{project_number}`",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "restrictedServices": {
-          "description": "Google Cloud services that are subject to the Service Perimeter\nrestrictions. For example, if `storage.googleapis.com` is specified, access\nto the storage buckets inside the perimeter must meet the perimeter's\naccess restrictions.",
+          "description": "Google Cloud services that are subject to the Service Perimeter restrictions. For example, if `storage.googleapis.com` is specified, access to the storage buckets inside the perimeter must meet the perimeter's access restrictions.",
           "items": {
             "type": "string"
           },
@@ -1191,18 +1210,18 @@
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices": {
-      "description": "Specifies how APIs are allowed to communicate within the Service\nPerimeter.",
+      "description": "Specifies how APIs are allowed to communicate within the Service Perimeter.",
       "id": "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices",
       "properties": {
         "allowedServices": {
-          "description": "The list of APIs usable within the Service Perimeter. Must be empty\nunless 'enable_restriction' is True. You can specify a list of individual\nservices, as well as include the 'RESTRICTED-SERVICES' value, which\nautomatically includes all of the services protected by the perimeter.",
+          "description": "The list of APIs usable within the Service Perimeter. Must be empty unless 'enable_restriction' is True. You can specify a list of individual services, as well as include the 'RESTRICTED-SERVICES' value, which automatically includes all of the services protected by the perimeter.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "enableRestriction": {
-          "description": "Whether to restrict API calls within the Service Perimeter to the list of\nAPIs specified in 'allowed_services'.",
+          "description": "Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowed_services'.",
           "type": "boolean"
         }
       },
@@ -1214,18 +1233,18 @@
       "properties": {
         "explanation": {
           "$ref": "Explanation",
-          "description": "Explanation about the IAM policy search result. It contains additional\ninformation to explain why the search result matches the query."
+          "description": "Explanation about the IAM policy search result. It contains additional information to explain why the search result matches the query."
         },
         "policy": {
           "$ref": "Policy",
-          "description": "The IAM policy directly set on the given resource. Note that the original\nIAM policy can contain multiple bindings. This only contains the bindings\nthat match the given query. For queries that don't contain a constrain on\npolicies (e.g., an empty query), this contains all the bindings.\n\nTo search against the `policy` bindings:\n\n* use a field query, as following:\n    - query by the policy contained members. Example:\n      `policy : \"amy@gmail.com\"`\n    - query by the policy contained roles. Example:\n      `policy : \"roles/compute.admin\"`\n    - query by the policy contained roles' implied permissions. Example:\n      `policy.role.permissions : \"compute.instances.create\"`"
+          "description": "The IAM policy directly set on the given resource. Note that the original IAM policy can contain multiple bindings. This only contains the bindings that match the given query. For queries that don't contain a constrain on policies (e.g., an empty query), this contains all the bindings. To search against the `policy` bindings: * use a field query: - query by the policy contained members. Example: `policy:amy@gmail.com` - query by the policy contained roles. Example: `policy:roles/compute.admin` - query by the policy contained roles' included permissions. Example: `policy.role.permissions:compute.instances.create`"
         },
         "project": {
-          "description": "The project that the associated GCP resource belongs to, in the form of\nprojects/{PROJECT_NUMBER}. If an IAM policy is set on a resource (like VM\ninstance, Cloud Storage bucket), the project field will indicate the\nproject that contains the resource. If an IAM policy is set on a folder or\norgnization, the project field will be empty.\n\nTo search against the `project`:\n\n* specify the `scope` field as this project in your search request.",
+          "description": "The project that the associated GCP resource belongs to, in the form of projects/{PROJECT_NUMBER}. If an IAM policy is set on a resource (like VM instance, Cloud Storage bucket), the project field will indicate the project that contains the resource. If an IAM policy is set on a folder or orgnization, the project field will be empty. To search against the `project`: * specify the `scope` field as this project in your search request.",
           "type": "string"
         },
         "resource": {
-          "description": "The full resource name of the resource associated with this IAM policy.\nExample:\n`//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.\nSee [Cloud Asset Inventory Resource Name\nFormat](https://cloud.google.com/asset-inventory/docs/resource-name-format)\nfor more information.\n\nTo search against the `resource`:\n\n* use a field query. Example: `resource : \"organizations/123\"`",
+          "description": "The full resource name of the resource associated with this IAM policy. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. See [Cloud Asset Inventory Resource Name Format](https://cloud.google.com/asset-inventory/docs/resource-name-format) for more information. To search against the `resource`: * use a field query. Example: `resource:organizations/123`",
           "type": "string"
         }
       },
@@ -1245,11 +1264,11 @@
       "type": "object"
     },
     "Operation": {
-      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
+      "description": "This resource represents a long-running operation that is the result of a network API call.",
       "id": "Operation",
       "properties": {
         "done": {
-          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
+          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
           "type": "boolean"
         },
         "error": {
@@ -1261,11 +1280,11 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "Service-specific metadata associated with the operation.  It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata.  Any method that returns a\nlong-running operation should document the metadata type, if any.",
+          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
           "type": "object"
         },
         "name": {
-          "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.",
+          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
           "type": "string"
         },
         "response": {
@@ -1273,7 +1292,7 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "The normal response of the operation in case of success.  If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`.  If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource.  For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name.  For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
+          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
           "type": "object"
         }
       },
@@ -1285,7 +1304,7 @@
       "properties": {
         "bigqueryDestination": {
           "$ref": "BigQueryDestination",
-          "description": "Destination on BigQuery. The output table stores the fields in asset\nproto as columns in BigQuery."
+          "description": "Destination on BigQuery. The output table stores the fields in asset proto as columns in BigQuery."
         },
         "gcsDestination": {
           "$ref": "GcsDestination",
@@ -1309,7 +1328,7 @@
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\n            \"user:eve@example.com\"\n          ],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "auditConfigs": {
@@ -1320,19 +1339,19 @@
           "type": "array"
         },
         "bindings": {
-          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
+          "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.",
           "items": {
             "$ref": "Binding"
           },
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
           "format": "byte",
           "type": "string"
         },
         "version": {
-          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -1344,7 +1363,7 @@
       "id": "PubsubDestination",
       "properties": {
         "topic": {
-          "description": "The name of the Pub/Sub topic to publish to.\nExample: `projects/PROJECT_ID/topics/TOPIC_ID`.",
+          "description": "The name of the Pub/Sub topic to publish to. Example: `projects/PROJECT_ID/topics/TOPIC_ID`.",
           "type": "string"
         }
       },
@@ -1359,27 +1378,27 @@
             "description": "Properties of the object.",
             "type": "any"
           },
-          "description": "The content of the resource, in which some sensitive fields are removed\nand may not be present.",
+          "description": "The content of the resource, in which some sensitive fields are removed and may not be present.",
           "type": "object"
         },
         "discoveryDocumentUri": {
-          "description": "The URL of the discovery document containing the resource's JSON schema.\nExample:\n`https://www.googleapis.com/discovery/v1/apis/compute/v1/rest`\n\nThis value is unspecified for resources that do not have an API based on a\ndiscovery document, such as Cloud Bigtable.",
+          "description": "The URL of the discovery document containing the resource's JSON schema. Example: `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest` This value is unspecified for resources that do not have an API based on a discovery document, such as Cloud Bigtable.",
           "type": "string"
         },
         "discoveryName": {
-          "description": "The JSON schema name listed in the discovery document. Example:\n`Project`\n\nThis value is unspecified for resources that do not have an API based on a\ndiscovery document, such as Cloud Bigtable.",
+          "description": "The JSON schema name listed in the discovery document. Example: `Project` This value is unspecified for resources that do not have an API based on a discovery document, such as Cloud Bigtable.",
           "type": "string"
         },
         "location": {
-          "description": "The location of the resource in Google Cloud, such as its zone and region.\nFor more information, see https://cloud.google.com/about/locations/.",
+          "description": "The location of the resource in Google Cloud, such as its zone and region. For more information, see https://cloud.google.com/about/locations/.",
           "type": "string"
         },
         "parent": {
-          "description": "The full name of the immediate parent of this resource. See\n[Resource\nNames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nfor more information.\n\nFor Google Cloud assets, this value is the parent resource defined in the\n[Cloud IAM policy\nhierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy).\nExample:\n`//cloudresourcemanager.googleapis.com/projects/my_project_123`\n\nFor third-party assets, this field may be set differently.",
+          "description": "The full name of the immediate parent of this resource. See [Resource Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information. For Google Cloud assets, this value is the parent resource defined in the [Cloud IAM policy hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy). Example: `//cloudresourcemanager.googleapis.com/projects/my_project_123` For third-party assets, this field may be set differently.",
           "type": "string"
         },
         "resourceUrl": {
-          "description": "The REST URL for accessing the resource. An HTTP `GET` request using this\nURL returns the resource itself. Example:\n`https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123`\n\nThis value is unspecified for resources without a REST API.",
+          "description": "The REST URL for accessing the resource. An HTTP `GET` request using this URL returns the resource itself. Example: `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123` This value is unspecified for resources without a REST API.",
           "type": "string"
         },
         "version": {
@@ -1398,45 +1417,45 @@
             "description": "Properties of the object.",
             "type": "any"
           },
-          "description": "The additional searchable attributes of this resource. The attributes may\nvary from one resource type to another. Examples: `projectId` for Project,\n`dnsName` for DNS ManagedZone. This field contains a subset of the resource\nmetadata fields that are returned by the List or Get APIs provided by the\ncorresponding GCP service (e.g., Compute Engine). see [API references and\nsupported searchable\nattributes](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types)\nfor more information.\n\nYou can search values of these fields through free text search. However,\nyou should not consume the field programically as the field names and\nvalues may change as the GCP service updates to a new incompatible API\nversion.\n\nTo search against the `additional_attributes`:\n\n* use a free text query to match the attributes values. Example: to search\n  `additional_attributes = { dnsName: \"foobar\" }`, you can issue a query\n  `\"foobar\"`.",
+          "description": "The additional searchable attributes of this resource. The attributes may vary from one resource type to another. Examples: `projectId` for Project, `dnsName` for DNS ManagedZone. This field contains a subset of the resource metadata fields that are returned by the List or Get APIs provided by the corresponding GCP service (e.g., Compute Engine). see [API references and supported searchable attributes](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types) for more information. You can search values of these fields through free text search. However, you should not consume the field programically as the field names and values may change as the GCP service updates to a new incompatible API version. To search against the `additional_attributes`: * use a free text query to match the attributes values. Example: to search `additional_attributes = { dnsName: \"foobar\" }`, you can issue a query `foobar`.",
           "type": "object"
         },
         "assetType": {
-          "description": "The type of this resource. Example: `compute.googleapis.com/Disk`.\n\nTo search against the `asset_type`:\n\n* specify the `asset_type` field in your search request.",
+          "description": "The type of this resource. Example: `compute.googleapis.com/Disk`. To search against the `asset_type`: * specify the `asset_type` field in your search request.",
           "type": "string"
         },
         "description": {
-          "description": "One or more paragraphs of text description of this resource. Maximum length\ncould be up to 1M bytes.\n\nTo search against the `description`:\n\n* use a field query. Example: `description : \"*important instance*\"`\n* use a free text query. Example: `\"*important instance*\"`",
+          "description": "One or more paragraphs of text description of this resource. Maximum length could be up to 1M bytes. To search against the `description`: * use a field query. Example: `description:\"*important instance*\"` * use a free text query. Example: `\"*important instance*\"`",
           "type": "string"
         },
         "displayName": {
-          "description": "The display name of this resource.\n\nTo search against the `display_name`:\n\n* use a field query. Example: `displayName : \"My Instance\"`\n* use a free text query. Example: `\"My Instance\"`",
+          "description": "The display name of this resource. To search against the `display_name`: * use a field query. Example: `displayName:\"My Instance\"` * use a free text query. Example: `\"My Instance\"`",
           "type": "string"
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Labels associated with this resource. See [Labelling and grouping GCP\nresources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)\nfor more information.\n\nTo search against the `labels`:\n\n* use a field query, as following:\n    - query on any label's key or value. Example: `labels : \"prod\"`\n    - query by a given label. Example: `labels.env : \"prod\"`\n    - query by a given label'sexistence. Example: `labels.env : *`\n* use a free text query. Example: `\"prod\"`",
+          "description": "Labels associated with this resource. See [Labelling and grouping GCP resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources) for more information. To search against the `labels`: * use a field query: - query on any label's key or value. Example: `labels:prod` - query by a given label. Example: `labels.env:prod` - query by a given label's existence. Example: `labels.env:*` * use a free text query. Example: `prod`",
           "type": "object"
         },
         "location": {
-          "description": "Location can be `global`, regional like `us-east1`, or zonal like\n`us-west1-b`.\n\nTo search against the `location`:\n\n* use a field query. Example: `location : \"us-west*\"`\n* use a free text query. Example: `\"us-west*\"`",
+          "description": "Location can be `global`, regional like `us-east1`, or zonal like `us-west1-b`. To search against the `location`: * use a field query. Example: `location:us-west*` * use a free text query. Example: `us-west*`",
           "type": "string"
         },
         "name": {
-          "description": "The full resource name of this resource. Example:\n`//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.\nSee [Cloud Asset Inventory Resource Name\nFormat](https://cloud.google.com/asset-inventory/docs/resource-name-format)\nfor more information.\n\nTo search against the `name`:\n\n* use a field query. Example: `name : \"instance1\"`\n* use a free text query. Example: `\"instance1\"`",
+          "description": "The full resource name of this resource. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. See [Cloud Asset Inventory Resource Name Format](https://cloud.google.com/asset-inventory/docs/resource-name-format) for more information. To search against the `name`: * use a field query. Example: `name:instance1` * use a free text query. Example: `instance1`",
           "type": "string"
         },
         "networkTags": {
-          "description": "Network tags associated with this resource. Like labels, network tags are a\ntype of annotations used to group GCP resources. See [Labelling GCP\nresources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)\nfor more information.\n\nTo search against the `network_tags`:\n\n* use a field query. Example: `networkTags : \"internal\"`\n* use a free text query. Example: `\"internal\"`",
+          "description": "Network tags associated with this resource. Like labels, network tags are a type of annotations used to group GCP resources. See [Labelling GCP resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources) for more information. To search against the `network_tags`: * use a field query. Example: `networkTags:internal` * use a free text query. Example: `internal`",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "project": {
-          "description": "The project that this resource belongs to, in the form of\nprojects/{PROJECT_NUMBER}.\n\nTo search against the `project`:\n\n* specify the `scope` field as this project in your search request.",
+          "description": "The project that this resource belongs to, in the form of projects/{PROJECT_NUMBER}. To search against the `project`: * specify the `scope` field as this project in your search request.",
           "type": "string"
         }
       },
@@ -1447,11 +1466,11 @@
       "id": "SearchAllIamPoliciesResponse",
       "properties": {
         "nextPageToken": {
-          "description": "Set if there are more results than those appearing in this response; to get\nthe next set of results, call this method again, using this value as the\n`page_token`.",
+          "description": "Set if there are more results than those appearing in this response; to get the next set of results, call this method again, using this value as the `page_token`.",
           "type": "string"
         },
         "results": {
-          "description": "A list of IamPolicy that match the search query. Related information such\nas the associated resource is returned along with the policy.",
+          "description": "A list of IamPolicy that match the search query. Related information such as the associated resource is returned along with the policy.",
           "items": {
             "$ref": "IamPolicySearchResult"
           },
@@ -1465,11 +1484,11 @@
       "id": "SearchAllResourcesResponse",
       "properties": {
         "nextPageToken": {
-          "description": "If there are more results than those appearing in this response, then\n`next_page_token` is included. To get the next set of results, call this\nmethod again using the value of `next_page_token` as `page_token`.",
+          "description": "If there are more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.",
           "type": "string"
         },
         "results": {
-          "description": "A list of Resources that match the search query. It contains the resource\nstandard metadata information.",
+          "description": "A list of Resources that match the search query. It contains the resource standard metadata information.",
           "items": {
             "$ref": "ResourceSearchResult"
           },
@@ -1479,7 +1498,7 @@
       "type": "object"
     },
     "Status": {
-      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "Status",
       "properties": {
         "code": {
@@ -1488,7 +1507,7 @@
           "type": "integer"
         },
         "details": {
-          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -1499,14 +1518,14 @@
           "type": "array"
         },
         "message": {
-          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "TemporalAsset": {
-      "description": "An asset in Google Cloud and its temporal metadata, including the time window\nwhen it was observed and its status during that window.",
+      "description": "An asset in Google Cloud and its temporal metadata, including the time window when it was observed and its status during that window.",
       "id": "TemporalAsset",
       "properties": {
         "asset": {
@@ -1519,7 +1538,7 @@
         },
         "priorAsset": {
           "$ref": "Asset",
-          "description": "Prior copy of the asset. Populated if prior_asset_state is PRESENT.\nCurrently this is only set for responses in Real-Time Feed."
+          "description": "Prior copy of the asset. Populated if prior_asset_state is PRESENT. Currently this is only set for responses in Real-Time Feed."
         },
         "priorAssetState": {
           "description": "State of prior_asset.",
@@ -1551,7 +1570,7 @@
       "id": "TimeWindow",
       "properties": {
         "endTime": {
-          "description": "End time of the time window (inclusive). If not specified, the current\ntimestamp is used instead.",
+          "description": "End time of the time window (inclusive). If not specified, the current timestamp is used instead.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -1569,10 +1588,10 @@
       "properties": {
         "feed": {
           "$ref": "Feed",
-          "description": "Required. The new values of feed details. It must match an existing feed and the\nfield `name` must be in the format of:\nprojects/project_number/feeds/feed_id or\nfolders/folder_number/feeds/feed_id or\norganizations/organization_number/feeds/feed_id."
+          "description": "Required. The new values of feed details. It must match an existing feed and the field `name` must be in the format of: projects/project_number/feeds/feed_id or folders/folder_number/feeds/feed_id or organizations/organization_number/feeds/feed_id."
         },
         "updateMask": {
-          "description": "Required. Only updates the `feed` fields indicated by this mask.\nThe field mask must not be empty, and it must not contain fields that\nare immutable or only set by the server.",
+          "description": "Required. Only updates the `feed` fields indicated by this mask. The field mask must not be empty, and it must not contain fields that are immutable or only set by the server.",
           "format": "google-fieldmask",
           "type": "string"
         }
diff --git a/cloudasset/v1/cloudasset-gen.go b/cloudasset/v1/cloudasset-gen.go
index fac0219..a62bc0c 100644
--- a/cloudasset/v1/cloudasset-gen.go
+++ b/cloudasset/v1/cloudasset-gen.go
@@ -169,110 +169,74 @@
 }
 
 // Asset: An asset in Google Cloud. An asset can be any resource in the
-// Google
-// Cloud
-// [resource
-// hierarchy](https://cloud.google.com/resource-manager/d
-// ocs/cloud-platform-resource-hierarchy),
-// a resource outside the Google Cloud resource hierarchy (such as
-// Google
-// Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM
-// policy).
-// See [Supported
-// asset
-// types](https://cloud.google.com/asset-inventory/docs/supported-a
-// sset-types)
-// for more information.
+// Google Cloud [resource
+// hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platfo
+// rm-resource-hierarchy), a resource outside the Google Cloud resource
+// hierarchy (such as Google Kubernetes Engine clusters and objects), or
+// a policy (e.g. Cloud IAM policy). See [Supported asset
+// types](https://cloud.google.com/asset-inventory/docs/supported-asset-t
+// ypes) for more information.
 type Asset struct {
-	// AccessLevel: Please also refer to the [access level
-	// user
-	// guide](https://cloud.google.com/access-context-manager/docs/overv
-	// iew#access-levels).
+	// AccessLevel: Please also refer to the [access level user
+	// guide](https://cloud.google.com/access-context-manager/docs/overview#a
+	// ccess-levels).
 	AccessLevel *GoogleIdentityAccesscontextmanagerV1AccessLevel `json:"accessLevel,omitempty"`
 
-	// AccessPolicy: Please also refer to the [access policy
-	// user
-	// guide](https://cloud.google.com/access-context-manager/docs/overv
-	// iew#access-policies).
+	// AccessPolicy: Please also refer to the [access policy user
+	// guide](https://cloud.google.com/access-context-manager/docs/overview#a
+	// ccess-policies).
 	AccessPolicy *GoogleIdentityAccesscontextmanagerV1AccessPolicy `json:"accessPolicy,omitempty"`
 
-	// Ancestors: The ancestry path of an asset in Google Cloud
-	// [resource
-	// hierarchy](https://cloud.google.com/resource-manager/docs/cl
-	// oud-platform-resource-hierarchy),
-	// represented as a list of relative resource names. An ancestry path
-	// starts
-	// with the closest ancestor in the hierarchy and ends at root. If the
-	// asset
-	// is a project, folder, or organization, the ancestry path starts from
-	// the
-	// asset itself.
-	//
+	// Ancestors: The ancestry path of an asset in Google Cloud [resource
+	// hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platfo
+	// rm-resource-hierarchy), represented as a list of relative resource
+	// names. An ancestry path starts with the closest ancestor in the
+	// hierarchy and ends at root. If the asset is a project, folder, or
+	// organization, the ancestry path starts from the asset itself.
 	// Example: `["projects/123456789", "folders/5432",
 	// "organizations/1234"]`
 	Ancestors []string `json:"ancestors,omitempty"`
 
 	// AssetType: The type of the asset. Example:
-	// `compute.googleapis.com/Disk`
-	//
-	// See [Supported
-	// asset
-	// types](https://cloud.google.com/asset-inventory/docs/supported-a
-	// sset-types)
-	// for more information.
+	// `compute.googleapis.com/Disk` See [Supported asset
+	// types](https://cloud.google.com/asset-inventory/docs/supported-asset-t
+	// ypes) for more information.
 	AssetType string `json:"assetType,omitempty"`
 
 	// IamPolicy: A representation of the Cloud IAM policy set on a Google
-	// Cloud resource.
-	// There can be a maximum of one Cloud IAM policy set on any given
-	// resource.
-	// In addition, Cloud IAM policies inherit their granted access scope
-	// from any
-	// policies set on parent resources in the resource hierarchy.
-	// Therefore, the
-	// effectively policy is the union of both the policy set on this
-	// resource
-	// and each policy set on all of the resource's ancestry resource levels
-	// in
-	// the hierarchy. See
-	// [this topic](https://cloud.google.com/iam/docs/policies#inheritance)
-	// for
+	// Cloud resource. There can be a maximum of one Cloud IAM policy set on
+	// any given resource. In addition, Cloud IAM policies inherit their
+	// granted access scope from any policies set on parent resources in the
+	// resource hierarchy. Therefore, the effectively policy is the union of
+	// both the policy set on this resource and each policy set on all of
+	// the resource's ancestry resource levels in the hierarchy. See [this
+	// topic](https://cloud.google.com/iam/docs/policies#inheritance) for
 	// more information.
 	IamPolicy *Policy `json:"iamPolicy,omitempty"`
 
-	// Name: The full name of the asset.
-	// Example:
-	// `//compute.googleapis.com/projects/my_project_123/zones/zone1
-	// /instances/instance1`
-	//
-	// See
-	// [Resource
-	// names](https://cloud.google.com/apis/design/resource_names#f
-	// ull_resource_name)
-	// for more information.
+	// Name: The full name of the asset. Example:
+	// `//compute.googleapis.com/projects/my_project_123/zones/zone1/instance
+	// s/instance1` See [Resource
+	// names](https://cloud.google.com/apis/design/resource_names#full_resour
+	// ce_name) for more information.
 	Name string `json:"name,omitempty"`
 
-	// OrgPolicy: A representation of an
-	// [organization
-	// policy](https://cloud.google.com/resource-manager/docs/o
-	// rganization-policy/overview#organization_policy).
-	// There can be more than one organization policy with different
-	// constraints
-	// set on a given resource.
+	// OrgPolicy: A representation of an [organization
+	// policy](https://cloud.google.com/resource-manager/docs/organization-po
+	// licy/overview#organization_policy). There can be more than one
+	// organization policy with different constraints set on a given
+	// resource.
 	OrgPolicy []*GoogleCloudOrgpolicyV1Policy `json:"orgPolicy,omitempty"`
 
 	// Resource: A representation of the resource.
 	Resource *Resource `json:"resource,omitempty"`
 
-	// ServicePerimeter: Please also refer to the [service perimeter
-	// user
-	// guide](https://cloud.google.com/vpc-service-controls/docs/overvie
-	// w).
+	// ServicePerimeter: Please also refer to the [service perimeter user
+	// guide](https://cloud.google.com/vpc-service-controls/docs/overview).
 	ServicePerimeter *GoogleIdentityAccesscontextmanagerV1ServicePerimeter `json:"servicePerimeter,omitempty"`
 
 	// UpdateTime: The last update timestamp of an asset. update_time is
-	// updated when
-	// create/update/delete operation is performed.
+	// updated when create/update/delete operation is performed.
 	UpdateTime string `json:"updateTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AccessLevel") to
@@ -298,72 +262,31 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// AuditConfig: Specifies the audit configuration for a service.
-// The configuration determines which permission types are logged, and
-// what
-// identities, if any, are exempted from logging.
-// An AuditConfig must have one or more AuditLogConfigs.
-//
-// If there are AuditConfigs for both `allServices` and a specific
-// service,
-// the union of the two AuditConfigs is used for that service: the
-// log_types
-// specified in each AuditConfig are enabled, and the exempted_members
-// in each
-// AuditLogConfig are exempted.
-//
-// Example Policy with multiple AuditConfigs:
-//
-//     {
-//       "audit_configs": [
-//         {
-//           "service": "allServices",
-//           "audit_log_configs": [
-//             {
-//               "log_type": "DATA_READ",
-//               "exempted_members": [
-//                 "user:jose@example.com"
-//               ]
-//             },
-//             {
-//               "log_type": "DATA_WRITE"
-//             },
-//             {
-//               "log_type": "ADMIN_READ"
-//             }
-//           ]
-//         },
-//         {
-//           "service": "sampleservice.googleapis.com",
-//           "audit_log_configs": [
-//             {
-//               "log_type": "DATA_READ"
-//             },
-//             {
-//               "log_type": "DATA_WRITE",
-//               "exempted_members": [
-//                 "user:aliya@example.com"
-//               ]
-//             }
-//           ]
-//         }
-//       ]
-//     }
-//
-// For sampleservice, this policy enables DATA_READ, DATA_WRITE and
-// ADMIN_READ
-// logging. It also exempts jose@example.com from DATA_READ logging,
-// and
-// aliya@example.com from DATA_WRITE logging.
+// AuditConfig: Specifies the audit configuration for a service. The
+// configuration determines which permission types are logged, and what
+// identities, if any, are exempted from logging. An AuditConfig must
+// have one or more AuditLogConfigs. If there are AuditConfigs for both
+// `allServices` and a specific service, the union of the two
+// AuditConfigs is used for that service: the log_types specified in
+// each AuditConfig are enabled, and the exempted_members in each
+// AuditLogConfig are exempted. Example Policy with multiple
+// AuditConfigs: { "audit_configs": [ { "service": "allServices",
+// "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members":
+// [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, {
+// "log_type": "ADMIN_READ" } ] }, { "service":
+// "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type":
+// "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [
+// "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy
+// enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts
+// jose@example.com from DATA_READ logging, and aliya@example.com from
+// DATA_WRITE logging.
 type AuditConfig struct {
 	// AuditLogConfigs: The configuration for logging of each type of
 	// permission.
 	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
 
-	// Service: Specifies a service that will be enabled for audit
-	// logging.
-	// For example, `storage.googleapis.com`,
-	// `cloudsql.googleapis.com`.
+	// Service: Specifies a service that will be enabled for audit logging.
+	// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
 	// `allServices` is a special value that covers all services.
 	Service string `json:"service,omitempty"`
 
@@ -392,31 +315,15 @@
 }
 
 // AuditLogConfig: Provides the configuration for logging a type of
-// permissions.
-// Example:
-//
-//     {
-//       "audit_log_configs": [
-//         {
-//           "log_type": "DATA_READ",
-//           "exempted_members": [
-//             "user:jose@example.com"
-//           ]
-//         },
-//         {
-//           "log_type": "DATA_WRITE"
-//         }
-//       ]
-//     }
-//
-// This enables 'DATA_READ' and 'DATA_WRITE' logging, while
-// exempting
-// jose@example.com from DATA_READ logging.
+// permissions. Example: { "audit_log_configs": [ { "log_type":
+// "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, {
+// "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and
+// 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ
+// logging.
 type AuditLogConfig struct {
 	// ExemptedMembers: Specifies the identities that do not cause logging
-	// for this type of
-	// permission.
-	// Follows the same format of Binding.members.
+	// for this type of permission. Follows the same format of
+	// Binding.members.
 	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
 
 	// LogType: The log type that this config enables.
@@ -486,29 +393,21 @@
 
 // BigQueryDestination: A BigQuery destination for exporting assets to.
 type BigQueryDestination struct {
-	// Dataset: Required. The BigQuery dataset in
-	// format
-	// "projects/projectId/datasets/datasetId", to which the snapshot
-	// result
+	// Dataset: Required. The BigQuery dataset in format
+	// "projects/projectId/datasets/datasetId", to which the snapshot result
 	// should be exported. If this dataset does not exist, the export call
-	// returns
-	// an INVALID_ARGUMENT error.
+	// returns an INVALID_ARGUMENT error.
 	Dataset string `json:"dataset,omitempty"`
 
 	// Force: If the destination table already exists and this flag is
-	// `TRUE`, the
-	// table will be overwritten by the contents of assets snapshot. If the
-	// flag
-	// is `FALSE` or unset and the destination table already exists, the
-	// export
-	// call returns an INVALID_ARGUMEMT error.
+	// `TRUE`, the table will be overwritten by the contents of assets
+	// snapshot. If the flag is `FALSE` or unset and the destination table
+	// already exists, the export call returns an INVALID_ARGUMEMT error.
 	Force bool `json:"force,omitempty"`
 
 	// Table: Required. The BigQuery table to which the snapshot result
-	// should be
-	// written. If this table does not exist, a new table with the given
-	// name
-	// will be created.
+	// should be written. If this table does not exist, a new table with the
+	// given name will be created.
 	Table string `json:"table,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Dataset") to
@@ -536,95 +435,53 @@
 
 // Binding: Associates `members` with a `role`.
 type Binding struct {
-	// Condition: The condition that is associated with this binding.
-	//
-	// If the condition evaluates to `true`, then this binding applies to
-	// the
-	// current request.
-	//
-	// If the condition evaluates to `false`, then this binding does not
-	// apply to
-	// the current request. However, a different role binding might grant
-	// the same
-	// role to one or more of the members in this binding.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// Condition: The condition that is associated with this binding. If the
+	// condition evaluates to `true`, then this binding applies to the
+	// current request. If the condition evaluates to `false`, then this
+	// binding does not apply to the current request. However, a different
+	// role binding might grant the same role to one or more of the members
+	// in this binding. To learn which resources support conditions in their
+	// IAM policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	Condition *Expr `json:"condition,omitempty"`
 
 	// Members: Specifies the identities requesting access for a Cloud
-	// Platform resource.
-	// `members` can have the following values:
-	//
-	// * `allUsers`: A special identifier that represents anyone who is
-	//    on the internet; with or without a Google account.
-	//
-	// * `allAuthenticatedUsers`: A special identifier that represents
-	// anyone
-	//    who is authenticated with a Google account or a service
-	// account.
-	//
-	// * `user:{emailid}`: An email address that represents a specific
-	// Google
-	//    account. For example, `alice@example.com` .
-	//
-	//
-	// * `serviceAccount:{emailid}`: An email address that represents a
-	// service
-	//    account. For example,
-	// `my-other-app@appspot.gserviceaccount.com`.
-	//
-	// * `group:{emailid}`: An email address that represents a Google
-	// group.
-	//    For example, `admins@example.com`.
-	//
-	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a user that has been recently deleted.
-	// For
-	//    example, `alice@example.com?uid=123456789012345678901`. If the
-	// user is
-	//    recovered, this value reverts to `user:{emailid}` and the
-	// recovered user
-	//    retains the role in the binding.
-	//
-	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
-	// (plus
-	//    unique identifier) representing a service account that has been
-	// recently
-	//    deleted. For example,
-	//
+	// Platform resource. `members` can have the following values: *
+	// `allUsers`: A special identifier that represents anyone who is on the
+	// internet; with or without a Google account. *
+	// `allAuthenticatedUsers`: A special identifier that represents anyone
+	// who is authenticated with a Google account or a service account. *
+	// `user:{emailid}`: An email address that represents a specific Google
+	// account. For example, `alice@example.com` . *
+	// `serviceAccount:{emailid}`: An email address that represents a
+	// service account. For example,
+	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
+	// email address that represents a Google group. For example,
+	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
+	// email address (plus unique identifier) representing a user that has
+	// been recently deleted. For example,
+	// `alice@example.com?uid=123456789012345678901`. If the user is
+	// recovered, this value reverts to `user:{emailid}` and the recovered
+	// user retains the role in the binding. *
+	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
+	// (plus unique identifier) representing a service account that has been
+	// recently deleted. For example,
 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
-	//
-	//    If the service account is undeleted, this value reverts to
-	//    `serviceAccount:{emailid}` and the undeleted service account
-	// retains the
-	//    role in the binding.
-	//
-	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a Google group that has been recently
-	//    deleted. For example,
-	// `admins@example.com?uid=123456789012345678901`. If
-	//    the group is recovered, this value reverts to `group:{emailid}`
-	// and the
-	//    recovered group retains the role in the binding.
-	//
-	//
-	// * `domain:{domain}`: The G Suite domain (primary) that represents all
-	// the
-	//    users of that domain. For example, `google.com` or
-	// `example.com`.
-	//
-	//
+	// If the service account is undeleted, this value reverts to
+	// `serviceAccount:{emailid}` and the undeleted service account retains
+	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
+	// An email address (plus unique identifier) representing a Google group
+	// that has been recently deleted. For example,
+	// `admins@example.com?uid=123456789012345678901`. If the group is
+	// recovered, this value reverts to `group:{emailid}` and the recovered
+	// group retains the role in the binding. * `domain:{domain}`: The G
+	// Suite domain (primary) that represents all the users of that domain.
+	// For example, `google.com` or `example.com`.
 	Members []string `json:"members,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`.
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -653,18 +510,15 @@
 // CreateFeedRequest: Create asset feed request.
 type CreateFeedRequest struct {
 	// Feed: Required. The feed details. The field `name` must be empty and
-	// it will be generated
-	// in the format
-	// of:
+	// it will be generated in the format of:
 	// projects/project_number/feeds/feed_id
-	// folders/folder_number/feeds/
-	// feed_id
+	// folders/folder_number/feeds/feed_id
 	// organizations/organization_number/feeds/feed_id
 	Feed *Feed `json:"feed,omitempty"`
 
 	// FeedId: Required. This is the client-assigned asset feed identifier
-	// and it needs to
-	// be unique under a specific parent project/folder/organization.
+	// and it needs to be unique under a specific parent
+	// project/folder/organization.
 	FeedId string `json:"feedId,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Feed") to
@@ -691,17 +545,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -711,18 +559,13 @@
 // Explanation: Explanation about the IAM policy search result.
 type Explanation struct {
 	// MatchedPermissions: The map from roles to their included permissions
-	// that match the
-	// permission query (i.e., a query containing
-	// `policy.role.permissions:`).
-	// Example: if query `policy.role.permissions :
-	// "compute.disk.get"
-	// matches a policy binding that contains owner role,
-	// the
-	// matched_permissions will be `{"roles/owner": ["compute.disk.get"]}`.
-	// The
-	// roles can also be found in the returned `policy` bindings. Note that
-	// the
-	// map is populated only for requests with permission queries.
+	// that match the permission query (i.e., a query containing
+	// `policy.role.permissions:`). Example: if query
+	// `policy.role.permissions:compute.disk.get` matches a policy binding
+	// that contains owner role, the matched_permissions will be
+	// `{"roles/owner": ["compute.disk.get"]}`. The roles can also be found
+	// in the returned `policy` bindings. Note that the map is populated
+	// only for requests with permission queries.
 	MatchedPermissions map[string]Permissions `json:"matchedPermissions,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "MatchedPermissions")
@@ -752,37 +595,23 @@
 // ExportAssetsRequest: Export asset request.
 type ExportAssetsRequest struct {
 	// AssetTypes: A list of asset types to take a snapshot for. For
-	// example:
-	// "compute.googleapis.com/Disk".
-	//
-	// Regular expressions are also supported. For example:
-	//
-	// * "compute.googleapis.com.*" snapshots resources whose asset type
-	// starts
-	// with "compute.googleapis.com".
-	// * ".*Instance" snapshots resources whose asset type ends with
-	// "Instance".
-	// * ".*Instance.*" snapshots resources whose asset type contains
-	// "Instance".
-	//
-	// See [RE2](https://github.com/google/re2/wiki/Syntax) for all
-	// supported
+	// example: "compute.googleapis.com/Disk". Regular expressions are also
+	// supported. For example: * "compute.googleapis.com.*" snapshots
+	// resources whose asset type starts with "compute.googleapis.com". *
+	// ".*Instance" snapshots resources whose asset type ends with
+	// "Instance". * ".*Instance.*" snapshots resources whose asset type
+	// contains "Instance". See
+	// [RE2](https://github.com/google/re2/wiki/Syntax) for all supported
 	// regular expression syntax. If the regular expression does not match
-	// any
-	// supported asset type, an INVALID_ARGUMENT error will be returned.
-	//
+	// any supported asset type, an INVALID_ARGUMENT error will be returned.
 	// If specified, only matching assets will be returned, otherwise, it
-	// will
-	// snapshot all asset types. See [Introduction to Cloud
-	// Asset
-	// Inventory](https://cloud.google.com/asset-inventory/docs/overvie
-	// w)
+	// will snapshot all asset types. See [Introduction to Cloud Asset
+	// Inventory](https://cloud.google.com/asset-inventory/docs/overview)
 	// for all supported asset types.
 	AssetTypes []string `json:"assetTypes,omitempty"`
 
 	// ContentType: Asset content type. If not specified, no content but the
-	// asset name will be
-	// returned.
+	// asset name will be returned.
 	//
 	// Possible values:
 	//   "CONTENT_TYPE_UNSPECIFIED" - Unspecified content type.
@@ -798,14 +627,11 @@
 	OutputConfig *OutputConfig `json:"outputConfig,omitempty"`
 
 	// ReadTime: Timestamp to take an asset snapshot. This can only be set
-	// to a timestamp
-	// between the current time and the current time minus 35 days
-	// (inclusive).
-	// If not specified, the current time will be used. Due to delays in
-	// resource
-	// data collection and indexing, there is a volatile window during
-	// which
-	// running the same query may get different results.
+	// to a timestamp between the current time and the current time minus 35
+	// days (inclusive). If not specified, the current time will be used.
+	// Due to delays in resource data collection and indexing, there is a
+	// volatile window during which running the same query may get different
+	// results.
 	ReadTime string `json:"readTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AssetTypes") to
@@ -832,65 +658,40 @@
 }
 
 // Expr: Represents a textual expression in the Common Expression
-// Language (CEL)
-// syntax. CEL is a C-like expression language. The syntax and semantics
-// of CEL
-// are documented at https://github.com/google/cel-spec.
-//
-// Example (Comparison):
-//
-//     title: "Summary size limit"
-//     description: "Determines if a summary is less than 100 chars"
-//     expression: "document.summary.size() < 100"
-//
-// Example (Equality):
-//
-//     title: "Requestor is owner"
-//     description: "Determines if requestor is the document owner"
-//     expression: "document.owner ==
-// request.auth.claims.email"
-//
-// Example (Logic):
-//
-//     title: "Public documents"
-//     description: "Determine whether the document should be publicly
-// visible"
-//     expression: "document.type != 'private' && document.type !=
-// 'internal'"
-//
-// Example (Data Manipulation):
-//
-//     title: "Notification string"
-//     description: "Create a notification string with a timestamp."
-//     expression: "'New message received at ' +
-// string(document.create_time)"
-//
-// The exact variables and functions that may be referenced within an
-// expression
-// are determined by the service that evaluates it. See the
-// service
-// documentation for additional information.
+// Language (CEL) syntax. CEL is a C-like expression language. The
+// syntax and semantics of CEL are documented at
+// https://github.com/google/cel-spec. Example (Comparison): title:
+// "Summary size limit" description: "Determines if a summary is less
+// than 100 chars" expression: "document.summary.size() < 100" Example
+// (Equality): title: "Requestor is owner" description: "Determines if
+// requestor is the document owner" expression: "document.owner ==
+// request.auth.claims.email" Example (Logic): title: "Public documents"
+// description: "Determine whether the document should be publicly
+// visible" expression: "document.type != 'private' && document.type !=
+// 'internal'" Example (Data Manipulation): title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' +
+// string(document.create_time)" The exact variables and functions that
+// may be referenced within an expression are determined by the service
+// that evaluates it. See the service documentation for additional
+// information.
 type Expr struct {
 	// Description: Optional. Description of the expression. This is a
-	// longer text which
-	// describes the expression, e.g. when hovered over it in a UI.
+	// longer text which describes the expression, e.g. when hovered over it
+	// in a UI.
 	Description string `json:"description,omitempty"`
 
 	// Expression: Textual representation of an expression in Common
-	// Expression Language
-	// syntax.
+	// Expression Language syntax.
 	Expression string `json:"expression,omitempty"`
 
 	// Location: Optional. String indicating the location of the expression
-	// for error
-	// reporting, e.g. a file name and a position in the file.
+	// for error reporting, e.g. a file name and a position in the file.
 	Location string `json:"location,omitempty"`
 
 	// Title: Optional. Title for the expression, i.e. a short string
-	// describing
-	// its purpose. This can be used e.g. in UIs which allow to enter
-	// the
-	// expression.
+	// describing its purpose. This can be used e.g. in UIs which allow to
+	// enter the expression.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -916,70 +717,44 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// Feed: An asset feed used to export asset updates to a
-// destinations.
-// An asset feed filter controls what updates are exported.
-// The asset feed must be created within a project, organization,
-// or
-// folder. Supported destinations are:
-// Pub/Sub topics.
+// Feed: An asset feed used to export asset updates to a destinations.
+// An asset feed filter controls what updates are exported. The asset
+// feed must be created within a project, organization, or folder.
+// Supported destinations are: Pub/Sub topics.
 type Feed struct {
 	// AssetNames: A list of the full names of the assets to receive
-	// updates. You must specify
-	// either or both of asset_names and asset_types. Only asset updates
-	// matching
-	// specified asset_names or asset_types are exported to the
-	// feed.
-	// Example:
-	// `//compute.googleapis.com/projects/my_project_123/zones
-	// /zone1/instances/instance1`.
-	// See
-	// [Resource
-	// Names](https://cloud.google.com/apis/design/resource_names#f
-	// ull_resource_name)
-	// for more info.
+	// updates. You must specify either or both of asset_names and
+	// asset_types. Only asset updates matching specified asset_names or
+	// asset_types are exported to the feed. Example:
+	// `//compute.googleapis.com/projects/my_project_123/zones/zone1/instance
+	// s/instance1`. See [Resource
+	// Names](https://cloud.google.com/apis/design/resource_names#full_resour
+	// ce_name) for more info.
 	AssetNames []string `json:"assetNames,omitempty"`
 
 	// AssetTypes: A list of types of the assets to receive updates. You
-	// must specify either
-	// or both of asset_names and asset_types. Only asset updates
-	// matching
-	// specified asset_names or asset_types are exported to the
-	// feed.
-	// Example: "compute.googleapis.com/Disk"
-	//
-	// See
+	// must specify either or both of asset_names and asset_types. Only
+	// asset updates matching specified asset_names or asset_types are
+	// exported to the feed. Example: "compute.googleapis.com/Disk" See
 	// [this
-	// topic](https://cloud.google.com/asset-inventory/docs/supported-a
-	// sset-types)
-	// for a list of all supported asset types.
+	// topic](https://cloud.google.com/asset-inventory/docs/supported-asset-t
+	// ypes) for a list of all supported asset types.
 	AssetTypes []string `json:"assetTypes,omitempty"`
 
 	// Condition: A condition which determines whether an asset update
-	// should be published.
-	// If specified, an asset will be returned only when the expression
-	// evaluates
-	// to true.
-	// When set, `expression` field in the `Expr` must be a valid [CEL
-	// expression]
-	// (https://github.com/google/cel-spec) on a TemporalAsset with
-	// name
+	// should be published. If specified, an asset will be returned only
+	// when the expression evaluates to true. When set, `expression` field
+	// in the `Expr` must be a valid [CEL expression]
+	// (https://github.com/google/cel-spec) on a TemporalAsset with name
 	// `temporal_asset`. Example: a Feed with expression
-	// ("temporal_asset.deleted
-	// == true") will only publish Asset deletions. Other fields of `Expr`
-	// are
-	// optional.
-	//
-	// See our
-	// [user
-	// guide](https://cloud.google.com/asset-inventory/docs/monitoring-
-	// asset-changes#feed_with_condition)
-	// for detailed instructions.
+	// ("temporal_asset.deleted == true") will only publish Asset deletions.
+	// Other fields of `Expr` are optional. See our [user
+	// guide](https://cloud.google.com/asset-inventory/docs/monitoring-asset-
+	// changes#feed_with_condition) for detailed instructions.
 	Condition *Expr `json:"condition,omitempty"`
 
 	// ContentType: Asset content type. If not specified, no content but the
-	// asset name and
-	// type will be returned.
+	// asset name and type will be returned.
 	//
 	// Possible values:
 	//   "CONTENT_TYPE_UNSPECIFIED" - Unspecified content type.
@@ -991,22 +766,15 @@
 	ContentType string `json:"contentType,omitempty"`
 
 	// FeedOutputConfig: Required. Feed output configuration defining where
-	// the asset updates are
-	// published to.
+	// the asset updates are published to.
 	FeedOutputConfig *FeedOutputConfig `json:"feedOutputConfig,omitempty"`
 
-	// Name: Required. The format will
-	// be
-	// projects/{project_number}/feeds/{client-assigned_feed_identifier}
-	// or
-	// folders/{folder_number}/feeds/{client-assigned_feed_identifier}
-	// or
-	// organizations/{organization_number}/feeds/{client-assigned_feed_ide
-	// ntifier}
-	//
-	// The client-assigned feed identifier must be unique within the
-	// parent
-	// project/folder/organization.
+	// Name: Required. The format will be
+	// projects/{project_number}/feeds/{client-assigned_feed_identifier} or
+	// folders/{folder_number}/feeds/{client-assigned_feed_identifier} or
+	// organizations/{organization_number}/feeds/{client-assigned_feed_identi
+	// fier} The client-assigned feed identifier must be unique within the
+	// parent project/folder/organization.
 	Name string `json:"name,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1068,33 +836,21 @@
 // GcsDestination: A Cloud Storage location.
 type GcsDestination struct {
 	// Uri: The uri of the Cloud Storage object. It's the same uri that is
-	// used by
-	// gsutil. Example: "gs://bucket_name/object_name". See [Viewing
-	// and
-	// Editing
-	// Object
-	// Metadata](https://cloud.google.com/storage/docs/viewing-editing
-	// -metadata)
-	// for more information.
+	// used by gsutil. Example: "gs://bucket_name/object_name". See [Viewing
+	// and Editing Object
+	// Metadata](https://cloud.google.com/storage/docs/viewing-editing-metada
+	// ta) for more information.
 	Uri string `json:"uri,omitempty"`
 
 	// UriPrefix: The uri prefix of all generated Cloud Storage objects.
-	// Example:
-	// "gs://bucket_name/object_name_prefix". Each object uri is in
-	// format:
-	// "gs://bucket_name/object_name_prefix/<asset type>/<shard number> and
-	// only
-	// contains assets for that type. <shard number> starts from 0.
-	// Example:
-	// "gs://bucket_name/object_name_prefix/compute.googleapis.com/D
-	// isk/0" is
-	// the first shard of output objects containing
-	// all
-	// compute.googleapis.com/Disk assets. An INVALID_ARGUMENT error will
-	// be
+	// Example: "gs://bucket_name/object_name_prefix". Each object uri is in
+	// format: "gs://bucket_name/object_name_prefix// and only contains
+	// assets for that type. starts from 0. Example:
+	// "gs://bucket_name/object_name_prefix/compute.googleapis.com/Disk/0"
+	// is the first shard of output objects containing all
+	// compute.googleapis.com/Disk assets. An INVALID_ARGUMENT error will be
 	// returned if file with the same name
-	// "gs://bucket_name/object_name_prefix"
-	// already exists.
+	// "gs://bucket_name/object_name_prefix" already exists.
 	UriPrefix string `json:"uriPrefix,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Uri") to
@@ -1121,66 +877,35 @@
 }
 
 // GoogleCloudOrgpolicyV1BooleanPolicy: Used in `policy_type` to specify
-// how `boolean_policy` will behave at this
-// resource.
+// how `boolean_policy` will behave at this resource.
 type GoogleCloudOrgpolicyV1BooleanPolicy struct {
 	// Enforced: If `true`, then the `Policy` is enforced. If `false`, then
-	// any
-	// configuration is acceptable.
-	//
-	// Suppose you have a
-	// `Constraint`
+	// any configuration is acceptable. Suppose you have a `Constraint`
 	// `constraints/compute.disableSerialPortAccess` with
-	// `constraint_default`
-	// set to `ALLOW`. A `Policy` for that `Constraint` exhibits the
-	// following
-	// behavior:
-	//   - If the `Policy` at this resource has enforced set to `false`,
-	// serial
-	//     port connection attempts will be allowed.
-	//   - If the `Policy` at this resource has enforced set to `true`,
-	// serial
-	//     port connection attempts will be refused.
-	//   - If the `Policy` at this resource is `RestoreDefault`, serial
-	// port
-	//     connection attempts will be allowed.
-	//   - If no `Policy` is set at this resource or anywhere higher in the
-	//     resource hierarchy, serial port connection attempts will be
-	// allowed.
-	//   - If no `Policy` is set at this resource, but one exists higher in
-	// the
-	//     resource hierarchy, the behavior is as if the`Policy` were set
-	// at
-	//     this resource.
-	//
-	// The following examples demonstrate the different possible
-	// layerings:
-	//
-	// Example 1 (nearest `Constraint` wins):
-	//   `organizations/foo` has a `Policy` with:
-	//     {enforced: false}
-	//   `projects/bar` has no `Policy` set.
-	// The constraint at `projects/bar` and `organizations/foo` will not
-	// be
-	// enforced.
-	//
-	// Example 2 (enforcement gets replaced):
-	//   `organizations/foo` has a `Policy` with:
-	//     {enforced: false}
-	//   `projects/bar` has a `Policy` with:
-	//     {enforced: true}
-	// The constraint at `organizations/foo` is not enforced.
-	// The constraint at `projects/bar` is enforced.
-	//
-	// Example 3 (RestoreDefault):
-	//   `organizations/foo` has a `Policy` with:
-	//     {enforced: true}
-	//   `projects/bar` has a `Policy` with:
-	//     {RestoreDefault: {}}
-	// The constraint at `organizations/foo` is enforced.
-	// The constraint at `projects/bar` is not enforced,
-	// because
-	// `constraint_default` for the `Constraint` is `ALLOW`.
+	// `constraint_default` set to `ALLOW`. A `Policy` for that `Constraint`
+	// exhibits the following behavior: - If the `Policy` at this resource
+	// has enforced set to `false`, serial port connection attempts will be
+	// allowed. - If the `Policy` at this resource has enforced set to
+	// `true`, serial port connection attempts will be refused. - If the
+	// `Policy` at this resource is `RestoreDefault`, serial port connection
+	// attempts will be allowed. - If no `Policy` is set at this resource or
+	// anywhere higher in the resource hierarchy, serial port connection
+	// attempts will be allowed. - If no `Policy` is set at this resource,
+	// but one exists higher in the resource hierarchy, the behavior is as
+	// if the`Policy` were set at this resource. The following examples
+	// demonstrate the different possible layerings: Example 1 (nearest
+	// `Constraint` wins): `organizations/foo` has a `Policy` with:
+	// {enforced: false} `projects/bar` has no `Policy` set. The constraint
+	// at `projects/bar` and `organizations/foo` will not be enforced.
+	// Example 2 (enforcement gets replaced): `organizations/foo` has a
+	// `Policy` with: {enforced: false} `projects/bar` has a `Policy` with:
+	// {enforced: true} The constraint at `organizations/foo` is not
+	// enforced. The constraint at `projects/bar` is enforced. Example 3
+	// (RestoreDefault): `organizations/foo` has a `Policy` with: {enforced:
+	// true} `projects/bar` has a `Policy` with: {RestoreDefault: {}} The
+	// constraint at `organizations/foo` is enforced. The constraint at
+	// `projects/bar` is not enforced, because `constraint_default` for the
+	// `Constraint` is `ALLOW`.
 	Enforced bool `json:"enforced,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Enforced") to
@@ -1207,38 +932,23 @@
 }
 
 // GoogleCloudOrgpolicyV1ListPolicy: Used in `policy_type` to specify
-// how `list_policy` behaves at this
-// resource.
-//
-// `ListPolicy` can define specific values and subtrees of Cloud
-// Resource
-// Manager resource hierarchy (`Organizations`, `Folders`, `Projects`)
-// that
-// are allowed or denied by setting the `allowed_values` and
-// `denied_values`
-// fields. This is achieved by using the `under:` and optional `is:`
-// prefixes.
-// The `under:` prefix is used to denote resource subtree values.
-// The `is:` prefix is used to denote specific values, and is required
-// only
+// how `list_policy` behaves at this resource. `ListPolicy` can define
+// specific values and subtrees of Cloud Resource Manager resource
+// hierarchy (`Organizations`, `Folders`, `Projects`) that are allowed
+// or denied by setting the `allowed_values` and `denied_values` fields.
+// This is achieved by using the `under:` and optional `is:` prefixes.
+// The `under:` prefix is used to denote resource subtree values. The
+// `is:` prefix is used to denote specific values, and is required only
 // if the value contains a ":". Values prefixed with "is:" are treated
-// the
-// same as values with no prefix.
-// Ancestry subtrees must be in one of the following formats:
-//     - "projects/<project-id>", e.g. "projects/tokyo-rain-123"
-//     - "folders/<folder-id>", e.g. "folders/1234"
-//     - "organizations/<organization-id>", e.g.
-// "organizations/1234"
-// The `supports_under` field of the associated `Constraint`  defines
-// whether
-// ancestry prefixes can be used. You can set `allowed_values`
-// and
-// `denied_values` in the same `Policy` if `all_values`
-// is
+// the same as values with no prefix. Ancestry subtrees must be in one
+// of the following formats: - "projects/", e.g.
+// "projects/tokyo-rain-123" - "folders/", e.g. "folders/1234" -
+// "organizations/", e.g. "organizations/1234" The `supports_under`
+// field of the associated `Constraint` defines whether ancestry
+// prefixes can be used. You can set `allowed_values` and
+// `denied_values` in the same `Policy` if `all_values` is
 // `ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny
-// all
-// values. If `all_values` is set to either `ALLOW` or
-// `DENY`,
+// all values. If `all_values` is set to either `ALLOW` or `DENY`,
 // `allowed_values` and `denied_values` must be unset.
 type GoogleCloudOrgpolicyV1ListPolicy struct {
 	// AllValues: The policy all_values state.
@@ -1250,144 +960,86 @@
 	//   "DENY" - A policy with this set denies all values.
 	AllValues string `json:"allValues,omitempty"`
 
-	// AllowedValues: List of values allowed  at this resource. Can only be
-	// set if `all_values`
-	// is set to `ALL_VALUES_UNSPECIFIED`.
+	// AllowedValues: List of values allowed at this resource. Can only be
+	// set if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.
 	AllowedValues []string `json:"allowedValues,omitempty"`
 
 	// DeniedValues: List of values denied at this resource. Can only be set
-	// if `all_values`
-	// is set to `ALL_VALUES_UNSPECIFIED`.
+	// if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.
 	DeniedValues []string `json:"deniedValues,omitempty"`
 
 	// InheritFromParent: Determines the inheritance behavior for this
-	// `Policy`.
-	//
-	// By default, a `ListPolicy` set at a resource supersedes any `Policy`
-	// set
-	// anywhere up the resource hierarchy. However, if `inherit_from_parent`
-	// is
-	// set to `true`, then the values from the effective `Policy` of the
-	// parent
-	// resource are inherited, meaning the values set in this `Policy`
-	// are
-	// added to the values inherited up the hierarchy.
-	//
-	// Setting `Policy` hierarchies that inherit both allowed values and
-	// denied
-	// values isn't recommended in most circumstances to keep the
-	// configuration
-	// simple and understandable. However, it is possible to set a `Policy`
-	// with
-	// `allowed_values` set that inherits a `Policy` with `denied_values`
-	// set.
-	// In this case, the values that are allowed must be in `allowed_values`
-	// and
-	// not present in `denied_values`.
-	//
-	// For example, suppose you have a
-	// `Constraint`
-	// `constraints/serviceuser.services`, which has a `constraint_type`
-	// of
-	// `list_constraint`, and with `constraint_default` set to
-	// `ALLOW`.
-	// Suppose that at the Organization level, a `Policy` is applied
-	// that
-	// restricts the allowed API activations to {`E1`, `E2`}. Then, if
-	// a
-	// `Policy` is applied to a project below the Organization that
-	// has
+	// `Policy`. By default, a `ListPolicy` set at a resource supersedes any
+	// `Policy` set anywhere up the resource hierarchy. However, if
+	// `inherit_from_parent` is set to `true`, then the values from the
+	// effective `Policy` of the parent resource are inherited, meaning the
+	// values set in this `Policy` are added to the values inherited up the
+	// hierarchy. Setting `Policy` hierarchies that inherit both allowed
+	// values and denied values isn't recommended in most circumstances to
+	// keep the configuration simple and understandable. However, it is
+	// possible to set a `Policy` with `allowed_values` set that inherits a
+	// `Policy` with `denied_values` set. In this case, the values that are
+	// allowed must be in `allowed_values` and not present in
+	// `denied_values`. For example, suppose you have a `Constraint`
+	// `constraints/serviceuser.services`, which has a `constraint_type` of
+	// `list_constraint`, and with `constraint_default` set to `ALLOW`.
+	// Suppose that at the Organization level, a `Policy` is applied that
+	// restricts the allowed API activations to {`E1`, `E2`}. Then, if a
+	// `Policy` is applied to a project below the Organization that has
 	// `inherit_from_parent` set to `false` and field all_values set to
-	// DENY,
-	// then an attempt to activate any API will be denied.
-	//
-	// The following examples demonstrate different possible layerings
-	// for
-	// `projects/bar` parented by `organizations/foo`:
-	//
-	// Example 1 (no inherited values):
-	//   `organizations/foo` has a `Policy` with values:
-	//     {allowed_values: "E1" allowed_values:"E2"}
-	//   `projects/bar` has `inherit_from_parent` `false` and values:
-	//     {allowed_values: "E3" allowed_values: "E4"}
-	// The accepted values at `organizations/foo` are `E1`, `E2`.
-	// The accepted values at `projects/bar` are `E3`, and `E4`.
-	//
-	// Example 2 (inherited values):
-	//   `organizations/foo` has a `Policy` with values:
-	//     {allowed_values: "E1" allowed_values:"E2"}
-	//   `projects/bar` has a `Policy` with values:
-	//     {value: "E3" value: "E4" inherit_from_parent: true}
-	// The accepted values at `organizations/foo` are `E1`, `E2`.
-	// The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and
-	// `E4`.
-	//
+	// DENY, then an attempt to activate any API will be denied. The
+	// following examples demonstrate different possible layerings for
+	// `projects/bar` parented by `organizations/foo`: Example 1 (no
+	// inherited values): `organizations/foo` has a `Policy` with values:
+	// {allowed_values: "E1" allowed_values:"E2"} `projects/bar` has
+	// `inherit_from_parent` `false` and values: {allowed_values: "E3"
+	// allowed_values: "E4"} The accepted values at `organizations/foo` are
+	// `E1`, `E2`. The accepted values at `projects/bar` are `E3`, and `E4`.
+	// Example 2 (inherited values): `organizations/foo` has a `Policy` with
+	// values: {allowed_values: "E1" allowed_values:"E2"} `projects/bar` has
+	// a `Policy` with values: {value: "E3" value: "E4" inherit_from_parent:
+	// true} The accepted values at `organizations/foo` are `E1`, `E2`. The
+	// accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`.
 	// Example 3 (inheriting both allowed and denied values):
-	//   `organizations/foo` has a `Policy` with values:
-	//     {allowed_values: "E1" allowed_values: "E2"}
-	//   `projects/bar` has a `Policy` with:
-	//     {denied_values: "E1"}
-	// The accepted values at `organizations/foo` are `E1`, `E2`.
-	// The value accepted at `projects/bar` is `E2`.
-	//
-	// Example 4 (RestoreDefault):
-	//   `organizations/foo` has a `Policy` with values:
-	//     {allowed_values: "E1" allowed_values:"E2"}
-	//   `projects/bar` has a `Policy` with values:
-	//     {RestoreDefault: {}}
-	// The accepted values at `organizations/foo` are `E1`, `E2`.
-	// The accepted values at `projects/bar` are either all or none
-	// depending on
-	// the value of `constraint_default` (if `ALLOW`, all; if
-	// `DENY`, none).
-	//
-	// Example 5 (no policy inherits parent policy):
-	//   `organizations/foo` has no `Policy` set.
-	//   `projects/bar` has no `Policy` set.
-	// The accepted values at both levels are either all or none depending
-	// on
-	// the value of `constraint_default` (if `ALLOW`, all; if
-	// `DENY`, none).
-	//
-	// Example 6 (ListConstraint allowing all):
-	//   `organizations/foo` has a `Policy` with values:
-	//     {allowed_values: "E1" allowed_values: "E2"}
-	//   `projects/bar` has a `Policy` with:
-	//     {all: ALLOW}
-	// The accepted values at `organizations/foo` are `E1`, E2`.
-	// Any value is accepted at `projects/bar`.
-	//
-	// Example 7 (ListConstraint allowing none):
-	//   `organizations/foo` has a `Policy` with values:
-	//     {allowed_values: "E1" allowed_values: "E2"}
-	//   `projects/bar` has a `Policy` with:
-	//     {all: DENY}
-	// The accepted values at `organizations/foo` are `E1`, E2`.
-	// No value is accepted at `projects/bar`.
-	//
-	// Example 10 (allowed and denied subtrees of Resource Manager
-	// hierarchy):
-	// Given the following resource hierarchy
-	//   O1->{F1, F2}; F1->{P1}; F2->{P2, P3},
-	//   `organizations/foo` has a `Policy` with values:
-	//     {allowed_values: "under:organizations/O1"}
-	//   `projects/bar` has a `Policy` with:
-	//     {allowed_values: "under:projects/P3"}
-	//     {denied_values: "under:folders/F2"}
-	// The accepted values at `organizations/foo` are `organizations/O1`,
-	//   `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`,
-	//   `projects/P3`.
-	// The accepted values at `projects/bar` are `organizations/O1`,
-	//   `folders/F1`, `projects/P1`.
+	// `organizations/foo` has a `Policy` with values: {allowed_values: "E1"
+	// allowed_values: "E2"} `projects/bar` has a `Policy` with:
+	// {denied_values: "E1"} The accepted values at `organizations/foo` are
+	// `E1`, `E2`. The value accepted at `projects/bar` is `E2`. Example 4
+	// (RestoreDefault): `organizations/foo` has a `Policy` with values:
+	// {allowed_values: "E1" allowed_values:"E2"} `projects/bar` has a
+	// `Policy` with values: {RestoreDefault: {}} The accepted values at
+	// `organizations/foo` are `E1`, `E2`. The accepted values at
+	// `projects/bar` are either all or none depending on the value of
+	// `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 5
+	// (no policy inherits parent policy): `organizations/foo` has no
+	// `Policy` set. `projects/bar` has no `Policy` set. The accepted values
+	// at both levels are either all or none depending on the value of
+	// `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 6
+	// (ListConstraint allowing all): `organizations/foo` has a `Policy`
+	// with values: {allowed_values: "E1" allowed_values: "E2"}
+	// `projects/bar` has a `Policy` with: {all: ALLOW} The accepted values
+	// at `organizations/foo` are `E1`, E2`. Any value is accepted at
+	// `projects/bar`. Example 7 (ListConstraint allowing none):
+	// `organizations/foo` has a `Policy` with values: {allowed_values: "E1"
+	// allowed_values: "E2"} `projects/bar` has a `Policy` with: {all: DENY}
+	// The accepted values at `organizations/foo` are `E1`, E2`. No value is
+	// accepted at `projects/bar`. Example 10 (allowed and denied subtrees
+	// of Resource Manager hierarchy): Given the following resource
+	// hierarchy O1->{F1, F2}; F1->{P1}; F2->{P2, P3}, `organizations/foo`
+	// has a `Policy` with values: {allowed_values:
+	// "under:organizations/O1"} `projects/bar` has a `Policy` with:
+	// {allowed_values: "under:projects/P3"} {denied_values:
+	// "under:folders/F2"} The accepted values at `organizations/foo` are
+	// `organizations/O1`, `folders/F1`, `folders/F2`, `projects/P1`,
+	// `projects/P2`, `projects/P3`. The accepted values at `projects/bar`
+	// are `organizations/O1`, `folders/F1`, `projects/P1`.
 	InheritFromParent bool `json:"inheritFromParent,omitempty"`
 
 	// SuggestedValue: Optional. The Google Cloud Console will try to
-	// default to a configuration
-	// that matches the value specified in this `Policy`. If
-	// `suggested_value`
-	// is not set, it will inherit the value specified higher in the
-	// hierarchy,
-	// unless `inherit_from_parent` is `false`.
+	// default to a configuration that matches the value specified in this
+	// `Policy`. If `suggested_value` is not set, it will inherit the value
+	// specified higher in the hierarchy, unless `inherit_from_parent` is
+	// `false`.
 	SuggestedValue string `json:"suggestedValue,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AllValues") to
@@ -1414,66 +1066,43 @@
 }
 
 // GoogleCloudOrgpolicyV1Policy: Defines a Cloud Organization `Policy`
-// which is used to specify `Constraints`
-// for configurations of Cloud Platform resources.
+// which is used to specify `Constraints` for configurations of Cloud
+// Platform resources.
 type GoogleCloudOrgpolicyV1Policy struct {
 	// BooleanPolicy: For boolean `Constraints`, whether to enforce the
 	// `Constraint` or not.
 	BooleanPolicy *GoogleCloudOrgpolicyV1BooleanPolicy `json:"booleanPolicy,omitempty"`
 
 	// Constraint: The name of the `Constraint` the `Policy` is configuring,
-	// for example,
-	// `constraints/serviceuser.services`.
-	//
-	// A [list of
-	// available
-	// constraints](/resource-manager/docs/organization-policy/org-
-	// policy-constraints)
-	// is available.
-	//
-	// Immutable after creation.
+	// for example, `constraints/serviceuser.services`. A [list of available
+	// constraints](/resource-manager/docs/organization-policy/org-policy-con
+	// straints) is available. Immutable after creation.
 	Constraint string `json:"constraint,omitempty"`
 
 	// Etag: An opaque tag indicating the current version of the `Policy`,
-	// used for
-	// concurrency control.
-	//
-	// When the `Policy` is returned from either a `GetPolicy` or
-	// a
-	// `ListOrgPolicy` request, this `etag` indicates the version of the
-	// current
-	// `Policy` to use when executing a read-modify-write loop.
-	//
-	// When the `Policy` is returned from a `GetEffectivePolicy` request,
-	// the
-	// `etag` will be unset.
-	//
-	// When the `Policy` is used in a `SetOrgPolicy` method, use the `etag`
-	// value
-	// that was returned from a `GetOrgPolicy` request as part of
-	// a
+	// used for concurrency control. When the `Policy` is returned from
+	// either a `GetPolicy` or a `ListOrgPolicy` request, this `etag`
+	// indicates the version of the current `Policy` to use when executing a
+	// read-modify-write loop. When the `Policy` is returned from a
+	// `GetEffectivePolicy` request, the `etag` will be unset. When the
+	// `Policy` is used in a `SetOrgPolicy` method, use the `etag` value
+	// that was returned from a `GetOrgPolicy` request as part of a
 	// read-modify-write loop for concurrency control. Not setting the
-	// `etag`in a
-	// `SetOrgPolicy` request will result in an unconditional write of
-	// the
-	// `Policy`.
+	// `etag`in a `SetOrgPolicy` request will result in an unconditional
+	// write of the `Policy`.
 	Etag string `json:"etag,omitempty"`
 
 	// ListPolicy: List of values either allowed or disallowed.
 	ListPolicy *GoogleCloudOrgpolicyV1ListPolicy `json:"listPolicy,omitempty"`
 
 	// RestoreDefault: Restores the default behavior of the constraint;
-	// independent of
-	// `Constraint` type.
+	// independent of `Constraint` type.
 	RestoreDefault *GoogleCloudOrgpolicyV1RestoreDefault `json:"restoreDefault,omitempty"`
 
 	// UpdateTime: The time stamp the `Policy` was previously updated. This
-	// is set by the
-	// server, not specified by the caller, and represents the last time a
-	// call to
-	// `SetOrgPolicy` was made for that `Policy`. Any value set by the
-	// client will
-	// be ignored.
+	// is set by the server, not specified by the caller, and represents the
+	// last time a call to `SetOrgPolicy` was made for that `Policy`. Any
+	// value set by the client will be ignored.
 	UpdateTime string `json:"updateTime,omitempty"`
 
 	// Version: Version of the `Policy`. Default version is 0;
@@ -1503,33 +1132,22 @@
 }
 
 // GoogleCloudOrgpolicyV1RestoreDefault: Ignores policies set above this
-// resource and restores the
-// `constraint_default` enforcement behavior of the specific
-// `Constraint` at
-// this resource.
-//
-// Suppose that `constraint_default` is set to `ALLOW` for
-// the
-// `Constraint` `constraints/serviceuser.services`. Suppose that
-// organization
-// foo.com sets a `Policy` at their Organization resource node that
-// restricts
-// the allowed service activations to deny all service activations.
-// They
-// could then set a `Policy` with the `policy_type` `restore_default`
-// on
-// several experimental projects, restoring the
-// `constraint_default`
+// resource and restores the `constraint_default` enforcement behavior
+// of the specific `Constraint` at this resource. Suppose that
+// `constraint_default` is set to `ALLOW` for the `Constraint`
+// `constraints/serviceuser.services`. Suppose that organization foo.com
+// sets a `Policy` at their Organization resource node that restricts
+// the allowed service activations to deny all service activations. They
+// could then set a `Policy` with the `policy_type` `restore_default` on
+// several experimental projects, restoring the `constraint_default`
 // enforcement of the `Constraint` for only those projects, allowing
-// those
-// projects to have all services activated.
+// those projects to have all services activated.
 type GoogleCloudOrgpolicyV1RestoreDefault struct {
 }
 
 // GoogleIdentityAccesscontextmanagerV1AccessLevel: An `AccessLevel` is
-// a label that can be applied to requests to Google Cloud
-// services, along with a list of requirements necessary for the label
-// to be
+// a label that can be applied to requests to Google Cloud services,
+// along with a list of requirements necessary for the label to be
 // applied.
 type GoogleIdentityAccesscontextmanagerV1AccessLevel struct {
 	// Basic: A `BasicLevel` composed of `Conditions`.
@@ -1543,12 +1161,9 @@
 	Description string `json:"description,omitempty"`
 
 	// Name: Required. Resource name for the Access Level. The `short_name`
-	// component
-	// must begin with a letter and only include alphanumeric and '_'.
-	// Format:
-	// `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum
-	// length
-	// of the `short_name` component is 50 characters.
+	// component must begin with a letter and only include alphanumeric and
+	// '_'. Format: `accessPolicies/{policy_id}/accessLevels/{short_name}`.
+	// The maximum length of the `short_name` component is 50 characters.
 	Name string `json:"name,omitempty"`
 
 	// Title: Human readable title. Must be unique within the Policy.
@@ -1578,35 +1193,26 @@
 }
 
 // GoogleIdentityAccesscontextmanagerV1AccessPolicy: `AccessPolicy` is a
-// container for `AccessLevels` (which define the necessary
-// attributes to use Google Cloud services) and `ServicePerimeters`
-// (which
-// define regions of services able to freely pass data within a
-// perimeter). An
-// access policy is globally visible within an organization, and
-// the
+// container for `AccessLevels` (which define the necessary attributes
+// to use Google Cloud services) and `ServicePerimeters` (which define
+// regions of services able to freely pass data within a perimeter). An
+// access policy is globally visible within an organization, and the
 // restrictions it specifies apply to all projects within an
 // organization.
 type GoogleIdentityAccesscontextmanagerV1AccessPolicy struct {
 	// Etag: Output only. An opaque identifier for the current version of
-	// the
-	// `AccessPolicy`. This will always be a strongly validated etag,
-	// meaning that
-	// two Access Polices will be identical if and only if their etags
-	// are
-	// identical. Clients should not expect this to be in any specific
-	// format.
+	// the `AccessPolicy`. This will always be a strongly validated etag,
+	// meaning that two Access Polices will be identical if and only if
+	// their etags are identical. Clients should not expect this to be in
+	// any specific format.
 	Etag string `json:"etag,omitempty"`
 
-	// Name: Output only. Resource name of the `AccessPolicy`.
-	// Format:
+	// Name: Output only. Resource name of the `AccessPolicy`. Format:
 	// `accessPolicies/{policy_id}`
 	Name string `json:"name,omitempty"`
 
 	// Parent: Required. The parent of this `AccessPolicy` in the Cloud
-	// Resource
-	// Hierarchy. Currently immutable once created.
-	// Format:
+	// Resource Hierarchy. Currently immutable once created. Format:
 	// `organizations/{organization_id}`
 	Parent string `json:"parent,omitempty"`
 
@@ -1640,14 +1246,11 @@
 // `AccessLevel` using a set of recommended features.
 type GoogleIdentityAccesscontextmanagerV1BasicLevel struct {
 	// CombiningFunction: How the `conditions` list should be combined to
-	// determine if a request is
-	// granted this `AccessLevel`. If AND is used, each `Condition`
-	// in
-	// `conditions` must be satisfied for the `AccessLevel` to be applied.
-	// If OR
-	// is used, at least one `Condition` in `conditions` must be satisfied
-	// for the
-	// `AccessLevel` to be applied. Default behavior is AND.
+	// determine if a request is granted this `AccessLevel`. If AND is used,
+	// each `Condition` in `conditions` must be satisfied for the
+	// `AccessLevel` to be applied. If OR is used, at least one `Condition`
+	// in `conditions` must be satisfied for the `AccessLevel` to be
+	// applied. Default behavior is AND.
 	//
 	// Possible values:
 	//   "AND" - All `Conditions` must be true for the `BasicLevel` to be
@@ -1685,66 +1288,48 @@
 }
 
 // GoogleIdentityAccesscontextmanagerV1Condition: A condition necessary
-// for an `AccessLevel` to be granted. The Condition is an
-// AND over its fields. So a Condition is true if: 1) the request IP is
-// from one
-// of the listed subnetworks AND 2) the originating device complies with
-// the
-// listed device policy AND 3) all listed access levels are granted AND
-// 4) the
-// request was sent at a time allowed by the DateTimeRestriction.
+// for an `AccessLevel` to be granted. The Condition is an AND over its
+// fields. So a Condition is true if: 1) the request IP is from one of
+// the listed subnetworks AND 2) the originating device complies with
+// the listed device policy AND 3) all listed access levels are granted
+// AND 4) the request was sent at a time allowed by the
+// DateTimeRestriction.
 type GoogleIdentityAccesscontextmanagerV1Condition struct {
 	// DevicePolicy: Device specific restrictions, all restrictions must
-	// hold for the
-	// Condition to be true. If not specified, all devices are allowed.
+	// hold for the Condition to be true. If not specified, all devices are
+	// allowed.
 	DevicePolicy *GoogleIdentityAccesscontextmanagerV1DevicePolicy `json:"devicePolicy,omitempty"`
 
 	// IpSubnetworks: CIDR block IP subnetwork specification. May be IPv4 or
-	// IPv6. Note that for
-	// a CIDR IP address block, the specified IP address portion must be
-	// properly
-	// truncated (i.e. all the host bits must be zero) or the input is
-	// considered
-	// malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24"
-	// is
-	// not. Similarly, for IPv6, "2001:db8::/32" is accepted
-	// whereas
-	// "2001:db8::1/32" is not. The originating IP of a request must be in
-	// one of
-	// the listed subnets in order for this Condition to be true. If empty,
-	// all IP
-	// addresses are allowed.
+	// IPv6. Note that for a CIDR IP address block, the specified IP address
+	// portion must be properly truncated (i.e. all the host bits must be
+	// zero) or the input is considered malformed. For example,
+	// "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly, for
+	// IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32" is not.
+	// The originating IP of a request must be in one of the listed subnets
+	// in order for this Condition to be true. If empty, all IP addresses
+	// are allowed.
 	IpSubnetworks []string `json:"ipSubnetworks,omitempty"`
 
 	// Members: The request must be made by one of the provided user or
-	// service
-	// accounts. Groups are not
-	// supported.
-	// Syntax:
-	// `user:{emailid}`
-	// `serviceAccount:{emailid}`
-	// If not specified, a request may come from any user.
+	// service accounts. Groups are not supported. Syntax: `user:{emailid}`
+	// `serviceAccount:{emailid}` If not specified, a request may come from
+	// any user.
 	Members []string `json:"members,omitempty"`
 
 	// Negate: Whether to negate the Condition. If true, the Condition
-	// becomes a NAND over
-	// its non-empty fields, each field must be false for the Condition
-	// overall to
-	// be satisfied. Defaults to false.
+	// becomes a NAND over its non-empty fields, each field must be false
+	// for the Condition overall to be satisfied. Defaults to false.
 	Negate bool `json:"negate,omitempty"`
 
 	// Regions: The request must originate from one of the provided
-	// countries/regions.
-	// Must be valid ISO 3166-1 alpha-2 codes.
+	// countries/regions. Must be valid ISO 3166-1 alpha-2 codes.
 	Regions []string `json:"regions,omitempty"`
 
 	// RequiredAccessLevels: A list of other access levels defined in the
-	// same `Policy`, referenced by
-	// resource name. Referencing an `AccessLevel` which does not exist is
-	// an
-	// error. All access levels listed must be granted for the Condition
-	// to be true.
-	// Example:
+	// same `Policy`, referenced by resource name. Referencing an
+	// `AccessLevel` which does not exist is an error. All access levels
+	// listed must be granted for the Condition to be true. Example:
 	// "accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME"
 	RequiredAccessLevels []string `json:"requiredAccessLevels,omitempty"`
 
@@ -1772,10 +1357,9 @@
 }
 
 // GoogleIdentityAccesscontextmanagerV1CustomLevel: `CustomLevel` is an
-// `AccessLevel` using the Cloud Common Expression Language
-// to represent the necessary conditions for the level to apply to a
-// request.
-// See CEL spec at: https://github.com/google/cel-spec
+// `AccessLevel` using the Cloud Common Expression Language to represent
+// the necessary conditions for the level to apply to a request. See CEL
+// spec at: https://github.com/google/cel-spec
 type GoogleIdentityAccesscontextmanagerV1CustomLevel struct {
 	// Expr: Required. A Cloud CEL expression evaluating to a boolean.
 	Expr *Expr `json:"expr,omitempty"`
@@ -1804,39 +1388,30 @@
 }
 
 // GoogleIdentityAccesscontextmanagerV1DevicePolicy: `DevicePolicy`
-// specifies device specific restrictions necessary to acquire a
-// given access level. A `DevicePolicy` specifies requirements for
-// requests from
-// devices to be granted access levels, it does not do any enforcement
-// on the
-// device. `DevicePolicy` acts as an AND over all specified fields, and
-// each
-// repeated field is an OR over its elements. Any unset fields are
-// ignored. For
-// example, if the proto is { os_type : DESKTOP_WINDOWS, os_type
-// :
-// DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy
-// will be
-// true for requests originating from encrypted Linux desktops and
-// encrypted
-// Windows desktops.
+// specifies device specific restrictions necessary to acquire a given
+// access level. A `DevicePolicy` specifies requirements for requests
+// from devices to be granted access levels, it does not do any
+// enforcement on the device. `DevicePolicy` acts as an AND over all
+// specified fields, and each repeated field is an OR over its elements.
+// Any unset fields are ignored. For example, if the proto is { os_type
+// : DESKTOP_WINDOWS, os_type : DESKTOP_LINUX, encryption_status:
+// ENCRYPTED}, then the DevicePolicy will be true for requests
+// originating from encrypted Linux desktops and encrypted Windows
+// desktops.
 type GoogleIdentityAccesscontextmanagerV1DevicePolicy struct {
 	// AllowedDeviceManagementLevels: Allowed device management levels, an
-	// empty list allows all management
-	// levels.
+	// empty list allows all management levels.
 	//
 	// Possible values:
 	//   "MANAGEMENT_UNSPECIFIED" - The device's management level is not
 	// specified or not known.
 	//   "NONE" - The device is not managed.
 	//   "BASIC" - Basic management is enabled, which is generally limited
-	// to monitoring and
-	// wiping the corporate account.
+	// to monitoring and wiping the corporate account.
 	//   "COMPLETE" - Complete device management. This includes more
-	// thorough monitoring and the
-	// ability to directly manage the device (such as remote wiping). This
-	// can be
-	// enabled through the Android Enterprise Platform.
+	// thorough monitoring and the ability to directly manage the device
+	// (such as remote wiping). This can be enabled through the Android
+	// Enterprise Platform.
 	AllowedDeviceManagementLevels []string `json:"allowedDeviceManagementLevels,omitempty"`
 
 	// AllowedEncryptionStatuses: Allowed encryptions statuses, an empty
@@ -1863,8 +1438,7 @@
 	RequireCorpOwned bool `json:"requireCorpOwned,omitempty"`
 
 	// RequireScreenlock: Whether or not screenlock is required for the
-	// DevicePolicy to be true.
-	// Defaults to `false`.
+	// DevicePolicy to be true. Defaults to `false`.
 	RequireScreenlock bool `json:"requireScreenlock,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -1896,9 +1470,8 @@
 // the OS type and version of devices making requests.
 type GoogleIdentityAccesscontextmanagerV1OsConstraint struct {
 	// MinimumVersion: The minimum allowed OS version. If not set, any
-	// version of this OS
-	// satisfies the constraint. Format: "major.minor.patch".
-	// Examples: "10.5.301", "9.2.1".
+	// version of this OS satisfies the constraint. Format:
+	// "major.minor.patch". Examples: "10.5.301", "9.2.1".
 	MinimumVersion string `json:"minimumVersion,omitempty"`
 
 	// OsType: Required. The allowed OS type.
@@ -1915,12 +1488,9 @@
 	OsType string `json:"osType,omitempty"`
 
 	// RequireVerifiedChromeOs: Only allows requests from devices with a
-	// verified Chrome OS.
-	// Verifications includes requirements that the device is
-	// enterprise-managed,
-	// conformant to domain policies, and the caller has permission to
-	// call
-	// the API targeted by the request.
+	// verified Chrome OS. Verifications includes requirements that the
+	// device is enterprise-managed, conformant to domain policies, and the
+	// caller has permission to call the API targeted by the request.
 	RequireVerifiedChromeOs bool `json:"requireVerifiedChromeOs,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "MinimumVersion") to
@@ -1949,47 +1519,33 @@
 
 // GoogleIdentityAccesscontextmanagerV1ServicePerimeter:
 // `ServicePerimeter` describes a set of Google Cloud resources which
-// can freely
-// import and export data amongst themselves, but not export outside of
-// the
-// `ServicePerimeter`. If a request with a source within this
-// `ServicePerimeter`
-// has a target outside of the `ServicePerimeter`, the request will be
-// blocked.
-// Otherwise the request is allowed. There are two types of Service
-// Perimeter -
+// can freely import and export data amongst themselves, but not export
+// outside of the `ServicePerimeter`. If a request with a source within
+// this `ServicePerimeter` has a target outside of the
+// `ServicePerimeter`, the request will be blocked. Otherwise the
+// request is allowed. There are two types of Service Perimeter -
 // Regular and Bridge. Regular Service Perimeters cannot overlap, a
-// single
-// Google Cloud project can only belong to a single regular Service
-// Perimeter.
-// Service Perimeter Bridges can contain only Google Cloud projects as
-// members,
-// a single Google Cloud project may belong to multiple Service
-// Perimeter
-// Bridges.
+// single Google Cloud project can only belong to a single regular
+// Service Perimeter. Service Perimeter Bridges can contain only Google
+// Cloud projects as members, a single Google Cloud project may belong
+// to multiple Service Perimeter Bridges.
 type GoogleIdentityAccesscontextmanagerV1ServicePerimeter struct {
 	// Description: Description of the `ServicePerimeter` and its use. Does
-	// not affect
-	// behavior.
+	// not affect behavior.
 	Description string `json:"description,omitempty"`
 
-	// Name: Required. Resource name for the ServicePerimeter.  The
-	// `short_name`
-	// component must begin with a letter and only include alphanumeric and
-	// '_'.
-	// Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`
+	// Name: Required. Resource name for the ServicePerimeter. The
+	// `short_name` component must begin with a letter and only include
+	// alphanumeric and '_'. Format:
+	// `accessPolicies/{policy_id}/servicePerimeters/{short_name}`
 	Name string `json:"name,omitempty"`
 
-	// PerimeterType: Perimeter type indicator. A single project is
-	// allowed to be a member of single regular perimeter, but multiple
-	// service
+	// PerimeterType: Perimeter type indicator. A single project is allowed
+	// to be a member of single regular perimeter, but multiple service
 	// perimeter bridges. A project cannot be a included in a perimeter
-	// bridge
-	// without being included in regular perimeter. For perimeter
-	// bridges,
-	// the restricted service list as well as access level lists must
-	// be
-	// empty.
+	// bridge without being included in regular perimeter. For perimeter
+	// bridges, the restricted service list as well as access level lists
+	// must be empty.
 	//
 	// Possible values:
 	//   "PERIMETER_TYPE_REGULAR" - Regular Perimeter.
@@ -1997,43 +1553,30 @@
 	PerimeterType string `json:"perimeterType,omitempty"`
 
 	// Spec: Proposed (or dry run) ServicePerimeter configuration. This
-	// configuration
-	// allows to specify and test ServicePerimeter configuration without
-	// enforcing
-	// actual access restrictions. Only allowed to be set when
-	// the
-	// "use_explicit_dry_run_spec" flag is set.
+	// configuration allows to specify and test ServicePerimeter
+	// configuration without enforcing actual access restrictions. Only
+	// allowed to be set when the "use_explicit_dry_run_spec" flag is set.
 	Spec *GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig `json:"spec,omitempty"`
 
 	// Status: Current ServicePerimeter configuration. Specifies sets of
-	// resources,
-	// restricted services and access levels that determine
-	// perimeter
-	// content and boundaries.
+	// resources, restricted services and access levels that determine
+	// perimeter content and boundaries.
 	Status *GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig `json:"status,omitempty"`
 
 	// Title: Human readable title. Must be unique within the Policy.
 	Title string `json:"title,omitempty"`
 
 	// UseExplicitDryRunSpec: Use explicit dry run spec flag. Ordinarily, a
-	// dry-run spec implicitly
-	// exists  for all Service Perimeters, and that spec is identical to
-	// the
-	// status for those Service Perimeters. When this flag is set, it
-	// inhibits the
-	// generation of the implicit spec, thereby allowing the user to
-	// explicitly
-	// provide a configuration ("spec") to use in a dry-run version of the
-	// Service
-	// Perimeter. This allows the user to test changes to the enforced
-	// config
-	// ("status") without actually enforcing them. This testing is done
-	// through
-	// analyzing the differences between currently enforced and
-	// suggested
+	// dry-run spec implicitly exists for all Service Perimeters, and that
+	// spec is identical to the status for those Service Perimeters. When
+	// this flag is set, it inhibits the generation of the implicit spec,
+	// thereby allowing the user to explicitly provide a configuration
+	// ("spec") to use in a dry-run version of the Service Perimeter. This
+	// allows the user to test changes to the enforced config ("status")
+	// without actually enforcing them. This testing is done through
+	// analyzing the differences between currently enforced and suggested
 	// restrictions. use_explicit_dry_run_spec must bet set to True if any
-	// of the
-	// fields in the spec are set to non-default values.
+	// of the fields in the spec are set to non-default values.
 	UseExplicitDryRunSpec bool `json:"useExplicitDryRunSpec,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -2061,38 +1604,28 @@
 
 // GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig:
 // `ServicePerimeterConfig` specifies a set of Google Cloud resources
-// that
-// describe specific Service Perimeter configuration.
+// that describe specific Service Perimeter configuration.
 type GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig struct {
 	// AccessLevels: A list of `AccessLevel` resource names that allow
-	// resources within the
-	// `ServicePerimeter` to be accessed from the internet. `AccessLevels`
-	// listed
-	// must be in the same policy as this `ServicePerimeter`. Referencing
-	// a
-	// nonexistent `AccessLevel` is a syntax error. If no `AccessLevel`
-	// names are
-	// listed, resources within the perimeter can only be accessed via
-	// Google
-	// Cloud calls with request origins within the perimeter.
-	// Example:
-	// "accessPolicies/MY_POLICY/accessLevels/MY_LEVEL".
-	// For Service Perimeter Bridge, must be empty.
+	// resources within the `ServicePerimeter` to be accessed from the
+	// internet. `AccessLevels` listed must be in the same policy as this
+	// `ServicePerimeter`. Referencing a nonexistent `AccessLevel` is a
+	// syntax error. If no `AccessLevel` names are listed, resources within
+	// the perimeter can only be accessed via Google Cloud calls with
+	// request origins within the perimeter. Example:
+	// "accessPolicies/MY_POLICY/accessLevels/MY_LEVEL". For Service
+	// Perimeter Bridge, must be empty.
 	AccessLevels []string `json:"accessLevels,omitempty"`
 
 	// Resources: A list of Google Cloud resources that are inside of the
-	// service perimeter.
-	// Currently only projects are allowed. Format:
+	// service perimeter. Currently only projects are allowed. Format:
 	// `projects/{project_number}`
 	Resources []string `json:"resources,omitempty"`
 
 	// RestrictedServices: Google Cloud services that are subject to the
-	// Service Perimeter
-	// restrictions. For example, if `storage.googleapis.com` is specified,
-	// access
-	// to the storage buckets inside the perimeter must meet the
-	// perimeter's
-	// access restrictions.
+	// Service Perimeter restrictions. For example, if
+	// `storage.googleapis.com` is specified, access to the storage buckets
+	// inside the perimeter must meet the perimeter's access restrictions.
 	RestrictedServices []string `json:"restrictedServices,omitempty"`
 
 	// VpcAccessibleServices: Configuration for APIs allowed within
@@ -2123,22 +1656,17 @@
 }
 
 // GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices: Specifies
-// how APIs are allowed to communicate within the Service
-// Perimeter.
+// how APIs are allowed to communicate within the Service Perimeter.
 type GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices struct {
 	// AllowedServices: The list of APIs usable within the Service
-	// Perimeter. Must be empty
-	// unless 'enable_restriction' is True. You can specify a list of
-	// individual
-	// services, as well as include the 'RESTRICTED-SERVICES' value,
-	// which
-	// automatically includes all of the services protected by the
-	// perimeter.
+	// Perimeter. Must be empty unless 'enable_restriction' is True. You can
+	// specify a list of individual services, as well as include the
+	// 'RESTRICTED-SERVICES' value, which automatically includes all of the
+	// services protected by the perimeter.
 	AllowedServices []string `json:"allowedServices,omitempty"`
 
 	// EnableRestriction: Whether to restrict API calls within the Service
-	// Perimeter to the list of
-	// APIs specified in 'allowed_services'.
+	// Perimeter to the list of APIs specified in 'allowed_services'.
 	EnableRestriction bool `json:"enableRestriction,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AllowedServices") to
@@ -2169,60 +1697,38 @@
 // information of an IAM policy.
 type IamPolicySearchResult struct {
 	// Explanation: Explanation about the IAM policy search result. It
-	// contains additional
-	// information to explain why the search result matches the query.
+	// contains additional information to explain why the search result
+	// matches the query.
 	Explanation *Explanation `json:"explanation,omitempty"`
 
 	// Policy: The IAM policy directly set on the given resource. Note that
-	// the original
-	// IAM policy can contain multiple bindings. This only contains the
-	// bindings
-	// that match the given query. For queries that don't contain a
-	// constrain on
-	// policies (e.g., an empty query), this contains all the bindings.
-	//
-	// To search against the `policy` bindings:
-	//
-	// * use a field query, as following:
-	//     - query by the policy contained members. Example:
-	//       `policy : "amy@gmail.com"
-	//     - query by the policy contained roles. Example:
-	//       `policy : "roles/compute.admin"
-	//     - query by the policy contained roles' implied permissions.
-	// Example:
-	//       `policy.role.permissions : "compute.instances.create"
+	// the original IAM policy can contain multiple bindings. This only
+	// contains the bindings that match the given query. For queries that
+	// don't contain a constrain on policies (e.g., an empty query), this
+	// contains all the bindings. To search against the `policy` bindings: *
+	// use a field query: - query by the policy contained members. Example:
+	// `policy:amy@gmail.com` - query by the policy contained roles.
+	// Example: `policy:roles/compute.admin` - query by the policy contained
+	// roles' included permissions. Example:
+	// `policy.role.permissions:compute.instances.create`
 	Policy *Policy `json:"policy,omitempty"`
 
 	// Project: The project that the associated GCP resource belongs to, in
-	// the form of
-	// projects/{PROJECT_NUMBER}. If an IAM policy is set on a resource
-	// (like VM
-	// instance, Cloud Storage bucket), the project field will indicate
-	// the
-	// project that contains the resource. If an IAM policy is set on a
-	// folder or
-	// orgnization, the project field will be empty.
-	//
-	// To search against the `project`:
-	//
-	// * specify the `scope` field as this project in your search request.
+	// the form of projects/{PROJECT_NUMBER}. If an IAM policy is set on a
+	// resource (like VM instance, Cloud Storage bucket), the project field
+	// will indicate the project that contains the resource. If an IAM
+	// policy is set on a folder or orgnization, the project field will be
+	// empty. To search against the `project`: * specify the `scope` field
+	// as this project in your search request.
 	Project string `json:"project,omitempty"`
 
 	// Resource: The full resource name of the resource associated with this
-	// IAM
-	// policy.
-	// Example:
-	// `//compute.googleapis.com/projects/my_project_123/zon
-	// es/zone1/instances/instance1`.
-	// See [Cloud Asset Inventory Resource
-	// Name
-	// Format](https://cloud.google.com/asset-inventory/docs/resource-na
-	// me-format)
-	// for more information.
-	//
-	// To search against the `resource`:
-	//
-	// * use a field query. Example: `resource : "organizations/123"
+	// IAM policy. Example:
+	// `//compute.googleapis.com/projects/my_project_123/zones/zone1/instance
+	// s/instance1`. See [Cloud Asset Inventory Resource Name
+	// Format](https://cloud.google.com/asset-inventory/docs/resource-name-fo
+	// rmat) for more information. To search against the `resource`: * use a
+	// field query. Example: `resource:organizations/123`
 	Resource string `json:"resource,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Explanation") to
@@ -2280,52 +1786,38 @@
 }
 
 // Operation: This resource represents a long-running operation that is
-// the result of a
-// network API call.
+// the result of a network API call.
 type Operation struct {
 	// Done: 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.
+	// progress. If `true`, the operation is completed, and either `error`
+	// or `response` is available.
 	Done bool `json:"done,omitempty"`
 
 	// Error: The error result of the operation in case of failure or
 	// cancellation.
 	Error *Status `json:"error,omitempty"`
 
-	// Metadata: 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.
+	// Metadata: 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.
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Name: The server-assigned name, which is only unique within the same
-	// service that
-	// originally returns it. If you use the default HTTP mapping,
-	// the
-	// `name` should be a resource name ending with
+	// service that originally returns it. If you use the default HTTP
+	// mapping, the `name` should be a resource name ending with
 	// `operations/{unique_id}`.
 	Name string `json:"name,omitempty"`
 
-	// Response: 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`.
+	// Response: 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`.
 	Response googleapi.RawMessage `json:"response,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2358,8 +1850,7 @@
 // OutputConfig: Output configuration for export assets destination.
 type OutputConfig struct {
 	// BigqueryDestination: Destination on BigQuery. The output table stores
-	// the fields in asset
-	// proto as columns in BigQuery.
+	// the fields in asset proto as columns in BigQuery.
 	BigqueryDestination *BigQueryDestination `json:"bigqueryDestination,omitempty"`
 
 	// GcsDestination: Destination on Cloud Storage.
@@ -2419,154 +1910,77 @@
 }
 
 // Policy: An Identity and Access Management (IAM) policy, which
-// specifies access
-// controls for Google Cloud resources.
-//
-//
-// A `Policy` is a collection of `bindings`. A `binding` binds one or
-// more
-// `members` to a single `role`. Members can be user accounts, service
-// accounts,
+// specifies access controls for Google Cloud resources. A `Policy` is a
+// collection of `bindings`. A `binding` binds one or more `members` to
+// a single `role`. Members can be user accounts, service accounts,
 // Google groups, and domains (such as G Suite). A `role` is a named
-// list of
-// permissions; each `role` can be an IAM predefined role or a
-// user-created
-// custom role.
-//
-// For some types of Google Cloud resources, a `binding` can also
-// specify a
-// `condition`, which is a logical expression that allows access to a
-// resource
-// only if the expression evaluates to `true`. A condition can add
-// constraints
-// based on attributes of the request, the resource, or both. To learn
-// which
-// resources support conditions in their IAM policies, see the
-// [IAM
+// list of permissions; each `role` can be an IAM predefined role or a
+// user-created custom role. For some types of Google Cloud resources, a
+// `binding` can also specify a `condition`, which is a logical
+// expression that allows access to a resource only if the expression
+// evaluates to `true`. A condition can add constraints based on
+// attributes of the request, the resource, or both. To learn which
+// resources support conditions in their IAM policies, see the [IAM
 // documentation](https://cloud.google.com/iam/help/conditions/resource-p
-// olicies).
-//
-// **JSON example:**
-//
-//     {
-//       "bindings": [
-//         {
-//           "role": "roles/resourcemanager.organizationAdmin",
-//           "members": [
-//             "user:mike@example.com",
-//             "group:admins@example.com",
-//             "domain:google.com",
-//
-// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
-//           ]
-//         },
-//         {
-//           "role": "roles/resourcemanager.organizationViewer",
-//           "members": [
-//             "user:eve@example.com"
-//           ],
-//           "condition": {
-//             "title": "expirable access",
-//             "description": "Does not grant access after Sep 2020",
-//             "expression": "request.time <
-// timestamp('2020-10-01T00:00:00.000Z')",
-//           }
-//         }
-//       ],
-//       "etag": "BwWWja0YfJA=",
-//       "version": 3
-//     }
-//
-// **YAML example:**
-//
-//     bindings:
-//     - members:
-//       - user:mike@example.com
-//       - group:admins@example.com
-//       - domain:google.com
-//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
-//       role: roles/resourcemanager.organizationAdmin
-//     - members:
-//       - user:eve@example.com
-//       role: roles/resourcemanager.organizationViewer
-//       condition:
-//         title: expirable access
-//         description: Does not grant access after Sep 2020
-//         expression: request.time <
-// timestamp('2020-10-01T00:00:00.000Z')
-//     - etag: BwWWja0YfJA=
-//     - version: 3
-//
-// For a description of IAM and its features, see the
-// [IAM documentation](https://cloud.google.com/iam/docs/).
+// olicies). **JSON example:** { "bindings": [ { "role":
+// "roles/resourcemanager.organizationAdmin", "members": [
+// "user:mike@example.com", "group:admins@example.com",
+// "domain:google.com",
+// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
+// "role": "roles/resourcemanager.organizationViewer", "members": [
+// "user:eve@example.com" ], "condition": { "title": "expirable access",
+// "description": "Does not grant access after Sep 2020", "expression":
+// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
+// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
+// members: - user:mike@example.com - group:admins@example.com -
+// domain:google.com -
+// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
+// roles/resourcemanager.organizationAdmin - members: -
+// user:eve@example.com role: roles/resourcemanager.organizationViewer
+// condition: title: expirable access description: Does not grant access
+// after Sep 2020 expression: request.time <
+// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
+// 3 For a description of IAM and its features, see the [IAM
+// documentation](https://cloud.google.com/iam/docs/).
 type Policy struct {
 	// AuditConfigs: Specifies cloud audit logging configuration for this
 	// policy.
 	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
 
 	// Bindings: Associates a list of `members` to a `role`. Optionally, may
-	// specify a
-	// `condition` that determines how and when the `bindings` are applied.
-	// Each
-	// of the `bindings` must contain at least one member.
+	// specify a `condition` that determines how and when the `bindings` are
+	// applied. Each of the `bindings` must contain at least one member.
 	Bindings []*Binding `json:"bindings,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a policy from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform policy updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `getIamPolicy`,
-	// and
-	// systems are expected to put that etag in the request to
-	// `setIamPolicy` to
-	// ensure that their change will be applied to the same version of the
-	// policy.
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
+	// help prevent simultaneous updates of a policy from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform policy updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `getIamPolicy`, and systems are expected to put that etag in the
+	// request to `setIamPolicy` to ensure that their change will be applied
+	// to the same version of the policy. **Important:** If you use IAM
+	// Conditions, you must include the `etag` field whenever you call
+	// `setIamPolicy`. If you omit this field, then IAM allows you to
+	// overwrite a version `3` policy with a version `1` policy, and all of
 	// the conditions in the version `3` policy are lost.
 	Etag string `json:"etag,omitempty"`
 
-	// Version: Specifies the format of the policy.
-	//
-	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
-	// value
-	// are rejected.
-	//
+	// Version: Specifies the format of the policy. Valid values are `0`,
+	// `1`, and `3`. Requests that specify an invalid value are rejected.
 	// Any operation that affects conditional role bindings must specify
-	// version
-	// `3`. This requirement applies to the following operations:
-	//
-	// * Getting a policy that includes a conditional role binding
-	// * Adding a conditional role binding to a policy
-	// * Changing a conditional role binding in a policy
-	// * Removing any role binding, with or without a condition, from a
-	// policy
-	//   that includes conditions
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
-	// the conditions in the version `3` policy are lost.
-	//
-	// If a policy does not include any conditions, operations on that
-	// policy may
-	// specify any valid version or leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see the
-	// [IAM
+	// version `3`. This requirement applies to the following operations: *
+	// Getting a policy that includes a conditional role binding * Adding a
+	// conditional role binding to a policy * Changing a conditional role
+	// binding in a policy * Removing any role binding, with or without a
+	// condition, from a policy that includes conditions **Important:** If
+	// you use IAM Conditions, you must include the `etag` field whenever
+	// you call `setIamPolicy`. If you omit this field, then IAM allows you
+	// to overwrite a version `3` policy with a version `1` policy, and all
+	// of the conditions in the version `3` policy are lost. If a policy
+	// does not include any conditions, operations on that policy may
+	// specify any valid version or leave the field unset. To learn which
+	// resources support conditions in their IAM policies, see the [IAM
 	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
 	// olicies).
 	Version int64 `json:"version,omitempty"`
@@ -2596,8 +2010,8 @@
 
 // PubsubDestination: A Pub/Sub destination.
 type PubsubDestination struct {
-	// Topic: The name of the Pub/Sub topic to publish to.
-	// Example: `projects/PROJECT_ID/topics/TOPIC_ID`.
+	// Topic: The name of the Pub/Sub topic to publish to. Example:
+	// `projects/PROJECT_ID/topics/TOPIC_ID`.
 	Topic string `json:"topic,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Topic") to
@@ -2626,64 +2040,42 @@
 // Resource: A representation of a Google Cloud resource.
 type Resource struct {
 	// Data: The content of the resource, in which some sensitive fields are
-	// removed
-	// and may not be present.
+	// removed and may not be present.
 	Data googleapi.RawMessage `json:"data,omitempty"`
 
 	// DiscoveryDocumentUri: The URL of the discovery document containing
-	// the resource's JSON
-	// schema.
-	// Example:
-	// `https://www.googleapis.com/discovery/v1/apis/compute
-	// /v1/rest`
-	//
-	// This value is unspecified for resources that do not have an API based
-	// on a
+	// the resource's JSON schema. Example:
+	// `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest` This
+	// value is unspecified for resources that do not have an API based on a
 	// discovery document, such as Cloud Bigtable.
 	DiscoveryDocumentUri string `json:"discoveryDocumentUri,omitempty"`
 
 	// DiscoveryName: The JSON schema name listed in the discovery document.
-	// Example:
-	// `Project`
-	//
-	// This value is unspecified for resources that do not have an API based
-	// on a
-	// discovery document, such as Cloud Bigtable.
+	// Example: `Project` This value is unspecified for resources that do
+	// not have an API based on a discovery document, such as Cloud
+	// Bigtable.
 	DiscoveryName string `json:"discoveryName,omitempty"`
 
 	// Location: The location of the resource in Google Cloud, such as its
-	// zone and region.
-	// For more information, see https://cloud.google.com/about/locations/.
+	// zone and region. For more information, see
+	// https://cloud.google.com/about/locations/.
 	Location string `json:"location,omitempty"`
 
-	// Parent: The full name of the immediate parent of this resource.
-	// See
+	// Parent: The full name of the immediate parent of this resource. See
 	// [Resource
-	// Names](https://cloud.google.com/apis/design/resource_nam
-	// es#full_resource_name)
-	// for more information.
-	//
-	// For Google Cloud assets, this value is the parent resource defined in
-	// the
-	// [Cloud IAM
-	// policy
-	// hierarchy](https://cloud.google.com/iam/docs/overview#policy_hi
-	// erarchy).
-	// Example:
-	// `//cloudresourcemanager.googleapis.com/projects/my_
-	// project_123`
-	//
-	// For third-party assets, this field may be set differently.
+	// Names](https://cloud.google.com/apis/design/resource_names#full_resour
+	// ce_name) for more information. For Google Cloud assets, this value is
+	// the parent resource defined in the [Cloud IAM policy
+	// hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy
+	// ). Example:
+	// `//cloudresourcemanager.googleapis.com/projects/my_project_123` For
+	// third-party assets, this field may be set differently.
 	Parent string `json:"parent,omitempty"`
 
 	// ResourceUrl: The REST URL for accessing the resource. An HTTP `GET`
-	// request using this
-	// URL returns the resource itself.
-	// Example:
-	// `https://cloudresourcemanager.googleapis.com/v1/projects/my-p
-	// roject-123`
-	//
-	// This value is unspecified for resources without a REST API.
+	// request using this URL returns the resource itself. Example:
+	// `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-12
+	// 3` This value is unspecified for resources without a REST API.
 	ResourceUrl string `json:"resourceUrl,omitempty"`
 
 	// Version: The API version. Example: `v1`
@@ -2716,128 +2108,78 @@
 // information of a cloud resource.
 type ResourceSearchResult struct {
 	// AdditionalAttributes: The additional searchable attributes of this
-	// resource. The attributes may
-	// vary from one resource type to another. Examples: `projectId` for
-	// Project,
-	// `dnsName` for DNS ManagedZone. This field contains a subset of the
-	// resource
-	// metadata fields that are returned by the List or Get APIs provided by
-	// the
-	// corresponding GCP service (e.g., Compute Engine). see [API references
-	// and
-	// supported
+	// resource. The attributes may vary from one resource type to another.
+	// Examples: `projectId` for Project, `dnsName` for DNS ManagedZone.
+	// This field contains a subset of the resource metadata fields that are
+	// returned by the List or Get APIs provided by the corresponding GCP
+	// service (e.g., Compute Engine). see [API references and supported
 	// searchable
-	// attributes](https://cloud.google.com/asset-inventory/docs/s
-	// upported-asset-types#searchable_asset_types)
-	// for more information.
-	//
-	// You can search values of these fields through free text search.
-	// However,
-	// you should not consume the field programically as the field names
-	// and
+	// attributes](https://cloud.google.com/asset-inventory/docs/supported-as
+	// set-types#searchable_asset_types) for more information. You can
+	// search values of these fields through free text search. However, you
+	// should not consume the field programically as the field names and
 	// values may change as the GCP service updates to a new incompatible
-	// API
-	// version.
-	//
-	// To search against the `additional_attributes`:
-	//
-	// * use a free text query to match the attributes values. Example: to
-	// search
-	//   `additional_attributes = { dnsName: "foobar" }`, you can issue a
-	// query
-	//   "foobar".
+	// API version. To search against the `additional_attributes`: * use a
+	// free text query to match the attributes values. Example: to search
+	// `additional_attributes = { dnsName: "foobar" }`, you can issue a
+	// query `foobar`.
 	AdditionalAttributes googleapi.RawMessage `json:"additionalAttributes,omitempty"`
 
 	// AssetType: The type of this resource. Example:
-	// `compute.googleapis.com/Disk`.
-	//
-	// To search against the `asset_type`:
-	//
-	// * specify the `asset_type` field in your search request.
+	// `compute.googleapis.com/Disk`. To search against the `asset_type`: *
+	// specify the `asset_type` field in your search request.
 	AssetType string `json:"assetType,omitempty"`
 
 	// Description: One or more paragraphs of text description of this
-	// resource. Maximum length
-	// could be up to 1M bytes.
-	//
-	// To search against the `description`:
-	//
-	// * use a field query. Example: `description : "*important
-	// instance*"
-	// * use a free text query. Example: "*important instance*"
+	// resource. Maximum length could be up to 1M bytes. To search against
+	// the `description`: * use a field query. Example:
+	// `description:"*important instance*" * use a free text query.
+	// Example: "*important instance*"
 	Description string `json:"description,omitempty"`
 
-	// DisplayName: The display name of this resource.
-	//
-	// To search against the `display_name`:
-	//
-	// * use a field query. Example: `displayName : "My Instance"
-	// * use a free text query. Example: "My Instance"
+	// DisplayName: The display name of this resource. To search against the
+	// `display_name`: * use a field query. Example: `displayName:"My
+	// Instance" * use a free text query. Example: "My Instance"
 	DisplayName string `json:"displayName,omitempty"`
 
 	// Labels: Labels associated with this resource. See [Labelling and
-	// grouping
-	// GCP
-	// resources](https://cloud.google.com/blog/products/gcp/labelling-an
-	// d-grouping-your-google-cloud-platform-resources)
-	// for more information.
-	//
-	// To search against the `labels`:
-	//
-	// * use a field query, as following:
-	//     - query on any label's key or value. Example: `labels : "prod"
-	//     - query by a given label. Example: `labels.env : "prod"
-	//     - query by a given label'sexistence. Example: `labels.env : *`
-	// * use a free text query. Example: "prod"
+	// grouping GCP
+	// resources](https://cloud.google.com/blog/products/gcp/labelling-and-gr
+	// ouping-your-google-cloud-platform-resources) for more information. To
+	// search against the `labels`: * use a field query: - query on any
+	// label's key or value. Example: `labels:prod` - query by a given
+	// label. Example: `labels.env:prod` - query by a given label's
+	// existence. Example: `labels.env:*` * use a free text query. Example:
+	// `prod`
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// Location: Location can be `global`, regional like `us-east1`, or
-	// zonal like
-	// `us-west1-b`.
-	//
-	// To search against the `location`:
-	//
-	// * use a field query. Example: `location : "us-west*"
-	// * use a free text query. Example: "us-west*"
+	// zonal like `us-west1-b`. To search against the `location`: * use a
+	// field query. Example: `location:us-west*` * use a free text query.
+	// Example: `us-west*`
 	Location string `json:"location,omitempty"`
 
-	// Name: The full resource name of this resource.
-	// Example:
-	// `//compute.googleapis.com/projects/my_project_123/zones/zone1
-	// /instances/instance1`.
-	// See [Cloud Asset Inventory Resource
-	// Name
-	// Format](https://cloud.google.com/asset-inventory/docs/resource-na
-	// me-format)
-	// for more information.
-	//
-	// To search against the `name`:
-	//
-	// * use a field query. Example: `name : "instance1"
-	// * use a free text query. Example: "instance1"
+	// Name: The full resource name of this resource. Example:
+	// `//compute.googleapis.com/projects/my_project_123/zones/zone1/instance
+	// s/instance1`. See [Cloud Asset Inventory Resource Name
+	// Format](https://cloud.google.com/asset-inventory/docs/resource-name-fo
+	// rmat) for more information. To search against the `name`: * use a
+	// field query. Example: `name:instance1` * use a free text query.
+	// Example: `instance1`
 	Name string `json:"name,omitempty"`
 
 	// NetworkTags: Network tags associated with this resource. Like labels,
-	// network tags are a
-	// type of annotations used to group GCP resources. See [Labelling
-	// GCP
-	// resources](https://cloud.google.com/blog/products/gcp/labelling-an
-	// d-grouping-your-google-cloud-platform-resources)
-	// for more information.
-	//
-	// To search against the `network_tags`:
-	//
-	// * use a field query. Example: `networkTags : "internal"
-	// * use a free text query. Example: "internal"
+	// network tags are a type of annotations used to group GCP resources.
+	// See [Labelling GCP
+	// resources](https://cloud.google.com/blog/products/gcp/labelling-and-gr
+	// ouping-your-google-cloud-platform-resources) for more information. To
+	// search against the `network_tags`: * use a field query. Example:
+	// `networkTags:internal` * use a free text query. Example: `internal`
 	NetworkTags []string `json:"networkTags,omitempty"`
 
-	// Project: The project that this resource belongs to, in the form
-	// of
-	// projects/{PROJECT_NUMBER}.
-	//
-	// To search against the `project`:
-	//
-	// * specify the `scope` field as this project in your search request.
+	// Project: The project that this resource belongs to, in the form of
+	// projects/{PROJECT_NUMBER}. To search against the `project`: * specify
+	// the `scope` field as this project in your search request.
 	Project string `json:"project,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -2868,15 +2210,13 @@
 // SearchAllIamPoliciesResponse: Search all IAM policies response.
 type SearchAllIamPoliciesResponse struct {
 	// NextPageToken: Set if there are more results than those appearing in
-	// this response; to get
-	// the next set of results, call this method again, using this value as
-	// the
-	// `page_token`.
+	// this response; to get the next set of results, call this method
+	// again, using this value as the `page_token`.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Results: A list of IamPolicy that match the search query. Related
-	// information such
-	// as the associated resource is returned along with the policy.
+	// information such as the associated resource is returned along with
+	// the policy.
 	Results []*IamPolicySearchResult `json:"results,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2909,15 +2249,13 @@
 // SearchAllResourcesResponse: Search all resources response.
 type SearchAllResourcesResponse struct {
 	// NextPageToken: If there are more results than those appearing in this
-	// response, then
-	// `next_page_token` is included. To get the next set of results, call
-	// this
-	// method again using the value of `next_page_token` as `page_token`.
+	// response, then `next_page_token` is included. To get the next set of
+	// results, call this method again using the value of `next_page_token`
+	// as `page_token`.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Results: A list of Resources that match the search query. It contains
-	// the resource
-	// standard metadata information.
+	// the resource standard metadata information.
 	Results []*ResourceSearchResult `json:"results,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2948,32 +2286,24 @@
 }
 
 // Status: The `Status` type defines a logical error model that is
-// suitable for
-// different programming environments, including REST APIs and RPC APIs.
-// It is
-// used by [gRPC](https://github.com/grpc). Each `Status` message
-// contains
-// three pieces of data: error code, error message, and error
-// details.
-//
-// You can find out more about this error model and how to work with it
-// in the
-// [API Design Guide](https://cloud.google.com/apis/design/errors).
+// suitable for different programming environments, including REST APIs
+// and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each
+// `Status` message contains three pieces of data: error code, error
+// message, and error details. You can find out more about this error
+// model and how to work with it in the [API Design
+// Guide](https://cloud.google.com/apis/design/errors).
 type Status struct {
 	// Code: The status code, which should be an enum value of
 	// google.rpc.Code.
 	Code int64 `json:"code,omitempty"`
 
-	// Details: A list of messages that carry the error details.  There is a
-	// common set of
-	// message types for APIs to use.
+	// Details: A list of messages that carry the error details. There is a
+	// common set of message types for APIs to use.
 	Details []googleapi.RawMessage `json:"details,omitempty"`
 
 	// Message: 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.
+	// English. Any user-facing error message should be localized and sent
+	// in the google.rpc.Status.details field, or localized by the client.
 	Message string `json:"message,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Code") to
@@ -3000,8 +2330,8 @@
 }
 
 // TemporalAsset: An asset in Google Cloud and its temporal metadata,
-// including the time window
-// when it was observed and its status during that window.
+// including the time window when it was observed and its status during
+// that window.
 type TemporalAsset struct {
 	// Asset: An asset in Google Cloud.
 	Asset *Asset `json:"asset,omitempty"`
@@ -3010,8 +2340,8 @@
 	Deleted bool `json:"deleted,omitempty"`
 
 	// PriorAsset: Prior copy of the asset. Populated if prior_asset_state
-	// is PRESENT.
-	// Currently this is only set for responses in Real-Time Feed.
+	// is PRESENT. Currently this is only set for responses in Real-Time
+	// Feed.
 	PriorAsset *Asset `json:"priorAsset,omitempty"`
 
 	// PriorAssetState: State of prior_asset.
@@ -3055,8 +2385,7 @@
 // `end_time`.
 type TimeWindow struct {
 	// EndTime: End time of the time window (inclusive). If not specified,
-	// the current
-	// timestamp is used instead.
+	// the current timestamp is used instead.
 	EndTime string `json:"endTime,omitempty"`
 
 	// StartTime: Start time of the time window (exclusive).
@@ -3088,21 +2417,15 @@
 // UpdateFeedRequest: Update asset feed request.
 type UpdateFeedRequest struct {
 	// Feed: Required. The new values of feed details. It must match an
-	// existing feed and the
-	// field `name` must be in the format
-	// of:
-	// projects/project_number/feeds/feed_id
-	// or
-	// folders/folder_number/feeds/feed_id
-	// or
+	// existing feed and the field `name` must be in the format of:
+	// projects/project_number/feeds/feed_id or
+	// folders/folder_number/feeds/feed_id or
 	// organizations/organization_number/feeds/feed_id.
 	Feed *Feed `json:"feed,omitempty"`
 
 	// UpdateMask: Required. Only updates the `feed` fields indicated by
-	// this mask.
-	// The field mask must not be empty, and it must not contain fields
-	// that
-	// are immutable or only set by the server.
+	// this mask. The field mask must not be empty, and it must not contain
+	// fields that are immutable or only set by the server.
 	UpdateMask string `json:"updateMask,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Feed") to
@@ -3140,8 +2463,7 @@
 }
 
 // Create: Creates a feed in a parent project/folder/organization to
-// listen to its
-// asset updates.
+// listen to its asset updates.
 func (r *FeedsService) Create(parent string, createfeedrequest *CreateFeedRequest) *FeedsCreateCall {
 	c := &FeedsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -3176,7 +2498,7 @@
 
 func (c *FeedsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3240,7 +2562,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a feed in a parent project/folder/organization to listen to its\nasset updates.",
+	//   "description": "Creates a feed in a parent project/folder/organization to listen to its asset updates.",
 	//   "flatPath": "v1/{v1Id}/{v1Id1}/feeds",
 	//   "httpMethod": "POST",
 	//   "id": "cloudasset.feeds.create",
@@ -3249,7 +2571,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The name of the project/folder/organization where this feed\nshould be created in. It can only be an organization number (such as\n\"organizations/123\"), a folder number (such as \"folders/123\"), a project ID\n(such as \"projects/my-project-id\")\", or a project number (such as\n\"projects/12345\").",
+	//       "description": "Required. The name of the project/folder/organization where this feed should be created in. It can only be an organization number (such as \"organizations/123\"), a folder number (such as \"folders/123\"), a project ID (such as \"projects/my-project-id\")\", or a project number (such as \"projects/12345\").",
 	//       "location": "path",
 	//       "pattern": "^[^/]+/[^/]+$",
 	//       "required": true,
@@ -3314,7 +2636,7 @@
 
 func (c *FeedsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3382,7 +2704,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the feed and it must be in the format of:\nprojects/project_number/feeds/feed_id\nfolders/folder_number/feeds/feed_id\norganizations/organization_number/feeds/feed_id",
+	//       "description": "Required. The name of the feed and it must be in the format of: projects/project_number/feeds/feed_id folders/folder_number/feeds/feed_id organizations/organization_number/feeds/feed_id",
 	//       "location": "path",
 	//       "pattern": "^[^/]+/[^/]+/feeds/[^/]+$",
 	//       "required": true,
@@ -3455,7 +2777,7 @@
 
 func (c *FeedsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3526,7 +2848,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the Feed and it must be in the format of:\nprojects/project_number/feeds/feed_id\nfolders/folder_number/feeds/feed_id\norganizations/organization_number/feeds/feed_id",
+	//       "description": "Required. The name of the Feed and it must be in the format of: projects/project_number/feeds/feed_id folders/folder_number/feeds/feed_id organizations/organization_number/feeds/feed_id",
 	//       "location": "path",
 	//       "pattern": "^[^/]+/[^/]+/feeds/[^/]+$",
 	//       "required": true,
@@ -3599,7 +2921,7 @@
 
 func (c *FeedsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3670,7 +2992,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The parent project/folder/organization whose feeds are to be\nlisted. It can only be using project/folder/organization number (such as\n\"folders/12345\")\", or a project ID (such as \"projects/my-project-id\").",
+	//       "description": "Required. The parent project/folder/organization whose feeds are to be listed. It can only be using project/folder/organization number (such as \"folders/12345\")\", or a project ID (such as \"projects/my-project-id\").",
 	//       "location": "path",
 	//       "pattern": "^[^/]+/[^/]+$",
 	//       "required": true,
@@ -3734,7 +3056,7 @@
 
 func (c *FeedsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3807,7 +3129,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The format will be\nprojects/{project_number}/feeds/{client-assigned_feed_identifier} or\nfolders/{folder_number}/feeds/{client-assigned_feed_identifier} or\norganizations/{organization_number}/feeds/{client-assigned_feed_identifier}\n\nThe client-assigned feed identifier must be unique within the parent\nproject/folder/organization.",
+	//       "description": "Required. The format will be projects/{project_number}/feeds/{client-assigned_feed_identifier} or folders/{folder_number}/feeds/{client-assigned_feed_identifier} or organizations/{organization_number}/feeds/{client-assigned_feed_identifier} The client-assigned feed identifier must be unique within the parent project/folder/organization.",
 	//       "location": "path",
 	//       "pattern": "^[^/]+/[^/]+/feeds/[^/]+$",
 	//       "required": true,
@@ -3839,11 +3161,9 @@
 	header_      http.Header
 }
 
-// Get: 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.
+// Get: 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.
 func (r *OperationsService) Get(name string) *OperationsGetCall {
 	c := &OperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3887,7 +3207,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3949,7 +3269,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+	//   "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
 	//   "flatPath": "v1/{v1Id}/{v1Id1}/operations/{operationsId}/{operationsId1}",
 	//   "httpMethod": "GET",
 	//   "id": "cloudasset.operations.get",
@@ -3988,16 +3308,11 @@
 }
 
 // BatchGetAssetsHistory: Batch gets the update history of assets that
-// overlap a time window.
-// For IAM_POLICY content, this API outputs history when the asset and
-// its
-// attached IAM POLICY both exist. This can create gaps in the output
-// history.
-// Otherwise, this API outputs history with asset in both non-delete
-// or
-// deleted status.
-// If a specified asset does not exist, this API returns an
-// INVALID_ARGUMENT
+// overlap a time window. For IAM_POLICY content, this API outputs
+// history when the asset and its attached IAM POLICY both exist. This
+// can create gaps in the output history. Otherwise, this API outputs
+// history with asset in both non-delete or deleted status. If a
+// specified asset does not exist, this API returns an INVALID_ARGUMENT
 // error.
 func (r *V1Service) BatchGetAssetsHistory(parent string) *V1BatchGetAssetsHistoryCall {
 	c := &V1BatchGetAssetsHistoryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -4006,18 +3321,12 @@
 }
 
 // AssetNames sets the optional parameter "assetNames": A list of the
-// full names of the assets.
-// See:
+// full names of the assets. See:
 // https://cloud.google.com/asset-inventory/docs/resource-name-format
-// Exa
-// mple:
-//
-// `//compute.googleapis.com/projects/my_project_123/zones/zone1/i
-// nstances/instance1`.
-//
-// The request becomes a no-op if the asset name list is empty, and the
-// max
-// size of the asset name list is 100 in one request.
+// Example:
+// `//compute.googleapis.com/projects/my_project_123/zones/zone1/instance
+// s/instance1`. The request becomes a no-op if the asset name list is
+// empty, and the max size of the asset name list is 100 in one request.
 func (c *V1BatchGetAssetsHistoryCall) AssetNames(assetNames ...string) *V1BatchGetAssetsHistoryCall {
 	c.urlParams_.SetMulti("assetNames", append([]string{}, assetNames...))
 	return c
@@ -4027,11 +3336,12 @@
 // type.
 //
 // Possible values:
-//   "CONTENT_TYPE_UNSPECIFIED"
-//   "RESOURCE"
-//   "IAM_POLICY"
-//   "ORG_POLICY"
-//   "ACCESS_POLICY"
+//   "CONTENT_TYPE_UNSPECIFIED" - Unspecified content type.
+//   "RESOURCE" - Resource metadata.
+//   "IAM_POLICY" - The actual IAM policy set on a resource.
+//   "ORG_POLICY" - The Cloud Organization Policy set on an asset.
+//   "ACCESS_POLICY" - The Cloud Access context manager Policy set on an
+// asset.
 func (c *V1BatchGetAssetsHistoryCall) ContentType(contentType string) *V1BatchGetAssetsHistoryCall {
 	c.urlParams_.Set("contentType", contentType)
 	return c
@@ -4039,8 +3349,7 @@
 
 // ReadTimeWindowEndTime sets the optional parameter
 // "readTimeWindow.endTime": End time of the time window (inclusive). If
-// not specified, the current
-// timestamp is used instead.
+// not specified, the current timestamp is used instead.
 func (c *V1BatchGetAssetsHistoryCall) ReadTimeWindowEndTime(readTimeWindowEndTime string) *V1BatchGetAssetsHistoryCall {
 	c.urlParams_.Set("readTimeWindow.endTime", readTimeWindowEndTime)
 	return c
@@ -4091,7 +3400,7 @@
 
 func (c *V1BatchGetAssetsHistoryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4153,7 +3462,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Batch gets the update history of assets that overlap a time window.\nFor IAM_POLICY content, this API outputs history when the asset and its\nattached IAM POLICY both exist. This can create gaps in the output history.\nOtherwise, this API outputs history with asset in both non-delete or\ndeleted status.\nIf a specified asset does not exist, this API returns an INVALID_ARGUMENT\nerror.",
+	//   "description": "Batch gets the update history of assets that overlap a time window. For IAM_POLICY content, this API outputs history when the asset and its attached IAM POLICY both exist. This can create gaps in the output history. Otherwise, this API outputs history with asset in both non-delete or deleted status. If a specified asset does not exist, this API returns an INVALID_ARGUMENT error.",
 	//   "flatPath": "v1/{v1Id}/{v1Id1}:batchGetAssetsHistory",
 	//   "httpMethod": "GET",
 	//   "id": "cloudasset.batchGetAssetsHistory",
@@ -4162,7 +3471,7 @@
 	//   ],
 	//   "parameters": {
 	//     "assetNames": {
-	//       "description": "A list of the full names of the assets.\nSee: https://cloud.google.com/asset-inventory/docs/resource-name-format\nExample:\n\n`//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.\n\nThe request becomes a no-op if the asset name list is empty, and the max\nsize of the asset name list is 100 in one request.",
+	//       "description": "A list of the full names of the assets. See: https://cloud.google.com/asset-inventory/docs/resource-name-format Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. The request becomes a no-op if the asset name list is empty, and the max size of the asset name list is 100 in one request.",
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
@@ -4176,18 +3485,25 @@
 	//         "ORG_POLICY",
 	//         "ACCESS_POLICY"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Unspecified content type.",
+	//         "Resource metadata.",
+	//         "The actual IAM policy set on a resource.",
+	//         "The Cloud Organization Policy set on an asset.",
+	//         "The Cloud Access context manager Policy set on an asset."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The relative name of the root asset. It can only be an\norganization number (such as \"organizations/123\"), a project ID (such as\n\"projects/my-project-id\")\", or a project number (such as \"projects/12345\").",
+	//       "description": "Required. The relative name of the root asset. It can only be an organization number (such as \"organizations/123\"), a project ID (such as \"projects/my-project-id\")\", or a project number (such as \"projects/12345\").",
 	//       "location": "path",
 	//       "pattern": "^[^/]+/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "readTimeWindow.endTime": {
-	//       "description": "End time of the time window (inclusive). If not specified, the current\ntimestamp is used instead.",
+	//       "description": "End time of the time window (inclusive). If not specified, the current timestamp is used instead.",
 	//       "format": "google-datetime",
 	//       "location": "query",
 	//       "type": "string"
@@ -4222,23 +3538,16 @@
 }
 
 // ExportAssets: Exports assets with time and resource types to a given
-// Cloud Storage
-// location/BigQuery table. For Cloud Storage location destinations,
-// the
-// output format is newline-delimited JSON. Each line represents
-// a
-// google.cloud.asset.v1.Asset in the JSON format; for BigQuery
-// table
-// destinations, the output table stores the fields in asset proto as
-// columns.
-// This API implements the google.longrunning.Operation API
-// , which allows you to keep track of the export. We recommend
-// intervals of
-// at least 2 seconds with exponential retry to poll the export
-// operation
-// result. For regular-size resource parent, the export operation
-// usually
-// finishes within 5 minutes.
+// Cloud Storage location/BigQuery table. For Cloud Storage location
+// destinations, the output format is newline-delimited JSON. Each line
+// represents a google.cloud.asset.v1.Asset in the JSON format; for
+// BigQuery table destinations, the output table stores the fields in
+// asset proto as columns. This API implements the
+// google.longrunning.Operation API , which allows you to keep track of
+// the export. We recommend intervals of at least 2 seconds with
+// exponential retry to poll the export operation result. For
+// regular-size resource parent, the export operation usually finishes
+// within 5 minutes.
 func (r *V1Service) ExportAssets(parent string, exportassetsrequest *ExportAssetsRequest) *V1ExportAssetsCall {
 	c := &V1ExportAssetsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -4273,7 +3582,7 @@
 
 func (c *V1ExportAssetsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4337,7 +3646,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Exports assets with time and resource types to a given Cloud Storage\nlocation/BigQuery table. For Cloud Storage location destinations, the\noutput format is newline-delimited JSON. Each line represents a\ngoogle.cloud.asset.v1.Asset in the JSON format; for BigQuery table\ndestinations, the output table stores the fields in asset proto as columns.\nThis API implements the google.longrunning.Operation API\n, which allows you to keep track of the export. We recommend intervals of\nat least 2 seconds with exponential retry to poll the export operation\nresult. For regular-size resource parent, the export operation usually\nfinishes within 5 minutes.",
+	//   "description": "Exports assets with time and resource types to a given Cloud Storage location/BigQuery table. For Cloud Storage location destinations, the output format is newline-delimited JSON. Each line represents a google.cloud.asset.v1.Asset in the JSON format; for BigQuery table destinations, the output table stores the fields in asset proto as columns. This API implements the google.longrunning.Operation API , which allows you to keep track of the export. We recommend intervals of at least 2 seconds with exponential retry to poll the export operation result. For regular-size resource parent, the export operation usually finishes within 5 minutes.",
 	//   "flatPath": "v1/{v1Id}/{v1Id1}:exportAssets",
 	//   "httpMethod": "POST",
 	//   "id": "cloudasset.exportAssets",
@@ -4346,7 +3655,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The relative name of the root asset. This can only be an\norganization number (such as \"organizations/123\"), a project ID (such as\n\"projects/my-project-id\"), or a project number (such as \"projects/12345\"),\nor a folder number (such as \"folders/123\").",
+	//       "description": "Required. The relative name of the root asset. This can only be an organization number (such as \"organizations/123\"), a project ID (such as \"projects/my-project-id\"), or a project number (such as \"projects/12345\"), or a folder number (such as \"folders/123\").",
 	//       "location": "path",
 	//       "pattern": "^[^/]+/[^/]+$",
 	//       "required": true,
@@ -4379,12 +3688,9 @@
 }
 
 // SearchAllIamPolicies: Searches all IAM policies within the specified
-// scope, such as a project,
-// folder, or organization. The caller must be granted
-// the
-// `cloudasset.assets.searchAllIamPolicies` permission on the desired
-// scope,
-// otherwise the request will be rejected.
+// scope, such as a project, folder, or organization. The caller must be
+// granted the `cloudasset.assets.searchAllIamPolicies` permission on
+// the desired scope, otherwise the request will be rejected.
 func (r *V1Service) SearchAllIamPolicies(scope string) *V1SearchAllIamPoliciesCall {
 	c := &V1SearchAllIamPoliciesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.scope = scope
@@ -4392,23 +3698,20 @@
 }
 
 // PageSize sets the optional parameter "pageSize": The page size for
-// search result pagination. Page size is capped at 500 even
-// if a larger value is given. If set to zero, server will pick an
-// appropriate
+// search result pagination. Page size is capped at 500 even if a larger
+// value is given. If set to zero, server will pick an appropriate
 // default. Returned results may be fewer than requested. When this
-// happens,
-// there could be more results as long as `next_page_token` is returned.
+// happens, there could be more results as long as `next_page_token` is
+// returned.
 func (c *V1SearchAllIamPoliciesCall) PageSize(pageSize int64) *V1SearchAllIamPoliciesCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": If present,
-// retrieve the next batch of results from the preceding call to
-// this method. `page_token` must be the value of `next_page_token` from
-// the
-// previous response. The values of all other method parameters must
-// be
+// retrieve the next batch of results from the preceding call to this
+// method. `page_token` must be the value of `next_page_token` from the
+// previous response. The values of all other method parameters must be
 // identical to those in the previous call.
 func (c *V1SearchAllIamPoliciesCall) PageToken(pageToken string) *V1SearchAllIamPoliciesCall {
 	c.urlParams_.Set("pageToken", pageToken)
@@ -4416,44 +3719,28 @@
 }
 
 // Query sets the optional parameter "query": The query statement. See
-// [how to construct
-// a
-// query](https://cloud.google.com/asset-inventory/docs/searching-iam-p
-// olicies#how_to_construct_a_query)
-// for more information. If not specified or empty, it will search all
-// the
-// IAM policies within the specified `scope`.
-//
-// Examples:
-//
-// * `policy : "amy@gmail.com" to find IAM policy bindings that specify
-// user
-//   "amy@gmail.com".
-// * `policy : "roles/compute.admin" to find IAM policy bindings that
-// specify
-//   the Compute Admin role.
-// * `policy.role.permissions : "storage.buckets.update" to find IAM
-// policy
-//   bindings that specify a role containing "storage.buckets.update"
-//   permission. Note that if callers don't have `iam.roles.get` access
-// to a
-//   role's included permissions, policy bindings that specify this role
-// will
-//   be dropped from the search results.
-// * `resource : "organizations/123456" to find IAM policy bindings
-//   that are set on "organizations/123456".
-// * "Important" to find IAM policy bindings that contain "Important"
-// as a
-//   word in any of the searchable fields (except for the included
-//   permissions).
-// * "*por*" to find IAM policy bindings which contain "por" as a
-// substring
-//   in any of the searchable fields (except for the included
-// permissions).
-// * `(resource : ("instance1" OR "instance2") AND policy : "amy")` to
-// find
-//   IAM policy bindings that are set on resources "instance1" or
-//   "instance2" and also specify user "amy".
+// [how to construct a
+// query](https://cloud.google.com/asset-inventory/docs/searching-iam-pol
+// icies#how_to_construct_a_query) for more information. If not
+// specified or empty, it will search all the IAM policies within the
+// specified `scope`. Examples: * `policy:amy@gmail.com` to find IAM
+// policy bindings that specify user "amy@gmail.com". *
+// `policy:roles/compute.admin` to find IAM policy bindings that specify
+// the Compute Admin role. *
+// `policy.role.permissions:storage.buckets.update` to find IAM policy
+// bindings that specify a role containing "storage.buckets.update"
+// permission. Note that if callers don't have `iam.roles.get` access to
+// a role's included permissions, policy bindings that specify this role
+// will be dropped from the search results. *
+// `resource:organizations/123456` to find IAM policy bindings that are
+// set on "organizations/123456". * `Important` to find IAM policy
+// bindings that contain "Important" as a word in any of the searchable
+// fields (except for the included permissions). * `*por*` to find IAM
+// policy bindings that contain "por" as a substring in any of the
+// searchable fields (except for the included permissions). *
+// `resource:(instance1 OR instance2) policy:amy` to find IAM policy
+// bindings that are set on resources "instance1" or "instance2" and
+// also specify user "amy".
 func (c *V1SearchAllIamPoliciesCall) Query(query string) *V1SearchAllIamPoliciesCall {
 	c.urlParams_.Set("query", query)
 	return c
@@ -4496,7 +3783,7 @@
 
 func (c *V1SearchAllIamPoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4558,7 +3845,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Searches all IAM policies within the specified scope, such as a project,\nfolder, or organization. The caller must be granted the\n`cloudasset.assets.searchAllIamPolicies` permission on the desired scope,\notherwise the request will be rejected.",
+	//   "description": "Searches all IAM policies within the specified scope, such as a project, folder, or organization. The caller must be granted the `cloudasset.assets.searchAllIamPolicies` permission on the desired scope, otherwise the request will be rejected.",
 	//   "flatPath": "v1/{v1Id}/{v1Id1}:searchAllIamPolicies",
 	//   "httpMethod": "GET",
 	//   "id": "cloudasset.searchAllIamPolicies",
@@ -4567,23 +3854,23 @@
 	//   ],
 	//   "parameters": {
 	//     "pageSize": {
-	//       "description": "Optional. The page size for search result pagination. Page size is capped at 500 even\nif a larger value is given. If set to zero, server will pick an appropriate\ndefault. Returned results may be fewer than requested. When this happens,\nthere could be more results as long as `next_page_token` is returned.",
+	//       "description": "Optional. The page size for search result pagination. Page size is capped at 500 even if a larger value is given. If set to zero, server will pick an appropriate default. Returned results may be fewer than requested. When this happens, there could be more results as long as `next_page_token` is returned.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Optional. If present, retrieve the next batch of results from the preceding call to\nthis method. `page_token` must be the value of `next_page_token` from the\nprevious response. The values of all other method parameters must be\nidentical to those in the previous call.",
+	//       "description": "Optional. If present, retrieve the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of all other method parameters must be identical to those in the previous call.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "query": {
-	//       "description": "Optional. The query statement. See [how to construct a\nquery](https://cloud.google.com/asset-inventory/docs/searching-iam-policies#how_to_construct_a_query)\nfor more information. If not specified or empty, it will search all the\nIAM policies within the specified `scope`.\n\nExamples:\n\n* `policy : \"amy@gmail.com\"` to find IAM policy bindings that specify user\n  \"amy@gmail.com\".\n* `policy : \"roles/compute.admin\"` to find IAM policy bindings that specify\n  the Compute Admin role.\n* `policy.role.permissions : \"storage.buckets.update\"` to find IAM policy\n  bindings that specify a role containing \"storage.buckets.update\"\n  permission. Note that if callers don't have `iam.roles.get` access to a\n  role's included permissions, policy bindings that specify this role will\n  be dropped from the search results.\n* `resource : \"organizations/123456\"` to find IAM policy bindings\n  that are set on \"organizations/123456\".\n* `\"Important\"` to find IAM policy bindings that contain \"Important\" as a\n  word in any of the searchable fields (except for the included\n  permissions).\n* `\"*por*\"` to find IAM policy bindings which contain \"por\" as a substring\n  in any of the searchable fields (except for the included permissions).\n* `(resource : (\"instance1\" OR \"instance2\") AND policy : \"amy\")` to find\n  IAM policy bindings that are set on resources \"instance1\" or\n  \"instance2\" and also specify user \"amy\".",
+	//       "description": "Optional. The query statement. See [how to construct a query](https://cloud.google.com/asset-inventory/docs/searching-iam-policies#how_to_construct_a_query) for more information. If not specified or empty, it will search all the IAM policies within the specified `scope`. Examples: * `policy:amy@gmail.com` to find IAM policy bindings that specify user \"amy@gmail.com\". * `policy:roles/compute.admin` to find IAM policy bindings that specify the Compute Admin role. * `policy.role.permissions:storage.buckets.update` to find IAM policy bindings that specify a role containing \"storage.buckets.update\" permission. Note that if callers don't have `iam.roles.get` access to a role's included permissions, policy bindings that specify this role will be dropped from the search results. * `resource:organizations/123456` to find IAM policy bindings that are set on \"organizations/123456\". * `Important` to find IAM policy bindings that contain \"Important\" as a word in any of the searchable fields (except for the included permissions). * `*por*` to find IAM policy bindings that contain \"por\" as a substring in any of the searchable fields (except for the included permissions). * `resource:(instance1 OR instance2) policy:amy` to find IAM policy bindings that are set on resources \"instance1\" or \"instance2\" and also specify user \"amy\".",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "scope": {
-	//       "description": "Required. A scope can be a project, a folder, or an organization. The search is\nlimited to the IAM policies within the `scope`. The caller must be granted\nthe\n[`cloudasset.assets.searchAllIamPolicies`](http://cloud.google.com/asset-inventory/docs/access-control#required_permissions)\npermission on the desired scope.\n\nThe allowed values are:\n\n* projects/{PROJECT_ID} (e.g., \"projects/foo-bar\")\n* projects/{PROJECT_NUMBER} (e.g., \"projects/12345678\")\n* folders/{FOLDER_NUMBER} (e.g., \"folders/1234567\")\n* organizations/{ORGANIZATION_NUMBER} (e.g., \"organizations/123456\")",
+	//       "description": "Required. A scope can be a project, a folder, or an organization. The search is limited to the IAM policies within the `scope`. The caller must be granted the [`cloudasset.assets.searchAllIamPolicies`](http://cloud.google.com/asset-inventory/docs/access-control#required_permissions) permission on the desired scope. The allowed values are: * projects/{PROJECT_ID} (e.g., \"projects/foo-bar\") * projects/{PROJECT_NUMBER} (e.g., \"projects/12345678\") * folders/{FOLDER_NUMBER} (e.g., \"folders/1234567\") * organizations/{ORGANIZATION_NUMBER} (e.g., \"organizations/123456\")",
 	//       "location": "path",
 	//       "pattern": "^[^/]+/[^/]+$",
 	//       "required": true,
@@ -4634,12 +3921,9 @@
 }
 
 // SearchAllResources: Searches all Cloud resources within the specified
-// scope, such as a project,
-// folder, or organization. The caller must be granted
-// the
-// `cloudasset.assets.searchAllResources` permission on the desired
-// scope,
-// otherwise the request will be rejected.
+// scope, such as a project, folder, or organization. The caller must be
+// granted the `cloudasset.assets.searchAllResources` permission on the
+// desired scope, otherwise the request will be rejected.
 func (r *V1Service) SearchAllResources(scope string) *V1SearchAllResourcesCall {
 	c := &V1SearchAllResourcesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.scope = scope
@@ -4647,54 +3931,44 @@
 }
 
 // AssetTypes sets the optional parameter "assetTypes": A list of asset
-// types that this request searches for. If empty, it will
-// search all the [searchable
-// asset
-// types](https://cloud.google.com/asset-inventory/docs/supported-a
-// sset-types#searchable_asset_types).
+// types that this request searches for. If empty, it will search all
+// the [searchable asset
+// types](https://cloud.google.com/asset-inventory/docs/supported-asset-t
+// ypes#searchable_asset_types).
 func (c *V1SearchAllResourcesCall) AssetTypes(assetTypes ...string) *V1SearchAllResourcesCall {
 	c.urlParams_.SetMulti("assetTypes", append([]string{}, assetTypes...))
 	return c
 }
 
 // OrderBy sets the optional parameter "orderBy": A comma separated list
-// of fields specifying the sorting order of the
-// results. The default order is ascending. Add " DESC" after the field
-// name
-// to indicate descending order. Redundant space characters are
-// ignored.
-// Example: "location DESC, name". Only string fields in the response
-// are
+// of fields specifying the sorting order of the results. The default
+// order is ascending. Add " DESC" after the field name to indicate
+// descending order. Redundant space characters are ignored. Example:
+// "location DESC, name". Only string fields in the response are
 // sortable, including `name`, `displayName`, `description`, `location`.
-// All
-// the other fields such as repeated fields (e.g., `networkTags`),
-// map
-// fields (e.g., `labels`) and struct fields (e.g.,
-// `additionalAttributes`)
-// are not supported.
+// All the other fields such as repeated fields (e.g., `networkTags`),
+// map fields (e.g., `labels`) and struct fields (e.g.,
+// `additionalAttributes`) are not supported.
 func (c *V1SearchAllResourcesCall) OrderBy(orderBy string) *V1SearchAllResourcesCall {
 	c.urlParams_.Set("orderBy", orderBy)
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": The page size for
-// search result pagination. Page size is capped at 500 even
-// if a larger value is given. If set to zero, server will pick an
-// appropriate
+// search result pagination. Page size is capped at 500 even if a larger
+// value is given. If set to zero, server will pick an appropriate
 // default. Returned results may be fewer than requested. When this
-// happens,
-// there could be more results as long as `next_page_token` is returned.
+// happens, there could be more results as long as `next_page_token` is
+// returned.
 func (c *V1SearchAllResourcesCall) PageSize(pageSize int64) *V1SearchAllResourcesCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": If present, then
-// retrieve the next batch of results from the preceding call
-// to this method. `page_token` must be the value of `next_page_token`
-// from
-// the previous response. The values of all other method parameters,
-// must be
+// retrieve the next batch of results from the preceding call to this
+// method. `page_token` must be the value of `next_page_token` from the
+// previous response. The values of all other method parameters, must be
 // identical to those in the previous call.
 func (c *V1SearchAllResourcesCall) PageToken(pageToken string) *V1SearchAllResourcesCall {
 	c.urlParams_.Set("pageToken", pageToken)
@@ -4702,60 +3976,33 @@
 }
 
 // Query sets the optional parameter "query": The query statement. See
-// [how to construct
-// a
-// query](http://cloud.google.com/asset-inventory/docs/searching-resour
-// ces#how_to_construct_a_query)
-// for more information. If not specified or empty, it will search all
-// the
-// resources within the specified `scope`. Note that the query string
-// is
-// compared against each Cloud IAM policy binding, including its
-// members,
-// roles, and Cloud IAM conditions. The returned Cloud IAM policies will
-// only
-// contain the bindings that match your query. To learn more about the
-// IAM
-// policy structure, see [IAM
-// policy
-// doc](https://cloud.google.com/iam/docs/policies#structure).
-//
-// Ex
-// amples:
-//
-// * `name : "Important" to find Cloud resources whose name contains
-//   "Important" as a word.
-// * `displayName : "Impor*" to find Cloud resources whose display
-// name
-//   contains "Impor" as a prefix.
-// * `description : "*por*" to find Cloud resources whose description
-//   contains "por" as a substring.
-// * `location : "us-west*" to find Cloud resources whose location is
-//   prefixed with "us-west".
-// * `labels : "prod" to find Cloud resources whose labels contain
-// "prod" as
-//   a key or value.
-// * `labels.env : "prod" to find Cloud resources which have a label
-// "env"
-//   and its value is "prod".
-// * `labels.env : *` to find Cloud resources which have a label
-// "env".
-// * "Important" to find Cloud resources which contain "Important" as
-// a word
-//   in any of the searchable fields.
-// * "Impor*" to find Cloud resources which contain "Impor" as a
-// prefix
-//   in any of the searchable fields.
-// * "*por*" to find Cloud resources which contain "por" as a
-// substring in
-//   any of the searchable fields.
-// * `("Important" AND location : ("us-west1" OR "global"))` to find
-// Cloud
-//   resources which contain "Important" as a word in any of the
-// searchable
-//   fields and are also located in the "us-west1" region or the
-// "global"
-//   location.
+// [how to construct a
+// query](http://cloud.google.com/asset-inventory/docs/searching-resource
+// s#how_to_construct_a_query) for more information. If not specified or
+// empty, it will search all the resources within the specified `scope`.
+// Note that the query string is compared against each Cloud IAM policy
+// binding, including its members, roles, and Cloud IAM conditions. The
+// returned Cloud IAM policies will only contain the bindings that match
+// your query. To learn more about the IAM policy structure, see [IAM
+// policy doc](https://cloud.google.com/iam/docs/policies#structure).
+// Examples: * `name:Important` to find Cloud resources whose name
+// contains "Important" as a word. * `displayName:Impor*` to find Cloud
+// resources whose display name contains "Impor" as a prefix. *
+// `description:*por*` to find Cloud resources whose description
+// contains "por" as a substring. * `location:us-west*` to find Cloud
+// resources whose location is prefixed with "us-west". * `labels:prod`
+// to find Cloud resources whose labels contain "prod" as a key or
+// value. * `labels.env:prod` to find Cloud resources that have a label
+// "env" and its value is "prod". * `labels.env:*` to find Cloud
+// resources that have a label "env". * `Important` to find Cloud
+// resources that contain "Important" as a word in any of the searchable
+// fields. * `Impor*` to find Cloud resources that contain "Impor" as a
+// prefix in any of the searchable fields. * `*por*` to find Cloud
+// resources that contain "por" as a substring in any of the searchable
+// fields. * `Important location:(us-west1 OR global)` to find Cloud
+// resources that contain "Important" as a word in any of the searchable
+// fields and are also located in the "us-west1" region or the "global"
+// location.
 func (c *V1SearchAllResourcesCall) Query(query string) *V1SearchAllResourcesCall {
 	c.urlParams_.Set("query", query)
 	return c
@@ -4798,7 +4045,7 @@
 
 func (c *V1SearchAllResourcesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4860,7 +4107,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Searches all Cloud resources within the specified scope, such as a project,\nfolder, or organization. The caller must be granted the\n`cloudasset.assets.searchAllResources` permission on the desired scope,\notherwise the request will be rejected.",
+	//   "description": "Searches all Cloud resources within the specified scope, such as a project, folder, or organization. The caller must be granted the `cloudasset.assets.searchAllResources` permission on the desired scope, otherwise the request will be rejected.",
 	//   "flatPath": "v1/{v1Id}/{v1Id1}:searchAllResources",
 	//   "httpMethod": "GET",
 	//   "id": "cloudasset.searchAllResources",
@@ -4869,34 +4116,34 @@
 	//   ],
 	//   "parameters": {
 	//     "assetTypes": {
-	//       "description": "Optional. A list of asset types that this request searches for. If empty, it will\nsearch all the [searchable asset\ntypes](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).",
+	//       "description": "Optional. A list of asset types that this request searches for. If empty, it will search all the [searchable asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).",
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
 	//     },
 	//     "orderBy": {
-	//       "description": "Optional. A comma separated list of fields specifying the sorting order of the\nresults. The default order is ascending. Add \" DESC\" after the field name\nto indicate descending order. Redundant space characters are ignored.\nExample: \"location DESC, name\". Only string fields in the response are\nsortable, including `name`, `displayName`, `description`, `location`. All\nthe other fields such as repeated fields (e.g., `networkTags`), map\nfields (e.g., `labels`) and struct fields (e.g., `additionalAttributes`)\nare not supported.",
+	//       "description": "Optional. A comma separated list of fields specifying the sorting order of the results. The default order is ascending. Add \" DESC\" after the field name to indicate descending order. Redundant space characters are ignored. Example: \"location DESC, name\". Only string fields in the response are sortable, including `name`, `displayName`, `description`, `location`. All the other fields such as repeated fields (e.g., `networkTags`), map fields (e.g., `labels`) and struct fields (e.g., `additionalAttributes`) are not supported.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "Optional. The page size for search result pagination. Page size is capped at 500 even\nif a larger value is given. If set to zero, server will pick an appropriate\ndefault. Returned results may be fewer than requested. When this happens,\nthere could be more results as long as `next_page_token` is returned.",
+	//       "description": "Optional. The page size for search result pagination. Page size is capped at 500 even if a larger value is given. If set to zero, server will pick an appropriate default. Returned results may be fewer than requested. When this happens, there could be more results as long as `next_page_token` is returned.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Optional. If present, then retrieve the next batch of results from the preceding call\nto this method. `page_token` must be the value of `next_page_token` from\nthe previous response. The values of all other method parameters, must be\nidentical to those in the previous call.",
+	//       "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of all other method parameters, must be identical to those in the previous call.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "query": {
-	//       "description": "Optional. The query statement. See [how to construct a\nquery](http://cloud.google.com/asset-inventory/docs/searching-resources#how_to_construct_a_query)\nfor more information. If not specified or empty, it will search all the\nresources within the specified `scope`. Note that the query string is\ncompared against each Cloud IAM policy binding, including its members,\nroles, and Cloud IAM conditions. The returned Cloud IAM policies will only\ncontain the bindings that match your query. To learn more about the IAM\npolicy structure, see [IAM policy\ndoc](https://cloud.google.com/iam/docs/policies#structure).\n\nExamples:\n\n* `name : \"Important\"` to find Cloud resources whose name contains\n  \"Important\" as a word.\n* `displayName : \"Impor*\"` to find Cloud resources whose display name\n  contains \"Impor\" as a prefix.\n* `description : \"*por*\"` to find Cloud resources whose description\n  contains \"por\" as a substring.\n* `location : \"us-west*\"` to find Cloud resources whose location is\n  prefixed with \"us-west\".\n* `labels : \"prod\"` to find Cloud resources whose labels contain \"prod\" as\n  a key or value.\n* `labels.env : \"prod\"` to find Cloud resources which have a label \"env\"\n  and its value is \"prod\".\n* `labels.env : *` to find Cloud resources which have a label \"env\".\n* `\"Important\"` to find Cloud resources which contain \"Important\" as a word\n  in any of the searchable fields.\n* `\"Impor*\"` to find Cloud resources which contain \"Impor\" as a prefix\n  in any of the searchable fields.\n* `\"*por*\"` to find Cloud resources which contain \"por\" as a substring in\n  any of the searchable fields.\n* `(\"Important\" AND location : (\"us-west1\" OR \"global\"))` to find Cloud\n  resources which contain \"Important\" as a word in any of the searchable\n  fields and are also located in the \"us-west1\" region or the \"global\"\n  location.",
+	//       "description": "Optional. The query statement. See [how to construct a query](http://cloud.google.com/asset-inventory/docs/searching-resources#how_to_construct_a_query) for more information. If not specified or empty, it will search all the resources within the specified `scope`. Note that the query string is compared against each Cloud IAM policy binding, including its members, roles, and Cloud IAM conditions. The returned Cloud IAM policies will only contain the bindings that match your query. To learn more about the IAM policy structure, see [IAM policy doc](https://cloud.google.com/iam/docs/policies#structure). Examples: * `name:Important` to find Cloud resources whose name contains \"Important\" as a word. * `displayName:Impor*` to find Cloud resources whose display name contains \"Impor\" as a prefix. * `description:*por*` to find Cloud resources whose description contains \"por\" as a substring. * `location:us-west*` to find Cloud resources whose location is prefixed with \"us-west\". * `labels:prod` to find Cloud resources whose labels contain \"prod\" as a key or value. * `labels.env:prod` to find Cloud resources that have a label \"env\" and its value is \"prod\". * `labels.env:*` to find Cloud resources that have a label \"env\". * `Important` to find Cloud resources that contain \"Important\" as a word in any of the searchable fields. * `Impor*` to find Cloud resources that contain \"Impor\" as a prefix in any of the searchable fields. * `*por*` to find Cloud resources that contain \"por\" as a substring in any of the searchable fields. * `Important location:(us-west1 OR global)` to find Cloud resources that contain \"Important\" as a word in any of the searchable fields and are also located in the \"us-west1\" region or the \"global\" location.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "scope": {
-	//       "description": "Required. A scope can be a project, a folder, or an organization. The search is\nlimited to the resources within the `scope`. The caller must be granted the\n[`cloudasset.assets.searchAllResources`](http://cloud.google.com/asset-inventory/docs/access-control#required_permissions)\npermission on the desired scope.\n\nThe allowed values are:\n\n* projects/{PROJECT_ID} (e.g., \"projects/foo-bar\")\n* projects/{PROJECT_NUMBER} (e.g., \"projects/12345678\")\n* folders/{FOLDER_NUMBER} (e.g., \"folders/1234567\")\n* organizations/{ORGANIZATION_NUMBER} (e.g., \"organizations/123456\")",
+	//       "description": "Required. A scope can be a project, a folder, or an organization. The search is limited to the resources within the `scope`. The caller must be granted the [`cloudasset.assets.searchAllResources`](http://cloud.google.com/asset-inventory/docs/access-control#required_permissions) permission on the desired scope. The allowed values are: * projects/{PROJECT_ID} (e.g., \"projects/foo-bar\") * projects/{PROJECT_NUMBER} (e.g., \"projects/12345678\") * folders/{FOLDER_NUMBER} (e.g., \"folders/1234567\") * organizations/{ORGANIZATION_NUMBER} (e.g., \"organizations/123456\")",
 	//       "location": "path",
 	//       "pattern": "^[^/]+/[^/]+$",
 	//       "required": true,
diff --git a/cloudasset/v1beta1/cloudasset-api.json b/cloudasset/v1beta1/cloudasset-api.json
index b06d6f5..556ad4d 100644
--- a/cloudasset/v1beta1/cloudasset-api.json
+++ b/cloudasset/v1beta1/cloudasset-api.json
@@ -108,7 +108,7 @@
     "folders": {
       "methods": {
         "exportAssets": {
-          "description": "Exports assets with time and resource types to a given Cloud Storage\nlocation. The output format is newline-delimited JSON.\nThis API implements the google.longrunning.Operation API allowing you\nto keep track of the export. We recommend intervals of at least 2 seconds\nwith exponential retry to poll the export operation result. For\nregular-size resource parent, the export operation usually finishes within\n5 minutes.",
+          "description": "Exports assets with time and resource types to a given Cloud Storage location. The output format is newline-delimited JSON. This API implements the google.longrunning.Operation API allowing you to keep track of the export. We recommend intervals of at least 2 seconds with exponential retry to poll the export operation result. For regular-size resource parent, the export operation usually finishes within 5 minutes.",
           "flatPath": "v1beta1/folders/{foldersId}:exportAssets",
           "httpMethod": "POST",
           "id": "cloudasset.folders.exportAssets",
@@ -117,7 +117,7 @@
           ],
           "parameters": {
             "parent": {
-              "description": "Required. The relative name of the root asset. This can only be an\norganization number (such as \"organizations/123\"), a project ID (such as\n\"projects/my-project-id\"), a project number (such as \"projects/12345\"), or\na folder number (such as \"folders/123\").",
+              "description": "Required. The relative name of the root asset. This can only be an organization number (such as \"organizations/123\"), a project ID (such as \"projects/my-project-id\"), a project number (such as \"projects/12345\"), or a folder number (such as \"folders/123\").",
               "location": "path",
               "pattern": "^folders/[^/]+$",
               "required": true,
@@ -140,7 +140,7 @@
         "operations": {
           "methods": {
             "get": {
-              "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+              "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
               "flatPath": "v1beta1/folders/{foldersId}/operations/{operationsId}/{operationsId1}",
               "httpMethod": "GET",
               "id": "cloudasset.folders.operations.get",
@@ -171,7 +171,7 @@
     "organizations": {
       "methods": {
         "batchGetAssetsHistory": {
-          "description": "Batch gets the update history of assets that overlap a time window.\nFor IAM_POLICY content, this API outputs history when the asset and its\nattached IAM POLICY both exist. This can create gaps in the output history.\nOtherwise, this API outputs history with asset in both non-delete or\ndeleted status.\nIf a specified asset does not exist, this API returns an INVALID_ARGUMENT\nerror.",
+          "description": "Batch gets the update history of assets that overlap a time window. For IAM_POLICY content, this API outputs history when the asset and its attached IAM POLICY both exist. This can create gaps in the output history. Otherwise, this API outputs history with asset in both non-delete or deleted status. If a specified asset does not exist, this API returns an INVALID_ARGUMENT error.",
           "flatPath": "v1beta1/organizations/{organizationsId}:batchGetAssetsHistory",
           "httpMethod": "GET",
           "id": "cloudasset.organizations.batchGetAssetsHistory",
@@ -180,7 +180,7 @@
           ],
           "parameters": {
             "assetNames": {
-              "description": "A list of the full names of the assets. For example:\n`//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.\nSee [Resource\nNames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nfor more info.\n\nThe request becomes a no-op if the asset name list is empty, and the max\nsize of the asset name list is 100 in one request.",
+              "description": "A list of the full names of the assets. For example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. See [Resource Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more info. The request becomes a no-op if the asset name list is empty, and the max size of the asset name list is 100 in one request.",
               "location": "query",
               "repeated": true,
               "type": "string"
@@ -192,18 +192,23 @@
                 "RESOURCE",
                 "IAM_POLICY"
               ],
+              "enumDescriptions": [
+                "Unspecified content type.",
+                "Resource metadata.",
+                "The actual IAM policy set on a resource."
+              ],
               "location": "query",
               "type": "string"
             },
             "parent": {
-              "description": "Required. The relative name of the root asset. It can only be an\norganization number (such as \"organizations/123\"), a project ID (such as\n\"projects/my-project-id\")\", or a project number (such as \"projects/12345\").",
+              "description": "Required. The relative name of the root asset. It can only be an organization number (such as \"organizations/123\"), a project ID (such as \"projects/my-project-id\")\", or a project number (such as \"projects/12345\").",
               "location": "path",
               "pattern": "^organizations/[^/]+$",
               "required": true,
               "type": "string"
             },
             "readTimeWindow.endTime": {
-              "description": "End time of the time window (inclusive). If not specified, the current\ntimestamp is used instead.",
+              "description": "End time of the time window (inclusive). If not specified, the current timestamp is used instead.",
               "format": "google-datetime",
               "location": "query",
               "type": "string"
@@ -224,7 +229,7 @@
           ]
         },
         "exportAssets": {
-          "description": "Exports assets with time and resource types to a given Cloud Storage\nlocation. The output format is newline-delimited JSON.\nThis API implements the google.longrunning.Operation API allowing you\nto keep track of the export. We recommend intervals of at least 2 seconds\nwith exponential retry to poll the export operation result. For\nregular-size resource parent, the export operation usually finishes within\n5 minutes.",
+          "description": "Exports assets with time and resource types to a given Cloud Storage location. The output format is newline-delimited JSON. This API implements the google.longrunning.Operation API allowing you to keep track of the export. We recommend intervals of at least 2 seconds with exponential retry to poll the export operation result. For regular-size resource parent, the export operation usually finishes within 5 minutes.",
           "flatPath": "v1beta1/organizations/{organizationsId}:exportAssets",
           "httpMethod": "POST",
           "id": "cloudasset.organizations.exportAssets",
@@ -233,7 +238,7 @@
           ],
           "parameters": {
             "parent": {
-              "description": "Required. The relative name of the root asset. This can only be an\norganization number (such as \"organizations/123\"), a project ID (such as\n\"projects/my-project-id\"), a project number (such as \"projects/12345\"), or\na folder number (such as \"folders/123\").",
+              "description": "Required. The relative name of the root asset. This can only be an organization number (such as \"organizations/123\"), a project ID (such as \"projects/my-project-id\"), a project number (such as \"projects/12345\"), or a folder number (such as \"folders/123\").",
               "location": "path",
               "pattern": "^organizations/[^/]+$",
               "required": true,
@@ -256,7 +261,7 @@
         "operations": {
           "methods": {
             "get": {
-              "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+              "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
               "flatPath": "v1beta1/organizations/{organizationsId}/operations/{operationsId}/{operationsId1}",
               "httpMethod": "GET",
               "id": "cloudasset.organizations.operations.get",
@@ -287,7 +292,7 @@
     "projects": {
       "methods": {
         "batchGetAssetsHistory": {
-          "description": "Batch gets the update history of assets that overlap a time window.\nFor IAM_POLICY content, this API outputs history when the asset and its\nattached IAM POLICY both exist. This can create gaps in the output history.\nOtherwise, this API outputs history with asset in both non-delete or\ndeleted status.\nIf a specified asset does not exist, this API returns an INVALID_ARGUMENT\nerror.",
+          "description": "Batch gets the update history of assets that overlap a time window. For IAM_POLICY content, this API outputs history when the asset and its attached IAM POLICY both exist. This can create gaps in the output history. Otherwise, this API outputs history with asset in both non-delete or deleted status. If a specified asset does not exist, this API returns an INVALID_ARGUMENT error.",
           "flatPath": "v1beta1/projects/{projectsId}:batchGetAssetsHistory",
           "httpMethod": "GET",
           "id": "cloudasset.projects.batchGetAssetsHistory",
@@ -296,7 +301,7 @@
           ],
           "parameters": {
             "assetNames": {
-              "description": "A list of the full names of the assets. For example:\n`//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.\nSee [Resource\nNames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nfor more info.\n\nThe request becomes a no-op if the asset name list is empty, and the max\nsize of the asset name list is 100 in one request.",
+              "description": "A list of the full names of the assets. For example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. See [Resource Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more info. The request becomes a no-op if the asset name list is empty, and the max size of the asset name list is 100 in one request.",
               "location": "query",
               "repeated": true,
               "type": "string"
@@ -308,18 +313,23 @@
                 "RESOURCE",
                 "IAM_POLICY"
               ],
+              "enumDescriptions": [
+                "Unspecified content type.",
+                "Resource metadata.",
+                "The actual IAM policy set on a resource."
+              ],
               "location": "query",
               "type": "string"
             },
             "parent": {
-              "description": "Required. The relative name of the root asset. It can only be an\norganization number (such as \"organizations/123\"), a project ID (such as\n\"projects/my-project-id\")\", or a project number (such as \"projects/12345\").",
+              "description": "Required. The relative name of the root asset. It can only be an organization number (such as \"organizations/123\"), a project ID (such as \"projects/my-project-id\")\", or a project number (such as \"projects/12345\").",
               "location": "path",
               "pattern": "^projects/[^/]+$",
               "required": true,
               "type": "string"
             },
             "readTimeWindow.endTime": {
-              "description": "End time of the time window (inclusive). If not specified, the current\ntimestamp is used instead.",
+              "description": "End time of the time window (inclusive). If not specified, the current timestamp is used instead.",
               "format": "google-datetime",
               "location": "query",
               "type": "string"
@@ -340,7 +350,7 @@
           ]
         },
         "exportAssets": {
-          "description": "Exports assets with time and resource types to a given Cloud Storage\nlocation. The output format is newline-delimited JSON.\nThis API implements the google.longrunning.Operation API allowing you\nto keep track of the export. We recommend intervals of at least 2 seconds\nwith exponential retry to poll the export operation result. For\nregular-size resource parent, the export operation usually finishes within\n5 minutes.",
+          "description": "Exports assets with time and resource types to a given Cloud Storage location. The output format is newline-delimited JSON. This API implements the google.longrunning.Operation API allowing you to keep track of the export. We recommend intervals of at least 2 seconds with exponential retry to poll the export operation result. For regular-size resource parent, the export operation usually finishes within 5 minutes.",
           "flatPath": "v1beta1/projects/{projectsId}:exportAssets",
           "httpMethod": "POST",
           "id": "cloudasset.projects.exportAssets",
@@ -349,7 +359,7 @@
           ],
           "parameters": {
             "parent": {
-              "description": "Required. The relative name of the root asset. This can only be an\norganization number (such as \"organizations/123\"), a project ID (such as\n\"projects/my-project-id\"), a project number (such as \"projects/12345\"), or\na folder number (such as \"folders/123\").",
+              "description": "Required. The relative name of the root asset. This can only be an organization number (such as \"organizations/123\"), a project ID (such as \"projects/my-project-id\"), a project number (such as \"projects/12345\"), or a folder number (such as \"folders/123\").",
               "location": "path",
               "pattern": "^projects/[^/]+$",
               "required": true,
@@ -372,7 +382,7 @@
         "operations": {
           "methods": {
             "get": {
-              "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+              "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
               "flatPath": "v1beta1/projects/{projectsId}/operations/{operationsId}/{operationsId1}",
               "httpMethod": "GET",
               "id": "cloudasset.projects.operations.get",
@@ -401,35 +411,35 @@
       }
     }
   },
-  "revision": "20200731",
+  "revision": "20200810",
   "rootUrl": "https://cloudasset.googleapis.com/",
   "schemas": {
     "Asset": {
-      "description": "An asset in Google Cloud. An asset can be any resource in the Google Cloud\n[resource\nhierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),\na resource outside the Google Cloud resource hierarchy (such as Google\nKubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy).\nSee [Supported asset\ntypes](https://cloud.google.com/asset-inventory/docs/supported-asset-types)\nfor more information.",
+      "description": "An asset in Google Cloud. An asset can be any resource in the Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), a resource outside the Google Cloud resource hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy). See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.",
       "id": "Asset",
       "properties": {
         "accessLevel": {
           "$ref": "GoogleIdentityAccesscontextmanagerV1AccessLevel",
-          "description": "Please also refer to the [access level user\nguide](https://cloud.google.com/access-context-manager/docs/overview#access-levels)."
+          "description": "Please also refer to the [access level user guide](https://cloud.google.com/access-context-manager/docs/overview#access-levels)."
         },
         "accessPolicy": {
           "$ref": "GoogleIdentityAccesscontextmanagerV1AccessPolicy",
-          "description": "Please also refer to the [access policy user\nguide](https://cloud.google.com/access-context-manager/docs/overview#access-policies)."
+          "description": "Please also refer to the [access policy user guide](https://cloud.google.com/access-context-manager/docs/overview#access-policies)."
         },
         "assetType": {
-          "description": "The type of the asset. Example: `compute.googleapis.com/Disk`\n\nSee [Supported asset\ntypes](https://cloud.google.com/asset-inventory/docs/supported-asset-types)\nfor more information.",
+          "description": "The type of the asset. Example: `compute.googleapis.com/Disk` See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.",
           "type": "string"
         },
         "iamPolicy": {
           "$ref": "Policy",
-          "description": "A representation of the Cloud IAM policy set on a Google Cloud resource.\nThere can be a maximum of one Cloud IAM policy set on any given resource.\nIn addition, Cloud IAM policies inherit their granted access scope from any\npolicies set on parent resources in the resource hierarchy. Therefore, the\neffectively policy is the union of both the policy set on this resource\nand each policy set on all of the resource's ancestry resource levels in\nthe hierarchy. See\n[this topic](https://cloud.google.com/iam/docs/policies#inheritance) for\nmore information."
+          "description": "A representation of the Cloud IAM policy set on a Google Cloud resource. There can be a maximum of one Cloud IAM policy set on any given resource. In addition, Cloud IAM policies inherit their granted access scope from any policies set on parent resources in the resource hierarchy. Therefore, the effectively policy is the union of both the policy set on this resource and each policy set on all of the resource's ancestry resource levels in the hierarchy. See [this topic](https://cloud.google.com/iam/docs/policies#inheritance) for more information."
         },
         "name": {
-          "description": "The full name of the asset. Example:\n`//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`\n\nSee [Resource\nnames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nfor more information.",
+          "description": "The full name of the asset. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1` See [Resource names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information.",
           "type": "string"
         },
         "orgPolicy": {
-          "description": "A representation of an [organization\npolicy](https://cloud.google.com/resource-manager/docs/organization-policy/overview#organization_policy).\nThere can be more than one organization policy with different constraints\nset on a given resource.",
+          "description": "A representation of an [organization policy](https://cloud.google.com/resource-manager/docs/organization-policy/overview#organization_policy). There can be more than one organization policy with different constraints set on a given resource.",
           "items": {
             "$ref": "GoogleCloudOrgpolicyV1Policy"
           },
@@ -441,13 +451,13 @@
         },
         "servicePerimeter": {
           "$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter",
-          "description": "Please also refer to the [service perimeter user\nguide](https://cloud.google.com/vpc-service-controls/docs/overview)."
+          "description": "Please also refer to the [service perimeter user guide](https://cloud.google.com/vpc-service-controls/docs/overview)."
         }
       },
       "type": "object"
     },
     "AuditConfig": {
-      "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n    {\n      \"audit_configs\": [\n        {\n          \"service\": \"allServices\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n              \"exempted_members\": [\n                \"user:jose@example.com\"\n              ]\n            },\n            {\n              \"log_type\": \"DATA_WRITE\"\n            },\n            {\n              \"log_type\": \"ADMIN_READ\"\n            }\n          ]\n        },\n        {\n          \"service\": \"sampleservice.googleapis.com\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\"\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n              \"exempted_members\": [\n                \"user:aliya@example.com\"\n              ]\n            }\n          ]\n        }\n      ]\n    }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.",
+      "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.",
       "id": "AuditConfig",
       "properties": {
         "auditLogConfigs": {
@@ -458,18 +468,18 @@
           "type": "array"
         },
         "service": {
-          "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.",
+          "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "AuditLogConfig": {
-      "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n    {\n      \"audit_log_configs\": [\n        {\n          \"log_type\": \"DATA_READ\",\n          \"exempted_members\": [\n            \"user:jose@example.com\"\n          ]\n        },\n        {\n          \"log_type\": \"DATA_WRITE\"\n        }\n      ]\n    }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.",
+      "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.",
       "id": "AuditLogConfig",
       "properties": {
         "exemptedMembers": {
-          "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.",
+          "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.",
           "items": {
             "type": "string"
           },
@@ -514,17 +524,17 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
           "type": "string"
         }
       },
@@ -535,14 +545,14 @@
       "id": "ExportAssetsRequest",
       "properties": {
         "assetTypes": {
-          "description": "A list of asset types of which to take a snapshot for. For example:\n\"google.compute.Disk\". If specified, only matching assets will be returned.\nSee [Introduction to Cloud Asset\nInventory](https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/overview)\nfor all supported asset types.",
+          "description": "A list of asset types of which to take a snapshot for. For example: \"google.compute.Disk\". If specified, only matching assets will be returned. See [Introduction to Cloud Asset Inventory](https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/overview) for all supported asset types.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "contentType": {
-          "description": "Asset content type. If not specified, no content but the asset name will be\nreturned.",
+          "description": "Asset content type. If not specified, no content but the asset name will be returned.",
           "enum": [
             "CONTENT_TYPE_UNSPECIFIED",
             "RESOURCE",
@@ -557,10 +567,10 @@
         },
         "outputConfig": {
           "$ref": "OutputConfig",
-          "description": "Required. Output configuration indicating where the results will be output\nto. All results will be in newline delimited JSON format."
+          "description": "Required. Output configuration indicating where the results will be output to. All results will be in newline delimited JSON format."
         },
         "readTime": {
-          "description": "Timestamp to take an asset snapshot. This can only be set to a timestamp\nbetween 2018-10-02 UTC (inclusive) and the current time. If not specified,\nthe current time will be used. Due to delays in resource data collection\nand indexing, there is a volatile window during which running the same\nquery may get different results.",
+          "description": "Timestamp to take an asset snapshot. This can only be set to a timestamp between 2018-10-02 UTC (inclusive) and the current time. If not specified, the current time will be used. Due to delays in resource data collection and indexing, there is a volatile window during which running the same query may get different results.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -568,23 +578,23 @@
       "type": "object"
     },
     "Expr": {
-      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
+      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
       "id": "Expr",
       "properties": {
         "description": {
-          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
+          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
           "type": "string"
         },
         "expression": {
-          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
+          "description": "Textual representation of an expression in Common Expression Language syntax.",
           "type": "string"
         },
         "location": {
-          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
+          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
           "type": "string"
         },
         "title": {
-          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
+          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
           "type": "string"
         }
       },
@@ -595,29 +605,29 @@
       "id": "GcsDestination",
       "properties": {
         "uri": {
-          "description": "The uri of the Cloud Storage object. It's the same uri that is used by\ngsutil. For example: \"gs://bucket_name/object_name\". See [Viewing and\nEditing Object\nMetadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)\nfor more information.",
+          "description": "The uri of the Cloud Storage object. It's the same uri that is used by gsutil. For example: \"gs://bucket_name/object_name\". See [Viewing and Editing Object Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata) for more information.",
           "type": "string"
         },
         "uriPrefix": {
-          "description": "The uri prefix of all generated Cloud Storage objects. For example:\n\"gs://bucket_name/object_name_prefix\". Each object uri is in format:\n\"gs://bucket_name/object_name_prefix/\u003casset type\u003e/\u003cshard number\u003e and only\ncontains assets for that type. \u003cshard number\u003e starts from 0. For example:\n\"gs://bucket_name/object_name_prefix/google.compute.disk/0\" is the first\nshard of output objects containing all google.compute.disk assets.\nAn INVALID_ARGUMENT error will be returned if file with the same name\n\"gs://bucket_name/object_name_prefix\" already exists.",
+          "description": "The uri prefix of all generated Cloud Storage objects. For example: \"gs://bucket_name/object_name_prefix\". Each object uri is in format: \"gs://bucket_name/object_name_prefix// and only contains assets for that type. starts from 0. For example: \"gs://bucket_name/object_name_prefix/google.compute.disk/0\" is the first shard of output objects containing all google.compute.disk assets. An INVALID_ARGUMENT error will be returned if file with the same name \"gs://bucket_name/object_name_prefix\" already exists.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleCloudOrgpolicyV1BooleanPolicy": {
-      "description": "Used in `policy_type` to specify how `boolean_policy` will behave at this\nresource.",
+      "description": "Used in `policy_type` to specify how `boolean_policy` will behave at this resource.",
       "id": "GoogleCloudOrgpolicyV1BooleanPolicy",
       "properties": {
         "enforced": {
-          "description": "If `true`, then the `Policy` is enforced. If `false`, then any\nconfiguration is acceptable.\n\nSuppose you have a `Constraint`\n`constraints/compute.disableSerialPortAccess` with `constraint_default`\nset to `ALLOW`. A `Policy` for that `Constraint` exhibits the following\nbehavior:\n  - If the `Policy` at this resource has enforced set to `false`, serial\n    port connection attempts will be allowed.\n  - If the `Policy` at this resource has enforced set to `true`, serial\n    port connection attempts will be refused.\n  - If the `Policy` at this resource is `RestoreDefault`, serial port\n    connection attempts will be allowed.\n  - If no `Policy` is set at this resource or anywhere higher in the\n    resource hierarchy, serial port connection attempts will be allowed.\n  - If no `Policy` is set at this resource, but one exists higher in the\n    resource hierarchy, the behavior is as if the`Policy` were set at\n    this resource.\n\nThe following examples demonstrate the different possible layerings:\n\nExample 1 (nearest `Constraint` wins):\n  `organizations/foo` has a `Policy` with:\n    {enforced: false}\n  `projects/bar` has no `Policy` set.\nThe constraint at `projects/bar` and `organizations/foo` will not be\nenforced.\n\nExample 2 (enforcement gets replaced):\n  `organizations/foo` has a `Policy` with:\n    {enforced: false}\n  `projects/bar` has a `Policy` with:\n    {enforced: true}\nThe constraint at `organizations/foo` is not enforced.\nThe constraint at `projects/bar` is enforced.\n\nExample 3 (RestoreDefault):\n  `organizations/foo` has a `Policy` with:\n    {enforced: true}\n  `projects/bar` has a `Policy` with:\n    {RestoreDefault: {}}\nThe constraint at `organizations/foo` is enforced.\nThe constraint at `projects/bar` is not enforced, because\n`constraint_default` for the `Constraint` is `ALLOW`.",
+          "description": "If `true`, then the `Policy` is enforced. If `false`, then any configuration is acceptable. Suppose you have a `Constraint` `constraints/compute.disableSerialPortAccess` with `constraint_default` set to `ALLOW`. A `Policy` for that `Constraint` exhibits the following behavior: - If the `Policy` at this resource has enforced set to `false`, serial port connection attempts will be allowed. - If the `Policy` at this resource has enforced set to `true`, serial port connection attempts will be refused. - If the `Policy` at this resource is `RestoreDefault`, serial port connection attempts will be allowed. - If no `Policy` is set at this resource or anywhere higher in the resource hierarchy, serial port connection attempts will be allowed. - If no `Policy` is set at this resource, but one exists higher in the resource hierarchy, the behavior is as if the`Policy` were set at this resource. The following examples demonstrate the different possible layerings: Example 1 (nearest `Constraint` wins): `organizations/foo` has a `Policy` with: {enforced: false} `projects/bar` has no `Policy` set. The constraint at `projects/bar` and `organizations/foo` will not be enforced. Example 2 (enforcement gets replaced): `organizations/foo` has a `Policy` with: {enforced: false} `projects/bar` has a `Policy` with: {enforced: true} The constraint at `organizations/foo` is not enforced. The constraint at `projects/bar` is enforced. Example 3 (RestoreDefault): `organizations/foo` has a `Policy` with: {enforced: true} `projects/bar` has a `Policy` with: {RestoreDefault: {}} The constraint at `organizations/foo` is enforced. The constraint at `projects/bar` is not enforced, because `constraint_default` for the `Constraint` is `ALLOW`.",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "GoogleCloudOrgpolicyV1ListPolicy": {
-      "description": "Used in `policy_type` to specify how `list_policy` behaves at this\nresource.\n\n`ListPolicy` can define specific values and subtrees of Cloud Resource\nManager resource hierarchy (`Organizations`, `Folders`, `Projects`) that\nare allowed or denied by setting the `allowed_values` and `denied_values`\nfields. This is achieved by using the `under:` and optional `is:` prefixes.\nThe `under:` prefix is used to denote resource subtree values.\nThe `is:` prefix is used to denote specific values, and is required only\nif the value contains a \":\". Values prefixed with \"is:\" are treated the\nsame as values with no prefix.\nAncestry subtrees must be in one of the following formats:\n    - \"projects/\u003cproject-id\u003e\", e.g. \"projects/tokyo-rain-123\"\n    - \"folders/\u003cfolder-id\u003e\", e.g. \"folders/1234\"\n    - \"organizations/\u003corganization-id\u003e\", e.g. \"organizations/1234\"\nThe `supports_under` field of the associated `Constraint`  defines whether\nancestry prefixes can be used. You can set `allowed_values` and\n`denied_values` in the same `Policy` if `all_values` is\n`ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all\nvalues. If `all_values` is set to either `ALLOW` or `DENY`,\n`allowed_values` and `denied_values` must be unset.",
+      "description": "Used in `policy_type` to specify how `list_policy` behaves at this resource. `ListPolicy` can define specific values and subtrees of Cloud Resource Manager resource hierarchy (`Organizations`, `Folders`, `Projects`) that are allowed or denied by setting the `allowed_values` and `denied_values` fields. This is achieved by using the `under:` and optional `is:` prefixes. The `under:` prefix is used to denote resource subtree values. The `is:` prefix is used to denote specific values, and is required only if the value contains a \":\". Values prefixed with \"is:\" are treated the same as values with no prefix. Ancestry subtrees must be in one of the following formats: - \"projects/\", e.g. \"projects/tokyo-rain-123\" - \"folders/\", e.g. \"folders/1234\" - \"organizations/\", e.g. \"organizations/1234\" The `supports_under` field of the associated `Constraint` defines whether ancestry prefixes can be used. You can set `allowed_values` and `denied_values` in the same `Policy` if `all_values` is `ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all values. If `all_values` is set to either `ALLOW` or `DENY`, `allowed_values` and `denied_values` must be unset.",
       "id": "GoogleCloudOrgpolicyV1ListPolicy",
       "properties": {
         "allValues": {
@@ -635,32 +645,32 @@
           "type": "string"
         },
         "allowedValues": {
-          "description": "List of values allowed  at this resource. Can only be set if `all_values`\nis set to `ALL_VALUES_UNSPECIFIED`.",
+          "description": "List of values allowed at this resource. Can only be set if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "deniedValues": {
-          "description": "List of values denied at this resource. Can only be set if `all_values`\nis set to `ALL_VALUES_UNSPECIFIED`.",
+          "description": "List of values denied at this resource. Can only be set if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "inheritFromParent": {
-          "description": "Determines the inheritance behavior for this `Policy`.\n\nBy default, a `ListPolicy` set at a resource supersedes any `Policy` set\nanywhere up the resource hierarchy. However, if `inherit_from_parent` is\nset to `true`, then the values from the effective `Policy` of the parent\nresource are inherited, meaning the values set in this `Policy` are\nadded to the values inherited up the hierarchy.\n\nSetting `Policy` hierarchies that inherit both allowed values and denied\nvalues isn't recommended in most circumstances to keep the configuration\nsimple and understandable. However, it is possible to set a `Policy` with\n`allowed_values` set that inherits a `Policy` with `denied_values` set.\nIn this case, the values that are allowed must be in `allowed_values` and\nnot present in `denied_values`.\n\nFor example, suppose you have a `Constraint`\n`constraints/serviceuser.services`, which has a `constraint_type` of\n`list_constraint`, and with `constraint_default` set to `ALLOW`.\nSuppose that at the Organization level, a `Policy` is applied that\nrestricts the allowed API activations to {`E1`, `E2`}. Then, if a\n`Policy` is applied to a project below the Organization that has\n`inherit_from_parent` set to `false` and field all_values set to DENY,\nthen an attempt to activate any API will be denied.\n\nThe following examples demonstrate different possible layerings for\n`projects/bar` parented by `organizations/foo`:\n\nExample 1 (no inherited values):\n  `organizations/foo` has a `Policy` with values:\n    {allowed_values: \"E1\" allowed_values:\"E2\"}\n  `projects/bar` has `inherit_from_parent` `false` and values:\n    {allowed_values: \"E3\" allowed_values: \"E4\"}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are `E3`, and `E4`.\n\nExample 2 (inherited values):\n  `organizations/foo` has a `Policy` with values:\n    {allowed_values: \"E1\" allowed_values:\"E2\"}\n  `projects/bar` has a `Policy` with values:\n    {value: \"E3\" value: \"E4\" inherit_from_parent: true}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`.\n\nExample 3 (inheriting both allowed and denied values):\n  `organizations/foo` has a `Policy` with values:\n    {allowed_values: \"E1\" allowed_values: \"E2\"}\n  `projects/bar` has a `Policy` with:\n    {denied_values: \"E1\"}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe value accepted at `projects/bar` is `E2`.\n\nExample 4 (RestoreDefault):\n  `organizations/foo` has a `Policy` with values:\n    {allowed_values: \"E1\" allowed_values:\"E2\"}\n  `projects/bar` has a `Policy` with values:\n    {RestoreDefault: {}}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are either all or none depending on\nthe value of `constraint_default` (if `ALLOW`, all; if\n`DENY`, none).\n\nExample 5 (no policy inherits parent policy):\n  `organizations/foo` has no `Policy` set.\n  `projects/bar` has no `Policy` set.\nThe accepted values at both levels are either all or none depending on\nthe value of `constraint_default` (if `ALLOW`, all; if\n`DENY`, none).\n\nExample 6 (ListConstraint allowing all):\n  `organizations/foo` has a `Policy` with values:\n    {allowed_values: \"E1\" allowed_values: \"E2\"}\n  `projects/bar` has a `Policy` with:\n    {all: ALLOW}\nThe accepted values at `organizations/foo` are `E1`, E2`.\nAny value is accepted at `projects/bar`.\n\nExample 7 (ListConstraint allowing none):\n  `organizations/foo` has a `Policy` with values:\n    {allowed_values: \"E1\" allowed_values: \"E2\"}\n  `projects/bar` has a `Policy` with:\n    {all: DENY}\nThe accepted values at `organizations/foo` are `E1`, E2`.\nNo value is accepted at `projects/bar`.\n\nExample 10 (allowed and denied subtrees of Resource Manager hierarchy):\nGiven the following resource hierarchy\n  O1-\u003e{F1, F2}; F1-\u003e{P1}; F2-\u003e{P2, P3},\n  `organizations/foo` has a `Policy` with values:\n    {allowed_values: \"under:organizations/O1\"}\n  `projects/bar` has a `Policy` with:\n    {allowed_values: \"under:projects/P3\"}\n    {denied_values: \"under:folders/F2\"}\nThe accepted values at `organizations/foo` are `organizations/O1`,\n  `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`,\n  `projects/P3`.\nThe accepted values at `projects/bar` are `organizations/O1`,\n  `folders/F1`, `projects/P1`.",
+          "description": "Determines the inheritance behavior for this `Policy`. By default, a `ListPolicy` set at a resource supersedes any `Policy` set anywhere up the resource hierarchy. However, if `inherit_from_parent` is set to `true`, then the values from the effective `Policy` of the parent resource are inherited, meaning the values set in this `Policy` are added to the values inherited up the hierarchy. Setting `Policy` hierarchies that inherit both allowed values and denied values isn't recommended in most circumstances to keep the configuration simple and understandable. However, it is possible to set a `Policy` with `allowed_values` set that inherits a `Policy` with `denied_values` set. In this case, the values that are allowed must be in `allowed_values` and not present in `denied_values`. For example, suppose you have a `Constraint` `constraints/serviceuser.services`, which has a `constraint_type` of `list_constraint`, and with `constraint_default` set to `ALLOW`. Suppose that at the Organization level, a `Policy` is applied that restricts the allowed API activations to {`E1`, `E2`}. Then, if a `Policy` is applied to a project below the Organization that has `inherit_from_parent` set to `false` and field all_values set to DENY, then an attempt to activate any API will be denied. The following examples demonstrate different possible layerings for `projects/bar` parented by `organizations/foo`: Example 1 (no inherited values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has `inherit_from_parent` `false` and values: {allowed_values: \"E3\" allowed_values: \"E4\"} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are `E3`, and `E4`. Example 2 (inherited values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has a `Policy` with values: {value: \"E3\" value: \"E4\" inherit_from_parent: true} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`. Example 3 (inheriting both allowed and denied values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {denied_values: \"E1\"} The accepted values at `organizations/foo` are `E1`, `E2`. The value accepted at `projects/bar` is `E2`. Example 4 (RestoreDefault): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has a `Policy` with values: {RestoreDefault: {}} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are either all or none depending on the value of `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 5 (no policy inherits parent policy): `organizations/foo` has no `Policy` set. `projects/bar` has no `Policy` set. The accepted values at both levels are either all or none depending on the value of `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 6 (ListConstraint allowing all): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {all: ALLOW} The accepted values at `organizations/foo` are `E1`, E2`. Any value is accepted at `projects/bar`. Example 7 (ListConstraint allowing none): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {all: DENY} The accepted values at `organizations/foo` are `E1`, E2`. No value is accepted at `projects/bar`. Example 10 (allowed and denied subtrees of Resource Manager hierarchy): Given the following resource hierarchy O1-\u003e{F1, F2}; F1-\u003e{P1}; F2-\u003e{P2, P3}, `organizations/foo` has a `Policy` with values: {allowed_values: \"under:organizations/O1\"} `projects/bar` has a `Policy` with: {allowed_values: \"under:projects/P3\"} {denied_values: \"under:folders/F2\"} The accepted values at `organizations/foo` are `organizations/O1`, `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`, `projects/P3`. The accepted values at `projects/bar` are `organizations/O1`, `folders/F1`, `projects/P1`.",
           "type": "boolean"
         },
         "suggestedValue": {
-          "description": "Optional. The Google Cloud Console will try to default to a configuration\nthat matches the value specified in this `Policy`. If `suggested_value`\nis not set, it will inherit the value specified higher in the hierarchy,\nunless `inherit_from_parent` is `false`.",
+          "description": "Optional. The Google Cloud Console will try to default to a configuration that matches the value specified in this `Policy`. If `suggested_value` is not set, it will inherit the value specified higher in the hierarchy, unless `inherit_from_parent` is `false`.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleCloudOrgpolicyV1Policy": {
-      "description": "Defines a Cloud Organization `Policy` which is used to specify `Constraints`\nfor configurations of Cloud Platform resources.",
+      "description": "Defines a Cloud Organization `Policy` which is used to specify `Constraints` for configurations of Cloud Platform resources.",
       "id": "GoogleCloudOrgpolicyV1Policy",
       "properties": {
         "booleanPolicy": {
@@ -668,11 +678,11 @@
           "description": "For boolean `Constraints`, whether to enforce the `Constraint` or not."
         },
         "constraint": {
-          "description": "The name of the `Constraint` the `Policy` is configuring, for example,\n`constraints/serviceuser.services`.\n\nA [list of available\nconstraints](/resource-manager/docs/organization-policy/org-policy-constraints)\nis available.\n\nImmutable after creation.",
+          "description": "The name of the `Constraint` the `Policy` is configuring, for example, `constraints/serviceuser.services`. A [list of available constraints](/resource-manager/docs/organization-policy/org-policy-constraints) is available. Immutable after creation.",
           "type": "string"
         },
         "etag": {
-          "description": "An opaque tag indicating the current version of the `Policy`, used for\nconcurrency control.\n\nWhen the `Policy` is returned from either a `GetPolicy` or a\n`ListOrgPolicy` request, this `etag` indicates the version of the current\n`Policy` to use when executing a read-modify-write loop.\n\nWhen the `Policy` is returned from a `GetEffectivePolicy` request, the\n`etag` will be unset.\n\nWhen the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value\nthat was returned from a `GetOrgPolicy` request as part of a\nread-modify-write loop for concurrency control. Not setting the `etag`in a\n`SetOrgPolicy` request will result in an unconditional write of the\n`Policy`.",
+          "description": "An opaque tag indicating the current version of the `Policy`, used for concurrency control. When the `Policy` is returned from either a `GetPolicy` or a `ListOrgPolicy` request, this `etag` indicates the version of the current `Policy` to use when executing a read-modify-write loop. When the `Policy` is returned from a `GetEffectivePolicy` request, the `etag` will be unset. When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value that was returned from a `GetOrgPolicy` request as part of a read-modify-write loop for concurrency control. Not setting the `etag`in a `SetOrgPolicy` request will result in an unconditional write of the `Policy`.",
           "format": "byte",
           "type": "string"
         },
@@ -682,10 +692,10 @@
         },
         "restoreDefault": {
           "$ref": "GoogleCloudOrgpolicyV1RestoreDefault",
-          "description": "Restores the default behavior of the constraint; independent of\n`Constraint` type."
+          "description": "Restores the default behavior of the constraint; independent of `Constraint` type."
         },
         "updateTime": {
-          "description": "The time stamp the `Policy` was previously updated. This is set by the\nserver, not specified by the caller, and represents the last time a call to\n`SetOrgPolicy` was made for that `Policy`. Any value set by the client will\nbe ignored.",
+          "description": "The time stamp the `Policy` was previously updated. This is set by the server, not specified by the caller, and represents the last time a call to `SetOrgPolicy` was made for that `Policy`. Any value set by the client will be ignored.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -698,13 +708,13 @@
       "type": "object"
     },
     "GoogleCloudOrgpolicyV1RestoreDefault": {
-      "description": "Ignores policies set above this resource and restores the\n`constraint_default` enforcement behavior of the specific `Constraint` at\nthis resource.\n\nSuppose that `constraint_default` is set to `ALLOW` for the\n`Constraint` `constraints/serviceuser.services`. Suppose that organization\nfoo.com sets a `Policy` at their Organization resource node that restricts\nthe allowed service activations to deny all service activations. They\ncould then set a `Policy` with the `policy_type` `restore_default` on\nseveral experimental projects, restoring the `constraint_default`\nenforcement of the `Constraint` for only those projects, allowing those\nprojects to have all services activated.",
+      "description": "Ignores policies set above this resource and restores the `constraint_default` enforcement behavior of the specific `Constraint` at this resource. Suppose that `constraint_default` is set to `ALLOW` for the `Constraint` `constraints/serviceuser.services`. Suppose that organization foo.com sets a `Policy` at their Organization resource node that restricts the allowed service activations to deny all service activations. They could then set a `Policy` with the `policy_type` `restore_default` on several experimental projects, restoring the `constraint_default` enforcement of the `Constraint` for only those projects, allowing those projects to have all services activated.",
       "id": "GoogleCloudOrgpolicyV1RestoreDefault",
       "properties": {},
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1AccessLevel": {
-      "description": "An `AccessLevel` is a label that can be applied to requests to Google Cloud\nservices, along with a list of requirements necessary for the label to be\napplied.",
+      "description": "An `AccessLevel` is a label that can be applied to requests to Google Cloud services, along with a list of requirements necessary for the label to be applied.",
       "id": "GoogleIdentityAccesscontextmanagerV1AccessLevel",
       "properties": {
         "basic": {
@@ -720,7 +730,7 @@
           "type": "string"
         },
         "name": {
-          "description": "Required. Resource name for the Access Level. The `short_name` component\nmust begin with a letter and only include alphanumeric and '_'. Format:\n`accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length\nof the `short_name` component is 50 characters.",
+          "description": "Required. Resource name for the Access Level. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length of the `short_name` component is 50 characters.",
           "type": "string"
         },
         "title": {
@@ -731,19 +741,19 @@
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1AccessPolicy": {
-      "description": "`AccessPolicy` is a container for `AccessLevels` (which define the necessary\nattributes to use Google Cloud services) and `ServicePerimeters` (which\ndefine regions of services able to freely pass data within a perimeter). An\naccess policy is globally visible within an organization, and the\nrestrictions it specifies apply to all projects within an organization.",
+      "description": "`AccessPolicy` is a container for `AccessLevels` (which define the necessary attributes to use Google Cloud services) and `ServicePerimeters` (which define regions of services able to freely pass data within a perimeter). An access policy is globally visible within an organization, and the restrictions it specifies apply to all projects within an organization.",
       "id": "GoogleIdentityAccesscontextmanagerV1AccessPolicy",
       "properties": {
         "etag": {
-          "description": "Output only. An opaque identifier for the current version of the\n`AccessPolicy`. This will always be a strongly validated etag, meaning that\ntwo Access Polices will be identical if and only if their etags are\nidentical. Clients should not expect this to be in any specific format.",
+          "description": "Output only. An opaque identifier for the current version of the `AccessPolicy`. This will always be a strongly validated etag, meaning that two Access Polices will be identical if and only if their etags are identical. Clients should not expect this to be in any specific format.",
           "type": "string"
         },
         "name": {
-          "description": "Output only. Resource name of the `AccessPolicy`. Format:\n`accessPolicies/{policy_id}`",
+          "description": "Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/{policy_id}`",
           "type": "string"
         },
         "parent": {
-          "description": "Required. The parent of this `AccessPolicy` in the Cloud Resource\nHierarchy. Currently immutable once created. Format:\n`organizations/{organization_id}`",
+          "description": "Required. The parent of this `AccessPolicy` in the Cloud Resource Hierarchy. Currently immutable once created. Format: `organizations/{organization_id}`",
           "type": "string"
         },
         "title": {
@@ -758,7 +768,7 @@
       "id": "GoogleIdentityAccesscontextmanagerV1BasicLevel",
       "properties": {
         "combiningFunction": {
-          "description": "How the `conditions` list should be combined to determine if a request is\ngranted this `AccessLevel`. If AND is used, each `Condition` in\n`conditions` must be satisfied for the `AccessLevel` to be applied. If OR\nis used, at least one `Condition` in `conditions` must be satisfied for the\n`AccessLevel` to be applied. Default behavior is AND.",
+          "description": "How the `conditions` list should be combined to determine if a request is granted this `AccessLevel`. If AND is used, each `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. If OR is used, at least one `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. Default behavior is AND.",
           "enum": [
             "AND",
             "OR"
@@ -780,40 +790,40 @@
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1Condition": {
-      "description": "A condition necessary for an `AccessLevel` to be granted. The Condition is an\nAND over its fields. So a Condition is true if: 1) the request IP is from one\nof the listed subnetworks AND 2) the originating device complies with the\nlisted device policy AND 3) all listed access levels are granted AND 4) the\nrequest was sent at a time allowed by the DateTimeRestriction.",
+      "description": "A condition necessary for an `AccessLevel` to be granted. The Condition is an AND over its fields. So a Condition is true if: 1) the request IP is from one of the listed subnetworks AND 2) the originating device complies with the listed device policy AND 3) all listed access levels are granted AND 4) the request was sent at a time allowed by the DateTimeRestriction.",
       "id": "GoogleIdentityAccesscontextmanagerV1Condition",
       "properties": {
         "devicePolicy": {
           "$ref": "GoogleIdentityAccesscontextmanagerV1DevicePolicy",
-          "description": "Device specific restrictions, all restrictions must hold for the\nCondition to be true. If not specified, all devices are allowed."
+          "description": "Device specific restrictions, all restrictions must hold for the Condition to be true. If not specified, all devices are allowed."
         },
         "ipSubnetworks": {
-          "description": "CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for\na CIDR IP address block, the specified IP address portion must be properly\ntruncated (i.e. all the host bits must be zero) or the input is considered\nmalformed. For example, \"192.0.2.0/24\" is accepted but \"192.0.2.1/24\" is\nnot. Similarly, for IPv6, \"2001:db8::/32\" is accepted whereas\n\"2001:db8::1/32\" is not. The originating IP of a request must be in one of\nthe listed subnets in order for this Condition to be true. If empty, all IP\naddresses are allowed.",
+          "description": "CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for a CIDR IP address block, the specified IP address portion must be properly truncated (i.e. all the host bits must be zero) or the input is considered malformed. For example, \"192.0.2.0/24\" is accepted but \"192.0.2.1/24\" is not. Similarly, for IPv6, \"2001:db8::/32\" is accepted whereas \"2001:db8::1/32\" is not. The originating IP of a request must be in one of the listed subnets in order for this Condition to be true. If empty, all IP addresses are allowed.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "members": {
-          "description": "The request must be made by one of the provided user or service\naccounts. Groups are not supported.\nSyntax:\n`user:{emailid}`\n`serviceAccount:{emailid}`\nIf not specified, a request may come from any user.",
+          "description": "The request must be made by one of the provided user or service accounts. Groups are not supported. Syntax: `user:{emailid}` `serviceAccount:{emailid}` If not specified, a request may come from any user.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "negate": {
-          "description": "Whether to negate the Condition. If true, the Condition becomes a NAND over\nits non-empty fields, each field must be false for the Condition overall to\nbe satisfied. Defaults to false.",
+          "description": "Whether to negate the Condition. If true, the Condition becomes a NAND over its non-empty fields, each field must be false for the Condition overall to be satisfied. Defaults to false.",
           "type": "boolean"
         },
         "regions": {
-          "description": "The request must originate from one of the provided countries/regions.\nMust be valid ISO 3166-1 alpha-2 codes.",
+          "description": "The request must originate from one of the provided countries/regions. Must be valid ISO 3166-1 alpha-2 codes.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "requiredAccessLevels": {
-          "description": "A list of other access levels defined in the same `Policy`, referenced by\nresource name. Referencing an `AccessLevel` which does not exist is an\nerror. All access levels listed must be granted for the Condition\nto be true. Example:\n\"`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME\"`",
+          "description": "A list of other access levels defined in the same `Policy`, referenced by resource name. Referencing an `AccessLevel` which does not exist is an error. All access levels listed must be granted for the Condition to be true. Example: \"`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME\"`",
           "items": {
             "type": "string"
           },
@@ -823,7 +833,7 @@
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1CustomLevel": {
-      "description": "`CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language\nto represent the necessary conditions for the level to apply to a request.\nSee CEL spec at: https://github.com/google/cel-spec",
+      "description": "`CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request. See CEL spec at: https://github.com/google/cel-spec",
       "id": "GoogleIdentityAccesscontextmanagerV1CustomLevel",
       "properties": {
         "expr": {
@@ -834,16 +844,16 @@
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1DevicePolicy": {
-      "description": "`DevicePolicy` specifies device specific restrictions necessary to acquire a\ngiven access level. A `DevicePolicy` specifies requirements for requests from\ndevices to be granted access levels, it does not do any enforcement on the\ndevice. `DevicePolicy` acts as an AND over all specified fields, and each\nrepeated field is an OR over its elements. Any unset fields are ignored. For\nexample, if the proto is { os_type : DESKTOP_WINDOWS, os_type :\nDESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be\ntrue for requests originating from encrypted Linux desktops and encrypted\nWindows desktops.",
+      "description": "`DevicePolicy` specifies device specific restrictions necessary to acquire a given access level. A `DevicePolicy` specifies requirements for requests from devices to be granted access levels, it does not do any enforcement on the device. `DevicePolicy` acts as an AND over all specified fields, and each repeated field is an OR over its elements. Any unset fields are ignored. For example, if the proto is { os_type : DESKTOP_WINDOWS, os_type : DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be true for requests originating from encrypted Linux desktops and encrypted Windows desktops.",
       "id": "GoogleIdentityAccesscontextmanagerV1DevicePolicy",
       "properties": {
         "allowedDeviceManagementLevels": {
-          "description": "Allowed device management levels, an empty list allows all management\nlevels.",
+          "description": "Allowed device management levels, an empty list allows all management levels.",
           "enumDescriptions": [
             "The device's management level is not specified or not known.",
             "The device is not managed.",
-            "Basic management is enabled, which is generally limited to monitoring and\nwiping the corporate account.",
-            "Complete device management. This includes more thorough monitoring and the\nability to directly manage the device (such as remote wiping). This can be\nenabled through the Android Enterprise Platform."
+            "Basic management is enabled, which is generally limited to monitoring and wiping the corporate account.",
+            "Complete device management. This includes more thorough monitoring and the ability to directly manage the device (such as remote wiping). This can be enabled through the Android Enterprise Platform."
           ],
           "items": {
             "enum": [
@@ -852,6 +862,12 @@
               "BASIC",
               "COMPLETE"
             ],
+            "enumDescriptions": [
+              "The device's management level is not specified or not known.",
+              "The device is not managed.",
+              "Basic management is enabled, which is generally limited to monitoring and wiping the corporate account.",
+              "Complete device management. This includes more thorough monitoring and the ability to directly manage the device (such as remote wiping). This can be enabled through the Android Enterprise Platform."
+            ],
             "type": "string"
           },
           "type": "array"
@@ -871,6 +887,12 @@
               "UNENCRYPTED",
               "ENCRYPTED"
             ],
+            "enumDescriptions": [
+              "The encryption status of the device is not specified or not known.",
+              "The device does not support encryption.",
+              "The device supports encryption, but is currently unencrypted.",
+              "The device is encrypted."
+            ],
             "type": "string"
           },
           "type": "array"
@@ -891,7 +913,7 @@
           "type": "boolean"
         },
         "requireScreenlock": {
-          "description": "Whether or not screenlock is required for the DevicePolicy to be true.\nDefaults to `false`.",
+          "description": "Whether or not screenlock is required for the DevicePolicy to be true. Defaults to `false`.",
           "type": "boolean"
         }
       },
@@ -902,7 +924,7 @@
       "id": "GoogleIdentityAccesscontextmanagerV1OsConstraint",
       "properties": {
         "minimumVersion": {
-          "description": "The minimum allowed OS version. If not set, any version of this OS\nsatisfies the constraint. Format: `\"major.minor.patch\"`.\nExamples: `\"10.5.301\"`, `\"9.2.1\"`.",
+          "description": "The minimum allowed OS version. If not set, any version of this OS satisfies the constraint. Format: `\"major.minor.patch\"`. Examples: `\"10.5.301\"`, `\"9.2.1\"`.",
           "type": "string"
         },
         "osType": {
@@ -928,26 +950,26 @@
           "type": "string"
         },
         "requireVerifiedChromeOs": {
-          "description": "Only allows requests from devices with a verified Chrome OS.\nVerifications includes requirements that the device is enterprise-managed,\nconformant to domain policies, and the caller has permission to call\nthe API targeted by the request.",
+          "description": "Only allows requests from devices with a verified Chrome OS. Verifications includes requirements that the device is enterprise-managed, conformant to domain policies, and the caller has permission to call the API targeted by the request.",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1ServicePerimeter": {
-      "description": "`ServicePerimeter` describes a set of Google Cloud resources which can freely\nimport and export data amongst themselves, but not export outside of the\n`ServicePerimeter`. If a request with a source within this `ServicePerimeter`\nhas a target outside of the `ServicePerimeter`, the request will be blocked.\nOtherwise the request is allowed. There are two types of Service Perimeter -\nRegular and Bridge. Regular Service Perimeters cannot overlap, a single\nGoogle Cloud project can only belong to a single regular Service Perimeter.\nService Perimeter Bridges can contain only Google Cloud projects as members,\na single Google Cloud project may belong to multiple Service Perimeter\nBridges.",
+      "description": "`ServicePerimeter` describes a set of Google Cloud resources which can freely import and export data amongst themselves, but not export outside of the `ServicePerimeter`. If a request with a source within this `ServicePerimeter` has a target outside of the `ServicePerimeter`, the request will be blocked. Otherwise the request is allowed. There are two types of Service Perimeter - Regular and Bridge. Regular Service Perimeters cannot overlap, a single Google Cloud project can only belong to a single regular Service Perimeter. Service Perimeter Bridges can contain only Google Cloud projects as members, a single Google Cloud project may belong to multiple Service Perimeter Bridges.",
       "id": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter",
       "properties": {
         "description": {
-          "description": "Description of the `ServicePerimeter` and its use. Does not affect\nbehavior.",
+          "description": "Description of the `ServicePerimeter` and its use. Does not affect behavior.",
           "type": "string"
         },
         "name": {
-          "description": "Required. Resource name for the ServicePerimeter.  The `short_name`\ncomponent must begin with a letter and only include alphanumeric and '_'.\nFormat: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`",
+          "description": "Required. Resource name for the ServicePerimeter. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`",
           "type": "string"
         },
         "perimeterType": {
-          "description": "Perimeter type indicator. A single project is\nallowed to be a member of single regular perimeter, but multiple service\nperimeter bridges. A project cannot be a included in a perimeter bridge\nwithout being included in regular perimeter. For perimeter bridges,\nthe restricted service list as well as access level lists must be\nempty.",
+          "description": "Perimeter type indicator. A single project is allowed to be a member of single regular perimeter, but multiple service perimeter bridges. A project cannot be a included in a perimeter bridge without being included in regular perimeter. For perimeter bridges, the restricted service list as well as access level lists must be empty.",
           "enum": [
             "PERIMETER_TYPE_REGULAR",
             "PERIMETER_TYPE_BRIDGE"
@@ -960,43 +982,43 @@
         },
         "spec": {
           "$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig",
-          "description": "Proposed (or dry run) ServicePerimeter configuration. This configuration\nallows to specify and test ServicePerimeter configuration without enforcing\nactual access restrictions. Only allowed to be set when the\n\"use_explicit_dry_run_spec\" flag is set."
+          "description": "Proposed (or dry run) ServicePerimeter configuration. This configuration allows to specify and test ServicePerimeter configuration without enforcing actual access restrictions. Only allowed to be set when the \"use_explicit_dry_run_spec\" flag is set."
         },
         "status": {
           "$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig",
-          "description": "Current ServicePerimeter configuration. Specifies sets of resources,\nrestricted services and access levels that determine perimeter\ncontent and boundaries."
+          "description": "Current ServicePerimeter configuration. Specifies sets of resources, restricted services and access levels that determine perimeter content and boundaries."
         },
         "title": {
           "description": "Human readable title. Must be unique within the Policy.",
           "type": "string"
         },
         "useExplicitDryRunSpec": {
-          "description": "Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly\nexists  for all Service Perimeters, and that spec is identical to the\nstatus for those Service Perimeters. When this flag is set, it inhibits the\ngeneration of the implicit spec, thereby allowing the user to explicitly\nprovide a configuration (\"spec\") to use in a dry-run version of the Service\nPerimeter. This allows the user to test changes to the enforced config\n(\"status\") without actually enforcing them. This testing is done through\nanalyzing the differences between currently enforced and suggested\nrestrictions. use_explicit_dry_run_spec must bet set to True if any of the\nfields in the spec are set to non-default values.",
+          "description": "Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists for all Service Perimeters, and that spec is identical to the status for those Service Perimeters. When this flag is set, it inhibits the generation of the implicit spec, thereby allowing the user to explicitly provide a configuration (\"spec\") to use in a dry-run version of the Service Perimeter. This allows the user to test changes to the enforced config (\"status\") without actually enforcing them. This testing is done through analyzing the differences between currently enforced and suggested restrictions. use_explicit_dry_run_spec must bet set to True if any of the fields in the spec are set to non-default values.",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig": {
-      "description": "`ServicePerimeterConfig` specifies a set of Google Cloud resources that\ndescribe specific Service Perimeter configuration.",
+      "description": "`ServicePerimeterConfig` specifies a set of Google Cloud resources that describe specific Service Perimeter configuration.",
       "id": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig",
       "properties": {
         "accessLevels": {
-          "description": "A list of `AccessLevel` resource names that allow resources within the\n`ServicePerimeter` to be accessed from the internet. `AccessLevels` listed\nmust be in the same policy as this `ServicePerimeter`. Referencing a\nnonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are\nlisted, resources within the perimeter can only be accessed via Google\nCloud calls with request origins within the perimeter. Example:\n`\"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL\"`.\nFor Service Perimeter Bridge, must be empty.",
+          "description": "A list of `AccessLevel` resource names that allow resources within the `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `\"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL\"`. For Service Perimeter Bridge, must be empty.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "resources": {
-          "description": "A list of Google Cloud resources that are inside of the service perimeter.\nCurrently only projects are allowed. Format: `projects/{project_number}`",
+          "description": "A list of Google Cloud resources that are inside of the service perimeter. Currently only projects are allowed. Format: `projects/{project_number}`",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "restrictedServices": {
-          "description": "Google Cloud services that are subject to the Service Perimeter\nrestrictions. For example, if `storage.googleapis.com` is specified, access\nto the storage buckets inside the perimeter must meet the perimeter's\naccess restrictions.",
+          "description": "Google Cloud services that are subject to the Service Perimeter restrictions. For example, if `storage.googleapis.com` is specified, access to the storage buckets inside the perimeter must meet the perimeter's access restrictions.",
           "items": {
             "type": "string"
           },
@@ -1010,29 +1032,29 @@
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices": {
-      "description": "Specifies how APIs are allowed to communicate within the Service\nPerimeter.",
+      "description": "Specifies how APIs are allowed to communicate within the Service Perimeter.",
       "id": "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices",
       "properties": {
         "allowedServices": {
-          "description": "The list of APIs usable within the Service Perimeter. Must be empty\nunless 'enable_restriction' is True. You can specify a list of individual\nservices, as well as include the 'RESTRICTED-SERVICES' value, which\nautomatically includes all of the services protected by the perimeter.",
+          "description": "The list of APIs usable within the Service Perimeter. Must be empty unless 'enable_restriction' is True. You can specify a list of individual services, as well as include the 'RESTRICTED-SERVICES' value, which automatically includes all of the services protected by the perimeter.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "enableRestriction": {
-          "description": "Whether to restrict API calls within the Service Perimeter to the list of\nAPIs specified in 'allowed_services'.",
+          "description": "Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowed_services'.",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "Operation": {
-      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
+      "description": "This resource represents a long-running operation that is the result of a network API call.",
       "id": "Operation",
       "properties": {
         "done": {
-          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
+          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
           "type": "boolean"
         },
         "error": {
@@ -1044,11 +1066,11 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "Service-specific metadata associated with the operation.  It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata.  Any method that returns a\nlong-running operation should document the metadata type, if any.",
+          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
           "type": "object"
         },
         "name": {
-          "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.",
+          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
           "type": "string"
         },
         "response": {
@@ -1056,7 +1078,7 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "The normal response of the operation in case of success.  If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`.  If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource.  For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name.  For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
+          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
           "type": "object"
         }
       },
@@ -1074,7 +1096,7 @@
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\n            \"user:eve@example.com\"\n          ],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "auditConfigs": {
@@ -1085,19 +1107,19 @@
           "type": "array"
         },
         "bindings": {
-          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
+          "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.",
           "items": {
             "$ref": "Binding"
           },
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
           "format": "byte",
           "type": "string"
         },
         "version": {
-          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -1113,23 +1135,23 @@
             "description": "Properties of the object.",
             "type": "any"
           },
-          "description": "The content of the resource, in which some sensitive fields are removed\nand may not be present.",
+          "description": "The content of the resource, in which some sensitive fields are removed and may not be present.",
           "type": "object"
         },
         "discoveryDocumentUri": {
-          "description": "The URL of the discovery document containing the resource's JSON schema.\nExample:\n`https://www.googleapis.com/discovery/v1/apis/compute/v1/rest`\n\nThis value is unspecified for resources that do not have an API based on a\ndiscovery document, such as Cloud Bigtable.",
+          "description": "The URL of the discovery document containing the resource's JSON schema. Example: `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest` This value is unspecified for resources that do not have an API based on a discovery document, such as Cloud Bigtable.",
           "type": "string"
         },
         "discoveryName": {
-          "description": "The JSON schema name listed in the discovery document. Example:\n`Project`\n\nThis value is unspecified for resources that do not have an API based on a\ndiscovery document, such as Cloud Bigtable.",
+          "description": "The JSON schema name listed in the discovery document. Example: `Project` This value is unspecified for resources that do not have an API based on a discovery document, such as Cloud Bigtable.",
           "type": "string"
         },
         "parent": {
-          "description": "The full name of the immediate parent of this resource. See\n[Resource\nNames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nfor more information.\n\nFor Google Cloud assets, this value is the parent resource defined in the\n[Cloud IAM policy\nhierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy).\nExample:\n`//cloudresourcemanager.googleapis.com/projects/my_project_123`\n\nFor third-party assets, this field may be set differently.",
+          "description": "The full name of the immediate parent of this resource. See [Resource Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information. For Google Cloud assets, this value is the parent resource defined in the [Cloud IAM policy hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy). Example: `//cloudresourcemanager.googleapis.com/projects/my_project_123` For third-party assets, this field may be set differently.",
           "type": "string"
         },
         "resourceUrl": {
-          "description": "The REST URL for accessing the resource. An HTTP `GET` request using this\nURL returns the resource itself. Example:\n`https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123`\n\nThis value is unspecified for resources without a REST API.",
+          "description": "The REST URL for accessing the resource. An HTTP `GET` request using this URL returns the resource itself. Example: `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123` This value is unspecified for resources without a REST API.",
           "type": "string"
         },
         "version": {
@@ -1140,7 +1162,7 @@
       "type": "object"
     },
     "Status": {
-      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "Status",
       "properties": {
         "code": {
@@ -1149,7 +1171,7 @@
           "type": "integer"
         },
         "details": {
-          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -1160,14 +1182,14 @@
           "type": "array"
         },
         "message": {
-          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "TemporalAsset": {
-      "description": "An asset in Google Cloud and its temporal metadata, including the time window\nwhen it was observed and its status during that window.",
+      "description": "An asset in Google Cloud and its temporal metadata, including the time window when it was observed and its status during that window.",
       "id": "TemporalAsset",
       "properties": {
         "asset": {
@@ -1190,7 +1212,7 @@
       "id": "TimeWindow",
       "properties": {
         "endTime": {
-          "description": "End time of the time window (inclusive). If not specified, the current\ntimestamp is used instead.",
+          "description": "End time of the time window (inclusive). If not specified, the current timestamp is used instead.",
           "format": "google-datetime",
           "type": "string"
         },
diff --git a/cloudasset/v1beta1/cloudasset-gen.go b/cloudasset/v1beta1/cloudasset-gen.go
index 2e6a2cc..528bc13 100644
--- a/cloudasset/v1beta1/cloudasset-gen.go
+++ b/cloudasset/v1beta1/cloudasset-gen.go
@@ -205,89 +205,60 @@
 }
 
 // Asset: An asset in Google Cloud. An asset can be any resource in the
-// Google
-// Cloud
-// [resource
-// hierarchy](https://cloud.google.com/resource-manager/d
-// ocs/cloud-platform-resource-hierarchy),
-// a resource outside the Google Cloud resource hierarchy (such as
-// Google
-// Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM
-// policy).
-// See [Supported
-// asset
-// types](https://cloud.google.com/asset-inventory/docs/supported-a
-// sset-types)
-// for more information.
+// Google Cloud [resource
+// hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platfo
+// rm-resource-hierarchy), a resource outside the Google Cloud resource
+// hierarchy (such as Google Kubernetes Engine clusters and objects), or
+// a policy (e.g. Cloud IAM policy). See [Supported asset
+// types](https://cloud.google.com/asset-inventory/docs/supported-asset-t
+// ypes) for more information.
 type Asset struct {
-	// AccessLevel: Please also refer to the [access level
-	// user
-	// guide](https://cloud.google.com/access-context-manager/docs/overv
-	// iew#access-levels).
+	// AccessLevel: Please also refer to the [access level user
+	// guide](https://cloud.google.com/access-context-manager/docs/overview#a
+	// ccess-levels).
 	AccessLevel *GoogleIdentityAccesscontextmanagerV1AccessLevel `json:"accessLevel,omitempty"`
 
-	// AccessPolicy: Please also refer to the [access policy
-	// user
-	// guide](https://cloud.google.com/access-context-manager/docs/overv
-	// iew#access-policies).
+	// AccessPolicy: Please also refer to the [access policy user
+	// guide](https://cloud.google.com/access-context-manager/docs/overview#a
+	// ccess-policies).
 	AccessPolicy *GoogleIdentityAccesscontextmanagerV1AccessPolicy `json:"accessPolicy,omitempty"`
 
 	// AssetType: The type of the asset. Example:
-	// `compute.googleapis.com/Disk`
-	//
-	// See [Supported
-	// asset
-	// types](https://cloud.google.com/asset-inventory/docs/supported-a
-	// sset-types)
-	// for more information.
+	// `compute.googleapis.com/Disk` See [Supported asset
+	// types](https://cloud.google.com/asset-inventory/docs/supported-asset-t
+	// ypes) for more information.
 	AssetType string `json:"assetType,omitempty"`
 
 	// IamPolicy: A representation of the Cloud IAM policy set on a Google
-	// Cloud resource.
-	// There can be a maximum of one Cloud IAM policy set on any given
-	// resource.
-	// In addition, Cloud IAM policies inherit their granted access scope
-	// from any
-	// policies set on parent resources in the resource hierarchy.
-	// Therefore, the
-	// effectively policy is the union of both the policy set on this
-	// resource
-	// and each policy set on all of the resource's ancestry resource levels
-	// in
-	// the hierarchy. See
-	// [this topic](https://cloud.google.com/iam/docs/policies#inheritance)
-	// for
+	// Cloud resource. There can be a maximum of one Cloud IAM policy set on
+	// any given resource. In addition, Cloud IAM policies inherit their
+	// granted access scope from any policies set on parent resources in the
+	// resource hierarchy. Therefore, the effectively policy is the union of
+	// both the policy set on this resource and each policy set on all of
+	// the resource's ancestry resource levels in the hierarchy. See [this
+	// topic](https://cloud.google.com/iam/docs/policies#inheritance) for
 	// more information.
 	IamPolicy *Policy `json:"iamPolicy,omitempty"`
 
-	// Name: The full name of the asset.
-	// Example:
-	// `//compute.googleapis.com/projects/my_project_123/zones/zone1
-	// /instances/instance1`
-	//
-	// See
-	// [Resource
-	// names](https://cloud.google.com/apis/design/resource_names#f
-	// ull_resource_name)
-	// for more information.
+	// Name: The full name of the asset. Example:
+	// `//compute.googleapis.com/projects/my_project_123/zones/zone1/instance
+	// s/instance1` See [Resource
+	// names](https://cloud.google.com/apis/design/resource_names#full_resour
+	// ce_name) for more information.
 	Name string `json:"name,omitempty"`
 
-	// OrgPolicy: A representation of an
-	// [organization
-	// policy](https://cloud.google.com/resource-manager/docs/o
-	// rganization-policy/overview#organization_policy).
-	// There can be more than one organization policy with different
-	// constraints
-	// set on a given resource.
+	// OrgPolicy: A representation of an [organization
+	// policy](https://cloud.google.com/resource-manager/docs/organization-po
+	// licy/overview#organization_policy). There can be more than one
+	// organization policy with different constraints set on a given
+	// resource.
 	OrgPolicy []*GoogleCloudOrgpolicyV1Policy `json:"orgPolicy,omitempty"`
 
 	// Resource: A representation of the resource.
 	Resource *Resource `json:"resource,omitempty"`
 
-	// ServicePerimeter: Please also refer to the [service perimeter
-	// user
-	// guide](https://cloud.google.com/vpc-service-controls/docs/overvie
-	// w).
+	// ServicePerimeter: Please also refer to the [service perimeter user
+	// guide](https://cloud.google.com/vpc-service-controls/docs/overview).
 	ServicePerimeter *GoogleIdentityAccesscontextmanagerV1ServicePerimeter `json:"servicePerimeter,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AccessLevel") to
@@ -313,72 +284,31 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// AuditConfig: Specifies the audit configuration for a service.
-// The configuration determines which permission types are logged, and
-// what
-// identities, if any, are exempted from logging.
-// An AuditConfig must have one or more AuditLogConfigs.
-//
-// If there are AuditConfigs for both `allServices` and a specific
-// service,
-// the union of the two AuditConfigs is used for that service: the
-// log_types
-// specified in each AuditConfig are enabled, and the exempted_members
-// in each
-// AuditLogConfig are exempted.
-//
-// Example Policy with multiple AuditConfigs:
-//
-//     {
-//       "audit_configs": [
-//         {
-//           "service": "allServices",
-//           "audit_log_configs": [
-//             {
-//               "log_type": "DATA_READ",
-//               "exempted_members": [
-//                 "user:jose@example.com"
-//               ]
-//             },
-//             {
-//               "log_type": "DATA_WRITE"
-//             },
-//             {
-//               "log_type": "ADMIN_READ"
-//             }
-//           ]
-//         },
-//         {
-//           "service": "sampleservice.googleapis.com",
-//           "audit_log_configs": [
-//             {
-//               "log_type": "DATA_READ"
-//             },
-//             {
-//               "log_type": "DATA_WRITE",
-//               "exempted_members": [
-//                 "user:aliya@example.com"
-//               ]
-//             }
-//           ]
-//         }
-//       ]
-//     }
-//
-// For sampleservice, this policy enables DATA_READ, DATA_WRITE and
-// ADMIN_READ
-// logging. It also exempts jose@example.com from DATA_READ logging,
-// and
-// aliya@example.com from DATA_WRITE logging.
+// AuditConfig: Specifies the audit configuration for a service. The
+// configuration determines which permission types are logged, and what
+// identities, if any, are exempted from logging. An AuditConfig must
+// have one or more AuditLogConfigs. If there are AuditConfigs for both
+// `allServices` and a specific service, the union of the two
+// AuditConfigs is used for that service: the log_types specified in
+// each AuditConfig are enabled, and the exempted_members in each
+// AuditLogConfig are exempted. Example Policy with multiple
+// AuditConfigs: { "audit_configs": [ { "service": "allServices",
+// "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members":
+// [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, {
+// "log_type": "ADMIN_READ" } ] }, { "service":
+// "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type":
+// "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [
+// "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy
+// enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts
+// jose@example.com from DATA_READ logging, and aliya@example.com from
+// DATA_WRITE logging.
 type AuditConfig struct {
 	// AuditLogConfigs: The configuration for logging of each type of
 	// permission.
 	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
 
-	// Service: Specifies a service that will be enabled for audit
-	// logging.
-	// For example, `storage.googleapis.com`,
-	// `cloudsql.googleapis.com`.
+	// Service: Specifies a service that will be enabled for audit logging.
+	// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
 	// `allServices` is a special value that covers all services.
 	Service string `json:"service,omitempty"`
 
@@ -407,31 +337,15 @@
 }
 
 // AuditLogConfig: Provides the configuration for logging a type of
-// permissions.
-// Example:
-//
-//     {
-//       "audit_log_configs": [
-//         {
-//           "log_type": "DATA_READ",
-//           "exempted_members": [
-//             "user:jose@example.com"
-//           ]
-//         },
-//         {
-//           "log_type": "DATA_WRITE"
-//         }
-//       ]
-//     }
-//
-// This enables 'DATA_READ' and 'DATA_WRITE' logging, while
-// exempting
-// jose@example.com from DATA_READ logging.
+// permissions. Example: { "audit_log_configs": [ { "log_type":
+// "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, {
+// "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and
+// 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ
+// logging.
 type AuditLogConfig struct {
 	// ExemptedMembers: Specifies the identities that do not cause logging
-	// for this type of
-	// permission.
-	// Follows the same format of Binding.members.
+	// for this type of permission. Follows the same format of
+	// Binding.members.
 	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
 
 	// LogType: The log type that this config enables.
@@ -501,95 +415,53 @@
 
 // Binding: Associates `members` with a `role`.
 type Binding struct {
-	// Condition: The condition that is associated with this binding.
-	//
-	// If the condition evaluates to `true`, then this binding applies to
-	// the
-	// current request.
-	//
-	// If the condition evaluates to `false`, then this binding does not
-	// apply to
-	// the current request. However, a different role binding might grant
-	// the same
-	// role to one or more of the members in this binding.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// Condition: The condition that is associated with this binding. If the
+	// condition evaluates to `true`, then this binding applies to the
+	// current request. If the condition evaluates to `false`, then this
+	// binding does not apply to the current request. However, a different
+	// role binding might grant the same role to one or more of the members
+	// in this binding. To learn which resources support conditions in their
+	// IAM policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	Condition *Expr `json:"condition,omitempty"`
 
 	// Members: Specifies the identities requesting access for a Cloud
-	// Platform resource.
-	// `members` can have the following values:
-	//
-	// * `allUsers`: A special identifier that represents anyone who is
-	//    on the internet; with or without a Google account.
-	//
-	// * `allAuthenticatedUsers`: A special identifier that represents
-	// anyone
-	//    who is authenticated with a Google account or a service
-	// account.
-	//
-	// * `user:{emailid}`: An email address that represents a specific
-	// Google
-	//    account. For example, `alice@example.com` .
-	//
-	//
-	// * `serviceAccount:{emailid}`: An email address that represents a
-	// service
-	//    account. For example,
-	// `my-other-app@appspot.gserviceaccount.com`.
-	//
-	// * `group:{emailid}`: An email address that represents a Google
-	// group.
-	//    For example, `admins@example.com`.
-	//
-	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a user that has been recently deleted.
-	// For
-	//    example, `alice@example.com?uid=123456789012345678901`. If the
-	// user is
-	//    recovered, this value reverts to `user:{emailid}` and the
-	// recovered user
-	//    retains the role in the binding.
-	//
-	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
-	// (plus
-	//    unique identifier) representing a service account that has been
-	// recently
-	//    deleted. For example,
-	//
+	// Platform resource. `members` can have the following values: *
+	// `allUsers`: A special identifier that represents anyone who is on the
+	// internet; with or without a Google account. *
+	// `allAuthenticatedUsers`: A special identifier that represents anyone
+	// who is authenticated with a Google account or a service account. *
+	// `user:{emailid}`: An email address that represents a specific Google
+	// account. For example, `alice@example.com` . *
+	// `serviceAccount:{emailid}`: An email address that represents a
+	// service account. For example,
+	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
+	// email address that represents a Google group. For example,
+	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
+	// email address (plus unique identifier) representing a user that has
+	// been recently deleted. For example,
+	// `alice@example.com?uid=123456789012345678901`. If the user is
+	// recovered, this value reverts to `user:{emailid}` and the recovered
+	// user retains the role in the binding. *
+	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
+	// (plus unique identifier) representing a service account that has been
+	// recently deleted. For example,
 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
-	//
-	//    If the service account is undeleted, this value reverts to
-	//    `serviceAccount:{emailid}` and the undeleted service account
-	// retains the
-	//    role in the binding.
-	//
-	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a Google group that has been recently
-	//    deleted. For example,
-	// `admins@example.com?uid=123456789012345678901`. If
-	//    the group is recovered, this value reverts to `group:{emailid}`
-	// and the
-	//    recovered group retains the role in the binding.
-	//
-	//
-	// * `domain:{domain}`: The G Suite domain (primary) that represents all
-	// the
-	//    users of that domain. For example, `google.com` or
-	// `example.com`.
-	//
-	//
+	// If the service account is undeleted, this value reverts to
+	// `serviceAccount:{emailid}` and the undeleted service account retains
+	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
+	// An email address (plus unique identifier) representing a Google group
+	// that has been recently deleted. For example,
+	// `admins@example.com?uid=123456789012345678901`. If the group is
+	// recovered, this value reverts to `group:{emailid}` and the recovered
+	// group retains the role in the binding. * `domain:{domain}`: The G
+	// Suite domain (primary) that represents all the users of that domain.
+	// For example, `google.com` or `example.com`.
 	Members []string `json:"members,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`.
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -618,19 +490,14 @@
 // ExportAssetsRequest: Export asset request.
 type ExportAssetsRequest struct {
 	// AssetTypes: A list of asset types of which to take a snapshot for.
-	// For example:
-	// "google.compute.Disk". If specified, only matching assets will be
-	// returned.
-	// See [Introduction to Cloud
-	// Asset
-	// Inventory](https://cloud.google.com/resource-manager/docs/cloud-
-	// asset-inventory/overview)
-	// for all supported asset types.
+	// For example: "google.compute.Disk". If specified, only matching
+	// assets will be returned. See [Introduction to Cloud Asset
+	// Inventory](https://cloud.google.com/resource-manager/docs/cloud-asset-
+	// inventory/overview) for all supported asset types.
 	AssetTypes []string `json:"assetTypes,omitempty"`
 
 	// ContentType: Asset content type. If not specified, no content but the
-	// asset name will be
-	// returned.
+	// asset name will be returned.
 	//
 	// Possible values:
 	//   "CONTENT_TYPE_UNSPECIFIED" - Unspecified content type.
@@ -639,19 +506,15 @@
 	ContentType string `json:"contentType,omitempty"`
 
 	// OutputConfig: Required. Output configuration indicating where the
-	// results will be output
-	// to. All results will be in newline delimited JSON format.
+	// results will be output to. All results will be in newline delimited
+	// JSON format.
 	OutputConfig *OutputConfig `json:"outputConfig,omitempty"`
 
 	// ReadTime: Timestamp to take an asset snapshot. This can only be set
-	// to a timestamp
-	// between 2018-10-02 UTC (inclusive) and the current time. If not
-	// specified,
-	// the current time will be used. Due to delays in resource data
-	// collection
-	// and indexing, there is a volatile window during which running the
-	// same
-	// query may get different results.
+	// to a timestamp between 2018-10-02 UTC (inclusive) and the current
+	// time. If not specified, the current time will be used. Due to delays
+	// in resource data collection and indexing, there is a volatile window
+	// during which running the same query may get different results.
 	ReadTime string `json:"readTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AssetTypes") to
@@ -678,65 +541,40 @@
 }
 
 // Expr: Represents a textual expression in the Common Expression
-// Language (CEL)
-// syntax. CEL is a C-like expression language. The syntax and semantics
-// of CEL
-// are documented at https://github.com/google/cel-spec.
-//
-// Example (Comparison):
-//
-//     title: "Summary size limit"
-//     description: "Determines if a summary is less than 100 chars"
-//     expression: "document.summary.size() < 100"
-//
-// Example (Equality):
-//
-//     title: "Requestor is owner"
-//     description: "Determines if requestor is the document owner"
-//     expression: "document.owner ==
-// request.auth.claims.email"
-//
-// Example (Logic):
-//
-//     title: "Public documents"
-//     description: "Determine whether the document should be publicly
-// visible"
-//     expression: "document.type != 'private' && document.type !=
-// 'internal'"
-//
-// Example (Data Manipulation):
-//
-//     title: "Notification string"
-//     description: "Create a notification string with a timestamp."
-//     expression: "'New message received at ' +
-// string(document.create_time)"
-//
-// The exact variables and functions that may be referenced within an
-// expression
-// are determined by the service that evaluates it. See the
-// service
-// documentation for additional information.
+// Language (CEL) syntax. CEL is a C-like expression language. The
+// syntax and semantics of CEL are documented at
+// https://github.com/google/cel-spec. Example (Comparison): title:
+// "Summary size limit" description: "Determines if a summary is less
+// than 100 chars" expression: "document.summary.size() < 100" Example
+// (Equality): title: "Requestor is owner" description: "Determines if
+// requestor is the document owner" expression: "document.owner ==
+// request.auth.claims.email" Example (Logic): title: "Public documents"
+// description: "Determine whether the document should be publicly
+// visible" expression: "document.type != 'private' && document.type !=
+// 'internal'" Example (Data Manipulation): title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' +
+// string(document.create_time)" The exact variables and functions that
+// may be referenced within an expression are determined by the service
+// that evaluates it. See the service documentation for additional
+// information.
 type Expr struct {
 	// Description: Optional. Description of the expression. This is a
-	// longer text which
-	// describes the expression, e.g. when hovered over it in a UI.
+	// longer text which describes the expression, e.g. when hovered over it
+	// in a UI.
 	Description string `json:"description,omitempty"`
 
 	// Expression: Textual representation of an expression in Common
-	// Expression Language
-	// syntax.
+	// Expression Language syntax.
 	Expression string `json:"expression,omitempty"`
 
 	// Location: Optional. String indicating the location of the expression
-	// for error
-	// reporting, e.g. a file name and a position in the file.
+	// for error reporting, e.g. a file name and a position in the file.
 	Location string `json:"location,omitempty"`
 
 	// Title: Optional. Title for the expression, i.e. a short string
-	// describing
-	// its purpose. This can be used e.g. in UIs which allow to enter
-	// the
-	// expression.
+	// describing its purpose. This can be used e.g. in UIs which allow to
+	// enter the expression.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -765,30 +603,20 @@
 // GcsDestination: A Cloud Storage location.
 type GcsDestination struct {
 	// Uri: The uri of the Cloud Storage object. It's the same uri that is
-	// used by
-	// gsutil. For example: "gs://bucket_name/object_name". See [Viewing
-	// and
-	// Editing
-	// Object
-	// Metadata](https://cloud.google.com/storage/docs/viewing-editing
-	// -metadata)
-	// for more information.
+	// used by gsutil. For example: "gs://bucket_name/object_name". See
+	// [Viewing and Editing Object
+	// Metadata](https://cloud.google.com/storage/docs/viewing-editing-metada
+	// ta) for more information.
 	Uri string `json:"uri,omitempty"`
 
 	// UriPrefix: The uri prefix of all generated Cloud Storage objects. For
-	// example:
-	// "gs://bucket_name/object_name_prefix". Each object uri is in
-	// format:
-	// "gs://bucket_name/object_name_prefix/<asset type>/<shard number> and
-	// only
-	// contains assets for that type. <shard number> starts from 0. For
-	// example:
+	// example: "gs://bucket_name/object_name_prefix". Each object uri is in
+	// format: "gs://bucket_name/object_name_prefix// and only contains
+	// assets for that type. starts from 0. For example:
 	// "gs://bucket_name/object_name_prefix/google.compute.disk/0" is the
-	// first
-	// shard of output objects containing all google.compute.disk assets.
-	// An INVALID_ARGUMENT error will be returned if file with the same
-	// name
-	// "gs://bucket_name/object_name_prefix" already exists.
+	// first shard of output objects containing all google.compute.disk
+	// assets. An INVALID_ARGUMENT error will be returned if file with the
+	// same name "gs://bucket_name/object_name_prefix" already exists.
 	UriPrefix string `json:"uriPrefix,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Uri") to
@@ -815,66 +643,35 @@
 }
 
 // GoogleCloudOrgpolicyV1BooleanPolicy: Used in `policy_type` to specify
-// how `boolean_policy` will behave at this
-// resource.
+// how `boolean_policy` will behave at this resource.
 type GoogleCloudOrgpolicyV1BooleanPolicy struct {
 	// Enforced: If `true`, then the `Policy` is enforced. If `false`, then
-	// any
-	// configuration is acceptable.
-	//
-	// Suppose you have a
-	// `Constraint`
+	// any configuration is acceptable. Suppose you have a `Constraint`
 	// `constraints/compute.disableSerialPortAccess` with
-	// `constraint_default`
-	// set to `ALLOW`. A `Policy` for that `Constraint` exhibits the
-	// following
-	// behavior:
-	//   - If the `Policy` at this resource has enforced set to `false`,
-	// serial
-	//     port connection attempts will be allowed.
-	//   - If the `Policy` at this resource has enforced set to `true`,
-	// serial
-	//     port connection attempts will be refused.
-	//   - If the `Policy` at this resource is `RestoreDefault`, serial
-	// port
-	//     connection attempts will be allowed.
-	//   - If no `Policy` is set at this resource or anywhere higher in the
-	//     resource hierarchy, serial port connection attempts will be
-	// allowed.
-	//   - If no `Policy` is set at this resource, but one exists higher in
-	// the
-	//     resource hierarchy, the behavior is as if the`Policy` were set
-	// at
-	//     this resource.
-	//
-	// The following examples demonstrate the different possible
-	// layerings:
-	//
-	// Example 1 (nearest `Constraint` wins):
-	//   `organizations/foo` has a `Policy` with:
-	//     {enforced: false}
-	//   `projects/bar` has no `Policy` set.
-	// The constraint at `projects/bar` and `organizations/foo` will not
-	// be
-	// enforced.
-	//
-	// Example 2 (enforcement gets replaced):
-	//   `organizations/foo` has a `Policy` with:
-	//     {enforced: false}
-	//   `projects/bar` has a `Policy` with:
-	//     {enforced: true}
-	// The constraint at `organizations/foo` is not enforced.
-	// The constraint at `projects/bar` is enforced.
-	//
-	// Example 3 (RestoreDefault):
-	//   `organizations/foo` has a `Policy` with:
-	//     {enforced: true}
-	//   `projects/bar` has a `Policy` with:
-	//     {RestoreDefault: {}}
-	// The constraint at `organizations/foo` is enforced.
-	// The constraint at `projects/bar` is not enforced,
-	// because
-	// `constraint_default` for the `Constraint` is `ALLOW`.
+	// `constraint_default` set to `ALLOW`. A `Policy` for that `Constraint`
+	// exhibits the following behavior: - If the `Policy` at this resource
+	// has enforced set to `false`, serial port connection attempts will be
+	// allowed. - If the `Policy` at this resource has enforced set to
+	// `true`, serial port connection attempts will be refused. - If the
+	// `Policy` at this resource is `RestoreDefault`, serial port connection
+	// attempts will be allowed. - If no `Policy` is set at this resource or
+	// anywhere higher in the resource hierarchy, serial port connection
+	// attempts will be allowed. - If no `Policy` is set at this resource,
+	// but one exists higher in the resource hierarchy, the behavior is as
+	// if the`Policy` were set at this resource. The following examples
+	// demonstrate the different possible layerings: Example 1 (nearest
+	// `Constraint` wins): `organizations/foo` has a `Policy` with:
+	// {enforced: false} `projects/bar` has no `Policy` set. The constraint
+	// at `projects/bar` and `organizations/foo` will not be enforced.
+	// Example 2 (enforcement gets replaced): `organizations/foo` has a
+	// `Policy` with: {enforced: false} `projects/bar` has a `Policy` with:
+	// {enforced: true} The constraint at `organizations/foo` is not
+	// enforced. The constraint at `projects/bar` is enforced. Example 3
+	// (RestoreDefault): `organizations/foo` has a `Policy` with: {enforced:
+	// true} `projects/bar` has a `Policy` with: {RestoreDefault: {}} The
+	// constraint at `organizations/foo` is enforced. The constraint at
+	// `projects/bar` is not enforced, because `constraint_default` for the
+	// `Constraint` is `ALLOW`.
 	Enforced bool `json:"enforced,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Enforced") to
@@ -901,38 +698,23 @@
 }
 
 // GoogleCloudOrgpolicyV1ListPolicy: Used in `policy_type` to specify
-// how `list_policy` behaves at this
-// resource.
-//
-// `ListPolicy` can define specific values and subtrees of Cloud
-// Resource
-// Manager resource hierarchy (`Organizations`, `Folders`, `Projects`)
-// that
-// are allowed or denied by setting the `allowed_values` and
-// `denied_values`
-// fields. This is achieved by using the `under:` and optional `is:`
-// prefixes.
-// The `under:` prefix is used to denote resource subtree values.
-// The `is:` prefix is used to denote specific values, and is required
-// only
+// how `list_policy` behaves at this resource. `ListPolicy` can define
+// specific values and subtrees of Cloud Resource Manager resource
+// hierarchy (`Organizations`, `Folders`, `Projects`) that are allowed
+// or denied by setting the `allowed_values` and `denied_values` fields.
+// This is achieved by using the `under:` and optional `is:` prefixes.
+// The `under:` prefix is used to denote resource subtree values. The
+// `is:` prefix is used to denote specific values, and is required only
 // if the value contains a ":". Values prefixed with "is:" are treated
-// the
-// same as values with no prefix.
-// Ancestry subtrees must be in one of the following formats:
-//     - "projects/<project-id>", e.g. "projects/tokyo-rain-123"
-//     - "folders/<folder-id>", e.g. "folders/1234"
-//     - "organizations/<organization-id>", e.g.
-// "organizations/1234"
-// The `supports_under` field of the associated `Constraint`  defines
-// whether
-// ancestry prefixes can be used. You can set `allowed_values`
-// and
-// `denied_values` in the same `Policy` if `all_values`
-// is
+// the same as values with no prefix. Ancestry subtrees must be in one
+// of the following formats: - "projects/", e.g.
+// "projects/tokyo-rain-123" - "folders/", e.g. "folders/1234" -
+// "organizations/", e.g. "organizations/1234" The `supports_under`
+// field of the associated `Constraint` defines whether ancestry
+// prefixes can be used. You can set `allowed_values` and
+// `denied_values` in the same `Policy` if `all_values` is
 // `ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny
-// all
-// values. If `all_values` is set to either `ALLOW` or
-// `DENY`,
+// all values. If `all_values` is set to either `ALLOW` or `DENY`,
 // `allowed_values` and `denied_values` must be unset.
 type GoogleCloudOrgpolicyV1ListPolicy struct {
 	// AllValues: The policy all_values state.
@@ -944,144 +726,86 @@
 	//   "DENY" - A policy with this set denies all values.
 	AllValues string `json:"allValues,omitempty"`
 
-	// AllowedValues: List of values allowed  at this resource. Can only be
-	// set if `all_values`
-	// is set to `ALL_VALUES_UNSPECIFIED`.
+	// AllowedValues: List of values allowed at this resource. Can only be
+	// set if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.
 	AllowedValues []string `json:"allowedValues,omitempty"`
 
 	// DeniedValues: List of values denied at this resource. Can only be set
-	// if `all_values`
-	// is set to `ALL_VALUES_UNSPECIFIED`.
+	// if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.
 	DeniedValues []string `json:"deniedValues,omitempty"`
 
 	// InheritFromParent: Determines the inheritance behavior for this
-	// `Policy`.
-	//
-	// By default, a `ListPolicy` set at a resource supersedes any `Policy`
-	// set
-	// anywhere up the resource hierarchy. However, if `inherit_from_parent`
-	// is
-	// set to `true`, then the values from the effective `Policy` of the
-	// parent
-	// resource are inherited, meaning the values set in this `Policy`
-	// are
-	// added to the values inherited up the hierarchy.
-	//
-	// Setting `Policy` hierarchies that inherit both allowed values and
-	// denied
-	// values isn't recommended in most circumstances to keep the
-	// configuration
-	// simple and understandable. However, it is possible to set a `Policy`
-	// with
-	// `allowed_values` set that inherits a `Policy` with `denied_values`
-	// set.
-	// In this case, the values that are allowed must be in `allowed_values`
-	// and
-	// not present in `denied_values`.
-	//
-	// For example, suppose you have a
-	// `Constraint`
-	// `constraints/serviceuser.services`, which has a `constraint_type`
-	// of
-	// `list_constraint`, and with `constraint_default` set to
-	// `ALLOW`.
-	// Suppose that at the Organization level, a `Policy` is applied
-	// that
-	// restricts the allowed API activations to {`E1`, `E2`}. Then, if
-	// a
-	// `Policy` is applied to a project below the Organization that
-	// has
+	// `Policy`. By default, a `ListPolicy` set at a resource supersedes any
+	// `Policy` set anywhere up the resource hierarchy. However, if
+	// `inherit_from_parent` is set to `true`, then the values from the
+	// effective `Policy` of the parent resource are inherited, meaning the
+	// values set in this `Policy` are added to the values inherited up the
+	// hierarchy. Setting `Policy` hierarchies that inherit both allowed
+	// values and denied values isn't recommended in most circumstances to
+	// keep the configuration simple and understandable. However, it is
+	// possible to set a `Policy` with `allowed_values` set that inherits a
+	// `Policy` with `denied_values` set. In this case, the values that are
+	// allowed must be in `allowed_values` and not present in
+	// `denied_values`. For example, suppose you have a `Constraint`
+	// `constraints/serviceuser.services`, which has a `constraint_type` of
+	// `list_constraint`, and with `constraint_default` set to `ALLOW`.
+	// Suppose that at the Organization level, a `Policy` is applied that
+	// restricts the allowed API activations to {`E1`, `E2`}. Then, if a
+	// `Policy` is applied to a project below the Organization that has
 	// `inherit_from_parent` set to `false` and field all_values set to
-	// DENY,
-	// then an attempt to activate any API will be denied.
-	//
-	// The following examples demonstrate different possible layerings
-	// for
-	// `projects/bar` parented by `organizations/foo`:
-	//
-	// Example 1 (no inherited values):
-	//   `organizations/foo` has a `Policy` with values:
-	//     {allowed_values: "E1" allowed_values:"E2"}
-	//   `projects/bar` has `inherit_from_parent` `false` and values:
-	//     {allowed_values: "E3" allowed_values: "E4"}
-	// The accepted values at `organizations/foo` are `E1`, `E2`.
-	// The accepted values at `projects/bar` are `E3`, and `E4`.
-	//
-	// Example 2 (inherited values):
-	//   `organizations/foo` has a `Policy` with values:
-	//     {allowed_values: "E1" allowed_values:"E2"}
-	//   `projects/bar` has a `Policy` with values:
-	//     {value: "E3" value: "E4" inherit_from_parent: true}
-	// The accepted values at `organizations/foo` are `E1`, `E2`.
-	// The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and
-	// `E4`.
-	//
+	// DENY, then an attempt to activate any API will be denied. The
+	// following examples demonstrate different possible layerings for
+	// `projects/bar` parented by `organizations/foo`: Example 1 (no
+	// inherited values): `organizations/foo` has a `Policy` with values:
+	// {allowed_values: "E1" allowed_values:"E2"} `projects/bar` has
+	// `inherit_from_parent` `false` and values: {allowed_values: "E3"
+	// allowed_values: "E4"} The accepted values at `organizations/foo` are
+	// `E1`, `E2`. The accepted values at `projects/bar` are `E3`, and `E4`.
+	// Example 2 (inherited values): `organizations/foo` has a `Policy` with
+	// values: {allowed_values: "E1" allowed_values:"E2"} `projects/bar` has
+	// a `Policy` with values: {value: "E3" value: "E4" inherit_from_parent:
+	// true} The accepted values at `organizations/foo` are `E1`, `E2`. The
+	// accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`.
 	// Example 3 (inheriting both allowed and denied values):
-	//   `organizations/foo` has a `Policy` with values:
-	//     {allowed_values: "E1" allowed_values: "E2"}
-	//   `projects/bar` has a `Policy` with:
-	//     {denied_values: "E1"}
-	// The accepted values at `organizations/foo` are `E1`, `E2`.
-	// The value accepted at `projects/bar` is `E2`.
-	//
-	// Example 4 (RestoreDefault):
-	//   `organizations/foo` has a `Policy` with values:
-	//     {allowed_values: "E1" allowed_values:"E2"}
-	//   `projects/bar` has a `Policy` with values:
-	//     {RestoreDefault: {}}
-	// The accepted values at `organizations/foo` are `E1`, `E2`.
-	// The accepted values at `projects/bar` are either all or none
-	// depending on
-	// the value of `constraint_default` (if `ALLOW`, all; if
-	// `DENY`, none).
-	//
-	// Example 5 (no policy inherits parent policy):
-	//   `organizations/foo` has no `Policy` set.
-	//   `projects/bar` has no `Policy` set.
-	// The accepted values at both levels are either all or none depending
-	// on
-	// the value of `constraint_default` (if `ALLOW`, all; if
-	// `DENY`, none).
-	//
-	// Example 6 (ListConstraint allowing all):
-	//   `organizations/foo` has a `Policy` with values:
-	//     {allowed_values: "E1" allowed_values: "E2"}
-	//   `projects/bar` has a `Policy` with:
-	//     {all: ALLOW}
-	// The accepted values at `organizations/foo` are `E1`, E2`.
-	// Any value is accepted at `projects/bar`.
-	//
-	// Example 7 (ListConstraint allowing none):
-	//   `organizations/foo` has a `Policy` with values:
-	//     {allowed_values: "E1" allowed_values: "E2"}
-	//   `projects/bar` has a `Policy` with:
-	//     {all: DENY}
-	// The accepted values at `organizations/foo` are `E1`, E2`.
-	// No value is accepted at `projects/bar`.
-	//
-	// Example 10 (allowed and denied subtrees of Resource Manager
-	// hierarchy):
-	// Given the following resource hierarchy
-	//   O1->{F1, F2}; F1->{P1}; F2->{P2, P3},
-	//   `organizations/foo` has a `Policy` with values:
-	//     {allowed_values: "under:organizations/O1"}
-	//   `projects/bar` has a `Policy` with:
-	//     {allowed_values: "under:projects/P3"}
-	//     {denied_values: "under:folders/F2"}
-	// The accepted values at `organizations/foo` are `organizations/O1`,
-	//   `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`,
-	//   `projects/P3`.
-	// The accepted values at `projects/bar` are `organizations/O1`,
-	//   `folders/F1`, `projects/P1`.
+	// `organizations/foo` has a `Policy` with values: {allowed_values: "E1"
+	// allowed_values: "E2"} `projects/bar` has a `Policy` with:
+	// {denied_values: "E1"} The accepted values at `organizations/foo` are
+	// `E1`, `E2`. The value accepted at `projects/bar` is `E2`. Example 4
+	// (RestoreDefault): `organizations/foo` has a `Policy` with values:
+	// {allowed_values: "E1" allowed_values:"E2"} `projects/bar` has a
+	// `Policy` with values: {RestoreDefault: {}} The accepted values at
+	// `organizations/foo` are `E1`, `E2`. The accepted values at
+	// `projects/bar` are either all or none depending on the value of
+	// `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 5
+	// (no policy inherits parent policy): `organizations/foo` has no
+	// `Policy` set. `projects/bar` has no `Policy` set. The accepted values
+	// at both levels are either all or none depending on the value of
+	// `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 6
+	// (ListConstraint allowing all): `organizations/foo` has a `Policy`
+	// with values: {allowed_values: "E1" allowed_values: "E2"}
+	// `projects/bar` has a `Policy` with: {all: ALLOW} The accepted values
+	// at `organizations/foo` are `E1`, E2`. Any value is accepted at
+	// `projects/bar`. Example 7 (ListConstraint allowing none):
+	// `organizations/foo` has a `Policy` with values: {allowed_values: "E1"
+	// allowed_values: "E2"} `projects/bar` has a `Policy` with: {all: DENY}
+	// The accepted values at `organizations/foo` are `E1`, E2`. No value is
+	// accepted at `projects/bar`. Example 10 (allowed and denied subtrees
+	// of Resource Manager hierarchy): Given the following resource
+	// hierarchy O1->{F1, F2}; F1->{P1}; F2->{P2, P3}, `organizations/foo`
+	// has a `Policy` with values: {allowed_values:
+	// "under:organizations/O1"} `projects/bar` has a `Policy` with:
+	// {allowed_values: "under:projects/P3"} {denied_values:
+	// "under:folders/F2"} The accepted values at `organizations/foo` are
+	// `organizations/O1`, `folders/F1`, `folders/F2`, `projects/P1`,
+	// `projects/P2`, `projects/P3`. The accepted values at `projects/bar`
+	// are `organizations/O1`, `folders/F1`, `projects/P1`.
 	InheritFromParent bool `json:"inheritFromParent,omitempty"`
 
 	// SuggestedValue: Optional. The Google Cloud Console will try to
-	// default to a configuration
-	// that matches the value specified in this `Policy`. If
-	// `suggested_value`
-	// is not set, it will inherit the value specified higher in the
-	// hierarchy,
-	// unless `inherit_from_parent` is `false`.
+	// default to a configuration that matches the value specified in this
+	// `Policy`. If `suggested_value` is not set, it will inherit the value
+	// specified higher in the hierarchy, unless `inherit_from_parent` is
+	// `false`.
 	SuggestedValue string `json:"suggestedValue,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AllValues") to
@@ -1108,66 +832,43 @@
 }
 
 // GoogleCloudOrgpolicyV1Policy: Defines a Cloud Organization `Policy`
-// which is used to specify `Constraints`
-// for configurations of Cloud Platform resources.
+// which is used to specify `Constraints` for configurations of Cloud
+// Platform resources.
 type GoogleCloudOrgpolicyV1Policy struct {
 	// BooleanPolicy: For boolean `Constraints`, whether to enforce the
 	// `Constraint` or not.
 	BooleanPolicy *GoogleCloudOrgpolicyV1BooleanPolicy `json:"booleanPolicy,omitempty"`
 
 	// Constraint: The name of the `Constraint` the `Policy` is configuring,
-	// for example,
-	// `constraints/serviceuser.services`.
-	//
-	// A [list of
-	// available
-	// constraints](/resource-manager/docs/organization-policy/org-
-	// policy-constraints)
-	// is available.
-	//
-	// Immutable after creation.
+	// for example, `constraints/serviceuser.services`. A [list of available
+	// constraints](/resource-manager/docs/organization-policy/org-policy-con
+	// straints) is available. Immutable after creation.
 	Constraint string `json:"constraint,omitempty"`
 
 	// Etag: An opaque tag indicating the current version of the `Policy`,
-	// used for
-	// concurrency control.
-	//
-	// When the `Policy` is returned from either a `GetPolicy` or
-	// a
-	// `ListOrgPolicy` request, this `etag` indicates the version of the
-	// current
-	// `Policy` to use when executing a read-modify-write loop.
-	//
-	// When the `Policy` is returned from a `GetEffectivePolicy` request,
-	// the
-	// `etag` will be unset.
-	//
-	// When the `Policy` is used in a `SetOrgPolicy` method, use the `etag`
-	// value
-	// that was returned from a `GetOrgPolicy` request as part of
-	// a
+	// used for concurrency control. When the `Policy` is returned from
+	// either a `GetPolicy` or a `ListOrgPolicy` request, this `etag`
+	// indicates the version of the current `Policy` to use when executing a
+	// read-modify-write loop. When the `Policy` is returned from a
+	// `GetEffectivePolicy` request, the `etag` will be unset. When the
+	// `Policy` is used in a `SetOrgPolicy` method, use the `etag` value
+	// that was returned from a `GetOrgPolicy` request as part of a
 	// read-modify-write loop for concurrency control. Not setting the
-	// `etag`in a
-	// `SetOrgPolicy` request will result in an unconditional write of
-	// the
-	// `Policy`.
+	// `etag`in a `SetOrgPolicy` request will result in an unconditional
+	// write of the `Policy`.
 	Etag string `json:"etag,omitempty"`
 
 	// ListPolicy: List of values either allowed or disallowed.
 	ListPolicy *GoogleCloudOrgpolicyV1ListPolicy `json:"listPolicy,omitempty"`
 
 	// RestoreDefault: Restores the default behavior of the constraint;
-	// independent of
-	// `Constraint` type.
+	// independent of `Constraint` type.
 	RestoreDefault *GoogleCloudOrgpolicyV1RestoreDefault `json:"restoreDefault,omitempty"`
 
 	// UpdateTime: The time stamp the `Policy` was previously updated. This
-	// is set by the
-	// server, not specified by the caller, and represents the last time a
-	// call to
-	// `SetOrgPolicy` was made for that `Policy`. Any value set by the
-	// client will
-	// be ignored.
+	// is set by the server, not specified by the caller, and represents the
+	// last time a call to `SetOrgPolicy` was made for that `Policy`. Any
+	// value set by the client will be ignored.
 	UpdateTime string `json:"updateTime,omitempty"`
 
 	// Version: Version of the `Policy`. Default version is 0;
@@ -1197,33 +898,22 @@
 }
 
 // GoogleCloudOrgpolicyV1RestoreDefault: Ignores policies set above this
-// resource and restores the
-// `constraint_default` enforcement behavior of the specific
-// `Constraint` at
-// this resource.
-//
-// Suppose that `constraint_default` is set to `ALLOW` for
-// the
-// `Constraint` `constraints/serviceuser.services`. Suppose that
-// organization
-// foo.com sets a `Policy` at their Organization resource node that
-// restricts
-// the allowed service activations to deny all service activations.
-// They
-// could then set a `Policy` with the `policy_type` `restore_default`
-// on
-// several experimental projects, restoring the
-// `constraint_default`
+// resource and restores the `constraint_default` enforcement behavior
+// of the specific `Constraint` at this resource. Suppose that
+// `constraint_default` is set to `ALLOW` for the `Constraint`
+// `constraints/serviceuser.services`. Suppose that organization foo.com
+// sets a `Policy` at their Organization resource node that restricts
+// the allowed service activations to deny all service activations. They
+// could then set a `Policy` with the `policy_type` `restore_default` on
+// several experimental projects, restoring the `constraint_default`
 // enforcement of the `Constraint` for only those projects, allowing
-// those
-// projects to have all services activated.
+// those projects to have all services activated.
 type GoogleCloudOrgpolicyV1RestoreDefault struct {
 }
 
 // GoogleIdentityAccesscontextmanagerV1AccessLevel: An `AccessLevel` is
-// a label that can be applied to requests to Google Cloud
-// services, along with a list of requirements necessary for the label
-// to be
+// a label that can be applied to requests to Google Cloud services,
+// along with a list of requirements necessary for the label to be
 // applied.
 type GoogleIdentityAccesscontextmanagerV1AccessLevel struct {
 	// Basic: A `BasicLevel` composed of `Conditions`.
@@ -1237,12 +927,9 @@
 	Description string `json:"description,omitempty"`
 
 	// Name: Required. Resource name for the Access Level. The `short_name`
-	// component
-	// must begin with a letter and only include alphanumeric and '_'.
-	// Format:
-	// `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum
-	// length
-	// of the `short_name` component is 50 characters.
+	// component must begin with a letter and only include alphanumeric and
+	// '_'. Format: `accessPolicies/{policy_id}/accessLevels/{short_name}`.
+	// The maximum length of the `short_name` component is 50 characters.
 	Name string `json:"name,omitempty"`
 
 	// Title: Human readable title. Must be unique within the Policy.
@@ -1272,35 +959,26 @@
 }
 
 // GoogleIdentityAccesscontextmanagerV1AccessPolicy: `AccessPolicy` is a
-// container for `AccessLevels` (which define the necessary
-// attributes to use Google Cloud services) and `ServicePerimeters`
-// (which
-// define regions of services able to freely pass data within a
-// perimeter). An
-// access policy is globally visible within an organization, and
-// the
+// container for `AccessLevels` (which define the necessary attributes
+// to use Google Cloud services) and `ServicePerimeters` (which define
+// regions of services able to freely pass data within a perimeter). An
+// access policy is globally visible within an organization, and the
 // restrictions it specifies apply to all projects within an
 // organization.
 type GoogleIdentityAccesscontextmanagerV1AccessPolicy struct {
 	// Etag: Output only. An opaque identifier for the current version of
-	// the
-	// `AccessPolicy`. This will always be a strongly validated etag,
-	// meaning that
-	// two Access Polices will be identical if and only if their etags
-	// are
-	// identical. Clients should not expect this to be in any specific
-	// format.
+	// the `AccessPolicy`. This will always be a strongly validated etag,
+	// meaning that two Access Polices will be identical if and only if
+	// their etags are identical. Clients should not expect this to be in
+	// any specific format.
 	Etag string `json:"etag,omitempty"`
 
-	// Name: Output only. Resource name of the `AccessPolicy`.
-	// Format:
+	// Name: Output only. Resource name of the `AccessPolicy`. Format:
 	// `accessPolicies/{policy_id}`
 	Name string `json:"name,omitempty"`
 
 	// Parent: Required. The parent of this `AccessPolicy` in the Cloud
-	// Resource
-	// Hierarchy. Currently immutable once created.
-	// Format:
+	// Resource Hierarchy. Currently immutable once created. Format:
 	// `organizations/{organization_id}`
 	Parent string `json:"parent,omitempty"`
 
@@ -1334,14 +1012,11 @@
 // `AccessLevel` using a set of recommended features.
 type GoogleIdentityAccesscontextmanagerV1BasicLevel struct {
 	// CombiningFunction: How the `conditions` list should be combined to
-	// determine if a request is
-	// granted this `AccessLevel`. If AND is used, each `Condition`
-	// in
-	// `conditions` must be satisfied for the `AccessLevel` to be applied.
-	// If OR
-	// is used, at least one `Condition` in `conditions` must be satisfied
-	// for the
-	// `AccessLevel` to be applied. Default behavior is AND.
+	// determine if a request is granted this `AccessLevel`. If AND is used,
+	// each `Condition` in `conditions` must be satisfied for the
+	// `AccessLevel` to be applied. If OR is used, at least one `Condition`
+	// in `conditions` must be satisfied for the `AccessLevel` to be
+	// applied. Default behavior is AND.
 	//
 	// Possible values:
 	//   "AND" - All `Conditions` must be true for the `BasicLevel` to be
@@ -1379,66 +1054,48 @@
 }
 
 // GoogleIdentityAccesscontextmanagerV1Condition: A condition necessary
-// for an `AccessLevel` to be granted. The Condition is an
-// AND over its fields. So a Condition is true if: 1) the request IP is
-// from one
-// of the listed subnetworks AND 2) the originating device complies with
-// the
-// listed device policy AND 3) all listed access levels are granted AND
-// 4) the
-// request was sent at a time allowed by the DateTimeRestriction.
+// for an `AccessLevel` to be granted. The Condition is an AND over its
+// fields. So a Condition is true if: 1) the request IP is from one of
+// the listed subnetworks AND 2) the originating device complies with
+// the listed device policy AND 3) all listed access levels are granted
+// AND 4) the request was sent at a time allowed by the
+// DateTimeRestriction.
 type GoogleIdentityAccesscontextmanagerV1Condition struct {
 	// DevicePolicy: Device specific restrictions, all restrictions must
-	// hold for the
-	// Condition to be true. If not specified, all devices are allowed.
+	// hold for the Condition to be true. If not specified, all devices are
+	// allowed.
 	DevicePolicy *GoogleIdentityAccesscontextmanagerV1DevicePolicy `json:"devicePolicy,omitempty"`
 
 	// IpSubnetworks: CIDR block IP subnetwork specification. May be IPv4 or
-	// IPv6. Note that for
-	// a CIDR IP address block, the specified IP address portion must be
-	// properly
-	// truncated (i.e. all the host bits must be zero) or the input is
-	// considered
-	// malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24"
-	// is
-	// not. Similarly, for IPv6, "2001:db8::/32" is accepted
-	// whereas
-	// "2001:db8::1/32" is not. The originating IP of a request must be in
-	// one of
-	// the listed subnets in order for this Condition to be true. If empty,
-	// all IP
-	// addresses are allowed.
+	// IPv6. Note that for a CIDR IP address block, the specified IP address
+	// portion must be properly truncated (i.e. all the host bits must be
+	// zero) or the input is considered malformed. For example,
+	// "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly, for
+	// IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32" is not.
+	// The originating IP of a request must be in one of the listed subnets
+	// in order for this Condition to be true. If empty, all IP addresses
+	// are allowed.
 	IpSubnetworks []string `json:"ipSubnetworks,omitempty"`
 
 	// Members: The request must be made by one of the provided user or
-	// service
-	// accounts. Groups are not
-	// supported.
-	// Syntax:
-	// `user:{emailid}`
-	// `serviceAccount:{emailid}`
-	// If not specified, a request may come from any user.
+	// service accounts. Groups are not supported. Syntax: `user:{emailid}`
+	// `serviceAccount:{emailid}` If not specified, a request may come from
+	// any user.
 	Members []string `json:"members,omitempty"`
 
 	// Negate: Whether to negate the Condition. If true, the Condition
-	// becomes a NAND over
-	// its non-empty fields, each field must be false for the Condition
-	// overall to
-	// be satisfied. Defaults to false.
+	// becomes a NAND over its non-empty fields, each field must be false
+	// for the Condition overall to be satisfied. Defaults to false.
 	Negate bool `json:"negate,omitempty"`
 
 	// Regions: The request must originate from one of the provided
-	// countries/regions.
-	// Must be valid ISO 3166-1 alpha-2 codes.
+	// countries/regions. Must be valid ISO 3166-1 alpha-2 codes.
 	Regions []string `json:"regions,omitempty"`
 
 	// RequiredAccessLevels: A list of other access levels defined in the
-	// same `Policy`, referenced by
-	// resource name. Referencing an `AccessLevel` which does not exist is
-	// an
-	// error. All access levels listed must be granted for the Condition
-	// to be true.
-	// Example:
+	// same `Policy`, referenced by resource name. Referencing an
+	// `AccessLevel` which does not exist is an error. All access levels
+	// listed must be granted for the Condition to be true. Example:
 	// "accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME"
 	RequiredAccessLevels []string `json:"requiredAccessLevels,omitempty"`
 
@@ -1466,10 +1123,9 @@
 }
 
 // GoogleIdentityAccesscontextmanagerV1CustomLevel: `CustomLevel` is an
-// `AccessLevel` using the Cloud Common Expression Language
-// to represent the necessary conditions for the level to apply to a
-// request.
-// See CEL spec at: https://github.com/google/cel-spec
+// `AccessLevel` using the Cloud Common Expression Language to represent
+// the necessary conditions for the level to apply to a request. See CEL
+// spec at: https://github.com/google/cel-spec
 type GoogleIdentityAccesscontextmanagerV1CustomLevel struct {
 	// Expr: Required. A Cloud CEL expression evaluating to a boolean.
 	Expr *Expr `json:"expr,omitempty"`
@@ -1498,39 +1154,30 @@
 }
 
 // GoogleIdentityAccesscontextmanagerV1DevicePolicy: `DevicePolicy`
-// specifies device specific restrictions necessary to acquire a
-// given access level. A `DevicePolicy` specifies requirements for
-// requests from
-// devices to be granted access levels, it does not do any enforcement
-// on the
-// device. `DevicePolicy` acts as an AND over all specified fields, and
-// each
-// repeated field is an OR over its elements. Any unset fields are
-// ignored. For
-// example, if the proto is { os_type : DESKTOP_WINDOWS, os_type
-// :
-// DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy
-// will be
-// true for requests originating from encrypted Linux desktops and
-// encrypted
-// Windows desktops.
+// specifies device specific restrictions necessary to acquire a given
+// access level. A `DevicePolicy` specifies requirements for requests
+// from devices to be granted access levels, it does not do any
+// enforcement on the device. `DevicePolicy` acts as an AND over all
+// specified fields, and each repeated field is an OR over its elements.
+// Any unset fields are ignored. For example, if the proto is { os_type
+// : DESKTOP_WINDOWS, os_type : DESKTOP_LINUX, encryption_status:
+// ENCRYPTED}, then the DevicePolicy will be true for requests
+// originating from encrypted Linux desktops and encrypted Windows
+// desktops.
 type GoogleIdentityAccesscontextmanagerV1DevicePolicy struct {
 	// AllowedDeviceManagementLevels: Allowed device management levels, an
-	// empty list allows all management
-	// levels.
+	// empty list allows all management levels.
 	//
 	// Possible values:
 	//   "MANAGEMENT_UNSPECIFIED" - The device's management level is not
 	// specified or not known.
 	//   "NONE" - The device is not managed.
 	//   "BASIC" - Basic management is enabled, which is generally limited
-	// to monitoring and
-	// wiping the corporate account.
+	// to monitoring and wiping the corporate account.
 	//   "COMPLETE" - Complete device management. This includes more
-	// thorough monitoring and the
-	// ability to directly manage the device (such as remote wiping). This
-	// can be
-	// enabled through the Android Enterprise Platform.
+	// thorough monitoring and the ability to directly manage the device
+	// (such as remote wiping). This can be enabled through the Android
+	// Enterprise Platform.
 	AllowedDeviceManagementLevels []string `json:"allowedDeviceManagementLevels,omitempty"`
 
 	// AllowedEncryptionStatuses: Allowed encryptions statuses, an empty
@@ -1557,8 +1204,7 @@
 	RequireCorpOwned bool `json:"requireCorpOwned,omitempty"`
 
 	// RequireScreenlock: Whether or not screenlock is required for the
-	// DevicePolicy to be true.
-	// Defaults to `false`.
+	// DevicePolicy to be true. Defaults to `false`.
 	RequireScreenlock bool `json:"requireScreenlock,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -1590,9 +1236,8 @@
 // the OS type and version of devices making requests.
 type GoogleIdentityAccesscontextmanagerV1OsConstraint struct {
 	// MinimumVersion: The minimum allowed OS version. If not set, any
-	// version of this OS
-	// satisfies the constraint. Format: "major.minor.patch".
-	// Examples: "10.5.301", "9.2.1".
+	// version of this OS satisfies the constraint. Format:
+	// "major.minor.patch". Examples: "10.5.301", "9.2.1".
 	MinimumVersion string `json:"minimumVersion,omitempty"`
 
 	// OsType: Required. The allowed OS type.
@@ -1609,12 +1254,9 @@
 	OsType string `json:"osType,omitempty"`
 
 	// RequireVerifiedChromeOs: Only allows requests from devices with a
-	// verified Chrome OS.
-	// Verifications includes requirements that the device is
-	// enterprise-managed,
-	// conformant to domain policies, and the caller has permission to
-	// call
-	// the API targeted by the request.
+	// verified Chrome OS. Verifications includes requirements that the
+	// device is enterprise-managed, conformant to domain policies, and the
+	// caller has permission to call the API targeted by the request.
 	RequireVerifiedChromeOs bool `json:"requireVerifiedChromeOs,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "MinimumVersion") to
@@ -1643,47 +1285,33 @@
 
 // GoogleIdentityAccesscontextmanagerV1ServicePerimeter:
 // `ServicePerimeter` describes a set of Google Cloud resources which
-// can freely
-// import and export data amongst themselves, but not export outside of
-// the
-// `ServicePerimeter`. If a request with a source within this
-// `ServicePerimeter`
-// has a target outside of the `ServicePerimeter`, the request will be
-// blocked.
-// Otherwise the request is allowed. There are two types of Service
-// Perimeter -
+// can freely import and export data amongst themselves, but not export
+// outside of the `ServicePerimeter`. If a request with a source within
+// this `ServicePerimeter` has a target outside of the
+// `ServicePerimeter`, the request will be blocked. Otherwise the
+// request is allowed. There are two types of Service Perimeter -
 // Regular and Bridge. Regular Service Perimeters cannot overlap, a
-// single
-// Google Cloud project can only belong to a single regular Service
-// Perimeter.
-// Service Perimeter Bridges can contain only Google Cloud projects as
-// members,
-// a single Google Cloud project may belong to multiple Service
-// Perimeter
-// Bridges.
+// single Google Cloud project can only belong to a single regular
+// Service Perimeter. Service Perimeter Bridges can contain only Google
+// Cloud projects as members, a single Google Cloud project may belong
+// to multiple Service Perimeter Bridges.
 type GoogleIdentityAccesscontextmanagerV1ServicePerimeter struct {
 	// Description: Description of the `ServicePerimeter` and its use. Does
-	// not affect
-	// behavior.
+	// not affect behavior.
 	Description string `json:"description,omitempty"`
 
-	// Name: Required. Resource name for the ServicePerimeter.  The
-	// `short_name`
-	// component must begin with a letter and only include alphanumeric and
-	// '_'.
-	// Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`
+	// Name: Required. Resource name for the ServicePerimeter. The
+	// `short_name` component must begin with a letter and only include
+	// alphanumeric and '_'. Format:
+	// `accessPolicies/{policy_id}/servicePerimeters/{short_name}`
 	Name string `json:"name,omitempty"`
 
-	// PerimeterType: Perimeter type indicator. A single project is
-	// allowed to be a member of single regular perimeter, but multiple
-	// service
+	// PerimeterType: Perimeter type indicator. A single project is allowed
+	// to be a member of single regular perimeter, but multiple service
 	// perimeter bridges. A project cannot be a included in a perimeter
-	// bridge
-	// without being included in regular perimeter. For perimeter
-	// bridges,
-	// the restricted service list as well as access level lists must
-	// be
-	// empty.
+	// bridge without being included in regular perimeter. For perimeter
+	// bridges, the restricted service list as well as access level lists
+	// must be empty.
 	//
 	// Possible values:
 	//   "PERIMETER_TYPE_REGULAR" - Regular Perimeter.
@@ -1691,43 +1319,30 @@
 	PerimeterType string `json:"perimeterType,omitempty"`
 
 	// Spec: Proposed (or dry run) ServicePerimeter configuration. This
-	// configuration
-	// allows to specify and test ServicePerimeter configuration without
-	// enforcing
-	// actual access restrictions. Only allowed to be set when
-	// the
-	// "use_explicit_dry_run_spec" flag is set.
+	// configuration allows to specify and test ServicePerimeter
+	// configuration without enforcing actual access restrictions. Only
+	// allowed to be set when the "use_explicit_dry_run_spec" flag is set.
 	Spec *GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig `json:"spec,omitempty"`
 
 	// Status: Current ServicePerimeter configuration. Specifies sets of
-	// resources,
-	// restricted services and access levels that determine
-	// perimeter
-	// content and boundaries.
+	// resources, restricted services and access levels that determine
+	// perimeter content and boundaries.
 	Status *GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig `json:"status,omitempty"`
 
 	// Title: Human readable title. Must be unique within the Policy.
 	Title string `json:"title,omitempty"`
 
 	// UseExplicitDryRunSpec: Use explicit dry run spec flag. Ordinarily, a
-	// dry-run spec implicitly
-	// exists  for all Service Perimeters, and that spec is identical to
-	// the
-	// status for those Service Perimeters. When this flag is set, it
-	// inhibits the
-	// generation of the implicit spec, thereby allowing the user to
-	// explicitly
-	// provide a configuration ("spec") to use in a dry-run version of the
-	// Service
-	// Perimeter. This allows the user to test changes to the enforced
-	// config
-	// ("status") without actually enforcing them. This testing is done
-	// through
-	// analyzing the differences between currently enforced and
-	// suggested
+	// dry-run spec implicitly exists for all Service Perimeters, and that
+	// spec is identical to the status for those Service Perimeters. When
+	// this flag is set, it inhibits the generation of the implicit spec,
+	// thereby allowing the user to explicitly provide a configuration
+	// ("spec") to use in a dry-run version of the Service Perimeter. This
+	// allows the user to test changes to the enforced config ("status")
+	// without actually enforcing them. This testing is done through
+	// analyzing the differences between currently enforced and suggested
 	// restrictions. use_explicit_dry_run_spec must bet set to True if any
-	// of the
-	// fields in the spec are set to non-default values.
+	// of the fields in the spec are set to non-default values.
 	UseExplicitDryRunSpec bool `json:"useExplicitDryRunSpec,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -1755,38 +1370,28 @@
 
 // GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig:
 // `ServicePerimeterConfig` specifies a set of Google Cloud resources
-// that
-// describe specific Service Perimeter configuration.
+// that describe specific Service Perimeter configuration.
 type GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig struct {
 	// AccessLevels: A list of `AccessLevel` resource names that allow
-	// resources within the
-	// `ServicePerimeter` to be accessed from the internet. `AccessLevels`
-	// listed
-	// must be in the same policy as this `ServicePerimeter`. Referencing
-	// a
-	// nonexistent `AccessLevel` is a syntax error. If no `AccessLevel`
-	// names are
-	// listed, resources within the perimeter can only be accessed via
-	// Google
-	// Cloud calls with request origins within the perimeter.
-	// Example:
-	// "accessPolicies/MY_POLICY/accessLevels/MY_LEVEL".
-	// For Service Perimeter Bridge, must be empty.
+	// resources within the `ServicePerimeter` to be accessed from the
+	// internet. `AccessLevels` listed must be in the same policy as this
+	// `ServicePerimeter`. Referencing a nonexistent `AccessLevel` is a
+	// syntax error. If no `AccessLevel` names are listed, resources within
+	// the perimeter can only be accessed via Google Cloud calls with
+	// request origins within the perimeter. Example:
+	// "accessPolicies/MY_POLICY/accessLevels/MY_LEVEL". For Service
+	// Perimeter Bridge, must be empty.
 	AccessLevels []string `json:"accessLevels,omitempty"`
 
 	// Resources: A list of Google Cloud resources that are inside of the
-	// service perimeter.
-	// Currently only projects are allowed. Format:
+	// service perimeter. Currently only projects are allowed. Format:
 	// `projects/{project_number}`
 	Resources []string `json:"resources,omitempty"`
 
 	// RestrictedServices: Google Cloud services that are subject to the
-	// Service Perimeter
-	// restrictions. For example, if `storage.googleapis.com` is specified,
-	// access
-	// to the storage buckets inside the perimeter must meet the
-	// perimeter's
-	// access restrictions.
+	// Service Perimeter restrictions. For example, if
+	// `storage.googleapis.com` is specified, access to the storage buckets
+	// inside the perimeter must meet the perimeter's access restrictions.
 	RestrictedServices []string `json:"restrictedServices,omitempty"`
 
 	// VpcAccessibleServices: Configuration for APIs allowed within
@@ -1817,22 +1422,17 @@
 }
 
 // GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices: Specifies
-// how APIs are allowed to communicate within the Service
-// Perimeter.
+// how APIs are allowed to communicate within the Service Perimeter.
 type GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices struct {
 	// AllowedServices: The list of APIs usable within the Service
-	// Perimeter. Must be empty
-	// unless 'enable_restriction' is True. You can specify a list of
-	// individual
-	// services, as well as include the 'RESTRICTED-SERVICES' value,
-	// which
-	// automatically includes all of the services protected by the
-	// perimeter.
+	// Perimeter. Must be empty unless 'enable_restriction' is True. You can
+	// specify a list of individual services, as well as include the
+	// 'RESTRICTED-SERVICES' value, which automatically includes all of the
+	// services protected by the perimeter.
 	AllowedServices []string `json:"allowedServices,omitempty"`
 
 	// EnableRestriction: Whether to restrict API calls within the Service
-	// Perimeter to the list of
-	// APIs specified in 'allowed_services'.
+	// Perimeter to the list of APIs specified in 'allowed_services'.
 	EnableRestriction bool `json:"enableRestriction,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AllowedServices") to
@@ -1860,52 +1460,38 @@
 }
 
 // Operation: This resource represents a long-running operation that is
-// the result of a
-// network API call.
+// the result of a network API call.
 type Operation struct {
 	// Done: 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.
+	// progress. If `true`, the operation is completed, and either `error`
+	// or `response` is available.
 	Done bool `json:"done,omitempty"`
 
 	// Error: The error result of the operation in case of failure or
 	// cancellation.
 	Error *Status `json:"error,omitempty"`
 
-	// Metadata: 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.
+	// Metadata: 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.
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Name: The server-assigned name, which is only unique within the same
-	// service that
-	// originally returns it. If you use the default HTTP mapping,
-	// the
-	// `name` should be a resource name ending with
+	// service that originally returns it. If you use the default HTTP
+	// mapping, the `name` should be a resource name ending with
 	// `operations/{unique_id}`.
 	Name string `json:"name,omitempty"`
 
-	// Response: 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`.
+	// Response: 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`.
 	Response googleapi.RawMessage `json:"response,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1965,154 +1551,77 @@
 }
 
 // Policy: An Identity and Access Management (IAM) policy, which
-// specifies access
-// controls for Google Cloud resources.
-//
-//
-// A `Policy` is a collection of `bindings`. A `binding` binds one or
-// more
-// `members` to a single `role`. Members can be user accounts, service
-// accounts,
+// specifies access controls for Google Cloud resources. A `Policy` is a
+// collection of `bindings`. A `binding` binds one or more `members` to
+// a single `role`. Members can be user accounts, service accounts,
 // Google groups, and domains (such as G Suite). A `role` is a named
-// list of
-// permissions; each `role` can be an IAM predefined role or a
-// user-created
-// custom role.
-//
-// For some types of Google Cloud resources, a `binding` can also
-// specify a
-// `condition`, which is a logical expression that allows access to a
-// resource
-// only if the expression evaluates to `true`. A condition can add
-// constraints
-// based on attributes of the request, the resource, or both. To learn
-// which
-// resources support conditions in their IAM policies, see the
-// [IAM
+// list of permissions; each `role` can be an IAM predefined role or a
+// user-created custom role. For some types of Google Cloud resources, a
+// `binding` can also specify a `condition`, which is a logical
+// expression that allows access to a resource only if the expression
+// evaluates to `true`. A condition can add constraints based on
+// attributes of the request, the resource, or both. To learn which
+// resources support conditions in their IAM policies, see the [IAM
 // documentation](https://cloud.google.com/iam/help/conditions/resource-p
-// olicies).
-//
-// **JSON example:**
-//
-//     {
-//       "bindings": [
-//         {
-//           "role": "roles/resourcemanager.organizationAdmin",
-//           "members": [
-//             "user:mike@example.com",
-//             "group:admins@example.com",
-//             "domain:google.com",
-//
-// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
-//           ]
-//         },
-//         {
-//           "role": "roles/resourcemanager.organizationViewer",
-//           "members": [
-//             "user:eve@example.com"
-//           ],
-//           "condition": {
-//             "title": "expirable access",
-//             "description": "Does not grant access after Sep 2020",
-//             "expression": "request.time <
-// timestamp('2020-10-01T00:00:00.000Z')",
-//           }
-//         }
-//       ],
-//       "etag": "BwWWja0YfJA=",
-//       "version": 3
-//     }
-//
-// **YAML example:**
-//
-//     bindings:
-//     - members:
-//       - user:mike@example.com
-//       - group:admins@example.com
-//       - domain:google.com
-//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
-//       role: roles/resourcemanager.organizationAdmin
-//     - members:
-//       - user:eve@example.com
-//       role: roles/resourcemanager.organizationViewer
-//       condition:
-//         title: expirable access
-//         description: Does not grant access after Sep 2020
-//         expression: request.time <
-// timestamp('2020-10-01T00:00:00.000Z')
-//     - etag: BwWWja0YfJA=
-//     - version: 3
-//
-// For a description of IAM and its features, see the
-// [IAM documentation](https://cloud.google.com/iam/docs/).
+// olicies). **JSON example:** { "bindings": [ { "role":
+// "roles/resourcemanager.organizationAdmin", "members": [
+// "user:mike@example.com", "group:admins@example.com",
+// "domain:google.com",
+// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
+// "role": "roles/resourcemanager.organizationViewer", "members": [
+// "user:eve@example.com" ], "condition": { "title": "expirable access",
+// "description": "Does not grant access after Sep 2020", "expression":
+// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
+// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
+// members: - user:mike@example.com - group:admins@example.com -
+// domain:google.com -
+// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
+// roles/resourcemanager.organizationAdmin - members: -
+// user:eve@example.com role: roles/resourcemanager.organizationViewer
+// condition: title: expirable access description: Does not grant access
+// after Sep 2020 expression: request.time <
+// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
+// 3 For a description of IAM and its features, see the [IAM
+// documentation](https://cloud.google.com/iam/docs/).
 type Policy struct {
 	// AuditConfigs: Specifies cloud audit logging configuration for this
 	// policy.
 	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
 
 	// Bindings: Associates a list of `members` to a `role`. Optionally, may
-	// specify a
-	// `condition` that determines how and when the `bindings` are applied.
-	// Each
-	// of the `bindings` must contain at least one member.
+	// specify a `condition` that determines how and when the `bindings` are
+	// applied. Each of the `bindings` must contain at least one member.
 	Bindings []*Binding `json:"bindings,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a policy from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform policy updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `getIamPolicy`,
-	// and
-	// systems are expected to put that etag in the request to
-	// `setIamPolicy` to
-	// ensure that their change will be applied to the same version of the
-	// policy.
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
+	// help prevent simultaneous updates of a policy from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform policy updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `getIamPolicy`, and systems are expected to put that etag in the
+	// request to `setIamPolicy` to ensure that their change will be applied
+	// to the same version of the policy. **Important:** If you use IAM
+	// Conditions, you must include the `etag` field whenever you call
+	// `setIamPolicy`. If you omit this field, then IAM allows you to
+	// overwrite a version `3` policy with a version `1` policy, and all of
 	// the conditions in the version `3` policy are lost.
 	Etag string `json:"etag,omitempty"`
 
-	// Version: Specifies the format of the policy.
-	//
-	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
-	// value
-	// are rejected.
-	//
+	// Version: Specifies the format of the policy. Valid values are `0`,
+	// `1`, and `3`. Requests that specify an invalid value are rejected.
 	// Any operation that affects conditional role bindings must specify
-	// version
-	// `3`. This requirement applies to the following operations:
-	//
-	// * Getting a policy that includes a conditional role binding
-	// * Adding a conditional role binding to a policy
-	// * Changing a conditional role binding in a policy
-	// * Removing any role binding, with or without a condition, from a
-	// policy
-	//   that includes conditions
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
-	// the conditions in the version `3` policy are lost.
-	//
-	// If a policy does not include any conditions, operations on that
-	// policy may
-	// specify any valid version or leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see the
-	// [IAM
+	// version `3`. This requirement applies to the following operations: *
+	// Getting a policy that includes a conditional role binding * Adding a
+	// conditional role binding to a policy * Changing a conditional role
+	// binding in a policy * Removing any role binding, with or without a
+	// condition, from a policy that includes conditions **Important:** If
+	// you use IAM Conditions, you must include the `etag` field whenever
+	// you call `setIamPolicy`. If you omit this field, then IAM allows you
+	// to overwrite a version `3` policy with a version `1` policy, and all
+	// of the conditions in the version `3` policy are lost. If a policy
+	// does not include any conditions, operations on that policy may
+	// specify any valid version or leave the field unset. To learn which
+	// resources support conditions in their IAM policies, see the [IAM
 	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
 	// olicies).
 	Version int64 `json:"version,omitempty"`
@@ -2143,59 +1652,37 @@
 // Resource: A representation of a Google Cloud resource.
 type Resource struct {
 	// Data: The content of the resource, in which some sensitive fields are
-	// removed
-	// and may not be present.
+	// removed and may not be present.
 	Data googleapi.RawMessage `json:"data,omitempty"`
 
 	// DiscoveryDocumentUri: The URL of the discovery document containing
-	// the resource's JSON
-	// schema.
-	// Example:
-	// `https://www.googleapis.com/discovery/v1/apis/compute
-	// /v1/rest`
-	//
-	// This value is unspecified for resources that do not have an API based
-	// on a
+	// the resource's JSON schema. Example:
+	// `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest` This
+	// value is unspecified for resources that do not have an API based on a
 	// discovery document, such as Cloud Bigtable.
 	DiscoveryDocumentUri string `json:"discoveryDocumentUri,omitempty"`
 
 	// DiscoveryName: The JSON schema name listed in the discovery document.
-	// Example:
-	// `Project`
-	//
-	// This value is unspecified for resources that do not have an API based
-	// on a
-	// discovery document, such as Cloud Bigtable.
+	// Example: `Project` This value is unspecified for resources that do
+	// not have an API based on a discovery document, such as Cloud
+	// Bigtable.
 	DiscoveryName string `json:"discoveryName,omitempty"`
 
-	// Parent: The full name of the immediate parent of this resource.
-	// See
+	// Parent: The full name of the immediate parent of this resource. See
 	// [Resource
-	// Names](https://cloud.google.com/apis/design/resource_nam
-	// es#full_resource_name)
-	// for more information.
-	//
-	// For Google Cloud assets, this value is the parent resource defined in
-	// the
-	// [Cloud IAM
-	// policy
-	// hierarchy](https://cloud.google.com/iam/docs/overview#policy_hi
-	// erarchy).
-	// Example:
-	// `//cloudresourcemanager.googleapis.com/projects/my_
-	// project_123`
-	//
-	// For third-party assets, this field may be set differently.
+	// Names](https://cloud.google.com/apis/design/resource_names#full_resour
+	// ce_name) for more information. For Google Cloud assets, this value is
+	// the parent resource defined in the [Cloud IAM policy
+	// hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy
+	// ). Example:
+	// `//cloudresourcemanager.googleapis.com/projects/my_project_123` For
+	// third-party assets, this field may be set differently.
 	Parent string `json:"parent,omitempty"`
 
 	// ResourceUrl: The REST URL for accessing the resource. An HTTP `GET`
-	// request using this
-	// URL returns the resource itself.
-	// Example:
-	// `https://cloudresourcemanager.googleapis.com/v1/projects/my-p
-	// roject-123`
-	//
-	// This value is unspecified for resources without a REST API.
+	// request using this URL returns the resource itself. Example:
+	// `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-12
+	// 3` This value is unspecified for resources without a REST API.
 	ResourceUrl string `json:"resourceUrl,omitempty"`
 
 	// Version: The API version. Example: `v1`
@@ -2225,32 +1712,24 @@
 }
 
 // Status: The `Status` type defines a logical error model that is
-// suitable for
-// different programming environments, including REST APIs and RPC APIs.
-// It is
-// used by [gRPC](https://github.com/grpc). Each `Status` message
-// contains
-// three pieces of data: error code, error message, and error
-// details.
-//
-// You can find out more about this error model and how to work with it
-// in the
-// [API Design Guide](https://cloud.google.com/apis/design/errors).
+// suitable for different programming environments, including REST APIs
+// and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each
+// `Status` message contains three pieces of data: error code, error
+// message, and error details. You can find out more about this error
+// model and how to work with it in the [API Design
+// Guide](https://cloud.google.com/apis/design/errors).
 type Status struct {
 	// Code: The status code, which should be an enum value of
 	// google.rpc.Code.
 	Code int64 `json:"code,omitempty"`
 
-	// Details: A list of messages that carry the error details.  There is a
-	// common set of
-	// message types for APIs to use.
+	// Details: A list of messages that carry the error details. There is a
+	// common set of message types for APIs to use.
 	Details []googleapi.RawMessage `json:"details,omitempty"`
 
 	// Message: 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.
+	// English. Any user-facing error message should be localized and sent
+	// in the google.rpc.Status.details field, or localized by the client.
 	Message string `json:"message,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Code") to
@@ -2277,8 +1756,8 @@
 }
 
 // TemporalAsset: An asset in Google Cloud and its temporal metadata,
-// including the time window
-// when it was observed and its status during that window.
+// including the time window when it was observed and its status during
+// that window.
 type TemporalAsset struct {
 	// Asset: An asset in Google Cloud.
 	Asset *Asset `json:"asset,omitempty"`
@@ -2316,8 +1795,7 @@
 // `end_time`.
 type TimeWindow struct {
 	// EndTime: End time of the time window (inclusive). If not specified,
-	// the current
-	// timestamp is used instead.
+	// the current timestamp is used instead.
 	EndTime string `json:"endTime,omitempty"`
 
 	// StartTime: Start time of the time window (exclusive).
@@ -2358,17 +1836,12 @@
 }
 
 // ExportAssets: Exports assets with time and resource types to a given
-// Cloud Storage
-// location. The output format is newline-delimited JSON.
-// This API implements the google.longrunning.Operation API allowing
-// you
+// Cloud Storage location. The output format is newline-delimited JSON.
+// This API implements the google.longrunning.Operation API allowing you
 // to keep track of the export. We recommend intervals of at least 2
-// seconds
-// with exponential retry to poll the export operation result.
-// For
-// regular-size resource parent, the export operation usually finishes
-// within
-// 5 minutes.
+// seconds with exponential retry to poll the export operation result.
+// For regular-size resource parent, the export operation usually
+// finishes within 5 minutes.
 func (r *FoldersService) ExportAssets(parent string, exportassetsrequest *ExportAssetsRequest) *FoldersExportAssetsCall {
 	c := &FoldersExportAssetsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -2403,7 +1876,7 @@
 
 func (c *FoldersExportAssetsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2467,7 +1940,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Exports assets with time and resource types to a given Cloud Storage\nlocation. The output format is newline-delimited JSON.\nThis API implements the google.longrunning.Operation API allowing you\nto keep track of the export. We recommend intervals of at least 2 seconds\nwith exponential retry to poll the export operation result. For\nregular-size resource parent, the export operation usually finishes within\n5 minutes.",
+	//   "description": "Exports assets with time and resource types to a given Cloud Storage location. The output format is newline-delimited JSON. This API implements the google.longrunning.Operation API allowing you to keep track of the export. We recommend intervals of at least 2 seconds with exponential retry to poll the export operation result. For regular-size resource parent, the export operation usually finishes within 5 minutes.",
 	//   "flatPath": "v1beta1/folders/{foldersId}:exportAssets",
 	//   "httpMethod": "POST",
 	//   "id": "cloudasset.folders.exportAssets",
@@ -2476,7 +1949,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The relative name of the root asset. This can only be an\norganization number (such as \"organizations/123\"), a project ID (such as\n\"projects/my-project-id\"), a project number (such as \"projects/12345\"), or\na folder number (such as \"folders/123\").",
+	//       "description": "Required. The relative name of the root asset. This can only be an organization number (such as \"organizations/123\"), a project ID (such as \"projects/my-project-id\"), a project number (such as \"projects/12345\"), or a folder number (such as \"folders/123\").",
 	//       "location": "path",
 	//       "pattern": "^folders/[^/]+$",
 	//       "required": true,
@@ -2508,11 +1981,9 @@
 	header_      http.Header
 }
 
-// Get: 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.
+// Get: 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.
 func (r *FoldersOperationsService) Get(name string) *FoldersOperationsGetCall {
 	c := &FoldersOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -2556,7 +2027,7 @@
 
 func (c *FoldersOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2618,7 +2089,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+	//   "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
 	//   "flatPath": "v1beta1/folders/{foldersId}/operations/{operationsId}/{operationsId1}",
 	//   "httpMethod": "GET",
 	//   "id": "cloudasset.folders.operations.get",
@@ -2657,16 +2128,11 @@
 }
 
 // BatchGetAssetsHistory: Batch gets the update history of assets that
-// overlap a time window.
-// For IAM_POLICY content, this API outputs history when the asset and
-// its
-// attached IAM POLICY both exist. This can create gaps in the output
-// history.
-// Otherwise, this API outputs history with asset in both non-delete
-// or
-// deleted status.
-// If a specified asset does not exist, this API returns an
-// INVALID_ARGUMENT
+// overlap a time window. For IAM_POLICY content, this API outputs
+// history when the asset and its attached IAM POLICY both exist. This
+// can create gaps in the output history. Otherwise, this API outputs
+// history with asset in both non-delete or deleted status. If a
+// specified asset does not exist, this API returns an INVALID_ARGUMENT
 // error.
 func (r *OrganizationsService) BatchGetAssetsHistory(parent string) *OrganizationsBatchGetAssetsHistoryCall {
 	c := &OrganizationsBatchGetAssetsHistoryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -2675,19 +2141,13 @@
 }
 
 // AssetNames sets the optional parameter "assetNames": A list of the
-// full names of the assets. For
-// example:
-// `//compute.googleapis.com/projects/my_project_123/zones/zone1
-// /instances/instance1`.
-// See
-// [Resource
-// Names](https://cloud.google.com/apis/design/resource_names#f
-// ull_resource_name)
-// for more info.
-//
-// The request becomes a no-op if the asset name list is empty, and the
-// max
-// size of the asset name list is 100 in one request.
+// full names of the assets. For example:
+// `//compute.googleapis.com/projects/my_project_123/zones/zone1/instance
+// s/instance1`. See [Resource
+// Names](https://cloud.google.com/apis/design/resource_names#full_resour
+// ce_name) for more info. The request becomes a no-op if the asset name
+// list is empty, and the max size of the asset name list is 100 in one
+// request.
 func (c *OrganizationsBatchGetAssetsHistoryCall) AssetNames(assetNames ...string) *OrganizationsBatchGetAssetsHistoryCall {
 	c.urlParams_.SetMulti("assetNames", append([]string{}, assetNames...))
 	return c
@@ -2697,9 +2157,9 @@
 // type.
 //
 // Possible values:
-//   "CONTENT_TYPE_UNSPECIFIED"
-//   "RESOURCE"
-//   "IAM_POLICY"
+//   "CONTENT_TYPE_UNSPECIFIED" - Unspecified content type.
+//   "RESOURCE" - Resource metadata.
+//   "IAM_POLICY" - The actual IAM policy set on a resource.
 func (c *OrganizationsBatchGetAssetsHistoryCall) ContentType(contentType string) *OrganizationsBatchGetAssetsHistoryCall {
 	c.urlParams_.Set("contentType", contentType)
 	return c
@@ -2707,8 +2167,7 @@
 
 // ReadTimeWindowEndTime sets the optional parameter
 // "readTimeWindow.endTime": End time of the time window (inclusive). If
-// not specified, the current
-// timestamp is used instead.
+// not specified, the current timestamp is used instead.
 func (c *OrganizationsBatchGetAssetsHistoryCall) ReadTimeWindowEndTime(readTimeWindowEndTime string) *OrganizationsBatchGetAssetsHistoryCall {
 	c.urlParams_.Set("readTimeWindow.endTime", readTimeWindowEndTime)
 	return c
@@ -2759,7 +2218,7 @@
 
 func (c *OrganizationsBatchGetAssetsHistoryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2821,7 +2280,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Batch gets the update history of assets that overlap a time window.\nFor IAM_POLICY content, this API outputs history when the asset and its\nattached IAM POLICY both exist. This can create gaps in the output history.\nOtherwise, this API outputs history with asset in both non-delete or\ndeleted status.\nIf a specified asset does not exist, this API returns an INVALID_ARGUMENT\nerror.",
+	//   "description": "Batch gets the update history of assets that overlap a time window. For IAM_POLICY content, this API outputs history when the asset and its attached IAM POLICY both exist. This can create gaps in the output history. Otherwise, this API outputs history with asset in both non-delete or deleted status. If a specified asset does not exist, this API returns an INVALID_ARGUMENT error.",
 	//   "flatPath": "v1beta1/organizations/{organizationsId}:batchGetAssetsHistory",
 	//   "httpMethod": "GET",
 	//   "id": "cloudasset.organizations.batchGetAssetsHistory",
@@ -2830,7 +2289,7 @@
 	//   ],
 	//   "parameters": {
 	//     "assetNames": {
-	//       "description": "A list of the full names of the assets. For example:\n`//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.\nSee [Resource\nNames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nfor more info.\n\nThe request becomes a no-op if the asset name list is empty, and the max\nsize of the asset name list is 100 in one request.",
+	//       "description": "A list of the full names of the assets. For example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. See [Resource Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more info. The request becomes a no-op if the asset name list is empty, and the max size of the asset name list is 100 in one request.",
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
@@ -2842,18 +2301,23 @@
 	//         "RESOURCE",
 	//         "IAM_POLICY"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Unspecified content type.",
+	//         "Resource metadata.",
+	//         "The actual IAM policy set on a resource."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The relative name of the root asset. It can only be an\norganization number (such as \"organizations/123\"), a project ID (such as\n\"projects/my-project-id\")\", or a project number (such as \"projects/12345\").",
+	//       "description": "Required. The relative name of the root asset. It can only be an organization number (such as \"organizations/123\"), a project ID (such as \"projects/my-project-id\")\", or a project number (such as \"projects/12345\").",
 	//       "location": "path",
 	//       "pattern": "^organizations/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "readTimeWindow.endTime": {
-	//       "description": "End time of the time window (inclusive). If not specified, the current\ntimestamp is used instead.",
+	//       "description": "End time of the time window (inclusive). If not specified, the current timestamp is used instead.",
 	//       "format": "google-datetime",
 	//       "location": "query",
 	//       "type": "string"
@@ -2888,17 +2352,12 @@
 }
 
 // ExportAssets: Exports assets with time and resource types to a given
-// Cloud Storage
-// location. The output format is newline-delimited JSON.
-// This API implements the google.longrunning.Operation API allowing
-// you
+// Cloud Storage location. The output format is newline-delimited JSON.
+// This API implements the google.longrunning.Operation API allowing you
 // to keep track of the export. We recommend intervals of at least 2
-// seconds
-// with exponential retry to poll the export operation result.
-// For
-// regular-size resource parent, the export operation usually finishes
-// within
-// 5 minutes.
+// seconds with exponential retry to poll the export operation result.
+// For regular-size resource parent, the export operation usually
+// finishes within 5 minutes.
 func (r *OrganizationsService) ExportAssets(parent string, exportassetsrequest *ExportAssetsRequest) *OrganizationsExportAssetsCall {
 	c := &OrganizationsExportAssetsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -2933,7 +2392,7 @@
 
 func (c *OrganizationsExportAssetsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2997,7 +2456,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Exports assets with time and resource types to a given Cloud Storage\nlocation. The output format is newline-delimited JSON.\nThis API implements the google.longrunning.Operation API allowing you\nto keep track of the export. We recommend intervals of at least 2 seconds\nwith exponential retry to poll the export operation result. For\nregular-size resource parent, the export operation usually finishes within\n5 minutes.",
+	//   "description": "Exports assets with time and resource types to a given Cloud Storage location. The output format is newline-delimited JSON. This API implements the google.longrunning.Operation API allowing you to keep track of the export. We recommend intervals of at least 2 seconds with exponential retry to poll the export operation result. For regular-size resource parent, the export operation usually finishes within 5 minutes.",
 	//   "flatPath": "v1beta1/organizations/{organizationsId}:exportAssets",
 	//   "httpMethod": "POST",
 	//   "id": "cloudasset.organizations.exportAssets",
@@ -3006,7 +2465,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The relative name of the root asset. This can only be an\norganization number (such as \"organizations/123\"), a project ID (such as\n\"projects/my-project-id\"), a project number (such as \"projects/12345\"), or\na folder number (such as \"folders/123\").",
+	//       "description": "Required. The relative name of the root asset. This can only be an organization number (such as \"organizations/123\"), a project ID (such as \"projects/my-project-id\"), a project number (such as \"projects/12345\"), or a folder number (such as \"folders/123\").",
 	//       "location": "path",
 	//       "pattern": "^organizations/[^/]+$",
 	//       "required": true,
@@ -3038,11 +2497,9 @@
 	header_      http.Header
 }
 
-// Get: 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.
+// Get: 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.
 func (r *OrganizationsOperationsService) Get(name string) *OrganizationsOperationsGetCall {
 	c := &OrganizationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3086,7 +2543,7 @@
 
 func (c *OrganizationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3148,7 +2605,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+	//   "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
 	//   "flatPath": "v1beta1/organizations/{organizationsId}/operations/{operationsId}/{operationsId1}",
 	//   "httpMethod": "GET",
 	//   "id": "cloudasset.organizations.operations.get",
@@ -3187,16 +2644,11 @@
 }
 
 // BatchGetAssetsHistory: Batch gets the update history of assets that
-// overlap a time window.
-// For IAM_POLICY content, this API outputs history when the asset and
-// its
-// attached IAM POLICY both exist. This can create gaps in the output
-// history.
-// Otherwise, this API outputs history with asset in both non-delete
-// or
-// deleted status.
-// If a specified asset does not exist, this API returns an
-// INVALID_ARGUMENT
+// overlap a time window. For IAM_POLICY content, this API outputs
+// history when the asset and its attached IAM POLICY both exist. This
+// can create gaps in the output history. Otherwise, this API outputs
+// history with asset in both non-delete or deleted status. If a
+// specified asset does not exist, this API returns an INVALID_ARGUMENT
 // error.
 func (r *ProjectsService) BatchGetAssetsHistory(parent string) *ProjectsBatchGetAssetsHistoryCall {
 	c := &ProjectsBatchGetAssetsHistoryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -3205,19 +2657,13 @@
 }
 
 // AssetNames sets the optional parameter "assetNames": A list of the
-// full names of the assets. For
-// example:
-// `//compute.googleapis.com/projects/my_project_123/zones/zone1
-// /instances/instance1`.
-// See
-// [Resource
-// Names](https://cloud.google.com/apis/design/resource_names#f
-// ull_resource_name)
-// for more info.
-//
-// The request becomes a no-op if the asset name list is empty, and the
-// max
-// size of the asset name list is 100 in one request.
+// full names of the assets. For example:
+// `//compute.googleapis.com/projects/my_project_123/zones/zone1/instance
+// s/instance1`. See [Resource
+// Names](https://cloud.google.com/apis/design/resource_names#full_resour
+// ce_name) for more info. The request becomes a no-op if the asset name
+// list is empty, and the max size of the asset name list is 100 in one
+// request.
 func (c *ProjectsBatchGetAssetsHistoryCall) AssetNames(assetNames ...string) *ProjectsBatchGetAssetsHistoryCall {
 	c.urlParams_.SetMulti("assetNames", append([]string{}, assetNames...))
 	return c
@@ -3227,9 +2673,9 @@
 // type.
 //
 // Possible values:
-//   "CONTENT_TYPE_UNSPECIFIED"
-//   "RESOURCE"
-//   "IAM_POLICY"
+//   "CONTENT_TYPE_UNSPECIFIED" - Unspecified content type.
+//   "RESOURCE" - Resource metadata.
+//   "IAM_POLICY" - The actual IAM policy set on a resource.
 func (c *ProjectsBatchGetAssetsHistoryCall) ContentType(contentType string) *ProjectsBatchGetAssetsHistoryCall {
 	c.urlParams_.Set("contentType", contentType)
 	return c
@@ -3237,8 +2683,7 @@
 
 // ReadTimeWindowEndTime sets the optional parameter
 // "readTimeWindow.endTime": End time of the time window (inclusive). If
-// not specified, the current
-// timestamp is used instead.
+// not specified, the current timestamp is used instead.
 func (c *ProjectsBatchGetAssetsHistoryCall) ReadTimeWindowEndTime(readTimeWindowEndTime string) *ProjectsBatchGetAssetsHistoryCall {
 	c.urlParams_.Set("readTimeWindow.endTime", readTimeWindowEndTime)
 	return c
@@ -3289,7 +2734,7 @@
 
 func (c *ProjectsBatchGetAssetsHistoryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3351,7 +2796,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Batch gets the update history of assets that overlap a time window.\nFor IAM_POLICY content, this API outputs history when the asset and its\nattached IAM POLICY both exist. This can create gaps in the output history.\nOtherwise, this API outputs history with asset in both non-delete or\ndeleted status.\nIf a specified asset does not exist, this API returns an INVALID_ARGUMENT\nerror.",
+	//   "description": "Batch gets the update history of assets that overlap a time window. For IAM_POLICY content, this API outputs history when the asset and its attached IAM POLICY both exist. This can create gaps in the output history. Otherwise, this API outputs history with asset in both non-delete or deleted status. If a specified asset does not exist, this API returns an INVALID_ARGUMENT error.",
 	//   "flatPath": "v1beta1/projects/{projectsId}:batchGetAssetsHistory",
 	//   "httpMethod": "GET",
 	//   "id": "cloudasset.projects.batchGetAssetsHistory",
@@ -3360,7 +2805,7 @@
 	//   ],
 	//   "parameters": {
 	//     "assetNames": {
-	//       "description": "A list of the full names of the assets. For example:\n`//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.\nSee [Resource\nNames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nfor more info.\n\nThe request becomes a no-op if the asset name list is empty, and the max\nsize of the asset name list is 100 in one request.",
+	//       "description": "A list of the full names of the assets. For example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. See [Resource Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more info. The request becomes a no-op if the asset name list is empty, and the max size of the asset name list is 100 in one request.",
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
@@ -3372,18 +2817,23 @@
 	//         "RESOURCE",
 	//         "IAM_POLICY"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Unspecified content type.",
+	//         "Resource metadata.",
+	//         "The actual IAM policy set on a resource."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The relative name of the root asset. It can only be an\norganization number (such as \"organizations/123\"), a project ID (such as\n\"projects/my-project-id\")\", or a project number (such as \"projects/12345\").",
+	//       "description": "Required. The relative name of the root asset. It can only be an organization number (such as \"organizations/123\"), a project ID (such as \"projects/my-project-id\")\", or a project number (such as \"projects/12345\").",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "readTimeWindow.endTime": {
-	//       "description": "End time of the time window (inclusive). If not specified, the current\ntimestamp is used instead.",
+	//       "description": "End time of the time window (inclusive). If not specified, the current timestamp is used instead.",
 	//       "format": "google-datetime",
 	//       "location": "query",
 	//       "type": "string"
@@ -3418,17 +2868,12 @@
 }
 
 // ExportAssets: Exports assets with time and resource types to a given
-// Cloud Storage
-// location. The output format is newline-delimited JSON.
-// This API implements the google.longrunning.Operation API allowing
-// you
+// Cloud Storage location. The output format is newline-delimited JSON.
+// This API implements the google.longrunning.Operation API allowing you
 // to keep track of the export. We recommend intervals of at least 2
-// seconds
-// with exponential retry to poll the export operation result.
-// For
-// regular-size resource parent, the export operation usually finishes
-// within
-// 5 minutes.
+// seconds with exponential retry to poll the export operation result.
+// For regular-size resource parent, the export operation usually
+// finishes within 5 minutes.
 func (r *ProjectsService) ExportAssets(parent string, exportassetsrequest *ExportAssetsRequest) *ProjectsExportAssetsCall {
 	c := &ProjectsExportAssetsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -3463,7 +2908,7 @@
 
 func (c *ProjectsExportAssetsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3527,7 +2972,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Exports assets with time and resource types to a given Cloud Storage\nlocation. The output format is newline-delimited JSON.\nThis API implements the google.longrunning.Operation API allowing you\nto keep track of the export. We recommend intervals of at least 2 seconds\nwith exponential retry to poll the export operation result. For\nregular-size resource parent, the export operation usually finishes within\n5 minutes.",
+	//   "description": "Exports assets with time and resource types to a given Cloud Storage location. The output format is newline-delimited JSON. This API implements the google.longrunning.Operation API allowing you to keep track of the export. We recommend intervals of at least 2 seconds with exponential retry to poll the export operation result. For regular-size resource parent, the export operation usually finishes within 5 minutes.",
 	//   "flatPath": "v1beta1/projects/{projectsId}:exportAssets",
 	//   "httpMethod": "POST",
 	//   "id": "cloudasset.projects.exportAssets",
@@ -3536,7 +2981,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The relative name of the root asset. This can only be an\norganization number (such as \"organizations/123\"), a project ID (such as\n\"projects/my-project-id\"), a project number (such as \"projects/12345\"), or\na folder number (such as \"folders/123\").",
+	//       "description": "Required. The relative name of the root asset. This can only be an organization number (such as \"organizations/123\"), a project ID (such as \"projects/my-project-id\"), a project number (such as \"projects/12345\"), or a folder number (such as \"folders/123\").",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -3568,11 +3013,9 @@
 	header_      http.Header
 }
 
-// Get: 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.
+// Get: 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.
 func (r *ProjectsOperationsService) Get(name string) *ProjectsOperationsGetCall {
 	c := &ProjectsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3616,7 +3059,7 @@
 
 func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3678,7 +3121,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+	//   "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/operations/{operationsId}/{operationsId1}",
 	//   "httpMethod": "GET",
 	//   "id": "cloudasset.projects.operations.get",
diff --git a/cloudasset/v1p1beta1/cloudasset-api.json b/cloudasset/v1p1beta1/cloudasset-api.json
index c9cc308..295ff8d 100644
--- a/cloudasset/v1p1beta1/cloudasset-api.json
+++ b/cloudasset/v1p1beta1/cloudasset-api.json
@@ -108,7 +108,7 @@
     "iamPolicies": {
       "methods": {
         "searchAll": {
-          "description": "Searches all the IAM policies within a given accessible CRM scope\n(project/folder/organization). This RPC gives callers especially\nadministrators the ability to search all the IAM policies within a scope,\neven if they don't have `.getIamPolicy` permission of all the IAM policies.\nCallers should have `cloud.assets.SearchAllIamPolicies` permission on the\nrequested scope, otherwise the request will be rejected.",
+          "description": "Searches all the IAM policies within a given accessible CRM scope (project/folder/organization). This RPC gives callers especially administrators the ability to search all the IAM policies within a scope, even if they don't have `.getIamPolicy` permission of all the IAM policies. Callers should have `cloud.assets.SearchAllIamPolicies` permission on the requested scope, otherwise the request will be rejected.",
           "flatPath": "v1p1beta1/{v1p1beta1Id}/{v1p1beta1Id1}/iamPolicies:searchAll",
           "httpMethod": "GET",
           "id": "cloudasset.iamPolicies.searchAll",
@@ -117,23 +117,23 @@
           ],
           "parameters": {
             "pageSize": {
-              "description": "Optional. The page size for search result pagination. Page size is capped at 500 even\nif a larger value is given. If set to zero, server will pick an appropriate\ndefault. Returned results may be fewer than requested. When this happens,\nthere could be more results as long as `next_page_token` is returned.",
+              "description": "Optional. The page size for search result pagination. Page size is capped at 500 even if a larger value is given. If set to zero, server will pick an appropriate default. Returned results may be fewer than requested. When this happens, there could be more results as long as `next_page_token` is returned.",
               "format": "int32",
               "location": "query",
               "type": "integer"
             },
             "pageToken": {
-              "description": "Optional. If present, retrieve the next batch of results from the preceding call to\nthis method. `page_token` must be the value of `next_page_token` from the\nprevious response. The values of all other method parameters must be\nidentical to those in the previous call.",
+              "description": "Optional. If present, retrieve the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of all other method parameters must be identical to those in the previous call.",
               "location": "query",
               "type": "string"
             },
             "query": {
-              "description": "Optional. The query statement. Examples:\n\n* \"policy:myuser@mydomain.com\"\n* \"policy:(myuser@mydomain.com viewer)\"",
+              "description": "Optional. The query statement. Examples: * \"policy:myuser@mydomain.com\" * \"policy:(myuser@mydomain.com viewer)\"",
               "location": "query",
               "type": "string"
             },
             "scope": {
-              "description": "Required. The relative name of an asset. The search is limited to the resources\nwithin the `scope`. The allowed value must be:\n\n* Organization number (such as \"organizations/123\")\n* Folder number(such as \"folders/1234\")\n* Project number (such as \"projects/12345\")\n* Project id (such as \"projects/abc\")",
+              "description": "Required. The relative name of an asset. The search is limited to the resources within the `scope`. The allowed value must be: * Organization number (such as \"organizations/123\") * Folder number(such as \"folders/1234\") * Project number (such as \"projects/12345\") * Project id (such as \"projects/abc\")",
               "location": "path",
               "pattern": "^[^/]+/[^/]+$",
               "required": true,
@@ -153,7 +153,7 @@
     "resources": {
       "methods": {
         "searchAll": {
-          "description": "Searches all the resources within a given accessible CRM scope\n(project/folder/organization). This RPC gives callers especially\nadministrators the ability to search all the resources within a scope, even\nif they don't have `.get` permission of all the resources. Callers should\nhave `cloud.assets.SearchAllResources` permission on the requested scope,\notherwise the request will be rejected.",
+          "description": "Searches all the resources within a given accessible CRM scope (project/folder/organization). This RPC gives callers especially administrators the ability to search all the resources within a scope, even if they don't have `.get` permission of all the resources. Callers should have `cloud.assets.SearchAllResources` permission on the requested scope, otherwise the request will be rejected.",
           "flatPath": "v1p1beta1/{v1p1beta1Id}/{v1p1beta1Id1}/resources:searchAll",
           "httpMethod": "GET",
           "id": "cloudasset.resources.searchAll",
@@ -162,24 +162,24 @@
           ],
           "parameters": {
             "assetTypes": {
-              "description": "Optional. A list of asset types that this request searches for. If empty, it will\nsearch all the supported asset types.",
+              "description": "Optional. A list of asset types that this request searches for. If empty, it will search all the supported asset types.",
               "location": "query",
               "repeated": true,
               "type": "string"
             },
             "orderBy": {
-              "description": "Optional. A comma separated list of fields specifying the sorting order of the\nresults. The default order is ascending. Add ` DESC` after the field name\nto indicate descending order. Redundant space characters are ignored. For\nexample, `  location DESC ,  name  `.",
+              "description": "Optional. A comma separated list of fields specifying the sorting order of the results. The default order is ascending. Add ` DESC` after the field name to indicate descending order. Redundant space characters are ignored. For example, ` location DESC , name `.",
               "location": "query",
               "type": "string"
             },
             "pageSize": {
-              "description": "Optional. The page size for search result pagination. Page size is capped at 500 even\nif a larger value is given. If set to zero, server will pick an appropriate\ndefault. Returned results may be fewer than requested. When this happens,\nthere could be more results as long as `next_page_token` is returned.",
+              "description": "Optional. The page size for search result pagination. Page size is capped at 500 even if a larger value is given. If set to zero, server will pick an appropriate default. Returned results may be fewer than requested. When this happens, there could be more results as long as `next_page_token` is returned.",
               "format": "int32",
               "location": "query",
               "type": "integer"
             },
             "pageToken": {
-              "description": "Optional. If present, then retrieve the next batch of results from the preceding call\nto this method.  `page_token` must be the value of `next_page_token` from\nthe previous response. The values of all other method parameters, must be\nidentical to those in the previous call.",
+              "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of all other method parameters, must be identical to those in the previous call.",
               "location": "query",
               "type": "string"
             },
@@ -189,7 +189,7 @@
               "type": "string"
             },
             "scope": {
-              "description": "Required. The relative name of an asset. The search is limited to the resources\nwithin the `scope`. The allowed value must be:\n\n* Organization number (such as \"organizations/123\")\n* Folder number(such as \"folders/1234\")\n* Project number (such as \"projects/12345\")\n* Project id (such as \"projects/abc\")",
+              "description": "Required. The relative name of an asset. The search is limited to the resources within the `scope`. The allowed value must be: * Organization number (such as \"organizations/123\") * Folder number(such as \"folders/1234\") * Project number (such as \"projects/12345\") * Project id (such as \"projects/abc\")",
               "location": "path",
               "pattern": "^[^/]+/[^/]+$",
               "required": true,
@@ -207,11 +207,11 @@
       }
     }
   },
-  "revision": "20200605",
+  "revision": "20200810",
   "rootUrl": "https://cloudasset.googleapis.com/",
   "schemas": {
     "AuditConfig": {
-      "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n    {\n      \"audit_configs\": [\n        {\n          \"service\": \"allServices\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n              \"exempted_members\": [\n                \"user:jose@example.com\"\n              ]\n            },\n            {\n              \"log_type\": \"DATA_WRITE\"\n            },\n            {\n              \"log_type\": \"ADMIN_READ\"\n            }\n          ]\n        },\n        {\n          \"service\": \"sampleservice.googleapis.com\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\"\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n              \"exempted_members\": [\n                \"user:aliya@example.com\"\n              ]\n            }\n          ]\n        }\n      ]\n    }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.",
+      "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.",
       "id": "AuditConfig",
       "properties": {
         "auditLogConfigs": {
@@ -222,18 +222,18 @@
           "type": "array"
         },
         "service": {
-          "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.",
+          "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "AuditLogConfig": {
-      "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n    {\n      \"audit_log_configs\": [\n        {\n          \"log_type\": \"DATA_READ\",\n          \"exempted_members\": [\n            \"user:jose@example.com\"\n          ]\n        },\n        {\n          \"log_type\": \"DATA_WRITE\"\n        }\n      ]\n    }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.",
+      "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.",
       "id": "AuditLogConfig",
       "properties": {
         "exemptedMembers": {
-          "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.",
+          "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.",
           "items": {
             "type": "string"
           },
@@ -264,17 +264,17 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
           "type": "string"
         }
       },
@@ -288,30 +288,30 @@
           "additionalProperties": {
             "$ref": "Permissions"
           },
-          "description": "The map from roles to their included permission matching the permission\nquery (e.g. containing `policy.role.permissions:`). A sample role string:\n\"roles/compute.instanceAdmin\". The roles can also be found in the\nreturned `policy` bindings. Note that the map is populated only if\nrequesting with a permission query.",
+          "description": "The map from roles to their included permission matching the permission query (e.g. containing `policy.role.permissions:`). A sample role string: \"roles/compute.instanceAdmin\". The roles can also be found in the returned `policy` bindings. Note that the map is populated only if requesting with a permission query.",
           "type": "object"
         }
       },
       "type": "object"
     },
     "Expr": {
-      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
+      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
       "id": "Expr",
       "properties": {
         "description": {
-          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
+          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
           "type": "string"
         },
         "expression": {
-          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
+          "description": "Textual representation of an expression in Common Expression Language syntax.",
           "type": "string"
         },
         "location": {
-          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
+          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
           "type": "string"
         },
         "title": {
-          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
+          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
           "type": "string"
         }
       },
@@ -323,18 +323,18 @@
       "properties": {
         "explanation": {
           "$ref": "Explanation",
-          "description": "Explanation about the IAM policy search result. It contains additional\ninformation to explain why the search result matches the query."
+          "description": "Explanation about the IAM policy search result. It contains additional information to explain why the search result matches the query."
         },
         "policy": {
           "$ref": "Policy",
-          "description": "The IAM policy directly set on the given resource. Note that the original\nIAM policy can contain multiple bindings. This only contains the bindings\nthat match the given query. For queries that don't contain a constrain on\npolicies (e.g. an empty query), this contains all the bindings."
+          "description": "The IAM policy directly set on the given resource. Note that the original IAM policy can contain multiple bindings. This only contains the bindings that match the given query. For queries that don't contain a constrain on policies (e.g. an empty query), this contains all the bindings."
         },
         "project": {
-          "description": "The project that the associated GCP resource belongs to, in the form of\n`projects/{project_number}`. If an IAM policy is set on a resource (like VM\ninstance, Cloud Storage bucket), the project field will indicate the\nproject that contains the resource. If an IAM policy is set on a folder or\norgnization, the project field will be empty.",
+          "description": "The project that the associated GCP resource belongs to, in the form of `projects/{project_number}`. If an IAM policy is set on a resource (like VM instance, Cloud Storage bucket), the project field will indicate the project that contains the resource. If an IAM policy is set on a folder or orgnization, the project field will be empty.",
           "type": "string"
         },
         "resource": {
-          "description": "The [full resource\nname](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nof the resource associated with this IAM policy.",
+          "description": "The [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name) of the resource associated with this IAM policy.",
           "type": "string"
         }
       },
@@ -355,7 +355,7 @@
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\n            \"user:eve@example.com\"\n          ],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "auditConfigs": {
@@ -366,19 +366,19 @@
           "type": "array"
         },
         "bindings": {
-          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
+          "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.",
           "items": {
             "$ref": "Binding"
           },
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
           "format": "byte",
           "type": "string"
         },
         "version": {
-          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -390,11 +390,11 @@
       "id": "SearchAllIamPoliciesResponse",
       "properties": {
         "nextPageToken": {
-          "description": "Set if there are more results than those appearing in this response; to get\nthe next set of results, call this method again, using this value as the\n`page_token`.",
+          "description": "Set if there are more results than those appearing in this response; to get the next set of results, call this method again, using this value as the `page_token`.",
           "type": "string"
         },
         "results": {
-          "description": "A list of IamPolicy that match the search query. Related information such\nas the associated resource is returned along with the policy.",
+          "description": "A list of IamPolicy that match the search query. Related information such as the associated resource is returned along with the policy.",
           "items": {
             "$ref": "IamPolicySearchResult"
           },
@@ -408,7 +408,7 @@
       "id": "SearchAllResourcesResponse",
       "properties": {
         "nextPageToken": {
-          "description": "If there are more results than those appearing in this response, then\n`next_page_token` is included.  To get the next set of results, call this\nmethod again using the value of `next_page_token` as `page_token`.",
+          "description": "If there are more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.",
           "type": "string"
         },
         "results": {
@@ -426,18 +426,18 @@
       "id": "StandardResourceMetadata",
       "properties": {
         "additionalAttributes": {
-          "description": "Additional searchable attributes of this resource.\nInformational only. The exact set of attributes is subject to change.\nFor example: project id, DNS name etc.",
+          "description": "Additional searchable attributes of this resource. Informational only. The exact set of attributes is subject to change. For example: project id, DNS name etc.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "assetType": {
-          "description": "The type of this resource.\nFor example: \"compute.googleapis.com/Disk\".",
+          "description": "The type of this resource. For example: \"compute.googleapis.com/Disk\".",
           "type": "string"
         },
         "description": {
-          "description": "One or more paragraphs of text description of this resource. Maximum length\ncould be up to 1M bytes.",
+          "description": "One or more paragraphs of text description of this resource. Maximum length could be up to 1M bytes.",
           "type": "string"
         },
         "displayName": {
@@ -448,26 +448,26 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Labels associated with this resource. See [Labelling and grouping GCP\nresources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)\nfor more information.",
+          "description": "Labels associated with this resource. See [Labelling and grouping GCP resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources) for more information.",
           "type": "object"
         },
         "location": {
-          "description": "Location can be \"global\", regional like \"us-east1\", or zonal like\n\"us-west1-b\".",
+          "description": "Location can be \"global\", regional like \"us-east1\", or zonal like \"us-west1-b\".",
           "type": "string"
         },
         "name": {
-          "description": "The full resource name. For example:\n`//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.\nSee [Resource\nNames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nfor more information.",
+          "description": "The full resource name. For example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. See [Resource Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information.",
           "type": "string"
         },
         "networkTags": {
-          "description": "Network tags associated with this resource. Like labels, network tags are a\ntype of annotations used to group GCP resources. See [Labelling GCP\nresources](lhttps://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)\nfor more information.",
+          "description": "Network tags associated with this resource. Like labels, network tags are a type of annotations used to group GCP resources. See [Labelling GCP resources](lhttps://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources) for more information.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "project": {
-          "description": "The project that this resource belongs to, in the form of\n`projects/{project_number}`.",
+          "description": "The project that this resource belongs to, in the form of `projects/{project_number}`.",
           "type": "string"
         }
       },
diff --git a/cloudasset/v1p1beta1/cloudasset-gen.go b/cloudasset/v1p1beta1/cloudasset-gen.go
index 0a4dfed..ef25d2d 100644
--- a/cloudasset/v1p1beta1/cloudasset-gen.go
+++ b/cloudasset/v1p1beta1/cloudasset-gen.go
@@ -156,72 +156,31 @@
 	s *Service
 }
 
-// AuditConfig: Specifies the audit configuration for a service.
-// The configuration determines which permission types are logged, and
-// what
-// identities, if any, are exempted from logging.
-// An AuditConfig must have one or more AuditLogConfigs.
-//
-// If there are AuditConfigs for both `allServices` and a specific
-// service,
-// the union of the two AuditConfigs is used for that service: the
-// log_types
-// specified in each AuditConfig are enabled, and the exempted_members
-// in each
-// AuditLogConfig are exempted.
-//
-// Example Policy with multiple AuditConfigs:
-//
-//     {
-//       "audit_configs": [
-//         {
-//           "service": "allServices",
-//           "audit_log_configs": [
-//             {
-//               "log_type": "DATA_READ",
-//               "exempted_members": [
-//                 "user:jose@example.com"
-//               ]
-//             },
-//             {
-//               "log_type": "DATA_WRITE"
-//             },
-//             {
-//               "log_type": "ADMIN_READ"
-//             }
-//           ]
-//         },
-//         {
-//           "service": "sampleservice.googleapis.com",
-//           "audit_log_configs": [
-//             {
-//               "log_type": "DATA_READ"
-//             },
-//             {
-//               "log_type": "DATA_WRITE",
-//               "exempted_members": [
-//                 "user:aliya@example.com"
-//               ]
-//             }
-//           ]
-//         }
-//       ]
-//     }
-//
-// For sampleservice, this policy enables DATA_READ, DATA_WRITE and
-// ADMIN_READ
-// logging. It also exempts jose@example.com from DATA_READ logging,
-// and
-// aliya@example.com from DATA_WRITE logging.
+// AuditConfig: Specifies the audit configuration for a service. The
+// configuration determines which permission types are logged, and what
+// identities, if any, are exempted from logging. An AuditConfig must
+// have one or more AuditLogConfigs. If there are AuditConfigs for both
+// `allServices` and a specific service, the union of the two
+// AuditConfigs is used for that service: the log_types specified in
+// each AuditConfig are enabled, and the exempted_members in each
+// AuditLogConfig are exempted. Example Policy with multiple
+// AuditConfigs: { "audit_configs": [ { "service": "allServices",
+// "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members":
+// [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, {
+// "log_type": "ADMIN_READ" } ] }, { "service":
+// "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type":
+// "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [
+// "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy
+// enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts
+// jose@example.com from DATA_READ logging, and aliya@example.com from
+// DATA_WRITE logging.
 type AuditConfig struct {
 	// AuditLogConfigs: The configuration for logging of each type of
 	// permission.
 	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
 
-	// Service: Specifies a service that will be enabled for audit
-	// logging.
-	// For example, `storage.googleapis.com`,
-	// `cloudsql.googleapis.com`.
+	// Service: Specifies a service that will be enabled for audit logging.
+	// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
 	// `allServices` is a special value that covers all services.
 	Service string `json:"service,omitempty"`
 
@@ -250,31 +209,15 @@
 }
 
 // AuditLogConfig: Provides the configuration for logging a type of
-// permissions.
-// Example:
-//
-//     {
-//       "audit_log_configs": [
-//         {
-//           "log_type": "DATA_READ",
-//           "exempted_members": [
-//             "user:jose@example.com"
-//           ]
-//         },
-//         {
-//           "log_type": "DATA_WRITE"
-//         }
-//       ]
-//     }
-//
-// This enables 'DATA_READ' and 'DATA_WRITE' logging, while
-// exempting
-// jose@example.com from DATA_READ logging.
+// permissions. Example: { "audit_log_configs": [ { "log_type":
+// "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, {
+// "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and
+// 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ
+// logging.
 type AuditLogConfig struct {
 	// ExemptedMembers: Specifies the identities that do not cause logging
-	// for this type of
-	// permission.
-	// Follows the same format of Binding.members.
+	// for this type of permission. Follows the same format of
+	// Binding.members.
 	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
 
 	// LogType: The log type that this config enables.
@@ -312,95 +255,53 @@
 
 // Binding: Associates `members` with a `role`.
 type Binding struct {
-	// Condition: The condition that is associated with this binding.
-	//
-	// If the condition evaluates to `true`, then this binding applies to
-	// the
-	// current request.
-	//
-	// If the condition evaluates to `false`, then this binding does not
-	// apply to
-	// the current request. However, a different role binding might grant
-	// the same
-	// role to one or more of the members in this binding.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// Condition: The condition that is associated with this binding. If the
+	// condition evaluates to `true`, then this binding applies to the
+	// current request. If the condition evaluates to `false`, then this
+	// binding does not apply to the current request. However, a different
+	// role binding might grant the same role to one or more of the members
+	// in this binding. To learn which resources support conditions in their
+	// IAM policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	Condition *Expr `json:"condition,omitempty"`
 
 	// Members: Specifies the identities requesting access for a Cloud
-	// Platform resource.
-	// `members` can have the following values:
-	//
-	// * `allUsers`: A special identifier that represents anyone who is
-	//    on the internet; with or without a Google account.
-	//
-	// * `allAuthenticatedUsers`: A special identifier that represents
-	// anyone
-	//    who is authenticated with a Google account or a service
-	// account.
-	//
-	// * `user:{emailid}`: An email address that represents a specific
-	// Google
-	//    account. For example, `alice@example.com` .
-	//
-	//
-	// * `serviceAccount:{emailid}`: An email address that represents a
-	// service
-	//    account. For example,
-	// `my-other-app@appspot.gserviceaccount.com`.
-	//
-	// * `group:{emailid}`: An email address that represents a Google
-	// group.
-	//    For example, `admins@example.com`.
-	//
-	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a user that has been recently deleted.
-	// For
-	//    example, `alice@example.com?uid=123456789012345678901`. If the
-	// user is
-	//    recovered, this value reverts to `user:{emailid}` and the
-	// recovered user
-	//    retains the role in the binding.
-	//
-	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
-	// (plus
-	//    unique identifier) representing a service account that has been
-	// recently
-	//    deleted. For example,
-	//
+	// Platform resource. `members` can have the following values: *
+	// `allUsers`: A special identifier that represents anyone who is on the
+	// internet; with or without a Google account. *
+	// `allAuthenticatedUsers`: A special identifier that represents anyone
+	// who is authenticated with a Google account or a service account. *
+	// `user:{emailid}`: An email address that represents a specific Google
+	// account. For example, `alice@example.com` . *
+	// `serviceAccount:{emailid}`: An email address that represents a
+	// service account. For example,
+	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
+	// email address that represents a Google group. For example,
+	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
+	// email address (plus unique identifier) representing a user that has
+	// been recently deleted. For example,
+	// `alice@example.com?uid=123456789012345678901`. If the user is
+	// recovered, this value reverts to `user:{emailid}` and the recovered
+	// user retains the role in the binding. *
+	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
+	// (plus unique identifier) representing a service account that has been
+	// recently deleted. For example,
 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
-	//
-	//    If the service account is undeleted, this value reverts to
-	//    `serviceAccount:{emailid}` and the undeleted service account
-	// retains the
-	//    role in the binding.
-	//
-	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a Google group that has been recently
-	//    deleted. For example,
-	// `admins@example.com?uid=123456789012345678901`. If
-	//    the group is recovered, this value reverts to `group:{emailid}`
-	// and the
-	//    recovered group retains the role in the binding.
-	//
-	//
-	// * `domain:{domain}`: The G Suite domain (primary) that represents all
-	// the
-	//    users of that domain. For example, `google.com` or
-	// `example.com`.
-	//
-	//
+	// If the service account is undeleted, this value reverts to
+	// `serviceAccount:{emailid}` and the undeleted service account retains
+	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
+	// An email address (plus unique identifier) representing a Google group
+	// that has been recently deleted. For example,
+	// `admins@example.com?uid=123456789012345678901`. If the group is
+	// recovered, this value reverts to `group:{emailid}` and the recovered
+	// group retains the role in the binding. * `domain:{domain}`: The G
+	// Suite domain (primary) that represents all the users of that domain.
+	// For example, `google.com` or `example.com`.
 	Members []string `json:"members,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`.
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -429,13 +330,10 @@
 // Explanation: Explanation about the IAM policy search result.
 type Explanation struct {
 	// MatchedPermissions: The map from roles to their included permission
-	// matching the permission
-	// query (e.g. containing `policy.role.permissions:`). A sample role
-	// string:
-	// "roles/compute.instanceAdmin". The roles can also be found in
-	// the
-	// returned `policy` bindings. Note that the map is populated only
-	// if
+	// matching the permission query (e.g. containing
+	// `policy.role.permissions:`). A sample role string:
+	// "roles/compute.instanceAdmin". The roles can also be found in the
+	// returned `policy` bindings. Note that the map is populated only if
 	// requesting with a permission query.
 	MatchedPermissions map[string]Permissions `json:"matchedPermissions,omitempty"`
 
@@ -464,65 +362,40 @@
 }
 
 // Expr: Represents a textual expression in the Common Expression
-// Language (CEL)
-// syntax. CEL is a C-like expression language. The syntax and semantics
-// of CEL
-// are documented at https://github.com/google/cel-spec.
-//
-// Example (Comparison):
-//
-//     title: "Summary size limit"
-//     description: "Determines if a summary is less than 100 chars"
-//     expression: "document.summary.size() < 100"
-//
-// Example (Equality):
-//
-//     title: "Requestor is owner"
-//     description: "Determines if requestor is the document owner"
-//     expression: "document.owner ==
-// request.auth.claims.email"
-//
-// Example (Logic):
-//
-//     title: "Public documents"
-//     description: "Determine whether the document should be publicly
-// visible"
-//     expression: "document.type != 'private' && document.type !=
-// 'internal'"
-//
-// Example (Data Manipulation):
-//
-//     title: "Notification string"
-//     description: "Create a notification string with a timestamp."
-//     expression: "'New message received at ' +
-// string(document.create_time)"
-//
-// The exact variables and functions that may be referenced within an
-// expression
-// are determined by the service that evaluates it. See the
-// service
-// documentation for additional information.
+// Language (CEL) syntax. CEL is a C-like expression language. The
+// syntax and semantics of CEL are documented at
+// https://github.com/google/cel-spec. Example (Comparison): title:
+// "Summary size limit" description: "Determines if a summary is less
+// than 100 chars" expression: "document.summary.size() < 100" Example
+// (Equality): title: "Requestor is owner" description: "Determines if
+// requestor is the document owner" expression: "document.owner ==
+// request.auth.claims.email" Example (Logic): title: "Public documents"
+// description: "Determine whether the document should be publicly
+// visible" expression: "document.type != 'private' && document.type !=
+// 'internal'" Example (Data Manipulation): title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' +
+// string(document.create_time)" The exact variables and functions that
+// may be referenced within an expression are determined by the service
+// that evaluates it. See the service documentation for additional
+// information.
 type Expr struct {
 	// Description: Optional. Description of the expression. This is a
-	// longer text which
-	// describes the expression, e.g. when hovered over it in a UI.
+	// longer text which describes the expression, e.g. when hovered over it
+	// in a UI.
 	Description string `json:"description,omitempty"`
 
 	// Expression: Textual representation of an expression in Common
-	// Expression Language
-	// syntax.
+	// Expression Language syntax.
 	Expression string `json:"expression,omitempty"`
 
 	// Location: Optional. String indicating the location of the expression
-	// for error
-	// reporting, e.g. a file name and a position in the file.
+	// for error reporting, e.g. a file name and a position in the file.
 	Location string `json:"location,omitempty"`
 
 	// Title: Optional. Title for the expression, i.e. a short string
-	// describing
-	// its purpose. This can be used e.g. in UIs which allow to enter
-	// the
-	// expression.
+	// describing its purpose. This can be used e.g. in UIs which allow to
+	// enter the expression.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -551,35 +424,28 @@
 // IamPolicySearchResult: The result for a IAM Policy search.
 type IamPolicySearchResult struct {
 	// Explanation: Explanation about the IAM policy search result. It
-	// contains additional
-	// information to explain why the search result matches the query.
+	// contains additional information to explain why the search result
+	// matches the query.
 	Explanation *Explanation `json:"explanation,omitempty"`
 
 	// Policy: The IAM policy directly set on the given resource. Note that
-	// the original
-	// IAM policy can contain multiple bindings. This only contains the
-	// bindings
-	// that match the given query. For queries that don't contain a
-	// constrain on
-	// policies (e.g. an empty query), this contains all the bindings.
+	// the original IAM policy can contain multiple bindings. This only
+	// contains the bindings that match the given query. For queries that
+	// don't contain a constrain on policies (e.g. an empty query), this
+	// contains all the bindings.
 	Policy *Policy `json:"policy,omitempty"`
 
 	// Project: The project that the associated GCP resource belongs to, in
-	// the form of
-	// `projects/{project_number}`. If an IAM policy is set on a resource
-	// (like VM
-	// instance, Cloud Storage bucket), the project field will indicate
-	// the
-	// project that contains the resource. If an IAM policy is set on a
-	// folder or
-	// orgnization, the project field will be empty.
+	// the form of `projects/{project_number}`. If an IAM policy is set on a
+	// resource (like VM instance, Cloud Storage bucket), the project field
+	// will indicate the project that contains the resource. If an IAM
+	// policy is set on a folder or orgnization, the project field will be
+	// empty.
 	Project string `json:"project,omitempty"`
 
-	// Resource: The [full
-	// resource
-	// name](https://cloud.google.com/apis/design/resource_names#ful
-	// l_resource_name)
-	// of the resource associated with this IAM policy.
+	// Resource: The [full resource
+	// name](https://cloud.google.com/apis/design/resource_names#full_resourc
+	// e_name) of the resource associated with this IAM policy.
 	Resource string `json:"resource,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Explanation") to
@@ -635,154 +501,77 @@
 }
 
 // Policy: An Identity and Access Management (IAM) policy, which
-// specifies access
-// controls for Google Cloud resources.
-//
-//
-// A `Policy` is a collection of `bindings`. A `binding` binds one or
-// more
-// `members` to a single `role`. Members can be user accounts, service
-// accounts,
+// specifies access controls for Google Cloud resources. A `Policy` is a
+// collection of `bindings`. A `binding` binds one or more `members` to
+// a single `role`. Members can be user accounts, service accounts,
 // Google groups, and domains (such as G Suite). A `role` is a named
-// list of
-// permissions; each `role` can be an IAM predefined role or a
-// user-created
-// custom role.
-//
-// For some types of Google Cloud resources, a `binding` can also
-// specify a
-// `condition`, which is a logical expression that allows access to a
-// resource
-// only if the expression evaluates to `true`. A condition can add
-// constraints
-// based on attributes of the request, the resource, or both. To learn
-// which
-// resources support conditions in their IAM policies, see the
-// [IAM
+// list of permissions; each `role` can be an IAM predefined role or a
+// user-created custom role. For some types of Google Cloud resources, a
+// `binding` can also specify a `condition`, which is a logical
+// expression that allows access to a resource only if the expression
+// evaluates to `true`. A condition can add constraints based on
+// attributes of the request, the resource, or both. To learn which
+// resources support conditions in their IAM policies, see the [IAM
 // documentation](https://cloud.google.com/iam/help/conditions/resource-p
-// olicies).
-//
-// **JSON example:**
-//
-//     {
-//       "bindings": [
-//         {
-//           "role": "roles/resourcemanager.organizationAdmin",
-//           "members": [
-//             "user:mike@example.com",
-//             "group:admins@example.com",
-//             "domain:google.com",
-//
-// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
-//           ]
-//         },
-//         {
-//           "role": "roles/resourcemanager.organizationViewer",
-//           "members": [
-//             "user:eve@example.com"
-//           ],
-//           "condition": {
-//             "title": "expirable access",
-//             "description": "Does not grant access after Sep 2020",
-//             "expression": "request.time <
-// timestamp('2020-10-01T00:00:00.000Z')",
-//           }
-//         }
-//       ],
-//       "etag": "BwWWja0YfJA=",
-//       "version": 3
-//     }
-//
-// **YAML example:**
-//
-//     bindings:
-//     - members:
-//       - user:mike@example.com
-//       - group:admins@example.com
-//       - domain:google.com
-//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
-//       role: roles/resourcemanager.organizationAdmin
-//     - members:
-//       - user:eve@example.com
-//       role: roles/resourcemanager.organizationViewer
-//       condition:
-//         title: expirable access
-//         description: Does not grant access after Sep 2020
-//         expression: request.time <
-// timestamp('2020-10-01T00:00:00.000Z')
-//     - etag: BwWWja0YfJA=
-//     - version: 3
-//
-// For a description of IAM and its features, see the
-// [IAM documentation](https://cloud.google.com/iam/docs/).
+// olicies). **JSON example:** { "bindings": [ { "role":
+// "roles/resourcemanager.organizationAdmin", "members": [
+// "user:mike@example.com", "group:admins@example.com",
+// "domain:google.com",
+// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
+// "role": "roles/resourcemanager.organizationViewer", "members": [
+// "user:eve@example.com" ], "condition": { "title": "expirable access",
+// "description": "Does not grant access after Sep 2020", "expression":
+// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
+// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
+// members: - user:mike@example.com - group:admins@example.com -
+// domain:google.com -
+// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
+// roles/resourcemanager.organizationAdmin - members: -
+// user:eve@example.com role: roles/resourcemanager.organizationViewer
+// condition: title: expirable access description: Does not grant access
+// after Sep 2020 expression: request.time <
+// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
+// 3 For a description of IAM and its features, see the [IAM
+// documentation](https://cloud.google.com/iam/docs/).
 type Policy struct {
 	// AuditConfigs: Specifies cloud audit logging configuration for this
 	// policy.
 	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
 
 	// Bindings: Associates a list of `members` to a `role`. Optionally, may
-	// specify a
-	// `condition` that determines how and when the `bindings` are applied.
-	// Each
-	// of the `bindings` must contain at least one member.
+	// specify a `condition` that determines how and when the `bindings` are
+	// applied. Each of the `bindings` must contain at least one member.
 	Bindings []*Binding `json:"bindings,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a policy from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform policy updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `getIamPolicy`,
-	// and
-	// systems are expected to put that etag in the request to
-	// `setIamPolicy` to
-	// ensure that their change will be applied to the same version of the
-	// policy.
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
+	// help prevent simultaneous updates of a policy from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform policy updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `getIamPolicy`, and systems are expected to put that etag in the
+	// request to `setIamPolicy` to ensure that their change will be applied
+	// to the same version of the policy. **Important:** If you use IAM
+	// Conditions, you must include the `etag` field whenever you call
+	// `setIamPolicy`. If you omit this field, then IAM allows you to
+	// overwrite a version `3` policy with a version `1` policy, and all of
 	// the conditions in the version `3` policy are lost.
 	Etag string `json:"etag,omitempty"`
 
-	// Version: Specifies the format of the policy.
-	//
-	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
-	// value
-	// are rejected.
-	//
+	// Version: Specifies the format of the policy. Valid values are `0`,
+	// `1`, and `3`. Requests that specify an invalid value are rejected.
 	// Any operation that affects conditional role bindings must specify
-	// version
-	// `3`. This requirement applies to the following operations:
-	//
-	// * Getting a policy that includes a conditional role binding
-	// * Adding a conditional role binding to a policy
-	// * Changing a conditional role binding in a policy
-	// * Removing any role binding, with or without a condition, from a
-	// policy
-	//   that includes conditions
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
-	// the conditions in the version `3` policy are lost.
-	//
-	// If a policy does not include any conditions, operations on that
-	// policy may
-	// specify any valid version or leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see the
-	// [IAM
+	// version `3`. This requirement applies to the following operations: *
+	// Getting a policy that includes a conditional role binding * Adding a
+	// conditional role binding to a policy * Changing a conditional role
+	// binding in a policy * Removing any role binding, with or without a
+	// condition, from a policy that includes conditions **Important:** If
+	// you use IAM Conditions, you must include the `etag` field whenever
+	// you call `setIamPolicy`. If you omit this field, then IAM allows you
+	// to overwrite a version `3` policy with a version `1` policy, and all
+	// of the conditions in the version `3` policy are lost. If a policy
+	// does not include any conditions, operations on that policy may
+	// specify any valid version or leave the field unset. To learn which
+	// resources support conditions in their IAM policies, see the [IAM
 	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
 	// olicies).
 	Version int64 `json:"version,omitempty"`
@@ -813,15 +602,13 @@
 // SearchAllIamPoliciesResponse: Search all IAM policies response.
 type SearchAllIamPoliciesResponse struct {
 	// NextPageToken: Set if there are more results than those appearing in
-	// this response; to get
-	// the next set of results, call this method again, using this value as
-	// the
-	// `page_token`.
+	// this response; to get the next set of results, call this method
+	// again, using this value as the `page_token`.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Results: A list of IamPolicy that match the search query. Related
-	// information such
-	// as the associated resource is returned along with the policy.
+	// information such as the associated resource is returned along with
+	// the policy.
 	Results []*IamPolicySearchResult `json:"results,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -854,10 +641,9 @@
 // SearchAllResourcesResponse: Search all resources response.
 type SearchAllResourcesResponse struct {
 	// NextPageToken: If there are more results than those appearing in this
-	// response, then
-	// `next_page_token` is included.  To get the next set of results, call
-	// this
-	// method again using the value of `next_page_token` as `page_token`.
+	// response, then `next_page_token` is included. To get the next set of
+	// results, call this method again using the value of `next_page_token`
+	// as `page_token`.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Results: A list of resource that match the search query.
@@ -893,59 +679,46 @@
 // StandardResourceMetadata: The standard metadata of a cloud resource.
 type StandardResourceMetadata struct {
 	// AdditionalAttributes: Additional searchable attributes of this
-	// resource.
-	// Informational only. The exact set of attributes is subject to
-	// change.
-	// For example: project id, DNS name etc.
+	// resource. Informational only. The exact set of attributes is subject
+	// to change. For example: project id, DNS name etc.
 	AdditionalAttributes []string `json:"additionalAttributes,omitempty"`
 
-	// AssetType: The type of this resource.
-	// For example: "compute.googleapis.com/Disk".
+	// AssetType: The type of this resource. For example:
+	// "compute.googleapis.com/Disk".
 	AssetType string `json:"assetType,omitempty"`
 
 	// Description: One or more paragraphs of text description of this
-	// resource. Maximum length
-	// could be up to 1M bytes.
+	// resource. Maximum length could be up to 1M bytes.
 	Description string `json:"description,omitempty"`
 
 	// DisplayName: The display name of this resource.
 	DisplayName string `json:"displayName,omitempty"`
 
 	// Labels: Labels associated with this resource. See [Labelling and
-	// grouping
-	// GCP
-	// resources](https://cloud.google.com/blog/products/gcp/labelling-an
-	// d-grouping-your-google-cloud-platform-resources)
-	// for more information.
+	// grouping GCP
+	// resources](https://cloud.google.com/blog/products/gcp/labelling-and-gr
+	// ouping-your-google-cloud-platform-resources) for more information.
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// Location: Location can be "global", regional like "us-east1", or
-	// zonal like
-	// "us-west1-b".
+	// zonal like "us-west1-b".
 	Location string `json:"location,omitempty"`
 
-	// Name: The full resource name. For
-	// example:
-	// `//compute.googleapis.com/projects/my_project_123/zones/zone1
-	// /instances/instance1`.
-	// See
-	// [Resource
-	// Names](https://cloud.google.com/apis/design/resource_names#f
-	// ull_resource_name)
-	// for more information.
+	// Name: The full resource name. For example:
+	// `//compute.googleapis.com/projects/my_project_123/zones/zone1/instance
+	// s/instance1`. See [Resource
+	// Names](https://cloud.google.com/apis/design/resource_names#full_resour
+	// ce_name) for more information.
 	Name string `json:"name,omitempty"`
 
 	// NetworkTags: Network tags associated with this resource. Like labels,
-	// network tags are a
-	// type of annotations used to group GCP resources. See [Labelling
-	// GCP
-	// resources](lhttps://cloud.google.com/blog/products/gcp/labelling-a
-	// nd-grouping-your-google-cloud-platform-resources)
-	// for more information.
+	// network tags are a type of annotations used to group GCP resources.
+	// See [Labelling GCP
+	// resources](lhttps://cloud.google.com/blog/products/gcp/labelling-and-g
+	// rouping-your-google-cloud-platform-resources) for more information.
 	NetworkTags []string `json:"networkTags,omitempty"`
 
-	// Project: The project that this resource belongs to, in the form
-	// of
+	// Project: The project that this resource belongs to, in the form of
 	// `projects/{project_number}`.
 	Project string `json:"project,omitempty"`
 
@@ -986,16 +759,12 @@
 }
 
 // SearchAll: Searches all the IAM policies within a given accessible
-// CRM scope
-// (project/folder/organization). This RPC gives callers
-// especially
-// administrators the ability to search all the IAM policies within a
-// scope,
-// even if they don't have `.getIamPolicy` permission of all the IAM
-// policies.
-// Callers should have `cloud.assets.SearchAllIamPolicies` permission on
-// the
-// requested scope, otherwise the request will be rejected.
+// CRM scope (project/folder/organization). This RPC gives callers
+// especially administrators the ability to search all the IAM policies
+// within a scope, even if they don't have `.getIamPolicy` permission of
+// all the IAM policies. Callers should have
+// `cloud.assets.SearchAllIamPolicies` permission on the requested
+// scope, otherwise the request will be rejected.
 func (r *IamPoliciesService) SearchAll(scope string) *IamPoliciesSearchAllCall {
 	c := &IamPoliciesSearchAllCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.scope = scope
@@ -1003,23 +772,20 @@
 }
 
 // PageSize sets the optional parameter "pageSize": The page size for
-// search result pagination. Page size is capped at 500 even
-// if a larger value is given. If set to zero, server will pick an
-// appropriate
+// search result pagination. Page size is capped at 500 even if a larger
+// value is given. If set to zero, server will pick an appropriate
 // default. Returned results may be fewer than requested. When this
-// happens,
-// there could be more results as long as `next_page_token` is returned.
+// happens, there could be more results as long as `next_page_token` is
+// returned.
 func (c *IamPoliciesSearchAllCall) PageSize(pageSize int64) *IamPoliciesSearchAllCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": If present,
-// retrieve the next batch of results from the preceding call to
-// this method. `page_token` must be the value of `next_page_token` from
-// the
-// previous response. The values of all other method parameters must
-// be
+// retrieve the next batch of results from the preceding call to this
+// method. `page_token` must be the value of `next_page_token` from the
+// previous response. The values of all other method parameters must be
 // identical to those in the previous call.
 func (c *IamPoliciesSearchAllCall) PageToken(pageToken string) *IamPoliciesSearchAllCall {
 	c.urlParams_.Set("pageToken", pageToken)
@@ -1027,10 +793,8 @@
 }
 
 // Query sets the optional parameter "query": The query statement.
-// Examples:
-//
-// * "policy:myuser@mydomain.com"
-// * "policy:(myuser@mydomain.com viewer)"
+// Examples: * "policy:myuser@mydomain.com" *
+// "policy:(myuser@mydomain.com viewer)"
 func (c *IamPoliciesSearchAllCall) Query(query string) *IamPoliciesSearchAllCall {
 	c.urlParams_.Set("query", query)
 	return c
@@ -1073,7 +837,7 @@
 
 func (c *IamPoliciesSearchAllCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1135,7 +899,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Searches all the IAM policies within a given accessible CRM scope\n(project/folder/organization). This RPC gives callers especially\nadministrators the ability to search all the IAM policies within a scope,\neven if they don't have `.getIamPolicy` permission of all the IAM policies.\nCallers should have `cloud.assets.SearchAllIamPolicies` permission on the\nrequested scope, otherwise the request will be rejected.",
+	//   "description": "Searches all the IAM policies within a given accessible CRM scope (project/folder/organization). This RPC gives callers especially administrators the ability to search all the IAM policies within a scope, even if they don't have `.getIamPolicy` permission of all the IAM policies. Callers should have `cloud.assets.SearchAllIamPolicies` permission on the requested scope, otherwise the request will be rejected.",
 	//   "flatPath": "v1p1beta1/{v1p1beta1Id}/{v1p1beta1Id1}/iamPolicies:searchAll",
 	//   "httpMethod": "GET",
 	//   "id": "cloudasset.iamPolicies.searchAll",
@@ -1144,23 +908,23 @@
 	//   ],
 	//   "parameters": {
 	//     "pageSize": {
-	//       "description": "Optional. The page size for search result pagination. Page size is capped at 500 even\nif a larger value is given. If set to zero, server will pick an appropriate\ndefault. Returned results may be fewer than requested. When this happens,\nthere could be more results as long as `next_page_token` is returned.",
+	//       "description": "Optional. The page size for search result pagination. Page size is capped at 500 even if a larger value is given. If set to zero, server will pick an appropriate default. Returned results may be fewer than requested. When this happens, there could be more results as long as `next_page_token` is returned.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Optional. If present, retrieve the next batch of results from the preceding call to\nthis method. `page_token` must be the value of `next_page_token` from the\nprevious response. The values of all other method parameters must be\nidentical to those in the previous call.",
+	//       "description": "Optional. If present, retrieve the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of all other method parameters must be identical to those in the previous call.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "query": {
-	//       "description": "Optional. The query statement. Examples:\n\n* \"policy:myuser@mydomain.com\"\n* \"policy:(myuser@mydomain.com viewer)\"",
+	//       "description": "Optional. The query statement. Examples: * \"policy:myuser@mydomain.com\" * \"policy:(myuser@mydomain.com viewer)\"",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "scope": {
-	//       "description": "Required. The relative name of an asset. The search is limited to the resources\nwithin the `scope`. The allowed value must be:\n\n* Organization number (such as \"organizations/123\")\n* Folder number(such as \"folders/1234\")\n* Project number (such as \"projects/12345\")\n* Project id (such as \"projects/abc\")",
+	//       "description": "Required. The relative name of an asset. The search is limited to the resources within the `scope`. The allowed value must be: * Organization number (such as \"organizations/123\") * Folder number(such as \"folders/1234\") * Project number (such as \"projects/12345\") * Project id (such as \"projects/abc\")",
 	//       "location": "path",
 	//       "pattern": "^[^/]+/[^/]+$",
 	//       "required": true,
@@ -1211,16 +975,12 @@
 }
 
 // SearchAll: Searches all the resources within a given accessible CRM
-// scope
-// (project/folder/organization). This RPC gives callers
-// especially
-// administrators the ability to search all the resources within a
-// scope, even
-// if they don't have `.get` permission of all the resources. Callers
-// should
-// have `cloud.assets.SearchAllResources` permission on the requested
-// scope,
-// otherwise the request will be rejected.
+// scope (project/folder/organization). This RPC gives callers
+// especially administrators the ability to search all the resources
+// within a scope, even if they don't have `.get` permission of all the
+// resources. Callers should have `cloud.assets.SearchAllResources`
+// permission on the requested scope, otherwise the request will be
+// rejected.
 func (r *ResourcesService) SearchAll(scope string) *ResourcesSearchAllCall {
 	c := &ResourcesSearchAllCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.scope = scope
@@ -1228,43 +988,38 @@
 }
 
 // AssetTypes sets the optional parameter "assetTypes": A list of asset
-// types that this request searches for. If empty, it will
-// search all the supported asset types.
+// types that this request searches for. If empty, it will search all
+// the supported asset types.
 func (c *ResourcesSearchAllCall) AssetTypes(assetTypes ...string) *ResourcesSearchAllCall {
 	c.urlParams_.SetMulti("assetTypes", append([]string{}, assetTypes...))
 	return c
 }
 
 // OrderBy sets the optional parameter "orderBy": A comma separated list
-// of fields specifying the sorting order of the
-// results. The default order is ascending. Add ` DESC` after the field
-// name
-// to indicate descending order. Redundant space characters are ignored.
-// For
-// example, `  location DESC ,  name  `.
+// of fields specifying the sorting order of the results. The default
+// order is ascending. Add ` DESC` after the field name to indicate
+// descending order. Redundant space characters are ignored. For
+// example, ` location DESC , name `.
 func (c *ResourcesSearchAllCall) OrderBy(orderBy string) *ResourcesSearchAllCall {
 	c.urlParams_.Set("orderBy", orderBy)
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": The page size for
-// search result pagination. Page size is capped at 500 even
-// if a larger value is given. If set to zero, server will pick an
-// appropriate
+// search result pagination. Page size is capped at 500 even if a larger
+// value is given. If set to zero, server will pick an appropriate
 // default. Returned results may be fewer than requested. When this
-// happens,
-// there could be more results as long as `next_page_token` is returned.
+// happens, there could be more results as long as `next_page_token` is
+// returned.
 func (c *ResourcesSearchAllCall) PageSize(pageSize int64) *ResourcesSearchAllCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": If present, then
-// retrieve the next batch of results from the preceding call
-// to this method.  `page_token` must be the value of `next_page_token`
-// from
-// the previous response. The values of all other method parameters,
-// must be
+// retrieve the next batch of results from the preceding call to this
+// method. `page_token` must be the value of `next_page_token` from the
+// previous response. The values of all other method parameters, must be
 // identical to those in the previous call.
 func (c *ResourcesSearchAllCall) PageToken(pageToken string) *ResourcesSearchAllCall {
 	c.urlParams_.Set("pageToken", pageToken)
@@ -1314,7 +1069,7 @@
 
 func (c *ResourcesSearchAllCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1376,7 +1131,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Searches all the resources within a given accessible CRM scope\n(project/folder/organization). This RPC gives callers especially\nadministrators the ability to search all the resources within a scope, even\nif they don't have `.get` permission of all the resources. Callers should\nhave `cloud.assets.SearchAllResources` permission on the requested scope,\notherwise the request will be rejected.",
+	//   "description": "Searches all the resources within a given accessible CRM scope (project/folder/organization). This RPC gives callers especially administrators the ability to search all the resources within a scope, even if they don't have `.get` permission of all the resources. Callers should have `cloud.assets.SearchAllResources` permission on the requested scope, otherwise the request will be rejected.",
 	//   "flatPath": "v1p1beta1/{v1p1beta1Id}/{v1p1beta1Id1}/resources:searchAll",
 	//   "httpMethod": "GET",
 	//   "id": "cloudasset.resources.searchAll",
@@ -1385,24 +1140,24 @@
 	//   ],
 	//   "parameters": {
 	//     "assetTypes": {
-	//       "description": "Optional. A list of asset types that this request searches for. If empty, it will\nsearch all the supported asset types.",
+	//       "description": "Optional. A list of asset types that this request searches for. If empty, it will search all the supported asset types.",
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
 	//     },
 	//     "orderBy": {
-	//       "description": "Optional. A comma separated list of fields specifying the sorting order of the\nresults. The default order is ascending. Add ` DESC` after the field name\nto indicate descending order. Redundant space characters are ignored. For\nexample, `  location DESC ,  name  `.",
+	//       "description": "Optional. A comma separated list of fields specifying the sorting order of the results. The default order is ascending. Add ` DESC` after the field name to indicate descending order. Redundant space characters are ignored. For example, ` location DESC , name `.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "Optional. The page size for search result pagination. Page size is capped at 500 even\nif a larger value is given. If set to zero, server will pick an appropriate\ndefault. Returned results may be fewer than requested. When this happens,\nthere could be more results as long as `next_page_token` is returned.",
+	//       "description": "Optional. The page size for search result pagination. Page size is capped at 500 even if a larger value is given. If set to zero, server will pick an appropriate default. Returned results may be fewer than requested. When this happens, there could be more results as long as `next_page_token` is returned.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Optional. If present, then retrieve the next batch of results from the preceding call\nto this method.  `page_token` must be the value of `next_page_token` from\nthe previous response. The values of all other method parameters, must be\nidentical to those in the previous call.",
+	//       "description": "Optional. If present, then retrieve the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of all other method parameters, must be identical to those in the previous call.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -1412,7 +1167,7 @@
 	//       "type": "string"
 	//     },
 	//     "scope": {
-	//       "description": "Required. The relative name of an asset. The search is limited to the resources\nwithin the `scope`. The allowed value must be:\n\n* Organization number (such as \"organizations/123\")\n* Folder number(such as \"folders/1234\")\n* Project number (such as \"projects/12345\")\n* Project id (such as \"projects/abc\")",
+	//       "description": "Required. The relative name of an asset. The search is limited to the resources within the `scope`. The allowed value must be: * Organization number (such as \"organizations/123\") * Folder number(such as \"folders/1234\") * Project number (such as \"projects/12345\") * Project id (such as \"projects/abc\")",
 	//       "location": "path",
 	//       "pattern": "^[^/]+/[^/]+$",
 	//       "required": true,
diff --git a/cloudasset/v1p4beta1/cloudasset-api.json b/cloudasset/v1p4beta1/cloudasset-api.json
index 8ff1e9b..a5885f3 100644
--- a/cloudasset/v1p4beta1/cloudasset-api.json
+++ b/cloudasset/v1p4beta1/cloudasset-api.json
@@ -108,7 +108,7 @@
     "v1p4beta1": {
       "methods": {
         "analyzeIamPolicy": {
-          "description": "Analyzes IAM policies to answer which identities have what accesses on\nwhich resources.",
+          "description": "Analyzes IAM policies to answer which identities have what accesses on which resources.",
           "flatPath": "v1p4beta1/{v1p4beta1Id}/{v1p4beta1Id1}:analyzeIamPolicy",
           "httpMethod": "GET",
           "id": "cloudasset.analyzeIamPolicy",
@@ -129,53 +129,53 @@
               "type": "string"
             },
             "analysisQuery.identitySelector.identity": {
-              "description": "Required. The identity appear in the form of members in\n[IAM policy\nbinding](https://cloud.google.com/iam/reference/rest/v1/Binding).\n\nThe examples of supported forms are:\n\"user:mike@example.com\",\n\"group:admins@example.com\",\n\"domain:google.com\",\n\"serviceAccount:my-project-id@appspot.gserviceaccount.com\".\n\nNotice that wildcard characters (such as * and ?) are not supported.\nYou must give a specific identity.",
+              "description": "Required. The identity appear in the form of members in [IAM policy binding](https://cloud.google.com/iam/reference/rest/v1/Binding). The examples of supported forms are: \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\". Notice that wildcard characters (such as * and ?) are not supported. You must give a specific identity.",
               "location": "query",
               "type": "string"
             },
             "analysisQuery.resourceSelector.fullResourceName": {
-              "description": "Required. The [full resource\nname](https://cloud.google.com/asset-inventory/docs/resource-name-format)\nof a resource of [supported resource\ntypes](https://cloud.google.com/asset-inventory/docs/supported-asset-types#analyzable_asset_types).",
+              "description": "Required. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of a resource of [supported resource types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#analyzable_asset_types).",
               "location": "query",
               "type": "string"
             },
             "options.analyzeServiceAccountImpersonation": {
-              "description": "Optional. If true, the response will include access analysis from identities to\nresources via service account impersonation. This is a very expensive\noperation, because many derived queries will be executed. We highly\nrecommend you use AssetService.ExportIamPolicyAnalysis rpc instead.\n\nFor example, if the request analyzes for which resources user A has\npermission P, and there's an IAM policy states user A has\niam.serviceAccounts.getAccessToken permission to a service account SA,\nand there's another IAM policy states service account SA has permission P\nto a GCP folder F, then user A potentially has access to the GCP folder\nF. And those advanced analysis results will be included in\nAnalyzeIamPolicyResponse.service_account_impersonation_analysis.\n\nAnother example, if the request analyzes for who has\npermission P to a GCP folder F, and there's an IAM policy states user A\nhas iam.serviceAccounts.actAs permission to a service account SA, and\nthere's another IAM policy states service account SA has permission P to\nthe GCP folder F, then user A potentially has access to the GCP folder\nF. And those advanced analysis results will be included in\nAnalyzeIamPolicyResponse.service_account_impersonation_analysis.\n\nDefault is false.",
+              "description": "Optional. If true, the response will include access analysis from identities to resources via service account impersonation. This is a very expensive operation, because many derived queries will be executed. We highly recommend you use AssetService.ExportIamPolicyAnalysis rpc instead. For example, if the request analyzes for which resources user A has permission P, and there's an IAM policy states user A has iam.serviceAccounts.getAccessToken permission to a service account SA, and there's another IAM policy states service account SA has permission P to a GCP folder F, then user A potentially has access to the GCP folder F. And those advanced analysis results will be included in AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Another example, if the request analyzes for who has permission P to a GCP folder F, and there's an IAM policy states user A has iam.serviceAccounts.actAs permission to a service account SA, and there's another IAM policy states service account SA has permission P to the GCP folder F, then user A potentially has access to the GCP folder F. And those advanced analysis results will be included in AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Default is false.",
               "location": "query",
               "type": "boolean"
             },
             "options.executionTimeout": {
-              "description": "Optional. Amount of time executable has to complete.  See JSON representation of\n[Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).\n\nIf this field is set with a value less than the RPC deadline, and the\nexecution of your query hasn't finished in the specified\nexecution timeout,  you will get a response with partial result.\nOtherwise, your query's execution will continue until the RPC deadline.\nIf it's not finished until then, you will get a  DEADLINE_EXCEEDED error.\n\nDefault is empty.",
+              "description": "Optional. Amount of time executable has to complete. See JSON representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json). If this field is set with a value less than the RPC deadline, and the execution of your query hasn't finished in the specified execution timeout, you will get a response with partial result. Otherwise, your query's execution will continue until the RPC deadline. If it's not finished until then, you will get a DEADLINE_EXCEEDED error. Default is empty.",
               "format": "google-duration",
               "location": "query",
               "type": "string"
             },
             "options.expandGroups": {
-              "description": "Optional. If true, the identities section of the result will expand any\nGoogle groups appearing in an IAM policy binding.\n\nIf identity_selector is specified, the identity in the result will\nbe determined by the selector, and this flag will have no effect.\n\nDefault is false.",
+              "description": "Optional. If true, the identities section of the result will expand any Google groups appearing in an IAM policy binding. If identity_selector is specified, the identity in the result will be determined by the selector, and this flag will have no effect. Default is false.",
               "location": "query",
               "type": "boolean"
             },
             "options.expandResources": {
-              "description": "Optional. If true, the resource section of the result will expand any\nresource attached to an IAM policy to include resources lower in the\nresource hierarchy.\n\nFor example, if the request analyzes for which resources user A has\npermission P, and the results include an IAM policy with P on a GCP\nfolder, the results will also include resources in that folder with\npermission P.\n\nIf resource_selector is specified, the resource section of the result\nwill be determined by the selector, and this flag will have no effect.\nDefault is false.",
+              "description": "Optional. If true, the resource section of the result will expand any resource attached to an IAM policy to include resources lower in the resource hierarchy. For example, if the request analyzes for which resources user A has permission P, and the results include an IAM policy with P on a GCP folder, the results will also include resources in that folder with permission P. If resource_selector is specified, the resource section of the result will be determined by the selector, and this flag will have no effect. Default is false.",
               "location": "query",
               "type": "boolean"
             },
             "options.expandRoles": {
-              "description": "Optional. If true, the access section of result will expand any roles\nappearing in IAM policy bindings to include their permissions.\n\nIf access_selector is specified, the access section of the result\nwill be determined by the selector, and this flag will have no effect.\n\nDefault is false.",
+              "description": "Optional. If true, the access section of result will expand any roles appearing in IAM policy bindings to include their permissions. If access_selector is specified, the access section of the result will be determined by the selector, and this flag will have no effect. Default is false.",
               "location": "query",
               "type": "boolean"
             },
             "options.outputGroupEdges": {
-              "description": "Optional. If true, the result will output group identity edges, starting\nfrom the binding's group members, to any expanded identities.\nDefault is false.",
+              "description": "Optional. If true, the result will output group identity edges, starting from the binding's group members, to any expanded identities. Default is false.",
               "location": "query",
               "type": "boolean"
             },
             "options.outputResourceEdges": {
-              "description": "Optional. If true, the result will output resource edges, starting\nfrom the policy attached resource, to any expanded resources.\nDefault is false.",
+              "description": "Optional. If true, the result will output resource edges, starting from the policy attached resource, to any expanded resources. Default is false.",
               "location": "query",
               "type": "boolean"
             },
             "parent": {
-              "description": "Required. The relative name of the root asset. Only resources and IAM policies within\nthe parent will be analyzed. This can only be an organization number (such\nas \"organizations/123\") or a folder number (such as \"folders/123\").\n\nTo know how to get organization id, visit [here\n](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).\n\nTo know how to get folder id, visit [here\n](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).",
+              "description": "Required. The relative name of the root asset. Only resources and IAM policies within the parent will be analyzed. This can only be an organization number (such as \"organizations/123\") or a folder number (such as \"folders/123\"). To know how to get organization id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). To know how to get folder id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).",
               "location": "path",
               "pattern": "^[^/]+/[^/]+$",
               "required": true,
@@ -191,7 +191,7 @@
           ]
         },
         "exportIamPolicyAnalysis": {
-          "description": "Exports the answers of which identities have what accesses on which\nresources to a Google Cloud Storage destination. The output format is\nthe JSON format that represents a AnalyzeIamPolicyResponse\nin the JSON format.\nThis method implements the google.longrunning.Operation, which allows\nyou to keep track of the export. We recommend intervals of at least 2\nseconds with exponential retry to poll the export operation result. The\nmetadata contains the request to help callers to map responses to requests.",
+          "description": "Exports the answers of which identities have what accesses on which resources to a Google Cloud Storage destination. The output format is the JSON format that represents a AnalyzeIamPolicyResponse in the JSON format. This method implements the google.longrunning.Operation, which allows you to keep track of the export. We recommend intervals of at least 2 seconds with exponential retry to poll the export operation result. The metadata contains the request to help callers to map responses to requests.",
           "flatPath": "v1p4beta1/{v1p4beta1Id}/{v1p4beta1Id1}:exportIamPolicyAnalysis",
           "httpMethod": "POST",
           "id": "cloudasset.exportIamPolicyAnalysis",
@@ -200,7 +200,7 @@
           ],
           "parameters": {
             "parent": {
-              "description": "Required. The relative name of the root asset. Only resources and IAM policies within\nthe parent will be analyzed. This can only be an organization number (such\nas \"organizations/123\") or a folder number (such as \"folders/123\").\n\nTo know how to get organization id, visit [here\n](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).\n\nTo know how to get folder id, visit [here\n](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).",
+              "description": "Required. The relative name of the root asset. Only resources and IAM policies within the parent will be analyzed. This can only be an organization number (such as \"organizations/123\") or a folder number (such as \"folders/123\"). To know how to get organization id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). To know how to get folder id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).",
               "location": "path",
               "pattern": "^[^/]+/[^/]+$",
               "required": true,
@@ -221,11 +221,11 @@
       }
     }
   },
-  "revision": "20200731",
+  "revision": "20200810",
   "rootUrl": "https://cloudasset.googleapis.com/",
   "schemas": {
     "AccessSelector": {
-      "description": "Specifies roles and/or permissions to analyze, to determine both the\nidentities possessing them and the resources they control. If multiple\nvalues are specified, results will include identities and resources\nmatching any of them.",
+      "description": "Specifies roles and/or permissions to analyze, to determine both the identities possessing them and the resources they control. If multiple values are specified, results will include identities and resources matching any of them.",
       "id": "AccessSelector",
       "properties": {
         "permissions": {
@@ -250,7 +250,7 @@
       "id": "AnalyzeIamPolicyResponse",
       "properties": {
         "fullyExplored": {
-          "description": "Represents whether all entries in the main_analysis and\nservice_account_impersonation_analysis have been fully explored to\nanswer the query in the request.",
+          "description": "Represents whether all entries in the main_analysis and service_account_impersonation_analysis have been fully explored to answer the query in the request.",
           "type": "boolean"
         },
         "mainAnalysis": {
@@ -258,14 +258,14 @@
           "description": "The main analysis that matches the original request."
         },
         "nonCriticalErrors": {
-          "description": "A list of non-critical errors happened during the request handling to\nexplain why `fully_explored` is false, or empty if no error happened.",
+          "description": "A list of non-critical errors happened during the request handling to explain why `fully_explored` is false, or empty if no error happened.",
           "items": {
             "$ref": "GoogleCloudAssetV1p4beta1AnalysisState"
           },
           "type": "array"
         },
         "serviceAccountImpersonationAnalysis": {
-          "description": "The service account impersonation analysis if\nAnalyzeIamPolicyRequest.analyze_service_account_impersonation is\nenabled.",
+          "description": "The service account impersonation analysis if AnalyzeIamPolicyRequest.analyze_service_account_impersonation is enabled.",
           "items": {
             "$ref": "IamPolicyAnalysis"
           },
@@ -280,17 +280,17 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
           "type": "string"
         }
       },
@@ -316,23 +316,23 @@
       "type": "object"
     },
     "Expr": {
-      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
+      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
       "id": "Expr",
       "properties": {
         "description": {
-          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
+          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
           "type": "string"
         },
         "expression": {
-          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
+          "description": "Textual representation of an expression in Common Expression Language syntax.",
           "type": "string"
         },
         "location": {
-          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
+          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
           "type": "string"
         },
         "title": {
-          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
+          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
           "type": "string"
         }
       },
@@ -343,7 +343,7 @@
       "id": "GcsDestination",
       "properties": {
         "uri": {
-          "description": "Required. The uri of the Cloud Storage object. It's the same uri that is used by\ngsutil. For example: \"gs://bucket_name/object_name\". See [Viewing and\nEditing Object\nMetadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)\nfor more information.",
+          "description": "Required. The uri of the Cloud Storage object. It's the same uri that is used by gsutil. For example: \"gs://bucket_name/object_name\". See [Viewing and Editing Object Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata) for more information.",
           "type": "string"
         }
       },
@@ -369,25 +369,25 @@
       "type": "object"
     },
     "GoogleCloudAssetV1p4beta1AccessControlList": {
-      "description": "An access control list, derived from the above IAM policy binding, which\ncontains a set of resources and accesses. May include one\nitem from each set to compose an access control entry.\n\nNOTICE that there could be multiple access control lists for one IAM policy\nbinding. The access control lists are created based on resource and access\ncombinations.\n\nFor example, assume we have the following cases in one IAM policy binding:\n- Permission P1 and P2 apply to resource R1 and R2;\n- Permission P3 applies to resource R2 and R3;\n\nThis will result in the following access control lists:\n- AccessControlList 1: [R1, R2], [P1, P2]\n- AccessControlList 2: [R2, R3], [P3]",
+      "description": "An access control list, derived from the above IAM policy binding, which contains a set of resources and accesses. May include one item from each set to compose an access control entry. NOTICE that there could be multiple access control lists for one IAM policy binding. The access control lists are created based on resource and access combinations. For example, assume we have the following cases in one IAM policy binding: - Permission P1 and P2 apply to resource R1 and R2; - Permission P3 applies to resource R2 and R3; This will result in the following access control lists: - AccessControlList 1: [R1, R2], [P1, P2] - AccessControlList 2: [R2, R3], [P3]",
       "id": "GoogleCloudAssetV1p4beta1AccessControlList",
       "properties": {
         "accesses": {
-          "description": "The accesses that match one of the following conditions:\n- The access_selector, if it is specified in request;\n- Otherwise, access specifiers reachable from the policy binding's role.",
+          "description": "The accesses that match one of the following conditions: - The access_selector, if it is specified in request; - Otherwise, access specifiers reachable from the policy binding's role.",
           "items": {
             "$ref": "GoogleCloudAssetV1p4beta1Access"
           },
           "type": "array"
         },
         "resourceEdges": {
-          "description": "Resource edges of the graph starting from the policy attached\nresource to any descendant resources. The Edge.source_node contains\nthe full resource name of a parent resource and Edge.target_node\ncontains the full resource name of a child resource. This field is\npresent only if the output_resource_edges option is enabled in request.",
+          "description": "Resource edges of the graph starting from the policy attached resource to any descendant resources. The Edge.source_node contains the full resource name of a parent resource and Edge.target_node contains the full resource name of a child resource. This field is present only if the output_resource_edges option is enabled in request.",
           "items": {
             "$ref": "GoogleCloudAssetV1p4beta1Edge"
           },
           "type": "array"
         },
         "resources": {
-          "description": "The resources that match one of the following conditions:\n- The resource_selector, if it is specified in request;\n- Otherwise, resources reachable from the policy attached resource.",
+          "description": "The resources that match one of the following conditions: - The resource_selector, if it is specified in request; - Otherwise, resources reachable from the policy attached resource.",
           "items": {
             "$ref": "GoogleCloudAssetV1p4beta1Resource"
           },
@@ -397,7 +397,7 @@
       "type": "object"
     },
     "GoogleCloudAssetV1p4beta1AnalysisState": {
-      "description": "Represents the detailed state of an entity under analysis, such as a\nresource, an identity or an access.",
+      "description": "Represents the detailed state of an entity under analysis, such as a resource, an identity or an access.",
       "id": "GoogleCloudAssetV1p4beta1AnalysisState",
       "properties": {
         "cause": {
@@ -405,7 +405,7 @@
           "type": "string"
         },
         "code": {
-          "description": "The Google standard error code that best describes the state.\nFor example:\n- OK means the analysis on this entity has been successfully finished;\n- PERMISSION_DENIED means an access denied error is encountered;\n- DEADLINE_EXCEEDED means the analysis on this entity hasn't been started\nin time;",
+          "description": "The Google standard error code that best describes the state. For example: - OK means the analysis on this entity has been successfully finished; - PERMISSION_DENIED means an access denied error is encountered; - DEADLINE_EXCEEDED means the analysis on this entity hasn't been started in time;",
           "enum": [
             "OK",
             "CANCELLED",
@@ -426,23 +426,23 @@
             "DATA_LOSS"
           ],
           "enumDescriptions": [
-            "Not an error; returned on success\n\nHTTP Mapping: 200 OK",
-            "The operation was cancelled, typically by the caller.\n\nHTTP Mapping: 499 Client Closed Request",
-            "Unknown error.  For example, this error may be returned when\na `Status` value received from another address space belongs to\nan error space that is not known in this address space.  Also\nerrors raised by APIs that do not return enough error information\nmay be converted to this error.\n\nHTTP Mapping: 500 Internal Server Error",
-            "The client specified an invalid argument.  Note that this differs\nfrom `FAILED_PRECONDITION`.  `INVALID_ARGUMENT` indicates arguments\nthat are problematic regardless of the state of the system\n(e.g., a malformed file name).\n\nHTTP Mapping: 400 Bad Request",
-            "The deadline expired before the operation could complete. For operations\nthat change the state of the system, this error may be returned\neven if the operation has completed successfully.  For example, a\nsuccessful response from a server could have been delayed long\nenough for the deadline to expire.\n\nHTTP Mapping: 504 Gateway Timeout",
-            "Some requested entity (e.g., file or directory) was not found.\n\nNote to server developers: if a request is denied for an entire class\nof users, such as gradual feature rollout or undocumented allowlist,\n`NOT_FOUND` may be used. If a request is denied for some users within\na class of users, such as user-based access control, `PERMISSION_DENIED`\nmust be used.\n\nHTTP Mapping: 404 Not Found",
-            "The entity that a client attempted to create (e.g., file or directory)\nalready exists.\n\nHTTP Mapping: 409 Conflict",
-            "The caller does not have permission to execute the specified\noperation. `PERMISSION_DENIED` must not be used for rejections\ncaused by exhausting some resource (use `RESOURCE_EXHAUSTED`\ninstead for those errors). `PERMISSION_DENIED` must not be\nused if the caller can not be identified (use `UNAUTHENTICATED`\ninstead for those errors). This error code does not imply the\nrequest is valid or the requested entity exists or satisfies\nother pre-conditions.\n\nHTTP Mapping: 403 Forbidden",
-            "The request does not have valid authentication credentials for the\noperation.\n\nHTTP Mapping: 401 Unauthorized",
-            "Some resource has been exhausted, perhaps a per-user quota, or\nperhaps the entire file system is out of space.\n\nHTTP Mapping: 429 Too Many Requests",
-            "The operation was rejected because the system is not in a state\nrequired for the operation's execution.  For example, the directory\nto be deleted is non-empty, an rmdir operation is applied to\na non-directory, etc.\n\nService implementors can use the following guidelines to decide\nbetween `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`:\n (a) Use `UNAVAILABLE` if the client can retry just the failing call.\n (b) Use `ABORTED` if the client should retry at a higher level\n     (e.g., when a client-specified test-and-set fails, indicating the\n     client should restart a read-modify-write sequence).\n (c) Use `FAILED_PRECONDITION` if the client should not retry until\n     the system state has been explicitly fixed.  E.g., if an \"rmdir\"\n     fails because the directory is non-empty, `FAILED_PRECONDITION`\n     should be returned since the client should not retry unless\n     the files are deleted from the directory.\n\nHTTP Mapping: 400 Bad Request",
-            "The operation was aborted, typically due to a concurrency issue such as\na sequencer check failure or transaction abort.\n\nSee the guidelines above for deciding between `FAILED_PRECONDITION`,\n`ABORTED`, and `UNAVAILABLE`.\n\nHTTP Mapping: 409 Conflict",
-            "The operation was attempted past the valid range.  E.g., seeking or\nreading past end-of-file.\n\nUnlike `INVALID_ARGUMENT`, this error indicates a problem that may\nbe fixed if the system state changes. For example, a 32-bit file\nsystem will generate `INVALID_ARGUMENT` if asked to read at an\noffset that is not in the range [0,2^32-1], but it will generate\n`OUT_OF_RANGE` if asked to read from an offset past the current\nfile size.\n\nThere is a fair bit of overlap between `FAILED_PRECONDITION` and\n`OUT_OF_RANGE`.  We recommend using `OUT_OF_RANGE` (the more specific\nerror) when it applies so that callers who are iterating through\na space can easily look for an `OUT_OF_RANGE` error to detect when\nthey are done.\n\nHTTP Mapping: 400 Bad Request",
-            "The operation is not implemented or is not supported/enabled in this\nservice.\n\nHTTP Mapping: 501 Not Implemented",
-            "Internal errors.  This means that some invariants expected by the\nunderlying system have been broken.  This error code is reserved\nfor serious errors.\n\nHTTP Mapping: 500 Internal Server Error",
-            "The service is currently unavailable.  This is most likely a\ntransient condition, which can be corrected by retrying with\na backoff. Note that it is not always safe to retry\nnon-idempotent operations.\n\nSee the guidelines above for deciding between `FAILED_PRECONDITION`,\n`ABORTED`, and `UNAVAILABLE`.\n\nHTTP Mapping: 503 Service Unavailable",
-            "Unrecoverable data loss or corruption.\n\nHTTP Mapping: 500 Internal Server Error"
+            "Not an error; returned on success HTTP Mapping: 200 OK",
+            "The operation was cancelled, typically by the caller. HTTP Mapping: 499 Client Closed Request",
+            "Unknown error. For example, this error may be returned when a `Status` value received from another address space belongs to an error space that is not known in this address space. Also errors raised by APIs that do not return enough error information may be converted to this error. HTTP Mapping: 500 Internal Server Error",
+            "The client specified an invalid argument. Note that this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments that are problematic regardless of the state of the system (e.g., a malformed file name). HTTP Mapping: 400 Bad Request",
+            "The deadline expired before the operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire. HTTP Mapping: 504 Gateway Timeout",
+            "Some requested entity (e.g., file or directory) was not found. Note to server developers: if a request is denied for an entire class of users, such as gradual feature rollout or undocumented allowlist, `NOT_FOUND` may be used. If a request is denied for some users within a class of users, such as user-based access control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404 Not Found",
+            "The entity that a client attempted to create (e.g., file or directory) already exists. HTTP Mapping: 409 Conflict",
+            "The caller does not have permission to execute the specified operation. `PERMISSION_DENIED` must not be used for rejections caused by exhausting some resource (use `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED` must not be used if the caller can not be identified (use `UNAUTHENTICATED` instead for those errors). This error code does not imply the request is valid or the requested entity exists or satisfies other pre-conditions. HTTP Mapping: 403 Forbidden",
+            "The request does not have valid authentication credentials for the operation. HTTP Mapping: 401 Unauthorized",
+            "Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space. HTTP Mapping: 429 Too Many Requests",
+            "The operation was rejected because the system is not in a state required for the operation's execution. For example, the directory to be deleted is non-empty, an rmdir operation is applied to a non-directory, etc. Service implementors can use the following guidelines to decide between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can retry just the failing call. (b) Use `ABORTED` if the client should retry at a higher level (e.g., when a client-specified test-and-set fails, indicating the client should restart a read-modify-write sequence). (c) Use `FAILED_PRECONDITION` if the client should not retry until the system state has been explicitly fixed. E.g., if an \"rmdir\" fails because the directory is non-empty, `FAILED_PRECONDITION` should be returned since the client should not retry unless the files are deleted from the directory. HTTP Mapping: 400 Bad Request",
+            "The operation was aborted, typically due to a concurrency issue such as a sequencer check failure or transaction abort. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 409 Conflict",
+            "The operation was attempted past the valid range. E.g., seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error indicates a problem that may be fixed if the system state changes. For example, a 32-bit file system will generate `INVALID_ARGUMENT` if asked to read at an offset that is not in the range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to read from an offset past the current file size. There is a fair bit of overlap between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific error) when it applies so that callers who are iterating through a space can easily look for an `OUT_OF_RANGE` error to detect when they are done. HTTP Mapping: 400 Bad Request",
+            "The operation is not implemented or is not supported/enabled in this service. HTTP Mapping: 501 Not Implemented",
+            "Internal errors. This means that some invariants expected by the underlying system have been broken. This error code is reserved for serious errors. HTTP Mapping: 500 Internal Server Error",
+            "The service is currently unavailable. This is most likely a transient condition, which can be corrected by retrying with a backoff. Note that it is not always safe to retry non-idempotent operations. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 503 Service Unavailable",
+            "Unrecoverable data loss or corruption. HTTP Mapping: 500 Internal Server Error"
           ],
           "type": "string"
         }
@@ -473,7 +473,7 @@
           "description": "The analysis state of this identity."
         },
         "name": {
-          "description": "The identity name in any form of members appear in\n[IAM policy\nbinding](https://cloud.google.com/iam/reference/rest/v1/Binding), such\nas:\n- user:foo@google.com\n- group:group1@google.com\n- serviceAccount:s1@prj1.iam.gserviceaccount.com\n- projectOwner:some_project_id\n- domain:google.com\n- allUsers\n- etc.",
+          "description": "The identity name in any form of members appear in [IAM policy binding](https://cloud.google.com/iam/reference/rest/v1/Binding), such as: - user:foo@google.com - group:group1@google.com - serviceAccount:s1@prj1.iam.gserviceaccount.com - projectOwner:some_project_id - domain:google.com - allUsers - etc.",
           "type": "string"
         }
       },
@@ -483,14 +483,14 @@
       "id": "GoogleCloudAssetV1p4beta1IdentityList",
       "properties": {
         "groupEdges": {
-          "description": "Group identity edges of the graph starting from the binding's\ngroup members to any node of the identities. The Edge.source_node\ncontains a group, such as \"group:parent@google.com\". The\nEdge.target_node contains a member of the group,\nsuch as \"group:child@google.com\" or \"user:foo@google.com\".\nThis field is present only if the output_group_edges option is enabled in\nrequest.",
+          "description": "Group identity edges of the graph starting from the binding's group members to any node of the identities. The Edge.source_node contains a group, such as \"group:parent@google.com\". The Edge.target_node contains a member of the group, such as \"group:child@google.com\" or \"user:foo@google.com\". This field is present only if the output_group_edges option is enabled in request.",
           "items": {
             "$ref": "GoogleCloudAssetV1p4beta1Edge"
           },
           "type": "array"
         },
         "identities": {
-          "description": "Only the identities that match one of the following conditions will be\npresented:\n- The identity_selector, if it is specified in request;\n- Otherwise, identities reachable from the policy binding's members.",
+          "description": "Only the identities that match one of the following conditions will be presented: - The identity_selector, if it is specified in request; - Otherwise, identities reachable from the policy binding's members.",
           "items": {
             "$ref": "GoogleCloudAssetV1p4beta1Identity"
           },
@@ -508,7 +508,7 @@
           "description": "The analysis state of this resource."
         },
         "fullResourceName": {
-          "description": "The [full resource\nname](https://cloud.google.com/asset-inventory/docs/resource-name-format)",
+          "description": "The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format)",
           "type": "string"
         }
       },
@@ -523,14 +523,14 @@
           "description": "The analysis query."
         },
         "analysisResults": {
-          "description": "A list of IamPolicyAnalysisResult that matches the analysis query, or\nempty if no result is found.",
+          "description": "A list of IamPolicyAnalysisResult that matches the analysis query, or empty if no result is found.",
           "items": {
             "$ref": "IamPolicyAnalysisResult"
           },
           "type": "array"
         },
         "fullyExplored": {
-          "description": "Represents whether all entries in the analysis_results have been\nfully explored to answer the query.",
+          "description": "Represents whether all entries in the analysis_results have been fully explored to answer the query.",
           "type": "boolean"
         }
       },
@@ -560,7 +560,7 @@
           "description": "Optional. Specifies an identity for analysis."
         },
         "parent": {
-          "description": "Required. The relative name of the root asset. Only resources and IAM policies within\nthe parent will be analyzed. This can only be an organization number (such\nas \"organizations/123\") or a folder number (such as \"folders/123\").\n\nTo know how to get organization id, visit [here\n](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).\n\nTo know how to get folder id, visit [here\n](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).",
+          "description": "Required. The relative name of the root asset. Only resources and IAM policies within the parent will be analyzed. This can only be an organization number (such as \"organizations/123\") or a folder number (such as \"folders/123\"). To know how to get organization id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). To know how to get folder id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).",
           "type": "string"
         },
         "resourceSelector": {
@@ -571,22 +571,22 @@
       "type": "object"
     },
     "IamPolicyAnalysisResult": {
-      "description": "IAM Policy analysis result, consisting of one IAM policy binding and derived\naccess control lists.",
+      "description": "IAM Policy analysis result, consisting of one IAM policy binding and derived access control lists.",
       "id": "IamPolicyAnalysisResult",
       "properties": {
         "accessControlLists": {
-          "description": "The access control lists derived from the iam_binding that match or\npotentially match resource and access selectors specified in the request.",
+          "description": "The access control lists derived from the iam_binding that match or potentially match resource and access selectors specified in the request.",
           "items": {
             "$ref": "GoogleCloudAssetV1p4beta1AccessControlList"
           },
           "type": "array"
         },
         "attachedResourceFullName": {
-          "description": "The [full resource\nname](https://cloud.google.com/asset-inventory/docs/resource-name-format)\nof the resource to which the iam_binding policy attaches.",
+          "description": "The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the resource to which the iam_binding policy attaches.",
           "type": "string"
         },
         "fullyExplored": {
-          "description": "Represents whether all analyses on the iam_binding have successfully\nfinished.",
+          "description": "Represents whether all analyses on the iam_binding have successfully finished.",
           "type": "boolean"
         },
         "iamBinding": {
@@ -595,28 +595,28 @@
         },
         "identityList": {
           "$ref": "GoogleCloudAssetV1p4beta1IdentityList",
-          "description": "The identity list derived from members of the iam_binding that match or\npotentially match identity selector specified in the request."
+          "description": "The identity list derived from members of the iam_binding that match or potentially match identity selector specified in the request."
         }
       },
       "type": "object"
     },
     "IdentitySelector": {
-      "description": "Specifies an identity for which to determine resource access, based on\nroles assigned either directly to them or to the groups they belong to,\ndirectly or indirectly.",
+      "description": "Specifies an identity for which to determine resource access, based on roles assigned either directly to them or to the groups they belong to, directly or indirectly.",
       "id": "IdentitySelector",
       "properties": {
         "identity": {
-          "description": "Required. The identity appear in the form of members in\n[IAM policy\nbinding](https://cloud.google.com/iam/reference/rest/v1/Binding).\n\nThe examples of supported forms are:\n\"user:mike@example.com\",\n\"group:admins@example.com\",\n\"domain:google.com\",\n\"serviceAccount:my-project-id@appspot.gserviceaccount.com\".\n\nNotice that wildcard characters (such as * and ?) are not supported.\nYou must give a specific identity.",
+          "description": "Required. The identity appear in the form of members in [IAM policy binding](https://cloud.google.com/iam/reference/rest/v1/Binding). The examples of supported forms are: \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\". Notice that wildcard characters (such as * and ?) are not supported. You must give a specific identity.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Operation": {
-      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
+      "description": "This resource represents a long-running operation that is the result of a network API call.",
       "id": "Operation",
       "properties": {
         "done": {
-          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
+          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
           "type": "boolean"
         },
         "error": {
@@ -628,11 +628,11 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "Service-specific metadata associated with the operation.  It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata.  Any method that returns a\nlong-running operation should document the metadata type, if any.",
+          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
           "type": "object"
         },
         "name": {
-          "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.",
+          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
           "type": "string"
         },
         "response": {
@@ -640,7 +640,7 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "The normal response of the operation in case of success.  If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`.  If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource.  For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name.  For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
+          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
           "type": "object"
         }
       },
@@ -651,45 +651,45 @@
       "id": "Options",
       "properties": {
         "analyzeServiceAccountImpersonation": {
-          "description": "Optional. If true, the response will include access analysis from identities to\nresources via service account impersonation. This is a very expensive\noperation, because many derived queries will be executed.\n\nFor example, if the request analyzes for which resources user A has\npermission P, and there's an IAM policy states user A has\niam.serviceAccounts.getAccessToken permission to a service account SA,\nand there's another IAM policy states service account SA has permission P\nto a GCP folder F, then user A potentially has access to the GCP folder\nF. And those advanced analysis results will be included in\nAnalyzeIamPolicyResponse.service_account_impersonation_analysis.\n\nAnother example, if the request analyzes for who has\npermission P to a GCP folder F, and there's an IAM policy states user A\nhas iam.serviceAccounts.actAs permission to a service account SA, and\nthere's another IAM policy states service account SA has permission P to\nthe GCP folder F, then user A potentially has access to the GCP folder\nF. And those advanced analysis results will be included in\nAnalyzeIamPolicyResponse.service_account_impersonation_analysis.\n\nDefault is false.",
+          "description": "Optional. If true, the response will include access analysis from identities to resources via service account impersonation. This is a very expensive operation, because many derived queries will be executed. For example, if the request analyzes for which resources user A has permission P, and there's an IAM policy states user A has iam.serviceAccounts.getAccessToken permission to a service account SA, and there's another IAM policy states service account SA has permission P to a GCP folder F, then user A potentially has access to the GCP folder F. And those advanced analysis results will be included in AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Another example, if the request analyzes for who has permission P to a GCP folder F, and there's an IAM policy states user A has iam.serviceAccounts.actAs permission to a service account SA, and there's another IAM policy states service account SA has permission P to the GCP folder F, then user A potentially has access to the GCP folder F. And those advanced analysis results will be included in AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Default is false.",
           "type": "boolean"
         },
         "expandGroups": {
-          "description": "Optional. If true, the identities section of the result will expand any\nGoogle groups appearing in an IAM policy binding.\n\nIf identity_selector is specified, the identity in the result will\nbe determined by the selector, and this flag will have no effect.\n\nDefault is false.",
+          "description": "Optional. If true, the identities section of the result will expand any Google groups appearing in an IAM policy binding. If identity_selector is specified, the identity in the result will be determined by the selector, and this flag will have no effect. Default is false.",
           "type": "boolean"
         },
         "expandResources": {
-          "description": "Optional. If true, the resource section of the result will expand any\nresource attached to an IAM policy to include resources lower in the\nresource hierarchy.\n\nFor example, if the request analyzes for which resources user A has\npermission P, and the results include an IAM policy with P on a GCP\nfolder, the results will also include resources in that folder with\npermission P.\n\nIf resource_selector is specified, the resource section of the result\nwill be determined by the selector, and this flag will have no effect.\nDefault is false.",
+          "description": "Optional. If true, the resource section of the result will expand any resource attached to an IAM policy to include resources lower in the resource hierarchy. For example, if the request analyzes for which resources user A has permission P, and the results include an IAM policy with P on a GCP folder, the results will also include resources in that folder with permission P. If resource_selector is specified, the resource section of the result will be determined by the selector, and this flag will have no effect. Default is false.",
           "type": "boolean"
         },
         "expandRoles": {
-          "description": "Optional. If true, the access section of result will expand any roles\nappearing in IAM policy bindings to include their permissions.\n\nIf access_selector is specified, the access section of the result\nwill be determined by the selector, and this flag will have no effect.\n\nDefault is false.",
+          "description": "Optional. If true, the access section of result will expand any roles appearing in IAM policy bindings to include their permissions. If access_selector is specified, the access section of the result will be determined by the selector, and this flag will have no effect. Default is false.",
           "type": "boolean"
         },
         "outputGroupEdges": {
-          "description": "Optional. If true, the result will output group identity edges, starting\nfrom the binding's group members, to any expanded identities.\nDefault is false.",
+          "description": "Optional. If true, the result will output group identity edges, starting from the binding's group members, to any expanded identities. Default is false.",
           "type": "boolean"
         },
         "outputResourceEdges": {
-          "description": "Optional. If true, the result will output resource edges, starting\nfrom the policy attached resource, to any expanded resources.\nDefault is false.",
+          "description": "Optional. If true, the result will output resource edges, starting from the policy attached resource, to any expanded resources. Default is false.",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "ResourceSelector": {
-      "description": "Specifies the resource to analyze for access policies, which may be set\ndirectly on the resource, or on ancestors such as organizations, folders or\nprojects.",
+      "description": "Specifies the resource to analyze for access policies, which may be set directly on the resource, or on ancestors such as organizations, folders or projects.",
       "id": "ResourceSelector",
       "properties": {
         "fullResourceName": {
-          "description": "Required. The [full resource\nname](https://cloud.google.com/asset-inventory/docs/resource-name-format)\nof a resource of [supported resource\ntypes](https://cloud.google.com/asset-inventory/docs/supported-asset-types#analyzable_asset_types).",
+          "description": "Required. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of a resource of [supported resource types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#analyzable_asset_types).",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Status": {
-      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "Status",
       "properties": {
         "code": {
@@ -698,7 +698,7 @@
           "type": "integer"
         },
         "details": {
-          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -709,7 +709,7 @@
           "type": "array"
         },
         "message": {
-          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
           "type": "string"
         }
       },
diff --git a/cloudasset/v1p4beta1/cloudasset-gen.go b/cloudasset/v1p4beta1/cloudasset-gen.go
index 8c28fd3..e7a3eb0 100644
--- a/cloudasset/v1p4beta1/cloudasset-gen.go
+++ b/cloudasset/v1p4beta1/cloudasset-gen.go
@@ -145,12 +145,9 @@
 }
 
 // AccessSelector: Specifies roles and/or permissions to analyze, to
-// determine both the
-// identities possessing them and the resources they control. If
-// multiple
-// values are specified, results will include identities and
-// resources
-// matching any of them.
+// determine both the identities possessing them and the resources they
+// control. If multiple values are specified, results will include
+// identities and resources matching any of them.
 type AccessSelector struct {
 	// Permissions: Optional. The permissions to appear in result.
 	Permissions []string `json:"permissions,omitempty"`
@@ -185,25 +182,21 @@
 // AssetService.AnalyzeIamPolicy.
 type AnalyzeIamPolicyResponse struct {
 	// FullyExplored: Represents whether all entries in the main_analysis
-	// and
-	// service_account_impersonation_analysis have been fully explored
-	// to
-	// answer the query in the request.
+	// and service_account_impersonation_analysis have been fully explored
+	// to answer the query in the request.
 	FullyExplored bool `json:"fullyExplored,omitempty"`
 
 	// MainAnalysis: The main analysis that matches the original request.
 	MainAnalysis *IamPolicyAnalysis `json:"mainAnalysis,omitempty"`
 
 	// NonCriticalErrors: A list of non-critical errors happened during the
-	// request handling to
-	// explain why `fully_explored` is false, or empty if no error happened.
+	// request handling to explain why `fully_explored` is false, or empty
+	// if no error happened.
 	NonCriticalErrors []*GoogleCloudAssetV1p4beta1AnalysisState `json:"nonCriticalErrors,omitempty"`
 
 	// ServiceAccountImpersonationAnalysis: The service account
-	// impersonation analysis
-	// if
-	// AnalyzeIamPolicyRequest.analyze_service_account_impersonation
-	// is
+	// impersonation analysis if
+	// AnalyzeIamPolicyRequest.analyze_service_account_impersonation is
 	// enabled.
 	ServiceAccountImpersonationAnalysis []*IamPolicyAnalysis `json:"serviceAccountImpersonationAnalysis,omitempty"`
 
@@ -236,95 +229,53 @@
 
 // Binding: Associates `members` with a `role`.
 type Binding struct {
-	// Condition: The condition that is associated with this binding.
-	//
-	// If the condition evaluates to `true`, then this binding applies to
-	// the
-	// current request.
-	//
-	// If the condition evaluates to `false`, then this binding does not
-	// apply to
-	// the current request. However, a different role binding might grant
-	// the same
-	// role to one or more of the members in this binding.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// Condition: The condition that is associated with this binding. If the
+	// condition evaluates to `true`, then this binding applies to the
+	// current request. If the condition evaluates to `false`, then this
+	// binding does not apply to the current request. However, a different
+	// role binding might grant the same role to one or more of the members
+	// in this binding. To learn which resources support conditions in their
+	// IAM policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	Condition *Expr `json:"condition,omitempty"`
 
 	// Members: Specifies the identities requesting access for a Cloud
-	// Platform resource.
-	// `members` can have the following values:
-	//
-	// * `allUsers`: A special identifier that represents anyone who is
-	//    on the internet; with or without a Google account.
-	//
-	// * `allAuthenticatedUsers`: A special identifier that represents
-	// anyone
-	//    who is authenticated with a Google account or a service
-	// account.
-	//
-	// * `user:{emailid}`: An email address that represents a specific
-	// Google
-	//    account. For example, `alice@example.com` .
-	//
-	//
-	// * `serviceAccount:{emailid}`: An email address that represents a
-	// service
-	//    account. For example,
-	// `my-other-app@appspot.gserviceaccount.com`.
-	//
-	// * `group:{emailid}`: An email address that represents a Google
-	// group.
-	//    For example, `admins@example.com`.
-	//
-	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a user that has been recently deleted.
-	// For
-	//    example, `alice@example.com?uid=123456789012345678901`. If the
-	// user is
-	//    recovered, this value reverts to `user:{emailid}` and the
-	// recovered user
-	//    retains the role in the binding.
-	//
-	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
-	// (plus
-	//    unique identifier) representing a service account that has been
-	// recently
-	//    deleted. For example,
-	//
+	// Platform resource. `members` can have the following values: *
+	// `allUsers`: A special identifier that represents anyone who is on the
+	// internet; with or without a Google account. *
+	// `allAuthenticatedUsers`: A special identifier that represents anyone
+	// who is authenticated with a Google account or a service account. *
+	// `user:{emailid}`: An email address that represents a specific Google
+	// account. For example, `alice@example.com` . *
+	// `serviceAccount:{emailid}`: An email address that represents a
+	// service account. For example,
+	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
+	// email address that represents a Google group. For example,
+	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
+	// email address (plus unique identifier) representing a user that has
+	// been recently deleted. For example,
+	// `alice@example.com?uid=123456789012345678901`. If the user is
+	// recovered, this value reverts to `user:{emailid}` and the recovered
+	// user retains the role in the binding. *
+	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
+	// (plus unique identifier) representing a service account that has been
+	// recently deleted. For example,
 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
-	//
-	//    If the service account is undeleted, this value reverts to
-	//    `serviceAccount:{emailid}` and the undeleted service account
-	// retains the
-	//    role in the binding.
-	//
-	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a Google group that has been recently
-	//    deleted. For example,
-	// `admins@example.com?uid=123456789012345678901`. If
-	//    the group is recovered, this value reverts to `group:{emailid}`
-	// and the
-	//    recovered group retains the role in the binding.
-	//
-	//
-	// * `domain:{domain}`: The G Suite domain (primary) that represents all
-	// the
-	//    users of that domain. For example, `google.com` or
-	// `example.com`.
-	//
-	//
+	// If the service account is undeleted, this value reverts to
+	// `serviceAccount:{emailid}` and the undeleted service account retains
+	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
+	// An email address (plus unique identifier) representing a Google group
+	// that has been recently deleted. For example,
+	// `admins@example.com?uid=123456789012345678901`. If the group is
+	// recovered, this value reverts to `group:{emailid}` and the recovered
+	// group retains the role in the binding. * `domain:{domain}`: The G
+	// Suite domain (primary) that represents all the users of that domain.
+	// For example, `google.com` or `example.com`.
 	Members []string `json:"members,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`.
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -387,65 +338,40 @@
 }
 
 // Expr: Represents a textual expression in the Common Expression
-// Language (CEL)
-// syntax. CEL is a C-like expression language. The syntax and semantics
-// of CEL
-// are documented at https://github.com/google/cel-spec.
-//
-// Example (Comparison):
-//
-//     title: "Summary size limit"
-//     description: "Determines if a summary is less than 100 chars"
-//     expression: "document.summary.size() < 100"
-//
-// Example (Equality):
-//
-//     title: "Requestor is owner"
-//     description: "Determines if requestor is the document owner"
-//     expression: "document.owner ==
-// request.auth.claims.email"
-//
-// Example (Logic):
-//
-//     title: "Public documents"
-//     description: "Determine whether the document should be publicly
-// visible"
-//     expression: "document.type != 'private' && document.type !=
-// 'internal'"
-//
-// Example (Data Manipulation):
-//
-//     title: "Notification string"
-//     description: "Create a notification string with a timestamp."
-//     expression: "'New message received at ' +
-// string(document.create_time)"
-//
-// The exact variables and functions that may be referenced within an
-// expression
-// are determined by the service that evaluates it. See the
-// service
-// documentation for additional information.
+// Language (CEL) syntax. CEL is a C-like expression language. The
+// syntax and semantics of CEL are documented at
+// https://github.com/google/cel-spec. Example (Comparison): title:
+// "Summary size limit" description: "Determines if a summary is less
+// than 100 chars" expression: "document.summary.size() < 100" Example
+// (Equality): title: "Requestor is owner" description: "Determines if
+// requestor is the document owner" expression: "document.owner ==
+// request.auth.claims.email" Example (Logic): title: "Public documents"
+// description: "Determine whether the document should be publicly
+// visible" expression: "document.type != 'private' && document.type !=
+// 'internal'" Example (Data Manipulation): title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' +
+// string(document.create_time)" The exact variables and functions that
+// may be referenced within an expression are determined by the service
+// that evaluates it. See the service documentation for additional
+// information.
 type Expr struct {
 	// Description: Optional. Description of the expression. This is a
-	// longer text which
-	// describes the expression, e.g. when hovered over it in a UI.
+	// longer text which describes the expression, e.g. when hovered over it
+	// in a UI.
 	Description string `json:"description,omitempty"`
 
 	// Expression: Textual representation of an expression in Common
-	// Expression Language
-	// syntax.
+	// Expression Language syntax.
 	Expression string `json:"expression,omitempty"`
 
 	// Location: Optional. String indicating the location of the expression
-	// for error
-	// reporting, e.g. a file name and a position in the file.
+	// for error reporting, e.g. a file name and a position in the file.
 	Location string `json:"location,omitempty"`
 
 	// Title: Optional. Title for the expression, i.e. a short string
-	// describing
-	// its purpose. This can be used e.g. in UIs which allow to enter
-	// the
-	// expression.
+	// describing its purpose. This can be used e.g. in UIs which allow to
+	// enter the expression.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -474,14 +400,10 @@
 // GcsDestination: A Cloud Storage location.
 type GcsDestination struct {
 	// Uri: Required. The uri of the Cloud Storage object. It's the same uri
-	// that is used by
-	// gsutil. For example: "gs://bucket_name/object_name". See [Viewing
-	// and
-	// Editing
-	// Object
-	// Metadata](https://cloud.google.com/storage/docs/viewing-editing
-	// -metadata)
-	// for more information.
+	// that is used by gsutil. For example: "gs://bucket_name/object_name".
+	// See [Viewing and Editing Object
+	// Metadata](https://cloud.google.com/storage/docs/viewing-editing-metada
+	// ta) for more information.
 	Uri string `json:"uri,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Uri") to
@@ -543,47 +465,33 @@
 }
 
 // GoogleCloudAssetV1p4beta1AccessControlList: An access control list,
-// derived from the above IAM policy binding, which
-// contains a set of resources and accesses. May include one
-// item from each set to compose an access control entry.
-//
-// NOTICE that there could be multiple access control lists for one IAM
-// policy
-// binding. The access control lists are created based on resource and
-// access
-// combinations.
-//
-// For example, assume we have the following cases in one IAM policy
-// binding:
-// - Permission P1 and P2 apply to resource R1 and R2;
-// - Permission P3 applies to resource R2 and R3;
-//
-// This will result in the following access control lists:
-// - AccessControlList 1: [R1, R2], [P1, P2]
-// - AccessControlList 2: [R2, R3], [P3]
+// derived from the above IAM policy binding, which contains a set of
+// resources and accesses. May include one item from each set to compose
+// an access control entry. NOTICE that there could be multiple access
+// control lists for one IAM policy binding. The access control lists
+// are created based on resource and access combinations. For example,
+// assume we have the following cases in one IAM policy binding: -
+// Permission P1 and P2 apply to resource R1 and R2; - Permission P3
+// applies to resource R2 and R3; This will result in the following
+// access control lists: - AccessControlList 1: [R1, R2], [P1, P2] -
+// AccessControlList 2: [R2, R3], [P3]
 type GoogleCloudAssetV1p4beta1AccessControlList struct {
-	// Accesses: The accesses that match one of the following conditions:
-	// - The access_selector, if it is specified in request;
-	// - Otherwise, access specifiers reachable from the policy binding's
-	// role.
+	// Accesses: The accesses that match one of the following conditions: -
+	// The access_selector, if it is specified in request; - Otherwise,
+	// access specifiers reachable from the policy binding's role.
 	Accesses []*GoogleCloudAssetV1p4beta1Access `json:"accesses,omitempty"`
 
 	// ResourceEdges: Resource edges of the graph starting from the policy
-	// attached
-	// resource to any descendant resources. The Edge.source_node
-	// contains
-	// the full resource name of a parent resource and
-	// Edge.target_node
-	// contains the full resource name of a child resource. This field
-	// is
-	// present only if the output_resource_edges option is enabled in
-	// request.
+	// attached resource to any descendant resources. The Edge.source_node
+	// contains the full resource name of a parent resource and
+	// Edge.target_node contains the full resource name of a child resource.
+	// This field is present only if the output_resource_edges option is
+	// enabled in request.
 	ResourceEdges []*GoogleCloudAssetV1p4beta1Edge `json:"resourceEdges,omitempty"`
 
-	// Resources: The resources that match one of the following
-	// conditions:
-	// - The resource_selector, if it is specified in request;
-	// - Otherwise, resources reachable from the policy attached resource.
+	// Resources: The resources that match one of the following conditions:
+	// - The resource_selector, if it is specified in request; - Otherwise,
+	// resources reachable from the policy attached resource.
 	Resources []*GoogleCloudAssetV1p4beta1Resource `json:"resources,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Accesses") to
@@ -610,177 +518,106 @@
 }
 
 // GoogleCloudAssetV1p4beta1AnalysisState: Represents the detailed state
-// of an entity under analysis, such as a
-// resource, an identity or an access.
+// of an entity under analysis, such as a resource, an identity or an
+// access.
 type GoogleCloudAssetV1p4beta1AnalysisState struct {
 	// Cause: The human-readable description of the cause of failure.
 	Cause string `json:"cause,omitempty"`
 
-	// Code: The Google standard error code that best describes the
-	// state.
-	// For example:
-	// - OK means the analysis on this entity has been successfully
-	// finished;
-	// - PERMISSION_DENIED means an access denied error is encountered;
-	// - DEADLINE_EXCEEDED means the analysis on this entity hasn't been
-	// started
-	// in time;
+	// Code: The Google standard error code that best describes the state.
+	// For example: - OK means the analysis on this entity has been
+	// successfully finished; - PERMISSION_DENIED means an access denied
+	// error is encountered; - DEADLINE_EXCEEDED means the analysis on this
+	// entity hasn't been started in time;
 	//
 	// Possible values:
-	//   "OK" - Not an error; returned on success
-	//
-	// HTTP Mapping: 200 OK
-	//   "CANCELLED" - The operation was cancelled, typically by the
-	// caller.
-	//
+	//   "OK" - Not an error; returned on success HTTP Mapping: 200 OK
+	//   "CANCELLED" - The operation was cancelled, typically by the caller.
 	// HTTP Mapping: 499 Client Closed Request
-	//   "UNKNOWN" - Unknown error.  For example, this error may be returned
-	// when
-	// a `Status` value received from another address space belongs to
-	// an error space that is not known in this address space.  Also
-	// errors raised by APIs that do not return enough error information
-	// may be converted to this error.
-	//
-	// HTTP Mapping: 500 Internal Server Error
-	//   "INVALID_ARGUMENT" - The client specified an invalid argument.
-	// Note that this differs
-	// from `FAILED_PRECONDITION`.  `INVALID_ARGUMENT` indicates
-	// arguments
-	// that are problematic regardless of the state of the system
-	// (e.g., a malformed file name).
-	//
-	// HTTP Mapping: 400 Bad Request
+	//   "UNKNOWN" - Unknown error. For example, this error may be returned
+	// when a `Status` value received from another address space belongs to
+	// an error space that is not known in this address space. Also errors
+	// raised by APIs that do not return enough error information may be
+	// converted to this error. HTTP Mapping: 500 Internal Server Error
+	//   "INVALID_ARGUMENT" - The client specified an invalid argument. Note
+	// that this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT`
+	// indicates arguments that are problematic regardless of the state of
+	// the system (e.g., a malformed file name). HTTP Mapping: 400 Bad
+	// Request
 	//   "DEADLINE_EXCEEDED" - The deadline expired before the operation
-	// could complete. For operations
-	// that change the state of the system, this error may be returned
-	// even if the operation has completed successfully.  For example,
-	// a
-	// successful response from a server could have been delayed long
-	// enough for the deadline to expire.
-	//
-	// HTTP Mapping: 504 Gateway Timeout
+	// could complete. For operations that change the state of the system,
+	// this error may be returned even if the operation has completed
+	// successfully. For example, a successful response from a server could
+	// have been delayed long enough for the deadline to expire. HTTP
+	// Mapping: 504 Gateway Timeout
 	//   "NOT_FOUND" - Some requested entity (e.g., file or directory) was
-	// not found.
-	//
-	// Note to server developers: if a request is denied for an entire
-	// class
-	// of users, such as gradual feature rollout or undocumented
-	// allowlist,
-	// `NOT_FOUND` may be used. If a request is denied for some users
-	// within
-	// a class of users, such as user-based access control,
-	// `PERMISSION_DENIED`
-	// must be used.
-	//
-	// HTTP Mapping: 404 Not Found
+	// not found. Note to server developers: if a request is denied for an
+	// entire class of users, such as gradual feature rollout or
+	// undocumented allowlist, `NOT_FOUND` may be used. If a request is
+	// denied for some users within a class of users, such as user-based
+	// access control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404
+	// Not Found
 	//   "ALREADY_EXISTS" - The entity that a client attempted to create
-	// (e.g., file or directory)
-	// already exists.
-	//
-	// HTTP Mapping: 409 Conflict
+	// (e.g., file or directory) already exists. HTTP Mapping: 409 Conflict
 	//   "PERMISSION_DENIED" - The caller does not have permission to
-	// execute the specified
-	// operation. `PERMISSION_DENIED` must not be used for rejections
-	// caused by exhausting some resource (use `RESOURCE_EXHAUSTED`
-	// instead for those errors). `PERMISSION_DENIED` must not be
-	// used if the caller can not be identified (use
-	// `UNAUTHENTICATED`
-	// instead for those errors). This error code does not imply the
-	// request is valid or the requested entity exists or satisfies
-	// other pre-conditions.
-	//
-	// HTTP Mapping: 403 Forbidden
+	// execute the specified operation. `PERMISSION_DENIED` must not be used
+	// for rejections caused by exhausting some resource (use
+	// `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED`
+	// must not be used if the caller can not be identified (use
+	// `UNAUTHENTICATED` instead for those errors). This error code does not
+	// imply the request is valid or the requested entity exists or
+	// satisfies other pre-conditions. HTTP Mapping: 403 Forbidden
 	//   "UNAUTHENTICATED" - The request does not have valid authentication
-	// credentials for the
-	// operation.
-	//
-	// HTTP Mapping: 401 Unauthorized
+	// credentials for the operation. HTTP Mapping: 401 Unauthorized
 	//   "RESOURCE_EXHAUSTED" - Some resource has been exhausted, perhaps a
-	// per-user quota, or
-	// perhaps the entire file system is out of space.
-	//
+	// per-user quota, or perhaps the entire file system is out of space.
 	// HTTP Mapping: 429 Too Many Requests
 	//   "FAILED_PRECONDITION" - The operation was rejected because the
-	// system is not in a state
-	// required for the operation's execution.  For example, the
-	// directory
-	// to be deleted is non-empty, an rmdir operation is applied to
-	// a non-directory, etc.
-	//
-	// Service implementors can use the following guidelines to
-	// decide
-	// between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`:
-	//  (a) Use `UNAVAILABLE` if the client can retry just the failing
-	// call.
-	//  (b) Use `ABORTED` if the client should retry at a higher level
-	//      (e.g., when a client-specified test-and-set fails, indicating
-	// the
-	//      client should restart a read-modify-write sequence).
-	//  (c) Use `FAILED_PRECONDITION` if the client should not retry until
-	//      the system state has been explicitly fixed.  E.g., if an
-	// "rmdir"
-	//      fails because the directory is non-empty, `FAILED_PRECONDITION`
-	//      should be returned since the client should not retry unless
-	//      the files are deleted from the directory.
-	//
-	// HTTP Mapping: 400 Bad Request
+	// system is not in a state required for the operation's execution. For
+	// example, the directory to be deleted is non-empty, an rmdir operation
+	// is applied to a non-directory, etc. Service implementors can use the
+	// following guidelines to decide between `FAILED_PRECONDITION`,
+	// `ABORTED`, and `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can
+	// retry just the failing call. (b) Use `ABORTED` if the client should
+	// retry at a higher level (e.g., when a client-specified test-and-set
+	// fails, indicating the client should restart a read-modify-write
+	// sequence). (c) Use `FAILED_PRECONDITION` if the client should not
+	// retry until the system state has been explicitly fixed. E.g., if an
+	// "rmdir" fails because the directory is non-empty,
+	// `FAILED_PRECONDITION` should be returned since the client should not
+	// retry unless the files are deleted from the directory. HTTP Mapping:
+	// 400 Bad Request
 	//   "ABORTED" - The operation was aborted, typically due to a
-	// concurrency issue such as
-	// a sequencer check failure or transaction abort.
-	//
-	// See the guidelines above for deciding between
-	// `FAILED_PRECONDITION`,
-	// `ABORTED`, and `UNAVAILABLE`.
-	//
-	// HTTP Mapping: 409 Conflict
+	// concurrency issue such as a sequencer check failure or transaction
+	// abort. See the guidelines above for deciding between
+	// `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping:
+	// 409 Conflict
 	//   "OUT_OF_RANGE" - The operation was attempted past the valid range.
-	// E.g., seeking or
-	// reading past end-of-file.
-	//
-	// Unlike `INVALID_ARGUMENT`, this error indicates a problem that may
-	// be fixed if the system state changes. For example, a 32-bit
-	// file
-	// system will generate `INVALID_ARGUMENT` if asked to read at an
-	// offset that is not in the range [0,2^32-1], but it will
-	// generate
-	// `OUT_OF_RANGE` if asked to read from an offset past the current
-	// file size.
-	//
-	// There is a fair bit of overlap between `FAILED_PRECONDITION`
-	// and
-	// `OUT_OF_RANGE`.  We recommend using `OUT_OF_RANGE` (the more
-	// specific
-	// error) when it applies so that callers who are iterating through
-	// a space can easily look for an `OUT_OF_RANGE` error to detect
-	// when
-	// they are done.
-	//
-	// HTTP Mapping: 400 Bad Request
+	// E.g., seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`,
+	// this error indicates a problem that may be fixed if the system state
+	// changes. For example, a 32-bit file system will generate
+	// `INVALID_ARGUMENT` if asked to read at an offset that is not in the
+	// range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to
+	// read from an offset past the current file size. There is a fair bit
+	// of overlap between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We
+	// recommend using `OUT_OF_RANGE` (the more specific error) when it
+	// applies so that callers who are iterating through a space can easily
+	// look for an `OUT_OF_RANGE` error to detect when they are done. HTTP
+	// Mapping: 400 Bad Request
 	//   "UNIMPLEMENTED" - The operation is not implemented or is not
-	// supported/enabled in this
-	// service.
-	//
-	// HTTP Mapping: 501 Not Implemented
-	//   "INTERNAL" - Internal errors.  This means that some invariants
-	// expected by the
-	// underlying system have been broken.  This error code is reserved
-	// for serious errors.
-	//
-	// HTTP Mapping: 500 Internal Server Error
-	//   "UNAVAILABLE" - The service is currently unavailable.  This is most
-	// likely a
-	// transient condition, which can be corrected by retrying with
-	// a backoff. Note that it is not always safe to retry
-	// non-idempotent operations.
-	//
-	// See the guidelines above for deciding between
-	// `FAILED_PRECONDITION`,
-	// `ABORTED`, and `UNAVAILABLE`.
-	//
-	// HTTP Mapping: 503 Service Unavailable
-	//   "DATA_LOSS" - Unrecoverable data loss or corruption.
-	//
-	// HTTP Mapping: 500 Internal Server Error
+	// supported/enabled in this service. HTTP Mapping: 501 Not Implemented
+	//   "INTERNAL" - Internal errors. This means that some invariants
+	// expected by the underlying system have been broken. This error code
+	// is reserved for serious errors. HTTP Mapping: 500 Internal Server
+	// Error
+	//   "UNAVAILABLE" - The service is currently unavailable. This is most
+	// likely a transient condition, which can be corrected by retrying with
+	// a backoff. Note that it is not always safe to retry non-idempotent
+	// operations. See the guidelines above for deciding between
+	// `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping:
+	// 503 Service Unavailable
+	//   "DATA_LOSS" - Unrecoverable data loss or corruption. HTTP Mapping:
+	// 500 Internal Server Error
 	Code string `json:"code,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Cause") to
@@ -842,19 +679,11 @@
 	// AnalysisState: The analysis state of this identity.
 	AnalysisState *GoogleCloudAssetV1p4beta1AnalysisState `json:"analysisState,omitempty"`
 
-	// Name: The identity name in any form of members appear in
-	// [IAM
-	// policy
-	// binding](https://cloud.google.com/iam/reference/rest/v1/Binding
-	// ), such
-	// as:
-	// - user:foo@google.com
-	// - group:group1@google.com
-	// - serviceAccount:s1@prj1.iam.gserviceaccount.com
-	// - projectOwner:some_project_id
-	// - domain:google.com
-	// - allUsers
-	// - etc.
+	// Name: The identity name in any form of members appear in [IAM policy
+	// binding](https://cloud.google.com/iam/reference/rest/v1/Binding),
+	// such as: - user:foo@google.com - group:group1@google.com -
+	// serviceAccount:s1@prj1.iam.gserviceaccount.com -
+	// projectOwner:some_project_id - domain:google.com - allUsers - etc.
 	Name string `json:"name,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AnalysisState") to
@@ -882,23 +711,17 @@
 
 type GoogleCloudAssetV1p4beta1IdentityList struct {
 	// GroupEdges: Group identity edges of the graph starting from the
-	// binding's
-	// group members to any node of the identities. The
-	// Edge.source_node
-	// contains a group, such as "group:parent@google.com".
-	// The
-	// Edge.target_node contains a member of the group,
-	// such as "group:child@google.com" or "user:foo@google.com".
-	// This field is present only if the output_group_edges option is
-	// enabled in
-	// request.
+	// binding's group members to any node of the identities. The
+	// Edge.source_node contains a group, such as "group:parent@google.com".
+	// The Edge.target_node contains a member of the group, such as
+	// "group:child@google.com" or "user:foo@google.com". This field is
+	// present only if the output_group_edges option is enabled in request.
 	GroupEdges []*GoogleCloudAssetV1p4beta1Edge `json:"groupEdges,omitempty"`
 
 	// Identities: Only the identities that match one of the following
-	// conditions will be
-	// presented:
-	// - The identity_selector, if it is specified in request;
-	// - Otherwise, identities reachable from the policy binding's members.
+	// conditions will be presented: - The identity_selector, if it is
+	// specified in request; - Otherwise, identities reachable from the
+	// policy binding's members.
 	Identities []*GoogleCloudAssetV1p4beta1Identity `json:"identities,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "GroupEdges") to
@@ -930,10 +753,9 @@
 	// AnalysisState: The analysis state of this resource.
 	AnalysisState *GoogleCloudAssetV1p4beta1AnalysisState `json:"analysisState,omitempty"`
 
-	// FullResourceName: The [full
-	// resource
-	// name](https://cloud.google.com/asset-inventory/docs/resource-
-	// name-format)
+	// FullResourceName: The [full resource
+	// name](https://cloud.google.com/asset-inventory/docs/resource-name-form
+	// at)
 	FullResourceName string `json:"fullResourceName,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AnalysisState") to
@@ -966,13 +788,11 @@
 	AnalysisQuery *IamPolicyAnalysisQuery `json:"analysisQuery,omitempty"`
 
 	// AnalysisResults: A list of IamPolicyAnalysisResult that matches the
-	// analysis query, or
-	// empty if no result is found.
+	// analysis query, or empty if no result is found.
 	AnalysisResults []*IamPolicyAnalysisResult `json:"analysisResults,omitempty"`
 
 	// FullyExplored: Represents whether all entries in the analysis_results
-	// have been
-	// fully explored to answer the query.
+	// have been fully explored to answer the query.
 	FullyExplored bool `json:"fullyExplored,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AnalysisQuery") to
@@ -1038,21 +858,15 @@
 	IdentitySelector *IdentitySelector `json:"identitySelector,omitempty"`
 
 	// Parent: Required. The relative name of the root asset. Only resources
-	// and IAM policies within
-	// the parent will be analyzed. This can only be an organization number
-	// (such
-	// as "organizations/123") or a folder number (such as
-	// "folders/123").
-	//
-	// To know how to get organization id, visit
-	// [here
-	// ](https://cloud.google.com/resource-manager/docs/creating-managi
-	// ng-organization#retrieving_your_organization_id).
-	//
-	// To know how to get folder id, visit
-	// [here
-	// ](https://cloud.google.com/resource-manager/docs/creating-managi
-	// ng-folders#viewing_or_listing_folders_and_projects).
+	// and IAM policies within the parent will be analyzed. This can only be
+	// an organization number (such as "organizations/123") or a folder
+	// number (such as "folders/123"). To know how to get organization id,
+	// visit [here
+	// ](https://cloud.google.com/resource-manager/docs/creating-managing-org
+	// anization#retrieving_your_organization_id). To know how to get folder
+	// id, visit [here
+	// ](https://cloud.google.com/resource-manager/docs/creating-managing-fol
+	// ders#viewing_or_listing_folders_and_projects).
 	Parent string `json:"parent,omitempty"`
 
 	// ResourceSelector: Optional. Specifies a resource for analysis.
@@ -1083,33 +897,28 @@
 }
 
 // IamPolicyAnalysisResult: IAM Policy analysis result, consisting of
-// one IAM policy binding and derived
-// access control lists.
+// one IAM policy binding and derived access control lists.
 type IamPolicyAnalysisResult struct {
 	// AccessControlLists: The access control lists derived from the
-	// iam_binding that match or
-	// potentially match resource and access selectors specified in the
-	// request.
+	// iam_binding that match or potentially match resource and access
+	// selectors specified in the request.
 	AccessControlLists []*GoogleCloudAssetV1p4beta1AccessControlList `json:"accessControlLists,omitempty"`
 
-	// AttachedResourceFullName: The [full
-	// resource
-	// name](https://cloud.google.com/asset-inventory/docs/resource-
-	// name-format)
-	// of the resource to which the iam_binding policy attaches.
+	// AttachedResourceFullName: The [full resource
+	// name](https://cloud.google.com/asset-inventory/docs/resource-name-form
+	// at) of the resource to which the iam_binding policy attaches.
 	AttachedResourceFullName string `json:"attachedResourceFullName,omitempty"`
 
 	// FullyExplored: Represents whether all analyses on the iam_binding
-	// have successfully
-	// finished.
+	// have successfully finished.
 	FullyExplored bool `json:"fullyExplored,omitempty"`
 
 	// IamBinding: The Cloud IAM policy binding under analysis.
 	IamBinding *Binding `json:"iamBinding,omitempty"`
 
 	// IdentityList: The identity list derived from members of the
-	// iam_binding that match or
-	// potentially match identity selector specified in the request.
+	// iam_binding that match or potentially match identity selector
+	// specified in the request.
 	IdentityList *GoogleCloudAssetV1p4beta1IdentityList `json:"identityList,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AccessControlLists")
@@ -1137,30 +946,17 @@
 }
 
 // IdentitySelector: Specifies an identity for which to determine
-// resource access, based on
-// roles assigned either directly to them or to the groups they belong
-// to,
-// directly or indirectly.
+// resource access, based on roles assigned either directly to them or
+// to the groups they belong to, directly or indirectly.
 type IdentitySelector struct {
-	// Identity: Required. The identity appear in the form of members
-	// in
-	// [IAM
-	// policy
-	// binding](https://cloud.google.com/iam/reference/rest/v1/Binding
-	// ).
-	//
-	// The examples of supported forms
-	// are:
-	// "user:mike@example.com",
-	// "group:admins@example.com",
-	// "domain:goog
-	// le.com",
-	// "serviceAccount:my-project-id@appspot.gserviceaccount.com".
-	//
-	//
-	// Notice that wildcard characters (such as * and ?) are not
-	// supported.
-	// You must give a specific identity.
+	// Identity: Required. The identity appear in the form of members in
+	// [IAM policy
+	// binding](https://cloud.google.com/iam/reference/rest/v1/Binding). The
+	// examples of supported forms are: "user:mike@example.com",
+	// "group:admins@example.com", "domain:google.com",
+	// "serviceAccount:my-project-id@appspot.gserviceaccount.com". Notice
+	// that wildcard characters (such as * and ?) are not supported. You
+	// must give a specific identity.
 	Identity string `json:"identity,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Identity") to
@@ -1187,52 +983,38 @@
 }
 
 // Operation: This resource represents a long-running operation that is
-// the result of a
-// network API call.
+// the result of a network API call.
 type Operation struct {
 	// Done: 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.
+	// progress. If `true`, the operation is completed, and either `error`
+	// or `response` is available.
 	Done bool `json:"done,omitempty"`
 
 	// Error: The error result of the operation in case of failure or
 	// cancellation.
 	Error *Status `json:"error,omitempty"`
 
-	// Metadata: 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.
+	// Metadata: 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.
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Name: The server-assigned name, which is only unique within the same
-	// service that
-	// originally returns it. If you use the default HTTP mapping,
-	// the
-	// `name` should be a resource name ending with
+	// service that originally returns it. If you use the default HTTP
+	// mapping, the `name` should be a resource name ending with
 	// `operations/{unique_id}`.
 	Name string `json:"name,omitempty"`
 
-	// Response: 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`.
+	// Response: 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`.
 	Response googleapi.RawMessage `json:"response,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1265,97 +1047,59 @@
 // Options: Contains request options.
 type Options struct {
 	// AnalyzeServiceAccountImpersonation: Optional. If true, the response
-	// will include access analysis from identities to
-	// resources via service account impersonation. This is a very
-	// expensive
-	// operation, because many derived queries will be executed.
-	//
-	// For example, if the request analyzes for which resources user A
-	// has
-	// permission P, and there's an IAM policy states user A
-	// has
-	// iam.serviceAccounts.getAccessToken permission to a service account
-	// SA,
-	// and there's another IAM policy states service account SA has
-	// permission P
-	// to a GCP folder F, then user A potentially has access to the GCP
-	// folder
-	// F. And those advanced analysis results will be included
-	// in
+	// will include access analysis from identities to resources via service
+	// account impersonation. This is a very expensive operation, because
+	// many derived queries will be executed. For example, if the request
+	// analyzes for which resources user A has permission P, and there's an
+	// IAM policy states user A has iam.serviceAccounts.getAccessToken
+	// permission to a service account SA, and there's another IAM policy
+	// states service account SA has permission P to a GCP folder F, then
+	// user A potentially has access to the GCP folder F. And those advanced
+	// analysis results will be included in
 	// AnalyzeIamPolicyResponse.service_account_impersonation_analysis.
-	//
-	// A
-	// nother example, if the request analyzes for who has
-	// permission P to a GCP folder F, and there's an IAM policy states user
-	// A
-	// has iam.serviceAccounts.actAs permission to a service account SA,
-	// and
+	// Another example, if the request analyzes for who has permission P to
+	// a GCP folder F, and there's an IAM policy states user A has
+	// iam.serviceAccounts.actAs permission to a service account SA, and
 	// there's another IAM policy states service account SA has permission P
-	// to
-	// the GCP folder F, then user A potentially has access to the GCP
-	// folder
-	// F. And those advanced analysis results will be included
-	// in
+	// to the GCP folder F, then user A potentially has access to the GCP
+	// folder F. And those advanced analysis results will be included in
 	// AnalyzeIamPolicyResponse.service_account_impersonation_analysis.
-	//
-	// D
-	// efault is false.
+	// Default is false.
 	AnalyzeServiceAccountImpersonation bool `json:"analyzeServiceAccountImpersonation,omitempty"`
 
 	// ExpandGroups: Optional. If true, the identities section of the result
-	// will expand any
-	// Google groups appearing in an IAM policy binding.
-	//
-	// If identity_selector is specified, the identity in the result will
-	// be determined by the selector, and this flag will have no
-	// effect.
-	//
+	// will expand any Google groups appearing in an IAM policy binding. If
+	// identity_selector is specified, the identity in the result will be
+	// determined by the selector, and this flag will have no effect.
 	// Default is false.
 	ExpandGroups bool `json:"expandGroups,omitempty"`
 
 	// ExpandResources: Optional. If true, the resource section of the
-	// result will expand any
-	// resource attached to an IAM policy to include resources lower in
-	// the
-	// resource hierarchy.
-	//
-	// For example, if the request analyzes for which resources user A
-	// has
-	// permission P, and the results include an IAM policy with P on a
-	// GCP
-	// folder, the results will also include resources in that folder
-	// with
-	// permission P.
-	//
-	// If resource_selector is specified, the resource section of the
-	// result
+	// result will expand any resource attached to an IAM policy to include
+	// resources lower in the resource hierarchy. For example, if the
+	// request analyzes for which resources user A has permission P, and the
+	// results include an IAM policy with P on a GCP folder, the results
+	// will also include resources in that folder with permission P. If
+	// resource_selector is specified, the resource section of the result
 	// will be determined by the selector, and this flag will have no
-	// effect.
-	// Default is false.
+	// effect. Default is false.
 	ExpandResources bool `json:"expandResources,omitempty"`
 
 	// ExpandRoles: Optional. If true, the access section of result will
-	// expand any roles
-	// appearing in IAM policy bindings to include their permissions.
-	//
-	// If access_selector is specified, the access section of the
-	// result
-	// will be determined by the selector, and this flag will have no
-	// effect.
-	//
-	// Default is false.
+	// expand any roles appearing in IAM policy bindings to include their
+	// permissions. If access_selector is specified, the access section of
+	// the result will be determined by the selector, and this flag will
+	// have no effect. Default is false.
 	ExpandRoles bool `json:"expandRoles,omitempty"`
 
 	// OutputGroupEdges: Optional. If true, the result will output group
-	// identity edges, starting
-	// from the binding's group members, to any expanded identities.
-	// Default is false.
+	// identity edges, starting from the binding's group members, to any
+	// expanded identities. Default is false.
 	OutputGroupEdges bool `json:"outputGroupEdges,omitempty"`
 
 	// OutputResourceEdges: Optional. If true, the result will output
-	// resource edges, starting
-	// from the policy attached resource, to any expanded resources.
-	// Default is false.
+	// resource edges, starting from the policy attached resource, to any
+	// expanded resources. Default is false.
 	OutputResourceEdges bool `json:"outputResourceEdges,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -1384,19 +1128,14 @@
 }
 
 // ResourceSelector: Specifies the resource to analyze for access
-// policies, which may be set
-// directly on the resource, or on ancestors such as organizations,
-// folders or
-// projects.
+// policies, which may be set directly on the resource, or on ancestors
+// such as organizations, folders or projects.
 type ResourceSelector struct {
-	// FullResourceName: Required. The [full
-	// resource
-	// name](https://cloud.google.com/asset-inventory/docs/resource-
-	// name-format)
-	// of a resource of [supported
-	// resource
-	// types](https://cloud.google.com/asset-inventory/docs/supporte
-	// d-asset-types#analyzable_asset_types).
+	// FullResourceName: Required. The [full resource
+	// name](https://cloud.google.com/asset-inventory/docs/resource-name-form
+	// at) of a resource of [supported resource
+	// types](https://cloud.google.com/asset-inventory/docs/supported-asset-t
+	// ypes#analyzable_asset_types).
 	FullResourceName string `json:"fullResourceName,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "FullResourceName") to
@@ -1424,32 +1163,24 @@
 }
 
 // Status: The `Status` type defines a logical error model that is
-// suitable for
-// different programming environments, including REST APIs and RPC APIs.
-// It is
-// used by [gRPC](https://github.com/grpc). Each `Status` message
-// contains
-// three pieces of data: error code, error message, and error
-// details.
-//
-// You can find out more about this error model and how to work with it
-// in the
-// [API Design Guide](https://cloud.google.com/apis/design/errors).
+// suitable for different programming environments, including REST APIs
+// and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each
+// `Status` message contains three pieces of data: error code, error
+// message, and error details. You can find out more about this error
+// model and how to work with it in the [API Design
+// Guide](https://cloud.google.com/apis/design/errors).
 type Status struct {
 	// Code: The status code, which should be an enum value of
 	// google.rpc.Code.
 	Code int64 `json:"code,omitempty"`
 
-	// Details: A list of messages that carry the error details.  There is a
-	// common set of
-	// message types for APIs to use.
+	// Details: A list of messages that carry the error details. There is a
+	// common set of message types for APIs to use.
 	Details []googleapi.RawMessage `json:"details,omitempty"`
 
 	// Message: 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.
+	// English. Any user-facing error message should be localized and sent
+	// in the google.rpc.Status.details field, or localized by the client.
 	Message string `json:"message,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Code") to
@@ -1487,8 +1218,7 @@
 }
 
 // AnalyzeIamPolicy: Analyzes IAM policies to answer which identities
-// have what accesses on
-// which resources.
+// have what accesses on which resources.
 func (r *V1p4beta1Service) AnalyzeIamPolicy(parent string) *V1p4beta1AnalyzeIamPolicyCall {
 	c := &V1p4beta1AnalyzeIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -1512,24 +1242,13 @@
 
 // AnalysisQueryIdentitySelectorIdentity sets the optional parameter
 // "analysisQuery.identitySelector.identity": Required. The identity
-// appear in the form of members in
-// [IAM
-// policy
-// binding](https://cloud.google.com/iam/reference/rest/v1/Binding
-// ).
-//
-// The examples of supported forms
-// are:
-// "user:mike@example.com",
-// "group:admins@example.com",
-// "domain:goog
-// le.com",
-// "serviceAccount:my-project-id@appspot.gserviceaccount.com".
-//
-//
-// Notice that wildcard characters (such as * and ?) are not
-// supported.
-// You must give a specific identity.
+// appear in the form of members in [IAM policy
+// binding](https://cloud.google.com/iam/reference/rest/v1/Binding). The
+// examples of supported forms are: "user:mike@example.com",
+// "group:admins@example.com", "domain:google.com",
+// "serviceAccount:my-project-id@appspot.gserviceaccount.com". Notice
+// that wildcard characters (such as * and ?) are not supported. You
+// must give a specific identity.
 func (c *V1p4beta1AnalyzeIamPolicyCall) AnalysisQueryIdentitySelectorIdentity(analysisQueryIdentitySelectorIdentity string) *V1p4beta1AnalyzeIamPolicyCall {
 	c.urlParams_.Set("analysisQuery.identitySelector.identity", analysisQueryIdentitySelectorIdentity)
 	return c
@@ -1537,14 +1256,11 @@
 
 // AnalysisQueryResourceSelectorFullResourceName sets the optional
 // parameter "analysisQuery.resourceSelector.fullResourceName":
-// Required. The [full
-// resource
-// name](https://cloud.google.com/asset-inventory/docs/resource-
-// name-format)
-// of a resource of [supported
-// resource
-// types](https://cloud.google.com/asset-inventory/docs/supporte
-// d-asset-types#analyzable_asset_types).
+// Required. The [full resource
+// name](https://cloud.google.com/asset-inventory/docs/resource-name-form
+// at) of a resource of [supported resource
+// types](https://cloud.google.com/asset-inventory/docs/supported-asset-t
+// ypes#analyzable_asset_types).
 func (c *V1p4beta1AnalyzeIamPolicyCall) AnalysisQueryResourceSelectorFullResourceName(analysisQueryResourceSelectorFullResourceName string) *V1p4beta1AnalyzeIamPolicyCall {
 	c.urlParams_.Set("analysisQuery.resourceSelector.fullResourceName", analysisQueryResourceSelectorFullResourceName)
 	return c
@@ -1552,44 +1268,26 @@
 
 // OptionsAnalyzeServiceAccountImpersonation sets the optional parameter
 // "options.analyzeServiceAccountImpersonation": If true, the response
-// will include access analysis from identities to
-// resources via service account impersonation. This is a very
-// expensive
-// operation, because many derived queries will be executed. We
-// highly
-// recommend you use AssetService.ExportIamPolicyAnalysis rpc
-// instead.
-//
-// For example, if the request analyzes for which resources user A
-// has
-// permission P, and there's an IAM policy states user A
-// has
+// will include access analysis from identities to resources via service
+// account impersonation. This is a very expensive operation, because
+// many derived queries will be executed. We highly recommend you use
+// AssetService.ExportIamPolicyAnalysis rpc instead. For example, if the
+// request analyzes for which resources user A has permission P, and
+// there's an IAM policy states user A has
 // iam.serviceAccounts.getAccessToken permission to a service account
-// SA,
-// and there's another IAM policy states service account SA has
-// permission P
-// to a GCP folder F, then user A potentially has access to the GCP
-// folder
-// F. And those advanced analysis results will be included
-// in
+// SA, and there's another IAM policy states service account SA has
+// permission P to a GCP folder F, then user A potentially has access to
+// the GCP folder F. And those advanced analysis results will be
+// included in
 // AnalyzeIamPolicyResponse.service_account_impersonation_analysis.
-//
-// A
-// nother example, if the request analyzes for who has
-// permission P to a GCP folder F, and there's an IAM policy states user
-// A
-// has iam.serviceAccounts.actAs permission to a service account SA,
-// and
+// Another example, if the request analyzes for who has permission P to
+// a GCP folder F, and there's an IAM policy states user A has
+// iam.serviceAccounts.actAs permission to a service account SA, and
 // there's another IAM policy states service account SA has permission P
-// to
-// the GCP folder F, then user A potentially has access to the GCP
-// folder
-// F. And those advanced analysis results will be included
-// in
+// to the GCP folder F, then user A potentially has access to the GCP
+// folder F. And those advanced analysis results will be included in
 // AnalyzeIamPolicyResponse.service_account_impersonation_analysis.
-//
-// D
-// efault is false.
+// Default is false.
 func (c *V1p4beta1AnalyzeIamPolicyCall) OptionsAnalyzeServiceAccountImpersonation(optionsAnalyzeServiceAccountImpersonation bool) *V1p4beta1AnalyzeIamPolicyCall {
 	c.urlParams_.Set("options.analyzeServiceAccountImpersonation", fmt.Sprint(optionsAnalyzeServiceAccountImpersonation))
 	return c
@@ -1597,22 +1295,14 @@
 
 // OptionsExecutionTimeout sets the optional parameter
 // "options.executionTimeout": Amount of time executable has to
-// complete.  See JSON representation
-// of
-// [Duration](https://developers.google.com/protocol-buffers/docs/prot
-// o3#json).
-//
-// If this field is set with a value less than the RPC deadline, and
-// the
-// execution of your query hasn't finished in the specified
-// execution timeout,  you will get a response with partial
-// result.
+// complete. See JSON representation of
+// [Duration](https://developers.google.com/protocol-buffers/docs/proto3#
+// json). If this field is set with a value less than the RPC deadline,
+// and the execution of your query hasn't finished in the specified
+// execution timeout, you will get a response with partial result.
 // Otherwise, your query's execution will continue until the RPC
-// deadline.
-// If it's not finished until then, you will get a  DEADLINE_EXCEEDED
-// error.
-//
-// Default is empty.
+// deadline. If it's not finished until then, you will get a
+// DEADLINE_EXCEEDED error. Default is empty.
 func (c *V1p4beta1AnalyzeIamPolicyCall) OptionsExecutionTimeout(optionsExecutionTimeout string) *V1p4beta1AnalyzeIamPolicyCall {
 	c.urlParams_.Set("options.executionTimeout", optionsExecutionTimeout)
 	return c
@@ -1620,13 +1310,9 @@
 
 // OptionsExpandGroups sets the optional parameter
 // "options.expandGroups": If true, the identities section of the result
-// will expand any
-// Google groups appearing in an IAM policy binding.
-//
-// If identity_selector is specified, the identity in the result will
-// be determined by the selector, and this flag will have no
-// effect.
-//
+// will expand any Google groups appearing in an IAM policy binding. If
+// identity_selector is specified, the identity in the result will be
+// determined by the selector, and this flag will have no effect.
 // Default is false.
 func (c *V1p4beta1AnalyzeIamPolicyCall) OptionsExpandGroups(optionsExpandGroups bool) *V1p4beta1AnalyzeIamPolicyCall {
 	c.urlParams_.Set("options.expandGroups", fmt.Sprint(optionsExpandGroups))
@@ -1635,38 +1321,24 @@
 
 // OptionsExpandResources sets the optional parameter
 // "options.expandResources": If true, the resource section of the
-// result will expand any
-// resource attached to an IAM policy to include resources lower in
-// the
-// resource hierarchy.
-//
-// For example, if the request analyzes for which resources user A
-// has
-// permission P, and the results include an IAM policy with P on a
-// GCP
-// folder, the results will also include resources in that folder
-// with
-// permission P.
-//
-// If resource_selector is specified, the resource section of the
-// result
+// result will expand any resource attached to an IAM policy to include
+// resources lower in the resource hierarchy. For example, if the
+// request analyzes for which resources user A has permission P, and the
+// results include an IAM policy with P on a GCP folder, the results
+// will also include resources in that folder with permission P. If
+// resource_selector is specified, the resource section of the result
 // will be determined by the selector, and this flag will have no
-// effect.
-// Default is false.
+// effect. Default is false.
 func (c *V1p4beta1AnalyzeIamPolicyCall) OptionsExpandResources(optionsExpandResources bool) *V1p4beta1AnalyzeIamPolicyCall {
 	c.urlParams_.Set("options.expandResources", fmt.Sprint(optionsExpandResources))
 	return c
 }
 
 // OptionsExpandRoles sets the optional parameter "options.expandRoles":
-// If true, the access section of result will expand any roles
-// appearing in IAM policy bindings to include their permissions.
-//
-// If access_selector is specified, the access section of the
-// result
-// will be determined by the selector, and this flag will have no
-// effect.
-//
+// If true, the access section of result will expand any roles appearing
+// in IAM policy bindings to include their permissions. If
+// access_selector is specified, the access section of the result will
+// be determined by the selector, and this flag will have no effect.
 // Default is false.
 func (c *V1p4beta1AnalyzeIamPolicyCall) OptionsExpandRoles(optionsExpandRoles bool) *V1p4beta1AnalyzeIamPolicyCall {
 	c.urlParams_.Set("options.expandRoles", fmt.Sprint(optionsExpandRoles))
@@ -1675,9 +1347,8 @@
 
 // OptionsOutputGroupEdges sets the optional parameter
 // "options.outputGroupEdges": If true, the result will output group
-// identity edges, starting
-// from the binding's group members, to any expanded identities.
-// Default is false.
+// identity edges, starting from the binding's group members, to any
+// expanded identities. Default is false.
 func (c *V1p4beta1AnalyzeIamPolicyCall) OptionsOutputGroupEdges(optionsOutputGroupEdges bool) *V1p4beta1AnalyzeIamPolicyCall {
 	c.urlParams_.Set("options.outputGroupEdges", fmt.Sprint(optionsOutputGroupEdges))
 	return c
@@ -1685,9 +1356,8 @@
 
 // OptionsOutputResourceEdges sets the optional parameter
 // "options.outputResourceEdges": If true, the result will output
-// resource edges, starting
-// from the policy attached resource, to any expanded resources.
-// Default is false.
+// resource edges, starting from the policy attached resource, to any
+// expanded resources. Default is false.
 func (c *V1p4beta1AnalyzeIamPolicyCall) OptionsOutputResourceEdges(optionsOutputResourceEdges bool) *V1p4beta1AnalyzeIamPolicyCall {
 	c.urlParams_.Set("options.outputResourceEdges", fmt.Sprint(optionsOutputResourceEdges))
 	return c
@@ -1730,7 +1400,7 @@
 
 func (c *V1p4beta1AnalyzeIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1792,7 +1462,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Analyzes IAM policies to answer which identities have what accesses on\nwhich resources.",
+	//   "description": "Analyzes IAM policies to answer which identities have what accesses on which resources.",
 	//   "flatPath": "v1p4beta1/{v1p4beta1Id}/{v1p4beta1Id1}:analyzeIamPolicy",
 	//   "httpMethod": "GET",
 	//   "id": "cloudasset.analyzeIamPolicy",
@@ -1813,53 +1483,53 @@
 	//       "type": "string"
 	//     },
 	//     "analysisQuery.identitySelector.identity": {
-	//       "description": "Required. The identity appear in the form of members in\n[IAM policy\nbinding](https://cloud.google.com/iam/reference/rest/v1/Binding).\n\nThe examples of supported forms are:\n\"user:mike@example.com\",\n\"group:admins@example.com\",\n\"domain:google.com\",\n\"serviceAccount:my-project-id@appspot.gserviceaccount.com\".\n\nNotice that wildcard characters (such as * and ?) are not supported.\nYou must give a specific identity.",
+	//       "description": "Required. The identity appear in the form of members in [IAM policy binding](https://cloud.google.com/iam/reference/rest/v1/Binding). The examples of supported forms are: \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\". Notice that wildcard characters (such as * and ?) are not supported. You must give a specific identity.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "analysisQuery.resourceSelector.fullResourceName": {
-	//       "description": "Required. The [full resource\nname](https://cloud.google.com/asset-inventory/docs/resource-name-format)\nof a resource of [supported resource\ntypes](https://cloud.google.com/asset-inventory/docs/supported-asset-types#analyzable_asset_types).",
+	//       "description": "Required. The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of a resource of [supported resource types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#analyzable_asset_types).",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "options.analyzeServiceAccountImpersonation": {
-	//       "description": "Optional. If true, the response will include access analysis from identities to\nresources via service account impersonation. This is a very expensive\noperation, because many derived queries will be executed. We highly\nrecommend you use AssetService.ExportIamPolicyAnalysis rpc instead.\n\nFor example, if the request analyzes for which resources user A has\npermission P, and there's an IAM policy states user A has\niam.serviceAccounts.getAccessToken permission to a service account SA,\nand there's another IAM policy states service account SA has permission P\nto a GCP folder F, then user A potentially has access to the GCP folder\nF. And those advanced analysis results will be included in\nAnalyzeIamPolicyResponse.service_account_impersonation_analysis.\n\nAnother example, if the request analyzes for who has\npermission P to a GCP folder F, and there's an IAM policy states user A\nhas iam.serviceAccounts.actAs permission to a service account SA, and\nthere's another IAM policy states service account SA has permission P to\nthe GCP folder F, then user A potentially has access to the GCP folder\nF. And those advanced analysis results will be included in\nAnalyzeIamPolicyResponse.service_account_impersonation_analysis.\n\nDefault is false.",
+	//       "description": "Optional. If true, the response will include access analysis from identities to resources via service account impersonation. This is a very expensive operation, because many derived queries will be executed. We highly recommend you use AssetService.ExportIamPolicyAnalysis rpc instead. For example, if the request analyzes for which resources user A has permission P, and there's an IAM policy states user A has iam.serviceAccounts.getAccessToken permission to a service account SA, and there's another IAM policy states service account SA has permission P to a GCP folder F, then user A potentially has access to the GCP folder F. And those advanced analysis results will be included in AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Another example, if the request analyzes for who has permission P to a GCP folder F, and there's an IAM policy states user A has iam.serviceAccounts.actAs permission to a service account SA, and there's another IAM policy states service account SA has permission P to the GCP folder F, then user A potentially has access to the GCP folder F. And those advanced analysis results will be included in AnalyzeIamPolicyResponse.service_account_impersonation_analysis. Default is false.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
 	//     "options.executionTimeout": {
-	//       "description": "Optional. Amount of time executable has to complete.  See JSON representation of\n[Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).\n\nIf this field is set with a value less than the RPC deadline, and the\nexecution of your query hasn't finished in the specified\nexecution timeout,  you will get a response with partial result.\nOtherwise, your query's execution will continue until the RPC deadline.\nIf it's not finished until then, you will get a  DEADLINE_EXCEEDED error.\n\nDefault is empty.",
+	//       "description": "Optional. Amount of time executable has to complete. See JSON representation of [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json). If this field is set with a value less than the RPC deadline, and the execution of your query hasn't finished in the specified execution timeout, you will get a response with partial result. Otherwise, your query's execution will continue until the RPC deadline. If it's not finished until then, you will get a DEADLINE_EXCEEDED error. Default is empty.",
 	//       "format": "google-duration",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "options.expandGroups": {
-	//       "description": "Optional. If true, the identities section of the result will expand any\nGoogle groups appearing in an IAM policy binding.\n\nIf identity_selector is specified, the identity in the result will\nbe determined by the selector, and this flag will have no effect.\n\nDefault is false.",
+	//       "description": "Optional. If true, the identities section of the result will expand any Google groups appearing in an IAM policy binding. If identity_selector is specified, the identity in the result will be determined by the selector, and this flag will have no effect. Default is false.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
 	//     "options.expandResources": {
-	//       "description": "Optional. If true, the resource section of the result will expand any\nresource attached to an IAM policy to include resources lower in the\nresource hierarchy.\n\nFor example, if the request analyzes for which resources user A has\npermission P, and the results include an IAM policy with P on a GCP\nfolder, the results will also include resources in that folder with\npermission P.\n\nIf resource_selector is specified, the resource section of the result\nwill be determined by the selector, and this flag will have no effect.\nDefault is false.",
+	//       "description": "Optional. If true, the resource section of the result will expand any resource attached to an IAM policy to include resources lower in the resource hierarchy. For example, if the request analyzes for which resources user A has permission P, and the results include an IAM policy with P on a GCP folder, the results will also include resources in that folder with permission P. If resource_selector is specified, the resource section of the result will be determined by the selector, and this flag will have no effect. Default is false.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
 	//     "options.expandRoles": {
-	//       "description": "Optional. If true, the access section of result will expand any roles\nappearing in IAM policy bindings to include their permissions.\n\nIf access_selector is specified, the access section of the result\nwill be determined by the selector, and this flag will have no effect.\n\nDefault is false.",
+	//       "description": "Optional. If true, the access section of result will expand any roles appearing in IAM policy bindings to include their permissions. If access_selector is specified, the access section of the result will be determined by the selector, and this flag will have no effect. Default is false.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
 	//     "options.outputGroupEdges": {
-	//       "description": "Optional. If true, the result will output group identity edges, starting\nfrom the binding's group members, to any expanded identities.\nDefault is false.",
+	//       "description": "Optional. If true, the result will output group identity edges, starting from the binding's group members, to any expanded identities. Default is false.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
 	//     "options.outputResourceEdges": {
-	//       "description": "Optional. If true, the result will output resource edges, starting\nfrom the policy attached resource, to any expanded resources.\nDefault is false.",
+	//       "description": "Optional. If true, the result will output resource edges, starting from the policy attached resource, to any expanded resources. Default is false.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The relative name of the root asset. Only resources and IAM policies within\nthe parent will be analyzed. This can only be an organization number (such\nas \"organizations/123\") or a folder number (such as \"folders/123\").\n\nTo know how to get organization id, visit [here\n](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).\n\nTo know how to get folder id, visit [here\n](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).",
+	//       "description": "Required. The relative name of the root asset. Only resources and IAM policies within the parent will be analyzed. This can only be an organization number (such as \"organizations/123\") or a folder number (such as \"folders/123\"). To know how to get organization id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). To know how to get folder id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).",
 	//       "location": "path",
 	//       "pattern": "^[^/]+/[^/]+$",
 	//       "required": true,
@@ -1889,19 +1559,13 @@
 }
 
 // ExportIamPolicyAnalysis: Exports the answers of which identities have
-// what accesses on which
-// resources to a Google Cloud Storage destination. The output format
-// is
-// the JSON format that represents a AnalyzeIamPolicyResponse
-// in the JSON format.
-// This method implements the google.longrunning.Operation, which
-// allows
-// you to keep track of the export. We recommend intervals of at least
-// 2
-// seconds with exponential retry to poll the export operation result.
-// The
-// metadata contains the request to help callers to map responses to
-// requests.
+// what accesses on which resources to a Google Cloud Storage
+// destination. The output format is the JSON format that represents a
+// AnalyzeIamPolicyResponse in the JSON format. This method implements
+// the google.longrunning.Operation, which allows you to keep track of
+// the export. We recommend intervals of at least 2 seconds with
+// exponential retry to poll the export operation result. The metadata
+// contains the request to help callers to map responses to requests.
 func (r *V1p4beta1Service) ExportIamPolicyAnalysis(parent string, exportiampolicyanalysisrequest *ExportIamPolicyAnalysisRequest) *V1p4beta1ExportIamPolicyAnalysisCall {
 	c := &V1p4beta1ExportIamPolicyAnalysisCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -1936,7 +1600,7 @@
 
 func (c *V1p4beta1ExportIamPolicyAnalysisCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2000,7 +1664,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Exports the answers of which identities have what accesses on which\nresources to a Google Cloud Storage destination. The output format is\nthe JSON format that represents a AnalyzeIamPolicyResponse\nin the JSON format.\nThis method implements the google.longrunning.Operation, which allows\nyou to keep track of the export. We recommend intervals of at least 2\nseconds with exponential retry to poll the export operation result. The\nmetadata contains the request to help callers to map responses to requests.",
+	//   "description": "Exports the answers of which identities have what accesses on which resources to a Google Cloud Storage destination. The output format is the JSON format that represents a AnalyzeIamPolicyResponse in the JSON format. This method implements the google.longrunning.Operation, which allows you to keep track of the export. We recommend intervals of at least 2 seconds with exponential retry to poll the export operation result. The metadata contains the request to help callers to map responses to requests.",
 	//   "flatPath": "v1p4beta1/{v1p4beta1Id}/{v1p4beta1Id1}:exportIamPolicyAnalysis",
 	//   "httpMethod": "POST",
 	//   "id": "cloudasset.exportIamPolicyAnalysis",
@@ -2009,7 +1673,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The relative name of the root asset. Only resources and IAM policies within\nthe parent will be analyzed. This can only be an organization number (such\nas \"organizations/123\") or a folder number (such as \"folders/123\").\n\nTo know how to get organization id, visit [here\n](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).\n\nTo know how to get folder id, visit [here\n](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).",
+	//       "description": "Required. The relative name of the root asset. Only resources and IAM policies within the parent will be analyzed. This can only be an organization number (such as \"organizations/123\") or a folder number (such as \"folders/123\"). To know how to get organization id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). To know how to get folder id, visit [here ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).",
 	//       "location": "path",
 	//       "pattern": "^[^/]+/[^/]+$",
 	//       "required": true,
diff --git a/cloudasset/v1p5beta1/cloudasset-api.json b/cloudasset/v1p5beta1/cloudasset-api.json
index 53b87fb..0d0fd7c 100644
--- a/cloudasset/v1p5beta1/cloudasset-api.json
+++ b/cloudasset/v1p5beta1/cloudasset-api.json
@@ -108,7 +108,7 @@
     "assets": {
       "methods": {
         "list": {
-          "description": "Lists assets with time and resource types and returns paged results in\nresponse.",
+          "description": "Lists assets with time and resource types and returns paged results in response.",
           "flatPath": "v1p5beta1/{v1p5beta1Id}/{v1p5beta1Id1}/assets",
           "httpMethod": "GET",
           "id": "cloudasset.assets.list",
@@ -117,13 +117,13 @@
           ],
           "parameters": {
             "assetTypes": {
-              "description": "A list of asset types to take a snapshot for. For example:\n\"compute.googleapis.com/Disk\".\n\nRegular expression is also supported. For example:\n\n* \"compute.googleapis.com.*\" snapshots resources whose asset type starts\nwith \"compute.googleapis.com\".\n* \".*Instance\" snapshots resources whose asset type ends with \"Instance\".\n* \".*Instance.*\" snapshots resources whose asset type contains \"Instance\".\n\nSee [RE2](https://github.com/google/re2/wiki/Syntax) for all supported\nregular expression syntax. If the regular expression does not match any\nsupported asset type, an INVALID_ARGUMENT error will be returned.\n\nIf specified, only matching assets will be returned, otherwise, it will\nsnapshot all asset types. See [Introduction to Cloud Asset\nInventory](https://cloud.google.com/asset-inventory/docs/overview)\nfor all supported asset types.",
+              "description": "A list of asset types to take a snapshot for. For example: \"compute.googleapis.com/Disk\". Regular expression is also supported. For example: * \"compute.googleapis.com.*\" snapshots resources whose asset type starts with \"compute.googleapis.com\". * \".*Instance\" snapshots resources whose asset type ends with \"Instance\". * \".*Instance.*\" snapshots resources whose asset type contains \"Instance\". See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported regular expression syntax. If the regular expression does not match any supported asset type, an INVALID_ARGUMENT error will be returned. If specified, only matching assets will be returned, otherwise, it will snapshot all asset types. See [Introduction to Cloud Asset Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all supported asset types.",
               "location": "query",
               "repeated": true,
               "type": "string"
             },
             "contentType": {
-              "description": "Asset content type. If not specified, no content but the asset name will\nbe returned.",
+              "description": "Asset content type. If not specified, no content but the asset name will be returned.",
               "enum": [
                 "CONTENT_TYPE_UNSPECIFIED",
                 "RESOURCE",
@@ -131,29 +131,36 @@
                 "ORG_POLICY",
                 "ACCESS_POLICY"
               ],
+              "enumDescriptions": [
+                "Unspecified content type.",
+                "Resource metadata.",
+                "The actual IAM policy set on a resource.",
+                "The Cloud Organization Policy set on an asset.",
+                "The Cloud Access context mananger Policy set on an asset."
+              ],
               "location": "query",
               "type": "string"
             },
             "pageSize": {
-              "description": "The maximum number of assets to be returned in a single response. Default\nis 100, minimum is 1, and maximum is 1000.",
+              "description": "The maximum number of assets to be returned in a single response. Default is 100, minimum is 1, and maximum is 1000.",
               "format": "int32",
               "location": "query",
               "type": "integer"
             },
             "pageToken": {
-              "description": "The `next_page_token` returned from the previous `ListAssetsResponse`, or\nunspecified for the first `ListAssetsRequest`. It is a continuation of a\nprior `ListAssets` call, and the API should return the next page of assets.",
+              "description": "The `next_page_token` returned from the previous `ListAssetsResponse`, or unspecified for the first `ListAssetsRequest`. It is a continuation of a prior `ListAssets` call, and the API should return the next page of assets.",
               "location": "query",
               "type": "string"
             },
             "parent": {
-              "description": "Required. Name of the organization or project the assets belong to. Format:\n\"organizations/[organization-number]\" (such as \"organizations/123\"),\n\"projects/[project-number]\" (such as \"projects/my-project-id\"), or\n\"projects/[project-id]\" (such as \"projects/12345\").",
+              "description": "Required. Name of the organization or project the assets belong to. Format: \"organizations/[organization-number]\" (such as \"organizations/123\"), \"projects/[project-number]\" (such as \"projects/my-project-id\"), or \"projects/[project-id]\" (such as \"projects/12345\").",
               "location": "path",
               "pattern": "^[^/]+/[^/]+$",
               "required": true,
               "type": "string"
             },
             "readTime": {
-              "description": "Timestamp to take an asset snapshot. This can only be set to a timestamp\nbetween the current time and the current time minus 35 days (inclusive).\nIf not specified, the current time will be used. Due to delays in resource\ndata collection and indexing, there is a volatile window during which\nrunning the same query may get different results.",
+              "description": "Timestamp to take an asset snapshot. This can only be set to a timestamp between the current time and the current time minus 35 days (inclusive). If not specified, the current time will be used. Due to delays in resource data collection and indexing, there is a volatile window during which running the same query may get different results.",
               "format": "google-datetime",
               "location": "query",
               "type": "string"
@@ -170,42 +177,42 @@
       }
     }
   },
-  "revision": "20200731",
+  "revision": "20200810",
   "rootUrl": "https://cloudasset.googleapis.com/",
   "schemas": {
     "Asset": {
-      "description": "An asset in Google Cloud. An asset can be any resource in the Google Cloud\n[resource\nhierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),\na resource outside the Google Cloud resource hierarchy (such as Google\nKubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy).\nSee [Supported asset\ntypes](https://cloud.google.com/asset-inventory/docs/supported-asset-types)\nfor more information.",
+      "description": "An asset in Google Cloud. An asset can be any resource in the Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), a resource outside the Google Cloud resource hierarchy (such as Google Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy). See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.",
       "id": "Asset",
       "properties": {
         "accessLevel": {
           "$ref": "GoogleIdentityAccesscontextmanagerV1AccessLevel",
-          "description": "Please also refer to the [access level user\nguide](https://cloud.google.com/access-context-manager/docs/overview#access-levels)."
+          "description": "Please also refer to the [access level user guide](https://cloud.google.com/access-context-manager/docs/overview#access-levels)."
         },
         "accessPolicy": {
           "$ref": "GoogleIdentityAccesscontextmanagerV1AccessPolicy",
-          "description": "Please also refer to the [access policy user\nguide](https://cloud.google.com/access-context-manager/docs/overview#access-policies)."
+          "description": "Please also refer to the [access policy user guide](https://cloud.google.com/access-context-manager/docs/overview#access-policies)."
         },
         "ancestors": {
-          "description": "The ancestry path of an asset in Google Cloud [resource\nhierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),\nrepresented as a list of relative resource names. An ancestry path starts\nwith the closest ancestor in the hierarchy and ends at root. If the asset\nis a project, folder, or organization, the ancestry path starts from the\nasset itself.\n\nExample: `[\"projects/123456789\", \"folders/5432\", \"organizations/1234\"]`",
+          "description": "The ancestry path of an asset in Google Cloud [resource hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), represented as a list of relative resource names. An ancestry path starts with the closest ancestor in the hierarchy and ends at root. If the asset is a project, folder, or organization, the ancestry path starts from the asset itself. Example: `[\"projects/123456789\", \"folders/5432\", \"organizations/1234\"]`",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "assetType": {
-          "description": "The type of the asset. Example: `compute.googleapis.com/Disk`\n\nSee [Supported asset\ntypes](https://cloud.google.com/asset-inventory/docs/supported-asset-types)\nfor more information.",
+          "description": "The type of the asset. Example: `compute.googleapis.com/Disk` See [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types) for more information.",
           "type": "string"
         },
         "iamPolicy": {
           "$ref": "Policy",
-          "description": "A representation of the Cloud IAM policy set on a Google Cloud resource.\nThere can be a maximum of one Cloud IAM policy set on any given resource.\nIn addition, Cloud IAM policies inherit their granted access scope from any\npolicies set on parent resources in the resource hierarchy. Therefore, the\neffectively policy is the union of both the policy set on this resource\nand each policy set on all of the resource's ancestry resource levels in\nthe hierarchy. See\n[this topic](https://cloud.google.com/iam/docs/policies#inheritance) for\nmore information."
+          "description": "A representation of the Cloud IAM policy set on a Google Cloud resource. There can be a maximum of one Cloud IAM policy set on any given resource. In addition, Cloud IAM policies inherit their granted access scope from any policies set on parent resources in the resource hierarchy. Therefore, the effectively policy is the union of both the policy set on this resource and each policy set on all of the resource's ancestry resource levels in the hierarchy. See [this topic](https://cloud.google.com/iam/docs/policies#inheritance) for more information."
         },
         "name": {
-          "description": "The full name of the asset. Example:\n`//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`\n\nSee [Resource\nnames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nfor more information.",
+          "description": "The full name of the asset. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1` See [Resource names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information.",
           "type": "string"
         },
         "orgPolicy": {
-          "description": "A representation of an [organization\npolicy](https://cloud.google.com/resource-manager/docs/organization-policy/overview#organization_policy).\nThere can be more than one organization policy with different constraints\nset on a given resource.",
+          "description": "A representation of an [organization policy](https://cloud.google.com/resource-manager/docs/organization-policy/overview#organization_policy). There can be more than one organization policy with different constraints set on a given resource.",
           "items": {
             "$ref": "GoogleCloudOrgpolicyV1Policy"
           },
@@ -217,13 +224,13 @@
         },
         "servicePerimeter": {
           "$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter",
-          "description": "Please also refer to the [service perimeter user\nguide](https://cloud.google.com/vpc-service-controls/docs/overview)."
+          "description": "Please also refer to the [service perimeter user guide](https://cloud.google.com/vpc-service-controls/docs/overview)."
         }
       },
       "type": "object"
     },
     "AuditConfig": {
-      "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n    {\n      \"audit_configs\": [\n        {\n          \"service\": \"allServices\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n              \"exempted_members\": [\n                \"user:jose@example.com\"\n              ]\n            },\n            {\n              \"log_type\": \"DATA_WRITE\"\n            },\n            {\n              \"log_type\": \"ADMIN_READ\"\n            }\n          ]\n        },\n        {\n          \"service\": \"sampleservice.googleapis.com\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\"\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n              \"exempted_members\": [\n                \"user:aliya@example.com\"\n              ]\n            }\n          ]\n        }\n      ]\n    }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.",
+      "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.",
       "id": "AuditConfig",
       "properties": {
         "auditLogConfigs": {
@@ -234,18 +241,18 @@
           "type": "array"
         },
         "service": {
-          "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.",
+          "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "AuditLogConfig": {
-      "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n    {\n      \"audit_log_configs\": [\n        {\n          \"log_type\": \"DATA_READ\",\n          \"exempted_members\": [\n            \"user:jose@example.com\"\n          ]\n        },\n        {\n          \"log_type\": \"DATA_WRITE\"\n        }\n      ]\n    }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.",
+      "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.",
       "id": "AuditLogConfig",
       "properties": {
         "exemptedMembers": {
-          "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.",
+          "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.",
           "items": {
             "type": "string"
           },
@@ -276,58 +283,58 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Expr": {
-      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
+      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
       "id": "Expr",
       "properties": {
         "description": {
-          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
+          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
           "type": "string"
         },
         "expression": {
-          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
+          "description": "Textual representation of an expression in Common Expression Language syntax.",
           "type": "string"
         },
         "location": {
-          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
+          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
           "type": "string"
         },
         "title": {
-          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
+          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleCloudOrgpolicyV1BooleanPolicy": {
-      "description": "Used in `policy_type` to specify how `boolean_policy` will behave at this\nresource.",
+      "description": "Used in `policy_type` to specify how `boolean_policy` will behave at this resource.",
       "id": "GoogleCloudOrgpolicyV1BooleanPolicy",
       "properties": {
         "enforced": {
-          "description": "If `true`, then the `Policy` is enforced. If `false`, then any\nconfiguration is acceptable.\n\nSuppose you have a `Constraint`\n`constraints/compute.disableSerialPortAccess` with `constraint_default`\nset to `ALLOW`. A `Policy` for that `Constraint` exhibits the following\nbehavior:\n  - If the `Policy` at this resource has enforced set to `false`, serial\n    port connection attempts will be allowed.\n  - If the `Policy` at this resource has enforced set to `true`, serial\n    port connection attempts will be refused.\n  - If the `Policy` at this resource is `RestoreDefault`, serial port\n    connection attempts will be allowed.\n  - If no `Policy` is set at this resource or anywhere higher in the\n    resource hierarchy, serial port connection attempts will be allowed.\n  - If no `Policy` is set at this resource, but one exists higher in the\n    resource hierarchy, the behavior is as if the`Policy` were set at\n    this resource.\n\nThe following examples demonstrate the different possible layerings:\n\nExample 1 (nearest `Constraint` wins):\n  `organizations/foo` has a `Policy` with:\n    {enforced: false}\n  `projects/bar` has no `Policy` set.\nThe constraint at `projects/bar` and `organizations/foo` will not be\nenforced.\n\nExample 2 (enforcement gets replaced):\n  `organizations/foo` has a `Policy` with:\n    {enforced: false}\n  `projects/bar` has a `Policy` with:\n    {enforced: true}\nThe constraint at `organizations/foo` is not enforced.\nThe constraint at `projects/bar` is enforced.\n\nExample 3 (RestoreDefault):\n  `organizations/foo` has a `Policy` with:\n    {enforced: true}\n  `projects/bar` has a `Policy` with:\n    {RestoreDefault: {}}\nThe constraint at `organizations/foo` is enforced.\nThe constraint at `projects/bar` is not enforced, because\n`constraint_default` for the `Constraint` is `ALLOW`.",
+          "description": "If `true`, then the `Policy` is enforced. If `false`, then any configuration is acceptable. Suppose you have a `Constraint` `constraints/compute.disableSerialPortAccess` with `constraint_default` set to `ALLOW`. A `Policy` for that `Constraint` exhibits the following behavior: - If the `Policy` at this resource has enforced set to `false`, serial port connection attempts will be allowed. - If the `Policy` at this resource has enforced set to `true`, serial port connection attempts will be refused. - If the `Policy` at this resource is `RestoreDefault`, serial port connection attempts will be allowed. - If no `Policy` is set at this resource or anywhere higher in the resource hierarchy, serial port connection attempts will be allowed. - If no `Policy` is set at this resource, but one exists higher in the resource hierarchy, the behavior is as if the`Policy` were set at this resource. The following examples demonstrate the different possible layerings: Example 1 (nearest `Constraint` wins): `organizations/foo` has a `Policy` with: {enforced: false} `projects/bar` has no `Policy` set. The constraint at `projects/bar` and `organizations/foo` will not be enforced. Example 2 (enforcement gets replaced): `organizations/foo` has a `Policy` with: {enforced: false} `projects/bar` has a `Policy` with: {enforced: true} The constraint at `organizations/foo` is not enforced. The constraint at `projects/bar` is enforced. Example 3 (RestoreDefault): `organizations/foo` has a `Policy` with: {enforced: true} `projects/bar` has a `Policy` with: {RestoreDefault: {}} The constraint at `organizations/foo` is enforced. The constraint at `projects/bar` is not enforced, because `constraint_default` for the `Constraint` is `ALLOW`.",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "GoogleCloudOrgpolicyV1ListPolicy": {
-      "description": "Used in `policy_type` to specify how `list_policy` behaves at this\nresource.\n\n`ListPolicy` can define specific values and subtrees of Cloud Resource\nManager resource hierarchy (`Organizations`, `Folders`, `Projects`) that\nare allowed or denied by setting the `allowed_values` and `denied_values`\nfields. This is achieved by using the `under:` and optional `is:` prefixes.\nThe `under:` prefix is used to denote resource subtree values.\nThe `is:` prefix is used to denote specific values, and is required only\nif the value contains a \":\". Values prefixed with \"is:\" are treated the\nsame as values with no prefix.\nAncestry subtrees must be in one of the following formats:\n    - \"projects/\u003cproject-id\u003e\", e.g. \"projects/tokyo-rain-123\"\n    - \"folders/\u003cfolder-id\u003e\", e.g. \"folders/1234\"\n    - \"organizations/\u003corganization-id\u003e\", e.g. \"organizations/1234\"\nThe `supports_under` field of the associated `Constraint`  defines whether\nancestry prefixes can be used. You can set `allowed_values` and\n`denied_values` in the same `Policy` if `all_values` is\n`ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all\nvalues. If `all_values` is set to either `ALLOW` or `DENY`,\n`allowed_values` and `denied_values` must be unset.",
+      "description": "Used in `policy_type` to specify how `list_policy` behaves at this resource. `ListPolicy` can define specific values and subtrees of Cloud Resource Manager resource hierarchy (`Organizations`, `Folders`, `Projects`) that are allowed or denied by setting the `allowed_values` and `denied_values` fields. This is achieved by using the `under:` and optional `is:` prefixes. The `under:` prefix is used to denote resource subtree values. The `is:` prefix is used to denote specific values, and is required only if the value contains a \":\". Values prefixed with \"is:\" are treated the same as values with no prefix. Ancestry subtrees must be in one of the following formats: - \"projects/\", e.g. \"projects/tokyo-rain-123\" - \"folders/\", e.g. \"folders/1234\" - \"organizations/\", e.g. \"organizations/1234\" The `supports_under` field of the associated `Constraint` defines whether ancestry prefixes can be used. You can set `allowed_values` and `denied_values` in the same `Policy` if `all_values` is `ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all values. If `all_values` is set to either `ALLOW` or `DENY`, `allowed_values` and `denied_values` must be unset.",
       "id": "GoogleCloudOrgpolicyV1ListPolicy",
       "properties": {
         "allValues": {
@@ -345,32 +352,32 @@
           "type": "string"
         },
         "allowedValues": {
-          "description": "List of values allowed  at this resource. Can only be set if `all_values`\nis set to `ALL_VALUES_UNSPECIFIED`.",
+          "description": "List of values allowed at this resource. Can only be set if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "deniedValues": {
-          "description": "List of values denied at this resource. Can only be set if `all_values`\nis set to `ALL_VALUES_UNSPECIFIED`.",
+          "description": "List of values denied at this resource. Can only be set if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "inheritFromParent": {
-          "description": "Determines the inheritance behavior for this `Policy`.\n\nBy default, a `ListPolicy` set at a resource supersedes any `Policy` set\nanywhere up the resource hierarchy. However, if `inherit_from_parent` is\nset to `true`, then the values from the effective `Policy` of the parent\nresource are inherited, meaning the values set in this `Policy` are\nadded to the values inherited up the hierarchy.\n\nSetting `Policy` hierarchies that inherit both allowed values and denied\nvalues isn't recommended in most circumstances to keep the configuration\nsimple and understandable. However, it is possible to set a `Policy` with\n`allowed_values` set that inherits a `Policy` with `denied_values` set.\nIn this case, the values that are allowed must be in `allowed_values` and\nnot present in `denied_values`.\n\nFor example, suppose you have a `Constraint`\n`constraints/serviceuser.services`, which has a `constraint_type` of\n`list_constraint`, and with `constraint_default` set to `ALLOW`.\nSuppose that at the Organization level, a `Policy` is applied that\nrestricts the allowed API activations to {`E1`, `E2`}. Then, if a\n`Policy` is applied to a project below the Organization that has\n`inherit_from_parent` set to `false` and field all_values set to DENY,\nthen an attempt to activate any API will be denied.\n\nThe following examples demonstrate different possible layerings for\n`projects/bar` parented by `organizations/foo`:\n\nExample 1 (no inherited values):\n  `organizations/foo` has a `Policy` with values:\n    {allowed_values: \"E1\" allowed_values:\"E2\"}\n  `projects/bar` has `inherit_from_parent` `false` and values:\n    {allowed_values: \"E3\" allowed_values: \"E4\"}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are `E3`, and `E4`.\n\nExample 2 (inherited values):\n  `organizations/foo` has a `Policy` with values:\n    {allowed_values: \"E1\" allowed_values:\"E2\"}\n  `projects/bar` has a `Policy` with values:\n    {value: \"E3\" value: \"E4\" inherit_from_parent: true}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`.\n\nExample 3 (inheriting both allowed and denied values):\n  `organizations/foo` has a `Policy` with values:\n    {allowed_values: \"E1\" allowed_values: \"E2\"}\n  `projects/bar` has a `Policy` with:\n    {denied_values: \"E1\"}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe value accepted at `projects/bar` is `E2`.\n\nExample 4 (RestoreDefault):\n  `organizations/foo` has a `Policy` with values:\n    {allowed_values: \"E1\" allowed_values:\"E2\"}\n  `projects/bar` has a `Policy` with values:\n    {RestoreDefault: {}}\nThe accepted values at `organizations/foo` are `E1`, `E2`.\nThe accepted values at `projects/bar` are either all or none depending on\nthe value of `constraint_default` (if `ALLOW`, all; if\n`DENY`, none).\n\nExample 5 (no policy inherits parent policy):\n  `organizations/foo` has no `Policy` set.\n  `projects/bar` has no `Policy` set.\nThe accepted values at both levels are either all or none depending on\nthe value of `constraint_default` (if `ALLOW`, all; if\n`DENY`, none).\n\nExample 6 (ListConstraint allowing all):\n  `organizations/foo` has a `Policy` with values:\n    {allowed_values: \"E1\" allowed_values: \"E2\"}\n  `projects/bar` has a `Policy` with:\n    {all: ALLOW}\nThe accepted values at `organizations/foo` are `E1`, E2`.\nAny value is accepted at `projects/bar`.\n\nExample 7 (ListConstraint allowing none):\n  `organizations/foo` has a `Policy` with values:\n    {allowed_values: \"E1\" allowed_values: \"E2\"}\n  `projects/bar` has a `Policy` with:\n    {all: DENY}\nThe accepted values at `organizations/foo` are `E1`, E2`.\nNo value is accepted at `projects/bar`.\n\nExample 10 (allowed and denied subtrees of Resource Manager hierarchy):\nGiven the following resource hierarchy\n  O1-\u003e{F1, F2}; F1-\u003e{P1}; F2-\u003e{P2, P3},\n  `organizations/foo` has a `Policy` with values:\n    {allowed_values: \"under:organizations/O1\"}\n  `projects/bar` has a `Policy` with:\n    {allowed_values: \"under:projects/P3\"}\n    {denied_values: \"under:folders/F2\"}\nThe accepted values at `organizations/foo` are `organizations/O1`,\n  `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`,\n  `projects/P3`.\nThe accepted values at `projects/bar` are `organizations/O1`,\n  `folders/F1`, `projects/P1`.",
+          "description": "Determines the inheritance behavior for this `Policy`. By default, a `ListPolicy` set at a resource supersedes any `Policy` set anywhere up the resource hierarchy. However, if `inherit_from_parent` is set to `true`, then the values from the effective `Policy` of the parent resource are inherited, meaning the values set in this `Policy` are added to the values inherited up the hierarchy. Setting `Policy` hierarchies that inherit both allowed values and denied values isn't recommended in most circumstances to keep the configuration simple and understandable. However, it is possible to set a `Policy` with `allowed_values` set that inherits a `Policy` with `denied_values` set. In this case, the values that are allowed must be in `allowed_values` and not present in `denied_values`. For example, suppose you have a `Constraint` `constraints/serviceuser.services`, which has a `constraint_type` of `list_constraint`, and with `constraint_default` set to `ALLOW`. Suppose that at the Organization level, a `Policy` is applied that restricts the allowed API activations to {`E1`, `E2`}. Then, if a `Policy` is applied to a project below the Organization that has `inherit_from_parent` set to `false` and field all_values set to DENY, then an attempt to activate any API will be denied. The following examples demonstrate different possible layerings for `projects/bar` parented by `organizations/foo`: Example 1 (no inherited values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has `inherit_from_parent` `false` and values: {allowed_values: \"E3\" allowed_values: \"E4\"} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are `E3`, and `E4`. Example 2 (inherited values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has a `Policy` with values: {value: \"E3\" value: \"E4\" inherit_from_parent: true} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`. Example 3 (inheriting both allowed and denied values): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {denied_values: \"E1\"} The accepted values at `organizations/foo` are `E1`, `E2`. The value accepted at `projects/bar` is `E2`. Example 4 (RestoreDefault): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values:\"E2\"} `projects/bar` has a `Policy` with values: {RestoreDefault: {}} The accepted values at `organizations/foo` are `E1`, `E2`. The accepted values at `projects/bar` are either all or none depending on the value of `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 5 (no policy inherits parent policy): `organizations/foo` has no `Policy` set. `projects/bar` has no `Policy` set. The accepted values at both levels are either all or none depending on the value of `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 6 (ListConstraint allowing all): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {all: ALLOW} The accepted values at `organizations/foo` are `E1`, E2`. Any value is accepted at `projects/bar`. Example 7 (ListConstraint allowing none): `organizations/foo` has a `Policy` with values: {allowed_values: \"E1\" allowed_values: \"E2\"} `projects/bar` has a `Policy` with: {all: DENY} The accepted values at `organizations/foo` are `E1`, E2`. No value is accepted at `projects/bar`. Example 10 (allowed and denied subtrees of Resource Manager hierarchy): Given the following resource hierarchy O1-\u003e{F1, F2}; F1-\u003e{P1}; F2-\u003e{P2, P3}, `organizations/foo` has a `Policy` with values: {allowed_values: \"under:organizations/O1\"} `projects/bar` has a `Policy` with: {allowed_values: \"under:projects/P3\"} {denied_values: \"under:folders/F2\"} The accepted values at `organizations/foo` are `organizations/O1`, `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`, `projects/P3`. The accepted values at `projects/bar` are `organizations/O1`, `folders/F1`, `projects/P1`.",
           "type": "boolean"
         },
         "suggestedValue": {
-          "description": "Optional. The Google Cloud Console will try to default to a configuration\nthat matches the value specified in this `Policy`. If `suggested_value`\nis not set, it will inherit the value specified higher in the hierarchy,\nunless `inherit_from_parent` is `false`.",
+          "description": "Optional. The Google Cloud Console will try to default to a configuration that matches the value specified in this `Policy`. If `suggested_value` is not set, it will inherit the value specified higher in the hierarchy, unless `inherit_from_parent` is `false`.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleCloudOrgpolicyV1Policy": {
-      "description": "Defines a Cloud Organization `Policy` which is used to specify `Constraints`\nfor configurations of Cloud Platform resources.",
+      "description": "Defines a Cloud Organization `Policy` which is used to specify `Constraints` for configurations of Cloud Platform resources.",
       "id": "GoogleCloudOrgpolicyV1Policy",
       "properties": {
         "booleanPolicy": {
@@ -378,11 +385,11 @@
           "description": "For boolean `Constraints`, whether to enforce the `Constraint` or not."
         },
         "constraint": {
-          "description": "The name of the `Constraint` the `Policy` is configuring, for example,\n`constraints/serviceuser.services`.\n\nA [list of available\nconstraints](/resource-manager/docs/organization-policy/org-policy-constraints)\nis available.\n\nImmutable after creation.",
+          "description": "The name of the `Constraint` the `Policy` is configuring, for example, `constraints/serviceuser.services`. A [list of available constraints](/resource-manager/docs/organization-policy/org-policy-constraints) is available. Immutable after creation.",
           "type": "string"
         },
         "etag": {
-          "description": "An opaque tag indicating the current version of the `Policy`, used for\nconcurrency control.\n\nWhen the `Policy` is returned from either a `GetPolicy` or a\n`ListOrgPolicy` request, this `etag` indicates the version of the current\n`Policy` to use when executing a read-modify-write loop.\n\nWhen the `Policy` is returned from a `GetEffectivePolicy` request, the\n`etag` will be unset.\n\nWhen the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value\nthat was returned from a `GetOrgPolicy` request as part of a\nread-modify-write loop for concurrency control. Not setting the `etag`in a\n`SetOrgPolicy` request will result in an unconditional write of the\n`Policy`.",
+          "description": "An opaque tag indicating the current version of the `Policy`, used for concurrency control. When the `Policy` is returned from either a `GetPolicy` or a `ListOrgPolicy` request, this `etag` indicates the version of the current `Policy` to use when executing a read-modify-write loop. When the `Policy` is returned from a `GetEffectivePolicy` request, the `etag` will be unset. When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value that was returned from a `GetOrgPolicy` request as part of a read-modify-write loop for concurrency control. Not setting the `etag`in a `SetOrgPolicy` request will result in an unconditional write of the `Policy`.",
           "format": "byte",
           "type": "string"
         },
@@ -392,10 +399,10 @@
         },
         "restoreDefault": {
           "$ref": "GoogleCloudOrgpolicyV1RestoreDefault",
-          "description": "Restores the default behavior of the constraint; independent of\n`Constraint` type."
+          "description": "Restores the default behavior of the constraint; independent of `Constraint` type."
         },
         "updateTime": {
-          "description": "The time stamp the `Policy` was previously updated. This is set by the\nserver, not specified by the caller, and represents the last time a call to\n`SetOrgPolicy` was made for that `Policy`. Any value set by the client will\nbe ignored.",
+          "description": "The time stamp the `Policy` was previously updated. This is set by the server, not specified by the caller, and represents the last time a call to `SetOrgPolicy` was made for that `Policy`. Any value set by the client will be ignored.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -408,13 +415,13 @@
       "type": "object"
     },
     "GoogleCloudOrgpolicyV1RestoreDefault": {
-      "description": "Ignores policies set above this resource and restores the\n`constraint_default` enforcement behavior of the specific `Constraint` at\nthis resource.\n\nSuppose that `constraint_default` is set to `ALLOW` for the\n`Constraint` `constraints/serviceuser.services`. Suppose that organization\nfoo.com sets a `Policy` at their Organization resource node that restricts\nthe allowed service activations to deny all service activations. They\ncould then set a `Policy` with the `policy_type` `restore_default` on\nseveral experimental projects, restoring the `constraint_default`\nenforcement of the `Constraint` for only those projects, allowing those\nprojects to have all services activated.",
+      "description": "Ignores policies set above this resource and restores the `constraint_default` enforcement behavior of the specific `Constraint` at this resource. Suppose that `constraint_default` is set to `ALLOW` for the `Constraint` `constraints/serviceuser.services`. Suppose that organization foo.com sets a `Policy` at their Organization resource node that restricts the allowed service activations to deny all service activations. They could then set a `Policy` with the `policy_type` `restore_default` on several experimental projects, restoring the `constraint_default` enforcement of the `Constraint` for only those projects, allowing those projects to have all services activated.",
       "id": "GoogleCloudOrgpolicyV1RestoreDefault",
       "properties": {},
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1AccessLevel": {
-      "description": "An `AccessLevel` is a label that can be applied to requests to Google Cloud\nservices, along with a list of requirements necessary for the label to be\napplied.",
+      "description": "An `AccessLevel` is a label that can be applied to requests to Google Cloud services, along with a list of requirements necessary for the label to be applied.",
       "id": "GoogleIdentityAccesscontextmanagerV1AccessLevel",
       "properties": {
         "basic": {
@@ -430,7 +437,7 @@
           "type": "string"
         },
         "name": {
-          "description": "Required. Resource name for the Access Level. The `short_name` component\nmust begin with a letter and only include alphanumeric and '_'. Format:\n`accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length\nof the `short_name` component is 50 characters.",
+          "description": "Required. Resource name for the Access Level. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length of the `short_name` component is 50 characters.",
           "type": "string"
         },
         "title": {
@@ -441,19 +448,19 @@
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1AccessPolicy": {
-      "description": "`AccessPolicy` is a container for `AccessLevels` (which define the necessary\nattributes to use Google Cloud services) and `ServicePerimeters` (which\ndefine regions of services able to freely pass data within a perimeter). An\naccess policy is globally visible within an organization, and the\nrestrictions it specifies apply to all projects within an organization.",
+      "description": "`AccessPolicy` is a container for `AccessLevels` (which define the necessary attributes to use Google Cloud services) and `ServicePerimeters` (which define regions of services able to freely pass data within a perimeter). An access policy is globally visible within an organization, and the restrictions it specifies apply to all projects within an organization.",
       "id": "GoogleIdentityAccesscontextmanagerV1AccessPolicy",
       "properties": {
         "etag": {
-          "description": "Output only. An opaque identifier for the current version of the\n`AccessPolicy`. This will always be a strongly validated etag, meaning that\ntwo Access Polices will be identical if and only if their etags are\nidentical. Clients should not expect this to be in any specific format.",
+          "description": "Output only. An opaque identifier for the current version of the `AccessPolicy`. This will always be a strongly validated etag, meaning that two Access Polices will be identical if and only if their etags are identical. Clients should not expect this to be in any specific format.",
           "type": "string"
         },
         "name": {
-          "description": "Output only. Resource name of the `AccessPolicy`. Format:\n`accessPolicies/{policy_id}`",
+          "description": "Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/{policy_id}`",
           "type": "string"
         },
         "parent": {
-          "description": "Required. The parent of this `AccessPolicy` in the Cloud Resource\nHierarchy. Currently immutable once created. Format:\n`organizations/{organization_id}`",
+          "description": "Required. The parent of this `AccessPolicy` in the Cloud Resource Hierarchy. Currently immutable once created. Format: `organizations/{organization_id}`",
           "type": "string"
         },
         "title": {
@@ -468,7 +475,7 @@
       "id": "GoogleIdentityAccesscontextmanagerV1BasicLevel",
       "properties": {
         "combiningFunction": {
-          "description": "How the `conditions` list should be combined to determine if a request is\ngranted this `AccessLevel`. If AND is used, each `Condition` in\n`conditions` must be satisfied for the `AccessLevel` to be applied. If OR\nis used, at least one `Condition` in `conditions` must be satisfied for the\n`AccessLevel` to be applied. Default behavior is AND.",
+          "description": "How the `conditions` list should be combined to determine if a request is granted this `AccessLevel`. If AND is used, each `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. If OR is used, at least one `Condition` in `conditions` must be satisfied for the `AccessLevel` to be applied. Default behavior is AND.",
           "enum": [
             "AND",
             "OR"
@@ -490,40 +497,40 @@
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1Condition": {
-      "description": "A condition necessary for an `AccessLevel` to be granted. The Condition is an\nAND over its fields. So a Condition is true if: 1) the request IP is from one\nof the listed subnetworks AND 2) the originating device complies with the\nlisted device policy AND 3) all listed access levels are granted AND 4) the\nrequest was sent at a time allowed by the DateTimeRestriction.",
+      "description": "A condition necessary for an `AccessLevel` to be granted. The Condition is an AND over its fields. So a Condition is true if: 1) the request IP is from one of the listed subnetworks AND 2) the originating device complies with the listed device policy AND 3) all listed access levels are granted AND 4) the request was sent at a time allowed by the DateTimeRestriction.",
       "id": "GoogleIdentityAccesscontextmanagerV1Condition",
       "properties": {
         "devicePolicy": {
           "$ref": "GoogleIdentityAccesscontextmanagerV1DevicePolicy",
-          "description": "Device specific restrictions, all restrictions must hold for the\nCondition to be true. If not specified, all devices are allowed."
+          "description": "Device specific restrictions, all restrictions must hold for the Condition to be true. If not specified, all devices are allowed."
         },
         "ipSubnetworks": {
-          "description": "CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for\na CIDR IP address block, the specified IP address portion must be properly\ntruncated (i.e. all the host bits must be zero) or the input is considered\nmalformed. For example, \"192.0.2.0/24\" is accepted but \"192.0.2.1/24\" is\nnot. Similarly, for IPv6, \"2001:db8::/32\" is accepted whereas\n\"2001:db8::1/32\" is not. The originating IP of a request must be in one of\nthe listed subnets in order for this Condition to be true. If empty, all IP\naddresses are allowed.",
+          "description": "CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for a CIDR IP address block, the specified IP address portion must be properly truncated (i.e. all the host bits must be zero) or the input is considered malformed. For example, \"192.0.2.0/24\" is accepted but \"192.0.2.1/24\" is not. Similarly, for IPv6, \"2001:db8::/32\" is accepted whereas \"2001:db8::1/32\" is not. The originating IP of a request must be in one of the listed subnets in order for this Condition to be true. If empty, all IP addresses are allowed.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "members": {
-          "description": "The request must be made by one of the provided user or service\naccounts. Groups are not supported.\nSyntax:\n`user:{emailid}`\n`serviceAccount:{emailid}`\nIf not specified, a request may come from any user.",
+          "description": "The request must be made by one of the provided user or service accounts. Groups are not supported. Syntax: `user:{emailid}` `serviceAccount:{emailid}` If not specified, a request may come from any user.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "negate": {
-          "description": "Whether to negate the Condition. If true, the Condition becomes a NAND over\nits non-empty fields, each field must be false for the Condition overall to\nbe satisfied. Defaults to false.",
+          "description": "Whether to negate the Condition. If true, the Condition becomes a NAND over its non-empty fields, each field must be false for the Condition overall to be satisfied. Defaults to false.",
           "type": "boolean"
         },
         "regions": {
-          "description": "The request must originate from one of the provided countries/regions.\nMust be valid ISO 3166-1 alpha-2 codes.",
+          "description": "The request must originate from one of the provided countries/regions. Must be valid ISO 3166-1 alpha-2 codes.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "requiredAccessLevels": {
-          "description": "A list of other access levels defined in the same `Policy`, referenced by\nresource name. Referencing an `AccessLevel` which does not exist is an\nerror. All access levels listed must be granted for the Condition\nto be true. Example:\n\"`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME\"`",
+          "description": "A list of other access levels defined in the same `Policy`, referenced by resource name. Referencing an `AccessLevel` which does not exist is an error. All access levels listed must be granted for the Condition to be true. Example: \"`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME\"`",
           "items": {
             "type": "string"
           },
@@ -533,7 +540,7 @@
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1CustomLevel": {
-      "description": "`CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language\nto represent the necessary conditions for the level to apply to a request.\nSee CEL spec at: https://github.com/google/cel-spec",
+      "description": "`CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request. See CEL spec at: https://github.com/google/cel-spec",
       "id": "GoogleIdentityAccesscontextmanagerV1CustomLevel",
       "properties": {
         "expr": {
@@ -544,16 +551,16 @@
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1DevicePolicy": {
-      "description": "`DevicePolicy` specifies device specific restrictions necessary to acquire a\ngiven access level. A `DevicePolicy` specifies requirements for requests from\ndevices to be granted access levels, it does not do any enforcement on the\ndevice. `DevicePolicy` acts as an AND over all specified fields, and each\nrepeated field is an OR over its elements. Any unset fields are ignored. For\nexample, if the proto is { os_type : DESKTOP_WINDOWS, os_type :\nDESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be\ntrue for requests originating from encrypted Linux desktops and encrypted\nWindows desktops.",
+      "description": "`DevicePolicy` specifies device specific restrictions necessary to acquire a given access level. A `DevicePolicy` specifies requirements for requests from devices to be granted access levels, it does not do any enforcement on the device. `DevicePolicy` acts as an AND over all specified fields, and each repeated field is an OR over its elements. Any unset fields are ignored. For example, if the proto is { os_type : DESKTOP_WINDOWS, os_type : DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be true for requests originating from encrypted Linux desktops and encrypted Windows desktops.",
       "id": "GoogleIdentityAccesscontextmanagerV1DevicePolicy",
       "properties": {
         "allowedDeviceManagementLevels": {
-          "description": "Allowed device management levels, an empty list allows all management\nlevels.",
+          "description": "Allowed device management levels, an empty list allows all management levels.",
           "enumDescriptions": [
             "The device's management level is not specified or not known.",
             "The device is not managed.",
-            "Basic management is enabled, which is generally limited to monitoring and\nwiping the corporate account.",
-            "Complete device management. This includes more thorough monitoring and the\nability to directly manage the device (such as remote wiping). This can be\nenabled through the Android Enterprise Platform."
+            "Basic management is enabled, which is generally limited to monitoring and wiping the corporate account.",
+            "Complete device management. This includes more thorough monitoring and the ability to directly manage the device (such as remote wiping). This can be enabled through the Android Enterprise Platform."
           ],
           "items": {
             "enum": [
@@ -562,6 +569,12 @@
               "BASIC",
               "COMPLETE"
             ],
+            "enumDescriptions": [
+              "The device's management level is not specified or not known.",
+              "The device is not managed.",
+              "Basic management is enabled, which is generally limited to monitoring and wiping the corporate account.",
+              "Complete device management. This includes more thorough monitoring and the ability to directly manage the device (such as remote wiping). This can be enabled through the Android Enterprise Platform."
+            ],
             "type": "string"
           },
           "type": "array"
@@ -581,6 +594,12 @@
               "UNENCRYPTED",
               "ENCRYPTED"
             ],
+            "enumDescriptions": [
+              "The encryption status of the device is not specified or not known.",
+              "The device does not support encryption.",
+              "The device supports encryption, but is currently unencrypted.",
+              "The device is encrypted."
+            ],
             "type": "string"
           },
           "type": "array"
@@ -601,7 +620,7 @@
           "type": "boolean"
         },
         "requireScreenlock": {
-          "description": "Whether or not screenlock is required for the DevicePolicy to be true.\nDefaults to `false`.",
+          "description": "Whether or not screenlock is required for the DevicePolicy to be true. Defaults to `false`.",
           "type": "boolean"
         }
       },
@@ -612,7 +631,7 @@
       "id": "GoogleIdentityAccesscontextmanagerV1OsConstraint",
       "properties": {
         "minimumVersion": {
-          "description": "The minimum allowed OS version. If not set, any version of this OS\nsatisfies the constraint. Format: `\"major.minor.patch\"`.\nExamples: `\"10.5.301\"`, `\"9.2.1\"`.",
+          "description": "The minimum allowed OS version. If not set, any version of this OS satisfies the constraint. Format: `\"major.minor.patch\"`. Examples: `\"10.5.301\"`, `\"9.2.1\"`.",
           "type": "string"
         },
         "osType": {
@@ -638,26 +657,26 @@
           "type": "string"
         },
         "requireVerifiedChromeOs": {
-          "description": "Only allows requests from devices with a verified Chrome OS.\nVerifications includes requirements that the device is enterprise-managed,\nconformant to domain policies, and the caller has permission to call\nthe API targeted by the request.",
+          "description": "Only allows requests from devices with a verified Chrome OS. Verifications includes requirements that the device is enterprise-managed, conformant to domain policies, and the caller has permission to call the API targeted by the request.",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1ServicePerimeter": {
-      "description": "`ServicePerimeter` describes a set of Google Cloud resources which can freely\nimport and export data amongst themselves, but not export outside of the\n`ServicePerimeter`. If a request with a source within this `ServicePerimeter`\nhas a target outside of the `ServicePerimeter`, the request will be blocked.\nOtherwise the request is allowed. There are two types of Service Perimeter -\nRegular and Bridge. Regular Service Perimeters cannot overlap, a single\nGoogle Cloud project can only belong to a single regular Service Perimeter.\nService Perimeter Bridges can contain only Google Cloud projects as members,\na single Google Cloud project may belong to multiple Service Perimeter\nBridges.",
+      "description": "`ServicePerimeter` describes a set of Google Cloud resources which can freely import and export data amongst themselves, but not export outside of the `ServicePerimeter`. If a request with a source within this `ServicePerimeter` has a target outside of the `ServicePerimeter`, the request will be blocked. Otherwise the request is allowed. There are two types of Service Perimeter - Regular and Bridge. Regular Service Perimeters cannot overlap, a single Google Cloud project can only belong to a single regular Service Perimeter. Service Perimeter Bridges can contain only Google Cloud projects as members, a single Google Cloud project may belong to multiple Service Perimeter Bridges.",
       "id": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter",
       "properties": {
         "description": {
-          "description": "Description of the `ServicePerimeter` and its use. Does not affect\nbehavior.",
+          "description": "Description of the `ServicePerimeter` and its use. Does not affect behavior.",
           "type": "string"
         },
         "name": {
-          "description": "Required. Resource name for the ServicePerimeter.  The `short_name`\ncomponent must begin with a letter and only include alphanumeric and '_'.\nFormat: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`",
+          "description": "Required. Resource name for the ServicePerimeter. The `short_name` component must begin with a letter and only include alphanumeric and '_'. Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`",
           "type": "string"
         },
         "perimeterType": {
-          "description": "Perimeter type indicator. A single project is\nallowed to be a member of single regular perimeter, but multiple service\nperimeter bridges. A project cannot be a included in a perimeter bridge\nwithout being included in regular perimeter. For perimeter bridges,\nthe restricted service list as well as access level lists must be\nempty.",
+          "description": "Perimeter type indicator. A single project is allowed to be a member of single regular perimeter, but multiple service perimeter bridges. A project cannot be a included in a perimeter bridge without being included in regular perimeter. For perimeter bridges, the restricted service list as well as access level lists must be empty.",
           "enum": [
             "PERIMETER_TYPE_REGULAR",
             "PERIMETER_TYPE_BRIDGE"
@@ -670,43 +689,43 @@
         },
         "spec": {
           "$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig",
-          "description": "Proposed (or dry run) ServicePerimeter configuration. This configuration\nallows to specify and test ServicePerimeter configuration without enforcing\nactual access restrictions. Only allowed to be set when the\n\"use_explicit_dry_run_spec\" flag is set."
+          "description": "Proposed (or dry run) ServicePerimeter configuration. This configuration allows to specify and test ServicePerimeter configuration without enforcing actual access restrictions. Only allowed to be set when the \"use_explicit_dry_run_spec\" flag is set."
         },
         "status": {
           "$ref": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig",
-          "description": "Current ServicePerimeter configuration. Specifies sets of resources,\nrestricted services and access levels that determine perimeter\ncontent and boundaries."
+          "description": "Current ServicePerimeter configuration. Specifies sets of resources, restricted services and access levels that determine perimeter content and boundaries."
         },
         "title": {
           "description": "Human readable title. Must be unique within the Policy.",
           "type": "string"
         },
         "useExplicitDryRunSpec": {
-          "description": "Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly\nexists  for all Service Perimeters, and that spec is identical to the\nstatus for those Service Perimeters. When this flag is set, it inhibits the\ngeneration of the implicit spec, thereby allowing the user to explicitly\nprovide a configuration (\"spec\") to use in a dry-run version of the Service\nPerimeter. This allows the user to test changes to the enforced config\n(\"status\") without actually enforcing them. This testing is done through\nanalyzing the differences between currently enforced and suggested\nrestrictions. use_explicit_dry_run_spec must bet set to True if any of the\nfields in the spec are set to non-default values.",
+          "description": "Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists for all Service Perimeters, and that spec is identical to the status for those Service Perimeters. When this flag is set, it inhibits the generation of the implicit spec, thereby allowing the user to explicitly provide a configuration (\"spec\") to use in a dry-run version of the Service Perimeter. This allows the user to test changes to the enforced config (\"status\") without actually enforcing them. This testing is done through analyzing the differences between currently enforced and suggested restrictions. use_explicit_dry_run_spec must bet set to True if any of the fields in the spec are set to non-default values.",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig": {
-      "description": "`ServicePerimeterConfig` specifies a set of Google Cloud resources that\ndescribe specific Service Perimeter configuration.",
+      "description": "`ServicePerimeterConfig` specifies a set of Google Cloud resources that describe specific Service Perimeter configuration.",
       "id": "GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig",
       "properties": {
         "accessLevels": {
-          "description": "A list of `AccessLevel` resource names that allow resources within the\n`ServicePerimeter` to be accessed from the internet. `AccessLevels` listed\nmust be in the same policy as this `ServicePerimeter`. Referencing a\nnonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are\nlisted, resources within the perimeter can only be accessed via Google\nCloud calls with request origins within the perimeter. Example:\n`\"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL\"`.\nFor Service Perimeter Bridge, must be empty.",
+          "description": "A list of `AccessLevel` resource names that allow resources within the `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example: `\"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL\"`. For Service Perimeter Bridge, must be empty.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "resources": {
-          "description": "A list of Google Cloud resources that are inside of the service perimeter.\nCurrently only projects are allowed. Format: `projects/{project_number}`",
+          "description": "A list of Google Cloud resources that are inside of the service perimeter. Currently only projects are allowed. Format: `projects/{project_number}`",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "restrictedServices": {
-          "description": "Google Cloud services that are subject to the Service Perimeter\nrestrictions. For example, if `storage.googleapis.com` is specified, access\nto the storage buckets inside the perimeter must meet the perimeter's\naccess restrictions.",
+          "description": "Google Cloud services that are subject to the Service Perimeter restrictions. For example, if `storage.googleapis.com` is specified, access to the storage buckets inside the perimeter must meet the perimeter's access restrictions.",
           "items": {
             "type": "string"
           },
@@ -720,18 +739,18 @@
       "type": "object"
     },
     "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices": {
-      "description": "Specifies how APIs are allowed to communicate within the Service\nPerimeter.",
+      "description": "Specifies how APIs are allowed to communicate within the Service Perimeter.",
       "id": "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices",
       "properties": {
         "allowedServices": {
-          "description": "The list of APIs usable within the Service Perimeter. Must be empty\nunless 'enable_restriction' is True. You can specify a list of individual\nservices, as well as include the 'RESTRICTED-SERVICES' value, which\nautomatically includes all of the services protected by the perimeter.",
+          "description": "The list of APIs usable within the Service Perimeter. Must be empty unless 'enable_restriction' is True. You can specify a list of individual services, as well as include the 'RESTRICTED-SERVICES' value, which automatically includes all of the services protected by the perimeter.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "enableRestriction": {
-          "description": "Whether to restrict API calls within the Service Perimeter to the list of\nAPIs specified in 'allowed_services'.",
+          "description": "Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowed_services'.",
           "type": "boolean"
         }
       },
@@ -749,7 +768,7 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "Token to retrieve the next page of results. Set to empty if there are no\nremaining results.",
+          "description": "Token to retrieve the next page of results. Set to empty if there are no remaining results.",
           "type": "string"
         },
         "readTime": {
@@ -761,7 +780,7 @@
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\n            \"user:eve@example.com\"\n          ],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "auditConfigs": {
@@ -772,19 +791,19 @@
           "type": "array"
         },
         "bindings": {
-          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
+          "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.",
           "items": {
             "$ref": "Binding"
           },
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
           "format": "byte",
           "type": "string"
         },
         "version": {
-          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -800,23 +819,23 @@
             "description": "Properties of the object.",
             "type": "any"
           },
-          "description": "The content of the resource, in which some sensitive fields are removed\nand may not be present.",
+          "description": "The content of the resource, in which some sensitive fields are removed and may not be present.",
           "type": "object"
         },
         "discoveryDocumentUri": {
-          "description": "The URL of the discovery document containing the resource's JSON schema.\nExample:\n`https://www.googleapis.com/discovery/v1/apis/compute/v1/rest`\n\nThis value is unspecified for resources that do not have an API based on a\ndiscovery document, such as Cloud Bigtable.",
+          "description": "The URL of the discovery document containing the resource's JSON schema. Example: `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest` This value is unspecified for resources that do not have an API based on a discovery document, such as Cloud Bigtable.",
           "type": "string"
         },
         "discoveryName": {
-          "description": "The JSON schema name listed in the discovery document. Example:\n`Project`\n\nThis value is unspecified for resources that do not have an API based on a\ndiscovery document, such as Cloud Bigtable.",
+          "description": "The JSON schema name listed in the discovery document. Example: `Project` This value is unspecified for resources that do not have an API based on a discovery document, such as Cloud Bigtable.",
           "type": "string"
         },
         "parent": {
-          "description": "The full name of the immediate parent of this resource. See\n[Resource\nNames](https://cloud.google.com/apis/design/resource_names#full_resource_name)\nfor more information.\n\nFor Google Cloud assets, this value is the parent resource defined in the\n[Cloud IAM policy\nhierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy).\nExample:\n`//cloudresourcemanager.googleapis.com/projects/my_project_123`\n\nFor third-party assets, this field may be set differently.",
+          "description": "The full name of the immediate parent of this resource. See [Resource Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information. For Google Cloud assets, this value is the parent resource defined in the [Cloud IAM policy hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy). Example: `//cloudresourcemanager.googleapis.com/projects/my_project_123` For third-party assets, this field may be set differently.",
           "type": "string"
         },
         "resourceUrl": {
-          "description": "The REST URL for accessing the resource. An HTTP `GET` request using this\nURL returns the resource itself. Example:\n`https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123`\n\nThis value is unspecified for resources without a REST API.",
+          "description": "The REST URL for accessing the resource. An HTTP `GET` request using this URL returns the resource itself. Example: `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123` This value is unspecified for resources without a REST API.",
           "type": "string"
         },
         "version": {
diff --git a/cloudasset/v1p5beta1/cloudasset-gen.go b/cloudasset/v1p5beta1/cloudasset-gen.go
index 4825645..f0e0d20 100644
--- a/cloudasset/v1p5beta1/cloudasset-gen.go
+++ b/cloudasset/v1p5beta1/cloudasset-gen.go
@@ -145,105 +145,70 @@
 }
 
 // Asset: An asset in Google Cloud. An asset can be any resource in the
-// Google
-// Cloud
-// [resource
-// hierarchy](https://cloud.google.com/resource-manager/d
-// ocs/cloud-platform-resource-hierarchy),
-// a resource outside the Google Cloud resource hierarchy (such as
-// Google
-// Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM
-// policy).
-// See [Supported
-// asset
-// types](https://cloud.google.com/asset-inventory/docs/supported-a
-// sset-types)
-// for more information.
+// Google Cloud [resource
+// hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platfo
+// rm-resource-hierarchy), a resource outside the Google Cloud resource
+// hierarchy (such as Google Kubernetes Engine clusters and objects), or
+// a policy (e.g. Cloud IAM policy). See [Supported asset
+// types](https://cloud.google.com/asset-inventory/docs/supported-asset-t
+// ypes) for more information.
 type Asset struct {
-	// AccessLevel: Please also refer to the [access level
-	// user
-	// guide](https://cloud.google.com/access-context-manager/docs/overv
-	// iew#access-levels).
+	// AccessLevel: Please also refer to the [access level user
+	// guide](https://cloud.google.com/access-context-manager/docs/overview#a
+	// ccess-levels).
 	AccessLevel *GoogleIdentityAccesscontextmanagerV1AccessLevel `json:"accessLevel,omitempty"`
 
-	// AccessPolicy: Please also refer to the [access policy
-	// user
-	// guide](https://cloud.google.com/access-context-manager/docs/overv
-	// iew#access-policies).
+	// AccessPolicy: Please also refer to the [access policy user
+	// guide](https://cloud.google.com/access-context-manager/docs/overview#a
+	// ccess-policies).
 	AccessPolicy *GoogleIdentityAccesscontextmanagerV1AccessPolicy `json:"accessPolicy,omitempty"`
 
-	// Ancestors: The ancestry path of an asset in Google Cloud
-	// [resource
-	// hierarchy](https://cloud.google.com/resource-manager/docs/cl
-	// oud-platform-resource-hierarchy),
-	// represented as a list of relative resource names. An ancestry path
-	// starts
-	// with the closest ancestor in the hierarchy and ends at root. If the
-	// asset
-	// is a project, folder, or organization, the ancestry path starts from
-	// the
-	// asset itself.
-	//
+	// Ancestors: The ancestry path of an asset in Google Cloud [resource
+	// hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platfo
+	// rm-resource-hierarchy), represented as a list of relative resource
+	// names. An ancestry path starts with the closest ancestor in the
+	// hierarchy and ends at root. If the asset is a project, folder, or
+	// organization, the ancestry path starts from the asset itself.
 	// Example: `["projects/123456789", "folders/5432",
 	// "organizations/1234"]`
 	Ancestors []string `json:"ancestors,omitempty"`
 
 	// AssetType: The type of the asset. Example:
-	// `compute.googleapis.com/Disk`
-	//
-	// See [Supported
-	// asset
-	// types](https://cloud.google.com/asset-inventory/docs/supported-a
-	// sset-types)
-	// for more information.
+	// `compute.googleapis.com/Disk` See [Supported asset
+	// types](https://cloud.google.com/asset-inventory/docs/supported-asset-t
+	// ypes) for more information.
 	AssetType string `json:"assetType,omitempty"`
 
 	// IamPolicy: A representation of the Cloud IAM policy set on a Google
-	// Cloud resource.
-	// There can be a maximum of one Cloud IAM policy set on any given
-	// resource.
-	// In addition, Cloud IAM policies inherit their granted access scope
-	// from any
-	// policies set on parent resources in the resource hierarchy.
-	// Therefore, the
-	// effectively policy is the union of both the policy set on this
-	// resource
-	// and each policy set on all of the resource's ancestry resource levels
-	// in
-	// the hierarchy. See
-	// [this topic](https://cloud.google.com/iam/docs/policies#inheritance)
-	// for
+	// Cloud resource. There can be a maximum of one Cloud IAM policy set on
+	// any given resource. In addition, Cloud IAM policies inherit their
+	// granted access scope from any policies set on parent resources in the
+	// resource hierarchy. Therefore, the effectively policy is the union of
+	// both the policy set on this resource and each policy set on all of
+	// the resource's ancestry resource levels in the hierarchy. See [this
+	// topic](https://cloud.google.com/iam/docs/policies#inheritance) for
 	// more information.
 	IamPolicy *Policy `json:"iamPolicy,omitempty"`
 
-	// Name: The full name of the asset.
-	// Example:
-	// `//compute.googleapis.com/projects/my_project_123/zones/zone1
-	// /instances/instance1`
-	//
-	// See
-	// [Resource
-	// names](https://cloud.google.com/apis/design/resource_names#f
-	// ull_resource_name)
-	// for more information.
+	// Name: The full name of the asset. Example:
+	// `//compute.googleapis.com/projects/my_project_123/zones/zone1/instance
+	// s/instance1` See [Resource
+	// names](https://cloud.google.com/apis/design/resource_names#full_resour
+	// ce_name) for more information.
 	Name string `json:"name,omitempty"`
 
-	// OrgPolicy: A representation of an
-	// [organization
-	// policy](https://cloud.google.com/resource-manager/docs/o
-	// rganization-policy/overview#organization_policy).
-	// There can be more than one organization policy with different
-	// constraints
-	// set on a given resource.
+	// OrgPolicy: A representation of an [organization
+	// policy](https://cloud.google.com/resource-manager/docs/organization-po
+	// licy/overview#organization_policy). There can be more than one
+	// organization policy with different constraints set on a given
+	// resource.
 	OrgPolicy []*GoogleCloudOrgpolicyV1Policy `json:"orgPolicy,omitempty"`
 
 	// Resource: A representation of the resource.
 	Resource *Resource `json:"resource,omitempty"`
 
-	// ServicePerimeter: Please also refer to the [service perimeter
-	// user
-	// guide](https://cloud.google.com/vpc-service-controls/docs/overvie
-	// w).
+	// ServicePerimeter: Please also refer to the [service perimeter user
+	// guide](https://cloud.google.com/vpc-service-controls/docs/overview).
 	ServicePerimeter *GoogleIdentityAccesscontextmanagerV1ServicePerimeter `json:"servicePerimeter,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AccessLevel") to
@@ -269,72 +234,31 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// AuditConfig: Specifies the audit configuration for a service.
-// The configuration determines which permission types are logged, and
-// what
-// identities, if any, are exempted from logging.
-// An AuditConfig must have one or more AuditLogConfigs.
-//
-// If there are AuditConfigs for both `allServices` and a specific
-// service,
-// the union of the two AuditConfigs is used for that service: the
-// log_types
-// specified in each AuditConfig are enabled, and the exempted_members
-// in each
-// AuditLogConfig are exempted.
-//
-// Example Policy with multiple AuditConfigs:
-//
-//     {
-//       "audit_configs": [
-//         {
-//           "service": "allServices",
-//           "audit_log_configs": [
-//             {
-//               "log_type": "DATA_READ",
-//               "exempted_members": [
-//                 "user:jose@example.com"
-//               ]
-//             },
-//             {
-//               "log_type": "DATA_WRITE"
-//             },
-//             {
-//               "log_type": "ADMIN_READ"
-//             }
-//           ]
-//         },
-//         {
-//           "service": "sampleservice.googleapis.com",
-//           "audit_log_configs": [
-//             {
-//               "log_type": "DATA_READ"
-//             },
-//             {
-//               "log_type": "DATA_WRITE",
-//               "exempted_members": [
-//                 "user:aliya@example.com"
-//               ]
-//             }
-//           ]
-//         }
-//       ]
-//     }
-//
-// For sampleservice, this policy enables DATA_READ, DATA_WRITE and
-// ADMIN_READ
-// logging. It also exempts jose@example.com from DATA_READ logging,
-// and
-// aliya@example.com from DATA_WRITE logging.
+// AuditConfig: Specifies the audit configuration for a service. The
+// configuration determines which permission types are logged, and what
+// identities, if any, are exempted from logging. An AuditConfig must
+// have one or more AuditLogConfigs. If there are AuditConfigs for both
+// `allServices` and a specific service, the union of the two
+// AuditConfigs is used for that service: the log_types specified in
+// each AuditConfig are enabled, and the exempted_members in each
+// AuditLogConfig are exempted. Example Policy with multiple
+// AuditConfigs: { "audit_configs": [ { "service": "allServices",
+// "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members":
+// [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, {
+// "log_type": "ADMIN_READ" } ] }, { "service":
+// "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type":
+// "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [
+// "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy
+// enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts
+// jose@example.com from DATA_READ logging, and aliya@example.com from
+// DATA_WRITE logging.
 type AuditConfig struct {
 	// AuditLogConfigs: The configuration for logging of each type of
 	// permission.
 	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
 
-	// Service: Specifies a service that will be enabled for audit
-	// logging.
-	// For example, `storage.googleapis.com`,
-	// `cloudsql.googleapis.com`.
+	// Service: Specifies a service that will be enabled for audit logging.
+	// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
 	// `allServices` is a special value that covers all services.
 	Service string `json:"service,omitempty"`
 
@@ -363,31 +287,15 @@
 }
 
 // AuditLogConfig: Provides the configuration for logging a type of
-// permissions.
-// Example:
-//
-//     {
-//       "audit_log_configs": [
-//         {
-//           "log_type": "DATA_READ",
-//           "exempted_members": [
-//             "user:jose@example.com"
-//           ]
-//         },
-//         {
-//           "log_type": "DATA_WRITE"
-//         }
-//       ]
-//     }
-//
-// This enables 'DATA_READ' and 'DATA_WRITE' logging, while
-// exempting
-// jose@example.com from DATA_READ logging.
+// permissions. Example: { "audit_log_configs": [ { "log_type":
+// "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, {
+// "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and
+// 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ
+// logging.
 type AuditLogConfig struct {
 	// ExemptedMembers: Specifies the identities that do not cause logging
-	// for this type of
-	// permission.
-	// Follows the same format of Binding.members.
+	// for this type of permission. Follows the same format of
+	// Binding.members.
 	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
 
 	// LogType: The log type that this config enables.
@@ -425,95 +333,53 @@
 
 // Binding: Associates `members` with a `role`.
 type Binding struct {
-	// Condition: The condition that is associated with this binding.
-	//
-	// If the condition evaluates to `true`, then this binding applies to
-	// the
-	// current request.
-	//
-	// If the condition evaluates to `false`, then this binding does not
-	// apply to
-	// the current request. However, a different role binding might grant
-	// the same
-	// role to one or more of the members in this binding.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// Condition: The condition that is associated with this binding. If the
+	// condition evaluates to `true`, then this binding applies to the
+	// current request. If the condition evaluates to `false`, then this
+	// binding does not apply to the current request. However, a different
+	// role binding might grant the same role to one or more of the members
+	// in this binding. To learn which resources support conditions in their
+	// IAM policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	Condition *Expr `json:"condition,omitempty"`
 
 	// Members: Specifies the identities requesting access for a Cloud
-	// Platform resource.
-	// `members` can have the following values:
-	//
-	// * `allUsers`: A special identifier that represents anyone who is
-	//    on the internet; with or without a Google account.
-	//
-	// * `allAuthenticatedUsers`: A special identifier that represents
-	// anyone
-	//    who is authenticated with a Google account or a service
-	// account.
-	//
-	// * `user:{emailid}`: An email address that represents a specific
-	// Google
-	//    account. For example, `alice@example.com` .
-	//
-	//
-	// * `serviceAccount:{emailid}`: An email address that represents a
-	// service
-	//    account. For example,
-	// `my-other-app@appspot.gserviceaccount.com`.
-	//
-	// * `group:{emailid}`: An email address that represents a Google
-	// group.
-	//    For example, `admins@example.com`.
-	//
-	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a user that has been recently deleted.
-	// For
-	//    example, `alice@example.com?uid=123456789012345678901`. If the
-	// user is
-	//    recovered, this value reverts to `user:{emailid}` and the
-	// recovered user
-	//    retains the role in the binding.
-	//
-	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
-	// (plus
-	//    unique identifier) representing a service account that has been
-	// recently
-	//    deleted. For example,
-	//
+	// Platform resource. `members` can have the following values: *
+	// `allUsers`: A special identifier that represents anyone who is on the
+	// internet; with or without a Google account. *
+	// `allAuthenticatedUsers`: A special identifier that represents anyone
+	// who is authenticated with a Google account or a service account. *
+	// `user:{emailid}`: An email address that represents a specific Google
+	// account. For example, `alice@example.com` . *
+	// `serviceAccount:{emailid}`: An email address that represents a
+	// service account. For example,
+	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
+	// email address that represents a Google group. For example,
+	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
+	// email address (plus unique identifier) representing a user that has
+	// been recently deleted. For example,
+	// `alice@example.com?uid=123456789012345678901`. If the user is
+	// recovered, this value reverts to `user:{emailid}` and the recovered
+	// user retains the role in the binding. *
+	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
+	// (plus unique identifier) representing a service account that has been
+	// recently deleted. For example,
 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
-	//
-	//    If the service account is undeleted, this value reverts to
-	//    `serviceAccount:{emailid}` and the undeleted service account
-	// retains the
-	//    role in the binding.
-	//
-	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a Google group that has been recently
-	//    deleted. For example,
-	// `admins@example.com?uid=123456789012345678901`. If
-	//    the group is recovered, this value reverts to `group:{emailid}`
-	// and the
-	//    recovered group retains the role in the binding.
-	//
-	//
-	// * `domain:{domain}`: The G Suite domain (primary) that represents all
-	// the
-	//    users of that domain. For example, `google.com` or
-	// `example.com`.
-	//
-	//
+	// If the service account is undeleted, this value reverts to
+	// `serviceAccount:{emailid}` and the undeleted service account retains
+	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
+	// An email address (plus unique identifier) representing a Google group
+	// that has been recently deleted. For example,
+	// `admins@example.com?uid=123456789012345678901`. If the group is
+	// recovered, this value reverts to `group:{emailid}` and the recovered
+	// group retains the role in the binding. * `domain:{domain}`: The G
+	// Suite domain (primary) that represents all the users of that domain.
+	// For example, `google.com` or `example.com`.
 	Members []string `json:"members,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`.
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -540,65 +406,40 @@
 }
 
 // Expr: Represents a textual expression in the Common Expression
-// Language (CEL)
-// syntax. CEL is a C-like expression language. The syntax and semantics
-// of CEL
-// are documented at https://github.com/google/cel-spec.
-//
-// Example (Comparison):
-//
-//     title: "Summary size limit"
-//     description: "Determines if a summary is less than 100 chars"
-//     expression: "document.summary.size() < 100"
-//
-// Example (Equality):
-//
-//     title: "Requestor is owner"
-//     description: "Determines if requestor is the document owner"
-//     expression: "document.owner ==
-// request.auth.claims.email"
-//
-// Example (Logic):
-//
-//     title: "Public documents"
-//     description: "Determine whether the document should be publicly
-// visible"
-//     expression: "document.type != 'private' && document.type !=
-// 'internal'"
-//
-// Example (Data Manipulation):
-//
-//     title: "Notification string"
-//     description: "Create a notification string with a timestamp."
-//     expression: "'New message received at ' +
-// string(document.create_time)"
-//
-// The exact variables and functions that may be referenced within an
-// expression
-// are determined by the service that evaluates it. See the
-// service
-// documentation for additional information.
+// Language (CEL) syntax. CEL is a C-like expression language. The
+// syntax and semantics of CEL are documented at
+// https://github.com/google/cel-spec. Example (Comparison): title:
+// "Summary size limit" description: "Determines if a summary is less
+// than 100 chars" expression: "document.summary.size() < 100" Example
+// (Equality): title: "Requestor is owner" description: "Determines if
+// requestor is the document owner" expression: "document.owner ==
+// request.auth.claims.email" Example (Logic): title: "Public documents"
+// description: "Determine whether the document should be publicly
+// visible" expression: "document.type != 'private' && document.type !=
+// 'internal'" Example (Data Manipulation): title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' +
+// string(document.create_time)" The exact variables and functions that
+// may be referenced within an expression are determined by the service
+// that evaluates it. See the service documentation for additional
+// information.
 type Expr struct {
 	// Description: Optional. Description of the expression. This is a
-	// longer text which
-	// describes the expression, e.g. when hovered over it in a UI.
+	// longer text which describes the expression, e.g. when hovered over it
+	// in a UI.
 	Description string `json:"description,omitempty"`
 
 	// Expression: Textual representation of an expression in Common
-	// Expression Language
-	// syntax.
+	// Expression Language syntax.
 	Expression string `json:"expression,omitempty"`
 
 	// Location: Optional. String indicating the location of the expression
-	// for error
-	// reporting, e.g. a file name and a position in the file.
+	// for error reporting, e.g. a file name and a position in the file.
 	Location string `json:"location,omitempty"`
 
 	// Title: Optional. Title for the expression, i.e. a short string
-	// describing
-	// its purpose. This can be used e.g. in UIs which allow to enter
-	// the
-	// expression.
+	// describing its purpose. This can be used e.g. in UIs which allow to
+	// enter the expression.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -625,66 +466,35 @@
 }
 
 // GoogleCloudOrgpolicyV1BooleanPolicy: Used in `policy_type` to specify
-// how `boolean_policy` will behave at this
-// resource.
+// how `boolean_policy` will behave at this resource.
 type GoogleCloudOrgpolicyV1BooleanPolicy struct {
 	// Enforced: If `true`, then the `Policy` is enforced. If `false`, then
-	// any
-	// configuration is acceptable.
-	//
-	// Suppose you have a
-	// `Constraint`
+	// any configuration is acceptable. Suppose you have a `Constraint`
 	// `constraints/compute.disableSerialPortAccess` with
-	// `constraint_default`
-	// set to `ALLOW`. A `Policy` for that `Constraint` exhibits the
-	// following
-	// behavior:
-	//   - If the `Policy` at this resource has enforced set to `false`,
-	// serial
-	//     port connection attempts will be allowed.
-	//   - If the `Policy` at this resource has enforced set to `true`,
-	// serial
-	//     port connection attempts will be refused.
-	//   - If the `Policy` at this resource is `RestoreDefault`, serial
-	// port
-	//     connection attempts will be allowed.
-	//   - If no `Policy` is set at this resource or anywhere higher in the
-	//     resource hierarchy, serial port connection attempts will be
-	// allowed.
-	//   - If no `Policy` is set at this resource, but one exists higher in
-	// the
-	//     resource hierarchy, the behavior is as if the`Policy` were set
-	// at
-	//     this resource.
-	//
-	// The following examples demonstrate the different possible
-	// layerings:
-	//
-	// Example 1 (nearest `Constraint` wins):
-	//   `organizations/foo` has a `Policy` with:
-	//     {enforced: false}
-	//   `projects/bar` has no `Policy` set.
-	// The constraint at `projects/bar` and `organizations/foo` will not
-	// be
-	// enforced.
-	//
-	// Example 2 (enforcement gets replaced):
-	//   `organizations/foo` has a `Policy` with:
-	//     {enforced: false}
-	//   `projects/bar` has a `Policy` with:
-	//     {enforced: true}
-	// The constraint at `organizations/foo` is not enforced.
-	// The constraint at `projects/bar` is enforced.
-	//
-	// Example 3 (RestoreDefault):
-	//   `organizations/foo` has a `Policy` with:
-	//     {enforced: true}
-	//   `projects/bar` has a `Policy` with:
-	//     {RestoreDefault: {}}
-	// The constraint at `organizations/foo` is enforced.
-	// The constraint at `projects/bar` is not enforced,
-	// because
-	// `constraint_default` for the `Constraint` is `ALLOW`.
+	// `constraint_default` set to `ALLOW`. A `Policy` for that `Constraint`
+	// exhibits the following behavior: - If the `Policy` at this resource
+	// has enforced set to `false`, serial port connection attempts will be
+	// allowed. - If the `Policy` at this resource has enforced set to
+	// `true`, serial port connection attempts will be refused. - If the
+	// `Policy` at this resource is `RestoreDefault`, serial port connection
+	// attempts will be allowed. - If no `Policy` is set at this resource or
+	// anywhere higher in the resource hierarchy, serial port connection
+	// attempts will be allowed. - If no `Policy` is set at this resource,
+	// but one exists higher in the resource hierarchy, the behavior is as
+	// if the`Policy` were set at this resource. The following examples
+	// demonstrate the different possible layerings: Example 1 (nearest
+	// `Constraint` wins): `organizations/foo` has a `Policy` with:
+	// {enforced: false} `projects/bar` has no `Policy` set. The constraint
+	// at `projects/bar` and `organizations/foo` will not be enforced.
+	// Example 2 (enforcement gets replaced): `organizations/foo` has a
+	// `Policy` with: {enforced: false} `projects/bar` has a `Policy` with:
+	// {enforced: true} The constraint at `organizations/foo` is not
+	// enforced. The constraint at `projects/bar` is enforced. Example 3
+	// (RestoreDefault): `organizations/foo` has a `Policy` with: {enforced:
+	// true} `projects/bar` has a `Policy` with: {RestoreDefault: {}} The
+	// constraint at `organizations/foo` is enforced. The constraint at
+	// `projects/bar` is not enforced, because `constraint_default` for the
+	// `Constraint` is `ALLOW`.
 	Enforced bool `json:"enforced,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Enforced") to
@@ -711,38 +521,23 @@
 }
 
 // GoogleCloudOrgpolicyV1ListPolicy: Used in `policy_type` to specify
-// how `list_policy` behaves at this
-// resource.
-//
-// `ListPolicy` can define specific values and subtrees of Cloud
-// Resource
-// Manager resource hierarchy (`Organizations`, `Folders`, `Projects`)
-// that
-// are allowed or denied by setting the `allowed_values` and
-// `denied_values`
-// fields. This is achieved by using the `under:` and optional `is:`
-// prefixes.
-// The `under:` prefix is used to denote resource subtree values.
-// The `is:` prefix is used to denote specific values, and is required
-// only
+// how `list_policy` behaves at this resource. `ListPolicy` can define
+// specific values and subtrees of Cloud Resource Manager resource
+// hierarchy (`Organizations`, `Folders`, `Projects`) that are allowed
+// or denied by setting the `allowed_values` and `denied_values` fields.
+// This is achieved by using the `under:` and optional `is:` prefixes.
+// The `under:` prefix is used to denote resource subtree values. The
+// `is:` prefix is used to denote specific values, and is required only
 // if the value contains a ":". Values prefixed with "is:" are treated
-// the
-// same as values with no prefix.
-// Ancestry subtrees must be in one of the following formats:
-//     - "projects/<project-id>", e.g. "projects/tokyo-rain-123"
-//     - "folders/<folder-id>", e.g. "folders/1234"
-//     - "organizations/<organization-id>", e.g.
-// "organizations/1234"
-// The `supports_under` field of the associated `Constraint`  defines
-// whether
-// ancestry prefixes can be used. You can set `allowed_values`
-// and
-// `denied_values` in the same `Policy` if `all_values`
-// is
+// the same as values with no prefix. Ancestry subtrees must be in one
+// of the following formats: - "projects/", e.g.
+// "projects/tokyo-rain-123" - "folders/", e.g. "folders/1234" -
+// "organizations/", e.g. "organizations/1234" The `supports_under`
+// field of the associated `Constraint` defines whether ancestry
+// prefixes can be used. You can set `allowed_values` and
+// `denied_values` in the same `Policy` if `all_values` is
 // `ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny
-// all
-// values. If `all_values` is set to either `ALLOW` or
-// `DENY`,
+// all values. If `all_values` is set to either `ALLOW` or `DENY`,
 // `allowed_values` and `denied_values` must be unset.
 type GoogleCloudOrgpolicyV1ListPolicy struct {
 	// AllValues: The policy all_values state.
@@ -754,144 +549,86 @@
 	//   "DENY" - A policy with this set denies all values.
 	AllValues string `json:"allValues,omitempty"`
 
-	// AllowedValues: List of values allowed  at this resource. Can only be
-	// set if `all_values`
-	// is set to `ALL_VALUES_UNSPECIFIED`.
+	// AllowedValues: List of values allowed at this resource. Can only be
+	// set if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.
 	AllowedValues []string `json:"allowedValues,omitempty"`
 
 	// DeniedValues: List of values denied at this resource. Can only be set
-	// if `all_values`
-	// is set to `ALL_VALUES_UNSPECIFIED`.
+	// if `all_values` is set to `ALL_VALUES_UNSPECIFIED`.
 	DeniedValues []string `json:"deniedValues,omitempty"`
 
 	// InheritFromParent: Determines the inheritance behavior for this
-	// `Policy`.
-	//
-	// By default, a `ListPolicy` set at a resource supersedes any `Policy`
-	// set
-	// anywhere up the resource hierarchy. However, if `inherit_from_parent`
-	// is
-	// set to `true`, then the values from the effective `Policy` of the
-	// parent
-	// resource are inherited, meaning the values set in this `Policy`
-	// are
-	// added to the values inherited up the hierarchy.
-	//
-	// Setting `Policy` hierarchies that inherit both allowed values and
-	// denied
-	// values isn't recommended in most circumstances to keep the
-	// configuration
-	// simple and understandable. However, it is possible to set a `Policy`
-	// with
-	// `allowed_values` set that inherits a `Policy` with `denied_values`
-	// set.
-	// In this case, the values that are allowed must be in `allowed_values`
-	// and
-	// not present in `denied_values`.
-	//
-	// For example, suppose you have a
-	// `Constraint`
-	// `constraints/serviceuser.services`, which has a `constraint_type`
-	// of
-	// `list_constraint`, and with `constraint_default` set to
-	// `ALLOW`.
-	// Suppose that at the Organization level, a `Policy` is applied
-	// that
-	// restricts the allowed API activations to {`E1`, `E2`}. Then, if
-	// a
-	// `Policy` is applied to a project below the Organization that
-	// has
+	// `Policy`. By default, a `ListPolicy` set at a resource supersedes any
+	// `Policy` set anywhere up the resource hierarchy. However, if
+	// `inherit_from_parent` is set to `true`, then the values from the
+	// effective `Policy` of the parent resource are inherited, meaning the
+	// values set in this `Policy` are added to the values inherited up the
+	// hierarchy. Setting `Policy` hierarchies that inherit both allowed
+	// values and denied values isn't recommended in most circumstances to
+	// keep the configuration simple and understandable. However, it is
+	// possible to set a `Policy` with `allowed_values` set that inherits a
+	// `Policy` with `denied_values` set. In this case, the values that are
+	// allowed must be in `allowed_values` and not present in
+	// `denied_values`. For example, suppose you have a `Constraint`
+	// `constraints/serviceuser.services`, which has a `constraint_type` of
+	// `list_constraint`, and with `constraint_default` set to `ALLOW`.
+	// Suppose that at the Organization level, a `Policy` is applied that
+	// restricts the allowed API activations to {`E1`, `E2`}. Then, if a
+	// `Policy` is applied to a project below the Organization that has
 	// `inherit_from_parent` set to `false` and field all_values set to
-	// DENY,
-	// then an attempt to activate any API will be denied.
-	//
-	// The following examples demonstrate different possible layerings
-	// for
-	// `projects/bar` parented by `organizations/foo`:
-	//
-	// Example 1 (no inherited values):
-	//   `organizations/foo` has a `Policy` with values:
-	//     {allowed_values: "E1" allowed_values:"E2"}
-	//   `projects/bar` has `inherit_from_parent` `false` and values:
-	//     {allowed_values: "E3" allowed_values: "E4"}
-	// The accepted values at `organizations/foo` are `E1`, `E2`.
-	// The accepted values at `projects/bar` are `E3`, and `E4`.
-	//
-	// Example 2 (inherited values):
-	//   `organizations/foo` has a `Policy` with values:
-	//     {allowed_values: "E1" allowed_values:"E2"}
-	//   `projects/bar` has a `Policy` with values:
-	//     {value: "E3" value: "E4" inherit_from_parent: true}
-	// The accepted values at `organizations/foo` are `E1`, `E2`.
-	// The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and
-	// `E4`.
-	//
+	// DENY, then an attempt to activate any API will be denied. The
+	// following examples demonstrate different possible layerings for
+	// `projects/bar` parented by `organizations/foo`: Example 1 (no
+	// inherited values): `organizations/foo` has a `Policy` with values:
+	// {allowed_values: "E1" allowed_values:"E2"} `projects/bar` has
+	// `inherit_from_parent` `false` and values: {allowed_values: "E3"
+	// allowed_values: "E4"} The accepted values at `organizations/foo` are
+	// `E1`, `E2`. The accepted values at `projects/bar` are `E3`, and `E4`.
+	// Example 2 (inherited values): `organizations/foo` has a `Policy` with
+	// values: {allowed_values: "E1" allowed_values:"E2"} `projects/bar` has
+	// a `Policy` with values: {value: "E3" value: "E4" inherit_from_parent:
+	// true} The accepted values at `organizations/foo` are `E1`, `E2`. The
+	// accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`.
 	// Example 3 (inheriting both allowed and denied values):
-	//   `organizations/foo` has a `Policy` with values:
-	//     {allowed_values: "E1" allowed_values: "E2"}
-	//   `projects/bar` has a `Policy` with:
-	//     {denied_values: "E1"}
-	// The accepted values at `organizations/foo` are `E1`, `E2`.
-	// The value accepted at `projects/bar` is `E2`.
-	//
-	// Example 4 (RestoreDefault):
-	//   `organizations/foo` has a `Policy` with values:
-	//     {allowed_values: "E1" allowed_values:"E2"}
-	//   `projects/bar` has a `Policy` with values:
-	//     {RestoreDefault: {}}
-	// The accepted values at `organizations/foo` are `E1`, `E2`.
-	// The accepted values at `projects/bar` are either all or none
-	// depending on
-	// the value of `constraint_default` (if `ALLOW`, all; if
-	// `DENY`, none).
-	//
-	// Example 5 (no policy inherits parent policy):
-	//   `organizations/foo` has no `Policy` set.
-	//   `projects/bar` has no `Policy` set.
-	// The accepted values at both levels are either all or none depending
-	// on
-	// the value of `constraint_default` (if `ALLOW`, all; if
-	// `DENY`, none).
-	//
-	// Example 6 (ListConstraint allowing all):
-	//   `organizations/foo` has a `Policy` with values:
-	//     {allowed_values: "E1" allowed_values: "E2"}
-	//   `projects/bar` has a `Policy` with:
-	//     {all: ALLOW}
-	// The accepted values at `organizations/foo` are `E1`, E2`.
-	// Any value is accepted at `projects/bar`.
-	//
-	// Example 7 (ListConstraint allowing none):
-	//   `organizations/foo` has a `Policy` with values:
-	//     {allowed_values: "E1" allowed_values: "E2"}
-	//   `projects/bar` has a `Policy` with:
-	//     {all: DENY}
-	// The accepted values at `organizations/foo` are `E1`, E2`.
-	// No value is accepted at `projects/bar`.
-	//
-	// Example 10 (allowed and denied subtrees of Resource Manager
-	// hierarchy):
-	// Given the following resource hierarchy
-	//   O1->{F1, F2}; F1->{P1}; F2->{P2, P3},
-	//   `organizations/foo` has a `Policy` with values:
-	//     {allowed_values: "under:organizations/O1"}
-	//   `projects/bar` has a `Policy` with:
-	//     {allowed_values: "under:projects/P3"}
-	//     {denied_values: "under:folders/F2"}
-	// The accepted values at `organizations/foo` are `organizations/O1`,
-	//   `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`,
-	//   `projects/P3`.
-	// The accepted values at `projects/bar` are `organizations/O1`,
-	//   `folders/F1`, `projects/P1`.
+	// `organizations/foo` has a `Policy` with values: {allowed_values: "E1"
+	// allowed_values: "E2"} `projects/bar` has a `Policy` with:
+	// {denied_values: "E1"} The accepted values at `organizations/foo` are
+	// `E1`, `E2`. The value accepted at `projects/bar` is `E2`. Example 4
+	// (RestoreDefault): `organizations/foo` has a `Policy` with values:
+	// {allowed_values: "E1" allowed_values:"E2"} `projects/bar` has a
+	// `Policy` with values: {RestoreDefault: {}} The accepted values at
+	// `organizations/foo` are `E1`, `E2`. The accepted values at
+	// `projects/bar` are either all or none depending on the value of
+	// `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 5
+	// (no policy inherits parent policy): `organizations/foo` has no
+	// `Policy` set. `projects/bar` has no `Policy` set. The accepted values
+	// at both levels are either all or none depending on the value of
+	// `constraint_default` (if `ALLOW`, all; if `DENY`, none). Example 6
+	// (ListConstraint allowing all): `organizations/foo` has a `Policy`
+	// with values: {allowed_values: "E1" allowed_values: "E2"}
+	// `projects/bar` has a `Policy` with: {all: ALLOW} The accepted values
+	// at `organizations/foo` are `E1`, E2`. Any value is accepted at
+	// `projects/bar`. Example 7 (ListConstraint allowing none):
+	// `organizations/foo` has a `Policy` with values: {allowed_values: "E1"
+	// allowed_values: "E2"} `projects/bar` has a `Policy` with: {all: DENY}
+	// The accepted values at `organizations/foo` are `E1`, E2`. No value is
+	// accepted at `projects/bar`. Example 10 (allowed and denied subtrees
+	// of Resource Manager hierarchy): Given the following resource
+	// hierarchy O1->{F1, F2}; F1->{P1}; F2->{P2, P3}, `organizations/foo`
+	// has a `Policy` with values: {allowed_values:
+	// "under:organizations/O1"} `projects/bar` has a `Policy` with:
+	// {allowed_values: "under:projects/P3"} {denied_values:
+	// "under:folders/F2"} The accepted values at `organizations/foo` are
+	// `organizations/O1`, `folders/F1`, `folders/F2`, `projects/P1`,
+	// `projects/P2`, `projects/P3`. The accepted values at `projects/bar`
+	// are `organizations/O1`, `folders/F1`, `projects/P1`.
 	InheritFromParent bool `json:"inheritFromParent,omitempty"`
 
 	// SuggestedValue: Optional. The Google Cloud Console will try to
-	// default to a configuration
-	// that matches the value specified in this `Policy`. If
-	// `suggested_value`
-	// is not set, it will inherit the value specified higher in the
-	// hierarchy,
-	// unless `inherit_from_parent` is `false`.
+	// default to a configuration that matches the value specified in this
+	// `Policy`. If `suggested_value` is not set, it will inherit the value
+	// specified higher in the hierarchy, unless `inherit_from_parent` is
+	// `false`.
 	SuggestedValue string `json:"suggestedValue,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AllValues") to
@@ -918,66 +655,43 @@
 }
 
 // GoogleCloudOrgpolicyV1Policy: Defines a Cloud Organization `Policy`
-// which is used to specify `Constraints`
-// for configurations of Cloud Platform resources.
+// which is used to specify `Constraints` for configurations of Cloud
+// Platform resources.
 type GoogleCloudOrgpolicyV1Policy struct {
 	// BooleanPolicy: For boolean `Constraints`, whether to enforce the
 	// `Constraint` or not.
 	BooleanPolicy *GoogleCloudOrgpolicyV1BooleanPolicy `json:"booleanPolicy,omitempty"`
 
 	// Constraint: The name of the `Constraint` the `Policy` is configuring,
-	// for example,
-	// `constraints/serviceuser.services`.
-	//
-	// A [list of
-	// available
-	// constraints](/resource-manager/docs/organization-policy/org-
-	// policy-constraints)
-	// is available.
-	//
-	// Immutable after creation.
+	// for example, `constraints/serviceuser.services`. A [list of available
+	// constraints](/resource-manager/docs/organization-policy/org-policy-con
+	// straints) is available. Immutable after creation.
 	Constraint string `json:"constraint,omitempty"`
 
 	// Etag: An opaque tag indicating the current version of the `Policy`,
-	// used for
-	// concurrency control.
-	//
-	// When the `Policy` is returned from either a `GetPolicy` or
-	// a
-	// `ListOrgPolicy` request, this `etag` indicates the version of the
-	// current
-	// `Policy` to use when executing a read-modify-write loop.
-	//
-	// When the `Policy` is returned from a `GetEffectivePolicy` request,
-	// the
-	// `etag` will be unset.
-	//
-	// When the `Policy` is used in a `SetOrgPolicy` method, use the `etag`
-	// value
-	// that was returned from a `GetOrgPolicy` request as part of
-	// a
+	// used for concurrency control. When the `Policy` is returned from
+	// either a `GetPolicy` or a `ListOrgPolicy` request, this `etag`
+	// indicates the version of the current `Policy` to use when executing a
+	// read-modify-write loop. When the `Policy` is returned from a
+	// `GetEffectivePolicy` request, the `etag` will be unset. When the
+	// `Policy` is used in a `SetOrgPolicy` method, use the `etag` value
+	// that was returned from a `GetOrgPolicy` request as part of a
 	// read-modify-write loop for concurrency control. Not setting the
-	// `etag`in a
-	// `SetOrgPolicy` request will result in an unconditional write of
-	// the
-	// `Policy`.
+	// `etag`in a `SetOrgPolicy` request will result in an unconditional
+	// write of the `Policy`.
 	Etag string `json:"etag,omitempty"`
 
 	// ListPolicy: List of values either allowed or disallowed.
 	ListPolicy *GoogleCloudOrgpolicyV1ListPolicy `json:"listPolicy,omitempty"`
 
 	// RestoreDefault: Restores the default behavior of the constraint;
-	// independent of
-	// `Constraint` type.
+	// independent of `Constraint` type.
 	RestoreDefault *GoogleCloudOrgpolicyV1RestoreDefault `json:"restoreDefault,omitempty"`
 
 	// UpdateTime: The time stamp the `Policy` was previously updated. This
-	// is set by the
-	// server, not specified by the caller, and represents the last time a
-	// call to
-	// `SetOrgPolicy` was made for that `Policy`. Any value set by the
-	// client will
-	// be ignored.
+	// is set by the server, not specified by the caller, and represents the
+	// last time a call to `SetOrgPolicy` was made for that `Policy`. Any
+	// value set by the client will be ignored.
 	UpdateTime string `json:"updateTime,omitempty"`
 
 	// Version: Version of the `Policy`. Default version is 0;
@@ -1007,33 +721,22 @@
 }
 
 // GoogleCloudOrgpolicyV1RestoreDefault: Ignores policies set above this
-// resource and restores the
-// `constraint_default` enforcement behavior of the specific
-// `Constraint` at
-// this resource.
-//
-// Suppose that `constraint_default` is set to `ALLOW` for
-// the
-// `Constraint` `constraints/serviceuser.services`. Suppose that
-// organization
-// foo.com sets a `Policy` at their Organization resource node that
-// restricts
-// the allowed service activations to deny all service activations.
-// They
-// could then set a `Policy` with the `policy_type` `restore_default`
-// on
-// several experimental projects, restoring the
-// `constraint_default`
+// resource and restores the `constraint_default` enforcement behavior
+// of the specific `Constraint` at this resource. Suppose that
+// `constraint_default` is set to `ALLOW` for the `Constraint`
+// `constraints/serviceuser.services`. Suppose that organization foo.com
+// sets a `Policy` at their Organization resource node that restricts
+// the allowed service activations to deny all service activations. They
+// could then set a `Policy` with the `policy_type` `restore_default` on
+// several experimental projects, restoring the `constraint_default`
 // enforcement of the `Constraint` for only those projects, allowing
-// those
-// projects to have all services activated.
+// those projects to have all services activated.
 type GoogleCloudOrgpolicyV1RestoreDefault struct {
 }
 
 // GoogleIdentityAccesscontextmanagerV1AccessLevel: An `AccessLevel` is
-// a label that can be applied to requests to Google Cloud
-// services, along with a list of requirements necessary for the label
-// to be
+// a label that can be applied to requests to Google Cloud services,
+// along with a list of requirements necessary for the label to be
 // applied.
 type GoogleIdentityAccesscontextmanagerV1AccessLevel struct {
 	// Basic: A `BasicLevel` composed of `Conditions`.
@@ -1047,12 +750,9 @@
 	Description string `json:"description,omitempty"`
 
 	// Name: Required. Resource name for the Access Level. The `short_name`
-	// component
-	// must begin with a letter and only include alphanumeric and '_'.
-	// Format:
-	// `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum
-	// length
-	// of the `short_name` component is 50 characters.
+	// component must begin with a letter and only include alphanumeric and
+	// '_'. Format: `accessPolicies/{policy_id}/accessLevels/{short_name}`.
+	// The maximum length of the `short_name` component is 50 characters.
 	Name string `json:"name,omitempty"`
 
 	// Title: Human readable title. Must be unique within the Policy.
@@ -1082,35 +782,26 @@
 }
 
 // GoogleIdentityAccesscontextmanagerV1AccessPolicy: `AccessPolicy` is a
-// container for `AccessLevels` (which define the necessary
-// attributes to use Google Cloud services) and `ServicePerimeters`
-// (which
-// define regions of services able to freely pass data within a
-// perimeter). An
-// access policy is globally visible within an organization, and
-// the
+// container for `AccessLevels` (which define the necessary attributes
+// to use Google Cloud services) and `ServicePerimeters` (which define
+// regions of services able to freely pass data within a perimeter). An
+// access policy is globally visible within an organization, and the
 // restrictions it specifies apply to all projects within an
 // organization.
 type GoogleIdentityAccesscontextmanagerV1AccessPolicy struct {
 	// Etag: Output only. An opaque identifier for the current version of
-	// the
-	// `AccessPolicy`. This will always be a strongly validated etag,
-	// meaning that
-	// two Access Polices will be identical if and only if their etags
-	// are
-	// identical. Clients should not expect this to be in any specific
-	// format.
+	// the `AccessPolicy`. This will always be a strongly validated etag,
+	// meaning that two Access Polices will be identical if and only if
+	// their etags are identical. Clients should not expect this to be in
+	// any specific format.
 	Etag string `json:"etag,omitempty"`
 
-	// Name: Output only. Resource name of the `AccessPolicy`.
-	// Format:
+	// Name: Output only. Resource name of the `AccessPolicy`. Format:
 	// `accessPolicies/{policy_id}`
 	Name string `json:"name,omitempty"`
 
 	// Parent: Required. The parent of this `AccessPolicy` in the Cloud
-	// Resource
-	// Hierarchy. Currently immutable once created.
-	// Format:
+	// Resource Hierarchy. Currently immutable once created. Format:
 	// `organizations/{organization_id}`
 	Parent string `json:"parent,omitempty"`
 
@@ -1144,14 +835,11 @@
 // `AccessLevel` using a set of recommended features.
 type GoogleIdentityAccesscontextmanagerV1BasicLevel struct {
 	// CombiningFunction: How the `conditions` list should be combined to
-	// determine if a request is
-	// granted this `AccessLevel`. If AND is used, each `Condition`
-	// in
-	// `conditions` must be satisfied for the `AccessLevel` to be applied.
-	// If OR
-	// is used, at least one `Condition` in `conditions` must be satisfied
-	// for the
-	// `AccessLevel` to be applied. Default behavior is AND.
+	// determine if a request is granted this `AccessLevel`. If AND is used,
+	// each `Condition` in `conditions` must be satisfied for the
+	// `AccessLevel` to be applied. If OR is used, at least one `Condition`
+	// in `conditions` must be satisfied for the `AccessLevel` to be
+	// applied. Default behavior is AND.
 	//
 	// Possible values:
 	//   "AND" - All `Conditions` must be true for the `BasicLevel` to be
@@ -1189,66 +877,48 @@
 }
 
 // GoogleIdentityAccesscontextmanagerV1Condition: A condition necessary
-// for an `AccessLevel` to be granted. The Condition is an
-// AND over its fields. So a Condition is true if: 1) the request IP is
-// from one
-// of the listed subnetworks AND 2) the originating device complies with
-// the
-// listed device policy AND 3) all listed access levels are granted AND
-// 4) the
-// request was sent at a time allowed by the DateTimeRestriction.
+// for an `AccessLevel` to be granted. The Condition is an AND over its
+// fields. So a Condition is true if: 1) the request IP is from one of
+// the listed subnetworks AND 2) the originating device complies with
+// the listed device policy AND 3) all listed access levels are granted
+// AND 4) the request was sent at a time allowed by the
+// DateTimeRestriction.
 type GoogleIdentityAccesscontextmanagerV1Condition struct {
 	// DevicePolicy: Device specific restrictions, all restrictions must
-	// hold for the
-	// Condition to be true. If not specified, all devices are allowed.
+	// hold for the Condition to be true. If not specified, all devices are
+	// allowed.
 	DevicePolicy *GoogleIdentityAccesscontextmanagerV1DevicePolicy `json:"devicePolicy,omitempty"`
 
 	// IpSubnetworks: CIDR block IP subnetwork specification. May be IPv4 or
-	// IPv6. Note that for
-	// a CIDR IP address block, the specified IP address portion must be
-	// properly
-	// truncated (i.e. all the host bits must be zero) or the input is
-	// considered
-	// malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24"
-	// is
-	// not. Similarly, for IPv6, "2001:db8::/32" is accepted
-	// whereas
-	// "2001:db8::1/32" is not. The originating IP of a request must be in
-	// one of
-	// the listed subnets in order for this Condition to be true. If empty,
-	// all IP
-	// addresses are allowed.
+	// IPv6. Note that for a CIDR IP address block, the specified IP address
+	// portion must be properly truncated (i.e. all the host bits must be
+	// zero) or the input is considered malformed. For example,
+	// "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly, for
+	// IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32" is not.
+	// The originating IP of a request must be in one of the listed subnets
+	// in order for this Condition to be true. If empty, all IP addresses
+	// are allowed.
 	IpSubnetworks []string `json:"ipSubnetworks,omitempty"`
 
 	// Members: The request must be made by one of the provided user or
-	// service
-	// accounts. Groups are not
-	// supported.
-	// Syntax:
-	// `user:{emailid}`
-	// `serviceAccount:{emailid}`
-	// If not specified, a request may come from any user.
+	// service accounts. Groups are not supported. Syntax: `user:{emailid}`
+	// `serviceAccount:{emailid}` If not specified, a request may come from
+	// any user.
 	Members []string `json:"members,omitempty"`
 
 	// Negate: Whether to negate the Condition. If true, the Condition
-	// becomes a NAND over
-	// its non-empty fields, each field must be false for the Condition
-	// overall to
-	// be satisfied. Defaults to false.
+	// becomes a NAND over its non-empty fields, each field must be false
+	// for the Condition overall to be satisfied. Defaults to false.
 	Negate bool `json:"negate,omitempty"`
 
 	// Regions: The request must originate from one of the provided
-	// countries/regions.
-	// Must be valid ISO 3166-1 alpha-2 codes.
+	// countries/regions. Must be valid ISO 3166-1 alpha-2 codes.
 	Regions []string `json:"regions,omitempty"`
 
 	// RequiredAccessLevels: A list of other access levels defined in the
-	// same `Policy`, referenced by
-	// resource name. Referencing an `AccessLevel` which does not exist is
-	// an
-	// error. All access levels listed must be granted for the Condition
-	// to be true.
-	// Example:
+	// same `Policy`, referenced by resource name. Referencing an
+	// `AccessLevel` which does not exist is an error. All access levels
+	// listed must be granted for the Condition to be true. Example:
 	// "accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME"
 	RequiredAccessLevels []string `json:"requiredAccessLevels,omitempty"`
 
@@ -1276,10 +946,9 @@
 }
 
 // GoogleIdentityAccesscontextmanagerV1CustomLevel: `CustomLevel` is an
-// `AccessLevel` using the Cloud Common Expression Language
-// to represent the necessary conditions for the level to apply to a
-// request.
-// See CEL spec at: https://github.com/google/cel-spec
+// `AccessLevel` using the Cloud Common Expression Language to represent
+// the necessary conditions for the level to apply to a request. See CEL
+// spec at: https://github.com/google/cel-spec
 type GoogleIdentityAccesscontextmanagerV1CustomLevel struct {
 	// Expr: Required. A Cloud CEL expression evaluating to a boolean.
 	Expr *Expr `json:"expr,omitempty"`
@@ -1308,39 +977,30 @@
 }
 
 // GoogleIdentityAccesscontextmanagerV1DevicePolicy: `DevicePolicy`
-// specifies device specific restrictions necessary to acquire a
-// given access level. A `DevicePolicy` specifies requirements for
-// requests from
-// devices to be granted access levels, it does not do any enforcement
-// on the
-// device. `DevicePolicy` acts as an AND over all specified fields, and
-// each
-// repeated field is an OR over its elements. Any unset fields are
-// ignored. For
-// example, if the proto is { os_type : DESKTOP_WINDOWS, os_type
-// :
-// DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy
-// will be
-// true for requests originating from encrypted Linux desktops and
-// encrypted
-// Windows desktops.
+// specifies device specific restrictions necessary to acquire a given
+// access level. A `DevicePolicy` specifies requirements for requests
+// from devices to be granted access levels, it does not do any
+// enforcement on the device. `DevicePolicy` acts as an AND over all
+// specified fields, and each repeated field is an OR over its elements.
+// Any unset fields are ignored. For example, if the proto is { os_type
+// : DESKTOP_WINDOWS, os_type : DESKTOP_LINUX, encryption_status:
+// ENCRYPTED}, then the DevicePolicy will be true for requests
+// originating from encrypted Linux desktops and encrypted Windows
+// desktops.
 type GoogleIdentityAccesscontextmanagerV1DevicePolicy struct {
 	// AllowedDeviceManagementLevels: Allowed device management levels, an
-	// empty list allows all management
-	// levels.
+	// empty list allows all management levels.
 	//
 	// Possible values:
 	//   "MANAGEMENT_UNSPECIFIED" - The device's management level is not
 	// specified or not known.
 	//   "NONE" - The device is not managed.
 	//   "BASIC" - Basic management is enabled, which is generally limited
-	// to monitoring and
-	// wiping the corporate account.
+	// to monitoring and wiping the corporate account.
 	//   "COMPLETE" - Complete device management. This includes more
-	// thorough monitoring and the
-	// ability to directly manage the device (such as remote wiping). This
-	// can be
-	// enabled through the Android Enterprise Platform.
+	// thorough monitoring and the ability to directly manage the device
+	// (such as remote wiping). This can be enabled through the Android
+	// Enterprise Platform.
 	AllowedDeviceManagementLevels []string `json:"allowedDeviceManagementLevels,omitempty"`
 
 	// AllowedEncryptionStatuses: Allowed encryptions statuses, an empty
@@ -1367,8 +1027,7 @@
 	RequireCorpOwned bool `json:"requireCorpOwned,omitempty"`
 
 	// RequireScreenlock: Whether or not screenlock is required for the
-	// DevicePolicy to be true.
-	// Defaults to `false`.
+	// DevicePolicy to be true. Defaults to `false`.
 	RequireScreenlock bool `json:"requireScreenlock,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -1400,9 +1059,8 @@
 // the OS type and version of devices making requests.
 type GoogleIdentityAccesscontextmanagerV1OsConstraint struct {
 	// MinimumVersion: The minimum allowed OS version. If not set, any
-	// version of this OS
-	// satisfies the constraint. Format: "major.minor.patch".
-	// Examples: "10.5.301", "9.2.1".
+	// version of this OS satisfies the constraint. Format:
+	// "major.minor.patch". Examples: "10.5.301", "9.2.1".
 	MinimumVersion string `json:"minimumVersion,omitempty"`
 
 	// OsType: Required. The allowed OS type.
@@ -1419,12 +1077,9 @@
 	OsType string `json:"osType,omitempty"`
 
 	// RequireVerifiedChromeOs: Only allows requests from devices with a
-	// verified Chrome OS.
-	// Verifications includes requirements that the device is
-	// enterprise-managed,
-	// conformant to domain policies, and the caller has permission to
-	// call
-	// the API targeted by the request.
+	// verified Chrome OS. Verifications includes requirements that the
+	// device is enterprise-managed, conformant to domain policies, and the
+	// caller has permission to call the API targeted by the request.
 	RequireVerifiedChromeOs bool `json:"requireVerifiedChromeOs,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "MinimumVersion") to
@@ -1453,47 +1108,33 @@
 
 // GoogleIdentityAccesscontextmanagerV1ServicePerimeter:
 // `ServicePerimeter` describes a set of Google Cloud resources which
-// can freely
-// import and export data amongst themselves, but not export outside of
-// the
-// `ServicePerimeter`. If a request with a source within this
-// `ServicePerimeter`
-// has a target outside of the `ServicePerimeter`, the request will be
-// blocked.
-// Otherwise the request is allowed. There are two types of Service
-// Perimeter -
+// can freely import and export data amongst themselves, but not export
+// outside of the `ServicePerimeter`. If a request with a source within
+// this `ServicePerimeter` has a target outside of the
+// `ServicePerimeter`, the request will be blocked. Otherwise the
+// request is allowed. There are two types of Service Perimeter -
 // Regular and Bridge. Regular Service Perimeters cannot overlap, a
-// single
-// Google Cloud project can only belong to a single regular Service
-// Perimeter.
-// Service Perimeter Bridges can contain only Google Cloud projects as
-// members,
-// a single Google Cloud project may belong to multiple Service
-// Perimeter
-// Bridges.
+// single Google Cloud project can only belong to a single regular
+// Service Perimeter. Service Perimeter Bridges can contain only Google
+// Cloud projects as members, a single Google Cloud project may belong
+// to multiple Service Perimeter Bridges.
 type GoogleIdentityAccesscontextmanagerV1ServicePerimeter struct {
 	// Description: Description of the `ServicePerimeter` and its use. Does
-	// not affect
-	// behavior.
+	// not affect behavior.
 	Description string `json:"description,omitempty"`
 
-	// Name: Required. Resource name for the ServicePerimeter.  The
-	// `short_name`
-	// component must begin with a letter and only include alphanumeric and
-	// '_'.
-	// Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`
+	// Name: Required. Resource name for the ServicePerimeter. The
+	// `short_name` component must begin with a letter and only include
+	// alphanumeric and '_'. Format:
+	// `accessPolicies/{policy_id}/servicePerimeters/{short_name}`
 	Name string `json:"name,omitempty"`
 
-	// PerimeterType: Perimeter type indicator. A single project is
-	// allowed to be a member of single regular perimeter, but multiple
-	// service
+	// PerimeterType: Perimeter type indicator. A single project is allowed
+	// to be a member of single regular perimeter, but multiple service
 	// perimeter bridges. A project cannot be a included in a perimeter
-	// bridge
-	// without being included in regular perimeter. For perimeter
-	// bridges,
-	// the restricted service list as well as access level lists must
-	// be
-	// empty.
+	// bridge without being included in regular perimeter. For perimeter
+	// bridges, the restricted service list as well as access level lists
+	// must be empty.
 	//
 	// Possible values:
 	//   "PERIMETER_TYPE_REGULAR" - Regular Perimeter.
@@ -1501,43 +1142,30 @@
 	PerimeterType string `json:"perimeterType,omitempty"`
 
 	// Spec: Proposed (or dry run) ServicePerimeter configuration. This
-	// configuration
-	// allows to specify and test ServicePerimeter configuration without
-	// enforcing
-	// actual access restrictions. Only allowed to be set when
-	// the
-	// "use_explicit_dry_run_spec" flag is set.
+	// configuration allows to specify and test ServicePerimeter
+	// configuration without enforcing actual access restrictions. Only
+	// allowed to be set when the "use_explicit_dry_run_spec" flag is set.
 	Spec *GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig `json:"spec,omitempty"`
 
 	// Status: Current ServicePerimeter configuration. Specifies sets of
-	// resources,
-	// restricted services and access levels that determine
-	// perimeter
-	// content and boundaries.
+	// resources, restricted services and access levels that determine
+	// perimeter content and boundaries.
 	Status *GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig `json:"status,omitempty"`
 
 	// Title: Human readable title. Must be unique within the Policy.
 	Title string `json:"title,omitempty"`
 
 	// UseExplicitDryRunSpec: Use explicit dry run spec flag. Ordinarily, a
-	// dry-run spec implicitly
-	// exists  for all Service Perimeters, and that spec is identical to
-	// the
-	// status for those Service Perimeters. When this flag is set, it
-	// inhibits the
-	// generation of the implicit spec, thereby allowing the user to
-	// explicitly
-	// provide a configuration ("spec") to use in a dry-run version of the
-	// Service
-	// Perimeter. This allows the user to test changes to the enforced
-	// config
-	// ("status") without actually enforcing them. This testing is done
-	// through
-	// analyzing the differences between currently enforced and
-	// suggested
+	// dry-run spec implicitly exists for all Service Perimeters, and that
+	// spec is identical to the status for those Service Perimeters. When
+	// this flag is set, it inhibits the generation of the implicit spec,
+	// thereby allowing the user to explicitly provide a configuration
+	// ("spec") to use in a dry-run version of the Service Perimeter. This
+	// allows the user to test changes to the enforced config ("status")
+	// without actually enforcing them. This testing is done through
+	// analyzing the differences between currently enforced and suggested
 	// restrictions. use_explicit_dry_run_spec must bet set to True if any
-	// of the
-	// fields in the spec are set to non-default values.
+	// of the fields in the spec are set to non-default values.
 	UseExplicitDryRunSpec bool `json:"useExplicitDryRunSpec,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -1565,38 +1193,28 @@
 
 // GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig:
 // `ServicePerimeterConfig` specifies a set of Google Cloud resources
-// that
-// describe specific Service Perimeter configuration.
+// that describe specific Service Perimeter configuration.
 type GoogleIdentityAccesscontextmanagerV1ServicePerimeterConfig struct {
 	// AccessLevels: A list of `AccessLevel` resource names that allow
-	// resources within the
-	// `ServicePerimeter` to be accessed from the internet. `AccessLevels`
-	// listed
-	// must be in the same policy as this `ServicePerimeter`. Referencing
-	// a
-	// nonexistent `AccessLevel` is a syntax error. If no `AccessLevel`
-	// names are
-	// listed, resources within the perimeter can only be accessed via
-	// Google
-	// Cloud calls with request origins within the perimeter.
-	// Example:
-	// "accessPolicies/MY_POLICY/accessLevels/MY_LEVEL".
-	// For Service Perimeter Bridge, must be empty.
+	// resources within the `ServicePerimeter` to be accessed from the
+	// internet. `AccessLevels` listed must be in the same policy as this
+	// `ServicePerimeter`. Referencing a nonexistent `AccessLevel` is a
+	// syntax error. If no `AccessLevel` names are listed, resources within
+	// the perimeter can only be accessed via Google Cloud calls with
+	// request origins within the perimeter. Example:
+	// "accessPolicies/MY_POLICY/accessLevels/MY_LEVEL". For Service
+	// Perimeter Bridge, must be empty.
 	AccessLevels []string `json:"accessLevels,omitempty"`
 
 	// Resources: A list of Google Cloud resources that are inside of the
-	// service perimeter.
-	// Currently only projects are allowed. Format:
+	// service perimeter. Currently only projects are allowed. Format:
 	// `projects/{project_number}`
 	Resources []string `json:"resources,omitempty"`
 
 	// RestrictedServices: Google Cloud services that are subject to the
-	// Service Perimeter
-	// restrictions. For example, if `storage.googleapis.com` is specified,
-	// access
-	// to the storage buckets inside the perimeter must meet the
-	// perimeter's
-	// access restrictions.
+	// Service Perimeter restrictions. For example, if
+	// `storage.googleapis.com` is specified, access to the storage buckets
+	// inside the perimeter must meet the perimeter's access restrictions.
 	RestrictedServices []string `json:"restrictedServices,omitempty"`
 
 	// VpcAccessibleServices: Configuration for APIs allowed within
@@ -1627,22 +1245,17 @@
 }
 
 // GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices: Specifies
-// how APIs are allowed to communicate within the Service
-// Perimeter.
+// how APIs are allowed to communicate within the Service Perimeter.
 type GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices struct {
 	// AllowedServices: The list of APIs usable within the Service
-	// Perimeter. Must be empty
-	// unless 'enable_restriction' is True. You can specify a list of
-	// individual
-	// services, as well as include the 'RESTRICTED-SERVICES' value,
-	// which
-	// automatically includes all of the services protected by the
-	// perimeter.
+	// Perimeter. Must be empty unless 'enable_restriction' is True. You can
+	// specify a list of individual services, as well as include the
+	// 'RESTRICTED-SERVICES' value, which automatically includes all of the
+	// services protected by the perimeter.
 	AllowedServices []string `json:"allowedServices,omitempty"`
 
 	// EnableRestriction: Whether to restrict API calls within the Service
-	// Perimeter to the list of
-	// APIs specified in 'allowed_services'.
+	// Perimeter to the list of APIs specified in 'allowed_services'.
 	EnableRestriction bool `json:"enableRestriction,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AllowedServices") to
@@ -1675,8 +1288,7 @@
 	Assets []*Asset `json:"assets,omitempty"`
 
 	// NextPageToken: Token to retrieve the next page of results. Set to
-	// empty if there are no
-	// remaining results.
+	// empty if there are no remaining results.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// ReadTime: Time the snapshot was taken.
@@ -1710,154 +1322,77 @@
 }
 
 // Policy: An Identity and Access Management (IAM) policy, which
-// specifies access
-// controls for Google Cloud resources.
-//
-//
-// A `Policy` is a collection of `bindings`. A `binding` binds one or
-// more
-// `members` to a single `role`. Members can be user accounts, service
-// accounts,
+// specifies access controls for Google Cloud resources. A `Policy` is a
+// collection of `bindings`. A `binding` binds one or more `members` to
+// a single `role`. Members can be user accounts, service accounts,
 // Google groups, and domains (such as G Suite). A `role` is a named
-// list of
-// permissions; each `role` can be an IAM predefined role or a
-// user-created
-// custom role.
-//
-// For some types of Google Cloud resources, a `binding` can also
-// specify a
-// `condition`, which is a logical expression that allows access to a
-// resource
-// only if the expression evaluates to `true`. A condition can add
-// constraints
-// based on attributes of the request, the resource, or both. To learn
-// which
-// resources support conditions in their IAM policies, see the
-// [IAM
+// list of permissions; each `role` can be an IAM predefined role or a
+// user-created custom role. For some types of Google Cloud resources, a
+// `binding` can also specify a `condition`, which is a logical
+// expression that allows access to a resource only if the expression
+// evaluates to `true`. A condition can add constraints based on
+// attributes of the request, the resource, or both. To learn which
+// resources support conditions in their IAM policies, see the [IAM
 // documentation](https://cloud.google.com/iam/help/conditions/resource-p
-// olicies).
-//
-// **JSON example:**
-//
-//     {
-//       "bindings": [
-//         {
-//           "role": "roles/resourcemanager.organizationAdmin",
-//           "members": [
-//             "user:mike@example.com",
-//             "group:admins@example.com",
-//             "domain:google.com",
-//
-// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
-//           ]
-//         },
-//         {
-//           "role": "roles/resourcemanager.organizationViewer",
-//           "members": [
-//             "user:eve@example.com"
-//           ],
-//           "condition": {
-//             "title": "expirable access",
-//             "description": "Does not grant access after Sep 2020",
-//             "expression": "request.time <
-// timestamp('2020-10-01T00:00:00.000Z')",
-//           }
-//         }
-//       ],
-//       "etag": "BwWWja0YfJA=",
-//       "version": 3
-//     }
-//
-// **YAML example:**
-//
-//     bindings:
-//     - members:
-//       - user:mike@example.com
-//       - group:admins@example.com
-//       - domain:google.com
-//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
-//       role: roles/resourcemanager.organizationAdmin
-//     - members:
-//       - user:eve@example.com
-//       role: roles/resourcemanager.organizationViewer
-//       condition:
-//         title: expirable access
-//         description: Does not grant access after Sep 2020
-//         expression: request.time <
-// timestamp('2020-10-01T00:00:00.000Z')
-//     - etag: BwWWja0YfJA=
-//     - version: 3
-//
-// For a description of IAM and its features, see the
-// [IAM documentation](https://cloud.google.com/iam/docs/).
+// olicies). **JSON example:** { "bindings": [ { "role":
+// "roles/resourcemanager.organizationAdmin", "members": [
+// "user:mike@example.com", "group:admins@example.com",
+// "domain:google.com",
+// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
+// "role": "roles/resourcemanager.organizationViewer", "members": [
+// "user:eve@example.com" ], "condition": { "title": "expirable access",
+// "description": "Does not grant access after Sep 2020", "expression":
+// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
+// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
+// members: - user:mike@example.com - group:admins@example.com -
+// domain:google.com -
+// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
+// roles/resourcemanager.organizationAdmin - members: -
+// user:eve@example.com role: roles/resourcemanager.organizationViewer
+// condition: title: expirable access description: Does not grant access
+// after Sep 2020 expression: request.time <
+// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
+// 3 For a description of IAM and its features, see the [IAM
+// documentation](https://cloud.google.com/iam/docs/).
 type Policy struct {
 	// AuditConfigs: Specifies cloud audit logging configuration for this
 	// policy.
 	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
 
 	// Bindings: Associates a list of `members` to a `role`. Optionally, may
-	// specify a
-	// `condition` that determines how and when the `bindings` are applied.
-	// Each
-	// of the `bindings` must contain at least one member.
+	// specify a `condition` that determines how and when the `bindings` are
+	// applied. Each of the `bindings` must contain at least one member.
 	Bindings []*Binding `json:"bindings,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a policy from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform policy updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `getIamPolicy`,
-	// and
-	// systems are expected to put that etag in the request to
-	// `setIamPolicy` to
-	// ensure that their change will be applied to the same version of the
-	// policy.
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
+	// help prevent simultaneous updates of a policy from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform policy updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `getIamPolicy`, and systems are expected to put that etag in the
+	// request to `setIamPolicy` to ensure that their change will be applied
+	// to the same version of the policy. **Important:** If you use IAM
+	// Conditions, you must include the `etag` field whenever you call
+	// `setIamPolicy`. If you omit this field, then IAM allows you to
+	// overwrite a version `3` policy with a version `1` policy, and all of
 	// the conditions in the version `3` policy are lost.
 	Etag string `json:"etag,omitempty"`
 
-	// Version: Specifies the format of the policy.
-	//
-	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
-	// value
-	// are rejected.
-	//
+	// Version: Specifies the format of the policy. Valid values are `0`,
+	// `1`, and `3`. Requests that specify an invalid value are rejected.
 	// Any operation that affects conditional role bindings must specify
-	// version
-	// `3`. This requirement applies to the following operations:
-	//
-	// * Getting a policy that includes a conditional role binding
-	// * Adding a conditional role binding to a policy
-	// * Changing a conditional role binding in a policy
-	// * Removing any role binding, with or without a condition, from a
-	// policy
-	//   that includes conditions
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
-	// the conditions in the version `3` policy are lost.
-	//
-	// If a policy does not include any conditions, operations on that
-	// policy may
-	// specify any valid version or leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see the
-	// [IAM
+	// version `3`. This requirement applies to the following operations: *
+	// Getting a policy that includes a conditional role binding * Adding a
+	// conditional role binding to a policy * Changing a conditional role
+	// binding in a policy * Removing any role binding, with or without a
+	// condition, from a policy that includes conditions **Important:** If
+	// you use IAM Conditions, you must include the `etag` field whenever
+	// you call `setIamPolicy`. If you omit this field, then IAM allows you
+	// to overwrite a version `3` policy with a version `1` policy, and all
+	// of the conditions in the version `3` policy are lost. If a policy
+	// does not include any conditions, operations on that policy may
+	// specify any valid version or leave the field unset. To learn which
+	// resources support conditions in their IAM policies, see the [IAM
 	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
 	// olicies).
 	Version int64 `json:"version,omitempty"`
@@ -1888,59 +1423,37 @@
 // Resource: A representation of a Google Cloud resource.
 type Resource struct {
 	// Data: The content of the resource, in which some sensitive fields are
-	// removed
-	// and may not be present.
+	// removed and may not be present.
 	Data googleapi.RawMessage `json:"data,omitempty"`
 
 	// DiscoveryDocumentUri: The URL of the discovery document containing
-	// the resource's JSON
-	// schema.
-	// Example:
-	// `https://www.googleapis.com/discovery/v1/apis/compute
-	// /v1/rest`
-	//
-	// This value is unspecified for resources that do not have an API based
-	// on a
+	// the resource's JSON schema. Example:
+	// `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest` This
+	// value is unspecified for resources that do not have an API based on a
 	// discovery document, such as Cloud Bigtable.
 	DiscoveryDocumentUri string `json:"discoveryDocumentUri,omitempty"`
 
 	// DiscoveryName: The JSON schema name listed in the discovery document.
-	// Example:
-	// `Project`
-	//
-	// This value is unspecified for resources that do not have an API based
-	// on a
-	// discovery document, such as Cloud Bigtable.
+	// Example: `Project` This value is unspecified for resources that do
+	// not have an API based on a discovery document, such as Cloud
+	// Bigtable.
 	DiscoveryName string `json:"discoveryName,omitempty"`
 
-	// Parent: The full name of the immediate parent of this resource.
-	// See
+	// Parent: The full name of the immediate parent of this resource. See
 	// [Resource
-	// Names](https://cloud.google.com/apis/design/resource_nam
-	// es#full_resource_name)
-	// for more information.
-	//
-	// For Google Cloud assets, this value is the parent resource defined in
-	// the
-	// [Cloud IAM
-	// policy
-	// hierarchy](https://cloud.google.com/iam/docs/overview#policy_hi
-	// erarchy).
-	// Example:
-	// `//cloudresourcemanager.googleapis.com/projects/my_
-	// project_123`
-	//
-	// For third-party assets, this field may be set differently.
+	// Names](https://cloud.google.com/apis/design/resource_names#full_resour
+	// ce_name) for more information. For Google Cloud assets, this value is
+	// the parent resource defined in the [Cloud IAM policy
+	// hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy
+	// ). Example:
+	// `//cloudresourcemanager.googleapis.com/projects/my_project_123` For
+	// third-party assets, this field may be set differently.
 	Parent string `json:"parent,omitempty"`
 
 	// ResourceUrl: The REST URL for accessing the resource. An HTTP `GET`
-	// request using this
-	// URL returns the resource itself.
-	// Example:
-	// `https://cloudresourcemanager.googleapis.com/v1/projects/my-p
-	// roject-123`
-	//
-	// This value is unspecified for resources without a REST API.
+	// request using this URL returns the resource itself. Example:
+	// `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-12
+	// 3` This value is unspecified for resources without a REST API.
 	ResourceUrl string `json:"resourceUrl,omitempty"`
 
 	// Version: The API version. Example: "v1".
@@ -1981,8 +1494,7 @@
 }
 
 // List: Lists assets with time and resource types and returns paged
-// results in
-// response.
+// results in response.
 func (r *AssetsService) List(parent string) *AssetsListCall {
 	c := &AssetsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -1990,32 +1502,19 @@
 }
 
 // AssetTypes sets the optional parameter "assetTypes": A list of asset
-// types to take a snapshot for. For
-// example:
-// "compute.googleapis.com/Disk".
-//
-// Regular expression is also supported. For example:
-//
-// * "compute.googleapis.com.*" snapshots resources whose asset type
-// starts
-// with "compute.googleapis.com".
-// * ".*Instance" snapshots resources whose asset type ends with
-// "Instance".
-// * ".*Instance.*" snapshots resources whose asset type contains
-// "Instance".
-//
-// See [RE2](https://github.com/google/re2/wiki/Syntax) for all
-// supported
-// regular expression syntax. If the regular expression does not match
-// any
-// supported asset type, an INVALID_ARGUMENT error will be returned.
-//
-// If specified, only matching assets will be returned, otherwise, it
-// will
-// snapshot all asset types. See [Introduction to Cloud
-// Asset
-// Inventory](https://cloud.google.com/asset-inventory/docs/overvie
-// w)
+// types to take a snapshot for. For example:
+// "compute.googleapis.com/Disk". Regular expression is also supported.
+// For example: * "compute.googleapis.com.*" snapshots resources whose
+// asset type starts with "compute.googleapis.com". * ".*Instance"
+// snapshots resources whose asset type ends with "Instance". *
+// ".*Instance.*" snapshots resources whose asset type contains
+// "Instance". See [RE2](https://github.com/google/re2/wiki/Syntax) for
+// all supported regular expression syntax. If the regular expression
+// does not match any supported asset type, an INVALID_ARGUMENT error
+// will be returned. If specified, only matching assets will be
+// returned, otherwise, it will snapshot all asset types. See
+// [Introduction to Cloud Asset
+// Inventory](https://cloud.google.com/asset-inventory/docs/overview)
 // for all supported asset types.
 func (c *AssetsListCall) AssetTypes(assetTypes ...string) *AssetsListCall {
 	c.urlParams_.SetMulti("assetTypes", append([]string{}, assetTypes...))
@@ -2023,48 +1522,44 @@
 }
 
 // ContentType sets the optional parameter "contentType": Asset content
-// type. If not specified, no content but the asset name will
-// be returned.
+// type. If not specified, no content but the asset name will be
+// returned.
 //
 // Possible values:
-//   "CONTENT_TYPE_UNSPECIFIED"
-//   "RESOURCE"
-//   "IAM_POLICY"
-//   "ORG_POLICY"
-//   "ACCESS_POLICY"
+//   "CONTENT_TYPE_UNSPECIFIED" - Unspecified content type.
+//   "RESOURCE" - Resource metadata.
+//   "IAM_POLICY" - The actual IAM policy set on a resource.
+//   "ORG_POLICY" - The Cloud Organization Policy set on an asset.
+//   "ACCESS_POLICY" - The Cloud Access context mananger Policy set on
+// an asset.
 func (c *AssetsListCall) ContentType(contentType string) *AssetsListCall {
 	c.urlParams_.Set("contentType", contentType)
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
-// of assets to be returned in a single response. Default
-// is 100, minimum is 1, and maximum is 1000.
+// of assets to be returned in a single response. Default is 100,
+// minimum is 1, and maximum is 1000.
 func (c *AssetsListCall) PageSize(pageSize int64) *AssetsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": The
-// `next_page_token` returned from the previous `ListAssetsResponse`,
-// or
+// `next_page_token` returned from the previous `ListAssetsResponse`, or
 // unspecified for the first `ListAssetsRequest`. It is a continuation
-// of a
-// prior `ListAssets` call, and the API should return the next page of
-// assets.
+// of a prior `ListAssets` call, and the API should return the next page
+// of assets.
 func (c *AssetsListCall) PageToken(pageToken string) *AssetsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
 }
 
 // ReadTime sets the optional parameter "readTime": Timestamp to take an
-// asset snapshot. This can only be set to a timestamp
-// between the current time and the current time minus 35 days
-// (inclusive).
-// If not specified, the current time will be used. Due to delays in
-// resource
-// data collection and indexing, there is a volatile window during
-// which
+// asset snapshot. This can only be set to a timestamp between the
+// current time and the current time minus 35 days (inclusive). If not
+// specified, the current time will be used. Due to delays in resource
+// data collection and indexing, there is a volatile window during which
 // running the same query may get different results.
 func (c *AssetsListCall) ReadTime(readTime string) *AssetsListCall {
 	c.urlParams_.Set("readTime", readTime)
@@ -2108,7 +1603,7 @@
 
 func (c *AssetsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2170,7 +1665,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists assets with time and resource types and returns paged results in\nresponse.",
+	//   "description": "Lists assets with time and resource types and returns paged results in response.",
 	//   "flatPath": "v1p5beta1/{v1p5beta1Id}/{v1p5beta1Id1}/assets",
 	//   "httpMethod": "GET",
 	//   "id": "cloudasset.assets.list",
@@ -2179,13 +1674,13 @@
 	//   ],
 	//   "parameters": {
 	//     "assetTypes": {
-	//       "description": "A list of asset types to take a snapshot for. For example:\n\"compute.googleapis.com/Disk\".\n\nRegular expression is also supported. For example:\n\n* \"compute.googleapis.com.*\" snapshots resources whose asset type starts\nwith \"compute.googleapis.com\".\n* \".*Instance\" snapshots resources whose asset type ends with \"Instance\".\n* \".*Instance.*\" snapshots resources whose asset type contains \"Instance\".\n\nSee [RE2](https://github.com/google/re2/wiki/Syntax) for all supported\nregular expression syntax. If the regular expression does not match any\nsupported asset type, an INVALID_ARGUMENT error will be returned.\n\nIf specified, only matching assets will be returned, otherwise, it will\nsnapshot all asset types. See [Introduction to Cloud Asset\nInventory](https://cloud.google.com/asset-inventory/docs/overview)\nfor all supported asset types.",
+	//       "description": "A list of asset types to take a snapshot for. For example: \"compute.googleapis.com/Disk\". Regular expression is also supported. For example: * \"compute.googleapis.com.*\" snapshots resources whose asset type starts with \"compute.googleapis.com\". * \".*Instance\" snapshots resources whose asset type ends with \"Instance\". * \".*Instance.*\" snapshots resources whose asset type contains \"Instance\". See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported regular expression syntax. If the regular expression does not match any supported asset type, an INVALID_ARGUMENT error will be returned. If specified, only matching assets will be returned, otherwise, it will snapshot all asset types. See [Introduction to Cloud Asset Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all supported asset types.",
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
 	//     },
 	//     "contentType": {
-	//       "description": "Asset content type. If not specified, no content but the asset name will\nbe returned.",
+	//       "description": "Asset content type. If not specified, no content but the asset name will be returned.",
 	//       "enum": [
 	//         "CONTENT_TYPE_UNSPECIFIED",
 	//         "RESOURCE",
@@ -2193,29 +1688,36 @@
 	//         "ORG_POLICY",
 	//         "ACCESS_POLICY"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Unspecified content type.",
+	//         "Resource metadata.",
+	//         "The actual IAM policy set on a resource.",
+	//         "The Cloud Organization Policy set on an asset.",
+	//         "The Cloud Access context mananger Policy set on an asset."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "The maximum number of assets to be returned in a single response. Default\nis 100, minimum is 1, and maximum is 1000.",
+	//       "description": "The maximum number of assets to be returned in a single response. Default is 100, minimum is 1, and maximum is 1000.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "The `next_page_token` returned from the previous `ListAssetsResponse`, or\nunspecified for the first `ListAssetsRequest`. It is a continuation of a\nprior `ListAssets` call, and the API should return the next page of assets.",
+	//       "description": "The `next_page_token` returned from the previous `ListAssetsResponse`, or unspecified for the first `ListAssetsRequest`. It is a continuation of a prior `ListAssets` call, and the API should return the next page of assets.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. Name of the organization or project the assets belong to. Format:\n\"organizations/[organization-number]\" (such as \"organizations/123\"),\n\"projects/[project-number]\" (such as \"projects/my-project-id\"), or\n\"projects/[project-id]\" (such as \"projects/12345\").",
+	//       "description": "Required. Name of the organization or project the assets belong to. Format: \"organizations/[organization-number]\" (such as \"organizations/123\"), \"projects/[project-number]\" (such as \"projects/my-project-id\"), or \"projects/[project-id]\" (such as \"projects/12345\").",
 	//       "location": "path",
 	//       "pattern": "^[^/]+/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "readTime": {
-	//       "description": "Timestamp to take an asset snapshot. This can only be set to a timestamp\nbetween the current time and the current time minus 35 days (inclusive).\nIf not specified, the current time will be used. Due to delays in resource\ndata collection and indexing, there is a volatile window during which\nrunning the same query may get different results.",
+	//       "description": "Timestamp to take an asset snapshot. This can only be set to a timestamp between the current time and the current time minus 35 days (inclusive). If not specified, the current time will be used. Due to delays in resource data collection and indexing, there is a volatile window during which running the same query may get different results.",
 	//       "format": "google-datetime",
 	//       "location": "query",
 	//       "type": "string"
diff --git a/cloudbilling/v1/cloudbilling-gen.go b/cloudbilling/v1/cloudbilling-gen.go
index e522595..dbdc317 100644
--- a/cloudbilling/v1/cloudbilling-gen.go
+++ b/cloudbilling/v1/cloudbilling-gen.go
@@ -1697,7 +1697,7 @@
 
 func (c *BillingAccountsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1838,7 +1838,7 @@
 
 func (c *BillingAccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2014,7 +2014,7 @@
 
 func (c *BillingAccountsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2202,7 +2202,7 @@
 
 func (c *BillingAccountsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2378,7 +2378,7 @@
 
 func (c *BillingAccountsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2532,7 +2532,7 @@
 
 func (c *BillingAccountsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2676,7 +2676,7 @@
 
 func (c *BillingAccountsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2851,7 +2851,7 @@
 
 func (c *BillingAccountsProjectsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3033,7 +3033,7 @@
 
 func (c *ProjectsGetBillingInfoCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3223,7 +3223,7 @@
 
 func (c *ProjectsUpdateBillingInfoCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3387,7 +3387,7 @@
 
 func (c *ServicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3609,7 +3609,7 @@
 
 func (c *ServicesSkusListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/cloudbuild/v1/cloudbuild-gen.go b/cloudbuild/v1/cloudbuild-gen.go
index 94b9890..ba23632 100644
--- a/cloudbuild/v1/cloudbuild-gen.go
+++ b/cloudbuild/v1/cloudbuild-gen.go
@@ -1992,7 +1992,7 @@
 
 func (c *OperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2143,7 +2143,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2280,7 +2280,7 @@
 
 func (c *ProjectsBuildsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2430,7 +2430,7 @@
 
 func (c *ProjectsBuildsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2582,7 +2582,7 @@
 
 func (c *ProjectsBuildsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2756,7 +2756,7 @@
 
 func (c *ProjectsBuildsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2946,7 +2946,7 @@
 
 func (c *ProjectsBuildsRetryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3102,7 +3102,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3253,7 +3253,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3388,7 +3388,7 @@
 
 func (c *ProjectsTriggersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3528,7 +3528,7 @@
 
 func (c *ProjectsTriggersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3679,7 +3679,7 @@
 
 func (c *ProjectsTriggersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3844,7 +3844,7 @@
 
 func (c *ProjectsTriggersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4013,7 +4013,7 @@
 
 func (c *ProjectsTriggersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4162,7 +4162,7 @@
 
 func (c *ProjectsTriggersRunCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/cloudbuild/v1alpha1/cloudbuild-gen.go b/cloudbuild/v1alpha1/cloudbuild-gen.go
index c4e281b..69aafd4 100644
--- a/cloudbuild/v1alpha1/cloudbuild-gen.go
+++ b/cloudbuild/v1alpha1/cloudbuild-gen.go
@@ -1875,7 +1875,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2026,7 +2026,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2162,7 +2162,7 @@
 
 func (c *ProjectsWorkerPoolsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2300,7 +2300,7 @@
 
 func (c *ProjectsWorkerPoolsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2441,7 +2441,7 @@
 
 func (c *ProjectsWorkerPoolsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2585,7 +2585,7 @@
 
 func (c *ProjectsWorkerPoolsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2720,7 +2720,7 @@
 
 func (c *ProjectsWorkerPoolsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/cloudbuild/v1alpha2/cloudbuild-gen.go b/cloudbuild/v1alpha2/cloudbuild-gen.go
index 733b28c..e759b78 100644
--- a/cloudbuild/v1alpha2/cloudbuild-gen.go
+++ b/cloudbuild/v1alpha2/cloudbuild-gen.go
@@ -1833,7 +1833,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1984,7 +1984,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2129,7 +2129,7 @@
 
 func (c *ProjectsWorkerPoolsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2272,7 +2272,7 @@
 
 func (c *ProjectsWorkerPoolsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2413,7 +2413,7 @@
 
 func (c *ProjectsWorkerPoolsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2557,7 +2557,7 @@
 
 func (c *ProjectsWorkerPoolsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2699,7 +2699,7 @@
 
 func (c *ProjectsWorkerPoolsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/clouddebugger/v2/clouddebugger-api.json b/clouddebugger/v2/clouddebugger-api.json
index ca5e8d6..63e048c 100644
--- a/clouddebugger/v2/clouddebugger-api.json
+++ b/clouddebugger/v2/clouddebugger-api.json
@@ -15,7 +15,7 @@
   "baseUrl": "https://clouddebugger.googleapis.com/",
   "batchPath": "batch",
   "canonicalName": "Cloud Debugger",
-  "description": "Examines the call stack and variables of a running application without stopping or slowing it down.\n",
+  "description": "Examines the call stack and variables of a running application without stopping or slowing it down. ",
   "discoveryVersion": "v1",
   "documentationLink": "https://cloud.google.com/debugger",
   "fullyEncodeReservedExpansion": true,
@@ -113,7 +113,7 @@
         "debuggees": {
           "methods": {
             "register": {
-              "description": "Registers the debuggee with the controller service.\n\nAll agents attached to the same application must call this method with\nexactly the same request content to get back the same stable `debuggee_id`.\nAgents should call this method again whenever `google.rpc.Code.NOT_FOUND`\nis returned from any controller method.\n\nThis protocol allows the controller service to disable debuggees, recover\nfrom data loss, or change the `debuggee_id` format. Agents must handle\n`debuggee_id` value changing upon re-registration.",
+              "description": "Registers the debuggee with the controller service. 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 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.",
               "flatPath": "v2/controller/debuggees/register",
               "httpMethod": "POST",
               "id": "clouddebugger.controller.debuggees.register",
@@ -136,7 +136,7 @@
             "breakpoints": {
               "methods": {
                 "list": {
-                  "description": "Returns the list of all active breakpoints for the debuggee.\n\nThe breakpoint specification (`location`, `condition`, and `expressions`\nfields) is semantically immutable, although the field values may\nchange. For example, an agent may update the location line number\nto reflect the actual line where the breakpoint was set, but this\ndoesn't change the breakpoint semantics.\n\nThis means that an agent does not need to check if a breakpoint has changed\nwhen it encounters the same breakpoint on a successive call.\nMoreover, an agent should remember the breakpoints that are completed\nuntil the controller removes them from the active list to avoid\nsetting those breakpoints again.",
+                  "description": "Returns the list of all active breakpoints for the debuggee. The breakpoint specification (`location`, `condition`, and `expressions` fields) is semantically immutable, although the field values may change. For example, an agent may update the location line number to reflect the actual line where the breakpoint was set, but this doesn't change the breakpoint semantics. This means that an agent does not need to check if a breakpoint has changed when it encounters the same breakpoint on a successive call. Moreover, an agent should remember the breakpoints that are completed until the controller removes them from the active list to avoid setting those breakpoints again.",
                   "flatPath": "v2/controller/debuggees/{debuggeeId}/breakpoints",
                   "httpMethod": "GET",
                   "id": "clouddebugger.controller.debuggees.breakpoints.list",
@@ -145,7 +145,7 @@
                   ],
                   "parameters": {
                     "agentId": {
-                      "description": "Identifies the agent.\nThis is the ID returned in the RegisterDebuggee response.",
+                      "description": "Identifies the agent. This is the ID returned in the RegisterDebuggee response.",
                       "location": "query",
                       "type": "string"
                     },
@@ -156,12 +156,12 @@
                       "type": "string"
                     },
                     "successOnTimeout": {
-                      "description": "If set to `true` (recommended), returns `google.rpc.Code.OK` status and\nsets the `wait_expired` response field to `true` when the server-selected\ntimeout has expired.\n\nIf set to `false` (deprecated), returns `google.rpc.Code.ABORTED` status\nwhen the server-selected timeout has expired.",
+                      "description": "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` (deprecated), returns `google.rpc.Code.ABORTED` status when the server-selected timeout has expired.",
                       "location": "query",
                       "type": "boolean"
                     },
                     "waitToken": {
-                      "description": "A token that, if specified, blocks the method call until the list\nof active breakpoints has changed, or a server-selected timeout has\nexpired. The value should be set from the `next_wait_token` field in\nthe last response. The initial value should be set to `\"init\"`.",
+                      "description": "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\"`.",
                       "location": "query",
                       "type": "string"
                     }
@@ -176,7 +176,7 @@
                   ]
                 },
                 "update": {
-                  "description": "Updates the breakpoint state or mutable fields.\nThe entire Breakpoint message must be sent back to the controller service.\n\nUpdates to active breakpoint fields are only allowed if the new value\ndoes not change the breakpoint specification. Updates to the `location`,\n`condition` and `expressions` fields should not alter the breakpoint\nsemantics. These may only make changes such as canonicalizing a value\nor snapping the location to the correct line of code.",
+                  "description": "Updates the breakpoint state or mutable fields. 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`, `condition` and `expressions` fields should not alter the breakpoint semantics. These may only make changes such as canonicalizing a value or snapping the location to the correct line of code.",
                   "flatPath": "v2/controller/debuggees/{debuggeeId}/breakpoints/{id}",
                   "httpMethod": "PUT",
                   "id": "clouddebugger.controller.debuggees.breakpoints.update",
@@ -228,12 +228,12 @@
               "parameterOrder": [],
               "parameters": {
                 "clientVersion": {
-                  "description": "Required. The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
+                  "description": "Required. The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
                   "location": "query",
                   "type": "string"
                 },
                 "includeInactive": {
-                  "description": "When set to `true`, the result includes all debuggees. Otherwise, the\nresult includes only debuggees that are active.",
+                  "description": "When set to `true`, the result includes all debuggees. Otherwise, the result includes only debuggees that are active.",
                   "location": "query",
                   "type": "boolean"
                 },
@@ -273,7 +273,7 @@
                       "type": "string"
                     },
                     "clientVersion": {
-                      "description": "Required. The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
+                      "description": "Required. The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
                       "location": "query",
                       "type": "string"
                     },
@@ -310,7 +310,7 @@
                       "type": "string"
                     },
                     "clientVersion": {
-                      "description": "Required. The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
+                      "description": "Required. The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
                       "location": "query",
                       "type": "string"
                     },
@@ -345,11 +345,15 @@
                         "CAPTURE",
                         "LOG"
                       ],
+                      "enumDescriptions": [
+                        "Capture stack frame and variables and update the breakpoint. The data is only captured once. After that the breakpoint is set in a final state.",
+                        "Log each breakpoint hit. The breakpoint remains active until deleted or expired."
+                      ],
                       "location": "query",
                       "type": "string"
                     },
                     "clientVersion": {
-                      "description": "Required. The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
+                      "description": "Required. The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
                       "location": "query",
                       "type": "string"
                     },
@@ -360,22 +364,22 @@
                       "type": "string"
                     },
                     "includeAllUsers": {
-                      "description": "When set to `true`, the response includes the list of breakpoints set by\nany user. Otherwise, it includes only breakpoints set by the caller.",
+                      "description": "When set to `true`, the response includes the list of breakpoints set by any user. Otherwise, it includes only breakpoints set by the caller.",
                       "location": "query",
                       "type": "boolean"
                     },
                     "includeInactive": {
-                      "description": "When set to `true`, the response includes active and inactive\nbreakpoints. Otherwise, it includes only active breakpoints.",
+                      "description": "When set to `true`, the response includes active and inactive breakpoints. Otherwise, it includes only active breakpoints.",
                       "location": "query",
                       "type": "boolean"
                     },
                     "stripResults": {
-                      "description": "This field is deprecated. The following fields are always stripped out of\nthe result: `stack_frames`, `evaluated_expressions` and `variable_table`.",
+                      "description": "This field is deprecated. The following fields are always stripped out of the result: `stack_frames`, `evaluated_expressions` and `variable_table`.",
                       "location": "query",
                       "type": "boolean"
                     },
                     "waitToken": {
-                      "description": "A wait token that, if specified, blocks the call until the breakpoints\nlist has changed, or a server selected timeout has expired.  The value\nshould be set from the last response. The error code\n`google.rpc.Code.ABORTED` (RPC) is returned on wait timeout, which\nshould be called again with the same `wait_token`.",
+                      "description": "A wait token that, if specified, blocks the call until the breakpoints list has changed, or a server selected timeout has expired. The value should be set from the last response. The error code `google.rpc.Code.ABORTED` (RPC) is returned on wait timeout, which should be called again with the same `wait_token`.",
                       "location": "query",
                       "type": "string"
                     }
@@ -405,11 +409,16 @@
                         "CANARY_OPTION_TRY_ENABLE",
                         "CANARY_OPTION_TRY_DISABLE"
                       ],
+                      "enumDescriptions": [
+                        "Depends on the canary_mode of the debuggee.",
+                        "Enable the canary for this breakpoint if the canary_mode of the debuggee is not CANARY_MODE_ALWAYS_ENABLED or CANARY_MODE_ALWAYS_DISABLED.",
+                        "Disable the canary for this breakpoint if the canary_mode of the debuggee is not CANARY_MODE_ALWAYS_ENABLED or CANARY_MODE_ALWAYS_DISABLED."
+                      ],
                       "location": "query",
                       "type": "string"
                     },
                     "clientVersion": {
-                      "description": "Required. The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
+                      "description": "Required. The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
                       "location": "query",
                       "type": "string"
                     },
@@ -439,7 +448,7 @@
       }
     }
   },
-  "revision": "20200501",
+  "revision": "20200807",
   "rootUrl": "https://clouddebugger.googleapis.com/",
   "schemas": {
     "AliasContext": {
@@ -458,7 +467,7 @@
             "Do not use.",
             "Git tag",
             "Git branch",
-            "OTHER is used to specify non-standard aliases, those not of the kinds\nabove. For example, if a Git repo has a ref named \"refs/foo/bar\", it\nis considered to be of kind OTHER."
+            "OTHER is used to specify non-standard aliases, those not of the kinds above. For example, if a Git repo has a ref named \"refs/foo/bar\", it is considered to be of kind OTHER."
           ],
           "type": "string"
         },
@@ -470,28 +479,28 @@
       "type": "object"
     },
     "Breakpoint": {
-      "description": "------------------------------------------------------------------------------\n## Breakpoint (the resource)\n\nRepresents the breakpoint specification, status and results.",
+      "description": "------------------------------------------------------------------------------ ## Breakpoint (the resource) Represents the breakpoint specification, status and results.",
       "id": "Breakpoint",
       "properties": {
         "action": {
-          "description": "Action that the agent should perform when the code at the\nbreakpoint location is hit.",
+          "description": "Action that the agent should perform when the code at the breakpoint location is hit.",
           "enum": [
             "CAPTURE",
             "LOG"
           ],
           "enumDescriptions": [
-            "Capture stack frame and variables and update the breakpoint.\nThe data is only captured once. After that the breakpoint is set\nin a final state.",
-            "Log each breakpoint hit. The breakpoint remains active until\ndeleted or expired."
+            "Capture stack frame and variables and update the breakpoint. The data is only captured once. After that the breakpoint is set in a final state.",
+            "Log each breakpoint hit. The breakpoint remains active until deleted or expired."
           ],
           "type": "string"
         },
         "canaryExpireTime": {
-          "description": "The deadline for the breakpoint to stay in CANARY_ACTIVE state. The value\nis meaningless when the breakpoint is not in CANARY_ACTIVE state.",
+          "description": "The deadline for the breakpoint to stay in CANARY_ACTIVE state. The value is meaningless when the breakpoint is not in CANARY_ACTIVE state.",
           "format": "google-datetime",
           "type": "string"
         },
         "condition": {
-          "description": "Condition that triggers the breakpoint.\nThe condition is a compound boolean expression composed using expressions\nin a programming language at the source location.",
+          "description": "Condition that triggers the breakpoint. The condition is a compound boolean expression composed using expressions in a programming language at the source location.",
           "type": "string"
         },
         "createTime": {
@@ -500,21 +509,21 @@
           "type": "string"
         },
         "evaluatedExpressions": {
-          "description": "Values of evaluated expressions at breakpoint time.\nThe evaluated expressions appear in exactly the same order they\nare listed in the `expressions` field.\nThe `name` field holds the original expression text, the `value` or\n`members` field holds the result of the evaluated expression.\nIf the expression cannot be evaluated, the `status` inside the `Variable`\nwill indicate an error and contain the error text.",
+          "description": "Values of evaluated expressions at breakpoint time. The evaluated expressions appear in exactly the same order they are listed in the `expressions` field. The `name` field holds the original expression text, the `value` or `members` field holds the result of the evaluated expression. If the expression cannot be evaluated, the `status` inside the `Variable` will indicate an error and contain the error text.",
           "items": {
             "$ref": "Variable"
           },
           "type": "array"
         },
         "expressions": {
-          "description": "List of read-only expressions to evaluate at the breakpoint location.\nThe expressions are composed using expressions in the programming language\nat the source location. If the breakpoint action is `LOG`, the evaluated\nexpressions are included in log statements.",
+          "description": "List of read-only expressions to evaluate at the breakpoint location. The expressions are composed using expressions in the programming language at the source location. If the breakpoint action is `LOG`, the evaluated expressions are included in log statements.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "finalTime": {
-          "description": "Time this breakpoint was finalized as seen by the server in seconds\nresolution.",
+          "description": "Time this breakpoint was finalized as seen by the server in seconds resolution.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -523,14 +532,14 @@
           "type": "string"
         },
         "isFinalState": {
-          "description": "When true, indicates that this is a final result and the\nbreakpoint state will not change from here on.",
+          "description": "When true, indicates that this is a final result and the breakpoint state will not change from here on.",
           "type": "boolean"
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "A set of custom breakpoint properties, populated by the agent, to be\ndisplayed to the user.",
+          "description": "A set of custom breakpoint properties, populated by the agent, to be displayed to the user.",
           "type": "object"
         },
         "location": {
@@ -552,11 +561,11 @@
           "type": "string"
         },
         "logMessageFormat": {
-          "description": "Only relevant when action is `LOG`. Defines the message to log when\nthe breakpoint hits. The message may include parameter placeholders `$0`,\n`$1`, etc. These placeholders are replaced with the evaluated value\nof the appropriate expression. Expressions not referenced in\n`log_message_format` are not logged.\n\nExample: `Message received, id = $0, count = $1` with\n`expressions` = `[ message.id, message.count ]`.",
+          "description": "Only relevant when action is `LOG`. Defines the message to log when the breakpoint hits. The message may include parameter placeholders `$0`, `$1`, etc. These placeholders are replaced with the evaluated value of the appropriate expression. Expressions not referenced in `log_message_format` are not logged. Example: `Message received, id = $0, count = $1` with `expressions` = `[ message.id, message.count ]`.",
           "type": "string"
         },
         "stackFrames": {
-          "description": "The stack at breakpoint time, where stack_frames[0] represents the most\nrecently entered function.",
+          "description": "The stack at breakpoint time, where stack_frames[0] represents the most recently entered function.",
           "items": {
             "$ref": "StackFrame"
           },
@@ -582,14 +591,14 @@
         },
         "status": {
           "$ref": "StatusMessage",
-          "description": "Breakpoint status.\n\nThe status includes an error flag and a human readable message.\nThis field is usually unset. The message can be either\ninformational or an error message. Regardless, clients should always\ndisplay the text message back to the user.\n\nError status indicates complete failure of the breakpoint.\n\nExample (non-final state): `Still loading symbols...`\n\nExamples (final state):\n\n*   `Invalid line number` referring to location\n*   `Field f not found in class C` referring to condition"
+          "description": "Breakpoint status. The status includes an error flag and a human readable message. This field is usually unset. The message can be either informational or an error message. Regardless, clients should always display the text message back to the user. Error status indicates complete failure of the breakpoint. Example (non-final state): `Still loading symbols...` Examples (final state): * `Invalid line number` referring to location * `Field f not found in class C` referring to condition"
         },
         "userEmail": {
           "description": "E-mail address of the user that created this breakpoint",
           "type": "string"
         },
         "variableTable": {
-          "description": "The `variable_table` exists to aid with computation, memory and network\ntraffic optimization.  It enables storing a variable once and reference\nit from multiple variables, including variables stored in the\n`variable_table` itself.\nFor example, the same `this` object, which may appear at many levels of\nthe stack, can have all of its data stored once in this table.  The\nstack frame variables then would hold only a reference to it.\n\nThe variable `var_table_index` field is an index into this repeated field.\nThe stored objects are nameless and get their name from the referencing\nvariable. The effective variable is a merge of the referencing variable\nand the referenced variable.",
+          "description": "The `variable_table` exists to aid with computation, memory and network traffic optimization. It enables storing a variable once and reference it from multiple variables, including variables stored in the `variable_table` itself. For example, the same `this` object, which may appear at many levels of the stack, can have all of its data stored once in this table. The stack frame variables then would hold only a reference to it. The variable `var_table_index` field is an index into this repeated field. The stored objects are nameless and get their name from the referencing variable. The effective variable is a merge of the referencing variable and the referenced variable.",
           "items": {
             "$ref": "Variable"
           },
@@ -599,7 +608,7 @@
       "type": "object"
     },
     "CloudRepoSourceContext": {
-      "description": "A CloudRepoSourceContext denotes a particular revision in a cloud\nrepo (a repo hosted by the Google Cloud Platform).",
+      "description": "A CloudRepoSourceContext denotes a particular revision in a cloud repo (a repo hosted by the Google Cloud Platform).",
       "id": "CloudRepoSourceContext",
       "properties": {
         "aliasContext": {
@@ -622,11 +631,11 @@
       "type": "object"
     },
     "CloudWorkspaceId": {
-      "description": "A CloudWorkspaceId is a unique identifier for a cloud workspace.\nA cloud workspace is a place associated with a repo where modified files\ncan be stored before they are committed.",
+      "description": "A CloudWorkspaceId is a unique identifier for a cloud workspace. A cloud workspace is a place associated with a repo where modified files can be stored before they are committed.",
       "id": "CloudWorkspaceId",
       "properties": {
         "name": {
-          "description": "The unique name of the workspace within the repo.  This is the name\nchosen by the client in the Source API's CreateWorkspace method.",
+          "description": "The unique name of the workspace within the repo. This is the name chosen by the client in the Source API's CreateWorkspace method.",
           "type": "string"
         },
         "repoId": {
@@ -641,7 +650,7 @@
       "id": "CloudWorkspaceSourceContext",
       "properties": {
         "snapshotId": {
-          "description": "The ID of the snapshot.\nAn empty snapshot_id refers to the most recent snapshot.",
+          "description": "The ID of the snapshot. An empty snapshot_id refers to the most recent snapshot.",
           "type": "string"
         },
         "workspaceId": {
@@ -652,11 +661,11 @@
       "type": "object"
     },
     "Debuggee": {
-      "description": "Represents the debugged application. The application may include one or more\nreplicated processes executing the same code. Each of these processes is\nattached with a debugger agent, carrying out the debugging commands.\nAgents attached to the same debuggee identify themselves as such by using\nexactly the same Debuggee message value when registering.",
+      "description": "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. Agents attached to the same debuggee identify themselves as such by using exactly the same Debuggee message value when registering.",
       "id": "Debuggee",
       "properties": {
         "agentVersion": {
-          "description": "Version ID of the agent.\nSchema: `domain/language-platform/vmajor.minor` (for example\n`google.com/java-gcp/v1.1`).",
+          "description": "Version ID of the agent. Schema: `domain/language-platform/vmajor.minor` (for example `google.com/java-gcp/v1.1`).",
           "type": "string"
         },
         "canaryMode": {
@@ -669,20 +678,20 @@
             "CANARY_MODE_DEFAULT_DISABLED"
           ],
           "enumDescriptions": [
-            "CANARY_MODE_UNSPECIFIED is equivalent to CANARY_MODE_ALWAYS_DISABLED so\nthat if the debuggee is not configured to use the canary feature, the\nfeature will be disabled.",
-            "Always enable breakpoint canary regardless of the value of breakpoint's\ncanary option.",
-            "Always disable breakpoint canary regardless of the value of breakpoint's\ncanary option.",
-            "Depends on the breakpoint's canary option. Enable canary by default if\nthe breakpoint's canary option is not specified.",
-            "Depends on the breakpoint's canary option. Disable canary by default if\nthe breakpoint's canary option is not specified."
+            "CANARY_MODE_UNSPECIFIED is equivalent to CANARY_MODE_ALWAYS_DISABLED so that if the debuggee is not configured to use the canary feature, the feature will be disabled.",
+            "Always enable breakpoint canary regardless of the value of breakpoint's canary option.",
+            "Always disable breakpoint canary regardless of the value of breakpoint's canary option.",
+            "Depends on the breakpoint's canary option. Enable canary by default if the breakpoint's canary option is not specified.",
+            "Depends on the breakpoint's canary option. Disable canary by default if the breakpoint's canary option is not specified."
           ],
           "type": "string"
         },
         "description": {
-          "description": "Human readable description of the debuggee.\nIncluding a human-readable project name, environment name and version\ninformation is recommended.",
+          "description": "Human readable description of the debuggee. Including a human-readable project name, environment name and version information is recommended.",
           "type": "string"
         },
         "extSourceContexts": {
-          "description": "References to the locations and revisions of the source code used in the\ndeployed application.",
+          "description": "References to the locations and revisions of the source code used in the deployed application.",
           "items": {
             "$ref": "ExtendedSourceContext"
           },
@@ -693,26 +702,26 @@
           "type": "string"
         },
         "isDisabled": {
-          "description": "If set to `true`, indicates that the agent should disable itself and\ndetach from the debuggee.",
+          "description": "If set to `true`, indicates that the agent should disable itself and detach from the debuggee.",
           "type": "boolean"
         },
         "isInactive": {
-          "description": "If set to `true`, indicates that Controller service does not detect any\nactivity from the debuggee agents and the application is possibly stopped.",
+          "description": "If set to `true`, indicates that Controller service does not detect any activity from the debuggee agents and the application is possibly stopped.",
           "type": "boolean"
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "A set of custom debuggee properties, populated by the agent, to be\ndisplayed to the user.",
+          "description": "A set of custom debuggee properties, populated by the agent, to be displayed to the user.",
           "type": "object"
         },
         "project": {
-          "description": "Project the debuggee is associated with.\nUse project number or id when registering a Google Cloud Platform project.",
+          "description": "Project the debuggee is associated with. Use project number or id when registering a Google Cloud Platform project.",
           "type": "string"
         },
         "sourceContexts": {
-          "description": "References to the locations and revisions of the source code used in the\ndeployed application.",
+          "description": "References to the locations and revisions of the source code used in the deployed application.",
           "items": {
             "$ref": "SourceContext"
           },
@@ -720,23 +729,23 @@
         },
         "status": {
           "$ref": "StatusMessage",
-          "description": "Human readable message to be displayed to the user about this debuggee.\nAbsence of this field indicates no status. The message can be either\ninformational or an error status."
+          "description": "Human readable message to be displayed to the user about this debuggee. Absence of this field indicates no status. The message can be either informational or an error status."
         },
         "uniquifier": {
-          "description": "Uniquifier to further distinguish the application.\nIt is possible that different applications might have identical values in\nthe debuggee message, thus, incorrectly identified as a single application\nby the Controller service. This field adds salt to further distinguish the\napplication. Agents should consider seeding this field with value that\nidentifies the code, binary, configuration and environment.",
+          "description": "Uniquifier to further distinguish 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 distinguish the application. Agents should consider seeding this field with value that identifies the code, binary, configuration and environment.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
     },
     "ExtendedSourceContext": {
-      "description": "An ExtendedSourceContext is a SourceContext combined with additional\ndetails describing the context.",
+      "description": "An ExtendedSourceContext is a SourceContext combined with additional details describing the context.",
       "id": "ExtendedSourceContext",
       "properties": {
         "context": {
@@ -758,7 +767,7 @@
       "id": "FormatMessage",
       "properties": {
         "format": {
-          "description": "Format template for the message. The `format` uses placeholders `$0`,\n`$1`, etc. to reference parameters. `$$` can be used to denote the `$`\ncharacter.\n\nExamples:\n\n*   `Failed to load '$0' which helps debug $1 the first time it\n    is loaded.  Again, $0 is very important.`\n*   `Please pay $$10 to use $0 instead of $1.`",
+          "description": "Format template for the message. The `format` uses placeholders `$0`, `$1`, etc. to reference parameters. `$$` can be used to denote the `$` character. Examples: * `Failed to load '$0' which helps debug $1 the first time it is loaded. Again, $0 is very important.` * `Please pay $$10 to use $0 instead of $1.`",
           "type": "string"
         },
         "parameters": {
@@ -784,7 +793,7 @@
           "type": "string"
         },
         "gerritProject": {
-          "description": "The full project name within the host. Projects may be nested, so\n\"project/subproject\" is a valid project name.\nThe \"repo name\" is hostURI/project.",
+          "description": "The full project name within the host. Projects may be nested, so \"project/subproject\" is a valid project name. The \"repo name\" is hostURI/project.",
           "type": "string"
         },
         "hostUri": {
@@ -804,17 +813,17 @@
       "properties": {
         "breakpoint": {
           "$ref": "Breakpoint",
-          "description": "Complete breakpoint state.\nThe fields `id` and `location` are guaranteed to be set."
+          "description": "Complete breakpoint state. The fields `id` and `location` are guaranteed to be set."
         }
       },
       "type": "object"
     },
     "GitSourceContext": {
-      "description": "A GitSourceContext denotes a particular revision in a third party Git\nrepository (e.g. GitHub).",
+      "description": "A GitSourceContext denotes a particular revision in a third party Git repository (e.g. GitHub).",
       "id": "GitSourceContext",
       "properties": {
         "revisionId": {
-          "description": "Git commit hash.\nrequired.",
+          "description": "Git commit hash. required.",
           "type": "string"
         },
         "url": {
@@ -829,18 +838,18 @@
       "id": "ListActiveBreakpointsResponse",
       "properties": {
         "breakpoints": {
-          "description": "List of all active breakpoints.\nThe fields `id` and `location` are guaranteed to be set on each breakpoint.",
+          "description": "List of all active breakpoints. The fields `id` and `location` are guaranteed to be set on each breakpoint.",
           "items": {
             "$ref": "Breakpoint"
           },
           "type": "array"
         },
         "nextWaitToken": {
-          "description": "A token that can be used in the next method call to block until\nthe list of breakpoints changes.",
+          "description": "A token that can be used in the next method call to block until the list of breakpoints changes.",
           "type": "string"
         },
         "waitExpired": {
-          "description": "If set to `true`, indicates that there is no change to the\nlist of active breakpoints and the server-selected timeout has expired.\nThe `breakpoints` field would be empty and should be ignored.",
+          "description": "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.",
           "type": "boolean"
         }
       },
@@ -851,14 +860,14 @@
       "id": "ListBreakpointsResponse",
       "properties": {
         "breakpoints": {
-          "description": "List of breakpoints matching the request.\nThe fields `id` and `location` are guaranteed to be set on each breakpoint.\nThe fields: `stack_frames`, `evaluated_expressions` and `variable_table`\nare cleared on each breakpoint regardless of its status.",
+          "description": "List of breakpoints matching the request. The fields `id` and `location` are guaranteed to be set on each breakpoint. The fields: `stack_frames`, `evaluated_expressions` and `variable_table` are cleared on each breakpoint regardless of its status.",
           "items": {
             "$ref": "Breakpoint"
           },
           "type": "array"
         },
         "nextWaitToken": {
-          "description": "A wait token that can be used in the next call to `list` (REST) or\n`ListBreakpoints` (RPC) to block until the list of breakpoints has changes.",
+          "description": "A wait token that can be used in the next call to `list` (REST) or `ListBreakpoints` (RPC) to block until the list of breakpoints has changes.",
           "type": "string"
         }
       },
@@ -869,7 +878,7 @@
       "id": "ListDebuggeesResponse",
       "properties": {
         "debuggees": {
-          "description": "List of debuggees accessible to the calling user.\nThe fields `debuggee.id` and `description` are guaranteed to be set.\nThe `description` field is a human readable field provided by agents and\ncan be displayed to users.",
+          "description": "List of debuggees accessible to the calling user. 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.",
           "items": {
             "$ref": "Debuggee"
           },
@@ -879,7 +888,7 @@
       "type": "object"
     },
     "ProjectRepoId": {
-      "description": "Selects a repo using a Google Cloud Platform project ID\n(e.g. winged-cargo-31) and a repo name within that project.",
+      "description": "Selects a repo using a Google Cloud Platform project ID (e.g. winged-cargo-31) and a repo name within that project.",
       "id": "ProjectRepoId",
       "properties": {
         "projectId": {
@@ -899,7 +908,7 @@
       "properties": {
         "debuggee": {
           "$ref": "Debuggee",
-          "description": "Required. Debuggee information to register.\nThe fields `project`, `uniquifier`, `description` and `agent_version`\nof the debuggee must be set."
+          "description": "Required. Debuggee information to register. The fields `project`, `uniquifier`, `description` and `agent_version` of the debuggee must be set."
         }
       },
       "type": "object"
@@ -909,12 +918,12 @@
       "id": "RegisterDebuggeeResponse",
       "properties": {
         "agentId": {
-          "description": "A unique ID generated for the agent.\nEach RegisterDebuggee request will generate a new agent ID.",
+          "description": "A unique ID generated for the agent. Each RegisterDebuggee request will generate a new agent ID.",
           "type": "string"
         },
         "debuggee": {
           "$ref": "Debuggee",
-          "description": "Debuggee resource.\nThe field `id` is guaranteed to be set (in addition to the echoed fields).\nIf the field `is_disabled` is set to `true`, the agent should disable\nitself by removing all breakpoints and detaching from the application.\nIt should however continue to poll `RegisterDebuggee` until reenabled."
+          "description": "Debuggee resource. The field `id` is guaranteed 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."
         }
       },
       "type": "object"
@@ -940,13 +949,13 @@
       "properties": {
         "breakpoint": {
           "$ref": "Breakpoint",
-          "description": "Breakpoint resource.\nThe field `id` is guaranteed to be set (in addition to the echoed fields)."
+          "description": "Breakpoint resource. The field `id` is guaranteed to be set (in addition to the echoed fields)."
         }
       },
       "type": "object"
     },
     "SourceContext": {
-      "description": "A SourceContext is a reference to a tree of files. A SourceContext together\nwith a path point to a unique revision of a single file or directory.",
+      "description": "A SourceContext is a reference to a tree of files. A SourceContext together with a path point to a unique revision of a single file or directory.",
       "id": "SourceContext",
       "properties": {
         "cloudRepo": {
@@ -973,7 +982,7 @@
       "id": "SourceLocation",
       "properties": {
         "column": {
-          "description": "Column within a line. The first column in a line as the value `1`.\nAgents that do not support setting breakpoints on specific columns ignore\nthis field.",
+          "description": "Column within a line. The first column in a line as the value `1`. Agents that do not support setting breakpoints on specific columns ignore this field.",
           "format": "int32",
           "type": "integer"
         },
@@ -994,7 +1003,7 @@
       "id": "StackFrame",
       "properties": {
         "arguments": {
-          "description": "Set of arguments passed to this function.\nNote that this might not be populated for all stack frames.",
+          "description": "Set of arguments passed to this function. Note that this might not be populated for all stack frames.",
           "items": {
             "$ref": "Variable"
           },
@@ -1005,7 +1014,7 @@
           "type": "string"
         },
         "locals": {
-          "description": "Set of local variables at the stack frame location.\nNote that this might not be populated for all stack frames.",
+          "description": "Set of local variables at the stack frame location. Note that this might not be populated for all stack frames.",
           "items": {
             "$ref": "Variable"
           },
@@ -1019,7 +1028,7 @@
       "type": "object"
     },
     "StatusMessage": {
-      "description": "Represents a contextual status message.\nThe message can indicate an error or informational status, and refer to\nspecific parts of the containing object.\nFor example, the `Breakpoint.status` field can indicate an error referring\nto the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`.",
+      "description": "Represents a contextual status message. The message can indicate an error or informational status, and refer to specific parts of the containing object. For example, the `Breakpoint.status` field can indicate an error referring to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`.",
       "id": "StatusMessage",
       "properties": {
         "description": {
@@ -1048,7 +1057,7 @@
             "Status applies to the breakpoint and is related to its condition.",
             "Status applies to the breakpoint and is related to its expressions.",
             "Status applies to the breakpoint and is related to its age.",
-            "Status applies to the breakpoint when the breakpoint failed to exit the\ncanary state.",
+            "Status applies to the breakpoint when the breakpoint failed to exit the canary state.",
             "Status applies to the entire variable.",
             "Status applies to variable value (variable name is valid)."
           ],
@@ -1063,19 +1072,19 @@
       "properties": {
         "breakpoint": {
           "$ref": "Breakpoint",
-          "description": "Required. Updated breakpoint information.\nThe field `id` must be set.\nThe agent must echo all Breakpoint specification fields in the update."
+          "description": "Required. Updated breakpoint information. The field `id` must be set. The agent must echo all Breakpoint specification fields in the update."
         }
       },
       "type": "object"
     },
     "UpdateActiveBreakpointResponse": {
-      "description": "Response for updating an active breakpoint.\nThe message is defined to allow future extensions.",
+      "description": "Response for updating an active breakpoint. The message is defined to allow future extensions.",
       "id": "UpdateActiveBreakpointResponse",
       "properties": {},
       "type": "object"
     },
     "Variable": {
-      "description": "Represents a variable or an argument possibly of a compound object type.\nNote how the following variables are represented:\n\n1) A simple variable:\n\n    int x = 5\n\n    { name: \"x\", value: \"5\", type: \"int\" }  // Captured variable\n\n2) A compound object:\n\n    struct T {\n        int m1;\n        int m2;\n    };\n    T x = { 3, 7 };\n\n    {  // Captured variable\n        name: \"x\",\n        type: \"T\",\n        members { name: \"m1\", value: \"3\", type: \"int\" },\n        members { name: \"m2\", value: \"7\", type: \"int\" }\n    }\n\n3) A pointer where the pointee was captured:\n\n    T x = { 3, 7 };\n    T* p = \u0026x;\n\n    {   // Captured variable\n        name: \"p\",\n        type: \"T*\",\n        value: \"0x00500500\",\n        members { name: \"m1\", value: \"3\", type: \"int\" },\n        members { name: \"m2\", value: \"7\", type: \"int\" }\n    }\n\n4) A pointer where the pointee was not captured:\n\n    T* p = new T;\n\n    {   // Captured variable\n        name: \"p\",\n        type: \"T*\",\n        value: \"0x00400400\"\n        status { is_error: true, description { format: \"unavailable\" } }\n    }\n\nThe status should describe the reason for the missing value,\nsuch as `\u003coptimized out\u003e`, `\u003cinaccessible\u003e`, `\u003cpointers limit reached\u003e`.\n\nNote that a null pointer should not have members.\n\n5) An unnamed value:\n\n    int* p = new int(7);\n\n    {   // Captured variable\n        name: \"p\",\n        value: \"0x00500500\",\n        type: \"int*\",\n        members { value: \"7\", type: \"int\" } }\n\n6) An unnamed pointer where the pointee was not captured:\n\n    int* p = new int(7);\n    int** pp = \u0026p;\n\n    {  // Captured variable\n        name: \"pp\",\n        value: \"0x00500500\",\n        type: \"int**\",\n        members {\n            value: \"0x00400400\",\n            type: \"int*\"\n            status {\n                is_error: true,\n                description: { format: \"unavailable\" } }\n            }\n        }\n    }\n\nTo optimize computation, memory and network traffic, variables that\nrepeat in the output multiple times can be stored once in a shared\nvariable table and be referenced using the `var_table_index` field.  The\nvariables stored in the shared table are nameless and are essentially\na partition of the complete variable. To reconstruct the complete\nvariable, merge the referencing variable with the referenced variable.\n\nWhen using the shared variable table, the following variables:\n\n    T x = { 3, 7 };\n    T* p = \u0026x;\n    T\u0026 r = x;\n\n    { name: \"x\", var_table_index: 3, type: \"T\" }  // Captured variables\n    { name: \"p\", value \"0x00500500\", type=\"T*\", var_table_index: 3 }\n    { name: \"r\", type=\"T\u0026\", var_table_index: 3 }\n\n    {  // Shared variable table entry #3:\n        members { name: \"m1\", value: \"3\", type: \"int\" },\n        members { name: \"m2\", value: \"7\", type: \"int\" }\n    }\n\nNote that the pointer address is stored with the referencing variable\nand not with the referenced variable. This allows the referenced variable\nto be shared between pointers and references.\n\nThe type field is optional. The debugger agent may or may not support it.",
+      "description": "Represents a variable or an argument possibly of a compound object type. Note how the following variables are represented: 1) A simple variable: int x = 5 { name: \"x\", value: \"5\", type: \"int\" } // Captured variable 2) A compound object: struct T { int m1; int m2; }; T x = { 3, 7 }; { // Captured variable name: \"x\", type: \"T\", members { name: \"m1\", value: \"3\", type: \"int\" }, members { name: \"m2\", value: \"7\", type: \"int\" } } 3) A pointer where the pointee was captured: T x = { 3, 7 }; T* p = \u0026x; { // Captured variable name: \"p\", type: \"T*\", value: \"0x00500500\", members { name: \"m1\", value: \"3\", type: \"int\" }, members { name: \"m2\", value: \"7\", type: \"int\" } } 4) A pointer where the pointee was not captured: T* p = new T; { // Captured variable name: \"p\", type: \"T*\", value: \"0x00400400\" status { is_error: true, description { format: \"unavailable\" } } } The status should describe the reason for the missing value, such as ``, ``, ``. Note that a null pointer should not have members. 5) An unnamed value: int* p = new int(7); { // Captured variable name: \"p\", value: \"0x00500500\", type: \"int*\", members { value: \"7\", type: \"int\" } } 6) An unnamed pointer where the pointee was not captured: int* p = new int(7); int** pp = \u0026p; { // Captured variable name: \"pp\", value: \"0x00500500\", type: \"int**\", members { value: \"0x00400400\", type: \"int*\" status { is_error: true, description: { format: \"unavailable\" } } } } } To optimize computation, memory and network traffic, variables that repeat in the output multiple times can be stored once in a shared variable table and be referenced using the `var_table_index` field. The variables stored in the shared table are nameless and are essentially a partition of the complete variable. To reconstruct the complete variable, merge the referencing variable with the referenced variable. When using the shared variable table, the following variables: T x = { 3, 7 }; T* p = \u0026x; T\u0026 r = x; { name: \"x\", var_table_index: 3, type: \"T\" } // Captured variables { name: \"p\", value \"0x00500500\", type=\"T*\", var_table_index: 3 } { name: \"r\", type=\"T\u0026\", var_table_index: 3 } { // Shared variable table entry #3: members { name: \"m1\", value: \"3\", type: \"int\" }, members { name: \"m2\", value: \"7\", type: \"int\" } } Note that the pointer address is stored with the referencing variable and not with the referenced variable. This allows the referenced variable to be shared between pointers and references. The type field is optional. The debugger agent may or may not support it.",
       "id": "Variable",
       "properties": {
         "members": {
@@ -1091,10 +1100,10 @@
         },
         "status": {
           "$ref": "StatusMessage",
-          "description": "Status associated with the variable. This field will usually stay\nunset. A status of a single variable only applies to that variable or\nexpression. The rest of breakpoint data still remains valid. Variables\nmight be reported in error state even when breakpoint is not in final\nstate.\n\nThe message may refer to variable name with `refers_to` set to\n`VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.\nIn either case variable value and members will be unset.\n\nExample of error message applied to name: `Invalid expression syntax`.\n\nExample of information message applied to value: `Not captured`.\n\nExamples of error message applied to value:\n\n*   `Malformed string`,\n*   `Field f not found in class C`\n*   `Null pointer dereference`"
+          "description": "Status associated with the variable. This field will usually stay unset. A status of a single variable only applies to that variable or expression. The rest of breakpoint data still remains valid. Variables might be reported in error state even when breakpoint is not in final state. The message may refer to variable name with `refers_to` set to `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`. In either case variable value and members will be unset. Example of error message applied to name: `Invalid expression syntax`. Example of information message applied to value: `Not captured`. Examples of error message applied to value: * `Malformed string`, * `Field f not found in class C` * `Null pointer dereference`"
         },
         "type": {
-          "description": "Variable type (e.g. `MyClass`). If the variable is split with\n`var_table_index`, `type` goes next to `value`. The interpretation of\na type is agent specific. It is recommended to include the dynamic type\nrather than a static type of an object.",
+          "description": "Variable type (e.g. `MyClass`). If the variable is split with `var_table_index`, `type` goes next to `value`. The interpretation of a type is agent specific. It is recommended to include the dynamic type rather than a static type of an object.",
           "type": "string"
         },
         "value": {
@@ -1102,7 +1111,7 @@
           "type": "string"
         },
         "varTableIndex": {
-          "description": "Reference to a variable in the shared variable table. More than\none variable can reference the same variable in the table. The\n`var_table_index` field is an index into `variable_table` in Breakpoint.",
+          "description": "Reference to a variable in the shared variable table. More than one variable can reference the same variable in the table. The `var_table_index` field is an index into `variable_table` in Breakpoint.",
           "format": "int32",
           "type": "integer"
         }
diff --git a/clouddebugger/v2/clouddebugger-gen.go b/clouddebugger/v2/clouddebugger-gen.go
index 6ca6d2a..e33732b 100644
--- a/clouddebugger/v2/clouddebugger-gen.go
+++ b/clouddebugger/v2/clouddebugger-gen.go
@@ -221,10 +221,8 @@
 	//   "FIXED" - Git tag
 	//   "MOVABLE" - Git branch
 	//   "OTHER" - OTHER is used to specify non-standard aliases, those not
-	// of the kinds
-	// above. For example, if a Git repo has a ref named "refs/foo/bar",
-	// it
-	// is considered to be of kind OTHER.
+	// of the kinds above. For example, if a Git repo has a ref named
+	// "refs/foo/bar", it is considered to be of kind OTHER.
 	Kind string `json:"kind,omitempty"`
 
 	// Name: The alias name.
@@ -255,34 +253,28 @@
 
 // Breakpoint:
 // ----------------------------------------------------------------------
-// --------
-// ## Breakpoint (the resource)
-//
-// Represents the breakpoint specification, status and results.
+// -------- ## Breakpoint (the resource) Represents the breakpoint
+// specification, status and results.
 type Breakpoint struct {
-	// Action: Action that the agent should perform when the code at
-	// the
+	// Action: Action that the agent should perform when the code at the
 	// breakpoint location is hit.
 	//
 	// Possible values:
 	//   "CAPTURE" - Capture stack frame and variables and update the
-	// breakpoint.
-	// The data is only captured once. After that the breakpoint is set
-	// in a final state.
+	// breakpoint. The data is only captured once. After that the breakpoint
+	// is set in a final state.
 	//   "LOG" - Log each breakpoint hit. The breakpoint remains active
-	// until
-	// deleted or expired.
+	// until deleted or expired.
 	Action string `json:"action,omitempty"`
 
 	// CanaryExpireTime: The deadline for the breakpoint to stay in
-	// CANARY_ACTIVE state. The value
-	// is meaningless when the breakpoint is not in CANARY_ACTIVE state.
+	// CANARY_ACTIVE state. The value is meaningless when the breakpoint is
+	// not in CANARY_ACTIVE state.
 	CanaryExpireTime string `json:"canaryExpireTime,omitempty"`
 
-	// Condition: Condition that triggers the breakpoint.
-	// The condition is a compound boolean expression composed using
-	// expressions
-	// in a programming language at the source location.
+	// Condition: Condition that triggers the breakpoint. The condition is a
+	// compound boolean expression composed using expressions in a
+	// programming language at the source location.
 	Condition string `json:"condition,omitempty"`
 
 	// CreateTime: Time this breakpoint was created by the server in seconds
@@ -290,42 +282,34 @@
 	CreateTime string `json:"createTime,omitempty"`
 
 	// EvaluatedExpressions: Values of evaluated expressions at breakpoint
-	// time.
-	// The evaluated expressions appear in exactly the same order they
-	// are listed in the `expressions` field.
-	// The `name` field holds the original expression text, the `value`
-	// or
-	// `members` field holds the result of the evaluated expression.
-	// If the expression cannot be evaluated, the `status` inside the
-	// `Variable`
-	// will indicate an error and contain the error text.
+	// time. The evaluated expressions appear in exactly the same order they
+	// are listed in the `expressions` field. The `name` field holds the
+	// original expression text, the `value` or `members` field holds the
+	// result of the evaluated expression. If the expression cannot be
+	// evaluated, the `status` inside the `Variable` will indicate an error
+	// and contain the error text.
 	EvaluatedExpressions []*Variable `json:"evaluatedExpressions,omitempty"`
 
 	// Expressions: List of read-only expressions to evaluate at the
-	// breakpoint location.
-	// The expressions are composed using expressions in the programming
-	// language
-	// at the source location. If the breakpoint action is `LOG`, the
-	// evaluated
-	// expressions are included in log statements.
+	// breakpoint location. The expressions are composed using expressions
+	// in the programming language at the source location. If the breakpoint
+	// action is `LOG`, the evaluated expressions are included in log
+	// statements.
 	Expressions []string `json:"expressions,omitempty"`
 
 	// FinalTime: Time this breakpoint was finalized as seen by the server
-	// in seconds
-	// resolution.
+	// in seconds resolution.
 	FinalTime string `json:"finalTime,omitempty"`
 
 	// Id: Breakpoint identifier, unique in the scope of the debuggee.
 	Id string `json:"id,omitempty"`
 
 	// IsFinalState: When true, indicates that this is a final result and
-	// the
-	// breakpoint state will not change from here on.
+	// the breakpoint state will not change from here on.
 	IsFinalState bool `json:"isFinalState,omitempty"`
 
 	// Labels: A set of custom breakpoint properties, populated by the
-	// agent, to be
-	// displayed to the user.
+	// agent, to be displayed to the user.
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// Location: Breakpoint source location.
@@ -341,22 +325,16 @@
 	LogLevel string `json:"logLevel,omitempty"`
 
 	// LogMessageFormat: Only relevant when action is `LOG`. Defines the
-	// message to log when
-	// the breakpoint hits. The message may include parameter placeholders
-	// `$0`,
-	// `$1`, etc. These placeholders are replaced with the evaluated
-	// value
-	// of the appropriate expression. Expressions not referenced
-	// in
-	// `log_message_format` are not logged.
-	//
-	// Example: `Message received, id = $0, count = $1` with
-	// `expressions` = `[ message.id, message.count ]`.
+	// message to log when the breakpoint hits. The message may include
+	// parameter placeholders `$0`, `$1`, etc. These placeholders are
+	// replaced with the evaluated value of the appropriate expression.
+	// Expressions not referenced in `log_message_format` are not logged.
+	// Example: `Message received, id = $0, count = $1` with `expressions` =
+	// `[ message.id, message.count ]`.
 	LogMessageFormat string `json:"logMessageFormat,omitempty"`
 
 	// StackFrames: The stack at breakpoint time, where stack_frames[0]
-	// represents the most
-	// recently entered function.
+	// represents the most recently entered function.
 	StackFrames []*StackFrame `json:"stackFrames,omitempty"`
 
 	// State: The current state of the breakpoint.
@@ -371,47 +349,30 @@
 	//   "STATE_IS_FINAL" - Breakpoint is hit/complete/failed.
 	State string `json:"state,omitempty"`
 
-	// Status: Breakpoint status.
-	//
-	// The status includes an error flag and a human readable message.
-	// This field is usually unset. The message can be either
-	// informational or an error message. Regardless, clients should
-	// always
-	// display the text message back to the user.
-	//
-	// Error status indicates complete failure of the breakpoint.
-	//
-	// Example (non-final state): `Still loading symbols...`
-	//
-	// Examples (final state):
-	//
-	// *   `Invalid line number` referring to location
-	// *   `Field f not found in class C` referring to condition
+	// Status: Breakpoint status. The status includes an error flag and a
+	// human readable message. This field is usually unset. The message can
+	// be either informational or an error message. Regardless, clients
+	// should always display the text message back to the user. Error status
+	// indicates complete failure of the breakpoint. Example (non-final
+	// state): `Still loading symbols...` Examples (final state): * `Invalid
+	// line number` referring to location * `Field f not found in class C`
+	// referring to condition
 	Status *StatusMessage `json:"status,omitempty"`
 
 	// UserEmail: E-mail address of the user that created this breakpoint
 	UserEmail string `json:"userEmail,omitempty"`
 
 	// VariableTable: The `variable_table` exists to aid with computation,
-	// memory and network
-	// traffic optimization.  It enables storing a variable once and
-	// reference
-	// it from multiple variables, including variables stored in
-	// the
-	// `variable_table` itself.
-	// For example, the same `this` object, which may appear at many levels
-	// of
-	// the stack, can have all of its data stored once in this table.
-	// The
-	// stack frame variables then would hold only a reference to it.
-	//
-	// The variable `var_table_index` field is an index into this repeated
-	// field.
-	// The stored objects are nameless and get their name from the
-	// referencing
+	// memory and network traffic optimization. It enables storing a
+	// variable once and reference it from multiple variables, including
+	// variables stored in the `variable_table` itself. For example, the
+	// same `this` object, which may appear at many levels of the stack, can
+	// have all of its data stored once in this table. The stack frame
+	// variables then would hold only a reference to it. The variable
+	// `var_table_index` field is an index into this repeated field. The
+	// stored objects are nameless and get their name from the referencing
 	// variable. The effective variable is a merge of the referencing
-	// variable
-	// and the referenced variable.
+	// variable and the referenced variable.
 	VariableTable []*Variable `json:"variableTable,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Action") to
@@ -438,8 +399,8 @@
 }
 
 // CloudRepoSourceContext: A CloudRepoSourceContext denotes a particular
-// revision in a cloud
-// repo (a repo hosted by the Google Cloud Platform).
+// revision in a cloud repo (a repo hosted by the Google Cloud
+// Platform).
 type CloudRepoSourceContext struct {
 	// AliasContext: An alias, which may be a branch or tag.
 	AliasContext *AliasContext `json:"aliasContext,omitempty"`
@@ -477,14 +438,11 @@
 }
 
 // CloudWorkspaceId: A CloudWorkspaceId is a unique identifier for a
-// cloud workspace.
-// A cloud workspace is a place associated with a repo where modified
-// files
-// can be stored before they are committed.
+// cloud workspace. A cloud workspace is a place associated with a repo
+// where modified files can be stored before they are committed.
 type CloudWorkspaceId struct {
-	// Name: The unique name of the workspace within the repo.  This is the
-	// name
-	// chosen by the client in the Source API's CreateWorkspace method.
+	// Name: The unique name of the workspace within the repo. This is the
+	// name chosen by the client in the Source API's CreateWorkspace method.
 	Name string `json:"name,omitempty"`
 
 	// RepoId: The ID of the repo containing the workspace.
@@ -516,8 +474,8 @@
 // CloudWorkspaceSourceContext: A CloudWorkspaceSourceContext denotes a
 // workspace at a particular snapshot.
 type CloudWorkspaceSourceContext struct {
-	// SnapshotId: The ID of the snapshot.
-	// An empty snapshot_id refers to the most recent snapshot.
+	// SnapshotId: The ID of the snapshot. An empty snapshot_id refers to
+	// the most recent snapshot.
 	SnapshotId string `json:"snapshotId,omitempty"`
 
 	// WorkspaceId: The ID of the workspace.
@@ -547,18 +505,14 @@
 }
 
 // Debuggee: 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.
-// Agents attached to the same debuggee identify themselves as such by
-// using
-// exactly the same Debuggee message value when registering.
+// 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. Agents attached to the same debuggee
+// identify themselves as such by using exactly the same Debuggee
+// message value when registering.
 type Debuggee struct {
-	// AgentVersion: Version ID of the agent.
-	// Schema: `domain/language-platform/vmajor.minor` (for
-	// example
+	// AgentVersion: Version ID of the agent. Schema:
+	// `domain/language-platform/vmajor.minor` (for example
 	// `google.com/java-gcp/v1.1`).
 	AgentVersion string `json:"agentVersion,omitempty"`
 
@@ -566,33 +520,27 @@
 	//
 	// Possible values:
 	//   "CANARY_MODE_UNSPECIFIED" - CANARY_MODE_UNSPECIFIED is equivalent
-	// to CANARY_MODE_ALWAYS_DISABLED so
-	// that if the debuggee is not configured to use the canary feature,
-	// the
-	// feature will be disabled.
+	// to CANARY_MODE_ALWAYS_DISABLED so that if the debuggee is not
+	// configured to use the canary feature, the feature will be disabled.
 	//   "CANARY_MODE_ALWAYS_ENABLED" - Always enable breakpoint canary
-	// regardless of the value of breakpoint's
-	// canary option.
+	// regardless of the value of breakpoint's canary option.
 	//   "CANARY_MODE_ALWAYS_DISABLED" - Always disable breakpoint canary
-	// regardless of the value of breakpoint's
-	// canary option.
+	// regardless of the value of breakpoint's canary option.
 	//   "CANARY_MODE_DEFAULT_ENABLED" - Depends on the breakpoint's canary
-	// option. Enable canary by default if
-	// the breakpoint's canary option is not specified.
+	// option. Enable canary by default if the breakpoint's canary option is
+	// not specified.
 	//   "CANARY_MODE_DEFAULT_DISABLED" - Depends on the breakpoint's canary
-	// option. Disable canary by default if
-	// the breakpoint's canary option is not specified.
+	// option. Disable canary by default if the breakpoint's canary option
+	// is not specified.
 	CanaryMode string `json:"canaryMode,omitempty"`
 
-	// Description: Human readable description of the debuggee.
-	// Including a human-readable project name, environment name and
-	// version
-	// information is recommended.
+	// Description: Human readable description of the debuggee. Including a
+	// human-readable project name, environment name and version information
+	// is recommended.
 	Description string `json:"description,omitempty"`
 
 	// ExtSourceContexts: References to the locations and revisions of the
-	// source code used in the
-	// deployed application.
+	// source code used in the deployed application.
 	ExtSourceContexts []*ExtendedSourceContext `json:"extSourceContexts,omitempty"`
 
 	// Id: Unique identifier for the debuggee generated by the controller
@@ -600,48 +548,38 @@
 	Id string `json:"id,omitempty"`
 
 	// IsDisabled: If set to `true`, indicates that the agent should disable
-	// itself and
-	// detach from the debuggee.
+	// itself and detach from the debuggee.
 	IsDisabled bool `json:"isDisabled,omitempty"`
 
 	// IsInactive: If set to `true`, indicates that Controller service does
-	// not detect any
-	// activity from the debuggee agents and the application is possibly
-	// stopped.
+	// not detect any activity from the debuggee agents and the application
+	// is possibly stopped.
 	IsInactive bool `json:"isInactive,omitempty"`
 
 	// Labels: A set of custom debuggee properties, populated by the agent,
-	// to be
-	// displayed to the user.
+	// to be displayed to the user.
 	Labels map[string]string `json:"labels,omitempty"`
 
-	// Project: Project the debuggee is associated with.
-	// Use project number or id when registering a Google Cloud Platform
-	// project.
+	// Project: Project the debuggee is associated with. Use project number
+	// or id when registering a Google Cloud Platform project.
 	Project string `json:"project,omitempty"`
 
 	// SourceContexts: References to the locations and revisions of the
-	// source code used in the
-	// deployed application.
+	// source code used in the deployed application.
 	SourceContexts []*SourceContext `json:"sourceContexts,omitempty"`
 
 	// Status: Human readable message to be displayed to the user about this
-	// debuggee.
-	// Absence of this field indicates no status. The message can be
-	// either
-	// informational or an error status.
+	// debuggee. Absence of this field indicates no status. The message can
+	// be either informational or an error status.
 	Status *StatusMessage `json:"status,omitempty"`
 
-	// Uniquifier: Uniquifier to further distinguish the application.
-	// It is possible that different applications might have identical
-	// values in
+	// Uniquifier: Uniquifier to further distinguish 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
-	// distinguish the
-	// application. Agents should consider seeding this field with value
-	// that
-	// identifies the code, binary, configuration and environment.
+	// application by the Controller service. This field adds salt to
+	// further distinguish the application. Agents should consider seeding
+	// this field with value that identifies the code, binary, configuration
+	// and environment.
 	Uniquifier string `json:"uniquifier,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AgentVersion") to
@@ -668,17 +606,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -686,8 +618,7 @@
 }
 
 // ExtendedSourceContext: An ExtendedSourceContext is a SourceContext
-// combined with additional
-// details describing the context.
+// combined with additional details describing the context.
 type ExtendedSourceContext struct {
 	// Context: Any source context.
 	Context *SourceContext `json:"context,omitempty"`
@@ -721,16 +652,10 @@
 // FormatMessage: Represents a message with parameters.
 type FormatMessage struct {
 	// Format: Format template for the message. The `format` uses
-	// placeholders `$0`,
-	// `$1`, etc. to reference parameters. `$$` can be used to denote the
-	// `$`
-	// character.
-	//
-	// Examples:
-	//
-	// *   `Failed to load '$0' which helps debug $1 the first time it
-	//     is loaded.  Again, $0 is very important.`
-	// *   `Please pay $$10 to use $0 instead of $1.`
+	// placeholders `$0`, `$1`, etc. to reference parameters. `$$` can be
+	// used to denote the `$` character. Examples: * `Failed to load '$0'
+	// which helps debug $1 the first time it is loaded. Again, $0 is very
+	// important.` * `Please pay $$10 to use $0 instead of $1.`
 	Format string `json:"format,omitempty"`
 
 	// Parameters: Optional parameters to be embedded into the message.
@@ -768,9 +693,8 @@
 	AliasName string `json:"aliasName,omitempty"`
 
 	// GerritProject: The full project name within the host. Projects may be
-	// nested, so
-	// "project/subproject" is a valid project name.
-	// The "repo name" is hostURI/project.
+	// nested, so "project/subproject" is a valid project name. The "repo
+	// name" is hostURI/project.
 	GerritProject string `json:"gerritProject,omitempty"`
 
 	// HostUri: The URI of a running Gerrit instance.
@@ -804,8 +728,8 @@
 
 // GetBreakpointResponse: Response for getting breakpoint information.
 type GetBreakpointResponse struct {
-	// Breakpoint: Complete breakpoint state.
-	// The fields `id` and `location` are guaranteed to be set.
+	// Breakpoint: Complete breakpoint state. The fields `id` and `location`
+	// are guaranteed to be set.
 	Breakpoint *Breakpoint `json:"breakpoint,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -836,11 +760,9 @@
 }
 
 // GitSourceContext: A GitSourceContext denotes a particular revision in
-// a third party Git
-// repository (e.g. GitHub).
+// a third party Git repository (e.g. GitHub).
 type GitSourceContext struct {
-	// RevisionId: Git commit hash.
-	// required.
+	// RevisionId: Git commit hash. required.
 	RevisionId string `json:"revisionId,omitempty"`
 
 	// Url: Git repository URL.
@@ -872,21 +794,18 @@
 // ListActiveBreakpointsResponse: Response for listing active
 // breakpoints.
 type ListActiveBreakpointsResponse struct {
-	// Breakpoints: List of all active breakpoints.
-	// The fields `id` and `location` are guaranteed to be set on each
-	// breakpoint.
+	// Breakpoints: List of all active breakpoints. The fields `id` and
+	// `location` are guaranteed to be set on each breakpoint.
 	Breakpoints []*Breakpoint `json:"breakpoints,omitempty"`
 
 	// NextWaitToken: A token that can be used in the next method call to
-	// block until
-	// the list of breakpoints changes.
+	// block until the list of breakpoints changes.
 	NextWaitToken string `json:"nextWaitToken,omitempty"`
 
 	// WaitExpired: 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.
+	// the list of active breakpoints and the server-selected timeout has
+	// expired. The `breakpoints` field would be empty and should be
+	// ignored.
 	WaitExpired bool `json:"waitExpired,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -918,18 +837,15 @@
 
 // ListBreakpointsResponse: Response for listing breakpoints.
 type ListBreakpointsResponse struct {
-	// Breakpoints: List of breakpoints matching the request.
-	// The fields `id` and `location` are guaranteed to be set on each
-	// breakpoint.
-	// The fields: `stack_frames`, `evaluated_expressions` and
-	// `variable_table`
+	// Breakpoints: List of breakpoints matching the request. The fields
+	// `id` and `location` are guaranteed to be set on each breakpoint. The
+	// fields: `stack_frames`, `evaluated_expressions` and `variable_table`
 	// are cleared on each breakpoint regardless of its status.
 	Breakpoints []*Breakpoint `json:"breakpoints,omitempty"`
 
 	// NextWaitToken: A wait token that can be used in the next call to
-	// `list` (REST) or
-	// `ListBreakpoints` (RPC) to block until the list of breakpoints has
-	// changes.
+	// `list` (REST) or `ListBreakpoints` (RPC) to block until the list of
+	// breakpoints has changes.
 	NextWaitToken string `json:"nextWaitToken,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -961,11 +877,9 @@
 
 // ListDebuggeesResponse: Response for listing debuggees.
 type ListDebuggeesResponse struct {
-	// Debuggees: List of debuggees accessible to the calling user.
-	// The fields `debuggee.id` and `description` are guaranteed to be
-	// set.
-	// The `description` field is a human readable field provided by agents
-	// and
+	// Debuggees: List of debuggees accessible to the calling user. 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.
 	Debuggees []*Debuggee `json:"debuggees,omitempty"`
 
@@ -997,8 +911,7 @@
 }
 
 // ProjectRepoId: Selects a repo using a Google Cloud Platform project
-// ID
-// (e.g. winged-cargo-31) and a repo name within that project.
+// ID (e.g. winged-cargo-31) and a repo name within that project.
 type ProjectRepoId struct {
 	// ProjectId: The ID of the project.
 	ProjectId string `json:"projectId,omitempty"`
@@ -1031,10 +944,9 @@
 
 // RegisterDebuggeeRequest: Request to register a debuggee.
 type RegisterDebuggeeRequest struct {
-	// Debuggee: Required. Debuggee information to register.
-	// The fields `project`, `uniquifier`, `description` and
-	// `agent_version`
-	// of the debuggee must be set.
+	// Debuggee: Required. Debuggee information to register. The fields
+	// `project`, `uniquifier`, `description` and `agent_version` of the
+	// debuggee must be set.
 	Debuggee *Debuggee `json:"debuggee,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Debuggee") to
@@ -1062,19 +974,15 @@
 
 // RegisterDebuggeeResponse: Response for registering a debuggee.
 type RegisterDebuggeeResponse struct {
-	// AgentId: A unique ID generated for the agent.
-	// Each RegisterDebuggee request will generate a new agent ID.
+	// AgentId: A unique ID generated for the agent. Each RegisterDebuggee
+	// request will generate a new agent ID.
 	AgentId string `json:"agentId,omitempty"`
 
-	// Debuggee: Debuggee resource.
-	// The field `id` is guaranteed 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 resource. The field `id` is guaranteed 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 `json:"debuggee,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1137,9 +1045,8 @@
 
 // SetBreakpointResponse: Response for setting a breakpoint.
 type SetBreakpointResponse struct {
-	// Breakpoint: Breakpoint resource.
-	// The field `id` is guaranteed to be set (in addition to the echoed
-	// fields).
+	// Breakpoint: Breakpoint resource. The field `id` is guaranteed to be
+	// set (in addition to the echoed fields).
 	Breakpoint *Breakpoint `json:"breakpoint,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1170,8 +1077,8 @@
 }
 
 // SourceContext: A SourceContext is a reference to a tree of files. A
-// SourceContext together
-// with a path point to a unique revision of a single file or directory.
+// SourceContext together with a path point to a unique revision of a
+// single file or directory.
 type SourceContext struct {
 	// CloudRepo: A SourceContext referring to a revision in a cloud repo.
 	CloudRepo *CloudRepoSourceContext `json:"cloudRepo,omitempty"`
@@ -1213,10 +1120,8 @@
 // SourceLocation: Represents a location in the source code.
 type SourceLocation struct {
 	// Column: Column within a line. The first column in a line as the value
-	// `1`.
-	// Agents that do not support setting breakpoints on specific columns
-	// ignore
-	// this field.
+	// `1`. Agents that do not support setting breakpoints on specific
+	// columns ignore this field.
 	Column int64 `json:"column,omitempty"`
 
 	// Line: Line inside the file. The first line in the file has the value
@@ -1252,15 +1157,15 @@
 
 // StackFrame: Represents a stack frame context.
 type StackFrame struct {
-	// Arguments: Set of arguments passed to this function.
-	// Note that this might not be populated for all stack frames.
+	// Arguments: Set of arguments passed to this function. Note that this
+	// might not be populated for all stack frames.
 	Arguments []*Variable `json:"arguments,omitempty"`
 
 	// Function: Demangled function name at the call site.
 	Function string `json:"function,omitempty"`
 
-	// Locals: Set of local variables at the stack frame location.
-	// Note that this might not be populated for all stack frames.
+	// Locals: Set of local variables at the stack frame location. Note that
+	// this might not be populated for all stack frames.
 	Locals []*Variable `json:"locals,omitempty"`
 
 	// Location: Source location of the call site.
@@ -1289,14 +1194,11 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// StatusMessage: Represents a contextual status message.
-// The message can indicate an error or informational status, and refer
-// to
-// specific parts of the containing object.
-// For example, the `Breakpoint.status` field can indicate an error
-// referring
-// to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not
-// found`.
+// StatusMessage: Represents a contextual status message. The message
+// can indicate an error or informational status, and refer to specific
+// parts of the containing object. For example, the `Breakpoint.status`
+// field can indicate an error referring to the
+// `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`.
 type StatusMessage struct {
 	// Description: Status message text.
 	Description *FormatMessage `json:"description,omitempty"`
@@ -1317,8 +1219,7 @@
 	//   "BREAKPOINT_AGE" - Status applies to the breakpoint and is related
 	// to its age.
 	//   "BREAKPOINT_CANARY_FAILED" - Status applies to the breakpoint when
-	// the breakpoint failed to exit the
-	// canary state.
+	// the breakpoint failed to exit the canary state.
 	//   "VARIABLE_NAME" - Status applies to the entire variable.
 	//   "VARIABLE_VALUE" - Status applies to variable value (variable name
 	// is valid).
@@ -1350,10 +1251,9 @@
 // UpdateActiveBreakpointRequest: Request to update an active
 // breakpoint.
 type UpdateActiveBreakpointRequest struct {
-	// Breakpoint: Required. Updated breakpoint information.
-	// The field `id` must be set.
-	// The agent must echo all Breakpoint specification fields in the
-	// update.
+	// Breakpoint: Required. Updated breakpoint information. The field `id`
+	// must be set. The agent must echo all Breakpoint specification fields
+	// in the update.
 	Breakpoint *Breakpoint `json:"breakpoint,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Breakpoint") to
@@ -1380,8 +1280,7 @@
 }
 
 // UpdateActiveBreakpointResponse: Response for updating an active
-// breakpoint.
-// The message is defined to allow future extensions.
+// breakpoint. The message is defined to allow future extensions.
 type UpdateActiveBreakpointResponse struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -1389,127 +1288,43 @@
 }
 
 // Variable: Represents a variable or an argument possibly of a compound
-// object type.
-// Note how the following variables are represented:
-//
-// 1) A simple variable:
-//
-//     int x = 5
-//
-//     { name: "x", value: "5", type: "int" }  // Captured variable
-//
-// 2) A compound object:
-//
-//     struct T {
-//         int m1;
-//         int m2;
-//     };
-//     T x = { 3, 7 };
-//
-//     {  // Captured variable
-//         name: "x",
-//         type: "T",
-//         members { name: "m1", value: "3", type: "int" },
-//         members { name: "m2", value: "7", type: "int" }
-//     }
-//
-// 3) A pointer where the pointee was captured:
-//
-//     T x = { 3, 7 };
-//     T* p = &x;
-//
-//     {   // Captured variable
-//         name: "p",
-//         type: "T*",
-//         value: "0x00500500",
-//         members { name: "m1", value: "3", type: "int" },
-//         members { name: "m2", value: "7", type: "int" }
-//     }
-//
-// 4) A pointer where the pointee was not captured:
-//
-//     T* p = new T;
-//
-//     {   // Captured variable
-//         name: "p",
-//         type: "T*",
-//         value: "0x00400400"
-//         status { is_error: true, description { format: "unavailable"
-// } }
-//     }
-//
-// The status should describe the reason for the missing value,
-// such as `<optimized out>`, `<inaccessible>`, `<pointers limit
-// reached>`.
-//
-// Note that a null pointer should not have members.
-//
-// 5) An unnamed value:
-//
-//     int* p = new int(7);
-//
-//     {   // Captured variable
-//         name: "p",
-//         value: "0x00500500",
-//         type: "int*",
-//         members { value: "7", type: "int" } }
-//
-// 6) An unnamed pointer where the pointee was not captured:
-//
-//     int* p = new int(7);
-//     int** pp = &p;
-//
-//     {  // Captured variable
-//         name: "pp",
-//         value: "0x00500500",
-//         type: "int**",
-//         members {
-//             value: "0x00400400",
-//             type: "int*"
-//             status {
-//                 is_error: true,
-//                 description: { format: "unavailable" } }
-//             }
-//         }
-//     }
-//
-// To optimize computation, memory and network traffic, variables
-// that
-// repeat in the output multiple times can be stored once in a
-// shared
-// variable table and be referenced using the `var_table_index` field.
-// The
-// variables stored in the shared table are nameless and are
-// essentially
-// a partition of the complete variable. To reconstruct the
-// complete
-// variable, merge the referencing variable with the referenced
-// variable.
-//
-// When using the shared variable table, the following variables:
-//
-//     T x = { 3, 7 };
-//     T* p = &x;
-//     T& r = x;
-//
-//     { name: "x", var_table_index: 3, type: "T" }  // Captured
-// variables
-//     { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
-//     { name: "r", type="T&", var_table_index: 3 }
-//
-//     {  // Shared variable table entry #3:
-//         members { name: "m1", value: "3", type: "int" },
-//         members { name: "m2", value: "7", type: "int" }
-//     }
-//
-// Note that the pointer address is stored with the referencing
-// variable
-// and not with the referenced variable. This allows the referenced
-// variable
-// to be shared between pointers and references.
-//
-// The type field is optional. The debugger agent may or may not support
-// it.
+// object type. Note how the following variables are represented: 1) A
+// simple variable: int x = 5 { name: "x", value: "5", type: "int" } //
+// Captured variable 2) A compound object: struct T { int m1; int m2; };
+// T x = { 3, 7 }; { // Captured variable name: "x", type: "T", members
+// { name: "m1", value: "3", type: "int" }, members { name: "m2", value:
+// "7", type: "int" } } 3) A pointer where the pointee was captured: T x
+// = { 3, 7 }; T* p = &x; { // Captured variable name: "p", type: "T*",
+// value: "0x00500500", members { name: "m1", value: "3", type: "int" },
+// members { name: "m2", value: "7", type: "int" } } 4) A pointer where
+// the pointee was not captured: T* p = new T; { // Captured variable
+// name: "p", type: "T*", value: "0x00400400" status { is_error: true,
+// description { format: "unavailable" } } } The status should describe
+// the reason for the missing value, such as ``, ``, ``. Note that a
+// null pointer should not have members. 5) An unnamed value: int* p =
+// new int(7); { // Captured variable name: "p", value: "0x00500500",
+// type: "int*", members { value: "7", type: "int" } } 6) An unnamed
+// pointer where the pointee was not captured: int* p = new int(7);
+// int** pp = &p; { // Captured variable name: "pp", value:
+// "0x00500500", type: "int**", members { value: "0x00400400", type:
+// "int*" status { is_error: true, description: { format: "unavailable"
+// } } } } } To optimize computation, memory and network traffic,
+// variables that repeat in the output multiple times can be stored once
+// in a shared variable table and be referenced using the
+// `var_table_index` field. The variables stored in the shared table are
+// nameless and are essentially a partition of the complete variable. To
+// reconstruct the complete variable, merge the referencing variable
+// with the referenced variable. When using the shared variable table,
+// the following variables: T x = { 3, 7 }; T* p = &x; T& r = x; { name:
+// "x", var_table_index: 3, type: "T" } // Captured variables { name:
+// "p", value "0x00500500", type="T*", var_table_index: 3 } { name: "r",
+// type="T&", var_table_index: 3 } { // Shared variable table entry #3:
+// members { name: "m1", value: "3", type: "int" }, members { name:
+// "m2", value: "7", type: "int" } } Note that the pointer address is
+// stored with the referencing variable and not with the referenced
+// variable. This allows the referenced variable to be shared between
+// pointers and references. The type field is optional. The debugger
+// agent may or may not support it.
 type Variable struct {
 	// Members: Members contained or pointed to by the variable.
 	Members []*Variable `json:"members,omitempty"`
@@ -1518,51 +1333,31 @@
 	Name string `json:"name,omitempty"`
 
 	// Status: Status associated with the variable. This field will usually
-	// stay
-	// unset. A status of a single variable only applies to that variable
-	// or
-	// expression. The rest of breakpoint data still remains valid.
-	// Variables
-	// might be reported in error state even when breakpoint is not in
-	// final
-	// state.
-	//
-	// The message may refer to variable name with `refers_to` set
-	// to
-	// `VARIABLE_NAME`. Alternatively `refers_to` will be set to
-	// `VARIABLE_VALUE`.
-	// In either case variable value and members will be unset.
-	//
-	// Example of error message applied to name: `Invalid expression
-	// syntax`.
-	//
-	// Example of information message applied to value: `Not
-	// captured`.
-	//
-	// Examples of error message applied to value:
-	//
-	// *   `Malformed string`,
-	// *   `Field f not found in class C`
-	// *   `Null pointer dereference`
+	// stay unset. A status of a single variable only applies to that
+	// variable or expression. The rest of breakpoint data still remains
+	// valid. Variables might be reported in error state even when
+	// breakpoint is not in final state. The message may refer to variable
+	// name with `refers_to` set to `VARIABLE_NAME`. Alternatively
+	// `refers_to` will be set to `VARIABLE_VALUE`. In either case variable
+	// value and members will be unset. Example of error message applied to
+	// name: `Invalid expression syntax`. Example of information message
+	// applied to value: `Not captured`. Examples of error message applied
+	// to value: * `Malformed string`, * `Field f not found in class C` *
+	// `Null pointer dereference`
 	Status *StatusMessage `json:"status,omitempty"`
 
-	// Type: Variable type (e.g. `MyClass`). If the variable is split
-	// with
-	// `var_table_index`, `type` goes next to `value`. The interpretation
-	// of
+	// Type: Variable type (e.g. `MyClass`). If the variable is split with
+	// `var_table_index`, `type` goes next to `value`. The interpretation of
 	// a type is agent specific. It is recommended to include the dynamic
-	// type
-	// rather than a static type of an object.
+	// type rather than a static type of an object.
 	Type string `json:"type,omitempty"`
 
 	// Value: Simple value of the variable.
 	Value string `json:"value,omitempty"`
 
 	// VarTableIndex: Reference to a variable in the shared variable table.
-	// More than
-	// one variable can reference the same variable in the table.
-	// The
-	// `var_table_index` field is an index into `variable_table` in
+	// More than one variable can reference the same variable in the table.
+	// The `var_table_index` field is an index into `variable_table` in
 	// Breakpoint.
 	VarTableIndex int64 `json:"varTableIndex,omitempty"`
 
@@ -1599,21 +1394,14 @@
 	header_                 http.Header
 }
 
-// Register: Registers the debuggee with the controller service.
-//
-// All agents attached to the same application must call this method
-// with
+// Register: Registers the debuggee with the controller service. 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.
-//
+// `debuggee_id`. Agents should call this method again whenever
+// `google.rpc.Code.NOT_FOUND` is returned from any controller method.
 // 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.
+// recover from data loss, or change the `debuggee_id` format. Agents
+// must handle `debuggee_id` value changing upon re-registration.
 func (r *ControllerDebuggeesService) Register(registerdebuggeerequest *RegisterDebuggeeRequest) *ControllerDebuggeesRegisterCall {
 	c := &ControllerDebuggeesRegisterCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.registerdebuggeerequest = registerdebuggeerequest
@@ -1647,7 +1435,7 @@
 
 func (c *ControllerDebuggeesRegisterCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1708,7 +1496,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Registers the debuggee with the controller service.\n\nAll agents attached to the same application must call this method with\nexactly the same request content to get back the same stable `debuggee_id`.\nAgents should call this method again whenever `google.rpc.Code.NOT_FOUND`\nis returned from any controller method.\n\nThis protocol allows the controller service to disable debuggees, recover\nfrom data loss, or change the `debuggee_id` format. Agents must handle\n`debuggee_id` value changing upon re-registration.",
+	//   "description": "Registers the debuggee with the controller service. 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 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.",
 	//   "flatPath": "v2/controller/debuggees/register",
 	//   "httpMethod": "POST",
 	//   "id": "clouddebugger.controller.debuggees.register",
@@ -1740,35 +1528,24 @@
 	header_      http.Header
 }
 
-// List: Returns the list of all active breakpoints for the
-// debuggee.
-//
+// List: Returns the list of all active breakpoints for the debuggee.
 // The breakpoint specification (`location`, `condition`, and
-// `expressions`
-// fields) is semantically immutable, although the field values
-// may
-// change. For example, an agent may update the location line number
-// to reflect the actual line where the breakpoint was set, but
-// this
-// doesn't change the breakpoint semantics.
-//
-// This means that an agent does not need to check if a breakpoint has
-// changed
-// when it encounters the same breakpoint on a successive
-// call.
-// Moreover, an agent should remember the breakpoints that are
-// completed
-// until the controller removes them from the active list to
-// avoid
-// setting those breakpoints again.
+// `expressions` fields) is semantically immutable, although the field
+// values may change. For example, an agent may update the location line
+// number to reflect the actual line where the breakpoint was set, but
+// this doesn't change the breakpoint semantics. This means that an
+// agent does not need to check if a breakpoint has changed when it
+// encounters the same breakpoint on a successive call. Moreover, an
+// agent should remember the breakpoints that are completed until the
+// controller removes them from the active list to avoid setting those
+// breakpoints again.
 func (r *ControllerDebuggeesBreakpointsService) List(debuggeeId string) *ControllerDebuggeesBreakpointsListCall {
 	c := &ControllerDebuggeesBreakpointsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.debuggeeId = debuggeeId
 	return c
 }
 
-// AgentId sets the optional parameter "agentId": Identifies the
-// agent.
+// AgentId sets the optional parameter "agentId": Identifies the agent.
 // This is the ID returned in the RegisterDebuggee response.
 func (c *ControllerDebuggeesBreakpointsListCall) AgentId(agentId string) *ControllerDebuggeesBreakpointsListCall {
 	c.urlParams_.Set("agentId", agentId)
@@ -1776,27 +1553,21 @@
 }
 
 // SuccessOnTimeout sets the optional parameter "successOnTimeout": If
-// set to `true` (recommended), returns `google.rpc.Code.OK` status
-// and
+// set to `true` (recommended), returns `google.rpc.Code.OK` status and
 // sets the `wait_expired` response field to `true` when the
-// server-selected
+// server-selected timeout has expired. If set to `false` (deprecated),
+// returns `google.rpc.Code.ABORTED` status when the server-selected
 // timeout has expired.
-//
-// If set to `false` (deprecated), returns `google.rpc.Code.ABORTED`
-// status
-// when the server-selected timeout has expired.
 func (c *ControllerDebuggeesBreakpointsListCall) SuccessOnTimeout(successOnTimeout bool) *ControllerDebuggeesBreakpointsListCall {
 	c.urlParams_.Set("successOnTimeout", fmt.Sprint(successOnTimeout))
 	return c
 }
 
 // WaitToken sets the optional parameter "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".
+// 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".
 func (c *ControllerDebuggeesBreakpointsListCall) WaitToken(waitToken string) *ControllerDebuggeesBreakpointsListCall {
 	c.urlParams_.Set("waitToken", waitToken)
 	return c
@@ -1839,7 +1610,7 @@
 
 func (c *ControllerDebuggeesBreakpointsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1901,7 +1672,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns the list of all active breakpoints for the debuggee.\n\nThe breakpoint specification (`location`, `condition`, and `expressions`\nfields) is semantically immutable, although the field values may\nchange. For example, an agent may update the location line number\nto reflect the actual line where the breakpoint was set, but this\ndoesn't change the breakpoint semantics.\n\nThis means that an agent does not need to check if a breakpoint has changed\nwhen it encounters the same breakpoint on a successive call.\nMoreover, an agent should remember the breakpoints that are completed\nuntil the controller removes them from the active list to avoid\nsetting those breakpoints again.",
+	//   "description": "Returns the list of all active breakpoints for the debuggee. The breakpoint specification (`location`, `condition`, and `expressions` fields) is semantically immutable, although the field values may change. For example, an agent may update the location line number to reflect the actual line where the breakpoint was set, but this doesn't change the breakpoint semantics. This means that an agent does not need to check if a breakpoint has changed when it encounters the same breakpoint on a successive call. Moreover, an agent should remember the breakpoints that are completed until the controller removes them from the active list to avoid setting those breakpoints again.",
 	//   "flatPath": "v2/controller/debuggees/{debuggeeId}/breakpoints",
 	//   "httpMethod": "GET",
 	//   "id": "clouddebugger.controller.debuggees.breakpoints.list",
@@ -1910,7 +1681,7 @@
 	//   ],
 	//   "parameters": {
 	//     "agentId": {
-	//       "description": "Identifies the agent.\nThis is the ID returned in the RegisterDebuggee response.",
+	//       "description": "Identifies the agent. This is the ID returned in the RegisterDebuggee response.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -1921,12 +1692,12 @@
 	//       "type": "string"
 	//     },
 	//     "successOnTimeout": {
-	//       "description": "If set to `true` (recommended), returns `google.rpc.Code.OK` status and\nsets the `wait_expired` response field to `true` when the server-selected\ntimeout has expired.\n\nIf set to `false` (deprecated), returns `google.rpc.Code.ABORTED` status\nwhen the server-selected timeout has expired.",
+	//       "description": "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` (deprecated), returns `google.rpc.Code.ABORTED` status when the server-selected timeout has expired.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
 	//     "waitToken": {
-	//       "description": "A token that, if specified, blocks the method call until the list\nof active breakpoints has changed, or a server-selected timeout has\nexpired. The value should be set from the `next_wait_token` field in\nthe last response. The initial value should be set to `\"init\"`.",
+	//       "description": "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\"`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -1955,19 +1726,14 @@
 	header_                       http.Header
 }
 
-// Update: Updates the breakpoint state or mutable fields.
-// The entire Breakpoint message must be sent back to the controller
-// service.
-//
-// Updates to active breakpoint fields are only allowed if the new
-// value
+// Update: Updates the breakpoint state or mutable fields. 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`,
-// `condition` and `expressions` fields should not alter the
-// breakpoint
-// semantics. These may only make changes such as canonicalizing a
-// value
-// or snapping the location to the correct line of code.
+// `location`, `condition` and `expressions` fields should not alter the
+// breakpoint semantics. These may only make changes such as
+// canonicalizing a value or snapping the location to the correct line
+// of code.
 func (r *ControllerDebuggeesBreakpointsService) Update(debuggeeId string, id string, updateactivebreakpointrequest *UpdateActiveBreakpointRequest) *ControllerDebuggeesBreakpointsUpdateCall {
 	c := &ControllerDebuggeesBreakpointsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.debuggeeId = debuggeeId
@@ -2003,7 +1769,7 @@
 
 func (c *ControllerDebuggeesBreakpointsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2068,7 +1834,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates the breakpoint state or mutable fields.\nThe entire Breakpoint message must be sent back to the controller service.\n\nUpdates to active breakpoint fields are only allowed if the new value\ndoes not change the breakpoint specification. Updates to the `location`,\n`condition` and `expressions` fields should not alter the breakpoint\nsemantics. These may only make changes such as canonicalizing a value\nor snapping the location to the correct line of code.",
+	//   "description": "Updates the breakpoint state or mutable fields. 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`, `condition` and `expressions` fields should not alter the breakpoint semantics. These may only make changes such as canonicalizing a value or snapping the location to the correct line of code.",
 	//   "flatPath": "v2/controller/debuggees/{debuggeeId}/breakpoints/{id}",
 	//   "httpMethod": "PUT",
 	//   "id": "clouddebugger.controller.debuggees.breakpoints.update",
@@ -2122,16 +1888,15 @@
 }
 
 // ClientVersion sets the optional parameter "clientVersion": Required.
-// The client version making the call.
-// Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).
+// The client version making the call. Schema: `domain/type/version`
+// (e.g., `google.com/intellij/v1`).
 func (c *DebuggerDebuggeesListCall) ClientVersion(clientVersion string) *DebuggerDebuggeesListCall {
 	c.urlParams_.Set("clientVersion", clientVersion)
 	return c
 }
 
 // IncludeInactive sets the optional parameter "includeInactive": When
-// set to `true`, the result includes all debuggees. Otherwise,
-// the
+// set to `true`, the result includes all debuggees. Otherwise, the
 // result includes only debuggees that are active.
 func (c *DebuggerDebuggeesListCall) IncludeInactive(includeInactive bool) *DebuggerDebuggeesListCall {
 	c.urlParams_.Set("includeInactive", fmt.Sprint(includeInactive))
@@ -2182,7 +1947,7 @@
 
 func (c *DebuggerDebuggeesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2248,12 +2013,12 @@
 	//   "parameterOrder": [],
 	//   "parameters": {
 	//     "clientVersion": {
-	//       "description": "Required. The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
+	//       "description": "Required. The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "includeInactive": {
-	//       "description": "When set to `true`, the result includes all debuggees. Otherwise, the\nresult includes only debuggees that are active.",
+	//       "description": "When set to `true`, the result includes all debuggees. Otherwise, the result includes only debuggees that are active.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -2295,8 +2060,8 @@
 }
 
 // ClientVersion sets the optional parameter "clientVersion": Required.
-// The client version making the call.
-// Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).
+// The client version making the call. Schema: `domain/type/version`
+// (e.g., `google.com/intellij/v1`).
 func (c *DebuggerDebuggeesBreakpointsDeleteCall) ClientVersion(clientVersion string) *DebuggerDebuggeesBreakpointsDeleteCall {
 	c.urlParams_.Set("clientVersion", clientVersion)
 	return c
@@ -2329,7 +2094,7 @@
 
 func (c *DebuggerDebuggeesBreakpointsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2405,7 +2170,7 @@
 	//       "type": "string"
 	//     },
 	//     "clientVersion": {
-	//       "description": "Required. The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
+	//       "description": "Required. The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -2449,8 +2214,8 @@
 }
 
 // ClientVersion sets the optional parameter "clientVersion": Required.
-// The client version making the call.
-// Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).
+// The client version making the call. Schema: `domain/type/version`
+// (e.g., `google.com/intellij/v1`).
 func (c *DebuggerDebuggeesBreakpointsGetCall) ClientVersion(clientVersion string) *DebuggerDebuggeesBreakpointsGetCall {
 	c.urlParams_.Set("clientVersion", clientVersion)
 	return c
@@ -2493,7 +2258,7 @@
 
 func (c *DebuggerDebuggeesBreakpointsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2572,7 +2337,7 @@
 	//       "type": "string"
 	//     },
 	//     "clientVersion": {
-	//       "description": "Required. The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
+	//       "description": "Required. The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -2617,24 +2382,26 @@
 // breakpoints with the specified action will pass the filter.
 //
 // Possible values:
-//   "CAPTURE"
-//   "LOG"
+//   "CAPTURE" - Capture stack frame and variables and update the
+// breakpoint. The data is only captured once. After that the breakpoint
+// is set in a final state.
+//   "LOG" - Log each breakpoint hit. The breakpoint remains active
+// until deleted or expired.
 func (c *DebuggerDebuggeesBreakpointsListCall) ActionValue(actionValue string) *DebuggerDebuggeesBreakpointsListCall {
 	c.urlParams_.Set("action.value", actionValue)
 	return c
 }
 
 // ClientVersion sets the optional parameter "clientVersion": Required.
-// The client version making the call.
-// Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).
+// The client version making the call. Schema: `domain/type/version`
+// (e.g., `google.com/intellij/v1`).
 func (c *DebuggerDebuggeesBreakpointsListCall) ClientVersion(clientVersion string) *DebuggerDebuggeesBreakpointsListCall {
 	c.urlParams_.Set("clientVersion", clientVersion)
 	return c
 }
 
 // IncludeAllUsers sets the optional parameter "includeAllUsers": When
-// set to `true`, the response includes the list of breakpoints set
-// by
+// set to `true`, the response includes the list of breakpoints set by
 // any user. Otherwise, it includes only breakpoints set by the caller.
 func (c *DebuggerDebuggeesBreakpointsListCall) IncludeAllUsers(includeAllUsers bool) *DebuggerDebuggeesBreakpointsListCall {
 	c.urlParams_.Set("includeAllUsers", fmt.Sprint(includeAllUsers))
@@ -2642,31 +2409,27 @@
 }
 
 // IncludeInactive sets the optional parameter "includeInactive": When
-// set to `true`, the response includes active and inactive
-// breakpoints. Otherwise, it includes only active breakpoints.
+// set to `true`, the response includes active and inactive breakpoints.
+// Otherwise, it includes only active breakpoints.
 func (c *DebuggerDebuggeesBreakpointsListCall) IncludeInactive(includeInactive bool) *DebuggerDebuggeesBreakpointsListCall {
 	c.urlParams_.Set("includeInactive", fmt.Sprint(includeInactive))
 	return c
 }
 
 // StripResults sets the optional parameter "stripResults": This field
-// is deprecated. The following fields are always stripped out of
-// the result: `stack_frames`, `evaluated_expressions` and
-// `variable_table`.
+// is deprecated. The following fields are always stripped out of the
+// result: `stack_frames`, `evaluated_expressions` and `variable_table`.
 func (c *DebuggerDebuggeesBreakpointsListCall) StripResults(stripResults bool) *DebuggerDebuggeesBreakpointsListCall {
 	c.urlParams_.Set("stripResults", fmt.Sprint(stripResults))
 	return c
 }
 
 // WaitToken sets the optional parameter "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
-// should be set from the last response. The error
-// code
-// `google.rpc.Code.ABORTED` (RPC) is returned on wait timeout,
-// which
-// should be called again with the same `wait_token`.
+// if specified, blocks the call until the breakpoints list has changed,
+// or a server selected timeout has expired. The value should be set
+// from the last response. The error code `google.rpc.Code.ABORTED`
+// (RPC) is returned on wait timeout, which should be called again with
+// the same `wait_token`.
 func (c *DebuggerDebuggeesBreakpointsListCall) WaitToken(waitToken string) *DebuggerDebuggeesBreakpointsListCall {
 	c.urlParams_.Set("waitToken", waitToken)
 	return c
@@ -2709,7 +2472,7 @@
 
 func (c *DebuggerDebuggeesBreakpointsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2785,11 +2548,15 @@
 	//         "CAPTURE",
 	//         "LOG"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Capture stack frame and variables and update the breakpoint. The data is only captured once. After that the breakpoint is set in a final state.",
+	//         "Log each breakpoint hit. The breakpoint remains active until deleted or expired."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "clientVersion": {
-	//       "description": "Required. The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
+	//       "description": "Required. The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -2800,22 +2567,22 @@
 	//       "type": "string"
 	//     },
 	//     "includeAllUsers": {
-	//       "description": "When set to `true`, the response includes the list of breakpoints set by\nany user. Otherwise, it includes only breakpoints set by the caller.",
+	//       "description": "When set to `true`, the response includes the list of breakpoints set by any user. Otherwise, it includes only breakpoints set by the caller.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
 	//     "includeInactive": {
-	//       "description": "When set to `true`, the response includes active and inactive\nbreakpoints. Otherwise, it includes only active breakpoints.",
+	//       "description": "When set to `true`, the response includes active and inactive breakpoints. Otherwise, it includes only active breakpoints.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
 	//     "stripResults": {
-	//       "description": "This field is deprecated. The following fields are always stripped out of\nthe result: `stack_frames`, `evaluated_expressions` and `variable_table`.",
+	//       "description": "This field is deprecated. The following fields are always stripped out of the result: `stack_frames`, `evaluated_expressions` and `variable_table`.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
 	//     "waitToken": {
-	//       "description": "A wait token that, if specified, blocks the call until the breakpoints\nlist has changed, or a server selected timeout has expired.  The value\nshould be set from the last response. The error code\n`google.rpc.Code.ABORTED` (RPC) is returned on wait timeout, which\nshould be called again with the same `wait_token`.",
+	//       "description": "A wait token that, if specified, blocks the call until the breakpoints list has changed, or a server selected timeout has expired. The value should be set from the last response. The error code `google.rpc.Code.ABORTED` (RPC) is returned on wait timeout, which should be called again with the same `wait_token`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -2855,17 +2622,22 @@
 // option set by the user upon setting breakpoint.
 //
 // Possible values:
-//   "CANARY_OPTION_UNSPECIFIED"
-//   "CANARY_OPTION_TRY_ENABLE"
-//   "CANARY_OPTION_TRY_DISABLE"
+//   "CANARY_OPTION_UNSPECIFIED" - Depends on the canary_mode of the
+// debuggee.
+//   "CANARY_OPTION_TRY_ENABLE" - Enable the canary for this breakpoint
+// if the canary_mode of the debuggee is not CANARY_MODE_ALWAYS_ENABLED
+// or CANARY_MODE_ALWAYS_DISABLED.
+//   "CANARY_OPTION_TRY_DISABLE" - Disable the canary for this
+// breakpoint if the canary_mode of the debuggee is not
+// CANARY_MODE_ALWAYS_ENABLED or CANARY_MODE_ALWAYS_DISABLED.
 func (c *DebuggerDebuggeesBreakpointsSetCall) CanaryOption(canaryOption string) *DebuggerDebuggeesBreakpointsSetCall {
 	c.urlParams_.Set("canaryOption", canaryOption)
 	return c
 }
 
 // ClientVersion sets the optional parameter "clientVersion": Required.
-// The client version making the call.
-// Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).
+// The client version making the call. Schema: `domain/type/version`
+// (e.g., `google.com/intellij/v1`).
 func (c *DebuggerDebuggeesBreakpointsSetCall) ClientVersion(clientVersion string) *DebuggerDebuggeesBreakpointsSetCall {
 	c.urlParams_.Set("clientVersion", clientVersion)
 	return c
@@ -2898,7 +2670,7 @@
 
 func (c *DebuggerDebuggeesBreakpointsSetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2977,11 +2749,16 @@
 	//         "CANARY_OPTION_TRY_ENABLE",
 	//         "CANARY_OPTION_TRY_DISABLE"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Depends on the canary_mode of the debuggee.",
+	//         "Enable the canary for this breakpoint if the canary_mode of the debuggee is not CANARY_MODE_ALWAYS_ENABLED or CANARY_MODE_ALWAYS_DISABLED.",
+	//         "Disable the canary for this breakpoint if the canary_mode of the debuggee is not CANARY_MODE_ALWAYS_ENABLED or CANARY_MODE_ALWAYS_DISABLED."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "clientVersion": {
-	//       "description": "Required. The client version making the call.\nSchema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
+	//       "description": "Required. The client version making the call. Schema: `domain/type/version` (e.g., `google.com/intellij/v1`).",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
diff --git a/clouderrorreporting/v1beta1/clouderrorreporting-api.json b/clouderrorreporting/v1beta1/clouderrorreporting-api.json
index 778c1e0..43fec19 100644
--- a/clouderrorreporting/v1beta1/clouderrorreporting-api.json
+++ b/clouderrorreporting/v1beta1/clouderrorreporting-api.json
@@ -12,7 +12,7 @@
   "baseUrl": "https://clouderrorreporting.googleapis.com/",
   "batchPath": "batch",
   "canonicalName": "Clouderrorreporting",
-  "description": "Groups and counts similar errors from cloud services and applications, reports new errors, and provides access to error groups and their associated errors.\n",
+  "description": "Groups and counts similar errors from cloud services and applications, reports new errors, and provides access to error groups and their associated errors. ",
   "discoveryVersion": "v1",
   "documentationLink": "https://cloud.google.com/error-reporting/",
   "icons": {
@@ -116,7 +116,7 @@
           ],
           "parameters": {
             "projectName": {
-              "description": "Required. The resource name of the Google Cloud Platform project. Written\nas `projects/{projectID}`, where `{projectID}` is the\n[Google Cloud Platform project\nID](https://support.google.com/cloud/answer/6158840).\n\nExample: `projects/my-project-123`.",
+              "description": "Required. The resource name of the Google Cloud Platform project. Written as `projects/{projectID}`, where `{projectID}` is the [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840). Example: `projects/my-project-123`.",
               "location": "path",
               "pattern": "^projects/[^/]+$",
               "required": true,
@@ -161,24 +161,24 @@
                   "type": "string"
                 },
                 "projectName": {
-                  "description": "Required. The resource name of the Google Cloud Platform project. Written\nas `projects/{projectID}`, where `{projectID}` is the\n[Google Cloud Platform project\nID](https://support.google.com/cloud/answer/6158840).\n\nExample: `projects/my-project-123`.",
+                  "description": "Required. The resource name of the Google Cloud Platform project. Written as `projects/{projectID}`, where `{projectID}` is the [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840). Example: `projects/my-project-123`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
                   "type": "string"
                 },
                 "serviceFilter.resourceType": {
-                  "description": "Optional. The exact value to match against\n[`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type).",
+                  "description": "Optional. The exact value to match against [`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type).",
                   "location": "query",
                   "type": "string"
                 },
                 "serviceFilter.service": {
-                  "description": "Optional. The exact value to match against\n[`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).",
+                  "description": "Optional. The exact value to match against [`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).",
                   "location": "query",
                   "type": "string"
                 },
                 "serviceFilter.version": {
-                  "description": "Optional. The exact value to match against\n[`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).",
+                  "description": "Optional. The exact value to match against [`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).",
                   "location": "query",
                   "type": "string"
                 },
@@ -192,6 +192,14 @@
                     "PERIOD_1_WEEK",
                     "PERIOD_30_DAYS"
                   ],
+                  "enumDescriptions": [
+                    "Do not use.",
+                    "Retrieve data for the last hour. Recommended minimum timed count duration: 1 min.",
+                    "Retrieve data for the last 6 hours. Recommended minimum timed count duration: 10 min.",
+                    "Retrieve data for the last day. Recommended minimum timed count duration: 1 hour.",
+                    "Retrieve data for the last week. Recommended minimum timed count duration: 6 hours.",
+                    "Retrieve data for the last 30 days. Recommended minimum timed count duration: 1 day."
+                  ],
                   "location": "query",
                   "type": "string"
                 }
@@ -205,7 +213,7 @@
               ]
             },
             "report": {
-              "description": "Report an individual error event.\n\nThis endpoint accepts **either** an OAuth token,\n**or** an [API key](https://support.google.com/cloud/answer/6158862)\nfor authentication. To use an API key, append it to the URL as the value of\na `key` parameter. For example:\n\n`POST\nhttps://clouderrorreporting.googleapis.com/v1beta1/{projectName}/events:report?key=123ABC456`",
+              "description": "Report an individual error event. This endpoint accepts **either** an OAuth token, **or** an [API key](https://support.google.com/cloud/answer/6158862) for authentication. To use an API key, append it to the URL as the value of a `key` parameter. For example: `POST https://clouderrorreporting.googleapis.com/v1beta1/{projectName}/events:report?key=123ABC456`",
               "flatPath": "v1beta1/projects/{projectsId}/events:report",
               "httpMethod": "POST",
               "id": "clouderrorreporting.projects.events.report",
@@ -214,7 +222,7 @@
               ],
               "parameters": {
                 "projectName": {
-                  "description": "Required. The resource name of the Google Cloud Platform project. Written\nas `projects/{projectId}`, where `{projectId}` is the\n[Google Cloud Platform project\nID](https://support.google.com/cloud/answer/6158840).\n\nExample: // `projects/my-project-123`.",
+                  "description": "Required. The resource name of the Google Cloud Platform project. Written as `projects/{projectId}`, where `{projectId}` is the [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840). Example: // `projects/my-project-123`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
@@ -246,29 +254,34 @@
               ],
               "parameters": {
                 "alignment": {
-                  "description": "Optional. The alignment of the timed counts to be returned.\nDefault is `ALIGNMENT_EQUAL_AT_END`.",
+                  "description": "Optional. The alignment of the timed counts to be returned. Default is `ALIGNMENT_EQUAL_AT_END`.",
                   "enum": [
                     "ERROR_COUNT_ALIGNMENT_UNSPECIFIED",
                     "ALIGNMENT_EQUAL_ROUNDED",
                     "ALIGNMENT_EQUAL_AT_END"
                   ],
+                  "enumDescriptions": [
+                    "No alignment specified.",
+                    "The time periods shall be consecutive, have width equal to the requested duration, and be aligned at the `alignment_time` provided in the request. The `alignment_time` does not have to be inside the query period but even if it is outside, only time periods are returned which overlap with the query period. A rounded alignment will typically result in a different size of the first or the last time period.",
+                    "The time periods shall be consecutive, have width equal to the requested duration, and be aligned at the end of the requested time period. This can result in a different size of the first time period."
+                  ],
                   "location": "query",
                   "type": "string"
                 },
                 "alignmentTime": {
-                  "description": "Optional. Time where the timed counts shall be aligned if rounded\nalignment is chosen. Default is 00:00 UTC.",
+                  "description": "Optional. Time where the timed counts shall be aligned if rounded alignment is chosen. Default is 00:00 UTC.",
                   "format": "google-datetime",
                   "location": "query",
                   "type": "string"
                 },
                 "groupId": {
-                  "description": "Optional. List all \u003ccode\u003eErrorGroupStats\u003c/code\u003e with these IDs.",
+                  "description": "Optional. List all ErrorGroupStats with these IDs.",
                   "location": "query",
                   "repeated": true,
                   "type": "string"
                 },
                 "order": {
-                  "description": "Optional. The sort order in which the results are returned.\nDefault is `COUNT_DESC`.",
+                  "description": "Optional. The sort order in which the results are returned. Default is `COUNT_DESC`.",
                   "enum": [
                     "GROUP_ORDER_UNSPECIFIED",
                     "COUNT_DESC",
@@ -276,39 +289,46 @@
                     "CREATED_DESC",
                     "AFFECTED_USERS_DESC"
                   ],
+                  "enumDescriptions": [
+                    "No group order specified.",
+                    "Total count of errors in the given time window in descending order.",
+                    "Timestamp when the group was last seen in the given time window in descending order.",
+                    "Timestamp when the group was created in descending order.",
+                    "Number of affected users in the given time window in descending order."
+                  ],
                   "location": "query",
                   "type": "string"
                 },
                 "pageSize": {
-                  "description": "Optional. The maximum number of results to return per response.\nDefault is 20.",
+                  "description": "Optional. The maximum number of results to return per response. Default is 20.",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "Optional. A `next_page_token` provided by a previous response. To view\nadditional results, pass this token along with the identical query\nparameters as the first request.",
+                  "description": "Optional. A `next_page_token` provided by a previous response. To view additional results, pass this token along with the identical query parameters as the first request.",
                   "location": "query",
                   "type": "string"
                 },
                 "projectName": {
-                  "description": "Required. The resource name of the Google Cloud Platform project. Written\nas `projects/{projectID}`, where `{projectID}` is the\n[Google Cloud Platform project\nID](https://support.google.com/cloud/answer/6158840).\n\nExample: `projects/my-project-123`.",
+                  "description": "Required. The resource name of the Google Cloud Platform project. Written as `projects/{projectID}`, where `{projectID}` is the [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840). Example: `projects/my-project-123`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
                   "type": "string"
                 },
                 "serviceFilter.resourceType": {
-                  "description": "Optional. The exact value to match against\n[`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type).",
+                  "description": "Optional. The exact value to match against [`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type).",
                   "location": "query",
                   "type": "string"
                 },
                 "serviceFilter.service": {
-                  "description": "Optional. The exact value to match against\n[`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).",
+                  "description": "Optional. The exact value to match against [`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).",
                   "location": "query",
                   "type": "string"
                 },
                 "serviceFilter.version": {
-                  "description": "Optional. The exact value to match against\n[`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).",
+                  "description": "Optional. The exact value to match against [`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).",
                   "location": "query",
                   "type": "string"
                 },
@@ -322,11 +342,19 @@
                     "PERIOD_1_WEEK",
                     "PERIOD_30_DAYS"
                   ],
+                  "enumDescriptions": [
+                    "Do not use.",
+                    "Retrieve data for the last hour. Recommended minimum timed count duration: 1 min.",
+                    "Retrieve data for the last 6 hours. Recommended minimum timed count duration: 10 min.",
+                    "Retrieve data for the last day. Recommended minimum timed count duration: 1 hour.",
+                    "Retrieve data for the last week. Recommended minimum timed count duration: 6 hours.",
+                    "Retrieve data for the last 30 days. Recommended minimum timed count duration: 1 day."
+                  ],
                   "location": "query",
                   "type": "string"
                 },
                 "timedCountDuration": {
-                  "description": "Optional. The preferred duration for a single returned `TimedCount`.\nIf not set, no timed counts are returned.",
+                  "description": "Optional. The preferred duration for a single returned `TimedCount`. If not set, no timed counts are returned.",
                   "format": "google-duration",
                   "location": "query",
                   "type": "string"
@@ -354,7 +382,7 @@
               ],
               "parameters": {
                 "groupName": {
-                  "description": "Required. The group resource name. Written as\n`projects/{projectID}/groups/{group_name}`. Call\n[`groupStats.list`](https://cloud.google.com/error-reporting/reference/rest/v1beta1/projects.groupStats/list)\nto return a list of groups belonging to this project.\n\nExample: `projects/my-project-123/groups/my-group`",
+                  "description": "Required. The group resource name. Written as `projects/{projectID}/groups/{group_name}`. Call [`groupStats.list`](https://cloud.google.com/error-reporting/reference/rest/v1beta1/projects.groupStats/list) to return a list of groups belonging to this project. Example: `projects/my-project-123/groups/my-group`",
                   "location": "path",
                   "pattern": "^projects/[^/]+/groups/[^/]+$",
                   "required": true,
@@ -370,7 +398,7 @@
               ]
             },
             "update": {
-              "description": "Replace the data for the specified group.\nFails if the group does not exist.",
+              "description": "Replace the data for the specified group. Fails if the group does not exist.",
               "flatPath": "v1beta1/projects/{projectsId}/groups/{groupsId}",
               "httpMethod": "PUT",
               "id": "clouderrorreporting.projects.groups.update",
@@ -379,7 +407,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "The group resource name.\nExample: \u003ccode\u003eprojects/my-project-123/groups/CNSgkpnppqKCUw\u003c/code\u003e",
+                  "description": "The group resource name. Example: projects/my-project-123/groups/CNSgkpnppqKCUw",
                   "location": "path",
                   "pattern": "^projects/[^/]+/groups/[^/]+$",
                   "required": true,
@@ -402,7 +430,7 @@
       }
     }
   },
-  "revision": "20200723",
+  "revision": "20200806",
   "rootUrl": "https://clouderrorreporting.googleapis.com/",
   "schemas": {
     "DeleteEventsResponse": {
@@ -412,26 +440,26 @@
       "type": "object"
     },
     "ErrorContext": {
-      "description": "A description of the context in which an error occurred.\nThis data should be provided by the application when reporting an error,\nunless the\nerror report has been generated automatically from Google App Engine logs.",
+      "description": "A description of the context in which an error occurred. This data should be provided by the application when reporting an error, unless the error report has been generated automatically from Google App Engine logs.",
       "id": "ErrorContext",
       "properties": {
         "httpRequest": {
           "$ref": "HttpRequestContext",
-          "description": "The HTTP request which was processed when the error was\ntriggered."
+          "description": "The HTTP request which was processed when the error was triggered."
         },
         "reportLocation": {
           "$ref": "SourceLocation",
-          "description": "The location in the source code where the decision was made to\nreport the error, usually the place where it was logged.\nFor a logged exception this would be the source line where the\nexception is logged, usually close to the place where it was\ncaught."
+          "description": "The location in the source code where the decision was made to report the error, usually the place where it was logged. For a logged exception this would be the source line where the exception is logged, usually close to the place where it was caught."
         },
         "sourceReferences": {
-          "description": "Source code that was used to build the executable which has\ncaused the given error message.",
+          "description": "Source code that was used to build the executable which has caused the given error message.",
           "items": {
             "$ref": "SourceReference"
           },
           "type": "array"
         },
         "user": {
-          "description": "The user who caused or was affected by the crash.\nThis can be a user ID, an email address, or an arbitrary token that\nuniquely identifies the user.\nWhen sending an error report, leave this field empty if the user was not\nlogged in. In this case the\nError Reporting system will use other data, such as remote IP address, to\ndistinguish affected users. See `affected_users_count` in\n`ErrorGroupStats`.",
+          "description": "The user who caused or was affected by the crash. This can be a user ID, an email address, or an arbitrary token that uniquely identifies the user. When sending an error report, leave this field empty if the user was not logged in. In this case the Error Reporting system will use other data, such as remote IP address, to distinguish affected users. See `affected_users_count` in `ErrorGroupStats`.",
           "type": "string"
         }
       },
@@ -446,7 +474,7 @@
           "description": "Data about the context in which the error occurred."
         },
         "eventTime": {
-          "description": "Time when the event occurred as provided in the error report.\nIf the report did not contain a timestamp, the time the error was received\nby the Error Reporting system is used.",
+          "description": "Time when the event occurred as provided in the error report. If the report did not contain a timestamp, the time the error was received by the Error Reporting system is used.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -466,15 +494,15 @@
       "id": "ErrorGroup",
       "properties": {
         "groupId": {
-          "description": "Group IDs are unique for a given project. If the same kind of error\noccurs in different service contexts, it will receive the same group ID.",
+          "description": "Group IDs are unique for a given project. If the same kind of error occurs in different service contexts, it will receive the same group ID.",
           "type": "string"
         },
         "name": {
-          "description": "The group resource name.\nExample: \u003ccode\u003eprojects/my-project-123/groups/CNSgkpnppqKCUw\u003c/code\u003e",
+          "description": "The group resource name. Example: projects/my-project-123/groups/CNSgkpnppqKCUw",
           "type": "string"
         },
         "resolutionStatus": {
-          "description": "Error group's resolution status.\n\nAn unspecified resolution status will be interpreted as OPEN",
+          "description": "Error group's resolution status. An unspecified resolution status will be interpreted as OPEN",
           "enum": [
             "RESOLUTION_STATUS_UNSPECIFIED",
             "OPEN",
@@ -484,9 +512,9 @@
           ],
           "enumDescriptions": [
             "Status is unknown.",
-            "The error group is not being addressed. This is the default for\nnew groups. It is also used for errors re-occuring after marked RESOLVED.",
+            "The error group is not being addressed. This is the default for new groups. It is also used for errors re-occuring after marked RESOLVED.",
             "Error Group manually acknowledged, it can have an issue link attached.",
-            "Error Group manually resolved, more events for this group are not expected\nto occur.",
+            "Error Group manually resolved, more events for this group are not expected to occur.",
             "The error group is muted and excluded by default on group stats requests."
           ],
           "type": "string"
@@ -502,28 +530,28 @@
       "type": "object"
     },
     "ErrorGroupStats": {
-      "description": "Data extracted for a specific group based on certain filter criteria,\nsuch as a given time period and/or service filter.",
+      "description": "Data extracted for a specific group based on certain filter criteria, such as a given time period and/or service filter.",
       "id": "ErrorGroupStats",
       "properties": {
         "affectedServices": {
-          "description": "Service contexts with a non-zero error count for the given filter\ncriteria. This list can be truncated if multiple services are affected.\nRefer to `num_affected_services` for the total count.",
+          "description": "Service contexts with a non-zero error count for the given filter criteria. This list can be truncated if multiple services are affected. Refer to `num_affected_services` for the total count.",
           "items": {
             "$ref": "ServiceContext"
           },
           "type": "array"
         },
         "affectedUsersCount": {
-          "description": "Approximate number of affected users in the given group that\nmatch the filter criteria.\nUsers are distinguished by data in the `ErrorContext` of the\nindividual error events, such as their login name or their remote\nIP address in case of HTTP requests.\nThe number of affected users can be zero even if the number of\nerrors is non-zero if no data was provided from which the\naffected user could be deduced.\nUsers are counted based on data in the request\ncontext that was provided in the error report. If more users are\nimplicitly affected, such as due to a crash of the whole service,\nthis is not reflected here.",
+          "description": "Approximate number of affected users in the given group that match the filter criteria. Users are distinguished by data in the `ErrorContext` of the individual error events, such as their login name or their remote IP address in case of HTTP requests. The number of affected users can be zero even if the number of errors is non-zero if no data was provided from which the affected user could be deduced. Users are counted based on data in the request context that was provided in the error report. If more users are implicitly affected, such as due to a crash of the whole service, this is not reflected here.",
           "format": "int64",
           "type": "string"
         },
         "count": {
-          "description": "Approximate total number of events in the given group that match\nthe filter criteria.",
+          "description": "Approximate total number of events in the given group that match the filter criteria.",
           "format": "int64",
           "type": "string"
         },
         "firstSeenTime": {
-          "description": "Approximate first occurrence that was ever seen for this group\nand which matches the given filter criteria, ignoring the\ntime_range that was specified in the request.",
+          "description": "Approximate first occurrence that was ever seen for this group and which matches the given filter criteria, ignoring the time_range that was specified in the request.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -532,21 +560,21 @@
           "description": "Group data that is independent of the filter criteria."
         },
         "lastSeenTime": {
-          "description": "Approximate last occurrence that was ever seen for this group and\nwhich matches the given filter criteria, ignoring the time_range\nthat was specified in the request.",
+          "description": "Approximate last occurrence that was ever seen for this group and which matches the given filter criteria, ignoring the time_range that was specified in the request.",
           "format": "google-datetime",
           "type": "string"
         },
         "numAffectedServices": {
-          "description": "The total number of services with a non-zero error count for the given\nfilter criteria.",
+          "description": "The total number of services with a non-zero error count for the given filter criteria.",
           "format": "int32",
           "type": "integer"
         },
         "representative": {
           "$ref": "ErrorEvent",
-          "description": "An arbitrary event that is chosen as representative for the whole group.\nThe representative event is intended to be used as a quick preview for\nthe whole group. Events in the group are usually sufficiently similar\nto each other such that showing an arbitrary representative provides\ninsight into the characteristics of the group as a whole."
+          "description": "An arbitrary event that is chosen as representative for the whole group. The representative event is intended to be used as a quick preview for the whole group. Events in the group are usually sufficiently similar to each other such that showing an arbitrary representative provides insight into the characteristics of the group as a whole."
         },
         "timedCounts": {
-          "description": "Approximate number of occurrences over time.\nTimed counts returned by ListGroups are guaranteed to be:\n\n- Inside the requested time interval\n- Non-overlapping, and\n- Ordered by ascending time.",
+          "description": "Approximate number of occurrences over time. Timed counts returned by ListGroups are guaranteed to be: - Inside the requested time interval - Non-overlapping, and - Ordered by ascending time.",
           "items": {
             "$ref": "TimedCount"
           },
@@ -556,7 +584,7 @@
       "type": "object"
     },
     "HttpRequestContext": {
-      "description": "HTTP request data that is related to a reported error.\nThis data should be provided by the application when reporting an error,\nunless the\nerror report has been generated automatically from Google App Engine logs.",
+      "description": "HTTP request data that is related to a reported error. This data should be provided by the application when reporting an error, unless the error report has been generated automatically from Google App Engine logs.",
       "id": "HttpRequestContext",
       "properties": {
         "method": {
@@ -568,7 +596,7 @@
           "type": "string"
         },
         "remoteIp": {
-          "description": "The IP address from which the request originated.\nThis can be IPv4, IPv6, or a token which is derived from the\nIP address, depending on the data that has been provided\nin the error report.",
+          "description": "The IP address from which the request originated. This can be IPv4, IPv6, or a token which is derived from the IP address, depending on the data that has been provided in the error report.",
           "type": "string"
         },
         "responseStatusCode": {
@@ -599,7 +627,7 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "If non-empty, more results are available.\nPass this token, along with the same query parameters as the first\nrequest, to view the next page of results.",
+          "description": "If non-empty, more results are available. Pass this token, along with the same query parameters as the first request, to view the next page of results.",
           "type": "string"
         },
         "timeRangeBegin": {
@@ -622,11 +650,11 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "If non-empty, more results are available.\nPass this token, along with the same query parameters as the first\nrequest, to view the next page of results.",
+          "description": "If non-empty, more results are available. Pass this token, along with the same query parameters as the first request, to view the next page of results.",
           "type": "string"
         },
         "timeRangeBegin": {
-          "description": "The timestamp specifies the start time to which the request was restricted.\nThe start time is set based on the requested time range. It may be adjusted\nto a later time if a project has exceeded the storage quota and older data\nhas been deleted.",
+          "description": "The timestamp specifies the start time to which the request was restricted. The start time is set based on the requested time range. It may be adjusted to a later time if a project has exceeded the storage quota and older data has been deleted.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -634,7 +662,7 @@
       "type": "object"
     },
     "ReportErrorEventResponse": {
-      "description": "Response for reporting an individual error event.\nData may be added to this message in the future.",
+      "description": "Response for reporting an individual error event. Data may be added to this message in the future.",
       "id": "ReportErrorEventResponse",
       "properties": {},
       "type": "object"
@@ -648,12 +676,12 @@
           "description": "Optional. A description of the context in which the error occurred."
         },
         "eventTime": {
-          "description": "Optional. Time when the event occurred.\nIf not provided, the time when the event was received by the\nError Reporting system will be used.",
+          "description": "Optional. Time when the event occurred. If not provided, the time when the event was received by the Error Reporting system will be used.",
           "format": "google-datetime",
           "type": "string"
         },
         "message": {
-          "description": "Required. The error message.\nIf no `context.reportLocation` is provided, the message must contain a\nheader (typically consisting of the exception type name and an error\nmessage) and an exception stack trace in one of the supported programming\nlanguages and formats.\nSupported languages are Java, Python, JavaScript, Ruby, C#, PHP, and Go.\nSupported stack trace formats are:\n\n* **Java**: Must be the return value of\n[`Throwable.printStackTrace()`](https://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html#printStackTrace%28%29).\n* **Python**: Must be the return value of\n[`traceback.format_exc()`](https://docs.python.org/2/library/traceback.html#traceback.format_exc).\n* **JavaScript**: Must be the value of\n[`error.stack`](https://github.com/v8/v8/wiki/Stack-Trace-API) as returned\nby V8.\n* **Ruby**: Must contain frames returned by\n[`Exception.backtrace`](https://ruby-doc.org/core-2.2.0/Exception.html#method-i-backtrace).\n* **C#**: Must be the return value of\n[`Exception.ToString()`](https://msdn.microsoft.com/en-us/library/system.exception.tostring.aspx).\n* **PHP**: Must start with `PHP (Notice|Parse error|Fatal error|Warning)`\nand contain the result of\n[`(string)$exception`](http://php.net/manual/en/exception.tostring.php).\n* **Go**: Must be the return value of\n[`runtime.Stack()`](https://golang.org/pkg/runtime/debug/#Stack).",
+          "description": "Required. The error message. If no `context.reportLocation` is provided, the message must contain a header (typically consisting of the exception type name and an error message) and an exception stack trace in one of the supported programming languages and formats. Supported languages are Java, Python, JavaScript, Ruby, C#, PHP, and Go. Supported stack trace formats are: * **Java**: Must be the return value of [`Throwable.printStackTrace()`](https://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html#printStackTrace%28%29). * **Python**: Must be the return value of [`traceback.format_exc()`](https://docs.python.org/2/library/traceback.html#traceback.format_exc). * **JavaScript**: Must be the value of [`error.stack`](https://github.com/v8/v8/wiki/Stack-Trace-API) as returned by V8. * **Ruby**: Must contain frames returned by [`Exception.backtrace`](https://ruby-doc.org/core-2.2.0/Exception.html#method-i-backtrace). * **C#**: Must be the return value of [`Exception.ToString()`](https://msdn.microsoft.com/en-us/library/system.exception.tostring.aspx). * **PHP**: Must start with `PHP (Notice|Parse error|Fatal error|Warning)` and contain the result of [`(string)$exception`](http://php.net/manual/en/exception.tostring.php). * **Go**: Must be the return value of [`runtime.Stack()`](https://golang.org/pkg/runtime/debug/#Stack).",
           "type": "string"
         },
         "serviceContext": {
@@ -664,34 +692,34 @@
       "type": "object"
     },
     "ServiceContext": {
-      "description": "Describes a running service that sends errors.\nIts version changes over time and multiple versions can run in parallel.",
+      "description": "Describes a running service that sends errors. Its version changes over time and multiple versions can run in parallel.",
       "id": "ServiceContext",
       "properties": {
         "resourceType": {
-          "description": "Type of the MonitoredResource. List of possible values:\nhttps://cloud.google.com/monitoring/api/resources\n\nValue is set automatically for incoming errors and must not be set when\nreporting errors.",
+          "description": "Type of the MonitoredResource. List of possible values: https://cloud.google.com/monitoring/api/resources Value is set automatically for incoming errors and must not be set when reporting errors.",
           "type": "string"
         },
         "service": {
-          "description": "An identifier of the service, such as the name of the\nexecutable, job, or Google App Engine service name. This field is expected\nto have a low number of values that are relatively stable over time, as\nopposed to `version`, which can be changed whenever new code is deployed.\n\nContains the service name for error reports extracted from Google\nApp Engine logs or `default` if the App Engine default service is used.",
+          "description": "An identifier of the service, such as the name of the executable, job, or Google App Engine service name. This field is expected to have a low number of values that are relatively stable over time, as opposed to `version`, which can be changed whenever new code is deployed. Contains the service name for error reports extracted from Google App Engine logs or `default` if the App Engine default service is used.",
           "type": "string"
         },
         "version": {
-          "description": "Represents the source code version that the developer provided,\nwhich could represent a version label or a Git SHA-1 hash, for example.\nFor App Engine standard environment, the version is set to the version of\nthe app.",
+          "description": "Represents the source code version that the developer provided, which could represent a version label or a Git SHA-1 hash, for example. For App Engine standard environment, the version is set to the version of the app.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "SourceLocation": {
-      "description": "Indicates a location in the source code of the service for which errors are\nreported. `functionName` must be provided by the application when reporting\nan error, unless the error report contains a `message` with a supported\nexception stack trace. All fields are optional for the later case.",
+      "description": "Indicates a location in the source code of the service for which errors are reported. `functionName` must be provided by the application when reporting an error, unless the error report contains a `message` with a supported exception stack trace. All fields are optional for the later case.",
       "id": "SourceLocation",
       "properties": {
         "filePath": {
-          "description": "The source code filename, which can include a truncated relative\npath, or a full path from a production machine.",
+          "description": "The source code filename, which can include a truncated relative path, or a full path from a production machine.",
           "type": "string"
         },
         "functionName": {
-          "description": "Human-readable name of a function or method.\nThe value can include optional context like the class or package name.\nFor example, `my.package.MyClass.method` in case of Java.",
+          "description": "Human-readable name of a function or method. The value can include optional context like the class or package name. For example, `my.package.MyClass.method` in case of Java.",
           "type": "string"
         },
         "lineNumber": {
@@ -703,22 +731,22 @@
       "type": "object"
     },
     "SourceReference": {
-      "description": "A reference to a particular snapshot of the source tree used to build and\ndeploy an application.",
+      "description": "A reference to a particular snapshot of the source tree used to build and deploy an application.",
       "id": "SourceReference",
       "properties": {
         "repository": {
-          "description": "Optional. A URI string identifying the repository.\nExample: \"https://github.com/GoogleCloudPlatform/kubernetes.git\"",
+          "description": "Optional. A URI string identifying the repository. Example: \"https://github.com/GoogleCloudPlatform/kubernetes.git\"",
           "type": "string"
         },
         "revisionId": {
-          "description": "The canonical and persistent identifier of the deployed revision.\nExample (git): \"0035781c50ec7aa23385dc841529ce8a4b70db1b\"",
+          "description": "The canonical and persistent identifier of the deployed revision. Example (git): \"0035781c50ec7aa23385dc841529ce8a4b70db1b\"",
           "type": "string"
         }
       },
       "type": "object"
     },
     "TimedCount": {
-      "description": "The number of errors in a given time period.\nAll numbers are approximate since the error events are sampled\nbefore counting them.",
+      "description": "The number of errors in a given time period. All numbers are approximate since the error events are sampled before counting them.",
       "id": "TimedCount",
       "properties": {
         "count": {
@@ -744,7 +772,7 @@
       "id": "TrackingIssue",
       "properties": {
         "url": {
-          "description": "A URL pointing to a related entry in an issue tracking system.\nExample: `https://github.com/user/project/issues/4`",
+          "description": "A URL pointing to a related entry in an issue tracking system. Example: `https://github.com/user/project/issues/4`",
           "type": "string"
         }
       },
diff --git a/clouderrorreporting/v1beta1/clouderrorreporting-gen.go b/clouderrorreporting/v1beta1/clouderrorreporting-gen.go
index d59d639..b7febf2 100644
--- a/clouderrorreporting/v1beta1/clouderrorreporting-gen.go
+++ b/clouderrorreporting/v1beta1/clouderrorreporting-gen.go
@@ -188,44 +188,30 @@
 }
 
 // ErrorContext: A description of the context in which an error
-// occurred.
-// This data should be provided by the application when reporting an
-// error,
-// unless the
-// error report has been generated automatically from Google App Engine
-// logs.
+// occurred. This data should be provided by the application when
+// reporting an error, unless the error report has been generated
+// automatically from Google App Engine logs.
 type ErrorContext struct {
-	// HttpRequest: The HTTP request which was processed when the error
-	// was
+	// HttpRequest: The HTTP request which was processed when the error was
 	// triggered.
 	HttpRequest *HttpRequestContext `json:"httpRequest,omitempty"`
 
 	// ReportLocation: The location in the source code where the decision
-	// was made to
-	// report the error, usually the place where it was logged.
-	// For a logged exception this would be the source line where
-	// the
-	// exception is logged, usually close to the place where it was
-	// caught.
+	// was made to report the error, usually the place where it was logged.
+	// For a logged exception this would be the source line where the
+	// exception is logged, usually close to the place where it was caught.
 	ReportLocation *SourceLocation `json:"reportLocation,omitempty"`
 
 	// SourceReferences: Source code that was used to build the executable
-	// which has
-	// caused the given error message.
+	// which has caused the given error message.
 	SourceReferences []*SourceReference `json:"sourceReferences,omitempty"`
 
-	// User: The user who caused or was affected by the crash.
-	// This can be a user ID, an email address, or an arbitrary token
-	// that
-	// uniquely identifies the user.
-	// When sending an error report, leave this field empty if the user was
-	// not
-	// logged in. In this case the
-	// Error Reporting system will use other data, such as remote IP
-	// address, to
-	// distinguish affected users. See `affected_users_count`
-	// in
-	// `ErrorGroupStats`.
+	// User: The user who caused or was affected by the crash. This can be a
+	// user ID, an email address, or an arbitrary token that uniquely
+	// identifies the user. When sending an error report, leave this field
+	// empty if the user was not logged in. In this case the Error Reporting
+	// system will use other data, such as remote IP address, to distinguish
+	// affected users. See `affected_users_count` in `ErrorGroupStats`.
 	User string `json:"user,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "HttpRequest") to
@@ -258,10 +244,8 @@
 	Context *ErrorContext `json:"context,omitempty"`
 
 	// EventTime: Time when the event occurred as provided in the error
-	// report.
-	// If the report did not contain a timestamp, the time the error was
-	// received
-	// by the Error Reporting system is used.
+	// report. If the report did not contain a timestamp, the time the error
+	// was received by the Error Reporting system is used.
 	EventTime string `json:"eventTime,omitempty"`
 
 	// Message: The stack trace that was reported or logged by the service.
@@ -297,30 +281,26 @@
 // ErrorGroup: Description of a group of similar error events.
 type ErrorGroup struct {
 	// GroupId: Group IDs are unique for a given project. If the same kind
-	// of error
-	// occurs in different service contexts, it will receive the same group
-	// ID.
+	// of error occurs in different service contexts, it will receive the
+	// same group ID.
 	GroupId string `json:"groupId,omitempty"`
 
-	// Name: The group resource name.
-	// Example: <code>projects/my-project-123/groups/CNSgkpnppqKCUw</code>
+	// Name: The group resource name. Example:
+	// projects/my-project-123/groups/CNSgkpnppqKCUw
 	Name string `json:"name,omitempty"`
 
-	// ResolutionStatus: Error group's resolution status.
-	//
-	// An unspecified resolution status will be interpreted as OPEN
+	// ResolutionStatus: Error group's resolution status. An unspecified
+	// resolution status will be interpreted as OPEN
 	//
 	// Possible values:
 	//   "RESOLUTION_STATUS_UNSPECIFIED" - Status is unknown.
 	//   "OPEN" - The error group is not being addressed. This is the
-	// default for
-	// new groups. It is also used for errors re-occuring after marked
-	// RESOLVED.
+	// default for new groups. It is also used for errors re-occuring after
+	// marked RESOLVED.
 	//   "ACKNOWLEDGED" - Error Group manually acknowledged, it can have an
 	// issue link attached.
 	//   "RESOLVED" - Error Group manually resolved, more events for this
-	// group are not expected
-	// to occur.
+	// group are not expected to occur.
 	//   "MUTED" - The error group is muted and excluded by default on group
 	// stats requests.
 	ResolutionStatus string `json:"resolutionStatus,omitempty"`
@@ -356,42 +336,32 @@
 }
 
 // ErrorGroupStats: Data extracted for a specific group based on certain
-// filter criteria,
-// such as a given time period and/or service filter.
+// filter criteria, such as a given time period and/or service filter.
 type ErrorGroupStats struct {
 	// AffectedServices: Service contexts with a non-zero error count for
-	// the given filter
-	// criteria. This list can be truncated if multiple services are
-	// affected.
-	// Refer to `num_affected_services` for the total count.
+	// the given filter criteria. This list can be truncated if multiple
+	// services are affected. Refer to `num_affected_services` for the total
+	// count.
 	AffectedServices []*ServiceContext `json:"affectedServices,omitempty"`
 
 	// AffectedUsersCount: Approximate number of affected users in the given
-	// group that
-	// match the filter criteria.
-	// Users are distinguished by data in the `ErrorContext` of
-	// the
-	// individual error events, such as their login name or their remote
-	// IP address in case of HTTP requests.
-	// The number of affected users can be zero even if the number of
-	// errors is non-zero if no data was provided from which the
-	// affected user could be deduced.
-	// Users are counted based on data in the request
-	// context that was provided in the error report. If more users
-	// are
-	// implicitly affected, such as due to a crash of the whole
-	// service,
-	// this is not reflected here.
+	// group that match the filter criteria. Users are distinguished by data
+	// in the `ErrorContext` of the individual error events, such as their
+	// login name or their remote IP address in case of HTTP requests. The
+	// number of affected users can be zero even if the number of errors is
+	// non-zero if no data was provided from which the affected user could
+	// be deduced. Users are counted based on data in the request context
+	// that was provided in the error report. If more users are implicitly
+	// affected, such as due to a crash of the whole service, this is not
+	// reflected here.
 	AffectedUsersCount int64 `json:"affectedUsersCount,omitempty,string"`
 
 	// Count: Approximate total number of events in the given group that
-	// match
-	// the filter criteria.
+	// match the filter criteria.
 	Count int64 `json:"count,omitempty,string"`
 
 	// FirstSeenTime: Approximate first occurrence that was ever seen for
-	// this group
-	// and which matches the given filter criteria, ignoring the
+	// this group and which matches the given filter criteria, ignoring the
 	// time_range that was specified in the request.
 	FirstSeenTime string `json:"firstSeenTime,omitempty"`
 
@@ -399,33 +369,26 @@
 	Group *ErrorGroup `json:"group,omitempty"`
 
 	// LastSeenTime: Approximate last occurrence that was ever seen for this
-	// group and
-	// which matches the given filter criteria, ignoring the time_range
-	// that was specified in the request.
+	// group and which matches the given filter criteria, ignoring the
+	// time_range that was specified in the request.
 	LastSeenTime string `json:"lastSeenTime,omitempty"`
 
 	// NumAffectedServices: The total number of services with a non-zero
-	// error count for the given
-	// filter criteria.
+	// error count for the given filter criteria.
 	NumAffectedServices int64 `json:"numAffectedServices,omitempty"`
 
 	// Representative: An arbitrary event that is chosen as representative
-	// for the whole group.
-	// The representative event is intended to be used as a quick preview
-	// for
-	// the whole group. Events in the group are usually sufficiently
-	// similar
-	// to each other such that showing an arbitrary representative
-	// provides
-	// insight into the characteristics of the group as a whole.
+	// for the whole group. The representative event is intended to be used
+	// as a quick preview for the whole group. Events in the group are
+	// usually sufficiently similar to each other such that showing an
+	// arbitrary representative provides insight into the characteristics of
+	// the group as a whole.
 	Representative *ErrorEvent `json:"representative,omitempty"`
 
-	// TimedCounts: Approximate number of occurrences over time.
-	// Timed counts returned by ListGroups are guaranteed to be:
-	//
-	// - Inside the requested time interval
-	// - Non-overlapping, and
-	// - Ordered by ascending time.
+	// TimedCounts: Approximate number of occurrences over time. Timed
+	// counts returned by ListGroups are guaranteed to be: - Inside the
+	// requested time interval - Non-overlapping, and - Ordered by ascending
+	// time.
 	TimedCounts []*TimedCount `json:"timedCounts,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AffectedServices") to
@@ -453,12 +416,9 @@
 }
 
 // HttpRequestContext: HTTP request data that is related to a reported
-// error.
-// This data should be provided by the application when reporting an
-// error,
-// unless the
-// error report has been generated automatically from Google App Engine
-// logs.
+// error. This data should be provided by the application when reporting
+// an error, unless the error report has been generated automatically
+// from Google App Engine logs.
 type HttpRequestContext struct {
 	// Method: The type of HTTP request, such as `GET`, `POST`, etc.
 	Method string `json:"method,omitempty"`
@@ -466,10 +426,9 @@
 	// Referrer: The referrer information that is provided with the request.
 	Referrer string `json:"referrer,omitempty"`
 
-	// RemoteIp: The IP address from which the request originated.
-	// This can be IPv4, IPv6, or a token which is derived from the
-	// IP address, depending on the data that has been provided
-	// in the error report.
+	// RemoteIp: The IP address from which the request originated. This can
+	// be IPv4, IPv6, or a token which is derived from the IP address,
+	// depending on the data that has been provided in the error report.
 	RemoteIp string `json:"remoteIp,omitempty"`
 
 	// ResponseStatusCode: The HTTP response status code for the request.
@@ -510,10 +469,9 @@
 	// ErrorEvents: The error events which match the given request.
 	ErrorEvents []*ErrorEvent `json:"errorEvents,omitempty"`
 
-	// NextPageToken: If non-empty, more results are available.
-	// Pass this token, along with the same query parameters as the
-	// first
-	// request, to view the next page of results.
+	// NextPageToken: If non-empty, more results are available. Pass this
+	// token, along with the same query parameters as the first request, to
+	// view the next page of results.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// TimeRangeBegin: The timestamp specifies the start time to which the
@@ -553,19 +511,15 @@
 	// ErrorGroupStats: The error group stats which match the given request.
 	ErrorGroupStats []*ErrorGroupStats `json:"errorGroupStats,omitempty"`
 
-	// NextPageToken: If non-empty, more results are available.
-	// Pass this token, along with the same query parameters as the
-	// first
-	// request, to view the next page of results.
+	// NextPageToken: If non-empty, more results are available. Pass this
+	// token, along with the same query parameters as the first request, to
+	// view the next page of results.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// TimeRangeBegin: The timestamp specifies the start time to which the
-	// request was restricted.
-	// The start time is set based on the requested time range. It may be
-	// adjusted
-	// to a later time if a project has exceeded the storage quota and older
-	// data
-	// has been deleted.
+	// request was restricted. The start time is set based on the requested
+	// time range. It may be adjusted to a later time if a project has
+	// exceeded the storage quota and older data has been deleted.
 	TimeRangeBegin string `json:"timeRangeBegin,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -597,8 +551,7 @@
 }
 
 // ReportErrorEventResponse: Response for reporting an individual error
-// event.
-// Data may be added to this message in the future.
+// event. Data may be added to this message in the future.
 type ReportErrorEventResponse struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -612,52 +565,32 @@
 	// occurred.
 	Context *ErrorContext `json:"context,omitempty"`
 
-	// EventTime: Optional. Time when the event occurred.
-	// If not provided, the time when the event was received by the
-	// Error Reporting system will be used.
+	// EventTime: Optional. Time when the event occurred. If not provided,
+	// the time when the event was received by the Error Reporting system
+	// will be used.
 	EventTime string `json:"eventTime,omitempty"`
 
-	// Message: Required. The error message.
-	// If no `context.reportLocation` is provided, the message must contain
-	// a
-	// header (typically consisting of the exception type name and an
-	// error
-	// message) and an exception stack trace in one of the supported
-	// programming
-	// languages and formats.
-	// Supported languages are Java, Python, JavaScript, Ruby, C#, PHP, and
-	// Go.
-	// Supported stack trace formats are:
-	//
-	// * **Java**: Must be the return value
-	// of
-	// [`Throwable.printStackTrace()`](https://docs.oracle.com/javase/7/do
-	// cs/api/java/lang/Throwable.html#printStackTrace%28%29).
-	// * **Python**: Must be the return value
-	// of
-	// [`traceback.format_exc()`](https://docs.python.org/2/library/traceb
-	// ack.html#traceback.format_exc).
-	// * **JavaScript**: Must be the value
-	// of
+	// Message: Required. The error message. If no `context.reportLocation`
+	// is provided, the message must contain a header (typically consisting
+	// of the exception type name and an error message) and an exception
+	// stack trace in one of the supported programming languages and
+	// formats. Supported languages are Java, Python, JavaScript, Ruby, C#,
+	// PHP, and Go. Supported stack trace formats are: * **Java**: Must be
+	// the return value of
+	// [`Throwable.printStackTrace()`](https://docs.oracle.com/javase/7/docs/
+	// api/java/lang/Throwable.html#printStackTrace%28%29). * **Python**:
+	// Must be the return value of
+	// [`traceback.format_exc()`](https://docs.python.org/2/library/traceback
+	// .html#traceback.format_exc). * **JavaScript**: Must be the value of
 	// [`error.stack`](https://github.com/v8/v8/wiki/Stack-Trace-API) as
-	// returned
-	// by V8.
-	// * **Ruby**: Must contain frames returned
-	// by
-	// [`Exception.backtrace`](https://ruby-doc.org/core-2.2.0/Exception.h
-	// tml#method-i-backtrace).
-	// * **C#**: Must be the return value
-	// of
-	// [`Exception.ToString()`](https://msdn.microsoft.com/en-us/library/s
-	// ystem.exception.tostring.aspx).
-	// * **PHP**: Must start with `PHP (Notice|Parse error|Fatal
-	// error|Warning)`
-	// and contain the result
-	// of
-	// [`(string)$exception`](http://php.net/manual/en/exception.tostring.
-	// php).
-	// * **Go**: Must be the return value
-	// of
+	// returned by V8. * **Ruby**: Must contain frames returned by
+	// [`Exception.backtrace`](https://ruby-doc.org/core-2.2.0/Exception.html
+	// #method-i-backtrace). * **C#**: Must be the return value of
+	// [`Exception.ToString()`](https://msdn.microsoft.com/en-us/library/syst
+	// em.exception.tostring.aspx). * **PHP**: Must start with `PHP
+	// (Notice|Parse error|Fatal error|Warning)` and contain the result of
+	// [`(string)$exception`](http://php.net/manual/en/exception.tostring.php
+	// ). * **Go**: Must be the return value of
 	// [`runtime.Stack()`](https://golang.org/pkg/runtime/debug/#Stack).
 	Message string `json:"message,omitempty"`
 
@@ -688,40 +621,28 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// ServiceContext: Describes a running service that sends errors.
-// Its version changes over time and multiple versions can run in
-// parallel.
+// ServiceContext: Describes a running service that sends errors. Its
+// version changes over time and multiple versions can run in parallel.
 type ServiceContext struct {
-	// ResourceType: Type of the MonitoredResource. List of possible
-	// values:
-	// https://cloud.google.com/monitoring/api/resources
-	//
-	// Value is set automatically for incoming errors and must not be set
-	// when
-	// reporting errors.
+	// ResourceType: Type of the MonitoredResource. List of possible values:
+	// https://cloud.google.com/monitoring/api/resources Value is set
+	// automatically for incoming errors and must not be set when reporting
+	// errors.
 	ResourceType string `json:"resourceType,omitempty"`
 
-	// Service: An identifier of the service, such as the name of
-	// the
+	// Service: An identifier of the service, such as the name of the
 	// executable, job, or Google App Engine service name. This field is
-	// expected
-	// to have a low number of values that are relatively stable over time,
-	// as
-	// opposed to `version`, which can be changed whenever new code is
-	// deployed.
-	//
-	// Contains the service name for error reports extracted from Google
-	// App Engine logs or `default` if the App Engine default service is
-	// used.
+	// expected to have a low number of values that are relatively stable
+	// over time, as opposed to `version`, which can be changed whenever new
+	// code is deployed. Contains the service name for error reports
+	// extracted from Google App Engine logs or `default` if the App Engine
+	// default service is used.
 	Service string `json:"service,omitempty"`
 
 	// Version: Represents the source code version that the developer
-	// provided,
-	// which could represent a version label or a Git SHA-1 hash, for
-	// example.
-	// For App Engine standard environment, the version is set to the
-	// version of
-	// the app.
+	// provided, which could represent a version label or a Git SHA-1 hash,
+	// for example. For App Engine standard environment, the version is set
+	// to the version of the app.
 	Version string `json:"version,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ResourceType") to
@@ -748,22 +669,18 @@
 }
 
 // SourceLocation: Indicates a location in the source code of the
-// service for which errors are
-// reported. `functionName` must be provided by the application when
-// reporting
-// an error, unless the error report contains a `message` with a
-// supported
-// exception stack trace. All fields are optional for the later case.
+// service for which errors are reported. `functionName` must be
+// provided by the application when reporting an error, unless the error
+// report contains a `message` with a supported exception stack trace.
+// All fields are optional for the later case.
 type SourceLocation struct {
 	// FilePath: The source code filename, which can include a truncated
-	// relative
-	// path, or a full path from a production machine.
+	// relative path, or a full path from a production machine.
 	FilePath string `json:"filePath,omitempty"`
 
-	// FunctionName: Human-readable name of a function or method.
-	// The value can include optional context like the class or package
-	// name.
-	// For example, `my.package.MyClass.method` in case of Java.
+	// FunctionName: Human-readable name of a function or method. The value
+	// can include optional context like the class or package name. For
+	// example, `my.package.MyClass.method` in case of Java.
 	FunctionName string `json:"functionName,omitempty"`
 
 	// LineNumber: 1-based. 0 indicates that the line number is unknown.
@@ -793,17 +710,14 @@
 }
 
 // SourceReference: A reference to a particular snapshot of the source
-// tree used to build and
-// deploy an application.
+// tree used to build and deploy an application.
 type SourceReference struct {
-	// Repository: Optional. A URI string identifying the
-	// repository.
+	// Repository: Optional. A URI string identifying the repository.
 	// Example: "https://github.com/GoogleCloudPlatform/kubernetes.git"
 	Repository string `json:"repository,omitempty"`
 
 	// RevisionId: The canonical and persistent identifier of the deployed
-	// revision.
-	// Example (git): "0035781c50ec7aa23385dc841529ce8a4b70db1b"
+	// revision. Example (git): "0035781c50ec7aa23385dc841529ce8a4b70db1b"
 	RevisionId string `json:"revisionId,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Repository") to
@@ -829,9 +743,9 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// TimedCount: The number of errors in a given time period.
-// All numbers are approximate since the error events are sampled
-// before counting them.
+// TimedCount: The number of errors in a given time period. All numbers
+// are approximate since the error events are sampled before counting
+// them.
 type TimedCount struct {
 	// Count: Approximate number of occurrences in the given time period.
 	Count int64 `json:"count,omitempty,string"`
@@ -869,8 +783,7 @@
 // TrackingIssue: Information related to tracking the progress on
 // resolving the error.
 type TrackingIssue struct {
-	// Url: A URL pointing to a related entry in an issue tracking
-	// system.
+	// Url: A URL pointing to a related entry in an issue tracking system.
 	// Example: `https://github.com/user/project/issues/4`
 	Url string `json:"url,omitempty"`
 
@@ -941,7 +854,7 @@
 
 func (c *ProjectsDeleteEventsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1009,7 +922,7 @@
 	//   ],
 	//   "parameters": {
 	//     "projectName": {
-	//       "description": "Required. The resource name of the Google Cloud Platform project. Written\nas `projects/{projectID}`, where `{projectID}` is the\n[Google Cloud Platform project\nID](https://support.google.com/cloud/answer/6158840).\n\nExample: `projects/my-project-123`.",
+	//       "description": "Required. The resource name of the Google Cloud Platform project. Written as `projects/{projectID}`, where `{projectID}` is the [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840). Example: `projects/my-project-123`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -1067,30 +980,27 @@
 }
 
 // ServiceFilterResourceType sets the optional parameter
-// "serviceFilter.resourceType": The exact value to match
-// against
-// [`ServiceContext.resource_type`](/error-reporting/reference/re
-// st/v1beta1/ServiceContext#FIELDS.resource_type).
+// "serviceFilter.resourceType": The exact value to match against
+// [`ServiceContext.resource_type`](/error-reporting/reference/rest/v1bet
+// a1/ServiceContext#FIELDS.resource_type).
 func (c *ProjectsEventsListCall) ServiceFilterResourceType(serviceFilterResourceType string) *ProjectsEventsListCall {
 	c.urlParams_.Set("serviceFilter.resourceType", serviceFilterResourceType)
 	return c
 }
 
 // ServiceFilterService sets the optional parameter
-// "serviceFilter.service": The exact value to match
-// against
-// [`ServiceContext.service`](/error-reporting/reference/rest/v1b
-// eta1/ServiceContext#FIELDS.service).
+// "serviceFilter.service": The exact value to match against
+// [`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/Ser
+// viceContext#FIELDS.service).
 func (c *ProjectsEventsListCall) ServiceFilterService(serviceFilterService string) *ProjectsEventsListCall {
 	c.urlParams_.Set("serviceFilter.service", serviceFilterService)
 	return c
 }
 
 // ServiceFilterVersion sets the optional parameter
-// "serviceFilter.version": The exact value to match
-// against
-// [`ServiceContext.version`](/error-reporting/reference/rest/v1b
-// eta1/ServiceContext#FIELDS.version).
+// "serviceFilter.version": The exact value to match against
+// [`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/Ser
+// viceContext#FIELDS.version).
 func (c *ProjectsEventsListCall) ServiceFilterVersion(serviceFilterVersion string) *ProjectsEventsListCall {
 	c.urlParams_.Set("serviceFilter.version", serviceFilterVersion)
 	return c
@@ -1100,12 +1010,17 @@
 // Restricts the query to the specified time range.
 //
 // Possible values:
-//   "PERIOD_UNSPECIFIED"
-//   "PERIOD_1_HOUR"
-//   "PERIOD_6_HOURS"
-//   "PERIOD_1_DAY"
-//   "PERIOD_1_WEEK"
-//   "PERIOD_30_DAYS"
+//   "PERIOD_UNSPECIFIED" - Do not use.
+//   "PERIOD_1_HOUR" - Retrieve data for the last hour. Recommended
+// minimum timed count duration: 1 min.
+//   "PERIOD_6_HOURS" - Retrieve data for the last 6 hours. Recommended
+// minimum timed count duration: 10 min.
+//   "PERIOD_1_DAY" - Retrieve data for the last day. Recommended
+// minimum timed count duration: 1 hour.
+//   "PERIOD_1_WEEK" - Retrieve data for the last week. Recommended
+// minimum timed count duration: 6 hours.
+//   "PERIOD_30_DAYS" - Retrieve data for the last 30 days. Recommended
+// minimum timed count duration: 1 day.
 func (c *ProjectsEventsListCall) TimeRangePeriod(timeRangePeriod string) *ProjectsEventsListCall {
 	c.urlParams_.Set("timeRange.period", timeRangePeriod)
 	return c
@@ -1148,7 +1063,7 @@
 
 func (c *ProjectsEventsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1235,24 +1150,24 @@
 	//       "type": "string"
 	//     },
 	//     "projectName": {
-	//       "description": "Required. The resource name of the Google Cloud Platform project. Written\nas `projects/{projectID}`, where `{projectID}` is the\n[Google Cloud Platform project\nID](https://support.google.com/cloud/answer/6158840).\n\nExample: `projects/my-project-123`.",
+	//       "description": "Required. The resource name of the Google Cloud Platform project. Written as `projects/{projectID}`, where `{projectID}` is the [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840). Example: `projects/my-project-123`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "serviceFilter.resourceType": {
-	//       "description": "Optional. The exact value to match against\n[`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type).",
+	//       "description": "Optional. The exact value to match against [`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type).",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "serviceFilter.service": {
-	//       "description": "Optional. The exact value to match against\n[`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).",
+	//       "description": "Optional. The exact value to match against [`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "serviceFilter.version": {
-	//       "description": "Optional. The exact value to match against\n[`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).",
+	//       "description": "Optional. The exact value to match against [`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -1266,6 +1181,14 @@
 	//         "PERIOD_1_WEEK",
 	//         "PERIOD_30_DAYS"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Do not use.",
+	//         "Retrieve data for the last hour. Recommended minimum timed count duration: 1 min.",
+	//         "Retrieve data for the last 6 hours. Recommended minimum timed count duration: 10 min.",
+	//         "Retrieve data for the last day. Recommended minimum timed count duration: 1 hour.",
+	//         "Retrieve data for the last week. Recommended minimum timed count duration: 6 hours.",
+	//         "Retrieve data for the last 30 days. Recommended minimum timed count duration: 1 day."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -1313,19 +1236,12 @@
 	header_            http.Header
 }
 
-// Report: Report an individual error event.
-//
-// This endpoint accepts **either** an OAuth token,
-// **or** an [API
-// key](https://support.google.com/cloud/answer/6158862)
-// for authentication. To use an API key, append it to the URL as the
-// value of
-// a `key` parameter. For
-// example:
-//
-// `POST
-// https://clouderrorreporting.googleapis.com/v1beta1/{pr
-// ojectName}/events:report?key=123ABC456`
+// Report: Report an individual error event. This endpoint accepts
+// **either** an OAuth token, **or** an [API
+// key](https://support.google.com/cloud/answer/6158862) for
+// authentication. To use an API key, append it to the URL as the value
+// of a `key` parameter. For example: `POST
+// https://clouderrorreporting.googleapis.com/v1beta1/{projectName}/events:report?key=123ABC456`
 func (r *ProjectsEventsService) Report(projectName string, reportederrorevent *ReportedErrorEvent) *ProjectsEventsReportCall {
 	c := &ProjectsEventsReportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectName = projectName
@@ -1360,7 +1276,7 @@
 
 func (c *ProjectsEventsReportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1424,7 +1340,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Report an individual error event.\n\nThis endpoint accepts **either** an OAuth token,\n**or** an [API key](https://support.google.com/cloud/answer/6158862)\nfor authentication. To use an API key, append it to the URL as the value of\na `key` parameter. For example:\n\n`POST\nhttps://clouderrorreporting.googleapis.com/v1beta1/{projectName}/events:report?key=123ABC456`",
+	//   "description": "Report an individual error event. This endpoint accepts **either** an OAuth token, **or** an [API key](https://support.google.com/cloud/answer/6158862) for authentication. To use an API key, append it to the URL as the value of a `key` parameter. For example: `POST https://clouderrorreporting.googleapis.com/v1beta1/{projectName}/events:report?key=123ABC456`",
 	//   "flatPath": "v1beta1/projects/{projectsId}/events:report",
 	//   "httpMethod": "POST",
 	//   "id": "clouderrorreporting.projects.events.report",
@@ -1433,7 +1349,7 @@
 	//   ],
 	//   "parameters": {
 	//     "projectName": {
-	//       "description": "Required. The resource name of the Google Cloud Platform project. Written\nas `projects/{projectId}`, where `{projectId}` is the\n[Google Cloud Platform project\nID](https://support.google.com/cloud/answer/6158840).\n\nExample: // `projects/my-project-123`.",
+	//       "description": "Required. The resource name of the Google Cloud Platform project. Written as `projects/{projectId}`, where `{projectId}` is the [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840). Example: // `projects/my-project-123`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -1473,91 +1389,97 @@
 }
 
 // Alignment sets the optional parameter "alignment": The alignment of
-// the timed counts to be returned.
-// Default is `ALIGNMENT_EQUAL_AT_END`.
+// the timed counts to be returned. Default is `ALIGNMENT_EQUAL_AT_END`.
 //
 // Possible values:
-//   "ERROR_COUNT_ALIGNMENT_UNSPECIFIED"
-//   "ALIGNMENT_EQUAL_ROUNDED"
-//   "ALIGNMENT_EQUAL_AT_END"
+//   "ERROR_COUNT_ALIGNMENT_UNSPECIFIED" - No alignment specified.
+//   "ALIGNMENT_EQUAL_ROUNDED" - The time periods shall be consecutive,
+// have width equal to the requested duration, and be aligned at the
+// `alignment_time` provided in the request. The `alignment_time` does
+// not have to be inside the query period but even if it is outside,
+// only time periods are returned which overlap with the query period. A
+// rounded alignment will typically result in a different size of the
+// first or the last time period.
+//   "ALIGNMENT_EQUAL_AT_END" - The time periods shall be consecutive,
+// have width equal to the requested duration, and be aligned at the end
+// of the requested time period. This can result in a different size of
+// the first time period.
 func (c *ProjectsGroupStatsListCall) Alignment(alignment string) *ProjectsGroupStatsListCall {
 	c.urlParams_.Set("alignment", alignment)
 	return c
 }
 
 // AlignmentTime sets the optional parameter "alignmentTime": Time where
-// the timed counts shall be aligned if rounded
-// alignment is chosen. Default is 00:00 UTC.
+// the timed counts shall be aligned if rounded alignment is chosen.
+// Default is 00:00 UTC.
 func (c *ProjectsGroupStatsListCall) AlignmentTime(alignmentTime string) *ProjectsGroupStatsListCall {
 	c.urlParams_.Set("alignmentTime", alignmentTime)
 	return c
 }
 
 // GroupId sets the optional parameter "groupId": List all
-// <code>ErrorGroupStats</code> with these IDs.
+// ErrorGroupStats with these IDs.
 func (c *ProjectsGroupStatsListCall) GroupId(groupId ...string) *ProjectsGroupStatsListCall {
 	c.urlParams_.SetMulti("groupId", append([]string{}, groupId...))
 	return c
 }
 
 // Order sets the optional parameter "order": The sort order in which
-// the results are returned.
-// Default is `COUNT_DESC`.
+// the results are returned. Default is `COUNT_DESC`.
 //
 // Possible values:
-//   "GROUP_ORDER_UNSPECIFIED"
-//   "COUNT_DESC"
-//   "LAST_SEEN_DESC"
-//   "CREATED_DESC"
-//   "AFFECTED_USERS_DESC"
+//   "GROUP_ORDER_UNSPECIFIED" - No group order specified.
+//   "COUNT_DESC" - Total count of errors in the given time window in
+// descending order.
+//   "LAST_SEEN_DESC" - Timestamp when the group was last seen in the
+// given time window in descending order.
+//   "CREATED_DESC" - Timestamp when the group was created in descending
+// order.
+//   "AFFECTED_USERS_DESC" - Number of affected users in the given time
+// window in descending order.
 func (c *ProjectsGroupStatsListCall) Order(order string) *ProjectsGroupStatsListCall {
 	c.urlParams_.Set("order", order)
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
-// of results to return per response.
-// Default is 20.
+// of results to return per response. Default is 20.
 func (c *ProjectsGroupStatsListCall) PageSize(pageSize int64) *ProjectsGroupStatsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": A
-// `next_page_token` provided by a previous response. To view
-// additional results, pass this token along with the identical
-// query
-// parameters as the first request.
+// `next_page_token` provided by a previous response. To view additional
+// results, pass this token along with the identical query parameters as
+// the first request.
 func (c *ProjectsGroupStatsListCall) PageToken(pageToken string) *ProjectsGroupStatsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
 }
 
 // ServiceFilterResourceType sets the optional parameter
-// "serviceFilter.resourceType": The exact value to match
-// against
-// [`ServiceContext.resource_type`](/error-reporting/reference/re
-// st/v1beta1/ServiceContext#FIELDS.resource_type).
+// "serviceFilter.resourceType": The exact value to match against
+// [`ServiceContext.resource_type`](/error-reporting/reference/rest/v1bet
+// a1/ServiceContext#FIELDS.resource_type).
 func (c *ProjectsGroupStatsListCall) ServiceFilterResourceType(serviceFilterResourceType string) *ProjectsGroupStatsListCall {
 	c.urlParams_.Set("serviceFilter.resourceType", serviceFilterResourceType)
 	return c
 }
 
 // ServiceFilterService sets the optional parameter
-// "serviceFilter.service": The exact value to match
-// against
-// [`ServiceContext.service`](/error-reporting/reference/rest/v1b
-// eta1/ServiceContext#FIELDS.service).
+// "serviceFilter.service": The exact value to match against
+// [`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/Ser
+// viceContext#FIELDS.service).
 func (c *ProjectsGroupStatsListCall) ServiceFilterService(serviceFilterService string) *ProjectsGroupStatsListCall {
 	c.urlParams_.Set("serviceFilter.service", serviceFilterService)
 	return c
 }
 
 // ServiceFilterVersion sets the optional parameter
-// "serviceFilter.version": The exact value to match
-// against
-// [`ServiceContext.version`](/error-reporting/reference/rest/v1b
-// eta1/ServiceContext#FIELDS.version).
+// "serviceFilter.version": The exact value to match against
+// [`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/Ser
+// viceContext#FIELDS.version).
 func (c *ProjectsGroupStatsListCall) ServiceFilterVersion(serviceFilterVersion string) *ProjectsGroupStatsListCall {
 	c.urlParams_.Set("serviceFilter.version", serviceFilterVersion)
 	return c
@@ -1567,20 +1489,25 @@
 // Restricts the query to the specified time range.
 //
 // Possible values:
-//   "PERIOD_UNSPECIFIED"
-//   "PERIOD_1_HOUR"
-//   "PERIOD_6_HOURS"
-//   "PERIOD_1_DAY"
-//   "PERIOD_1_WEEK"
-//   "PERIOD_30_DAYS"
+//   "PERIOD_UNSPECIFIED" - Do not use.
+//   "PERIOD_1_HOUR" - Retrieve data for the last hour. Recommended
+// minimum timed count duration: 1 min.
+//   "PERIOD_6_HOURS" - Retrieve data for the last 6 hours. Recommended
+// minimum timed count duration: 10 min.
+//   "PERIOD_1_DAY" - Retrieve data for the last day. Recommended
+// minimum timed count duration: 1 hour.
+//   "PERIOD_1_WEEK" - Retrieve data for the last week. Recommended
+// minimum timed count duration: 6 hours.
+//   "PERIOD_30_DAYS" - Retrieve data for the last 30 days. Recommended
+// minimum timed count duration: 1 day.
 func (c *ProjectsGroupStatsListCall) TimeRangePeriod(timeRangePeriod string) *ProjectsGroupStatsListCall {
 	c.urlParams_.Set("timeRange.period", timeRangePeriod)
 	return c
 }
 
 // TimedCountDuration sets the optional parameter "timedCountDuration":
-// The preferred duration for a single returned `TimedCount`.
-// If not set, no timed counts are returned.
+// The preferred duration for a single returned `TimedCount`. If not
+// set, no timed counts are returned.
 func (c *ProjectsGroupStatsListCall) TimedCountDuration(timedCountDuration string) *ProjectsGroupStatsListCall {
 	c.urlParams_.Set("timedCountDuration", timedCountDuration)
 	return c
@@ -1623,7 +1550,7 @@
 
 func (c *ProjectsGroupStatsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1694,29 +1621,34 @@
 	//   ],
 	//   "parameters": {
 	//     "alignment": {
-	//       "description": "Optional. The alignment of the timed counts to be returned.\nDefault is `ALIGNMENT_EQUAL_AT_END`.",
+	//       "description": "Optional. The alignment of the timed counts to be returned. Default is `ALIGNMENT_EQUAL_AT_END`.",
 	//       "enum": [
 	//         "ERROR_COUNT_ALIGNMENT_UNSPECIFIED",
 	//         "ALIGNMENT_EQUAL_ROUNDED",
 	//         "ALIGNMENT_EQUAL_AT_END"
 	//       ],
+	//       "enumDescriptions": [
+	//         "No alignment specified.",
+	//         "The time periods shall be consecutive, have width equal to the requested duration, and be aligned at the `alignment_time` provided in the request. The `alignment_time` does not have to be inside the query period but even if it is outside, only time periods are returned which overlap with the query period. A rounded alignment will typically result in a different size of the first or the last time period.",
+	//         "The time periods shall be consecutive, have width equal to the requested duration, and be aligned at the end of the requested time period. This can result in a different size of the first time period."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "alignmentTime": {
-	//       "description": "Optional. Time where the timed counts shall be aligned if rounded\nalignment is chosen. Default is 00:00 UTC.",
+	//       "description": "Optional. Time where the timed counts shall be aligned if rounded alignment is chosen. Default is 00:00 UTC.",
 	//       "format": "google-datetime",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "groupId": {
-	//       "description": "Optional. List all \u003ccode\u003eErrorGroupStats\u003c/code\u003e with these IDs.",
+	//       "description": "Optional. List all ErrorGroupStats with these IDs.",
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
 	//     },
 	//     "order": {
-	//       "description": "Optional. The sort order in which the results are returned.\nDefault is `COUNT_DESC`.",
+	//       "description": "Optional. The sort order in which the results are returned. Default is `COUNT_DESC`.",
 	//       "enum": [
 	//         "GROUP_ORDER_UNSPECIFIED",
 	//         "COUNT_DESC",
@@ -1724,39 +1656,46 @@
 	//         "CREATED_DESC",
 	//         "AFFECTED_USERS_DESC"
 	//       ],
+	//       "enumDescriptions": [
+	//         "No group order specified.",
+	//         "Total count of errors in the given time window in descending order.",
+	//         "Timestamp when the group was last seen in the given time window in descending order.",
+	//         "Timestamp when the group was created in descending order.",
+	//         "Number of affected users in the given time window in descending order."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "Optional. The maximum number of results to return per response.\nDefault is 20.",
+	//       "description": "Optional. The maximum number of results to return per response. Default is 20.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Optional. A `next_page_token` provided by a previous response. To view\nadditional results, pass this token along with the identical query\nparameters as the first request.",
+	//       "description": "Optional. A `next_page_token` provided by a previous response. To view additional results, pass this token along with the identical query parameters as the first request.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "projectName": {
-	//       "description": "Required. The resource name of the Google Cloud Platform project. Written\nas `projects/{projectID}`, where `{projectID}` is the\n[Google Cloud Platform project\nID](https://support.google.com/cloud/answer/6158840).\n\nExample: `projects/my-project-123`.",
+	//       "description": "Required. The resource name of the Google Cloud Platform project. Written as `projects/{projectID}`, where `{projectID}` is the [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840). Example: `projects/my-project-123`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "serviceFilter.resourceType": {
-	//       "description": "Optional. The exact value to match against\n[`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type).",
+	//       "description": "Optional. The exact value to match against [`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type).",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "serviceFilter.service": {
-	//       "description": "Optional. The exact value to match against\n[`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).",
+	//       "description": "Optional. The exact value to match against [`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "serviceFilter.version": {
-	//       "description": "Optional. The exact value to match against\n[`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).",
+	//       "description": "Optional. The exact value to match against [`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -1770,11 +1709,19 @@
 	//         "PERIOD_1_WEEK",
 	//         "PERIOD_30_DAYS"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Do not use.",
+	//         "Retrieve data for the last hour. Recommended minimum timed count duration: 1 min.",
+	//         "Retrieve data for the last 6 hours. Recommended minimum timed count duration: 10 min.",
+	//         "Retrieve data for the last day. Recommended minimum timed count duration: 1 hour.",
+	//         "Retrieve data for the last week. Recommended minimum timed count duration: 6 hours.",
+	//         "Retrieve data for the last 30 days. Recommended minimum timed count duration: 1 day."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "timedCountDuration": {
-	//       "description": "Optional. The preferred duration for a single returned `TimedCount`.\nIf not set, no timed counts are returned.",
+	//       "description": "Optional. The preferred duration for a single returned `TimedCount`. If not set, no timed counts are returned.",
 	//       "format": "google-duration",
 	//       "location": "query",
 	//       "type": "string"
@@ -1867,7 +1814,7 @@
 
 func (c *ProjectsGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1938,7 +1885,7 @@
 	//   ],
 	//   "parameters": {
 	//     "groupName": {
-	//       "description": "Required. The group resource name. Written as\n`projects/{projectID}/groups/{group_name}`. Call\n[`groupStats.list`](https://cloud.google.com/error-reporting/reference/rest/v1beta1/projects.groupStats/list)\nto return a list of groups belonging to this project.\n\nExample: `projects/my-project-123/groups/my-group`",
+	//       "description": "Required. The group resource name. Written as `projects/{projectID}/groups/{group_name}`. Call [`groupStats.list`](https://cloud.google.com/error-reporting/reference/rest/v1beta1/projects.groupStats/list) to return a list of groups belonging to this project. Example: `projects/my-project-123/groups/my-group`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/groups/[^/]+$",
 	//       "required": true,
@@ -1967,8 +1914,8 @@
 	header_    http.Header
 }
 
-// Update: Replace the data for the specified group.
-// Fails if the group does not exist.
+// Update: Replace the data for the specified group. Fails if the group
+// does not exist.
 func (r *ProjectsGroupsService) Update(name string, errorgroup *ErrorGroup) *ProjectsGroupsUpdateCall {
 	c := &ProjectsGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -2003,7 +1950,7 @@
 
 func (c *ProjectsGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2067,7 +2014,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Replace the data for the specified group.\nFails if the group does not exist.",
+	//   "description": "Replace the data for the specified group. Fails if the group does not exist.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/groups/{groupsId}",
 	//   "httpMethod": "PUT",
 	//   "id": "clouderrorreporting.projects.groups.update",
@@ -2076,7 +2023,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The group resource name.\nExample: \u003ccode\u003eprojects/my-project-123/groups/CNSgkpnppqKCUw\u003c/code\u003e",
+	//       "description": "The group resource name. Example: projects/my-project-123/groups/CNSgkpnppqKCUw",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/groups/[^/]+$",
 	//       "required": true,
diff --git a/cloudfunctions/v1/cloudfunctions-api.json b/cloudfunctions/v1/cloudfunctions-api.json
index ecf9cf1..94e5119 100644
--- a/cloudfunctions/v1/cloudfunctions-api.json
+++ b/cloudfunctions/v1/cloudfunctions-api.json
@@ -108,7 +108,7 @@
     "operations": {
       "methods": {
         "get": {
-          "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+          "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
           "flatPath": "v1/operations/{operationsId}",
           "httpMethod": "GET",
           "id": "cloudfunctions.operations.get",
@@ -133,14 +133,14 @@
           ]
         },
         "list": {
-          "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
+          "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
           "flatPath": "v1/operations",
           "httpMethod": "GET",
           "id": "cloudfunctions.operations.list",
           "parameterOrder": [],
           "parameters": {
             "filter": {
-              "description": "Required. A filter for matching the requested operations.\u003cbr\u003e\u003cbr\u003e The supported formats of \u003cb\u003efilter\u003c/b\u003e are:\u003cbr\u003e To query for a specific function: \u003ccode\u003eproject:*,location:*,function:*\u003c/code\u003e\u003cbr\u003e To query for all of the latest operations for a project: \u003ccode\u003eproject:*,latest:true\u003c/code\u003e",
+              "description": "Required. A filter for matching the requested operations. The supported formats of *filter* are: To query for a specific function: project:*,location:*,function:* To query for all of the latest operations for a project: project:*,latest:true",
               "location": "query",
               "type": "string"
             },
@@ -150,13 +150,13 @@
               "type": "string"
             },
             "pageSize": {
-              "description": "The maximum number of records that should be returned.\u003cbr\u003e Requested page size cannot exceed 100. If not set, the default page size is 100.\u003cbr\u003e\u003cbr\u003e Pagination is only supported when querying for a specific function.",
+              "description": "The maximum number of records that should be returned. Requested page size cannot exceed 100. If not set, the default page size is 100. Pagination is only supported when querying for a specific function.",
               "format": "int32",
               "location": "query",
               "type": "integer"
             },
             "pageToken": {
-              "description": "Token identifying which result to start with, which is returned by a previous list call.\u003cbr\u003e\u003cbr\u003e Pagination is only supported when querying for a specific function.",
+              "description": "Token identifying which result to start with, which is returned by a previous list call. Pagination is only supported when querying for a specific function.",
               "location": "query",
               "type": "string"
             }
@@ -221,7 +221,7 @@
             "functions": {
               "methods": {
                 "call": {
-                  "description": "Synchronously invokes a deployed Cloud Function. To be used for testing\npurposes as very limited traffic is allowed. For more information on\nthe actual limits, refer to\n[Rate Limits](https://cloud.google.com/functions/quotas#rate_limits).",
+                  "description": "Synchronously invokes a deployed Cloud Function. To be used for testing purposes as very limited traffic is allowed. For more information on the actual limits, refer to [Rate Limits](https://cloud.google.com/functions/quotas#rate_limits).",
                   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:call",
                   "httpMethod": "POST",
                   "id": "cloudfunctions.projects.locations.functions.call",
@@ -249,7 +249,7 @@
                   ]
                 },
                 "create": {
-                  "description": "Creates a new function. If a function with the given name already exists in\nthe specified project, the long running operation will return\n`ALREADY_EXISTS` error.",
+                  "description": "Creates a new function. If a function with the given name already exists in the specified project, the long running operation will return `ALREADY_EXISTS` error.",
                   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/functions",
                   "httpMethod": "POST",
                   "id": "cloudfunctions.projects.locations.functions.create",
@@ -258,7 +258,7 @@
                   ],
                   "parameters": {
                     "location": {
-                      "description": "Required. The project and location in which the function should be created, specified\nin the format `projects/*/locations/*`",
+                      "description": "Required. The project and location in which the function should be created, specified in the format `projects/*/locations/*`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -277,7 +277,7 @@
                   ]
                 },
                 "delete": {
-                  "description": "Deletes a function with the given name from the specified project. If the\ngiven function is used by some trigger, the trigger will be updated to\nremove this function.",
+                  "description": "Deletes a function with the given name from the specified project. If the given function is used by some trigger, the trigger will be updated to remove this function.",
                   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}",
                   "httpMethod": "DELETE",
                   "id": "cloudfunctions.projects.locations.functions.delete",
@@ -302,7 +302,7 @@
                   ]
                 },
                 "generateDownloadUrl": {
-                  "description": "Returns a signed URL for downloading deployed function source code.\nThe URL is only valid for a limited period and should be used within\nminutes after generation.\nFor more information about the signed URL usage see:\nhttps://cloud.google.com/storage/docs/access-control/signed-urls",
+                  "description": "Returns a signed URL for downloading deployed function source code. The URL is only valid for a limited period and should be used within minutes after generation. For more information about the signed URL usage see: https://cloud.google.com/storage/docs/access-control/signed-urls",
                   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:generateDownloadUrl",
                   "httpMethod": "POST",
                   "id": "cloudfunctions.projects.locations.functions.generateDownloadUrl",
@@ -311,7 +311,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name of function for which source code Google Cloud Storage signed\nURL should be generated.",
+                      "description": "The name of function for which source code Google Cloud Storage signed URL should be generated.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$",
                       "required": true,
@@ -330,7 +330,7 @@
                   ]
                 },
                 "generateUploadUrl": {
-                  "description": "Returns a signed URL for uploading a function source code.\nFor more information about the signed URL usage see:\nhttps://cloud.google.com/storage/docs/access-control/signed-urls.\nOnce the function source code upload is complete, the used signed\nURL should be provided in CreateFunction or UpdateFunction request\nas a reference to the function source code.\n\nWhen uploading source code to the generated signed URL, please follow\nthese restrictions:\n\n* Source file type should be a zip file.\n* Source file size should not exceed 100MB limit.\n* No credentials should be attached - the signed URLs provide access to the\n  target bucket using internal service identity; if credentials were\n  attached, the identity from the credentials would be used, but that\n  identity does not have permissions to upload files to the URL.\n\nWhen making a HTTP PUT request, these two headers need to be specified:\n\n* `content-type: application/zip`\n* `x-goog-content-length-range: 0,104857600`\n\nAnd this header SHOULD NOT be specified:\n\n* `Authorization: Bearer YOUR_TOKEN`",
+                  "description": "Returns a signed URL for uploading a function source code. For more information about the signed URL usage see: https://cloud.google.com/storage/docs/access-control/signed-urls. Once the function source code upload is complete, the used signed URL should be provided in CreateFunction or UpdateFunction request as a reference to the function source code. When uploading source code to the generated signed URL, please follow these restrictions: * Source file type should be a zip file. * Source file size should not exceed 100MB limit. * No credentials should be attached - the signed URLs provide access to the target bucket using internal service identity; if credentials were attached, the identity from the credentials would be used, but that identity does not have permissions to upload files to the URL. When making a HTTP PUT request, these two headers need to be specified: * `content-type: application/zip` * `x-goog-content-length-range: 0,104857600` And this header SHOULD NOT be specified: * `Authorization: Bearer YOUR_TOKEN`",
                   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/functions:generateUploadUrl",
                   "httpMethod": "POST",
                   "id": "cloudfunctions.projects.locations.functions.generateUploadUrl",
@@ -339,7 +339,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "The project and location in which the Google Cloud Storage signed URL\nshould be generated, specified in the format `projects/*/locations/*`.",
+                      "description": "The project and location in which the Google Cloud Storage signed URL should be generated, specified in the format `projects/*/locations/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -383,7 +383,7 @@
                   ]
                 },
                 "getIamPolicy": {
-                  "description": "Gets the IAM access control policy for a function.\nReturns an empty policy if the function exists and does not have a policy\nset.",
+                  "description": "Gets the IAM access control policy for a function. Returns an empty policy if the function exists and does not have a policy set.",
                   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:getIamPolicy",
                   "httpMethod": "GET",
                   "id": "cloudfunctions.projects.locations.functions.getIamPolicy",
@@ -392,13 +392,13 @@
                   ],
                   "parameters": {
                     "options.requestedPolicyVersion": {
-                      "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+                      "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
                     },
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$",
                       "required": true,
@@ -429,12 +429,12 @@
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "The value returned by the last\n`ListFunctionsResponse`; indicates that\nthis is a continuation of a prior `ListFunctions` call, and that the\nsystem should return the next page of data.",
+                      "description": "The value returned by the last `ListFunctionsResponse`; indicates that this is a continuation of a prior `ListFunctions` call, and that the system should return the next page of data.",
                       "location": "query",
                       "type": "string"
                     },
                     "parent": {
-                      "description": "The project and location from which the function should be listed,\nspecified in the format `projects/*/locations/*`\nIf you want to list functions in all locations, use \"-\" in place of a\nlocation. When listing functions in all locations, if one or more\nlocation(s) are unreachable, the response will contain functions from all\nreachable locations along with the names of any unreachable locations.",
+                      "description": "The project and location from which the function should be listed, specified in the format `projects/*/locations/*` If you want to list functions in all locations, use \"-\" in place of a location. When listing functions in all locations, if one or more location(s) are unreachable, the response will contain functions from all reachable locations along with the names of any unreachable locations.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -459,7 +459,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "A user-defined name of the function. Function names must be unique\nglobally and match pattern `projects/*/locations/*/functions/*`",
+                      "description": "A user-defined name of the function. Function names must be unique globally and match pattern `projects/*/locations/*/functions/*`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$",
                       "required": true,
@@ -484,7 +484,7 @@
                   ]
                 },
                 "setIamPolicy": {
-                  "description": "Sets the IAM access control policy on the specified function.\nReplaces any existing policy.",
+                  "description": "Sets the IAM access control policy on the specified function. Replaces any existing policy.",
                   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:setIamPolicy",
                   "httpMethod": "POST",
                   "id": "cloudfunctions.projects.locations.functions.setIamPolicy",
@@ -493,7 +493,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$",
                       "required": true,
@@ -512,7 +512,7 @@
                   ]
                 },
                 "testIamPermissions": {
-                  "description": "Tests the specified permissions against the IAM access control policy\nfor a function.\nIf the function does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.",
+                  "description": "Tests the specified permissions against the IAM access control policy for a function. If the function does not exist, this will return an empty set of permissions, not a NOT_FOUND error.",
                   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:testIamPermissions",
                   "httpMethod": "POST",
                   "id": "cloudfunctions.projects.locations.functions.testIamPermissions",
@@ -521,7 +521,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$",
                       "required": true,
@@ -546,11 +546,11 @@
       }
     }
   },
-  "revision": "20200717",
+  "revision": "20200806",
   "rootUrl": "https://cloudfunctions.googleapis.com/",
   "schemas": {
     "AuditConfig": {
-      "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n    {\n      \"audit_configs\": [\n        {\n          \"service\": \"allServices\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n              \"exempted_members\": [\n                \"user:jose@example.com\"\n              ]\n            },\n            {\n              \"log_type\": \"DATA_WRITE\"\n            },\n            {\n              \"log_type\": \"ADMIN_READ\"\n            }\n          ]\n        },\n        {\n          \"service\": \"sampleservice.googleapis.com\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\"\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n              \"exempted_members\": [\n                \"user:aliya@example.com\"\n              ]\n            }\n          ]\n        }\n      ]\n    }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.",
+      "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.",
       "id": "AuditConfig",
       "properties": {
         "auditLogConfigs": {
@@ -561,18 +561,18 @@
           "type": "array"
         },
         "service": {
-          "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.",
+          "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "AuditLogConfig": {
-      "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n    {\n      \"audit_log_configs\": [\n        {\n          \"log_type\": \"DATA_READ\",\n          \"exempted_members\": [\n            \"user:jose@example.com\"\n          ]\n        },\n        {\n          \"log_type\": \"DATA_WRITE\"\n        }\n      ]\n    }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.",
+      "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.",
       "id": "AuditLogConfig",
       "properties": {
         "exemptedMembers": {
-          "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.",
+          "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.",
           "items": {
             "type": "string"
           },
@@ -603,17 +603,17 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
           "type": "string"
         }
       },
@@ -635,7 +635,7 @@
       "id": "CallFunctionResponse",
       "properties": {
         "error": {
-          "description": "Either system or user-function generated error. Set if execution\nwas not successful.",
+          "description": "Either system or user-function generated error. Set if execution was not successful.",
           "type": "string"
         },
         "executionId": {
@@ -643,23 +643,24 @@
           "type": "string"
         },
         "result": {
-          "description": "Result populated for successful execution of synchronous function. Will\nnot be populated if function does not return a result through context.",
+          "description": "Result populated for successful execution of synchronous function. Will not be populated if function does not return a result through context.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "CloudFunction": {
-      "description": "Describes a Cloud Function that contains user computation executed in\nresponse to an event. It encapsulate function and triggers configurations.",
+      "description": "Describes a Cloud Function that contains user computation executed in response to an event. It encapsulate function and triggers configurations.",
       "id": "CloudFunction",
       "properties": {
         "availableMemoryMb": {
-          "description": "The amount of memory in MB available for a function.\nDefaults to 256MB.",
+          "description": "The amount of memory in MB available for a function. Defaults to 256MB.",
           "format": "int32",
           "type": "integer"
         },
         "buildId": {
-          "description": "Output only. The Cloud Build ID of the latest successful deployment of the\nfunction.",
+          "description": "Output only. The Cloud Build ID of the latest successful deployment of the function.",
+          "readOnly": true,
           "type": "string"
         },
         "description": {
@@ -667,7 +668,7 @@
           "type": "string"
         },
         "entryPoint": {
-          "description": "The name of the function (as defined in source code) that will be\nexecuted. Defaults to the resource name suffix, if not specified. For\nbackward compatibility, if function with given name is not found, then the\nsystem will try to use function named \"function\".\nFor Node.js this is name of a function exported by the module specified\nin `source_location`.",
+          "description": "The name of the function (as defined in source code) that will be executed. Defaults to the resource name suffix, if not specified. For backward compatibility, if function with given name is not found, then the system will try to use function named \"function\". For Node.js this is name of a function exported by the module specified in `source_location`.",
           "type": "string"
         },
         "environmentVariables": {
@@ -686,7 +687,7 @@
           "description": "An HTTPS endpoint type of source that can be triggered via URL."
         },
         "ingressSettings": {
-          "description": "The ingress settings for the function, controlling what traffic can reach\nit.",
+          "description": "The ingress settings for the function, controlling what traffic can reach it.",
           "enum": [
             "INGRESS_SETTINGS_UNSPECIFIED",
             "ALLOW_ALL",
@@ -709,36 +710,36 @@
           "type": "object"
         },
         "maxInstances": {
-          "description": "The limit on the maximum number of function instances that may coexist at a\ngiven time.",
+          "description": "The limit on the maximum number of function instances that may coexist at a given time.",
           "format": "int32",
           "type": "integer"
         },
         "name": {
-          "description": "A user-defined name of the function. Function names must be unique\nglobally and match pattern `projects/*/locations/*/functions/*`",
+          "description": "A user-defined name of the function. Function names must be unique globally and match pattern `projects/*/locations/*/functions/*`",
           "type": "string"
         },
         "network": {
-          "description": "The VPC Network that this cloud function can connect to. It can be\neither the fully-qualified URI, or the short name of the network resource.\nIf the short network name is used, the network must belong to the same\nproject. Otherwise, it must belong to a project within the same\norganization. The format of this field is either\n`projects/{project}/global/networks/{network}` or `{network}`, where\n{project} is a project id where the network is defined, and {network} is\nthe short name of the network.\n\nThis field is mutually exclusive with `vpc_connector` and will be replaced\nby it.\n\nSee [the VPC documentation](https://cloud.google.com/compute/docs/vpc) for\nmore information on connecting Cloud projects.",
+          "description": "The VPC Network that this cloud function can connect to. It can be either the fully-qualified URI, or the short name of the network resource. If the short network name is used, the network must belong to the same project. Otherwise, it must belong to a project within the same organization. The format of this field is either `projects/{project}/global/networks/{network}` or `{network}`, where {project} is a project id where the network is defined, and {network} is the short name of the network. This field is mutually exclusive with `vpc_connector` and will be replaced by it. See [the VPC documentation](https://cloud.google.com/compute/docs/vpc) for more information on connecting Cloud projects.",
           "type": "string"
         },
         "runtime": {
-          "description": "The runtime in which to run the function. Required when deploying a new\nfunction, optional when updating an existing function. For a complete\nlist of possible choices, see the\n[`gcloud` command\nreference](/sdk/gcloud/reference/functions/deploy#--runtime).",
+          "description": "The runtime in which to run the function. Required when deploying a new function, optional when updating an existing function. For a complete list of possible choices, see the [`gcloud` command reference](/sdk/gcloud/reference/functions/deploy#--runtime).",
           "type": "string"
         },
         "serviceAccountEmail": {
-          "description": "The email of the function's service account. If empty, defaults to\n`{project_id}@appspot.gserviceaccount.com`.",
+          "description": "The email of the function's service account. If empty, defaults to `{project_id}@appspot.gserviceaccount.com`.",
           "type": "string"
         },
         "sourceArchiveUrl": {
-          "description": "The Google Cloud Storage URL, starting with gs://, pointing to the zip\narchive which contains the function.",
+          "description": "The Google Cloud Storage URL, starting with gs://, pointing to the zip archive which contains the function.",
           "type": "string"
         },
         "sourceRepository": {
           "$ref": "SourceRepository",
-          "description": "**Beta Feature**\n\nThe source repository where a function is hosted."
+          "description": "**Beta Feature** The source repository where a function is hosted."
         },
         "sourceUploadUrl": {
-          "description": "The Google Cloud Storage signed URL used for source uploading, generated\nby google.cloud.functions.v1.GenerateUploadUrl",
+          "description": "The Google Cloud Storage signed URL used for source uploading, generated by google.cloud.functions.v1.GenerateUploadUrl",
           "type": "string"
         },
         "status": {
@@ -757,31 +758,34 @@
             "Function deployment failed and the function isn’t serving.",
             "Function is being created or updated.",
             "Function is being deleted.",
-            "Function deployment failed and the function serving state is undefined.\nThe function should be updated or deleted to move it out of this state."
+            "Function deployment failed and the function serving state is undefined. The function should be updated or deleted to move it out of this state."
           ],
+          "readOnly": true,
           "type": "string"
         },
         "timeout": {
-          "description": "The function execution timeout. Execution is considered failed and\ncan be terminated if the function is not completed at the end of the\ntimeout period. Defaults to 60 seconds.",
+          "description": "The function execution timeout. Execution is considered failed and can be terminated if the function is not completed at the end of the timeout period. Defaults to 60 seconds.",
           "format": "google-duration",
           "type": "string"
         },
         "updateTime": {
           "description": "Output only. The last update timestamp of a Cloud Function.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "versionId": {
-          "description": "Output only. The version identifier of the Cloud Function. Each deployment attempt\nresults in a new version of a function being created.",
+          "description": "Output only. The version identifier of the Cloud Function. Each deployment attempt results in a new version of a function being created.",
           "format": "int64",
+          "readOnly": true,
           "type": "string"
         },
         "vpcConnector": {
-          "description": "The VPC Network Connector that this cloud function can connect to. It can\nbe either the fully-qualified URI, or the short name of the network\nconnector resource. The format of this field is\n`projects/*/locations/*/connectors/*`\n\nThis field is mutually exclusive with `network` field and will eventually\nreplace it.\n\nSee [the VPC documentation](https://cloud.google.com/compute/docs/vpc) for\nmore information on connecting Cloud projects.",
+          "description": "The VPC Network Connector that this cloud function can connect to. It can be either the fully-qualified URI, or the short name of the network connector resource. The format of this field is `projects/*/locations/*/connectors/*` This field is mutually exclusive with `network` field and will eventually replace it. See [the VPC documentation](https://cloud.google.com/compute/docs/vpc) for more information on connecting Cloud projects.",
           "type": "string"
         },
         "vpcConnectorEgressSettings": {
-          "description": "The egress settings for the connector, controlling what traffic is diverted\nthrough it.",
+          "description": "The egress settings for the connector, controlling what traffic is diverted through it.",
           "enum": [
             "VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED",
             "PRIVATE_RANGES_ONLY",
@@ -790,7 +794,7 @@
           "enumDescriptions": [
             "Unspecified.",
             "Use the VPC Access Connector only for private IP space from RFC1918.",
-            "Force the use of VPC Access Connector for all egress traffic from the\nfunction."
+            "Force the use of VPC Access Connector for all egress traffic from the function."
           ],
           "type": "string"
         }
@@ -798,11 +802,11 @@
       "type": "object"
     },
     "EventTrigger": {
-      "description": "Describes EventTrigger, used to request events be sent from another\nservice.",
+      "description": "Describes EventTrigger, used to request events be sent from another service.",
       "id": "EventTrigger",
       "properties": {
         "eventType": {
-          "description": "Required. The type of event to observe. For example:\n`providers/cloud.storage/eventTypes/object.change` and\n`providers/cloud.pubsub/eventTypes/topic.publish`.\n\nEvent types match pattern `providers/*/eventTypes/*.*`.\nThe pattern contains:\n\n1. namespace: For example, `cloud.storage` and\n   `google.firebase.analytics`.\n2. resource type: The type of resource on which event occurs. For\n   example, the Google Cloud Storage API includes the type `object`.\n3. action: The action that generates the event. For example, action for\n   a Google Cloud Storage Object is 'change'.\nThese parts are lower case.",
+          "description": "Required. The type of event to observe. For example: `providers/cloud.storage/eventTypes/object.change` and `providers/cloud.pubsub/eventTypes/topic.publish`. Event types match pattern `providers/*/eventTypes/*.*`. The pattern contains: 1. namespace: For example, `cloud.storage` and `google.firebase.analytics`. 2. resource type: The type of resource on which event occurs. For example, the Google Cloud Storage API includes the type `object`. 3. action: The action that generates the event. For example, action for a Google Cloud Storage Object is 'change'. These parts are lower case.",
           "type": "string"
         },
         "failurePolicy": {
@@ -810,41 +814,41 @@
           "description": "Specifies policy for failed executions."
         },
         "resource": {
-          "description": "Required. The resource(s) from which to observe events, for example,\n`projects/_/buckets/myBucket`.\n\nNot all syntactically correct values are accepted by all services. For\nexample:\n\n1. The authorization model must support it. Google Cloud Functions\n   only allows EventTriggers to be deployed that observe resources in the\n   same project as the `CloudFunction`.\n2. The resource type must match the pattern expected for an\n   `event_type`. For example, an `EventTrigger` that has an\n   `event_type` of \"google.pubsub.topic.publish\" should have a resource\n   that matches Google Cloud Pub/Sub topics.\n\nAdditionally, some services may support short names when creating an\n`EventTrigger`. These will always be returned in the normalized \"long\"\nformat.\n\nSee each *service's* documentation for supported formats.",
+          "description": "Required. The resource(s) from which to observe events, for example, `projects/_/buckets/myBucket`. Not all syntactically correct values are accepted by all services. For example: 1. The authorization model must support it. Google Cloud Functions only allows EventTriggers to be deployed that observe resources in the same project as the `CloudFunction`. 2. The resource type must match the pattern expected for an `event_type`. For example, an `EventTrigger` that has an `event_type` of \"google.pubsub.topic.publish\" should have a resource that matches Google Cloud Pub/Sub topics. Additionally, some services may support short names when creating an `EventTrigger`. These will always be returned in the normalized \"long\" format. See each *service's* documentation for supported formats.",
           "type": "string"
         },
         "service": {
-          "description": "The hostname of the service that should be observed.\n\nIf no string is provided, the default service implementing the API will\nbe used. For example, `storage.googleapis.com` is the default for all\nevent types in the `google.storage` namespace.",
+          "description": "The hostname of the service that should be observed. If no string is provided, the default service implementing the API will be used. For example, `storage.googleapis.com` is the default for all event types in the `google.storage` namespace.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Expr": {
-      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
+      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
       "id": "Expr",
       "properties": {
         "description": {
-          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
+          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
           "type": "string"
         },
         "expression": {
-          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
+          "description": "Textual representation of an expression in Common Expression Language syntax.",
           "type": "string"
         },
         "location": {
-          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
+          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
           "type": "string"
         },
         "title": {
-          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
+          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "FailurePolicy": {
-      "description": "Describes the policy in case of function's execution failure.\nIf empty, then defaults to ignoring failures (i.e. not retrying them).",
+      "description": "Describes the policy in case of function's execution failure. If empty, then defaults to ignoring failures (i.e. not retrying them).",
       "id": "FailurePolicy",
       "properties": {
         "retry": {
@@ -859,7 +863,7 @@
       "id": "GenerateDownloadUrlRequest",
       "properties": {
         "versionId": {
-          "description": "The optional version of function. If not set, default, current version\nis used.",
+          "description": "The optional version of function. If not set, default, current version is used.",
           "format": "uint64",
           "type": "string"
         }
@@ -871,7 +875,7 @@
       "id": "GenerateDownloadUrlResponse",
       "properties": {
         "downloadUrl": {
-          "description": "The generated Google Cloud Storage signed URL that should be used for\nfunction source code download.",
+          "description": "The generated Google Cloud Storage signed URL that should be used for function source code download.",
           "type": "string"
         }
       },
@@ -888,7 +892,7 @@
       "id": "GenerateUploadUrlResponse",
       "properties": {
         "uploadUrl": {
-          "description": "The generated Google Cloud Storage signed URL that should be used for a\nfunction source code upload. The uploaded file should be a zip archive\nwhich contains a function.",
+          "description": "The generated Google Cloud Storage signed URL that should be used for a function source code upload. The uploaded file should be a zip archive which contains a function.",
           "type": "string"
         }
       },
@@ -900,6 +904,7 @@
       "properties": {
         "url": {
           "description": "Output only. The deployed url for the function.",
+          "readOnly": true,
           "type": "string"
         }
       },
@@ -917,11 +922,11 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "If not empty, indicates that there may be more functions that match\nthe request; this value should be passed in a new\ngoogle.cloud.functions.v1.ListFunctionsRequest\nto get more functions.",
+          "description": "If not empty, indicates that there may be more functions that match the request; this value should be passed in a new google.cloud.functions.v1.ListFunctionsRequest to get more functions.",
           "type": "string"
         },
         "unreachable": {
-          "description": "Locations that could not be reached. The response does not include any\nfunctions from these locations.",
+          "description": "Locations that could not be reached. The response does not include any functions from these locations.",
           "items": {
             "type": "string"
           },
@@ -971,14 +976,14 @@
       "id": "Location",
       "properties": {
         "displayName": {
-          "description": "The friendly name for this location, typically a nearby city name.\nFor example, \"Tokyo\".",
+          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
           "type": "string"
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Cross-service attributes for the location. For example\n\n    {\"cloud.googleapis.com/region\": \"us-east1\"}",
+          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
           "type": "object"
         },
         "locationId": {
@@ -990,22 +995,22 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "Service-specific metadata. For example the available capacity at the given\nlocation.",
+          "description": "Service-specific metadata. For example the available capacity at the given location.",
           "type": "object"
         },
         "name": {
-          "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`",
+          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Operation": {
-      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
+      "description": "This resource represents a long-running operation that is the result of a network API call.",
       "id": "Operation",
       "properties": {
         "done": {
-          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
+          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
           "type": "boolean"
         },
         "error": {
@@ -1017,11 +1022,11 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "Service-specific metadata associated with the operation.  It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata.  Any method that returns a\nlong-running operation should document the metadata type, if any.",
+          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
           "type": "object"
         },
         "name": {
-          "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.",
+          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
           "type": "string"
         },
         "response": {
@@ -1029,7 +1034,7 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "The normal response of the operation in case of success.  If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`.  If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource.  For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name.  For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
+          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
           "type": "object"
         }
       },
@@ -1040,7 +1045,7 @@
       "id": "OperationMetadataV1",
       "properties": {
         "buildId": {
-          "description": "The Cloud Build ID of the function created or updated by an API call.\nThis field is only populated for Create and Update operations.",
+          "description": "The Cloud Build ID of the function created or updated by an API call. This field is only populated for Create and Update operations.",
           "type": "string"
         },
         "request": {
@@ -1052,7 +1057,7 @@
           "type": "object"
         },
         "target": {
-          "description": "Target of the operation - for example\nprojects/project-1/locations/region-1/functions/function-1",
+          "description": "Target of the operation - for example projects/project-1/locations/region-1/functions/function-1",
           "type": "string"
         },
         "type": {
@@ -1077,7 +1082,7 @@
           "type": "string"
         },
         "versionId": {
-          "description": "Version id of the function created or updated by an API call.\nThis field is only populated for Create and Update operations.",
+          "description": "Version id of the function created or updated by an API call. This field is only populated for Create and Update operations.",
           "format": "int64",
           "type": "string"
         }
@@ -1085,7 +1090,7 @@
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\n            \"user:eve@example.com\"\n          ],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "auditConfigs": {
@@ -1096,19 +1101,19 @@
           "type": "array"
         },
         "bindings": {
-          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
+          "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.",
           "items": {
             "$ref": "Binding"
           },
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
           "format": "byte",
           "type": "string"
         },
         "version": {
-          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -1116,7 +1121,7 @@
       "type": "object"
     },
     "Retry": {
-      "description": "Describes the retry policy in case of function's execution failure.\nA function execution will be retried on any failure.\nA failed execution will be retried up to 7 days with an exponential backoff\n(capped at 10 seconds).\nRetried execution is charged as any other execution.",
+      "description": "Describes the retry policy in case of function's execution failure. A function execution will be retried on any failure. A failed execution will be retried up to 7 days with an exponential backoff (capped at 10 seconds). Retried execution is charged as any other execution.",
       "id": "Retry",
       "properties": {},
       "type": "object"
@@ -1127,10 +1132,10 @@
       "properties": {
         "policy": {
           "$ref": "Policy",
-          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
+          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them."
         },
         "updateMask": {
-          "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`",
+          "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`",
           "format": "google-fieldmask",
           "type": "string"
         }
@@ -1138,22 +1143,23 @@
       "type": "object"
     },
     "SourceRepository": {
-      "description": "Describes SourceRepository, used to represent parameters related to\nsource repository where a function is hosted.",
+      "description": "Describes SourceRepository, used to represent parameters related to source repository where a function is hosted.",
       "id": "SourceRepository",
       "properties": {
         "deployedUrl": {
-          "description": "Output only. The URL pointing to the hosted repository where the function\nwere defined at the time of deployment. It always points to a specific\ncommit in the format described above.",
+          "description": "Output only. The URL pointing to the hosted repository where the function were defined at the time of deployment. It always points to a specific commit in the format described above.",
+          "readOnly": true,
           "type": "string"
         },
         "url": {
-          "description": "The URL pointing to the hosted repository where the function is defined.\nThere are supported Cloud Source Repository URLs in the following\nformats:\n\nTo refer to a specific commit:\n`https://source.developers.google.com/projects/*/repos/*/revisions/*/paths/*`\nTo refer to a moveable alias (branch):\n`https://source.developers.google.com/projects/*/repos/*/moveable-aliases/*/paths/*`\nIn particular, to refer to HEAD use `master` moveable alias.\nTo refer to a specific fixed alias (tag):\n`https://source.developers.google.com/projects/*/repos/*/fixed-aliases/*/paths/*`\n\nYou may omit `paths/*` if you want to use the main directory.",
+          "description": "The URL pointing to the hosted repository where the function is defined. There are supported Cloud Source Repository URLs in the following formats: To refer to a specific commit: `https://source.developers.google.com/projects/*/repos/*/revisions/*/paths/*` To refer to a moveable alias (branch): `https://source.developers.google.com/projects/*/repos/*/moveable-aliases/*/paths/*` In particular, to refer to HEAD use `master` moveable alias. To refer to a specific fixed alias (tag): `https://source.developers.google.com/projects/*/repos/*/fixed-aliases/*/paths/*` You may omit `paths/*` if you want to use the main directory.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Status": {
-      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "Status",
       "properties": {
         "code": {
@@ -1162,7 +1168,7 @@
           "type": "integer"
         },
         "details": {
-          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -1173,7 +1179,7 @@
           "type": "array"
         },
         "message": {
-          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
           "type": "string"
         }
       },
@@ -1184,7 +1190,7 @@
       "id": "TestIamPermissionsRequest",
       "properties": {
         "permissions": {
-          "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
+          "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
           "items": {
             "type": "string"
           },
@@ -1198,7 +1204,7 @@
       "id": "TestIamPermissionsResponse",
       "properties": {
         "permissions": {
-          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
+          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
           "items": {
             "type": "string"
           },
diff --git a/cloudfunctions/v1/cloudfunctions-gen.go b/cloudfunctions/v1/cloudfunctions-gen.go
index 8d57af9..1761a89 100644
--- a/cloudfunctions/v1/cloudfunctions-gen.go
+++ b/cloudfunctions/v1/cloudfunctions-gen.go
@@ -180,72 +180,31 @@
 	s *Service
 }
 
-// AuditConfig: Specifies the audit configuration for a service.
-// The configuration determines which permission types are logged, and
-// what
-// identities, if any, are exempted from logging.
-// An AuditConfig must have one or more AuditLogConfigs.
-//
-// If there are AuditConfigs for both `allServices` and a specific
-// service,
-// the union of the two AuditConfigs is used for that service: the
-// log_types
-// specified in each AuditConfig are enabled, and the exempted_members
-// in each
-// AuditLogConfig are exempted.
-//
-// Example Policy with multiple AuditConfigs:
-//
-//     {
-//       "audit_configs": [
-//         {
-//           "service": "allServices",
-//           "audit_log_configs": [
-//             {
-//               "log_type": "DATA_READ",
-//               "exempted_members": [
-//                 "user:jose@example.com"
-//               ]
-//             },
-//             {
-//               "log_type": "DATA_WRITE"
-//             },
-//             {
-//               "log_type": "ADMIN_READ"
-//             }
-//           ]
-//         },
-//         {
-//           "service": "sampleservice.googleapis.com",
-//           "audit_log_configs": [
-//             {
-//               "log_type": "DATA_READ"
-//             },
-//             {
-//               "log_type": "DATA_WRITE",
-//               "exempted_members": [
-//                 "user:aliya@example.com"
-//               ]
-//             }
-//           ]
-//         }
-//       ]
-//     }
-//
-// For sampleservice, this policy enables DATA_READ, DATA_WRITE and
-// ADMIN_READ
-// logging. It also exempts jose@example.com from DATA_READ logging,
-// and
-// aliya@example.com from DATA_WRITE logging.
+// AuditConfig: Specifies the audit configuration for a service. The
+// configuration determines which permission types are logged, and what
+// identities, if any, are exempted from logging. An AuditConfig must
+// have one or more AuditLogConfigs. If there are AuditConfigs for both
+// `allServices` and a specific service, the union of the two
+// AuditConfigs is used for that service: the log_types specified in
+// each AuditConfig are enabled, and the exempted_members in each
+// AuditLogConfig are exempted. Example Policy with multiple
+// AuditConfigs: { "audit_configs": [ { "service": "allServices",
+// "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members":
+// [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, {
+// "log_type": "ADMIN_READ" } ] }, { "service":
+// "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type":
+// "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [
+// "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy
+// enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts
+// jose@example.com from DATA_READ logging, and aliya@example.com from
+// DATA_WRITE logging.
 type AuditConfig struct {
 	// AuditLogConfigs: The configuration for logging of each type of
 	// permission.
 	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
 
-	// Service: Specifies a service that will be enabled for audit
-	// logging.
-	// For example, `storage.googleapis.com`,
-	// `cloudsql.googleapis.com`.
+	// Service: Specifies a service that will be enabled for audit logging.
+	// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
 	// `allServices` is a special value that covers all services.
 	Service string `json:"service,omitempty"`
 
@@ -274,31 +233,15 @@
 }
 
 // AuditLogConfig: Provides the configuration for logging a type of
-// permissions.
-// Example:
-//
-//     {
-//       "audit_log_configs": [
-//         {
-//           "log_type": "DATA_READ",
-//           "exempted_members": [
-//             "user:jose@example.com"
-//           ]
-//         },
-//         {
-//           "log_type": "DATA_WRITE"
-//         }
-//       ]
-//     }
-//
-// This enables 'DATA_READ' and 'DATA_WRITE' logging, while
-// exempting
-// jose@example.com from DATA_READ logging.
+// permissions. Example: { "audit_log_configs": [ { "log_type":
+// "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, {
+// "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and
+// 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ
+// logging.
 type AuditLogConfig struct {
 	// ExemptedMembers: Specifies the identities that do not cause logging
-	// for this type of
-	// permission.
-	// Follows the same format of Binding.members.
+	// for this type of permission. Follows the same format of
+	// Binding.members.
 	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
 
 	// LogType: The log type that this config enables.
@@ -336,95 +279,53 @@
 
 // Binding: Associates `members` with a `role`.
 type Binding struct {
-	// Condition: The condition that is associated with this binding.
-	//
-	// If the condition evaluates to `true`, then this binding applies to
-	// the
-	// current request.
-	//
-	// If the condition evaluates to `false`, then this binding does not
-	// apply to
-	// the current request. However, a different role binding might grant
-	// the same
-	// role to one or more of the members in this binding.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// Condition: The condition that is associated with this binding. If the
+	// condition evaluates to `true`, then this binding applies to the
+	// current request. If the condition evaluates to `false`, then this
+	// binding does not apply to the current request. However, a different
+	// role binding might grant the same role to one or more of the members
+	// in this binding. To learn which resources support conditions in their
+	// IAM policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	Condition *Expr `json:"condition,omitempty"`
 
 	// Members: Specifies the identities requesting access for a Cloud
-	// Platform resource.
-	// `members` can have the following values:
-	//
-	// * `allUsers`: A special identifier that represents anyone who is
-	//    on the internet; with or without a Google account.
-	//
-	// * `allAuthenticatedUsers`: A special identifier that represents
-	// anyone
-	//    who is authenticated with a Google account or a service
-	// account.
-	//
-	// * `user:{emailid}`: An email address that represents a specific
-	// Google
-	//    account. For example, `alice@example.com` .
-	//
-	//
-	// * `serviceAccount:{emailid}`: An email address that represents a
-	// service
-	//    account. For example,
-	// `my-other-app@appspot.gserviceaccount.com`.
-	//
-	// * `group:{emailid}`: An email address that represents a Google
-	// group.
-	//    For example, `admins@example.com`.
-	//
-	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a user that has been recently deleted.
-	// For
-	//    example, `alice@example.com?uid=123456789012345678901`. If the
-	// user is
-	//    recovered, this value reverts to `user:{emailid}` and the
-	// recovered user
-	//    retains the role in the binding.
-	//
-	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
-	// (plus
-	//    unique identifier) representing a service account that has been
-	// recently
-	//    deleted. For example,
-	//
+	// Platform resource. `members` can have the following values: *
+	// `allUsers`: A special identifier that represents anyone who is on the
+	// internet; with or without a Google account. *
+	// `allAuthenticatedUsers`: A special identifier that represents anyone
+	// who is authenticated with a Google account or a service account. *
+	// `user:{emailid}`: An email address that represents a specific Google
+	// account. For example, `alice@example.com` . *
+	// `serviceAccount:{emailid}`: An email address that represents a
+	// service account. For example,
+	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
+	// email address that represents a Google group. For example,
+	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
+	// email address (plus unique identifier) representing a user that has
+	// been recently deleted. For example,
+	// `alice@example.com?uid=123456789012345678901`. If the user is
+	// recovered, this value reverts to `user:{emailid}` and the recovered
+	// user retains the role in the binding. *
+	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
+	// (plus unique identifier) representing a service account that has been
+	// recently deleted. For example,
 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
-	//
-	//    If the service account is undeleted, this value reverts to
-	//    `serviceAccount:{emailid}` and the undeleted service account
-	// retains the
-	//    role in the binding.
-	//
-	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a Google group that has been recently
-	//    deleted. For example,
-	// `admins@example.com?uid=123456789012345678901`. If
-	//    the group is recovered, this value reverts to `group:{emailid}`
-	// and the
-	//    recovered group retains the role in the binding.
-	//
-	//
-	// * `domain:{domain}`: The G Suite domain (primary) that represents all
-	// the
-	//    users of that domain. For example, `google.com` or
-	// `example.com`.
-	//
-	//
+	// If the service account is undeleted, this value reverts to
+	// `serviceAccount:{emailid}` and the undeleted service account retains
+	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
+	// An email address (plus unique identifier) representing a Google group
+	// that has been recently deleted. For example,
+	// `admins@example.com?uid=123456789012345678901`. If the group is
+	// recovered, this value reverts to `group:{emailid}` and the recovered
+	// group retains the role in the binding. * `domain:{domain}`: The G
+	// Suite domain (primary) that represents all the users of that domain.
+	// For example, `google.com` or `example.com`.
 	Members []string `json:"members,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`.
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -481,17 +382,15 @@
 // CallFunctionResponse: Response of `CallFunction` method.
 type CallFunctionResponse struct {
 	// Error: Either system or user-function generated error. Set if
-	// execution
-	// was not successful.
+	// execution was not successful.
 	Error string `json:"error,omitempty"`
 
 	// ExecutionId: Execution id of function invocation.
 	ExecutionId string `json:"executionId,omitempty"`
 
 	// Result: Result populated for successful execution of synchronous
-	// function. Will
-	// not be populated if function does not return a result through
-	// context.
+	// function. Will not be populated if function does not return a result
+	// through context.
 	Result string `json:"result,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -522,33 +421,26 @@
 }
 
 // CloudFunction: Describes a Cloud Function that contains user
-// computation executed in
-// response to an event. It encapsulate function and triggers
-// configurations.
+// computation executed in response to an event. It encapsulate function
+// and triggers configurations.
 type CloudFunction struct {
 	// AvailableMemoryMb: The amount of memory in MB available for a
-	// function.
-	// Defaults to 256MB.
+	// function. Defaults to 256MB.
 	AvailableMemoryMb int64 `json:"availableMemoryMb,omitempty"`
 
 	// BuildId: Output only. The Cloud Build ID of the latest successful
-	// deployment of the
-	// function.
+	// deployment of the function.
 	BuildId string `json:"buildId,omitempty"`
 
 	// Description: User-provided description of a function.
 	Description string `json:"description,omitempty"`
 
 	// EntryPoint: The name of the function (as defined in source code) that
-	// will be
-	// executed. Defaults to the resource name suffix, if not specified.
-	// For
-	// backward compatibility, if function with given name is not found,
-	// then the
-	// system will try to use function named "function".
+	// will be executed. Defaults to the resource name suffix, if not
+	// specified. For backward compatibility, if function with given name is
+	// not found, then the system will try to use function named "function".
 	// For Node.js this is name of a function exported by the module
-	// specified
-	// in `source_location`.
+	// specified in `source_location`.
 	EntryPoint string `json:"entryPoint,omitempty"`
 
 	// EnvironmentVariables: Environment variables that shall be available
@@ -564,8 +456,7 @@
 	HttpsTrigger *HttpsTrigger `json:"httpsTrigger,omitempty"`
 
 	// IngressSettings: The ingress settings for the function, controlling
-	// what traffic can reach
-	// it.
+	// what traffic can reach it.
 	//
 	// Possible values:
 	//   "INGRESS_SETTINGS_UNSPECIFIED" - Unspecified.
@@ -580,68 +471,47 @@
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// MaxInstances: The limit on the maximum number of function instances
-	// that may coexist at a
-	// given time.
+	// that may coexist at a given time.
 	MaxInstances int64 `json:"maxInstances,omitempty"`
 
 	// Name: A user-defined name of the function. Function names must be
-	// unique
-	// globally and match pattern `projects/*/locations/*/functions/*`
+	// unique globally and match pattern
+	// `projects/*/locations/*/functions/*`
 	Name string `json:"name,omitempty"`
 
 	// Network: The VPC Network that this cloud function can connect to. It
-	// can be
-	// either the fully-qualified URI, or the short name of the network
-	// resource.
-	// If the short network name is used, the network must belong to the
-	// same
-	// project. Otherwise, it must belong to a project within the
-	// same
-	// organization. The format of this field is
-	// either
-	// `projects/{project}/global/networks/{network}` or `{network}`,
-	// where
+	// can be either the fully-qualified URI, or the short name of the
+	// network resource. If the short network name is used, the network must
+	// belong to the same project. Otherwise, it must belong to a project
+	// within the same organization. The format of this field is either
+	// `projects/{project}/global/networks/{network}` or `{network}`, where
 	// {project} is a project id where the network is defined, and {network}
-	// is
-	// the short name of the network.
-	//
-	// This field is mutually exclusive with `vpc_connector` and will be
-	// replaced
-	// by it.
-	//
-	// See [the VPC
-	// documentation](https://cloud.google.com/compute/docs/vpc) for
-	// more information on connecting Cloud projects.
+	// is the short name of the network. This field is mutually exclusive
+	// with `vpc_connector` and will be replaced by it. See [the VPC
+	// documentation](https://cloud.google.com/compute/docs/vpc) for more
+	// information on connecting Cloud projects.
 	Network string `json:"network,omitempty"`
 
 	// Runtime: The runtime in which to run the function. Required when
-	// deploying a new
-	// function, optional when updating an existing function. For a
-	// complete
-	// list of possible choices, see the
-	// [`gcloud`
-	// command
-	// reference](/sdk/gcloud/reference/functions/deploy#--runtime).
+	// deploying a new function, optional when updating an existing
+	// function. For a complete list of possible choices, see the [`gcloud`
+	// command reference](/sdk/gcloud/reference/functions/deploy#--runtime).
 	Runtime string `json:"runtime,omitempty"`
 
 	// ServiceAccountEmail: The email of the function's service account. If
-	// empty, defaults to
-	// `{project_id}@appspot.gserviceaccount.com`.
+	// empty, defaults to `{project_id}@appspot.gserviceaccount.com`.
 	ServiceAccountEmail string `json:"serviceAccountEmail,omitempty"`
 
 	// SourceArchiveUrl: The Google Cloud Storage URL, starting with gs://,
-	// pointing to the zip
-	// archive which contains the function.
+	// pointing to the zip archive which contains the function.
 	SourceArchiveUrl string `json:"sourceArchiveUrl,omitempty"`
 
-	// SourceRepository: **Beta Feature**
-	//
-	// The source repository where a function is hosted.
+	// SourceRepository: **Beta Feature** The source repository where a
+	// function is hosted.
 	SourceRepository *SourceRepository `json:"sourceRepository,omitempty"`
 
 	// SourceUploadUrl: The Google Cloud Storage signed URL used for source
-	// uploading, generated
-	// by google.cloud.functions.v1.GenerateUploadUrl
+	// uploading, generated by google.cloud.functions.v1.GenerateUploadUrl
 	SourceUploadUrl string `json:"sourceUploadUrl,omitempty"`
 
 	// Status: Output only. Status of the function deployment.
@@ -654,16 +524,13 @@
 	//   "DEPLOY_IN_PROGRESS" - Function is being created or updated.
 	//   "DELETE_IN_PROGRESS" - Function is being deleted.
 	//   "UNKNOWN" - Function deployment failed and the function serving
-	// state is undefined.
-	// The function should be updated or deleted to move it out of this
-	// state.
+	// state is undefined. The function should be updated or deleted to move
+	// it out of this state.
 	Status string `json:"status,omitempty"`
 
 	// Timeout: The function execution timeout. Execution is considered
-	// failed and
-	// can be terminated if the function is not completed at the end of
-	// the
-	// timeout period. Defaults to 60 seconds.
+	// failed and can be terminated if the function is not completed at the
+	// end of the timeout period. Defaults to 60 seconds.
 	Timeout string `json:"timeout,omitempty"`
 
 	// UpdateTime: Output only. The last update timestamp of a Cloud
@@ -671,38 +538,28 @@
 	UpdateTime string `json:"updateTime,omitempty"`
 
 	// VersionId: Output only. The version identifier of the Cloud Function.
-	// Each deployment attempt
-	// results in a new version of a function being created.
+	// Each deployment attempt results in a new version of a function being
+	// created.
 	VersionId int64 `json:"versionId,omitempty,string"`
 
 	// VpcConnector: The VPC Network Connector that this cloud function can
-	// connect to. It can
-	// be either the fully-qualified URI, or the short name of the
-	// network
-	// connector resource. The format of this field
-	// is
-	// `projects/*/locations/*/connectors/*`
-	//
-	// This field is mutually exclusive with `network` field and will
-	// eventually
-	// replace it.
-	//
-	// See [the VPC
-	// documentation](https://cloud.google.com/compute/docs/vpc) for
-	// more information on connecting Cloud projects.
+	// connect to. It can be either the fully-qualified URI, or the short
+	// name of the network connector resource. The format of this field is
+	// `projects/*/locations/*/connectors/*` This field is mutually
+	// exclusive with `network` field and will eventually replace it. See
+	// [the VPC documentation](https://cloud.google.com/compute/docs/vpc)
+	// for more information on connecting Cloud projects.
 	VpcConnector string `json:"vpcConnector,omitempty"`
 
 	// VpcConnectorEgressSettings: The egress settings for the connector,
-	// controlling what traffic is diverted
-	// through it.
+	// controlling what traffic is diverted through it.
 	//
 	// Possible values:
 	//   "VPC_CONNECTOR_EGRESS_SETTINGS_UNSPECIFIED" - Unspecified.
 	//   "PRIVATE_RANGES_ONLY" - Use the VPC Access Connector only for
 	// private IP space from RFC1918.
 	//   "ALL_TRAFFIC" - Force the use of VPC Access Connector for all
-	// egress traffic from the
-	// function.
+	// egress traffic from the function.
 	VpcConnectorEgressSettings string `json:"vpcConnectorEgressSettings,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -734,65 +591,41 @@
 }
 
 // EventTrigger: Describes EventTrigger, used to request events be sent
-// from another
-// service.
+// from another service.
 type EventTrigger struct {
-	// EventType: Required. The type of event to observe. For
-	// example:
-	// `providers/cloud.storage/eventTypes/object.change`
-	// and
-	// `providers/cloud.pubsub/eventTypes/topic.publish`.
-	//
-	// Event types match pattern `providers/*/eventTypes/*.*`.
-	// The pattern contains:
-	//
-	// 1. namespace: For example, `cloud.storage` and
-	//    `google.firebase.analytics`.
-	// 2. resource type: The type of resource on which event occurs. For
-	//    example, the Google Cloud Storage API includes the type
-	// `object`.
-	// 3. action: The action that generates the event. For example, action
-	// for
-	//    a Google Cloud Storage Object is 'change'.
-	// These parts are lower case.
+	// EventType: Required. The type of event to observe. For example:
+	// `providers/cloud.storage/eventTypes/object.change` and
+	// `providers/cloud.pubsub/eventTypes/topic.publish`. Event types match
+	// pattern `providers/*/eventTypes/*.*`. The pattern contains: 1.
+	// namespace: For example, `cloud.storage` and
+	// `google.firebase.analytics`. 2. resource type: The type of resource
+	// on which event occurs. For example, the Google Cloud Storage API
+	// includes the type `object`. 3. action: The action that generates the
+	// event. For example, action for a Google Cloud Storage Object is
+	// 'change'. These parts are lower case.
 	EventType string `json:"eventType,omitempty"`
 
 	// FailurePolicy: Specifies policy for failed executions.
 	FailurePolicy *FailurePolicy `json:"failurePolicy,omitempty"`
 
 	// Resource: Required. The resource(s) from which to observe events, for
-	// example,
-	// `projects/_/buckets/myBucket`.
-	//
-	// Not all syntactically correct values are accepted by all services.
-	// For
-	// example:
-	//
-	// 1. The authorization model must support it. Google Cloud Functions
-	//    only allows EventTriggers to be deployed that observe resources in
-	// the
-	//    same project as the `CloudFunction`.
-	// 2. The resource type must match the pattern expected for an
-	//    `event_type`. For example, an `EventTrigger` that has an
-	//    `event_type` of "google.pubsub.topic.publish" should have a
-	// resource
-	//    that matches Google Cloud Pub/Sub topics.
-	//
-	// Additionally, some services may support short names when creating
-	// an
-	// `EventTrigger`. These will always be returned in the normalized
-	// "long"
-	// format.
-	//
-	// See each *service's* documentation for supported formats.
+	// example, `projects/_/buckets/myBucket`. Not all syntactically correct
+	// values are accepted by all services. For example: 1. The
+	// authorization model must support it. Google Cloud Functions only
+	// allows EventTriggers to be deployed that observe resources in the
+	// same project as the `CloudFunction`. 2. The resource type must match
+	// the pattern expected for an `event_type`. For example, an
+	// `EventTrigger` that has an `event_type` of
+	// "google.pubsub.topic.publish" should have a resource that matches
+	// Google Cloud Pub/Sub topics. Additionally, some services may support
+	// short names when creating an `EventTrigger`. These will always be
+	// returned in the normalized "long" format. See each *service's*
+	// documentation for supported formats.
 	Resource string `json:"resource,omitempty"`
 
-	// Service: The hostname of the service that should be observed.
-	//
-	// If no string is provided, the default service implementing the API
-	// will
-	// be used. For example, `storage.googleapis.com` is the default for
-	// all
+	// Service: The hostname of the service that should be observed. If no
+	// string is provided, the default service implementing the API will be
+	// used. For example, `storage.googleapis.com` is the default for all
 	// event types in the `google.storage` namespace.
 	Service string `json:"service,omitempty"`
 
@@ -820,65 +653,40 @@
 }
 
 // Expr: Represents a textual expression in the Common Expression
-// Language (CEL)
-// syntax. CEL is a C-like expression language. The syntax and semantics
-// of CEL
-// are documented at https://github.com/google/cel-spec.
-//
-// Example (Comparison):
-//
-//     title: "Summary size limit"
-//     description: "Determines if a summary is less than 100 chars"
-//     expression: "document.summary.size() < 100"
-//
-// Example (Equality):
-//
-//     title: "Requestor is owner"
-//     description: "Determines if requestor is the document owner"
-//     expression: "document.owner ==
-// request.auth.claims.email"
-//
-// Example (Logic):
-//
-//     title: "Public documents"
-//     description: "Determine whether the document should be publicly
-// visible"
-//     expression: "document.type != 'private' && document.type !=
-// 'internal'"
-//
-// Example (Data Manipulation):
-//
-//     title: "Notification string"
-//     description: "Create a notification string with a timestamp."
-//     expression: "'New message received at ' +
-// string(document.create_time)"
-//
-// The exact variables and functions that may be referenced within an
-// expression
-// are determined by the service that evaluates it. See the
-// service
-// documentation for additional information.
+// Language (CEL) syntax. CEL is a C-like expression language. The
+// syntax and semantics of CEL are documented at
+// https://github.com/google/cel-spec. Example (Comparison): title:
+// "Summary size limit" description: "Determines if a summary is less
+// than 100 chars" expression: "document.summary.size() < 100" Example
+// (Equality): title: "Requestor is owner" description: "Determines if
+// requestor is the document owner" expression: "document.owner ==
+// request.auth.claims.email" Example (Logic): title: "Public documents"
+// description: "Determine whether the document should be publicly
+// visible" expression: "document.type != 'private' && document.type !=
+// 'internal'" Example (Data Manipulation): title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' +
+// string(document.create_time)" The exact variables and functions that
+// may be referenced within an expression are determined by the service
+// that evaluates it. See the service documentation for additional
+// information.
 type Expr struct {
 	// Description: Optional. Description of the expression. This is a
-	// longer text which
-	// describes the expression, e.g. when hovered over it in a UI.
+	// longer text which describes the expression, e.g. when hovered over it
+	// in a UI.
 	Description string `json:"description,omitempty"`
 
 	// Expression: Textual representation of an expression in Common
-	// Expression Language
-	// syntax.
+	// Expression Language syntax.
 	Expression string `json:"expression,omitempty"`
 
 	// Location: Optional. String indicating the location of the expression
-	// for error
-	// reporting, e.g. a file name and a position in the file.
+	// for error reporting, e.g. a file name and a position in the file.
 	Location string `json:"location,omitempty"`
 
 	// Title: Optional. Title for the expression, i.e. a short string
-	// describing
-	// its purpose. This can be used e.g. in UIs which allow to enter
-	// the
-	// expression.
+	// describing its purpose. This can be used e.g. in UIs which allow to
+	// enter the expression.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -905,9 +713,8 @@
 }
 
 // FailurePolicy: Describes the policy in case of function's execution
-// failure.
-// If empty, then defaults to ignoring failures (i.e. not retrying
-// them).
+// failure. If empty, then defaults to ignoring failures (i.e. not
+// retrying them).
 type FailurePolicy struct {
 	// Retry: If specified, then the function will be retried in case of a
 	// failure.
@@ -939,8 +746,7 @@
 // GenerateDownloadUrlRequest: Request of `GenerateDownloadUrl` method.
 type GenerateDownloadUrlRequest struct {
 	// VersionId: The optional version of function. If not set, default,
-	// current version
-	// is used.
+	// current version is used.
 	VersionId uint64 `json:"versionId,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "VersionId") to
@@ -970,8 +776,7 @@
 // method.
 type GenerateDownloadUrlResponse struct {
 	// DownloadUrl: The generated Google Cloud Storage signed URL that
-	// should be used for
-	// function source code download.
+	// should be used for function source code download.
 	DownloadUrl string `json:"downloadUrl,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1010,10 +815,8 @@
 // method.
 type GenerateUploadUrlResponse struct {
 	// UploadUrl: The generated Google Cloud Storage signed URL that should
-	// be used for a
-	// function source code upload. The uploaded file should be a zip
-	// archive
-	// which contains a function.
+	// be used for a function source code upload. The uploaded file should
+	// be a zip archive which contains a function.
 	UploadUrl string `json:"uploadUrl,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1078,16 +881,13 @@
 	Functions []*CloudFunction `json:"functions,omitempty"`
 
 	// NextPageToken: If not empty, indicates that there may be more
-	// functions that match
-	// the request; this value should be passed in a
-	// new
-	// google.cloud.functions.v1.ListFunctionsRequest
-	// to get more functions.
+	// functions that match the request; this value should be passed in a
+	// new google.cloud.functions.v1.ListFunctionsRequest to get more
+	// functions.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Unreachable: Locations that could not be reached. The response does
-	// not include any
-	// functions from these locations.
+	// not include any functions from these locations.
 	Unreachable []string `json:"unreachable,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1194,13 +994,11 @@
 // Location: A resource that represents Google Cloud Platform location.
 type Location struct {
 	// DisplayName: The friendly name for this location, typically a nearby
-	// city name.
-	// For example, "Tokyo".
+	// city name. For example, "Tokyo".
 	DisplayName string `json:"displayName,omitempty"`
 
 	// Labels: Cross-service attributes for the location. For example
-	//
-	//     {"cloud.googleapis.com/region": "us-east1"}
+	// {"cloud.googleapis.com/region": "us-east1"}
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// LocationId: The canonical id for this location. For example:
@@ -1208,13 +1006,12 @@
 	LocationId string `json:"locationId,omitempty"`
 
 	// Metadata: Service-specific metadata. For example the available
-	// capacity at the given
-	// location.
+	// capacity at the given location.
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Name: Resource name for the location, which may vary between
-	// implementations.
-	// For example: "projects/example-project/locations/us-east1"
+	// implementations. For example:
+	// "projects/example-project/locations/us-east1"
 	Name string `json:"name,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "DisplayName") to
@@ -1241,52 +1038,38 @@
 }
 
 // Operation: This resource represents a long-running operation that is
-// the result of a
-// network API call.
+// the result of a network API call.
 type Operation struct {
 	// Done: 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.
+	// progress. If `true`, the operation is completed, and either `error`
+	// or `response` is available.
 	Done bool `json:"done,omitempty"`
 
 	// Error: The error result of the operation in case of failure or
 	// cancellation.
 	Error *Status `json:"error,omitempty"`
 
-	// Metadata: 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.
+	// Metadata: 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.
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Name: The server-assigned name, which is only unique within the same
-	// service that
-	// originally returns it. If you use the default HTTP mapping,
-	// the
-	// `name` should be a resource name ending with
+	// service that originally returns it. If you use the default HTTP
+	// mapping, the `name` should be a resource name ending with
 	// `operations/{unique_id}`.
 	Name string `json:"name,omitempty"`
 
-	// Response: 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`.
+	// Response: 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`.
 	Response googleapi.RawMessage `json:"response,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1319,15 +1102,14 @@
 // OperationMetadataV1: Metadata describing an Operation
 type OperationMetadataV1 struct {
 	// BuildId: The Cloud Build ID of the function created or updated by an
-	// API call.
-	// This field is only populated for Create and Update operations.
+	// API call. This field is only populated for Create and Update
+	// operations.
 	BuildId string `json:"buildId,omitempty"`
 
 	// Request: The original request that started the operation.
 	Request googleapi.RawMessage `json:"request,omitempty"`
 
-	// Target: Target of the operation - for
-	// example
+	// Target: Target of the operation - for example
 	// projects/project-1/locations/region-1/functions/function-1
 	Target string `json:"target,omitempty"`
 
@@ -1344,8 +1126,7 @@
 	UpdateTime string `json:"updateTime,omitempty"`
 
 	// VersionId: Version id of the function created or updated by an API
-	// call.
-	// This field is only populated for Create and Update operations.
+	// call. This field is only populated for Create and Update operations.
 	VersionId int64 `json:"versionId,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "BuildId") to
@@ -1372,154 +1153,77 @@
 }
 
 // Policy: An Identity and Access Management (IAM) policy, which
-// specifies access
-// controls for Google Cloud resources.
-//
-//
-// A `Policy` is a collection of `bindings`. A `binding` binds one or
-// more
-// `members` to a single `role`. Members can be user accounts, service
-// accounts,
+// specifies access controls for Google Cloud resources. A `Policy` is a
+// collection of `bindings`. A `binding` binds one or more `members` to
+// a single `role`. Members can be user accounts, service accounts,
 // Google groups, and domains (such as G Suite). A `role` is a named
-// list of
-// permissions; each `role` can be an IAM predefined role or a
-// user-created
-// custom role.
-//
-// For some types of Google Cloud resources, a `binding` can also
-// specify a
-// `condition`, which is a logical expression that allows access to a
-// resource
-// only if the expression evaluates to `true`. A condition can add
-// constraints
-// based on attributes of the request, the resource, or both. To learn
-// which
-// resources support conditions in their IAM policies, see the
-// [IAM
+// list of permissions; each `role` can be an IAM predefined role or a
+// user-created custom role. For some types of Google Cloud resources, a
+// `binding` can also specify a `condition`, which is a logical
+// expression that allows access to a resource only if the expression
+// evaluates to `true`. A condition can add constraints based on
+// attributes of the request, the resource, or both. To learn which
+// resources support conditions in their IAM policies, see the [IAM
 // documentation](https://cloud.google.com/iam/help/conditions/resource-p
-// olicies).
-//
-// **JSON example:**
-//
-//     {
-//       "bindings": [
-//         {
-//           "role": "roles/resourcemanager.organizationAdmin",
-//           "members": [
-//             "user:mike@example.com",
-//             "group:admins@example.com",
-//             "domain:google.com",
-//
-// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
-//           ]
-//         },
-//         {
-//           "role": "roles/resourcemanager.organizationViewer",
-//           "members": [
-//             "user:eve@example.com"
-//           ],
-//           "condition": {
-//             "title": "expirable access",
-//             "description": "Does not grant access after Sep 2020",
-//             "expression": "request.time <
-// timestamp('2020-10-01T00:00:00.000Z')",
-//           }
-//         }
-//       ],
-//       "etag": "BwWWja0YfJA=",
-//       "version": 3
-//     }
-//
-// **YAML example:**
-//
-//     bindings:
-//     - members:
-//       - user:mike@example.com
-//       - group:admins@example.com
-//       - domain:google.com
-//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
-//       role: roles/resourcemanager.organizationAdmin
-//     - members:
-//       - user:eve@example.com
-//       role: roles/resourcemanager.organizationViewer
-//       condition:
-//         title: expirable access
-//         description: Does not grant access after Sep 2020
-//         expression: request.time <
-// timestamp('2020-10-01T00:00:00.000Z')
-//     - etag: BwWWja0YfJA=
-//     - version: 3
-//
-// For a description of IAM and its features, see the
-// [IAM documentation](https://cloud.google.com/iam/docs/).
+// olicies). **JSON example:** { "bindings": [ { "role":
+// "roles/resourcemanager.organizationAdmin", "members": [
+// "user:mike@example.com", "group:admins@example.com",
+// "domain:google.com",
+// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
+// "role": "roles/resourcemanager.organizationViewer", "members": [
+// "user:eve@example.com" ], "condition": { "title": "expirable access",
+// "description": "Does not grant access after Sep 2020", "expression":
+// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
+// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
+// members: - user:mike@example.com - group:admins@example.com -
+// domain:google.com -
+// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
+// roles/resourcemanager.organizationAdmin - members: -
+// user:eve@example.com role: roles/resourcemanager.organizationViewer
+// condition: title: expirable access description: Does not grant access
+// after Sep 2020 expression: request.time <
+// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
+// 3 For a description of IAM and its features, see the [IAM
+// documentation](https://cloud.google.com/iam/docs/).
 type Policy struct {
 	// AuditConfigs: Specifies cloud audit logging configuration for this
 	// policy.
 	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
 
 	// Bindings: Associates a list of `members` to a `role`. Optionally, may
-	// specify a
-	// `condition` that determines how and when the `bindings` are applied.
-	// Each
-	// of the `bindings` must contain at least one member.
+	// specify a `condition` that determines how and when the `bindings` are
+	// applied. Each of the `bindings` must contain at least one member.
 	Bindings []*Binding `json:"bindings,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a policy from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform policy updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `getIamPolicy`,
-	// and
-	// systems are expected to put that etag in the request to
-	// `setIamPolicy` to
-	// ensure that their change will be applied to the same version of the
-	// policy.
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
+	// help prevent simultaneous updates of a policy from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform policy updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `getIamPolicy`, and systems are expected to put that etag in the
+	// request to `setIamPolicy` to ensure that their change will be applied
+	// to the same version of the policy. **Important:** If you use IAM
+	// Conditions, you must include the `etag` field whenever you call
+	// `setIamPolicy`. If you omit this field, then IAM allows you to
+	// overwrite a version `3` policy with a version `1` policy, and all of
 	// the conditions in the version `3` policy are lost.
 	Etag string `json:"etag,omitempty"`
 
-	// Version: Specifies the format of the policy.
-	//
-	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
-	// value
-	// are rejected.
-	//
+	// Version: Specifies the format of the policy. Valid values are `0`,
+	// `1`, and `3`. Requests that specify an invalid value are rejected.
 	// Any operation that affects conditional role bindings must specify
-	// version
-	// `3`. This requirement applies to the following operations:
-	//
-	// * Getting a policy that includes a conditional role binding
-	// * Adding a conditional role binding to a policy
-	// * Changing a conditional role binding in a policy
-	// * Removing any role binding, with or without a condition, from a
-	// policy
-	//   that includes conditions
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
-	// the conditions in the version `3` policy are lost.
-	//
-	// If a policy does not include any conditions, operations on that
-	// policy may
-	// specify any valid version or leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see the
-	// [IAM
+	// version `3`. This requirement applies to the following operations: *
+	// Getting a policy that includes a conditional role binding * Adding a
+	// conditional role binding to a policy * Changing a conditional role
+	// binding in a policy * Removing any role binding, with or without a
+	// condition, from a policy that includes conditions **Important:** If
+	// you use IAM Conditions, you must include the `etag` field whenever
+	// you call `setIamPolicy`. If you omit this field, then IAM allows you
+	// to overwrite a version `3` policy with a version `1` policy, and all
+	// of the conditions in the version `3` policy are lost. If a policy
+	// does not include any conditions, operations on that policy may
+	// specify any valid version or leave the field unset. To learn which
+	// resources support conditions in their IAM policies, see the [IAM
 	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
 	// olicies).
 	Version int64 `json:"version,omitempty"`
@@ -1552,32 +1256,25 @@
 }
 
 // Retry: Describes the retry policy in case of function's execution
-// failure.
-// A function execution will be retried on any failure.
-// A failed execution will be retried up to 7 days with an exponential
-// backoff
-// (capped at 10 seconds).
-// Retried execution is charged as any other execution.
+// failure. A function execution will be retried on any failure. A
+// failed execution will be retried up to 7 days with an exponential
+// backoff (capped at 10 seconds). Retried execution is charged as any
+// other execution.
 type Retry struct {
 }
 
 // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
 type SetIamPolicyRequest struct {
 	// Policy: REQUIRED: The complete policy to be applied to the
-	// `resource`. The size of
-	// the policy is limited to a few 10s of KB. An empty policy is a
-	// valid policy but certain Cloud Platform services (such as
-	// Projects)
-	// might reject them.
+	// `resource`. The size of the policy is limited to a few 10s of KB. An
+	// empty policy is a valid policy but certain Cloud Platform services
+	// (such as Projects) might reject them.
 	Policy *Policy `json:"policy,omitempty"`
 
 	// UpdateMask: OPTIONAL: A FieldMask specifying which fields of the
-	// policy to modify. Only
-	// the fields in the mask will be modified. If no mask is provided,
-	// the
-	// following default mask is used:
-	//
-	// `paths: "bindings, etag"
+	// policy to modify. Only the fields in the mask will be modified. If no
+	// mask is provided, the following default mask is used: `paths:
+	// "bindings, etag"
 	UpdateMask string `json:"updateMask,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Policy") to
@@ -1604,37 +1301,24 @@
 }
 
 // SourceRepository: Describes SourceRepository, used to represent
-// parameters related to
-// source repository where a function is hosted.
+// parameters related to source repository where a function is hosted.
 type SourceRepository struct {
 	// DeployedUrl: Output only. The URL pointing to the hosted repository
-	// where the function
-	// were defined at the time of deployment. It always points to a
-	// specific
-	// commit in the format described above.
+	// where the function were defined at the time of deployment. It always
+	// points to a specific commit in the format described above.
 	DeployedUrl string `json:"deployedUrl,omitempty"`
 
 	// Url: The URL pointing to the hosted repository where the function is
-	// defined.
-	// There are supported Cloud Source Repository URLs in the
-	// following
-	// formats:
-	//
-	// To refer to a specific
-	// commit:
-	// `https://source.developers.google.com/projects/*/repos/*/revis
-	// ions/*/paths/*`
-	// To refer to a moveable alias
-	// (branch):
-	// `https://source.developers.google.com/projects/*/repos/*/mov
-	// eable-aliases/*/paths/*`
-	// In particular, to refer to HEAD use `master` moveable alias.
-	// To refer to a specific fixed alias
-	// (tag):
-	// `https://source.developers.google.com/projects/*/repos/*/fixed-
-	// aliases/*/paths/*`
-	//
-	// You may omit `paths/*` if you want to use the main directory.
+	// defined. There are supported Cloud Source Repository URLs in the
+	// following formats: To refer to a specific commit:
+	// `https://source.developers.google.com/projects/*/repos/*/revisions/*/p
+	// aths/*` To refer to a moveable alias (branch):
+	// `https://source.developers.google.com/projects/*/repos/*/moveable-alia
+	// ses/*/paths/*` In particular, to refer to HEAD use `master` moveable
+	// alias. To refer to a specific fixed alias (tag):
+	// `https://source.developers.google.com/projects/*/repos/*/fixed-aliases
+	// /*/paths/*` You may omit `paths/*` if you want to use the main
+	// directory.
 	Url string `json:"url,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "DeployedUrl") to
@@ -1661,32 +1345,24 @@
 }
 
 // Status: The `Status` type defines a logical error model that is
-// suitable for
-// different programming environments, including REST APIs and RPC APIs.
-// It is
-// used by [gRPC](https://github.com/grpc). Each `Status` message
-// contains
-// three pieces of data: error code, error message, and error
-// details.
-//
-// You can find out more about this error model and how to work with it
-// in the
-// [API Design Guide](https://cloud.google.com/apis/design/errors).
+// suitable for different programming environments, including REST APIs
+// and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each
+// `Status` message contains three pieces of data: error code, error
+// message, and error details. You can find out more about this error
+// model and how to work with it in the [API Design
+// Guide](https://cloud.google.com/apis/design/errors).
 type Status struct {
 	// Code: The status code, which should be an enum value of
 	// google.rpc.Code.
 	Code int64 `json:"code,omitempty"`
 
-	// Details: A list of messages that carry the error details.  There is a
-	// common set of
-	// message types for APIs to use.
+	// Details: A list of messages that carry the error details. There is a
+	// common set of message types for APIs to use.
 	Details []googleapi.RawMessage `json:"details,omitempty"`
 
 	// Message: 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.
+	// English. Any user-facing error message should be localized and sent
+	// in the google.rpc.Status.details field, or localized by the client.
 	Message string `json:"message,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Code") to
@@ -1716,11 +1392,8 @@
 // method.
 type TestIamPermissionsRequest struct {
 	// Permissions: The set of permissions to check for the `resource`.
-	// Permissions with
-	// wildcards (such as '*' or 'storage.*') are not allowed. For
-	// more
-	// information see
-	// [IAM
+	// Permissions with wildcards (such as '*' or 'storage.*') are not
+	// allowed. For more information see [IAM
 	// Overview](https://cloud.google.com/iam/docs/overview#permissions).
 	Permissions []string `json:"permissions,omitempty"`
 
@@ -1751,8 +1424,7 @@
 // method.
 type TestIamPermissionsResponse struct {
 	// Permissions: A subset of `TestPermissionsRequest.permissions` that
-	// the caller is
-	// allowed.
+	// the caller is allowed.
 	Permissions []string `json:"permissions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1793,11 +1465,9 @@
 	header_      http.Header
 }
 
-// Get: 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.
+// Get: 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.
 func (r *OperationsService) Get(name string) *OperationsGetCall {
 	c := &OperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -1841,7 +1511,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1903,7 +1573,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+	//   "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
 	//   "flatPath": "v1/operations/{operationsId}",
 	//   "httpMethod": "GET",
 	//   "id": "cloudfunctions.operations.get",
@@ -1941,33 +1611,25 @@
 }
 
 // List: 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. 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.
 func (r *OperationsService) List() *OperationsListCall {
 	c := &OperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	return c
 }
 
 // Filter sets the optional parameter "filter": Required. A filter for
-// matching the requested operations.<br><br> The supported formats of
-// <b>filter</b> are:<br> To query for a specific function:
-// <code>project:*,location:*,function:*</code><br> To query for all of
-// the latest operations for a project:
-// <code>project:*,latest:true</code>
+// matching the requested operations. The supported formats of *filter*
+// are: To query for a specific function:
+// project:*,location:*,function:* To query for all of the latest
+// operations for a project: project:*,latest:true
 func (c *OperationsListCall) Filter(filter string) *OperationsListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
@@ -1980,9 +1642,9 @@
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
-// of records that should be returned.<br> Requested page size cannot
-// exceed 100. If not set, the default page size is 100.<br><br>
-// Pagination is only supported when querying for a specific function.
+// of records that should be returned. Requested page size cannot exceed
+// 100. If not set, the default page size is 100. Pagination is only
+// supported when querying for a specific function.
 func (c *OperationsListCall) PageSize(pageSize int64) *OperationsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
@@ -1990,8 +1652,8 @@
 
 // PageToken sets the optional parameter "pageToken": Token identifying
 // which result to start with, which is returned by a previous list
-// call.<br><br> Pagination is only supported when querying for a
-// specific function.
+// call. Pagination is only supported when querying for a specific
+// function.
 func (c *OperationsListCall) PageToken(pageToken string) *OperationsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -2034,7 +1696,7 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2093,14 +1755,14 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
+	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
 	//   "flatPath": "v1/operations",
 	//   "httpMethod": "GET",
 	//   "id": "cloudfunctions.operations.list",
 	//   "parameterOrder": [],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "Required. A filter for matching the requested operations.\u003cbr\u003e\u003cbr\u003e The supported formats of \u003cb\u003efilter\u003c/b\u003e are:\u003cbr\u003e To query for a specific function: \u003ccode\u003eproject:*,location:*,function:*\u003c/code\u003e\u003cbr\u003e To query for all of the latest operations for a project: \u003ccode\u003eproject:*,latest:true\u003c/code\u003e",
+	//       "description": "Required. A filter for matching the requested operations. The supported formats of *filter* are: To query for a specific function: project:*,location:*,function:* To query for all of the latest operations for a project: project:*,latest:true",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -2110,13 +1772,13 @@
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "The maximum number of records that should be returned.\u003cbr\u003e Requested page size cannot exceed 100. If not set, the default page size is 100.\u003cbr\u003e\u003cbr\u003e Pagination is only supported when querying for a specific function.",
+	//       "description": "The maximum number of records that should be returned. Requested page size cannot exceed 100. If not set, the default page size is 100. Pagination is only supported when querying for a specific function.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Token identifying which result to start with, which is returned by a previous list call.\u003cbr\u003e\u003cbr\u003e Pagination is only supported when querying for a specific function.",
+	//       "description": "Token identifying which result to start with, which is returned by a previous list call. Pagination is only supported when querying for a specific function.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -2230,7 +1892,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2368,11 +2030,9 @@
 }
 
 // Call: Synchronously invokes a deployed Cloud Function. To be used for
-// testing
-// purposes as very limited traffic is allowed. For more information
-// on
-// the actual limits, refer to
-// [Rate Limits](https://cloud.google.com/functions/quotas#rate_limits).
+// testing purposes as very limited traffic is allowed. For more
+// information on the actual limits, refer to [Rate
+// Limits](https://cloud.google.com/functions/quotas#rate_limits).
 func (r *ProjectsLocationsFunctionsService) Call(name string, callfunctionrequest *CallFunctionRequest) *ProjectsLocationsFunctionsCallCall {
 	c := &ProjectsLocationsFunctionsCallCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -2407,7 +2067,7 @@
 
 func (c *ProjectsLocationsFunctionsCallCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2471,7 +2131,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Synchronously invokes a deployed Cloud Function. To be used for testing\npurposes as very limited traffic is allowed. For more information on\nthe actual limits, refer to\n[Rate Limits](https://cloud.google.com/functions/quotas#rate_limits).",
+	//   "description": "Synchronously invokes a deployed Cloud Function. To be used for testing purposes as very limited traffic is allowed. For more information on the actual limits, refer to [Rate Limits](https://cloud.google.com/functions/quotas#rate_limits).",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:call",
 	//   "httpMethod": "POST",
 	//   "id": "cloudfunctions.projects.locations.functions.call",
@@ -2513,10 +2173,8 @@
 }
 
 // Create: Creates a new function. If a function with the given name
-// already exists in
-// the specified project, the long running operation will
-// return
-// `ALREADY_EXISTS` error.
+// already exists in the specified project, the long running operation
+// will return `ALREADY_EXISTS` error.
 func (r *ProjectsLocationsFunctionsService) Create(location string, cloudfunction *CloudFunction) *ProjectsLocationsFunctionsCreateCall {
 	c := &ProjectsLocationsFunctionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.location = location
@@ -2551,7 +2209,7 @@
 
 func (c *ProjectsLocationsFunctionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2615,7 +2273,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a new function. If a function with the given name already exists in\nthe specified project, the long running operation will return\n`ALREADY_EXISTS` error.",
+	//   "description": "Creates a new function. If a function with the given name already exists in the specified project, the long running operation will return `ALREADY_EXISTS` error.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/functions",
 	//   "httpMethod": "POST",
 	//   "id": "cloudfunctions.projects.locations.functions.create",
@@ -2624,7 +2282,7 @@
 	//   ],
 	//   "parameters": {
 	//     "location": {
-	//       "description": "Required. The project and location in which the function should be created, specified\nin the format `projects/*/locations/*`",
+	//       "description": "Required. The project and location in which the function should be created, specified in the format `projects/*/locations/*`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
@@ -2656,10 +2314,8 @@
 }
 
 // Delete: Deletes a function with the given name from the specified
-// project. If the
-// given function is used by some trigger, the trigger will be updated
-// to
-// remove this function.
+// project. If the given function is used by some trigger, the trigger
+// will be updated to remove this function.
 func (r *ProjectsLocationsFunctionsService) Delete(name string) *ProjectsLocationsFunctionsDeleteCall {
 	c := &ProjectsLocationsFunctionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -2693,7 +2349,7 @@
 
 func (c *ProjectsLocationsFunctionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2752,7 +2408,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a function with the given name from the specified project. If the\ngiven function is used by some trigger, the trigger will be updated to\nremove this function.",
+	//   "description": "Deletes a function with the given name from the specified project. If the given function is used by some trigger, the trigger will be updated to remove this function.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "cloudfunctions.projects.locations.functions.delete",
@@ -2791,12 +2447,9 @@
 }
 
 // GenerateDownloadUrl: Returns a signed URL for downloading deployed
-// function source code.
-// The URL is only valid for a limited period and should be used
-// within
-// minutes after generation.
-// For more information about the signed URL usage
-// see:
+// function source code. The URL is only valid for a limited period and
+// should be used within minutes after generation. For more information
+// about the signed URL usage see:
 // https://cloud.google.com/storage/docs/access-control/signed-urls
 func (r *ProjectsLocationsFunctionsService) GenerateDownloadUrl(name string, generatedownloadurlrequest *GenerateDownloadUrlRequest) *ProjectsLocationsFunctionsGenerateDownloadUrlCall {
 	c := &ProjectsLocationsFunctionsGenerateDownloadUrlCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -2832,7 +2485,7 @@
 
 func (c *ProjectsLocationsFunctionsGenerateDownloadUrlCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2896,7 +2549,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns a signed URL for downloading deployed function source code.\nThe URL is only valid for a limited period and should be used within\nminutes after generation.\nFor more information about the signed URL usage see:\nhttps://cloud.google.com/storage/docs/access-control/signed-urls",
+	//   "description": "Returns a signed URL for downloading deployed function source code. The URL is only valid for a limited period and should be used within minutes after generation. For more information about the signed URL usage see: https://cloud.google.com/storage/docs/access-control/signed-urls",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:generateDownloadUrl",
 	//   "httpMethod": "POST",
 	//   "id": "cloudfunctions.projects.locations.functions.generateDownloadUrl",
@@ -2905,7 +2558,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name of function for which source code Google Cloud Storage signed\nURL should be generated.",
+	//       "description": "The name of function for which source code Google Cloud Storage signed URL should be generated.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$",
 	//       "required": true,
@@ -2938,38 +2591,21 @@
 }
 
 // GenerateUploadUrl: Returns a signed URL for uploading a function
-// source code.
-// For more information about the signed URL usage
-// see:
+// source code. For more information about the signed URL usage see:
 // https://cloud.google.com/storage/docs/access-control/signed-urls.
-//
-// Once the function source code upload is complete, the used signed
-// URL should be provided in CreateFunction or UpdateFunction request
-// as a reference to the function source code.
-//
-// When uploading source code to the generated signed URL, please
-// follow
-// these restrictions:
-//
-// * Source file type should be a zip file.
-// * Source file size should not exceed 100MB limit.
-// * No credentials should be attached - the signed URLs provide access
-// to the
-//   target bucket using internal service identity; if credentials were
-//   attached, the identity from the credentials would be used, but
-// that
-//   identity does not have permissions to upload files to the
-// URL.
-//
-// When making a HTTP PUT request, these two headers need to be
-// specified:
-//
-// * `content-type: application/zip`
-// * `x-goog-content-length-range: 0,104857600`
-//
-// And this header SHOULD NOT be specified:
-//
-// * `Authorization: Bearer YOUR_TOKEN`
+// Once the function source code upload is complete, the used signed URL
+// should be provided in CreateFunction or UpdateFunction request as a
+// reference to the function source code. When uploading source code to
+// the generated signed URL, please follow these restrictions: * Source
+// file type should be a zip file. * Source file size should not exceed
+// 100MB limit. * No credentials should be attached - the signed URLs
+// provide access to the target bucket using internal service identity;
+// if credentials were attached, the identity from the credentials would
+// be used, but that identity does not have permissions to upload files
+// to the URL. When making a HTTP PUT request, these two headers need to
+// be specified: * `content-type: application/zip` *
+// `x-goog-content-length-range: 0,104857600` And this header SHOULD NOT
+// be specified: * `Authorization: Bearer YOUR_TOKEN`
 func (r *ProjectsLocationsFunctionsService) GenerateUploadUrl(parent string, generateuploadurlrequest *GenerateUploadUrlRequest) *ProjectsLocationsFunctionsGenerateUploadUrlCall {
 	c := &ProjectsLocationsFunctionsGenerateUploadUrlCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -3004,7 +2640,7 @@
 
 func (c *ProjectsLocationsFunctionsGenerateUploadUrlCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3068,7 +2704,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns a signed URL for uploading a function source code.\nFor more information about the signed URL usage see:\nhttps://cloud.google.com/storage/docs/access-control/signed-urls.\nOnce the function source code upload is complete, the used signed\nURL should be provided in CreateFunction or UpdateFunction request\nas a reference to the function source code.\n\nWhen uploading source code to the generated signed URL, please follow\nthese restrictions:\n\n* Source file type should be a zip file.\n* Source file size should not exceed 100MB limit.\n* No credentials should be attached - the signed URLs provide access to the\n  target bucket using internal service identity; if credentials were\n  attached, the identity from the credentials would be used, but that\n  identity does not have permissions to upload files to the URL.\n\nWhen making a HTTP PUT request, these two headers need to be specified:\n\n* `content-type: application/zip`\n* `x-goog-content-length-range: 0,104857600`\n\nAnd this header SHOULD NOT be specified:\n\n* `Authorization: Bearer YOUR_TOKEN`",
+	//   "description": "Returns a signed URL for uploading a function source code. For more information about the signed URL usage see: https://cloud.google.com/storage/docs/access-control/signed-urls. Once the function source code upload is complete, the used signed URL should be provided in CreateFunction or UpdateFunction request as a reference to the function source code. When uploading source code to the generated signed URL, please follow these restrictions: * Source file type should be a zip file. * Source file size should not exceed 100MB limit. * No credentials should be attached - the signed URLs provide access to the target bucket using internal service identity; if credentials were attached, the identity from the credentials would be used, but that identity does not have permissions to upload files to the URL. When making a HTTP PUT request, these two headers need to be specified: * `content-type: application/zip` * `x-goog-content-length-range: 0,104857600` And this header SHOULD NOT be specified: * `Authorization: Bearer YOUR_TOKEN`",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/functions:generateUploadUrl",
 	//   "httpMethod": "POST",
 	//   "id": "cloudfunctions.projects.locations.functions.generateUploadUrl",
@@ -3077,7 +2713,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "The project and location in which the Google Cloud Storage signed URL\nshould be generated, specified in the format `projects/*/locations/*`.",
+	//       "description": "The project and location in which the Google Cloud Storage signed URL should be generated, specified in the format `projects/*/locations/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
@@ -3154,7 +2790,7 @@
 
 func (c *ProjectsLocationsFunctionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3254,11 +2890,9 @@
 	header_      http.Header
 }
 
-// GetIamPolicy: Gets the IAM access control policy for a
-// function.
+// GetIamPolicy: Gets the IAM access control policy for a function.
 // Returns an empty policy if the function exists and does not have a
-// policy
-// set.
+// policy set.
 func (r *ProjectsLocationsFunctionsService) GetIamPolicy(resource string) *ProjectsLocationsFunctionsGetIamPolicyCall {
 	c := &ProjectsLocationsFunctionsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -3267,24 +2901,14 @@
 
 // OptionsRequestedPolicyVersion sets the optional parameter
 // "options.requestedPolicyVersion": The policy format version to be
-// returned.
-//
-// Valid values are 0, 1, and 3. Requests specifying an invalid value
-// will be
-// rejected.
-//
-// Requests for policies with any conditional bindings must specify
-// version 3.
-// Policies without any conditional bindings may specify any valid value
-// or
-// leave the field unset.
-//
-// To learn which resources support conditions in their IAM policies,
-// see
-// the
-// [IAM
-// documentation](https://cloud.google.com/iam/help/conditions/r
-// esource-policies).
+// returned. Valid values are 0, 1, and 3. Requests specifying an
+// invalid value will be rejected. Requests for policies with any
+// conditional bindings must specify version 3. Policies without any
+// conditional bindings may specify any valid value or leave the field
+// unset. To learn which resources support conditions in their IAM
+// policies, see the [IAM
+// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+// olicies).
 func (c *ProjectsLocationsFunctionsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsLocationsFunctionsGetIamPolicyCall {
 	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
 	return c
@@ -3327,7 +2951,7 @@
 
 func (c *ProjectsLocationsFunctionsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3389,7 +3013,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the IAM access control policy for a function.\nReturns an empty policy if the function exists and does not have a policy\nset.",
+	//   "description": "Gets the IAM access control policy for a function. Returns an empty policy if the function exists and does not have a policy set.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:getIamPolicy",
 	//   "httpMethod": "GET",
 	//   "id": "cloudfunctions.projects.locations.functions.getIamPolicy",
@@ -3398,13 +3022,13 @@
 	//   ],
 	//   "parameters": {
 	//     "options.requestedPolicyVersion": {
-	//       "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+	//       "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$",
 	//       "required": true,
@@ -3449,11 +3073,9 @@
 }
 
 // PageToken sets the optional parameter "pageToken": The value returned
-// by the last
-// `ListFunctionsResponse`; indicates that
-// this is a continuation of a prior `ListFunctions` call, and that
-// the
-// system should return the next page of data.
+// by the last `ListFunctionsResponse`; indicates that this is a
+// continuation of a prior `ListFunctions` call, and that the system
+// should return the next page of data.
 func (c *ProjectsLocationsFunctionsListCall) PageToken(pageToken string) *ProjectsLocationsFunctionsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -3496,7 +3118,7 @@
 
 func (c *ProjectsLocationsFunctionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3573,12 +3195,12 @@
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "The value returned by the last\n`ListFunctionsResponse`; indicates that\nthis is a continuation of a prior `ListFunctions` call, and that the\nsystem should return the next page of data.",
+	//       "description": "The value returned by the last `ListFunctionsResponse`; indicates that this is a continuation of a prior `ListFunctions` call, and that the system should return the next page of data.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "The project and location from which the function should be listed,\nspecified in the format `projects/*/locations/*`\nIf you want to list functions in all locations, use \"-\" in place of a\nlocation. When listing functions in all locations, if one or more\nlocation(s) are unreachable, the response will contain functions from all\nreachable locations along with the names of any unreachable locations.",
+	//       "description": "The project and location from which the function should be listed, specified in the format `projects/*/locations/*` If you want to list functions in all locations, use \"-\" in place of a location. When listing functions in all locations, if one or more location(s) are unreachable, the response will contain functions from all reachable locations along with the names of any unreachable locations.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
@@ -3670,7 +3292,7 @@
 
 func (c *ProjectsLocationsFunctionsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3743,7 +3365,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "A user-defined name of the function. Function names must be unique\nglobally and match pattern `projects/*/locations/*/functions/*`",
+	//       "description": "A user-defined name of the function. Function names must be unique globally and match pattern `projects/*/locations/*/functions/*`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$",
 	//       "required": true,
@@ -3782,8 +3404,7 @@
 }
 
 // SetIamPolicy: Sets the IAM access control policy on the specified
-// function.
-// Replaces any existing policy.
+// function. Replaces any existing policy.
 func (r *ProjectsLocationsFunctionsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsFunctionsSetIamPolicyCall {
 	c := &ProjectsLocationsFunctionsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -3818,7 +3439,7 @@
 
 func (c *ProjectsLocationsFunctionsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3882,7 +3503,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the IAM access control policy on the specified function.\nReplaces any existing policy.",
+	//   "description": "Sets the IAM access control policy on the specified function. Replaces any existing policy.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "cloudfunctions.projects.locations.functions.setIamPolicy",
@@ -3891,7 +3512,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$",
 	//       "required": true,
@@ -3924,11 +3545,8 @@
 }
 
 // TestIamPermissions: Tests the specified permissions against the IAM
-// access control policy
-// for a function.
-// If the function does not exist, this will return an empty set
-// of
-// permissions, not a NOT_FOUND error.
+// access control policy for a function. If the function does not exist,
+// this will return an empty set of permissions, not a NOT_FOUND error.
 func (r *ProjectsLocationsFunctionsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsFunctionsTestIamPermissionsCall {
 	c := &ProjectsLocationsFunctionsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -3963,7 +3581,7 @@
 
 func (c *ProjectsLocationsFunctionsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4027,7 +3645,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Tests the specified permissions against the IAM access control policy\nfor a function.\nIf the function does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.",
+	//   "description": "Tests the specified permissions against the IAM access control policy for a function. If the function does not exist, this will return an empty set of permissions, not a NOT_FOUND error.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/functions/{functionsId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "cloudfunctions.projects.locations.functions.testIamPermissions",
@@ -4036,7 +3654,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/functions/[^/]+$",
 	//       "required": true,
diff --git a/cloudidentity/v1/cloudidentity-gen.go b/cloudidentity/v1/cloudidentity-gen.go
index 02e299e..17982eb 100644
--- a/cloudidentity/v1/cloudidentity-gen.go
+++ b/cloudidentity/v1/cloudidentity-gen.go
@@ -1332,7 +1332,7 @@
 
 func (c *GroupsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1458,7 +1458,7 @@
 
 func (c *GroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1600,7 +1600,7 @@
 
 func (c *GroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1778,7 +1778,7 @@
 
 func (c *GroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1983,7 +1983,7 @@
 
 func (c *GroupsLookupCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2125,7 +2125,7 @@
 
 func (c *GroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2317,7 +2317,7 @@
 
 func (c *GroupsSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2494,7 +2494,7 @@
 
 func (c *GroupsMembershipsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2633,7 +2633,7 @@
 
 func (c *GroupsMembershipsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2775,7 +2775,7 @@
 
 func (c *GroupsMembershipsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2948,7 +2948,7 @@
 
 func (c *GroupsMembershipsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3162,7 +3162,7 @@
 
 func (c *GroupsMembershipsLookupCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/cloudidentity/v1beta1/cloudidentity-gen.go b/cloudidentity/v1beta1/cloudidentity-gen.go
index 30796dd..d068be8 100644
--- a/cloudidentity/v1beta1/cloudidentity-gen.go
+++ b/cloudidentity/v1beta1/cloudidentity-gen.go
@@ -2037,7 +2037,7 @@
 
 func (c *DevicesCancelWipeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2172,7 +2172,7 @@
 
 func (c *DevicesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2305,7 +2305,7 @@
 
 func (c *DevicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2457,7 +2457,7 @@
 
 func (c *DevicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2663,7 +2663,7 @@
 
 func (c *DevicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2845,7 +2845,7 @@
 
 func (c *DevicesWipeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2982,7 +2982,7 @@
 
 func (c *DevicesDeviceUsersApproveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3119,7 +3119,7 @@
 
 func (c *DevicesDeviceUsersBlockCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3258,7 +3258,7 @@
 
 func (c *DevicesDeviceUsersCancelWipeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3405,7 +3405,7 @@
 
 func (c *DevicesDeviceUsersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3559,7 +3559,7 @@
 
 func (c *DevicesDeviceUsersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3750,7 +3750,7 @@
 
 func (c *DevicesDeviceUsersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3998,7 +3998,7 @@
 
 func (c *DevicesDeviceUsersLookupCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4180,7 +4180,7 @@
 
 func (c *DevicesDeviceUsersWipeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4337,7 +4337,7 @@
 
 func (c *DevicesDeviceUsersClientStatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4493,7 +4493,7 @@
 
 func (c *DevicesDeviceUsersClientStatesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4653,7 +4653,7 @@
 
 func (c *GroupsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4795,7 +4795,7 @@
 
 func (c *GroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4937,7 +4937,7 @@
 
 func (c *GroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5123,7 +5123,7 @@
 
 func (c *GroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5331,7 +5331,7 @@
 
 func (c *GroupsLookupCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5474,7 +5474,7 @@
 
 func (c *GroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5671,7 +5671,7 @@
 
 func (c *GroupsSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5846,7 +5846,7 @@
 
 func (c *GroupsMembershipsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5985,7 +5985,7 @@
 
 func (c *GroupsMembershipsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6127,7 +6127,7 @@
 
 func (c *GroupsMembershipsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6305,7 +6305,7 @@
 
 func (c *GroupsMembershipsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6520,7 +6520,7 @@
 
 func (c *GroupsMembershipsLookupCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6668,7 +6668,7 @@
 
 func (c *GroupsMembershipsModifyMembershipRolesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/cloudiot/v1/cloudiot-api.json b/cloudiot/v1/cloudiot-api.json
index c8d9807..176ee0a 100644
--- a/cloudiot/v1/cloudiot-api.json
+++ b/cloudiot/v1/cloudiot-api.json
@@ -15,7 +15,7 @@
   "baseUrl": "https://cloudiot.googleapis.com/",
   "batchPath": "batch",
   "canonicalName": "Cloud Iot",
-  "description": "Registers and manages IoT (Internet of Things) devices that connect to the Google Cloud Platform.\n",
+  "description": "Registers and manages IoT (Internet of Things) devices that connect to the Google Cloud Platform. ",
   "discoveryVersion": "v1",
   "documentationLink": "https://cloud.google.com/iot",
   "fullyEncodeReservedExpansion": true,
@@ -124,7 +124,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Required. The name of the registry. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.",
+                      "description": "Required. The name of the registry. For example, `projects/example-project/locations/us-central1/registries/my-registry`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$",
                       "required": true,
@@ -153,7 +153,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Required. The project and cloud region where this device registry must be created.\nFor example, `projects/example-project/locations/us-central1`.",
+                      "description": "Required. The project and cloud region where this device registry must be created. For example, `projects/example-project/locations/us-central1`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -182,7 +182,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The name of the device registry. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.",
+                      "description": "Required. The name of the device registry. For example, `projects/example-project/locations/us-central1/registries/my-registry`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$",
                       "required": true,
@@ -208,7 +208,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The name of the device registry. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.",
+                      "description": "Required. The name of the device registry. For example, `projects/example-project/locations/us-central1/registries/my-registry`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$",
                       "required": true,
@@ -225,7 +225,7 @@
                   ]
                 },
                 "getIamPolicy": {
-                  "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
+                  "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:getIamPolicy",
                   "httpMethod": "POST",
                   "id": "cloudiot.projects.locations.registries.getIamPolicy",
@@ -234,7 +234,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$",
                       "required": true,
@@ -263,18 +263,18 @@
                   ],
                   "parameters": {
                     "pageSize": {
-                      "description": "The maximum number of registries to return in the response. If this value\nis zero, the service will select a default size. A call may return fewer\nobjects than requested. A non-empty `next_page_token` in the response\nindicates that more data is available.",
+                      "description": "The maximum number of registries to return in the response. If this value is zero, the service will select a default size. A call may return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "The value returned by the last `ListDeviceRegistriesResponse`; indicates\nthat this is a continuation of a prior `ListDeviceRegistries` call and\nthe system should return the next page of data.",
+                      "description": "The value returned by the last `ListDeviceRegistriesResponse`; indicates that this is a continuation of a prior `ListDeviceRegistries` call and the system should return the next page of data.",
                       "location": "query",
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The project and cloud region path. For example,\n`projects/example-project/locations/us-central1`.",
+                      "description": "Required. The project and cloud region path. For example, `projects/example-project/locations/us-central1`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -300,14 +300,14 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The resource path name. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.",
+                      "description": "The resource path name. For example, `projects/example-project/locations/us-central1/registries/my-registry`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$",
                       "required": true,
                       "type": "string"
                     },
                     "updateMask": {
-                      "description": "Required. Only updates the `device_registry` fields indicated by this mask.\nThe field mask must not be empty, and it must not contain fields that\nare immutable or only set by the server.\nMutable top-level fields: `event_notification_config`, `http_config`,\n`mqtt_config`, and `state_notification_config`.",
+                      "description": "Required. Only updates the `device_registry` fields indicated by this mask. The field mask must not be empty, and it must not contain fields that are immutable or only set by the server. Mutable top-level fields: `event_notification_config`, `http_config`, `mqtt_config`, and `state_notification_config`.",
                       "format": "google-fieldmask",
                       "location": "query",
                       "type": "string"
@@ -326,7 +326,7 @@
                   ]
                 },
                 "setIamPolicy": {
-                  "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.",
+                  "description": "Sets the access control policy on the specified resource. Replaces any existing policy.",
                   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:setIamPolicy",
                   "httpMethod": "POST",
                   "id": "cloudiot.projects.locations.registries.setIamPolicy",
@@ -335,7 +335,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$",
                       "required": true,
@@ -355,7 +355,7 @@
                   ]
                 },
                 "testIamPermissions": {
-                  "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.",
+                  "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.",
                   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:testIamPermissions",
                   "httpMethod": "POST",
                   "id": "cloudiot.projects.locations.registries.testIamPermissions",
@@ -364,7 +364,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$",
                       "required": true,
@@ -393,7 +393,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Required. The name of the registry. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.",
+                      "description": "Required. The name of the registry. For example, `projects/example-project/locations/us-central1/registries/my-registry`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$",
                       "required": true,
@@ -426,7 +426,7 @@
                       ],
                       "parameters": {
                         "parent": {
-                          "description": "Required. The name of the device registry where this device should be created.\nFor example,\n`projects/example-project/locations/us-central1/registries/my-registry`.",
+                          "description": "Required. The name of the device registry where this device should be created. For example, `projects/example-project/locations/us-central1/registries/my-registry`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$",
                           "required": true,
@@ -455,7 +455,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
+                          "description": "Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$",
                           "required": true,
@@ -481,13 +481,13 @@
                       ],
                       "parameters": {
                         "fieldMask": {
-                          "description": "The fields of the `Device` resource to be returned in the response. If the\nfield mask is unset or empty, all fields are returned.",
+                          "description": "The fields of the `Device` resource to be returned in the response. If the field mask is unset or empty, all fields are returned.",
                           "format": "google-fieldmask",
                           "location": "query",
                           "type": "string"
                         },
                         "name": {
-                          "description": "Required. The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
+                          "description": "Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$",
                           "required": true,
@@ -513,57 +513,62 @@
                       ],
                       "parameters": {
                         "deviceIds": {
-                          "description": "A list of device string IDs. For example, `['device0', 'device12']`.\nIf empty, this field is ignored. Maximum IDs: 10,000",
+                          "description": "A list of device string IDs. For example, `['device0', 'device12']`. If empty, this field is ignored. Maximum IDs: 10,000",
                           "location": "query",
                           "repeated": true,
                           "type": "string"
                         },
                         "deviceNumIds": {
-                          "description": "A list of device numeric IDs. If empty, this field is ignored. Maximum\nIDs: 10,000.",
+                          "description": "A list of device numeric IDs. If empty, this field is ignored. Maximum IDs: 10,000.",
                           "format": "uint64",
                           "location": "query",
                           "repeated": true,
                           "type": "string"
                         },
                         "fieldMask": {
-                          "description": "The fields of the `Device` resource to be returned in the response. The\nfields `id` and `num_id` are always returned, along with any\nother fields specified.",
+                          "description": "The fields of the `Device` resource to be returned in the response. The fields `id` and `num_id` are always returned, along with any other fields specified.",
                           "format": "google-fieldmask",
                           "location": "query",
                           "type": "string"
                         },
                         "gatewayListOptions.associationsDeviceId": {
-                          "description": "If set, returns only the gateways with which the specified device is\nassociated. The device ID can be numeric (`num_id`) or the user-defined\nstring (`id`). For example, if `456` is specified, returns only the\ngateways to which the device with `num_id` 456 is bound.",
+                          "description": "If set, returns only the gateways with which the specified device is associated. The device ID can be numeric (`num_id`) or the user-defined string (`id`). For example, if `456` is specified, returns only the gateways to which the device with `num_id` 456 is bound.",
                           "location": "query",
                           "type": "string"
                         },
                         "gatewayListOptions.associationsGatewayId": {
-                          "description": "If set, only devices associated with the specified gateway are returned.\nThe gateway ID can be numeric (`num_id`) or the user-defined string\n(`id`). For example, if `123` is specified, only devices bound to the\ngateway with `num_id` 123 are returned.",
+                          "description": "If set, only devices associated with the specified gateway are returned. The gateway ID can be numeric (`num_id`) or the user-defined string (`id`). For example, if `123` is specified, only devices bound to the gateway with `num_id` 123 are returned.",
                           "location": "query",
                           "type": "string"
                         },
                         "gatewayListOptions.gatewayType": {
-                          "description": "If `GATEWAY` is specified, only gateways are returned. If `NON_GATEWAY`\nis specified, only non-gateway devices are returned. If\n`GATEWAY_TYPE_UNSPECIFIED` is specified, all devices are returned.",
+                          "description": "If `GATEWAY` is specified, only gateways are returned. If `NON_GATEWAY` is specified, only non-gateway devices are returned. If `GATEWAY_TYPE_UNSPECIFIED` is specified, all devices are returned.",
                           "enum": [
                             "GATEWAY_TYPE_UNSPECIFIED",
                             "GATEWAY",
                             "NON_GATEWAY"
                           ],
+                          "enumDescriptions": [
+                            "If unspecified, the device is considered a non-gateway device.",
+                            "The device is a gateway.",
+                            "The device is not a gateway."
+                          ],
                           "location": "query",
                           "type": "string"
                         },
                         "pageSize": {
-                          "description": "The maximum number of devices to return in the response. If this value\nis zero, the service will select a default size. A call may return fewer\nobjects than requested. A non-empty `next_page_token` in the response\nindicates that more data is available.",
+                          "description": "The maximum number of devices to return in the response. If this value is zero, the service will select a default size. A call may return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.",
                           "format": "int32",
                           "location": "query",
                           "type": "integer"
                         },
                         "pageToken": {
-                          "description": "The value returned by the last `ListDevicesResponse`; indicates\nthat this is a continuation of a prior `ListDevices` call and\nthe system should return the next page of data.",
+                          "description": "The value returned by the last `ListDevicesResponse`; indicates that this is a continuation of a prior `ListDevices` call and the system should return the next page of data.",
                           "location": "query",
                           "type": "string"
                         },
                         "parent": {
-                          "description": "Required. The device registry path. Required. For example,\n`projects/my-project/locations/us-central1/registries/my-registry`.",
+                          "description": "Required. The device registry path. Required. For example, `projects/my-project/locations/us-central1/registries/my-registry`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$",
                           "required": true,
@@ -580,7 +585,7 @@
                       ]
                     },
                     "modifyCloudToDeviceConfig": {
-                      "description": "Modifies the configuration for the device, which is eventually sent from\nthe Cloud IoT Core servers. Returns the modified configuration version and\nits metadata.",
+                      "description": "Modifies the configuration for the device, which is eventually sent from the Cloud IoT Core servers. Returns the modified configuration version and its metadata.",
                       "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}:modifyCloudToDeviceConfig",
                       "httpMethod": "POST",
                       "id": "cloudiot.projects.locations.registries.devices.modifyCloudToDeviceConfig",
@@ -589,7 +594,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
+                          "description": "Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$",
                           "required": true,
@@ -618,14 +623,14 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "The resource path name. For example,\n`projects/p1/locations/us-central1/registries/registry0/devices/dev0` or\n`projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`.\nWhen `name` is populated as a response from the service, it always ends\nin the device numeric ID.",
+                          "description": "The resource path name. For example, `projects/p1/locations/us-central1/registries/registry0/devices/dev0` or `projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`. When `name` is populated as a response from the service, it always ends in the device numeric ID.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
                         "updateMask": {
-                          "description": "Required. Only updates the `device` fields indicated by this mask.\nThe field mask must not be empty, and it must not contain fields that\nare immutable or only set by the server.\nMutable top-level fields: `credentials`, `blocked`, and `metadata`",
+                          "description": "Required. Only updates the `device` fields indicated by this mask. The field mask must not be empty, and it must not contain fields that are immutable or only set by the server. Mutable top-level fields: `credentials`, `blocked`, and `metadata`",
                           "format": "google-fieldmask",
                           "location": "query",
                           "type": "string"
@@ -644,7 +649,7 @@
                       ]
                     },
                     "sendCommandToDevice": {
-                      "description": "Sends a command to the specified device. In order for a device to be able\nto receive commands, it must:\n1) be connected to Cloud IoT Core using the MQTT protocol, and\n2) be subscribed to the group of MQTT topics specified by\n   /devices/{device-id}/commands/#. This subscription will receive commands\n   at the top-level topic /devices/{device-id}/commands as well as commands\n   for subfolders, like /devices/{device-id}/commands/subfolder.\n   Note that subscribing to specific subfolders is not supported.\nIf the command could not be delivered to the device, this method will\nreturn an error; in particular, if the device is not subscribed, this\nmethod will return FAILED_PRECONDITION. Otherwise, this method will\nreturn OK. If the subscription is QoS 1, at least once delivery will be\nguaranteed; for QoS 0, no acknowledgment will be expected from the device.",
+                      "description": "Sends a command to the specified device. In order for a device to be able to receive commands, it must: 1) be connected to Cloud IoT Core using the MQTT protocol, and 2) be subscribed to the group of MQTT topics specified by /devices/{device-id}/commands/#. This subscription will receive commands at the top-level topic /devices/{device-id}/commands as well as commands for subfolders, like /devices/{device-id}/commands/subfolder. Note that subscribing to specific subfolders is not supported. If the command could not be delivered to the device, this method will return an error; in particular, if the device is not subscribed, this method will return FAILED_PRECONDITION. Otherwise, this method will return OK. If the subscription is QoS 1, at least once delivery will be guaranteed; for QoS 0, no acknowledgment will be expected from the device.",
                       "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}:sendCommandToDevice",
                       "httpMethod": "POST",
                       "id": "cloudiot.projects.locations.registries.devices.sendCommandToDevice",
@@ -653,7 +658,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
+                          "description": "Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$",
                           "required": true,
@@ -677,7 +682,7 @@
                     "configVersions": {
                       "methods": {
                         "list": {
-                          "description": "Lists the last few versions of the device configuration in descending\norder (i.e.: newest first).",
+                          "description": "Lists the last few versions of the device configuration in descending order (i.e.: newest first).",
                           "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}/configVersions",
                           "httpMethod": "GET",
                           "id": "cloudiot.projects.locations.registries.devices.configVersions.list",
@@ -686,14 +691,14 @@
                           ],
                           "parameters": {
                             "name": {
-                              "description": "Required. The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
+                              "description": "Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
                               "location": "path",
                               "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$",
                               "required": true,
                               "type": "string"
                             },
                             "numVersions": {
-                              "description": "The number of versions to list. Versions are listed in decreasing order of\nthe version number. The maximum number of versions retained is 10. If this\nvalue is zero, it will return all the versions available.",
+                              "description": "The number of versions to list. Versions are listed in decreasing order of the version number. The maximum number of versions retained is 10. If this value is zero, it will return all the versions available.",
                               "format": "int32",
                               "location": "query",
                               "type": "integer"
@@ -713,7 +718,7 @@
                     "states": {
                       "methods": {
                         "list": {
-                          "description": "Lists the last few versions of the device state in descending order (i.e.:\nnewest first).",
+                          "description": "Lists the last few versions of the device state in descending order (i.e.: newest first).",
                           "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}/states",
                           "httpMethod": "GET",
                           "id": "cloudiot.projects.locations.registries.devices.states.list",
@@ -722,14 +727,14 @@
                           ],
                           "parameters": {
                             "name": {
-                              "description": "Required. The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
+                              "description": "Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
                               "location": "path",
                               "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$",
                               "required": true,
                               "type": "string"
                             },
                             "numStates": {
-                              "description": "The number of states to list. States are listed in descending order of\nupdate time. The maximum number of states retained is 10. If this\nvalue is zero, it will return all the states available.",
+                              "description": "The number of states to list. States are listed in descending order of update time. The maximum number of states retained is 10. If this value is zero, it will return all the states available.",
                               "format": "int32",
                               "location": "query",
                               "type": "integer"
@@ -751,7 +756,7 @@
                 "groups": {
                   "methods": {
                     "getIamPolicy": {
-                      "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
+                      "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
                       "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/groups/{groupsId}:getIamPolicy",
                       "httpMethod": "POST",
                       "id": "cloudiot.projects.locations.registries.groups.getIamPolicy",
@@ -760,7 +765,7 @@
                       ],
                       "parameters": {
                         "resource": {
-                          "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                          "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/groups/[^/]+$",
                           "required": true,
@@ -780,7 +785,7 @@
                       ]
                     },
                     "setIamPolicy": {
-                      "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.",
+                      "description": "Sets the access control policy on the specified resource. Replaces any existing policy.",
                       "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/groups/{groupsId}:setIamPolicy",
                       "httpMethod": "POST",
                       "id": "cloudiot.projects.locations.registries.groups.setIamPolicy",
@@ -789,7 +794,7 @@
                       ],
                       "parameters": {
                         "resource": {
-                          "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+                          "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/groups/[^/]+$",
                           "required": true,
@@ -809,7 +814,7 @@
                       ]
                     },
                     "testIamPermissions": {
-                      "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.",
+                      "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.",
                       "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/groups/{groupsId}:testIamPermissions",
                       "httpMethod": "POST",
                       "id": "cloudiot.projects.locations.registries.groups.testIamPermissions",
@@ -818,7 +823,7 @@
                       ],
                       "parameters": {
                         "resource": {
-                          "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                          "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/groups/[^/]+$",
                           "required": true,
@@ -851,57 +856,62 @@
                           ],
                           "parameters": {
                             "deviceIds": {
-                              "description": "A list of device string IDs. For example, `['device0', 'device12']`.\nIf empty, this field is ignored. Maximum IDs: 10,000",
+                              "description": "A list of device string IDs. For example, `['device0', 'device12']`. If empty, this field is ignored. Maximum IDs: 10,000",
                               "location": "query",
                               "repeated": true,
                               "type": "string"
                             },
                             "deviceNumIds": {
-                              "description": "A list of device numeric IDs. If empty, this field is ignored. Maximum\nIDs: 10,000.",
+                              "description": "A list of device numeric IDs. If empty, this field is ignored. Maximum IDs: 10,000.",
                               "format": "uint64",
                               "location": "query",
                               "repeated": true,
                               "type": "string"
                             },
                             "fieldMask": {
-                              "description": "The fields of the `Device` resource to be returned in the response. The\nfields `id` and `num_id` are always returned, along with any\nother fields specified.",
+                              "description": "The fields of the `Device` resource to be returned in the response. The fields `id` and `num_id` are always returned, along with any other fields specified.",
                               "format": "google-fieldmask",
                               "location": "query",
                               "type": "string"
                             },
                             "gatewayListOptions.associationsDeviceId": {
-                              "description": "If set, returns only the gateways with which the specified device is\nassociated. The device ID can be numeric (`num_id`) or the user-defined\nstring (`id`). For example, if `456` is specified, returns only the\ngateways to which the device with `num_id` 456 is bound.",
+                              "description": "If set, returns only the gateways with which the specified device is associated. The device ID can be numeric (`num_id`) or the user-defined string (`id`). For example, if `456` is specified, returns only the gateways to which the device with `num_id` 456 is bound.",
                               "location": "query",
                               "type": "string"
                             },
                             "gatewayListOptions.associationsGatewayId": {
-                              "description": "If set, only devices associated with the specified gateway are returned.\nThe gateway ID can be numeric (`num_id`) or the user-defined string\n(`id`). For example, if `123` is specified, only devices bound to the\ngateway with `num_id` 123 are returned.",
+                              "description": "If set, only devices associated with the specified gateway are returned. The gateway ID can be numeric (`num_id`) or the user-defined string (`id`). For example, if `123` is specified, only devices bound to the gateway with `num_id` 123 are returned.",
                               "location": "query",
                               "type": "string"
                             },
                             "gatewayListOptions.gatewayType": {
-                              "description": "If `GATEWAY` is specified, only gateways are returned. If `NON_GATEWAY`\nis specified, only non-gateway devices are returned. If\n`GATEWAY_TYPE_UNSPECIFIED` is specified, all devices are returned.",
+                              "description": "If `GATEWAY` is specified, only gateways are returned. If `NON_GATEWAY` is specified, only non-gateway devices are returned. If `GATEWAY_TYPE_UNSPECIFIED` is specified, all devices are returned.",
                               "enum": [
                                 "GATEWAY_TYPE_UNSPECIFIED",
                                 "GATEWAY",
                                 "NON_GATEWAY"
                               ],
+                              "enumDescriptions": [
+                                "If unspecified, the device is considered a non-gateway device.",
+                                "The device is a gateway.",
+                                "The device is not a gateway."
+                              ],
                               "location": "query",
                               "type": "string"
                             },
                             "pageSize": {
-                              "description": "The maximum number of devices to return in the response. If this value\nis zero, the service will select a default size. A call may return fewer\nobjects than requested. A non-empty `next_page_token` in the response\nindicates that more data is available.",
+                              "description": "The maximum number of devices to return in the response. If this value is zero, the service will select a default size. A call may return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.",
                               "format": "int32",
                               "location": "query",
                               "type": "integer"
                             },
                             "pageToken": {
-                              "description": "The value returned by the last `ListDevicesResponse`; indicates\nthat this is a continuation of a prior `ListDevices` call and\nthe system should return the next page of data.",
+                              "description": "The value returned by the last `ListDevicesResponse`; indicates that this is a continuation of a prior `ListDevices` call and the system should return the next page of data.",
                               "location": "query",
                               "type": "string"
                             },
                             "parent": {
-                              "description": "Required. The device registry path. Required. For example,\n`projects/my-project/locations/us-central1/registries/my-registry`.",
+                              "description": "Required. The device registry path. Required. For example, `projects/my-project/locations/us-central1/registries/my-registry`.",
                               "location": "path",
                               "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/groups/[^/]+$",
                               "required": true,
@@ -928,7 +938,7 @@
       }
     }
   },
-  "revision": "20200519",
+  "revision": "20200804",
   "rootUrl": "https://cloudiot.googleapis.com/",
   "schemas": {
     "BindDeviceToGatewayRequest": {
@@ -936,11 +946,11 @@
       "id": "BindDeviceToGatewayRequest",
       "properties": {
         "deviceId": {
-          "description": "Required. The device to associate with the specified gateway. The value of\n`device_id` can be either the device numeric ID or the user-defined device\nidentifier.",
+          "description": "Required. The device to associate with the specified gateway. The value of `device_id` can be either the device numeric ID or the user-defined device identifier.",
           "type": "string"
         },
         "gatewayId": {
-          "description": "Required. The value of `gateway_id` can be either the device numeric ID or the\nuser-defined device identifier.",
+          "description": "Required. The value of `gateway_id` can be either the device numeric ID or the user-defined device identifier.",
           "type": "string"
         }
       },
@@ -958,17 +968,17 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
           "type": "string"
         }
       },
@@ -979,15 +989,15 @@
       "id": "Device",
       "properties": {
         "blocked": {
-          "description": "If a device is blocked, connections or requests from this device will fail.\nCan be used to temporarily prevent the device from connecting if, for\nexample, the sensor is generating bad data and needs maintenance.",
+          "description": "If a device is blocked, connections or requests from this device will fail. Can be used to temporarily prevent the device from connecting if, for example, the sensor is generating bad data and needs maintenance.",
           "type": "boolean"
         },
         "config": {
           "$ref": "DeviceConfig",
-          "description": "The most recent device configuration, which is eventually sent from\nCloud IoT Core to the device. If not present on creation, the\nconfiguration will be initialized with an empty payload and version value\nof `1`. To update this field after creation, use the\n`DeviceManager.ModifyCloudToDeviceConfig` method."
+          "description": "The most recent device configuration, which is eventually sent from Cloud IoT Core to the device. If not present on creation, the configuration will be initialized with an empty payload and version value of `1`. To update this field after creation, use the `DeviceManager.ModifyCloudToDeviceConfig` method."
         },
         "credentials": {
-          "description": "The credentials used to authenticate this device. To allow credential\nrotation without interruption, multiple device credentials can be bound to\nthis device. No more than 3 credentials can be bound to a single device at\na time. When new credentials are added to a device, they are verified\nagainst the registry credentials. For details, see the description of the\n`DeviceRegistry.credentials` field.",
+          "description": "The credentials used to authenticate this device. To allow credential rotation without interruption, multiple device credentials can be bound to this device. No more than 3 credentials can be bound to a single device at a time. When new credentials are added to a device, they are verified against the registry credentials. For details, see the description of the `DeviceRegistry.credentials` field.",
           "items": {
             "$ref": "DeviceCredential"
           },
@@ -998,45 +1008,45 @@
           "description": "Gateway-related configuration and state."
         },
         "id": {
-          "description": "The user-defined device identifier. The device ID must be unique\nwithin a device registry.",
+          "description": "The user-defined device identifier. The device ID must be unique within a device registry.",
           "type": "string"
         },
         "lastConfigAckTime": {
-          "description": "[Output only] The last time a cloud-to-device config version acknowledgment\nwas received from the device. This field is only for configurations\nsent through MQTT.",
+          "description": "[Output only] The last time a cloud-to-device config version acknowledgment was received from the device. This field is only for configurations sent through MQTT.",
           "format": "google-datetime",
           "type": "string"
         },
         "lastConfigSendTime": {
-          "description": "[Output only] The last time a cloud-to-device config version was sent to\nthe device.",
+          "description": "[Output only] The last time a cloud-to-device config version was sent to the device.",
           "format": "google-datetime",
           "type": "string"
         },
         "lastErrorStatus": {
           "$ref": "Status",
-          "description": "[Output only] The error message of the most recent error, such as a failure\nto publish to Cloud Pub/Sub. 'last_error_time' is the timestamp of this\nfield. If no errors have occurred, this field has an empty message\nand the status code 0 == OK. Otherwise, this field is expected to have a\nstatus code other than OK."
+          "description": "[Output only] The error message of the most recent error, such as a failure to publish to Cloud Pub/Sub. 'last_error_time' is the timestamp of this field. If no errors have occurred, this field has an empty message and the status code 0 == OK. Otherwise, this field is expected to have a status code other than OK."
         },
         "lastErrorTime": {
-          "description": "[Output only] The time the most recent error occurred, such as a failure to\npublish to Cloud Pub/Sub. This field is the timestamp of\n'last_error_status'.",
+          "description": "[Output only] The time the most recent error occurred, such as a failure to publish to Cloud Pub/Sub. This field is the timestamp of 'last_error_status'.",
           "format": "google-datetime",
           "type": "string"
         },
         "lastEventTime": {
-          "description": "[Output only] The last time a telemetry event was received. Timestamps are\nperiodically collected and written to storage; they may be stale by a few\nminutes.",
+          "description": "[Output only] The last time a telemetry event was received. Timestamps are periodically collected and written to storage; they may be stale by a few minutes.",
           "format": "google-datetime",
           "type": "string"
         },
         "lastHeartbeatTime": {
-          "description": "[Output only] The last time an MQTT `PINGREQ` was received. This field\napplies only to devices connecting through MQTT. MQTT clients usually only\nsend `PINGREQ` messages if the connection is idle, and no other messages\nhave been sent. Timestamps are periodically collected and written to\nstorage; they may be stale by a few minutes.",
+          "description": "[Output only] The last time an MQTT `PINGREQ` was received. This field applies only to devices connecting through MQTT. MQTT clients usually only send `PINGREQ` messages if the connection is idle, and no other messages have been sent. Timestamps are periodically collected and written to storage; they may be stale by a few minutes.",
           "format": "google-datetime",
           "type": "string"
         },
         "lastStateTime": {
-          "description": "[Output only] The last time a state event was received. Timestamps are\nperiodically collected and written to storage; they may be stale by a few\nminutes.",
+          "description": "[Output only] The last time a state event was received. Timestamps are periodically collected and written to storage; they may be stale by a few minutes.",
           "format": "google-datetime",
           "type": "string"
         },
         "logLevel": {
-          "description": "**Beta Feature**\n\nThe logging verbosity for device activity. If unspecified,\nDeviceRegistry.log_level will be used.",
+          "description": "**Beta Feature** The logging verbosity for device activity. If unspecified, DeviceRegistry.log_level will be used.",
           "enum": [
             "LOG_LEVEL_UNSPECIFIED",
             "NONE",
@@ -1048,7 +1058,7 @@
             "No logging specified. If not specified, logging will be disabled.",
             "Disables logging.",
             "Error events will be logged.",
-            "Informational events will be logged, such as connections and\ndisconnections.",
+            "Informational events will be logged, such as connections and disconnections.",
             "All events will be logged."
           ],
           "type": "string"
@@ -1057,21 +1067,21 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The metadata key-value pairs assigned to the device. This metadata is not\ninterpreted or indexed by Cloud IoT Core. It can be used to add contextual\ninformation for the device.\n\nKeys must conform to the regular expression a-zA-Z+ and\nbe less than 128 bytes in length.\n\nValues are free-form strings. Each value must be less than or equal to 32\nKB in size.\n\nThe total size of all keys and values must be less than 256 KB, and the\nmaximum number of key-value pairs is 500.",
+          "description": "The metadata key-value pairs assigned to the device. This metadata is not interpreted or indexed by Cloud IoT Core. It can be used to add contextual information for the device. Keys must conform to the regular expression a-zA-Z+ and be less than 128 bytes in length. Values are free-form strings. Each value must be less than or equal to 32 KB in size. The total size of all keys and values must be less than 256 KB, and the maximum number of key-value pairs is 500.",
           "type": "object"
         },
         "name": {
-          "description": "The resource path name. For example,\n`projects/p1/locations/us-central1/registries/registry0/devices/dev0` or\n`projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`.\nWhen `name` is populated as a response from the service, it always ends\nin the device numeric ID.",
+          "description": "The resource path name. For example, `projects/p1/locations/us-central1/registries/registry0/devices/dev0` or `projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`. When `name` is populated as a response from the service, it always ends in the device numeric ID.",
           "type": "string"
         },
         "numId": {
-          "description": "[Output only] A server-defined unique numeric ID for the device. This is a\nmore compact way to identify devices, and it is globally unique.",
+          "description": "[Output only] A server-defined unique numeric ID for the device. This is a more compact way to identify devices, and it is globally unique.",
           "format": "uint64",
           "type": "string"
         },
         "state": {
           "$ref": "DeviceState",
-          "description": "[Output only] The state most recently received from the device. If no state\nhas been reported, this field is not present."
+          "description": "[Output only] The state most recently received from the device. If no state has been reported, this field is not present."
         }
       },
       "type": "object"
@@ -1086,17 +1096,17 @@
           "type": "string"
         },
         "cloudUpdateTime": {
-          "description": "[Output only] The time at which this configuration version was updated in\nCloud IoT Core. This timestamp is set by the server.",
+          "description": "[Output only] The time at which this configuration version was updated in Cloud IoT Core. This timestamp is set by the server.",
           "format": "google-datetime",
           "type": "string"
         },
         "deviceAckTime": {
-          "description": "[Output only] The time at which Cloud IoT Core received the\nacknowledgment from the device, indicating that the device has received\nthis configuration version. If this field is not present, the device has\nnot yet acknowledged that it received this version. Note that when\nthe config was sent to the device, many config versions may have been\navailable in Cloud IoT Core while the device was disconnected, and on\nconnection, only the latest version is sent to the device. Some\nversions may never be sent to the device, and therefore are never\nacknowledged. This timestamp is set by Cloud IoT Core.",
+          "description": "[Output only] The time at which Cloud IoT Core received the acknowledgment from the device, indicating that the device has received this configuration version. If this field is not present, the device has not yet acknowledged that it received this version. Note that when the config was sent to the device, many config versions may have been available in Cloud IoT Core while the device was disconnected, and on connection, only the latest version is sent to the device. Some versions may never be sent to the device, and therefore are never acknowledged. This timestamp is set by Cloud IoT Core.",
           "format": "google-datetime",
           "type": "string"
         },
         "version": {
-          "description": "[Output only] The version of this update. The version number is assigned by\nthe server, and is always greater than 0 after device creation. The\nversion must be 0 on the `CreateDevice` request if a `config` is\nspecified; the response of `CreateDevice` will always have a value of 1.",
+          "description": "[Output only] The version of this update. The version number is assigned by the server, and is always greater than 0 after device creation. The version must be 0 on the `CreateDevice` request if a `config` is specified; the response of `CreateDevice` will always have a value of 1.",
           "format": "int64",
           "type": "string"
         }
@@ -1108,13 +1118,13 @@
       "id": "DeviceCredential",
       "properties": {
         "expirationTime": {
-          "description": "[Optional] The time at which this credential becomes invalid. This\ncredential will be ignored for new client authentication requests after\nthis timestamp; however, it will not be automatically deleted.",
+          "description": "[Optional] The time at which this credential becomes invalid. This credential will be ignored for new client authentication requests after this timestamp; however, it will not be automatically deleted.",
           "format": "google-datetime",
           "type": "string"
         },
         "publicKey": {
           "$ref": "PublicKeyCredential",
-          "description": "A public key used to verify the signature of JSON Web Tokens (JWTs).\nWhen adding a new device credential, either via device creation or via\nmodifications, this public key credential may be required to be signed by\none of the registry level certificates. More specifically, if the\nregistry contains at least one certificate, any new device credential\nmust be signed by one of the registry certificates. As a result,\nwhen the registry contains certificates, only X.509 certificates are\naccepted as device credentials. However, if the registry does\nnot contain a certificate, self-signed certificates and public keys will\nbe accepted. New device credentials must be different from every\nregistry-level certificate."
+          "description": "A public key used to verify the signature of JSON Web Tokens (JWTs). When adding a new device credential, either via device creation or via modifications, this public key credential may be required to be signed by one of the registry level certificates. More specifically, if the registry contains at least one certificate, any new device credential must be signed by one of the registry certificates. As a result, when the registry contains certificates, only X.509 certificates are accepted as device credentials. However, if the registry does not contain a certificate, self-signed certificates and public keys will be accepted. New device credentials must be different from every registry-level certificate."
         }
       },
       "type": "object"
@@ -1124,14 +1134,14 @@
       "id": "DeviceRegistry",
       "properties": {
         "credentials": {
-          "description": "The credentials used to verify the device credentials. No more than 10\ncredentials can be bound to a single registry at a time. The verification\nprocess occurs at the time of device creation or update. If this field is\nempty, no verification is performed. Otherwise, the credentials of a newly\ncreated device or added credentials of an updated device should be signed\nwith one of these registry credentials.\n\nNote, however, that existing devices will never be affected by\nmodifications to this list of credentials: after a device has been\nsuccessfully created in a registry, it should be able to connect even if\nits registry credentials are revoked, deleted, or modified.",
+          "description": "The credentials used to verify the device credentials. No more than 10 credentials can be bound to a single registry at a time. The verification process occurs at the time of device creation or update. If this field is empty, no verification is performed. Otherwise, the credentials of a newly created device or added credentials of an updated device should be signed with one of these registry credentials. Note, however, that existing devices will never be affected by modifications to this list of credentials: after a device has been successfully created in a registry, it should be able to connect even if its registry credentials are revoked, deleted, or modified.",
           "items": {
             "$ref": "RegistryCredential"
           },
           "type": "array"
         },
         "eventNotificationConfigs": {
-          "description": "The configuration for notification of telemetry events received from the\ndevice. All telemetry events that were successfully published by the\ndevice and acknowledged by Cloud IoT Core are guaranteed to be\ndelivered to Cloud Pub/Sub. If multiple configurations match a message,\nonly the first matching configuration is used. If you try to publish a\ndevice telemetry event using MQTT without specifying a Cloud Pub/Sub topic\nfor the device's registry, the connection closes automatically. If you try\nto do so using an HTTP connection, an error is returned. Up to 10\nconfigurations may be provided.",
+          "description": "The configuration for notification of telemetry events received from the device. All telemetry events that were successfully published by the device and acknowledged by Cloud IoT Core are guaranteed to be delivered to Cloud Pub/Sub. If multiple configurations match a message, only the first matching configuration is used. If you try to publish a device telemetry event using MQTT without specifying a Cloud Pub/Sub topic for the device's registry, the connection closes automatically. If you try to do so using an HTTP connection, an error is returned. Up to 10 configurations may be provided.",
           "items": {
             "$ref": "EventNotificationConfig"
           },
@@ -1146,7 +1156,7 @@
           "type": "string"
         },
         "logLevel": {
-          "description": "**Beta Feature**\n\nThe default logging verbosity for activity from devices in this registry.\nThe verbosity level can be overridden by Device.log_level.",
+          "description": "**Beta Feature** The default logging verbosity for activity from devices in this registry. The verbosity level can be overridden by Device.log_level.",
           "enum": [
             "LOG_LEVEL_UNSPECIFIED",
             "NONE",
@@ -1158,7 +1168,7 @@
             "No logging specified. If not specified, logging will be disabled.",
             "Disables logging.",
             "Error events will be logged.",
-            "Informational events will be logged, such as connections and\ndisconnections.",
+            "Informational events will be logged, such as connections and disconnections.",
             "All events will be logged."
           ],
           "type": "string"
@@ -1168,12 +1178,12 @@
           "description": "The MQTT configuration for this device registry."
         },
         "name": {
-          "description": "The resource path name. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.",
+          "description": "The resource path name. For example, `projects/example-project/locations/us-central1/registries/my-registry`.",
           "type": "string"
         },
         "stateNotificationConfig": {
           "$ref": "StateNotificationConfig",
-          "description": "The configuration for notification of new states received from the device.\nState updates are guaranteed to be stored in the state history, but\nnotifications to Cloud Pub/Sub are not guaranteed. For example, if\npermissions are misconfigured or the specified topic doesn't exist, no\nnotification will be published but the state will still be stored in Cloud\nIoT Core."
+          "description": "The configuration for notification of new states received from the device. State updates are guaranteed to be stored in the state history, but notifications to Cloud Pub/Sub are not guaranteed. For example, if permissions are misconfigured or the specified topic doesn't exist, no notification will be published but the state will still be stored in Cloud IoT Core."
         }
       },
       "type": "object"
@@ -1188,7 +1198,7 @@
           "type": "string"
         },
         "updateTime": {
-          "description": "[Output only] The time at which this state version was updated in Cloud\nIoT Core.",
+          "description": "[Output only] The time at which this state version was updated in Cloud IoT Core.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -1196,7 +1206,7 @@
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
@@ -1206,34 +1216,34 @@
       "id": "EventNotificationConfig",
       "properties": {
         "pubsubTopicName": {
-          "description": "A Cloud Pub/Sub topic name. For example,\n`projects/myProject/topics/deviceEvents`.",
+          "description": "A Cloud Pub/Sub topic name. For example, `projects/myProject/topics/deviceEvents`.",
           "type": "string"
         },
         "subfolderMatches": {
-          "description": "If the subfolder name matches this string exactly, this configuration will\nbe used. The string must not include the leading '/' character. If empty,\nall strings are matched. This field is used only for telemetry events;\nsubfolders are not supported for state changes.",
+          "description": "If the subfolder name matches this string exactly, this configuration will be used. The string must not include the leading '/' character. If empty, all strings are matched. This field is used only for telemetry events; subfolders are not supported for state changes.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Expr": {
-      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
+      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
       "id": "Expr",
       "properties": {
         "description": {
-          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
+          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
           "type": "string"
         },
         "expression": {
-          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
+          "description": "Textual representation of an expression in Common Expression Language syntax.",
           "type": "string"
         },
         "location": {
-          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
+          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
           "type": "string"
         },
         "title": {
-          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
+          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
           "type": "string"
         }
       },
@@ -1244,7 +1254,7 @@
       "id": "GatewayConfig",
       "properties": {
         "gatewayAuthMethod": {
-          "description": "Indicates how to authorize and/or authenticate devices to access the\ngateway.",
+          "description": "Indicates how to authorize and/or authenticate devices to access the gateway.",
           "enum": [
             "GATEWAY_AUTH_METHOD_UNSPECIFIED",
             "ASSOCIATION_ONLY",
@@ -1252,10 +1262,10 @@
             "ASSOCIATION_AND_DEVICE_AUTH_TOKEN"
           ],
           "enumDescriptions": [
-            "No authentication/authorization method specified. No devices are allowed to\naccess the gateway.",
-            "The device is authenticated through the gateway association only. Device\ncredentials are ignored even if provided.",
-            "The device is authenticated through its own credentials. Gateway\nassociation is not checked.",
-            "The device is authenticated through both device credentials and gateway\nassociation. The device must be bound to the gateway and must provide its\nown credentials."
+            "No authentication/authorization method specified. No devices are allowed to access the gateway.",
+            "The device is authenticated through the gateway association only. Device credentials are ignored even if provided.",
+            "The device is authenticated through its own credentials. Gateway association is not checked.",
+            "The device is authenticated through both device credentials and gateway association. The device must be bound to the gateway and must provide its own credentials."
           ],
           "type": "string"
         },
@@ -1278,7 +1288,7 @@
           "type": "string"
         },
         "lastAccessedGatewayTime": {
-          "description": "[Output only] The most recent time at which the device accessed the gateway\nspecified in `last_accessed_gateway`.",
+          "description": "[Output only] The most recent time at which the device accessed the gateway specified in `last_accessed_gateway`.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -1291,7 +1301,7 @@
       "properties": {
         "options": {
           "$ref": "GetPolicyOptions",
-          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`."
+          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`."
         }
       },
       "type": "object"
@@ -1301,7 +1311,7 @@
       "id": "GetPolicyOptions",
       "properties": {
         "requestedPolicyVersion": {
-          "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -1313,14 +1323,14 @@
       "id": "HttpConfig",
       "properties": {
         "httpEnabledState": {
-          "description": "If enabled, allows devices to use DeviceService via the HTTP protocol.\nOtherwise, any requests to DeviceService will fail for this registry.",
+          "description": "If enabled, allows devices to use DeviceService via the HTTP protocol. Otherwise, any requests to DeviceService will fail for this registry.",
           "enum": [
             "HTTP_STATE_UNSPECIFIED",
             "HTTP_ENABLED",
             "HTTP_DISABLED"
           ],
           "enumDescriptions": [
-            "No HTTP state specified. If not specified, DeviceService will be\nenabled by default.",
+            "No HTTP state specified. If not specified, DeviceService will be enabled by default.",
             "Enables DeviceService (HTTP) service for the registry.",
             "Disables DeviceService (HTTP) service for the registry."
           ],
@@ -1334,7 +1344,7 @@
       "id": "ListDeviceConfigVersionsResponse",
       "properties": {
         "deviceConfigs": {
-          "description": "The device configuration for the last few versions. Versions are listed\nin decreasing order, starting from the most recent one.",
+          "description": "The device configuration for the last few versions. Versions are listed in decreasing order, starting from the most recent one.",
           "items": {
             "$ref": "DeviceConfig"
           },
@@ -1355,7 +1365,7 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "If not empty, indicates that there may be more registries that match the\nrequest; this value should be passed in a new\n`ListDeviceRegistriesRequest`.",
+          "description": "If not empty, indicates that there may be more registries that match the request; this value should be passed in a new `ListDeviceRegistriesRequest`.",
           "type": "string"
         }
       },
@@ -1366,7 +1376,7 @@
       "id": "ListDeviceStatesResponse",
       "properties": {
         "deviceStates": {
-          "description": "The last few device states. States are listed in descending order of server\nupdate time, starting from the most recent one.",
+          "description": "The last few device states. States are listed in descending order of server update time, starting from the most recent one.",
           "items": {
             "$ref": "DeviceState"
           },
@@ -1387,7 +1397,7 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "If not empty, indicates that there may be more devices that match the\nrequest; this value should be passed in a new `ListDevicesRequest`.",
+          "description": "If not empty, indicates that there may be more devices that match the request; this value should be passed in a new `ListDevicesRequest`.",
           "type": "string"
         }
       },
@@ -1403,7 +1413,7 @@
           "type": "string"
         },
         "versionToUpdate": {
-          "description": "The version number to update. If this value is zero, it will not check the\nversion number of the server and will always update the current version;\notherwise, this update will fail if the version number found on the server\ndoes not match this version number. This is used to support multiple\nsimultaneous updates without losing data.",
+          "description": "The version number to update. If this value is zero, it will not check the version number of the server and will always update the current version; otherwise, this update will fail if the version number found on the server does not match this version number. This is used to support multiple simultaneous updates without losing data.",
           "format": "int64",
           "type": "string"
         }
@@ -1415,7 +1425,7 @@
       "id": "MqttConfig",
       "properties": {
         "mqttEnabledState": {
-          "description": "If enabled, allows connections using the MQTT protocol. Otherwise, MQTT\nconnections to this registry will fail.",
+          "description": "If enabled, allows connections using the MQTT protocol. Otherwise, MQTT connections to this registry will fail.",
           "enum": [
             "MQTT_STATE_UNSPECIFIED",
             "MQTT_ENABLED",
@@ -1432,23 +1442,23 @@
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\n            \"user:eve@example.com\"\n          ],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "bindings": {
-          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
+          "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.",
           "items": {
             "$ref": "Binding"
           },
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
           "format": "byte",
           "type": "string"
         },
         "version": {
-          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -1470,8 +1480,8 @@
             "X509_CERTIFICATE_PEM"
           ],
           "enumDescriptions": [
-            "The format has not been specified. This is an invalid default value and\nmust not be used.",
-            "An X.509v3 certificate ([RFC5280](https://www.ietf.org/rfc/rfc5280.txt)),\nencoded in base64, and wrapped by `-----BEGIN CERTIFICATE-----` and\n`-----END CERTIFICATE-----`."
+            "The format has not been specified. This is an invalid default value and must not be used.",
+            "An X.509v3 certificate ([RFC5280](https://www.ietf.org/rfc/rfc5280.txt)), encoded in base64, and wrapped by `-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----`."
           ],
           "type": "string"
         },
@@ -1496,11 +1506,11 @@
             "ES256_X509_PEM"
           ],
           "enumDescriptions": [
-            "The format has not been specified. This is an invalid default value and\nmust not be used.",
-            "An RSA public key encoded in base64, and wrapped by\n`-----BEGIN PUBLIC KEY-----` and `-----END PUBLIC KEY-----`. This can be\nused to verify `RS256` signatures in JWT tokens ([RFC7518](\nhttps://www.ietf.org/rfc/rfc7518.txt)).",
-            "As RSA_PEM, but wrapped in an X.509v3 certificate ([RFC5280](\nhttps://www.ietf.org/rfc/rfc5280.txt)), encoded in base64, and wrapped by\n`-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----`.",
-            "Public key for the ECDSA algorithm using P-256 and SHA-256, encoded in\nbase64, and wrapped by `-----BEGIN PUBLIC KEY-----` and `-----END\nPUBLIC KEY-----`. This can be used to verify JWT tokens with the `ES256`\nalgorithm ([RFC7518](https://www.ietf.org/rfc/rfc7518.txt)). This curve is\ndefined in [OpenSSL](https://www.openssl.org/) as the `prime256v1` curve.",
-            "As ES256_PEM, but wrapped in an X.509v3 certificate ([RFC5280](\nhttps://www.ietf.org/rfc/rfc5280.txt)), encoded in base64, and wrapped by\n`-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----`."
+            "The format has not been specified. This is an invalid default value and must not be used.",
+            "An RSA public key encoded in base64, and wrapped by `-----BEGIN PUBLIC KEY-----` and `-----END PUBLIC KEY-----`. This can be used to verify `RS256` signatures in JWT tokens ([RFC7518]( https://www.ietf.org/rfc/rfc7518.txt)).",
+            "As RSA_PEM, but wrapped in an X.509v3 certificate ([RFC5280]( https://www.ietf.org/rfc/rfc5280.txt)), encoded in base64, and wrapped by `-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----`.",
+            "Public key for the ECDSA algorithm using P-256 and SHA-256, encoded in base64, and wrapped by `-----BEGIN PUBLIC KEY-----` and `-----END PUBLIC KEY-----`. This can be used to verify JWT tokens with the `ES256` algorithm ([RFC7518](https://www.ietf.org/rfc/rfc7518.txt)). This curve is defined in [OpenSSL](https://www.openssl.org/) as the `prime256v1` curve.",
+            "As ES256_PEM, but wrapped in an X.509v3 certificate ([RFC5280]( https://www.ietf.org/rfc/rfc5280.txt)), encoded in base64, and wrapped by `-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----`."
           ],
           "type": "string"
         },
@@ -1532,7 +1542,7 @@
           "type": "string"
         },
         "subfolder": {
-          "description": "Optional subfolder for the command. If empty, the command will be delivered\nto the /devices/{device-id}/commands topic, otherwise it will be delivered\nto the /devices/{device-id}/commands/{subfolder} topic. Multi-level\nsubfolders are allowed. This field must not have more than 256 characters,\nand must not contain any MQTT wildcards (\"+\" or \"#\") or null characters.",
+          "description": "Optional subfolder for the command. If empty, the command will be delivered to the /devices/{device-id}/commands topic, otherwise it will be delivered to the /devices/{device-id}/commands/{subfolder} topic. Multi-level subfolders are allowed. This field must not have more than 256 characters, and must not contain any MQTT wildcards (\"+\" or \"#\") or null characters.",
           "type": "string"
         }
       },
@@ -1550,7 +1560,7 @@
       "properties": {
         "policy": {
           "$ref": "Policy",
-          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
+          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them."
         }
       },
       "type": "object"
@@ -1560,14 +1570,14 @@
       "id": "StateNotificationConfig",
       "properties": {
         "pubsubTopicName": {
-          "description": "A Cloud Pub/Sub topic name. For example,\n`projects/myProject/topics/deviceEvents`.",
+          "description": "A Cloud Pub/Sub topic name. For example, `projects/myProject/topics/deviceEvents`.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Status": {
-      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "Status",
       "properties": {
         "code": {
@@ -1576,7 +1586,7 @@
           "type": "integer"
         },
         "details": {
-          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -1587,7 +1597,7 @@
           "type": "array"
         },
         "message": {
-          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
           "type": "string"
         }
       },
@@ -1598,7 +1608,7 @@
       "id": "TestIamPermissionsRequest",
       "properties": {
         "permissions": {
-          "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
+          "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
           "items": {
             "type": "string"
           },
@@ -1612,7 +1622,7 @@
       "id": "TestIamPermissionsResponse",
       "properties": {
         "permissions": {
-          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
+          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
           "items": {
             "type": "string"
           },
@@ -1626,11 +1636,11 @@
       "id": "UnbindDeviceFromGatewayRequest",
       "properties": {
         "deviceId": {
-          "description": "Required. The device to disassociate from the specified gateway. The value of\n`device_id` can be either the device numeric ID or the user-defined device\nidentifier.",
+          "description": "Required. The device to disassociate from the specified gateway. The value of `device_id` can be either the device numeric ID or the user-defined device identifier.",
           "type": "string"
         },
         "gatewayId": {
-          "description": "Required. The value of `gateway_id` can be either the device numeric ID or the\nuser-defined device identifier.",
+          "description": "Required. The value of `gateway_id` can be either the device numeric ID or the user-defined device identifier.",
           "type": "string"
         }
       },
diff --git a/cloudiot/v1/cloudiot-gen.go b/cloudiot/v1/cloudiot-gen.go
index f48acd3..af5a162 100644
--- a/cloudiot/v1/cloudiot-gen.go
+++ b/cloudiot/v1/cloudiot-gen.go
@@ -239,15 +239,12 @@
 // BindDeviceToGatewayRequest: Request for `BindDeviceToGateway`.
 type BindDeviceToGatewayRequest struct {
 	// DeviceId: Required. The device to associate with the specified
-	// gateway. The value of
-	// `device_id` can be either the device numeric ID or the user-defined
-	// device
-	// identifier.
+	// gateway. The value of `device_id` can be either the device numeric ID
+	// or the user-defined device identifier.
 	DeviceId string `json:"deviceId,omitempty"`
 
 	// GatewayId: Required. The value of `gateway_id` can be either the
-	// device numeric ID or the
-	// user-defined device identifier.
+	// device numeric ID or the user-defined device identifier.
 	GatewayId string `json:"gatewayId,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "DeviceId") to
@@ -282,95 +279,53 @@
 
 // Binding: Associates `members` with a `role`.
 type Binding struct {
-	// Condition: The condition that is associated with this binding.
-	//
-	// If the condition evaluates to `true`, then this binding applies to
-	// the
-	// current request.
-	//
-	// If the condition evaluates to `false`, then this binding does not
-	// apply to
-	// the current request. However, a different role binding might grant
-	// the same
-	// role to one or more of the members in this binding.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// Condition: The condition that is associated with this binding. If the
+	// condition evaluates to `true`, then this binding applies to the
+	// current request. If the condition evaluates to `false`, then this
+	// binding does not apply to the current request. However, a different
+	// role binding might grant the same role to one or more of the members
+	// in this binding. To learn which resources support conditions in their
+	// IAM policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	Condition *Expr `json:"condition,omitempty"`
 
 	// Members: Specifies the identities requesting access for a Cloud
-	// Platform resource.
-	// `members` can have the following values:
-	//
-	// * `allUsers`: A special identifier that represents anyone who is
-	//    on the internet; with or without a Google account.
-	//
-	// * `allAuthenticatedUsers`: A special identifier that represents
-	// anyone
-	//    who is authenticated with a Google account or a service
-	// account.
-	//
-	// * `user:{emailid}`: An email address that represents a specific
-	// Google
-	//    account. For example, `alice@example.com` .
-	//
-	//
-	// * `serviceAccount:{emailid}`: An email address that represents a
-	// service
-	//    account. For example,
-	// `my-other-app@appspot.gserviceaccount.com`.
-	//
-	// * `group:{emailid}`: An email address that represents a Google
-	// group.
-	//    For example, `admins@example.com`.
-	//
-	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a user that has been recently deleted.
-	// For
-	//    example, `alice@example.com?uid=123456789012345678901`. If the
-	// user is
-	//    recovered, this value reverts to `user:{emailid}` and the
-	// recovered user
-	//    retains the role in the binding.
-	//
-	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
-	// (plus
-	//    unique identifier) representing a service account that has been
-	// recently
-	//    deleted. For example,
-	//
+	// Platform resource. `members` can have the following values: *
+	// `allUsers`: A special identifier that represents anyone who is on the
+	// internet; with or without a Google account. *
+	// `allAuthenticatedUsers`: A special identifier that represents anyone
+	// who is authenticated with a Google account or a service account. *
+	// `user:{emailid}`: An email address that represents a specific Google
+	// account. For example, `alice@example.com` . *
+	// `serviceAccount:{emailid}`: An email address that represents a
+	// service account. For example,
+	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
+	// email address that represents a Google group. For example,
+	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
+	// email address (plus unique identifier) representing a user that has
+	// been recently deleted. For example,
+	// `alice@example.com?uid=123456789012345678901`. If the user is
+	// recovered, this value reverts to `user:{emailid}` and the recovered
+	// user retains the role in the binding. *
+	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
+	// (plus unique identifier) representing a service account that has been
+	// recently deleted. For example,
 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
-	//
-	//    If the service account is undeleted, this value reverts to
-	//    `serviceAccount:{emailid}` and the undeleted service account
-	// retains the
-	//    role in the binding.
-	//
-	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a Google group that has been recently
-	//    deleted. For example,
-	// `admins@example.com?uid=123456789012345678901`. If
-	//    the group is recovered, this value reverts to `group:{emailid}`
-	// and the
-	//    recovered group retains the role in the binding.
-	//
-	//
-	// * `domain:{domain}`: The G Suite domain (primary) that represents all
-	// the
-	//    users of that domain. For example, `google.com` or
-	// `example.com`.
-	//
-	//
+	// If the service account is undeleted, this value reverts to
+	// `serviceAccount:{emailid}` and the undeleted service account retains
+	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
+	// An email address (plus unique identifier) representing a Google group
+	// that has been recently deleted. For example,
+	// `admins@example.com?uid=123456789012345678901`. If the group is
+	// recovered, this value reverts to `group:{emailid}` and the recovered
+	// group retains the role in the binding. * `domain:{domain}`: The G
+	// Suite domain (primary) that represents all the users of that domain.
+	// For example, `google.com` or `example.com`.
 	Members []string `json:"members,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`.
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -399,104 +354,76 @@
 // Device: The device resource.
 type Device struct {
 	// Blocked: If a device is blocked, connections or requests from this
-	// device will fail.
-	// Can be used to temporarily prevent the device from connecting if,
-	// for
-	// example, the sensor is generating bad data and needs maintenance.
+	// device will fail. Can be used to temporarily prevent the device from
+	// connecting if, for example, the sensor is generating bad data and
+	// needs maintenance.
 	Blocked bool `json:"blocked,omitempty"`
 
 	// Config: The most recent device configuration, which is eventually
-	// sent from
-	// Cloud IoT Core to the device. If not present on creation,
-	// the
-	// configuration will be initialized with an empty payload and version
-	// value
-	// of `1`. To update this field after creation, use
-	// the
+	// sent from Cloud IoT Core to the device. If not present on creation,
+	// the configuration will be initialized with an empty payload and
+	// version value of `1`. To update this field after creation, use the
 	// `DeviceManager.ModifyCloudToDeviceConfig` method.
 	Config *DeviceConfig `json:"config,omitempty"`
 
 	// Credentials: The credentials used to authenticate this device. To
-	// allow credential
-	// rotation without interruption, multiple device credentials can be
-	// bound to
-	// this device. No more than 3 credentials can be bound to a single
-	// device at
-	// a time. When new credentials are added to a device, they are
-	// verified
-	// against the registry credentials. For details, see the description of
-	// the
+	// allow credential rotation without interruption, multiple device
+	// credentials can be bound to this device. No more than 3 credentials
+	// can be bound to a single device at a time. When new credentials are
+	// added to a device, they are verified against the registry
+	// credentials. For details, see the description of the
 	// `DeviceRegistry.credentials` field.
 	Credentials []*DeviceCredential `json:"credentials,omitempty"`
 
 	// GatewayConfig: Gateway-related configuration and state.
 	GatewayConfig *GatewayConfig `json:"gatewayConfig,omitempty"`
 
-	// Id: The user-defined device identifier. The device ID must be
-	// unique
+	// Id: The user-defined device identifier. The device ID must be unique
 	// within a device registry.
 	Id string `json:"id,omitempty"`
 
 	// LastConfigAckTime: [Output only] The last time a cloud-to-device
-	// config version acknowledgment
-	// was received from the device. This field is only for
-	// configurations
-	// sent through MQTT.
+	// config version acknowledgment was received from the device. This
+	// field is only for configurations sent through MQTT.
 	LastConfigAckTime string `json:"lastConfigAckTime,omitempty"`
 
 	// LastConfigSendTime: [Output only] The last time a cloud-to-device
-	// config version was sent to
-	// the device.
+	// config version was sent to the device.
 	LastConfigSendTime string `json:"lastConfigSendTime,omitempty"`
 
 	// LastErrorStatus: [Output only] The error message of the most recent
-	// error, such as a failure
-	// to publish to Cloud Pub/Sub. 'last_error_time' is the timestamp of
-	// this
-	// field. If no errors have occurred, this field has an empty
-	// message
-	// and the status code 0 == OK. Otherwise, this field is expected to
-	// have a
-	// status code other than OK.
+	// error, such as a failure to publish to Cloud Pub/Sub.
+	// 'last_error_time' is the timestamp of this field. If no errors have
+	// occurred, this field has an empty message and the status code 0 ==
+	// OK. Otherwise, this field is expected to have a status code other
+	// than OK.
 	LastErrorStatus *Status `json:"lastErrorStatus,omitempty"`
 
 	// LastErrorTime: [Output only] The time the most recent error occurred,
-	// such as a failure to
-	// publish to Cloud Pub/Sub. This field is the timestamp
-	// of
-	// 'last_error_status'.
+	// such as a failure to publish to Cloud Pub/Sub. This field is the
+	// timestamp of 'last_error_status'.
 	LastErrorTime string `json:"lastErrorTime,omitempty"`
 
 	// LastEventTime: [Output only] The last time a telemetry event was
-	// received. Timestamps are
-	// periodically collected and written to storage; they may be stale by a
-	// few
-	// minutes.
+	// received. Timestamps are periodically collected and written to
+	// storage; they may be stale by a few minutes.
 	LastEventTime string `json:"lastEventTime,omitempty"`
 
 	// LastHeartbeatTime: [Output only] The last time an MQTT `PINGREQ` was
-	// received. This field
-	// applies only to devices connecting through MQTT. MQTT clients usually
-	// only
-	// send `PINGREQ` messages if the connection is idle, and no other
-	// messages
-	// have been sent. Timestamps are periodically collected and written
-	// to
-	// storage; they may be stale by a few minutes.
+	// received. This field applies only to devices connecting through MQTT.
+	// MQTT clients usually only send `PINGREQ` messages if the connection
+	// is idle, and no other messages have been sent. Timestamps are
+	// periodically collected and written to storage; they may be stale by a
+	// few minutes.
 	LastHeartbeatTime string `json:"lastHeartbeatTime,omitempty"`
 
 	// LastStateTime: [Output only] The last time a state event was
-	// received. Timestamps are
-	// periodically collected and written to storage; they may be stale by a
-	// few
-	// minutes.
+	// received. Timestamps are periodically collected and written to
+	// storage; they may be stale by a few minutes.
 	LastStateTime string `json:"lastStateTime,omitempty"`
 
-	// LogLevel: **Beta Feature**
-	//
-	// The logging verbosity for device activity. If
-	// unspecified,
-	// DeviceRegistry.log_level will be used.
+	// LogLevel: **Beta Feature** The logging verbosity for device activity.
+	// If unspecified, DeviceRegistry.log_level will be used.
 	//
 	// Possible values:
 	//   "LOG_LEVEL_UNSPECIFIED" - No logging specified. If not specified,
@@ -504,49 +431,34 @@
 	//   "NONE" - Disables logging.
 	//   "ERROR" - Error events will be logged.
 	//   "INFO" - Informational events will be logged, such as connections
-	// and
-	// disconnections.
+	// and disconnections.
 	//   "DEBUG" - All events will be logged.
 	LogLevel string `json:"logLevel,omitempty"`
 
 	// Metadata: The metadata key-value pairs assigned to the device. This
-	// metadata is not
-	// interpreted or indexed by Cloud IoT Core. It can be used to add
-	// contextual
-	// information for the device.
-	//
-	// Keys must conform to the regular expression a-zA-Z+ and
-	// be less than 128 bytes in length.
-	//
-	// Values are free-form strings. Each value must be less than or equal
-	// to 32
-	// KB in size.
-	//
-	// The total size of all keys and values must be less than 256 KB, and
-	// the
-	// maximum number of key-value pairs is 500.
+	// metadata is not interpreted or indexed by Cloud IoT Core. It can be
+	// used to add contextual information for the device. Keys must conform
+	// to the regular expression a-zA-Z+ and be less than 128 bytes in
+	// length. Values are free-form strings. Each value must be less than or
+	// equal to 32 KB in size. The total size of all keys and values must be
+	// less than 256 KB, and the maximum number of key-value pairs is 500.
 	Metadata map[string]string `json:"metadata,omitempty"`
 
-	// Name: The resource path name. For
-	// example,
-	// `projects/p1/locations/us-central1/registries/registry0/devic
-	// es/dev0`
+	// Name: The resource path name. For example,
+	// `projects/p1/locations/us-central1/registries/registry0/devices/dev0`
 	// or
-	// `projects/p1/locations/us-central1/registries/registry0/devices/{nu
-	// m_id}`.
-	// When `name` is populated as a response from the service, it always
-	// ends
-	// in the device numeric ID.
+	// `projects/p1/locations/us-central1/registries/registry0/devices/{num_i
+	// d}`. When `name` is populated as a response from the service, it
+	// always ends in the device numeric ID.
 	Name string `json:"name,omitempty"`
 
 	// NumId: [Output only] A server-defined unique numeric ID for the
-	// device. This is a
-	// more compact way to identify devices, and it is globally unique.
+	// device. This is a more compact way to identify devices, and it is
+	// globally unique.
 	NumId uint64 `json:"numId,omitempty,string"`
 
 	// State: [Output only] The state most recently received from the
-	// device. If no state
-	// has been reported, this field is not present.
+	// device. If no state has been reported, this field is not present.
 	State *DeviceState `json:"state,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -583,37 +495,27 @@
 	BinaryData string `json:"binaryData,omitempty"`
 
 	// CloudUpdateTime: [Output only] The time at which this configuration
-	// version was updated in
-	// Cloud IoT Core. This timestamp is set by the server.
+	// version was updated in Cloud IoT Core. This timestamp is set by the
+	// server.
 	CloudUpdateTime string `json:"cloudUpdateTime,omitempty"`
 
 	// DeviceAckTime: [Output only] The time at which Cloud IoT Core
-	// received the
-	// acknowledgment from the device, indicating that the device has
-	// received
-	// this configuration version. If this field is not present, the device
-	// has
-	// not yet acknowledged that it received this version. Note that
-	// when
-	// the config was sent to the device, many config versions may have
-	// been
-	// available in Cloud IoT Core while the device was disconnected, and
-	// on
-	// connection, only the latest version is sent to the device.
-	// Some
-	// versions may never be sent to the device, and therefore are
-	// never
-	// acknowledged. This timestamp is set by Cloud IoT Core.
+	// received the acknowledgment from the device, indicating that the
+	// device has received this configuration version. If this field is not
+	// present, the device has not yet acknowledged that it received this
+	// version. Note that when the config was sent to the device, many
+	// config versions may have been available in Cloud IoT Core while the
+	// device was disconnected, and on connection, only the latest version
+	// is sent to the device. Some versions may never be sent to the device,
+	// and therefore are never acknowledged. This timestamp is set by Cloud
+	// IoT Core.
 	DeviceAckTime string `json:"deviceAckTime,omitempty"`
 
 	// Version: [Output only] The version of this update. The version number
-	// is assigned by
-	// the server, and is always greater than 0 after device creation.
-	// The
-	// version must be 0 on the `CreateDevice` request if a `config`
-	// is
-	// specified; the response of `CreateDevice` will always have a value of
-	// 1.
+	// is assigned by the server, and is always greater than 0 after device
+	// creation. The version must be 0 on the `CreateDevice` request if a
+	// `config` is specified; the response of `CreateDevice` will always
+	// have a value of 1.
 	Version int64 `json:"version,omitempty,string"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -647,31 +549,22 @@
 // authentication.
 type DeviceCredential struct {
 	// ExpirationTime: [Optional] The time at which this credential becomes
-	// invalid. This
-	// credential will be ignored for new client authentication requests
-	// after
-	// this timestamp; however, it will not be automatically deleted.
+	// invalid. This credential will be ignored for new client
+	// authentication requests after this timestamp; however, it will not be
+	// automatically deleted.
 	ExpirationTime string `json:"expirationTime,omitempty"`
 
 	// PublicKey: A public key used to verify the signature of JSON Web
-	// Tokens (JWTs).
-	// When adding a new device credential, either via device creation or
-	// via
-	// modifications, this public key credential may be required to be
-	// signed by
-	// one of the registry level certificates. More specifically, if
-	// the
-	// registry contains at least one certificate, any new device
-	// credential
-	// must be signed by one of the registry certificates. As a result,
-	// when the registry contains certificates, only X.509 certificates
-	// are
-	// accepted as device credentials. However, if the registry does
-	// not contain a certificate, self-signed certificates and public keys
-	// will
-	// be accepted. New device credentials must be different from
-	// every
-	// registry-level certificate.
+	// Tokens (JWTs). When adding a new device credential, either via device
+	// creation or via modifications, this public key credential may be
+	// required to be signed by one of the registry level certificates. More
+	// specifically, if the registry contains at least one certificate, any
+	// new device credential must be signed by one of the registry
+	// certificates. As a result, when the registry contains certificates,
+	// only X.509 certificates are accepted as device credentials. However,
+	// if the registry does not contain a certificate, self-signed
+	// certificates and public keys will be accepted. New device credentials
+	// must be different from every registry-level certificate.
 	PublicKey *PublicKeyCredential `json:"publicKey,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ExpirationTime") to
@@ -701,43 +594,28 @@
 // DeviceRegistry: A container for a group of devices.
 type DeviceRegistry struct {
 	// Credentials: The credentials used to verify the device credentials.
-	// No more than 10
-	// credentials can be bound to a single registry at a time. The
-	// verification
-	// process occurs at the time of device creation or update. If this
-	// field is
-	// empty, no verification is performed. Otherwise, the credentials of a
-	// newly
-	// created device or added credentials of an updated device should be
-	// signed
-	// with one of these registry credentials.
-	//
-	// Note, however, that existing devices will never be affected
-	// by
-	// modifications to this list of credentials: after a device has
-	// been
-	// successfully created in a registry, it should be able to connect even
-	// if
-	// its registry credentials are revoked, deleted, or modified.
+	// No more than 10 credentials can be bound to a single registry at a
+	// time. The verification process occurs at the time of device creation
+	// or update. If this field is empty, no verification is performed.
+	// Otherwise, the credentials of a newly created device or added
+	// credentials of an updated device should be signed with one of these
+	// registry credentials. Note, however, that existing devices will never
+	// be affected by modifications to this list of credentials: after a
+	// device has been successfully created in a registry, it should be able
+	// to connect even if its registry credentials are revoked, deleted, or
+	// modified.
 	Credentials []*RegistryCredential `json:"credentials,omitempty"`
 
 	// EventNotificationConfigs: The configuration for notification of
-	// telemetry events received from the
-	// device. All telemetry events that were successfully published by
-	// the
-	// device and acknowledged by Cloud IoT Core are guaranteed to
-	// be
-	// delivered to Cloud Pub/Sub. If multiple configurations match a
-	// message,
-	// only the first matching configuration is used. If you try to publish
-	// a
-	// device telemetry event using MQTT without specifying a Cloud Pub/Sub
-	// topic
-	// for the device's registry, the connection closes automatically. If
-	// you try
-	// to do so using an HTTP connection, an error is returned. Up to
-	// 10
-	// configurations may be provided.
+	// telemetry events received from the device. All telemetry events that
+	// were successfully published by the device and acknowledged by Cloud
+	// IoT Core are guaranteed to be delivered to Cloud Pub/Sub. If multiple
+	// configurations match a message, only the first matching configuration
+	// is used. If you try to publish a device telemetry event using MQTT
+	// without specifying a Cloud Pub/Sub topic for the device's registry,
+	// the connection closes automatically. If you try to do so using an
+	// HTTP connection, an error is returned. Up to 10 configurations may be
+	// provided.
 	EventNotificationConfigs []*EventNotificationConfig `json:"eventNotificationConfigs,omitempty"`
 
 	// HttpConfig: The DeviceService (HTTP) configuration for this device
@@ -748,11 +626,9 @@
 	// `myRegistry`.
 	Id string `json:"id,omitempty"`
 
-	// LogLevel: **Beta Feature**
-	//
-	// The default logging verbosity for activity from devices in this
-	// registry.
-	// The verbosity level can be overridden by Device.log_level.
+	// LogLevel: **Beta Feature** The default logging verbosity for activity
+	// from devices in this registry. The verbosity level can be overridden
+	// by Device.log_level.
 	//
 	// Possible values:
 	//   "LOG_LEVEL_UNSPECIFIED" - No logging specified. If not specified,
@@ -760,31 +636,24 @@
 	//   "NONE" - Disables logging.
 	//   "ERROR" - Error events will be logged.
 	//   "INFO" - Informational events will be logged, such as connections
-	// and
-	// disconnections.
+	// and disconnections.
 	//   "DEBUG" - All events will be logged.
 	LogLevel string `json:"logLevel,omitempty"`
 
 	// MqttConfig: The MQTT configuration for this device registry.
 	MqttConfig *MqttConfig `json:"mqttConfig,omitempty"`
 
-	// Name: The resource path name. For
-	// example,
-	// `projects/example-project/locations/us-central1/registries/my
-	// -registry`.
+	// Name: The resource path name. For example,
+	// `projects/example-project/locations/us-central1/registries/my-registry
+	// `.
 	Name string `json:"name,omitempty"`
 
 	// StateNotificationConfig: The configuration for notification of new
-	// states received from the device.
-	// State updates are guaranteed to be stored in the state history,
-	// but
-	// notifications to Cloud Pub/Sub are not guaranteed. For example,
-	// if
-	// permissions are misconfigured or the specified topic doesn't exist,
-	// no
-	// notification will be published but the state will still be stored in
-	// Cloud
-	// IoT Core.
+	// states received from the device. State updates are guaranteed to be
+	// stored in the state history, but notifications to Cloud Pub/Sub are
+	// not guaranteed. For example, if permissions are misconfigured or the
+	// specified topic doesn't exist, no notification will be published but
+	// the state will still be stored in Cloud IoT Core.
 	StateNotificationConfig *StateNotificationConfig `json:"stateNotificationConfig,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -820,8 +689,7 @@
 	BinaryData string `json:"binaryData,omitempty"`
 
 	// UpdateTime: [Output only] The time at which this state version was
-	// updated in Cloud
-	// IoT Core.
+	// updated in Cloud IoT Core.
 	UpdateTime string `json:"updateTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "BinaryData") to
@@ -848,17 +716,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -868,18 +730,15 @@
 // EventNotificationConfig: The configuration for forwarding telemetry
 // events.
 type EventNotificationConfig struct {
-	// PubsubTopicName: A Cloud Pub/Sub topic name. For
-	// example,
+	// PubsubTopicName: A Cloud Pub/Sub topic name. For example,
 	// `projects/myProject/topics/deviceEvents`.
 	PubsubTopicName string `json:"pubsubTopicName,omitempty"`
 
 	// SubfolderMatches: If the subfolder name matches this string exactly,
-	// this configuration will
-	// be used. The string must not include the leading '/' character. If
-	// empty,
-	// all strings are matched. This field is used only for telemetry
-	// events;
-	// subfolders are not supported for state changes.
+	// this configuration will be used. The string must not include the
+	// leading '/' character. If empty, all strings are matched. This field
+	// is used only for telemetry events; subfolders are not supported for
+	// state changes.
 	SubfolderMatches string `json:"subfolderMatches,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "PubsubTopicName") to
@@ -907,65 +766,40 @@
 }
 
 // Expr: Represents a textual expression in the Common Expression
-// Language (CEL)
-// syntax. CEL is a C-like expression language. The syntax and semantics
-// of CEL
-// are documented at https://github.com/google/cel-spec.
-//
-// Example (Comparison):
-//
-//     title: "Summary size limit"
-//     description: "Determines if a summary is less than 100 chars"
-//     expression: "document.summary.size() < 100"
-//
-// Example (Equality):
-//
-//     title: "Requestor is owner"
-//     description: "Determines if requestor is the document owner"
-//     expression: "document.owner ==
-// request.auth.claims.email"
-//
-// Example (Logic):
-//
-//     title: "Public documents"
-//     description: "Determine whether the document should be publicly
-// visible"
-//     expression: "document.type != 'private' && document.type !=
-// 'internal'"
-//
-// Example (Data Manipulation):
-//
-//     title: "Notification string"
-//     description: "Create a notification string with a timestamp."
-//     expression: "'New message received at ' +
-// string(document.create_time)"
-//
-// The exact variables and functions that may be referenced within an
-// expression
-// are determined by the service that evaluates it. See the
-// service
-// documentation for additional information.
+// Language (CEL) syntax. CEL is a C-like expression language. The
+// syntax and semantics of CEL are documented at
+// https://github.com/google/cel-spec. Example (Comparison): title:
+// "Summary size limit" description: "Determines if a summary is less
+// than 100 chars" expression: "document.summary.size() < 100" Example
+// (Equality): title: "Requestor is owner" description: "Determines if
+// requestor is the document owner" expression: "document.owner ==
+// request.auth.claims.email" Example (Logic): title: "Public documents"
+// description: "Determine whether the document should be publicly
+// visible" expression: "document.type != 'private' && document.type !=
+// 'internal'" Example (Data Manipulation): title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' +
+// string(document.create_time)" The exact variables and functions that
+// may be referenced within an expression are determined by the service
+// that evaluates it. See the service documentation for additional
+// information.
 type Expr struct {
 	// Description: Optional. Description of the expression. This is a
-	// longer text which
-	// describes the expression, e.g. when hovered over it in a UI.
+	// longer text which describes the expression, e.g. when hovered over it
+	// in a UI.
 	Description string `json:"description,omitempty"`
 
 	// Expression: Textual representation of an expression in Common
-	// Expression Language
-	// syntax.
+	// Expression Language syntax.
 	Expression string `json:"expression,omitempty"`
 
 	// Location: Optional. String indicating the location of the expression
-	// for error
-	// reporting, e.g. a file name and a position in the file.
+	// for error reporting, e.g. a file name and a position in the file.
 	Location string `json:"location,omitempty"`
 
 	// Title: Optional. Title for the expression, i.e. a short string
-	// describing
-	// its purpose. This can be used e.g. in UIs which allow to enter
-	// the
-	// expression.
+	// describing its purpose. This can be used e.g. in UIs which allow to
+	// enter the expression.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -994,24 +828,19 @@
 // GatewayConfig: Gateway-related configuration and state.
 type GatewayConfig struct {
 	// GatewayAuthMethod: Indicates how to authorize and/or authenticate
-	// devices to access the
-	// gateway.
+	// devices to access the gateway.
 	//
 	// Possible values:
 	//   "GATEWAY_AUTH_METHOD_UNSPECIFIED" - No authentication/authorization
-	// method specified. No devices are allowed to
-	// access the gateway.
+	// method specified. No devices are allowed to access the gateway.
 	//   "ASSOCIATION_ONLY" - The device is authenticated through the
-	// gateway association only. Device
-	// credentials are ignored even if provided.
+	// gateway association only. Device credentials are ignored even if
+	// provided.
 	//   "DEVICE_AUTH_TOKEN_ONLY" - The device is authenticated through its
-	// own credentials. Gateway
-	// association is not checked.
+	// own credentials. Gateway association is not checked.
 	//   "ASSOCIATION_AND_DEVICE_AUTH_TOKEN" - The device is authenticated
-	// through both device credentials and gateway
-	// association. The device must be bound to the gateway and must provide
-	// its
-	// own credentials.
+	// through both device credentials and gateway association. The device
+	// must be bound to the gateway and must provide its own credentials.
 	GatewayAuthMethod string `json:"gatewayAuthMethod,omitempty"`
 
 	// GatewayType: Indicates whether the device is a gateway.
@@ -1028,8 +857,7 @@
 	LastAccessedGatewayId string `json:"lastAccessedGatewayId,omitempty"`
 
 	// LastAccessedGatewayTime: [Output only] The most recent time at which
-	// the device accessed the gateway
-	// specified in `last_accessed_gateway`.
+	// the device accessed the gateway specified in `last_accessed_gateway`.
 	LastAccessedGatewayTime string `json:"lastAccessedGatewayTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "GatewayAuthMethod")
@@ -1059,8 +887,7 @@
 // GetIamPolicyRequest: Request message for `GetIamPolicy` method.
 type GetIamPolicyRequest struct {
 	// Options: OPTIONAL: A `GetPolicyOptions` object for specifying options
-	// to
-	// `GetIamPolicy`.
+	// to `GetIamPolicy`.
 	Options *GetPolicyOptions `json:"options,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Options") to
@@ -1089,24 +916,14 @@
 // GetPolicyOptions: Encapsulates settings provided to GetIamPolicy.
 type GetPolicyOptions struct {
 	// RequestedPolicyVersion: Optional. The policy format version to be
-	// returned.
-	//
-	// Valid values are 0, 1, and 3. Requests specifying an invalid value
-	// will be
-	// rejected.
-	//
-	// Requests for policies with any conditional bindings must specify
-	// version 3.
-	// Policies without any conditional bindings may specify any valid value
-	// or
-	// leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// returned. Valid values are 0, 1, and 3. Requests specifying an
+	// invalid value will be rejected. Requests for policies with any
+	// conditional bindings must specify version 3. Policies without any
+	// conditional bindings may specify any valid value or leave the field
+	// unset. To learn which resources support conditions in their IAM
+	// policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	RequestedPolicyVersion int64 `json:"requestedPolicyVersion,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -1138,13 +955,12 @@
 // registry.
 type HttpConfig struct {
 	// HttpEnabledState: If enabled, allows devices to use DeviceService via
-	// the HTTP protocol.
-	// Otherwise, any requests to DeviceService will fail for this registry.
+	// the HTTP protocol. Otherwise, any requests to DeviceService will fail
+	// for this registry.
 	//
 	// Possible values:
 	//   "HTTP_STATE_UNSPECIFIED" - No HTTP state specified. If not
-	// specified, DeviceService will be
-	// enabled by default.
+	// specified, DeviceService will be enabled by default.
 	//   "HTTP_ENABLED" - Enables DeviceService (HTTP) service for the
 	// registry.
 	//   "HTTP_DISABLED" - Disables DeviceService (HTTP) service for the
@@ -1179,8 +995,8 @@
 // `ListDeviceConfigVersions`.
 type ListDeviceConfigVersionsResponse struct {
 	// DeviceConfigs: The device configuration for the last few versions.
-	// Versions are listed
-	// in decreasing order, starting from the most recent one.
+	// Versions are listed in decreasing order, starting from the most
+	// recent one.
 	DeviceConfigs []*DeviceConfig `json:"deviceConfigs,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1216,10 +1032,8 @@
 	DeviceRegistries []*DeviceRegistry `json:"deviceRegistries,omitempty"`
 
 	// NextPageToken: If not empty, indicates that there may be more
-	// registries that match the
-	// request; this value should be passed in a
-	// new
-	// `ListDeviceRegistriesRequest`.
+	// registries that match the request; this value should be passed in a
+	// new `ListDeviceRegistriesRequest`.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1253,8 +1067,8 @@
 // ListDeviceStatesResponse: Response for `ListDeviceStates`.
 type ListDeviceStatesResponse struct {
 	// DeviceStates: The last few device states. States are listed in
-	// descending order of server
-	// update time, starting from the most recent one.
+	// descending order of server update time, starting from the most recent
+	// one.
 	DeviceStates []*DeviceState `json:"deviceStates,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1290,8 +1104,8 @@
 	Devices []*Device `json:"devices,omitempty"`
 
 	// NextPageToken: If not empty, indicates that there may be more devices
-	// that match the
-	// request; this value should be passed in a new `ListDevicesRequest`.
+	// that match the request; this value should be passed in a new
+	// `ListDevicesRequest`.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1328,14 +1142,11 @@
 	BinaryData string `json:"binaryData,omitempty"`
 
 	// VersionToUpdate: The version number to update. If this value is zero,
-	// it will not check the
-	// version number of the server and will always update the current
-	// version;
-	// otherwise, this update will fail if the version number found on the
-	// server
-	// does not match this version number. This is used to support
-	// multiple
-	// simultaneous updates without losing data.
+	// it will not check the version number of the server and will always
+	// update the current version; otherwise, this update will fail if the
+	// version number found on the server does not match this version
+	// number. This is used to support multiple simultaneous updates without
+	// losing data.
 	VersionToUpdate int64 `json:"versionToUpdate,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "BinaryData") to
@@ -1364,8 +1175,7 @@
 // MqttConfig: The configuration of MQTT for a device registry.
 type MqttConfig struct {
 	// MqttEnabledState: If enabled, allows connections using the MQTT
-	// protocol. Otherwise, MQTT
-	// connections to this registry will fail.
+	// protocol. Otherwise, MQTT connections to this registry will fail.
 	//
 	// Possible values:
 	//   "MQTT_STATE_UNSPECIFIED" - No MQTT state specified. If not
@@ -1399,150 +1209,73 @@
 }
 
 // Policy: An Identity and Access Management (IAM) policy, which
-// specifies access
-// controls for Google Cloud resources.
-//
-//
-// A `Policy` is a collection of `bindings`. A `binding` binds one or
-// more
-// `members` to a single `role`. Members can be user accounts, service
-// accounts,
+// specifies access controls for Google Cloud resources. A `Policy` is a
+// collection of `bindings`. A `binding` binds one or more `members` to
+// a single `role`. Members can be user accounts, service accounts,
 // Google groups, and domains (such as G Suite). A `role` is a named
-// list of
-// permissions; each `role` can be an IAM predefined role or a
-// user-created
-// custom role.
-//
-// For some types of Google Cloud resources, a `binding` can also
-// specify a
-// `condition`, which is a logical expression that allows access to a
-// resource
-// only if the expression evaluates to `true`. A condition can add
-// constraints
-// based on attributes of the request, the resource, or both. To learn
-// which
-// resources support conditions in their IAM policies, see the
-// [IAM
+// list of permissions; each `role` can be an IAM predefined role or a
+// user-created custom role. For some types of Google Cloud resources, a
+// `binding` can also specify a `condition`, which is a logical
+// expression that allows access to a resource only if the expression
+// evaluates to `true`. A condition can add constraints based on
+// attributes of the request, the resource, or both. To learn which
+// resources support conditions in their IAM policies, see the [IAM
 // documentation](https://cloud.google.com/iam/help/conditions/resource-p
-// olicies).
-//
-// **JSON example:**
-//
-//     {
-//       "bindings": [
-//         {
-//           "role": "roles/resourcemanager.organizationAdmin",
-//           "members": [
-//             "user:mike@example.com",
-//             "group:admins@example.com",
-//             "domain:google.com",
-//
-// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
-//           ]
-//         },
-//         {
-//           "role": "roles/resourcemanager.organizationViewer",
-//           "members": [
-//             "user:eve@example.com"
-//           ],
-//           "condition": {
-//             "title": "expirable access",
-//             "description": "Does not grant access after Sep 2020",
-//             "expression": "request.time <
-// timestamp('2020-10-01T00:00:00.000Z')",
-//           }
-//         }
-//       ],
-//       "etag": "BwWWja0YfJA=",
-//       "version": 3
-//     }
-//
-// **YAML example:**
-//
-//     bindings:
-//     - members:
-//       - user:mike@example.com
-//       - group:admins@example.com
-//       - domain:google.com
-//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
-//       role: roles/resourcemanager.organizationAdmin
-//     - members:
-//       - user:eve@example.com
-//       role: roles/resourcemanager.organizationViewer
-//       condition:
-//         title: expirable access
-//         description: Does not grant access after Sep 2020
-//         expression: request.time <
-// timestamp('2020-10-01T00:00:00.000Z')
-//     - etag: BwWWja0YfJA=
-//     - version: 3
-//
-// For a description of IAM and its features, see the
-// [IAM documentation](https://cloud.google.com/iam/docs/).
+// olicies). **JSON example:** { "bindings": [ { "role":
+// "roles/resourcemanager.organizationAdmin", "members": [
+// "user:mike@example.com", "group:admins@example.com",
+// "domain:google.com",
+// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
+// "role": "roles/resourcemanager.organizationViewer", "members": [
+// "user:eve@example.com" ], "condition": { "title": "expirable access",
+// "description": "Does not grant access after Sep 2020", "expression":
+// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
+// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
+// members: - user:mike@example.com - group:admins@example.com -
+// domain:google.com -
+// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
+// roles/resourcemanager.organizationAdmin - members: -
+// user:eve@example.com role: roles/resourcemanager.organizationViewer
+// condition: title: expirable access description: Does not grant access
+// after Sep 2020 expression: request.time <
+// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
+// 3 For a description of IAM and its features, see the [IAM
+// documentation](https://cloud.google.com/iam/docs/).
 type Policy struct {
 	// Bindings: Associates a list of `members` to a `role`. Optionally, may
-	// specify a
-	// `condition` that determines how and when the `bindings` are applied.
-	// Each
-	// of the `bindings` must contain at least one member.
+	// specify a `condition` that determines how and when the `bindings` are
+	// applied. Each of the `bindings` must contain at least one member.
 	Bindings []*Binding `json:"bindings,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a policy from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform policy updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `getIamPolicy`,
-	// and
-	// systems are expected to put that etag in the request to
-	// `setIamPolicy` to
-	// ensure that their change will be applied to the same version of the
-	// policy.
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
+	// help prevent simultaneous updates of a policy from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform policy updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `getIamPolicy`, and systems are expected to put that etag in the
+	// request to `setIamPolicy` to ensure that their change will be applied
+	// to the same version of the policy. **Important:** If you use IAM
+	// Conditions, you must include the `etag` field whenever you call
+	// `setIamPolicy`. If you omit this field, then IAM allows you to
+	// overwrite a version `3` policy with a version `1` policy, and all of
 	// the conditions in the version `3` policy are lost.
 	Etag string `json:"etag,omitempty"`
 
-	// Version: Specifies the format of the policy.
-	//
-	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
-	// value
-	// are rejected.
-	//
+	// Version: Specifies the format of the policy. Valid values are `0`,
+	// `1`, and `3`. Requests that specify an invalid value are rejected.
 	// Any operation that affects conditional role bindings must specify
-	// version
-	// `3`. This requirement applies to the following operations:
-	//
-	// * Getting a policy that includes a conditional role binding
-	// * Adding a conditional role binding to a policy
-	// * Changing a conditional role binding in a policy
-	// * Removing any role binding, with or without a condition, from a
-	// policy
-	//   that includes conditions
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
-	// the conditions in the version `3` policy are lost.
-	//
-	// If a policy does not include any conditions, operations on that
-	// policy may
-	// specify any valid version or leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see the
-	// [IAM
+	// version `3`. This requirement applies to the following operations: *
+	// Getting a policy that includes a conditional role binding * Adding a
+	// conditional role binding to a policy * Changing a conditional role
+	// binding in a policy * Removing any role binding, with or without a
+	// condition, from a policy that includes conditions **Important:** If
+	// you use IAM Conditions, you must include the `etag` field whenever
+	// you call `setIamPolicy`. If you omit this field, then IAM allows you
+	// to overwrite a version `3` policy with a version `1` policy, and all
+	// of the conditions in the version `3` policy are lost. If a policy
+	// does not include any conditions, operations on that policy may
+	// specify any valid version or leave the field unset. To learn which
+	// resources support conditions in their IAM policies, see the [IAM
 	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
 	// olicies).
 	Version int64 `json:"version,omitempty"`
@@ -1583,13 +1316,12 @@
 	//
 	// Possible values:
 	//   "UNSPECIFIED_PUBLIC_KEY_CERTIFICATE_FORMAT" - The format has not
-	// been specified. This is an invalid default value and
-	// must not be used.
+	// been specified. This is an invalid default value and must not be
+	// used.
 	//   "X509_CERTIFICATE_PEM" - An X.509v3 certificate
-	// ([RFC5280](https://www.ietf.org/rfc/rfc5280.txt)),
-	// encoded in base64, and wrapped by `-----BEGIN CERTIFICATE-----`
-	// and
-	// `-----END CERTIFICATE-----`.
+	// ([RFC5280](https://www.ietf.org/rfc/rfc5280.txt)), encoded in base64,
+	// and wrapped by `-----BEGIN CERTIFICATE-----` and `-----END
+	// CERTIFICATE-----`.
 	Format string `json:"format,omitempty"`
 
 	// X509Details: [Output only] The certificate details. Used only for
@@ -1625,35 +1357,26 @@
 	//
 	// Possible values:
 	//   "UNSPECIFIED_PUBLIC_KEY_FORMAT" - The format has not been
-	// specified. This is an invalid default value and
-	// must not be used.
-	//   "RSA_PEM" - An RSA public key encoded in base64, and wrapped
-	// by
+	// specified. This is an invalid default value and must not be used.
+	//   "RSA_PEM" - An RSA public key encoded in base64, and wrapped by
 	// `-----BEGIN PUBLIC KEY-----` and `-----END PUBLIC KEY-----`. This can
-	// be
-	// used to verify `RS256` signatures in JWT tokens
-	// ([RFC7518](
+	// be used to verify `RS256` signatures in JWT tokens ([RFC7518](
 	// https://www.ietf.org/rfc/rfc7518.txt)).
 	//   "RSA_X509_PEM" - As RSA_PEM, but wrapped in an X.509v3 certificate
-	// ([RFC5280](
-	// https://www.ietf.org/rfc/rfc5280.txt)), encoded in base64, and
-	// wrapped by
-	// `-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----`.
+	// ([RFC5280]( https://www.ietf.org/rfc/rfc5280.txt)), encoded in
+	// base64, and wrapped by `-----BEGIN CERTIFICATE-----` and `-----END
+	// CERTIFICATE-----`.
 	//   "ES256_PEM" - Public key for the ECDSA algorithm using P-256 and
-	// SHA-256, encoded in
-	// base64, and wrapped by `-----BEGIN PUBLIC KEY-----` and
-	// `-----END
-	// PUBLIC KEY-----`. This can be used to verify JWT tokens with the
-	// `ES256`
-	// algorithm ([RFC7518](https://www.ietf.org/rfc/rfc7518.txt)). This
-	// curve is
+	// SHA-256, encoded in base64, and wrapped by `-----BEGIN PUBLIC
+	// KEY-----` and `-----END PUBLIC KEY-----`. This can be used to verify
+	// JWT tokens with the `ES256` algorithm
+	// ([RFC7518](https://www.ietf.org/rfc/rfc7518.txt)). This curve is
 	// defined in [OpenSSL](https://www.openssl.org/) as the `prime256v1`
 	// curve.
 	//   "ES256_X509_PEM" - As ES256_PEM, but wrapped in an X.509v3
-	// certificate ([RFC5280](
-	// https://www.ietf.org/rfc/rfc5280.txt)), encoded in base64, and
-	// wrapped by
-	// `-----BEGIN CERTIFICATE-----` and `-----END CERTIFICATE-----`.
+	// certificate ([RFC5280]( https://www.ietf.org/rfc/rfc5280.txt)),
+	// encoded in base64, and wrapped by `-----BEGIN CERTIFICATE-----` and
+	// `-----END CERTIFICATE-----`.
 	Format string `json:"format,omitempty"`
 
 	// Key: The key data.
@@ -1720,15 +1443,12 @@
 	BinaryData string `json:"binaryData,omitempty"`
 
 	// Subfolder: Optional subfolder for the command. If empty, the command
-	// will be delivered
-	// to the /devices/{device-id}/commands topic, otherwise it will be
-	// delivered
-	// to the /devices/{device-id}/commands/{subfolder} topic.
-	// Multi-level
+	// will be delivered to the /devices/{device-id}/commands topic,
+	// otherwise it will be delivered to the
+	// /devices/{device-id}/commands/{subfolder} topic. Multi-level
 	// subfolders are allowed. This field must not have more than 256
-	// characters,
-	// and must not contain any MQTT wildcards ("+" or "#") or null
-	// characters.
+	// characters, and must not contain any MQTT wildcards ("+" or "#") or
+	// null characters.
 	Subfolder string `json:"subfolder,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "BinaryData") to
@@ -1764,11 +1484,9 @@
 // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
 type SetIamPolicyRequest struct {
 	// Policy: REQUIRED: The complete policy to be applied to the
-	// `resource`. The size of
-	// the policy is limited to a few 10s of KB. An empty policy is a
-	// valid policy but certain Cloud Platform services (such as
-	// Projects)
-	// might reject them.
+	// `resource`. The size of the policy is limited to a few 10s of KB. An
+	// empty policy is a valid policy but certain Cloud Platform services
+	// (such as Projects) might reject them.
 	Policy *Policy `json:"policy,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Policy") to
@@ -1797,8 +1515,7 @@
 // StateNotificationConfig: The configuration for notification of new
 // states received from the device.
 type StateNotificationConfig struct {
-	// PubsubTopicName: A Cloud Pub/Sub topic name. For
-	// example,
+	// PubsubTopicName: A Cloud Pub/Sub topic name. For example,
 	// `projects/myProject/topics/deviceEvents`.
 	PubsubTopicName string `json:"pubsubTopicName,omitempty"`
 
@@ -1827,32 +1544,24 @@
 }
 
 // Status: The `Status` type defines a logical error model that is
-// suitable for
-// different programming environments, including REST APIs and RPC APIs.
-// It is
-// used by [gRPC](https://github.com/grpc). Each `Status` message
-// contains
-// three pieces of data: error code, error message, and error
-// details.
-//
-// You can find out more about this error model and how to work with it
-// in the
-// [API Design Guide](https://cloud.google.com/apis/design/errors).
+// suitable for different programming environments, including REST APIs
+// and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each
+// `Status` message contains three pieces of data: error code, error
+// message, and error details. You can find out more about this error
+// model and how to work with it in the [API Design
+// Guide](https://cloud.google.com/apis/design/errors).
 type Status struct {
 	// Code: The status code, which should be an enum value of
 	// google.rpc.Code.
 	Code int64 `json:"code,omitempty"`
 
-	// Details: A list of messages that carry the error details.  There is a
-	// common set of
-	// message types for APIs to use.
+	// Details: A list of messages that carry the error details. There is a
+	// common set of message types for APIs to use.
 	Details []googleapi.RawMessage `json:"details,omitempty"`
 
 	// Message: 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.
+	// English. Any user-facing error message should be localized and sent
+	// in the google.rpc.Status.details field, or localized by the client.
 	Message string `json:"message,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Code") to
@@ -1882,11 +1591,8 @@
 // method.
 type TestIamPermissionsRequest struct {
 	// Permissions: The set of permissions to check for the `resource`.
-	// Permissions with
-	// wildcards (such as '*' or 'storage.*') are not allowed. For
-	// more
-	// information see
-	// [IAM
+	// Permissions with wildcards (such as '*' or 'storage.*') are not
+	// allowed. For more information see [IAM
 	// Overview](https://cloud.google.com/iam/docs/overview#permissions).
 	Permissions []string `json:"permissions,omitempty"`
 
@@ -1917,8 +1623,7 @@
 // method.
 type TestIamPermissionsResponse struct {
 	// Permissions: A subset of `TestPermissionsRequest.permissions` that
-	// the caller is
-	// allowed.
+	// the caller is allowed.
 	Permissions []string `json:"permissions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1952,15 +1657,12 @@
 // `UnbindDeviceFromGateway`.
 type UnbindDeviceFromGatewayRequest struct {
 	// DeviceId: Required. The device to disassociate from the specified
-	// gateway. The value of
-	// `device_id` can be either the device numeric ID or the user-defined
-	// device
-	// identifier.
+	// gateway. The value of `device_id` can be either the device numeric ID
+	// or the user-defined device identifier.
 	DeviceId string `json:"deviceId,omitempty"`
 
 	// GatewayId: Required. The value of `gateway_id` can be either the
-	// device numeric ID or the
-	// user-defined device identifier.
+	// device numeric ID or the user-defined device identifier.
 	GatewayId string `json:"gatewayId,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "DeviceId") to
@@ -2084,7 +1786,7 @@
 
 func (c *ProjectsLocationsRegistriesBindDeviceToGatewayCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2157,7 +1859,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The name of the registry. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.",
+	//       "description": "Required. The name of the registry. For example, `projects/example-project/locations/us-central1/registries/my-registry`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$",
 	//       "required": true,
@@ -2225,7 +1927,7 @@
 
 func (c *ProjectsLocationsRegistriesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2298,7 +2000,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The project and cloud region where this device registry must be created.\nFor example, `projects/example-project/locations/us-central1`.",
+	//       "description": "Required. The project and cloud region where this device registry must be created. For example, `projects/example-project/locations/us-central1`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
@@ -2364,7 +2066,7 @@
 
 func (c *ProjectsLocationsRegistriesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2432,7 +2134,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the device registry. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.",
+	//       "description": "Required. The name of the device registry. For example, `projects/example-project/locations/us-central1/registries/my-registry`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$",
 	//       "required": true,
@@ -2506,7 +2208,7 @@
 
 func (c *ProjectsLocationsRegistriesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2577,7 +2279,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the device registry. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.",
+	//       "description": "Required. The name of the device registry. For example, `projects/example-project/locations/us-central1/registries/my-registry`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$",
 	//       "required": true,
@@ -2607,9 +2309,8 @@
 	header_             http.Header
 }
 
-// GetIamPolicy: Gets the access control policy for a resource.
-// Returns an empty policy if the resource exists and does not have a
-// policy
+// GetIamPolicy: Gets the access control policy for a resource. Returns
+// an empty policy if the resource exists and does not have a policy
 // set.
 func (r *ProjectsLocationsRegistriesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsRegistriesGetIamPolicyCall {
 	c := &ProjectsLocationsRegistriesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -2645,7 +2346,7 @@
 
 func (c *ProjectsLocationsRegistriesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2709,7 +2410,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
+	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:getIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "cloudiot.projects.locations.registries.getIamPolicy",
@@ -2718,7 +2419,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$",
 	//       "required": true,
@@ -2759,11 +2460,9 @@
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
-// of registries to return in the response. If this value
-// is zero, the service will select a default size. A call may return
-// fewer
-// objects than requested. A non-empty `next_page_token` in the
-// response
+// of registries to return in the response. If this value is zero, the
+// service will select a default size. A call may return fewer objects
+// than requested. A non-empty `next_page_token` in the response
 // indicates that more data is available.
 func (c *ProjectsLocationsRegistriesListCall) PageSize(pageSize int64) *ProjectsLocationsRegistriesListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
@@ -2771,10 +2470,9 @@
 }
 
 // PageToken sets the optional parameter "pageToken": The value returned
-// by the last `ListDeviceRegistriesResponse`; indicates
-// that this is a continuation of a prior `ListDeviceRegistries` call
-// and
-// the system should return the next page of data.
+// by the last `ListDeviceRegistriesResponse`; indicates that this is a
+// continuation of a prior `ListDeviceRegistries` call and the system
+// should return the next page of data.
 func (c *ProjectsLocationsRegistriesListCall) PageToken(pageToken string) *ProjectsLocationsRegistriesListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -2817,7 +2515,7 @@
 
 func (c *ProjectsLocationsRegistriesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2888,18 +2586,18 @@
 	//   ],
 	//   "parameters": {
 	//     "pageSize": {
-	//       "description": "The maximum number of registries to return in the response. If this value\nis zero, the service will select a default size. A call may return fewer\nobjects than requested. A non-empty `next_page_token` in the response\nindicates that more data is available.",
+	//       "description": "The maximum number of registries to return in the response. If this value is zero, the service will select a default size. A call may return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "The value returned by the last `ListDeviceRegistriesResponse`; indicates\nthat this is a continuation of a prior `ListDeviceRegistries` call and\nthe system should return the next page of data.",
+	//       "description": "The value returned by the last `ListDeviceRegistriesResponse`; indicates that this is a continuation of a prior `ListDeviceRegistries` call and the system should return the next page of data.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The project and cloud region path. For example,\n`projects/example-project/locations/us-central1`.",
+	//       "description": "Required. The project and cloud region path. For example, `projects/example-project/locations/us-central1`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
@@ -2959,13 +2657,11 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": Required. Only
-// updates the `device_registry` fields indicated by this mask.
-// The field mask must not be empty, and it must not contain fields
-// that
-// are immutable or only set by the server.
-// Mutable top-level fields: `event_notification_config`,
-// `http_config`,
-// `mqtt_config`, and `state_notification_config`.
+// updates the `device_registry` fields indicated by this mask. The
+// field mask must not be empty, and it must not contain fields that are
+// immutable or only set by the server. Mutable top-level fields:
+// `event_notification_config`, `http_config`, `mqtt_config`, and
+// `state_notification_config`.
 func (c *ProjectsLocationsRegistriesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsRegistriesPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
 	return c
@@ -2998,7 +2694,7 @@
 
 func (c *ProjectsLocationsRegistriesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3071,14 +2767,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The resource path name. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.",
+	//       "description": "The resource path name. For example, `projects/example-project/locations/us-central1/registries/my-registry`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "Required. Only updates the `device_registry` fields indicated by this mask.\nThe field mask must not be empty, and it must not contain fields that\nare immutable or only set by the server.\nMutable top-level fields: `event_notification_config`, `http_config`,\n`mqtt_config`, and `state_notification_config`.",
+	//       "description": "Required. Only updates the `device_registry` fields indicated by this mask. The field mask must not be empty, and it must not contain fields that are immutable or only set by the server. Mutable top-level fields: `event_notification_config`, `http_config`, `mqtt_config`, and `state_notification_config`.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -3111,8 +2807,7 @@
 }
 
 // SetIamPolicy: Sets the access control policy on the specified
-// resource. Replaces any
-// existing policy.
+// resource. Replaces any existing policy.
 func (r *ProjectsLocationsRegistriesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsRegistriesSetIamPolicyCall {
 	c := &ProjectsLocationsRegistriesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -3147,7 +2842,7 @@
 
 func (c *ProjectsLocationsRegistriesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3211,7 +2906,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.",
+	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "cloudiot.projects.locations.registries.setIamPolicy",
@@ -3220,7 +2915,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$",
 	//       "required": true,
@@ -3254,10 +2949,8 @@
 }
 
 // TestIamPermissions: 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.
+// specified resource. If the resource does not exist, this will return
+// an empty set of permissions, not a NOT_FOUND error.
 func (r *ProjectsLocationsRegistriesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsRegistriesTestIamPermissionsCall {
 	c := &ProjectsLocationsRegistriesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -3292,7 +2985,7 @@
 
 func (c *ProjectsLocationsRegistriesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3356,7 +3049,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.",
+	//   "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "cloudiot.projects.locations.registries.testIamPermissions",
@@ -3365,7 +3058,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$",
 	//       "required": true,
@@ -3434,7 +3127,7 @@
 
 func (c *ProjectsLocationsRegistriesUnbindDeviceFromGatewayCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3507,7 +3200,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The name of the registry. For example,\n`projects/example-project/locations/us-central1/registries/my-registry`.",
+	//       "description": "Required. The name of the registry. For example, `projects/example-project/locations/us-central1/registries/my-registry`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$",
 	//       "required": true,
@@ -3575,7 +3268,7 @@
 
 func (c *ProjectsLocationsRegistriesDevicesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3648,7 +3341,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The name of the device registry where this device should be created.\nFor example,\n`projects/example-project/locations/us-central1/registries/my-registry`.",
+	//       "description": "Required. The name of the device registry where this device should be created. For example, `projects/example-project/locations/us-central1/registries/my-registry`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$",
 	//       "required": true,
@@ -3714,7 +3407,7 @@
 
 func (c *ProjectsLocationsRegistriesDevicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3782,7 +3475,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
+	//       "description": "Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$",
 	//       "required": true,
@@ -3820,8 +3513,8 @@
 }
 
 // FieldMask sets the optional parameter "fieldMask": The fields of the
-// `Device` resource to be returned in the response. If the
-// field mask is unset or empty, all fields are returned.
+// `Device` resource to be returned in the response. If the field mask
+// is unset or empty, all fields are returned.
 func (c *ProjectsLocationsRegistriesDevicesGetCall) FieldMask(fieldMask string) *ProjectsLocationsRegistriesDevicesGetCall {
 	c.urlParams_.Set("fieldMask", fieldMask)
 	return c
@@ -3864,7 +3557,7 @@
 
 func (c *ProjectsLocationsRegistriesDevicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3935,13 +3628,13 @@
 	//   ],
 	//   "parameters": {
 	//     "fieldMask": {
-	//       "description": "The fields of the `Device` resource to be returned in the response. If the\nfield mask is unset or empty, all fields are returned.",
+	//       "description": "The fields of the `Device` resource to be returned in the response. If the field mask is unset or empty, all fields are returned.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "Required. The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
+	//       "description": "Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$",
 	//       "required": true,
@@ -3979,16 +3672,16 @@
 }
 
 // DeviceIds sets the optional parameter "deviceIds": A list of device
-// string IDs. For example, `['device0', 'device12']`.
-// If empty, this field is ignored. Maximum IDs: 10,000
+// string IDs. For example, `['device0', 'device12']`. If empty, this
+// field is ignored. Maximum IDs: 10,000
 func (c *ProjectsLocationsRegistriesDevicesListCall) DeviceIds(deviceIds ...string) *ProjectsLocationsRegistriesDevicesListCall {
 	c.urlParams_.SetMulti("deviceIds", append([]string{}, deviceIds...))
 	return c
 }
 
 // DeviceNumIds sets the optional parameter "deviceNumIds": A list of
-// device numeric IDs. If empty, this field is ignored. Maximum
-// IDs: 10,000.
+// device numeric IDs. If empty, this field is ignored. Maximum IDs:
+// 10,000.
 func (c *ProjectsLocationsRegistriesDevicesListCall) DeviceNumIds(deviceNumIds ...uint64) *ProjectsLocationsRegistriesDevicesListCall {
 	var deviceNumIds_ []string
 	for _, v := range deviceNumIds {
@@ -3999,9 +3692,8 @@
 }
 
 // FieldMask sets the optional parameter "fieldMask": The fields of the
-// `Device` resource to be returned in the response. The
-// fields `id` and `num_id` are always returned, along with any
-// other fields specified.
+// `Device` resource to be returned in the response. The fields `id` and
+// `num_id` are always returned, along with any other fields specified.
 func (c *ProjectsLocationsRegistriesDevicesListCall) FieldMask(fieldMask string) *ProjectsLocationsRegistriesDevicesListCall {
 	c.urlParams_.Set("fieldMask", fieldMask)
 	return c
@@ -4009,12 +3701,10 @@
 
 // GatewayListOptionsAssociationsDeviceId sets the optional parameter
 // "gatewayListOptions.associationsDeviceId": If set, returns only the
-// gateways with which the specified device is
-// associated. The device ID can be numeric (`num_id`) or the
-// user-defined
-// string (`id`). For example, if `456` is specified, returns only
-// the
-// gateways to which the device with `num_id` 456 is bound.
+// gateways with which the specified device is associated. The device ID
+// can be numeric (`num_id`) or the user-defined string (`id`). For
+// example, if `456` is specified, returns only the gateways to which
+// the device with `num_id` 456 is bound.
 func (c *ProjectsLocationsRegistriesDevicesListCall) GatewayListOptionsAssociationsDeviceId(gatewayListOptionsAssociationsDeviceId string) *ProjectsLocationsRegistriesDevicesListCall {
 	c.urlParams_.Set("gatewayListOptions.associationsDeviceId", gatewayListOptionsAssociationsDeviceId)
 	return c
@@ -4022,12 +3712,10 @@
 
 // GatewayListOptionsAssociationsGatewayId sets the optional parameter
 // "gatewayListOptions.associationsGatewayId": If set, only devices
-// associated with the specified gateway are returned.
-// The gateway ID can be numeric (`num_id`) or the user-defined
-// string
-// (`id`). For example, if `123` is specified, only devices bound to
-// the
-// gateway with `num_id` 123 are returned.
+// associated with the specified gateway are returned. The gateway ID
+// can be numeric (`num_id`) or the user-defined string (`id`). For
+// example, if `123` is specified, only devices bound to the gateway
+// with `num_id` 123 are returned.
 func (c *ProjectsLocationsRegistriesDevicesListCall) GatewayListOptionsAssociationsGatewayId(gatewayListOptionsAssociationsGatewayId string) *ProjectsLocationsRegistriesDevicesListCall {
 	c.urlParams_.Set("gatewayListOptions.associationsGatewayId", gatewayListOptionsAssociationsGatewayId)
 	return c
@@ -4035,26 +3723,24 @@
 
 // GatewayListOptionsGatewayType sets the optional parameter
 // "gatewayListOptions.gatewayType": If `GATEWAY` is specified, only
-// gateways are returned. If `NON_GATEWAY`
-// is specified, only non-gateway devices are returned.
-// If
-// `GATEWAY_TYPE_UNSPECIFIED` is specified, all devices are returned.
+// gateways are returned. If `NON_GATEWAY` is specified, only
+// non-gateway devices are returned. If `GATEWAY_TYPE_UNSPECIFIED` is
+// specified, all devices are returned.
 //
 // Possible values:
-//   "GATEWAY_TYPE_UNSPECIFIED"
-//   "GATEWAY"
-//   "NON_GATEWAY"
+//   "GATEWAY_TYPE_UNSPECIFIED" - If unspecified, the device is
+// considered a non-gateway device.
+//   "GATEWAY" - The device is a gateway.
+//   "NON_GATEWAY" - The device is not a gateway.
 func (c *ProjectsLocationsRegistriesDevicesListCall) GatewayListOptionsGatewayType(gatewayListOptionsGatewayType string) *ProjectsLocationsRegistriesDevicesListCall {
 	c.urlParams_.Set("gatewayListOptions.gatewayType", gatewayListOptionsGatewayType)
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
-// of devices to return in the response. If this value
-// is zero, the service will select a default size. A call may return
-// fewer
-// objects than requested. A non-empty `next_page_token` in the
-// response
+// of devices to return in the response. If this value is zero, the
+// service will select a default size. A call may return fewer objects
+// than requested. A non-empty `next_page_token` in the response
 // indicates that more data is available.
 func (c *ProjectsLocationsRegistriesDevicesListCall) PageSize(pageSize int64) *ProjectsLocationsRegistriesDevicesListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
@@ -4062,9 +3748,9 @@
 }
 
 // PageToken sets the optional parameter "pageToken": The value returned
-// by the last `ListDevicesResponse`; indicates
-// that this is a continuation of a prior `ListDevices` call and
-// the system should return the next page of data.
+// by the last `ListDevicesResponse`; indicates that this is a
+// continuation of a prior `ListDevices` call and the system should
+// return the next page of data.
 func (c *ProjectsLocationsRegistriesDevicesListCall) PageToken(pageToken string) *ProjectsLocationsRegistriesDevicesListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -4107,7 +3793,7 @@
 
 func (c *ProjectsLocationsRegistriesDevicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4178,57 +3864,62 @@
 	//   ],
 	//   "parameters": {
 	//     "deviceIds": {
-	//       "description": "A list of device string IDs. For example, `['device0', 'device12']`.\nIf empty, this field is ignored. Maximum IDs: 10,000",
+	//       "description": "A list of device string IDs. For example, `['device0', 'device12']`. If empty, this field is ignored. Maximum IDs: 10,000",
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
 	//     },
 	//     "deviceNumIds": {
-	//       "description": "A list of device numeric IDs. If empty, this field is ignored. Maximum\nIDs: 10,000.",
+	//       "description": "A list of device numeric IDs. If empty, this field is ignored. Maximum IDs: 10,000.",
 	//       "format": "uint64",
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
 	//     },
 	//     "fieldMask": {
-	//       "description": "The fields of the `Device` resource to be returned in the response. The\nfields `id` and `num_id` are always returned, along with any\nother fields specified.",
+	//       "description": "The fields of the `Device` resource to be returned in the response. The fields `id` and `num_id` are always returned, along with any other fields specified.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "gatewayListOptions.associationsDeviceId": {
-	//       "description": "If set, returns only the gateways with which the specified device is\nassociated. The device ID can be numeric (`num_id`) or the user-defined\nstring (`id`). For example, if `456` is specified, returns only the\ngateways to which the device with `num_id` 456 is bound.",
+	//       "description": "If set, returns only the gateways with which the specified device is associated. The device ID can be numeric (`num_id`) or the user-defined string (`id`). For example, if `456` is specified, returns only the gateways to which the device with `num_id` 456 is bound.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "gatewayListOptions.associationsGatewayId": {
-	//       "description": "If set, only devices associated with the specified gateway are returned.\nThe gateway ID can be numeric (`num_id`) or the user-defined string\n(`id`). For example, if `123` is specified, only devices bound to the\ngateway with `num_id` 123 are returned.",
+	//       "description": "If set, only devices associated with the specified gateway are returned. The gateway ID can be numeric (`num_id`) or the user-defined string (`id`). For example, if `123` is specified, only devices bound to the gateway with `num_id` 123 are returned.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "gatewayListOptions.gatewayType": {
-	//       "description": "If `GATEWAY` is specified, only gateways are returned. If `NON_GATEWAY`\nis specified, only non-gateway devices are returned. If\n`GATEWAY_TYPE_UNSPECIFIED` is specified, all devices are returned.",
+	//       "description": "If `GATEWAY` is specified, only gateways are returned. If `NON_GATEWAY` is specified, only non-gateway devices are returned. If `GATEWAY_TYPE_UNSPECIFIED` is specified, all devices are returned.",
 	//       "enum": [
 	//         "GATEWAY_TYPE_UNSPECIFIED",
 	//         "GATEWAY",
 	//         "NON_GATEWAY"
 	//       ],
+	//       "enumDescriptions": [
+	//         "If unspecified, the device is considered a non-gateway device.",
+	//         "The device is a gateway.",
+	//         "The device is not a gateway."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "The maximum number of devices to return in the response. If this value\nis zero, the service will select a default size. A call may return fewer\nobjects than requested. A non-empty `next_page_token` in the response\nindicates that more data is available.",
+	//       "description": "The maximum number of devices to return in the response. If this value is zero, the service will select a default size. A call may return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "The value returned by the last `ListDevicesResponse`; indicates\nthat this is a continuation of a prior `ListDevices` call and\nthe system should return the next page of data.",
+	//       "description": "The value returned by the last `ListDevicesResponse`; indicates that this is a continuation of a prior `ListDevices` call and the system should return the next page of data.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The device registry path. Required. For example,\n`projects/my-project/locations/us-central1/registries/my-registry`.",
+	//       "description": "Required. The device registry path. Required. For example, `projects/my-project/locations/us-central1/registries/my-registry`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+$",
 	//       "required": true,
@@ -4280,10 +3971,8 @@
 }
 
 // ModifyCloudToDeviceConfig: Modifies the configuration for the device,
-// which is eventually sent from
-// the Cloud IoT Core servers. Returns the modified configuration
-// version and
-// its metadata.
+// which is eventually sent from the Cloud IoT Core servers. Returns the
+// modified configuration version and its metadata.
 func (r *ProjectsLocationsRegistriesDevicesService) ModifyCloudToDeviceConfig(name string, modifycloudtodeviceconfigrequest *ModifyCloudToDeviceConfigRequest) *ProjectsLocationsRegistriesDevicesModifyCloudToDeviceConfigCall {
 	c := &ProjectsLocationsRegistriesDevicesModifyCloudToDeviceConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4318,7 +4007,7 @@
 
 func (c *ProjectsLocationsRegistriesDevicesModifyCloudToDeviceConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4382,7 +4071,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Modifies the configuration for the device, which is eventually sent from\nthe Cloud IoT Core servers. Returns the modified configuration version and\nits metadata.",
+	//   "description": "Modifies the configuration for the device, which is eventually sent from the Cloud IoT Core servers. Returns the modified configuration version and its metadata.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}:modifyCloudToDeviceConfig",
 	//   "httpMethod": "POST",
 	//   "id": "cloudiot.projects.locations.registries.devices.modifyCloudToDeviceConfig",
@@ -4391,7 +4080,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
+	//       "description": "Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$",
 	//       "required": true,
@@ -4433,11 +4122,10 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": Required. Only
-// updates the `device` fields indicated by this mask.
-// The field mask must not be empty, and it must not contain fields
-// that
-// are immutable or only set by the server.
-// Mutable top-level fields: `credentials`, `blocked`, and `metadata`
+// updates the `device` fields indicated by this mask. The field mask
+// must not be empty, and it must not contain fields that are immutable
+// or only set by the server. Mutable top-level fields: `credentials`,
+// `blocked`, and `metadata`
 func (c *ProjectsLocationsRegistriesDevicesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsRegistriesDevicesPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
 	return c
@@ -4470,7 +4158,7 @@
 
 func (c *ProjectsLocationsRegistriesDevicesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4543,14 +4231,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The resource path name. For example,\n`projects/p1/locations/us-central1/registries/registry0/devices/dev0` or\n`projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`.\nWhen `name` is populated as a response from the service, it always ends\nin the device numeric ID.",
+	//       "description": "The resource path name. For example, `projects/p1/locations/us-central1/registries/registry0/devices/dev0` or `projects/p1/locations/us-central1/registries/registry0/devices/{num_id}`. When `name` is populated as a response from the service, it always ends in the device numeric ID.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "Required. Only updates the `device` fields indicated by this mask.\nThe field mask must not be empty, and it must not contain fields that\nare immutable or only set by the server.\nMutable top-level fields: `credentials`, `blocked`, and `metadata`",
+	//       "description": "Required. Only updates the `device` fields indicated by this mask. The field mask must not be empty, and it must not contain fields that are immutable or only set by the server. Mutable top-level fields: `credentials`, `blocked`, and `metadata`",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -4583,26 +4271,19 @@
 }
 
 // SendCommandToDevice: Sends a command to the specified device. In
-// order for a device to be able
-// to receive commands, it must:
-// 1) be connected to Cloud IoT Core using the MQTT protocol, and
-// 2) be subscribed to the group of MQTT topics specified by
-//    /devices/{device-id}/commands/#. This subscription will receive
-// commands
-//    at the top-level topic /devices/{device-id}/commands as well as
-// commands
-//    for subfolders, like /devices/{device-id}/commands/subfolder.
-//    Note that subscribing to specific subfolders is not supported.
-// If the command could not be delivered to the device, this method
-// will
-// return an error; in particular, if the device is not subscribed,
-// this
-// method will return FAILED_PRECONDITION. Otherwise, this method
-// will
-// return OK. If the subscription is QoS 1, at least once delivery will
-// be
-// guaranteed; for QoS 0, no acknowledgment will be expected from the
-// device.
+// order for a device to be able to receive commands, it must: 1) be
+// connected to Cloud IoT Core using the MQTT protocol, and 2) be
+// subscribed to the group of MQTT topics specified by
+// /devices/{device-id}/commands/#. This subscription will receive
+// commands at the top-level topic /devices/{device-id}/commands as well
+// as commands for subfolders, like
+// /devices/{device-id}/commands/subfolder. Note that subscribing to
+// specific subfolders is not supported. If the command could not be
+// delivered to the device, this method will return an error; in
+// particular, if the device is not subscribed, this method will return
+// FAILED_PRECONDITION. Otherwise, this method will return OK. If the
+// subscription is QoS 1, at least once delivery will be guaranteed; for
+// QoS 0, no acknowledgment will be expected from the device.
 func (r *ProjectsLocationsRegistriesDevicesService) SendCommandToDevice(name string, sendcommandtodevicerequest *SendCommandToDeviceRequest) *ProjectsLocationsRegistriesDevicesSendCommandToDeviceCall {
 	c := &ProjectsLocationsRegistriesDevicesSendCommandToDeviceCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4637,7 +4318,7 @@
 
 func (c *ProjectsLocationsRegistriesDevicesSendCommandToDeviceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4701,7 +4382,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sends a command to the specified device. In order for a device to be able\nto receive commands, it must:\n1) be connected to Cloud IoT Core using the MQTT protocol, and\n2) be subscribed to the group of MQTT topics specified by\n   /devices/{device-id}/commands/#. This subscription will receive commands\n   at the top-level topic /devices/{device-id}/commands as well as commands\n   for subfolders, like /devices/{device-id}/commands/subfolder.\n   Note that subscribing to specific subfolders is not supported.\nIf the command could not be delivered to the device, this method will\nreturn an error; in particular, if the device is not subscribed, this\nmethod will return FAILED_PRECONDITION. Otherwise, this method will\nreturn OK. If the subscription is QoS 1, at least once delivery will be\nguaranteed; for QoS 0, no acknowledgment will be expected from the device.",
+	//   "description": "Sends a command to the specified device. In order for a device to be able to receive commands, it must: 1) be connected to Cloud IoT Core using the MQTT protocol, and 2) be subscribed to the group of MQTT topics specified by /devices/{device-id}/commands/#. This subscription will receive commands at the top-level topic /devices/{device-id}/commands as well as commands for subfolders, like /devices/{device-id}/commands/subfolder. Note that subscribing to specific subfolders is not supported. If the command could not be delivered to the device, this method will return an error; in particular, if the device is not subscribed, this method will return FAILED_PRECONDITION. Otherwise, this method will return OK. If the subscription is QoS 1, at least once delivery will be guaranteed; for QoS 0, no acknowledgment will be expected from the device.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}:sendCommandToDevice",
 	//   "httpMethod": "POST",
 	//   "id": "cloudiot.projects.locations.registries.devices.sendCommandToDevice",
@@ -4710,7 +4391,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
+	//       "description": "Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$",
 	//       "required": true,
@@ -4744,8 +4425,7 @@
 }
 
 // List: Lists the last few versions of the device configuration in
-// descending
-// order (i.e.: newest first).
+// descending order (i.e.: newest first).
 func (r *ProjectsLocationsRegistriesDevicesConfigVersionsService) List(name string) *ProjectsLocationsRegistriesDevicesConfigVersionsListCall {
 	c := &ProjectsLocationsRegistriesDevicesConfigVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4753,10 +4433,9 @@
 }
 
 // NumVersions sets the optional parameter "numVersions": The number of
-// versions to list. Versions are listed in decreasing order of
-// the version number. The maximum number of versions retained is 10. If
-// this
-// value is zero, it will return all the versions available.
+// versions to list. Versions are listed in decreasing order of the
+// version number. The maximum number of versions retained is 10. If
+// this value is zero, it will return all the versions available.
 func (c *ProjectsLocationsRegistriesDevicesConfigVersionsListCall) NumVersions(numVersions int64) *ProjectsLocationsRegistriesDevicesConfigVersionsListCall {
 	c.urlParams_.Set("numVersions", fmt.Sprint(numVersions))
 	return c
@@ -4799,7 +4478,7 @@
 
 func (c *ProjectsLocationsRegistriesDevicesConfigVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4861,7 +4540,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists the last few versions of the device configuration in descending\norder (i.e.: newest first).",
+	//   "description": "Lists the last few versions of the device configuration in descending order (i.e.: newest first).",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}/configVersions",
 	//   "httpMethod": "GET",
 	//   "id": "cloudiot.projects.locations.registries.devices.configVersions.list",
@@ -4870,14 +4549,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
+	//       "description": "Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "numVersions": {
-	//       "description": "The number of versions to list. Versions are listed in decreasing order of\nthe version number. The maximum number of versions retained is 10. If this\nvalue is zero, it will return all the versions available.",
+	//       "description": "The number of versions to list. Versions are listed in decreasing order of the version number. The maximum number of versions retained is 10. If this value is zero, it will return all the versions available.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
@@ -4907,8 +4586,7 @@
 }
 
 // List: Lists the last few versions of the device state in descending
-// order (i.e.:
-// newest first).
+// order (i.e.: newest first).
 func (r *ProjectsLocationsRegistriesDevicesStatesService) List(name string) *ProjectsLocationsRegistriesDevicesStatesListCall {
 	c := &ProjectsLocationsRegistriesDevicesStatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4916,10 +4594,9 @@
 }
 
 // NumStates sets the optional parameter "numStates": The number of
-// states to list. States are listed in descending order of
-// update time. The maximum number of states retained is 10. If
-// this
-// value is zero, it will return all the states available.
+// states to list. States are listed in descending order of update time.
+// The maximum number of states retained is 10. If this value is zero,
+// it will return all the states available.
 func (c *ProjectsLocationsRegistriesDevicesStatesListCall) NumStates(numStates int64) *ProjectsLocationsRegistriesDevicesStatesListCall {
 	c.urlParams_.Set("numStates", fmt.Sprint(numStates))
 	return c
@@ -4962,7 +4639,7 @@
 
 func (c *ProjectsLocationsRegistriesDevicesStatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5024,7 +4701,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists the last few versions of the device state in descending order (i.e.:\nnewest first).",
+	//   "description": "Lists the last few versions of the device state in descending order (i.e.: newest first).",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/devices/{devicesId}/states",
 	//   "httpMethod": "GET",
 	//   "id": "cloudiot.projects.locations.registries.devices.states.list",
@@ -5033,14 +4710,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the device. For example,\n`projects/p0/locations/us-central1/registries/registry0/devices/device0` or\n`projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
+	//       "description": "Required. The name of the device. For example, `projects/p0/locations/us-central1/registries/registry0/devices/device0` or `projects/p0/locations/us-central1/registries/registry0/devices/{num_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/devices/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "numStates": {
-	//       "description": "The number of states to list. States are listed in descending order of\nupdate time. The maximum number of states retained is 10. If this\nvalue is zero, it will return all the states available.",
+	//       "description": "The number of states to list. States are listed in descending order of update time. The maximum number of states retained is 10. If this value is zero, it will return all the states available.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
@@ -5069,9 +4746,8 @@
 	header_             http.Header
 }
 
-// GetIamPolicy: Gets the access control policy for a resource.
-// Returns an empty policy if the resource exists and does not have a
-// policy
+// GetIamPolicy: Gets the access control policy for a resource. Returns
+// an empty policy if the resource exists and does not have a policy
 // set.
 func (r *ProjectsLocationsRegistriesGroupsService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsRegistriesGroupsGetIamPolicyCall {
 	c := &ProjectsLocationsRegistriesGroupsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -5107,7 +4783,7 @@
 
 func (c *ProjectsLocationsRegistriesGroupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5171,7 +4847,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
+	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/groups/{groupsId}:getIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "cloudiot.projects.locations.registries.groups.getIamPolicy",
@@ -5180,7 +4856,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/groups/[^/]+$",
 	//       "required": true,
@@ -5214,8 +4890,7 @@
 }
 
 // SetIamPolicy: Sets the access control policy on the specified
-// resource. Replaces any
-// existing policy.
+// resource. Replaces any existing policy.
 func (r *ProjectsLocationsRegistriesGroupsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsRegistriesGroupsSetIamPolicyCall {
 	c := &ProjectsLocationsRegistriesGroupsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -5250,7 +4925,7 @@
 
 func (c *ProjectsLocationsRegistriesGroupsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5314,7 +4989,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.",
+	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/groups/{groupsId}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "cloudiot.projects.locations.registries.groups.setIamPolicy",
@@ -5323,7 +4998,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/groups/[^/]+$",
 	//       "required": true,
@@ -5357,10 +5032,8 @@
 }
 
 // TestIamPermissions: 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.
+// specified resource. If the resource does not exist, this will return
+// an empty set of permissions, not a NOT_FOUND error.
 func (r *ProjectsLocationsRegistriesGroupsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsRegistriesGroupsTestIamPermissionsCall {
 	c := &ProjectsLocationsRegistriesGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -5395,7 +5068,7 @@
 
 func (c *ProjectsLocationsRegistriesGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5459,7 +5132,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.",
+	//   "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/registries/{registriesId}/groups/{groupsId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "cloudiot.projects.locations.registries.groups.testIamPermissions",
@@ -5468,7 +5141,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/groups/[^/]+$",
 	//       "required": true,
@@ -5509,16 +5182,16 @@
 }
 
 // DeviceIds sets the optional parameter "deviceIds": A list of device
-// string IDs. For example, `['device0', 'device12']`.
-// If empty, this field is ignored. Maximum IDs: 10,000
+// string IDs. For example, `['device0', 'device12']`. If empty, this
+// field is ignored. Maximum IDs: 10,000
 func (c *ProjectsLocationsRegistriesGroupsDevicesListCall) DeviceIds(deviceIds ...string) *ProjectsLocationsRegistriesGroupsDevicesListCall {
 	c.urlParams_.SetMulti("deviceIds", append([]string{}, deviceIds...))
 	return c
 }
 
 // DeviceNumIds sets the optional parameter "deviceNumIds": A list of
-// device numeric IDs. If empty, this field is ignored. Maximum
-// IDs: 10,000.
+// device numeric IDs. If empty, this field is ignored. Maximum IDs:
+// 10,000.
 func (c *ProjectsLocationsRegistriesGroupsDevicesListCall) DeviceNumIds(deviceNumIds ...uint64) *ProjectsLocationsRegistriesGroupsDevicesListCall {
 	var deviceNumIds_ []string
 	for _, v := range deviceNumIds {
@@ -5529,9 +5202,8 @@
 }
 
 // FieldMask sets the optional parameter "fieldMask": The fields of the
-// `Device` resource to be returned in the response. The
-// fields `id` and `num_id` are always returned, along with any
-// other fields specified.
+// `Device` resource to be returned in the response. The fields `id` and
+// `num_id` are always returned, along with any other fields specified.
 func (c *ProjectsLocationsRegistriesGroupsDevicesListCall) FieldMask(fieldMask string) *ProjectsLocationsRegistriesGroupsDevicesListCall {
 	c.urlParams_.Set("fieldMask", fieldMask)
 	return c
@@ -5539,12 +5211,10 @@
 
 // GatewayListOptionsAssociationsDeviceId sets the optional parameter
 // "gatewayListOptions.associationsDeviceId": If set, returns only the
-// gateways with which the specified device is
-// associated. The device ID can be numeric (`num_id`) or the
-// user-defined
-// string (`id`). For example, if `456` is specified, returns only
-// the
-// gateways to which the device with `num_id` 456 is bound.
+// gateways with which the specified device is associated. The device ID
+// can be numeric (`num_id`) or the user-defined string (`id`). For
+// example, if `456` is specified, returns only the gateways to which
+// the device with `num_id` 456 is bound.
 func (c *ProjectsLocationsRegistriesGroupsDevicesListCall) GatewayListOptionsAssociationsDeviceId(gatewayListOptionsAssociationsDeviceId string) *ProjectsLocationsRegistriesGroupsDevicesListCall {
 	c.urlParams_.Set("gatewayListOptions.associationsDeviceId", gatewayListOptionsAssociationsDeviceId)
 	return c
@@ -5552,12 +5222,10 @@
 
 // GatewayListOptionsAssociationsGatewayId sets the optional parameter
 // "gatewayListOptions.associationsGatewayId": If set, only devices
-// associated with the specified gateway are returned.
-// The gateway ID can be numeric (`num_id`) or the user-defined
-// string
-// (`id`). For example, if `123` is specified, only devices bound to
-// the
-// gateway with `num_id` 123 are returned.
+// associated with the specified gateway are returned. The gateway ID
+// can be numeric (`num_id`) or the user-defined string (`id`). For
+// example, if `123` is specified, only devices bound to the gateway
+// with `num_id` 123 are returned.
 func (c *ProjectsLocationsRegistriesGroupsDevicesListCall) GatewayListOptionsAssociationsGatewayId(gatewayListOptionsAssociationsGatewayId string) *ProjectsLocationsRegistriesGroupsDevicesListCall {
 	c.urlParams_.Set("gatewayListOptions.associationsGatewayId", gatewayListOptionsAssociationsGatewayId)
 	return c
@@ -5565,26 +5233,24 @@
 
 // GatewayListOptionsGatewayType sets the optional parameter
 // "gatewayListOptions.gatewayType": If `GATEWAY` is specified, only
-// gateways are returned. If `NON_GATEWAY`
-// is specified, only non-gateway devices are returned.
-// If
-// `GATEWAY_TYPE_UNSPECIFIED` is specified, all devices are returned.
+// gateways are returned. If `NON_GATEWAY` is specified, only
+// non-gateway devices are returned. If `GATEWAY_TYPE_UNSPECIFIED` is
+// specified, all devices are returned.
 //
 // Possible values:
-//   "GATEWAY_TYPE_UNSPECIFIED"
-//   "GATEWAY"
-//   "NON_GATEWAY"
+//   "GATEWAY_TYPE_UNSPECIFIED" - If unspecified, the device is
+// considered a non-gateway device.
+//   "GATEWAY" - The device is a gateway.
+//   "NON_GATEWAY" - The device is not a gateway.
 func (c *ProjectsLocationsRegistriesGroupsDevicesListCall) GatewayListOptionsGatewayType(gatewayListOptionsGatewayType string) *ProjectsLocationsRegistriesGroupsDevicesListCall {
 	c.urlParams_.Set("gatewayListOptions.gatewayType", gatewayListOptionsGatewayType)
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
-// of devices to return in the response. If this value
-// is zero, the service will select a default size. A call may return
-// fewer
-// objects than requested. A non-empty `next_page_token` in the
-// response
+// of devices to return in the response. If this value is zero, the
+// service will select a default size. A call may return fewer objects
+// than requested. A non-empty `next_page_token` in the response
 // indicates that more data is available.
 func (c *ProjectsLocationsRegistriesGroupsDevicesListCall) PageSize(pageSize int64) *ProjectsLocationsRegistriesGroupsDevicesListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
@@ -5592,9 +5258,9 @@
 }
 
 // PageToken sets the optional parameter "pageToken": The value returned
-// by the last `ListDevicesResponse`; indicates
-// that this is a continuation of a prior `ListDevices` call and
-// the system should return the next page of data.
+// by the last `ListDevicesResponse`; indicates that this is a
+// continuation of a prior `ListDevices` call and the system should
+// return the next page of data.
 func (c *ProjectsLocationsRegistriesGroupsDevicesListCall) PageToken(pageToken string) *ProjectsLocationsRegistriesGroupsDevicesListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -5637,7 +5303,7 @@
 
 func (c *ProjectsLocationsRegistriesGroupsDevicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5708,57 +5374,62 @@
 	//   ],
 	//   "parameters": {
 	//     "deviceIds": {
-	//       "description": "A list of device string IDs. For example, `['device0', 'device12']`.\nIf empty, this field is ignored. Maximum IDs: 10,000",
+	//       "description": "A list of device string IDs. For example, `['device0', 'device12']`. If empty, this field is ignored. Maximum IDs: 10,000",
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
 	//     },
 	//     "deviceNumIds": {
-	//       "description": "A list of device numeric IDs. If empty, this field is ignored. Maximum\nIDs: 10,000.",
+	//       "description": "A list of device numeric IDs. If empty, this field is ignored. Maximum IDs: 10,000.",
 	//       "format": "uint64",
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
 	//     },
 	//     "fieldMask": {
-	//       "description": "The fields of the `Device` resource to be returned in the response. The\nfields `id` and `num_id` are always returned, along with any\nother fields specified.",
+	//       "description": "The fields of the `Device` resource to be returned in the response. The fields `id` and `num_id` are always returned, along with any other fields specified.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "gatewayListOptions.associationsDeviceId": {
-	//       "description": "If set, returns only the gateways with which the specified device is\nassociated. The device ID can be numeric (`num_id`) or the user-defined\nstring (`id`). For example, if `456` is specified, returns only the\ngateways to which the device with `num_id` 456 is bound.",
+	//       "description": "If set, returns only the gateways with which the specified device is associated. The device ID can be numeric (`num_id`) or the user-defined string (`id`). For example, if `456` is specified, returns only the gateways to which the device with `num_id` 456 is bound.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "gatewayListOptions.associationsGatewayId": {
-	//       "description": "If set, only devices associated with the specified gateway are returned.\nThe gateway ID can be numeric (`num_id`) or the user-defined string\n(`id`). For example, if `123` is specified, only devices bound to the\ngateway with `num_id` 123 are returned.",
+	//       "description": "If set, only devices associated with the specified gateway are returned. The gateway ID can be numeric (`num_id`) or the user-defined string (`id`). For example, if `123` is specified, only devices bound to the gateway with `num_id` 123 are returned.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "gatewayListOptions.gatewayType": {
-	//       "description": "If `GATEWAY` is specified, only gateways are returned. If `NON_GATEWAY`\nis specified, only non-gateway devices are returned. If\n`GATEWAY_TYPE_UNSPECIFIED` is specified, all devices are returned.",
+	//       "description": "If `GATEWAY` is specified, only gateways are returned. If `NON_GATEWAY` is specified, only non-gateway devices are returned. If `GATEWAY_TYPE_UNSPECIFIED` is specified, all devices are returned.",
 	//       "enum": [
 	//         "GATEWAY_TYPE_UNSPECIFIED",
 	//         "GATEWAY",
 	//         "NON_GATEWAY"
 	//       ],
+	//       "enumDescriptions": [
+	//         "If unspecified, the device is considered a non-gateway device.",
+	//         "The device is a gateway.",
+	//         "The device is not a gateway."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "The maximum number of devices to return in the response. If this value\nis zero, the service will select a default size. A call may return fewer\nobjects than requested. A non-empty `next_page_token` in the response\nindicates that more data is available.",
+	//       "description": "The maximum number of devices to return in the response. If this value is zero, the service will select a default size. A call may return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "The value returned by the last `ListDevicesResponse`; indicates\nthat this is a continuation of a prior `ListDevices` call and\nthe system should return the next page of data.",
+	//       "description": "The value returned by the last `ListDevicesResponse`; indicates that this is a continuation of a prior `ListDevices` call and the system should return the next page of data.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The device registry path. Required. For example,\n`projects/my-project/locations/us-central1/registries/my-registry`.",
+	//       "description": "Required. The device registry path. Required. For example, `projects/my-project/locations/us-central1/registries/my-registry`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/registries/[^/]+/groups/[^/]+$",
 	//       "required": true,
diff --git a/cloudkms/v1/cloudkms-gen.go b/cloudkms/v1/cloudkms-gen.go
index ef2dbd3..c162ee2 100644
--- a/cloudkms/v1/cloudkms-gen.go
+++ b/cloudkms/v1/cloudkms-gen.go
@@ -2320,7 +2320,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2487,7 +2487,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2668,7 +2668,7 @@
 
 func (c *ProjectsLocationsKeyRingsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2823,7 +2823,7 @@
 
 func (c *ProjectsLocationsKeyRingsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2985,7 +2985,7 @@
 
 func (c *ProjectsLocationsKeyRingsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3173,7 +3173,7 @@
 
 func (c *ProjectsLocationsKeyRingsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3353,7 +3353,7 @@
 
 func (c *ProjectsLocationsKeyRingsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3499,7 +3499,7 @@
 
 func (c *ProjectsLocationsKeyRingsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3659,7 +3659,7 @@
 
 func (c *ProjectsLocationsKeyRingsCryptoKeysCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3811,7 +3811,7 @@
 
 func (c *ProjectsLocationsKeyRingsCryptoKeysDecryptCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3953,7 +3953,7 @@
 
 func (c *ProjectsLocationsKeyRingsCryptoKeysEncryptCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4104,7 +4104,7 @@
 
 func (c *ProjectsLocationsKeyRingsCryptoKeysGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4266,7 +4266,7 @@
 
 func (c *ProjectsLocationsKeyRingsCryptoKeysGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4467,7 +4467,7 @@
 
 func (c *ProjectsLocationsKeyRingsCryptoKeysListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4665,7 +4665,7 @@
 
 func (c *ProjectsLocationsKeyRingsCryptoKeysPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4814,7 +4814,7 @@
 
 func (c *ProjectsLocationsKeyRingsCryptoKeysSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4960,7 +4960,7 @@
 
 func (c *ProjectsLocationsKeyRingsCryptoKeysTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5102,7 +5102,7 @@
 
 func (c *ProjectsLocationsKeyRingsCryptoKeysUpdatePrimaryVersionCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5245,7 +5245,7 @@
 
 func (c *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsAsymmetricDecryptCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5388,7 +5388,7 @@
 
 func (c *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsAsymmetricSignCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5531,7 +5531,7 @@
 
 func (c *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5678,7 +5678,7 @@
 
 func (c *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsDestroyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5828,7 +5828,7 @@
 
 func (c *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5974,7 +5974,7 @@
 
 func (c *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsGetPublicKeyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6112,7 +6112,7 @@
 
 func (c *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsImportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6312,7 +6312,7 @@
 
 func (c *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6513,7 +6513,7 @@
 
 func (c *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6662,7 +6662,7 @@
 
 func (c *ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRestoreCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6812,7 +6812,7 @@
 
 func (c *ProjectsLocationsKeyRingsImportJobsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6967,7 +6967,7 @@
 
 func (c *ProjectsLocationsKeyRingsImportJobsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7129,7 +7129,7 @@
 
 func (c *ProjectsLocationsKeyRingsImportJobsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7317,7 +7317,7 @@
 
 func (c *ProjectsLocationsKeyRingsImportJobsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7497,7 +7497,7 @@
 
 func (c *ProjectsLocationsKeyRingsImportJobsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7643,7 +7643,7 @@
 
 func (c *ProjectsLocationsKeyRingsImportJobsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/cloudprofiler/v2/cloudprofiler-gen.go b/cloudprofiler/v2/cloudprofiler-gen.go
index 447189a..8c14d9e 100644
--- a/cloudprofiler/v2/cloudprofiler-gen.go
+++ b/cloudprofiler/v2/cloudprofiler-gen.go
@@ -407,7 +407,7 @@
 
 func (c *ProjectsProfilesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -551,7 +551,7 @@
 
 func (c *ProjectsProfilesCreateOfflineCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -706,7 +706,7 @@
 
 func (c *ProjectsProfilesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/cloudresourcemanager/v1/cloudresourcemanager-api.json b/cloudresourcemanager/v1/cloudresourcemanager-api.json
index 265cef4..5758313 100644
--- a/cloudresourcemanager/v1/cloudresourcemanager-api.json
+++ b/cloudresourcemanager/v1/cloudresourcemanager-api.json
@@ -941,7 +941,7 @@
           ]
         },
         "list": {
-          "description": "Lists Projects that the caller has the `resourcemanager.projects.get` permission on and satisfy the specified filter. This method returns Projects in an unspecified order. This method is eventually consistent with project mutations; this means that a newly created project may not appear in the results or recent updates to an existing project may not be reflected in the results. To retrieve the latest state of a project, use the GetProject method. NOTE: If the request filter contains a `parent.type` and `parent.id` and the caller has the `resourcemanager.projects.list` permission on the parent, the results will be drawn from an alternate index which provides more consistent results. In future versions of this API, this List method will be split into List and Search to properly capture the behavorial difference.",
+          "description": "Lists Projects that the caller has the `resourcemanager.projects.get` permission on and satisfy the specified filter. This method returns Projects in an unspecified order. This method is eventually consistent with project mutations; this means that a newly created project may not appear in the results or recent updates to an existing project may not be reflected in the results. To retrieve the latest state of a project, use the GetProject method. NOTE: If the request filter contains a `parent.type` and `parent.id` and the caller has the `resourcemanager.projects.list` permission on the parent, the results will be drawn from an alternate index which provides more consistent results. In future versions of this API, this List method will be split into List and Search to properly capture the behavioral difference.",
           "flatPath": "v1/projects",
           "httpMethod": "GET",
           "id": "cloudresourcemanager.projects.list",
@@ -1171,7 +1171,7 @@
       }
     }
   },
-  "revision": "20200720",
+  "revision": "20200812",
   "rootUrl": "https://cloudresourcemanager.googleapis.com/",
   "schemas": {
     "Ancestor": {
diff --git a/cloudresourcemanager/v1/cloudresourcemanager-gen.go b/cloudresourcemanager/v1/cloudresourcemanager-gen.go
index cd4261a..1057ceb 100644
--- a/cloudresourcemanager/v1/cloudresourcemanager-gen.go
+++ b/cloudresourcemanager/v1/cloudresourcemanager-gen.go
@@ -2179,7 +2179,7 @@
 
 func (c *FoldersClearOrgPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2323,7 +2323,7 @@
 
 func (c *FoldersGetEffectiveOrgPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2468,7 +2468,7 @@
 
 func (c *FoldersGetOrgPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2610,7 +2610,7 @@
 
 func (c *FoldersListAvailableOrgPolicyConstraintsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2775,7 +2775,7 @@
 
 func (c *FoldersListOrgPoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2940,7 +2940,7 @@
 
 func (c *FoldersSetOrgPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3082,7 +3082,7 @@
 
 func (c *LiensCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3211,7 +3211,7 @@
 
 func (c *LiensDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3357,7 +3357,7 @@
 
 func (c *LiensGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3528,7 +3528,7 @@
 
 func (c *LiensListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3700,7 +3700,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3836,7 +3836,7 @@
 
 func (c *OrganizationsClearOrgPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3986,7 +3986,7 @@
 
 func (c *OrganizationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4126,7 +4126,7 @@
 
 func (c *OrganizationsGetEffectiveOrgPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4272,7 +4272,7 @@
 
 func (c *OrganizationsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4417,7 +4417,7 @@
 
 func (c *OrganizationsGetOrgPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4559,7 +4559,7 @@
 
 func (c *OrganizationsListAvailableOrgPolicyConstraintsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4724,7 +4724,7 @@
 
 func (c *OrganizationsListOrgPoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4888,7 +4888,7 @@
 
 func (c *OrganizationsSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5042,7 +5042,7 @@
 
 func (c *OrganizationsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5185,7 +5185,7 @@
 
 func (c *OrganizationsSetOrgPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5328,7 +5328,7 @@
 
 func (c *OrganizationsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5469,7 +5469,7 @@
 
 func (c *ProjectsClearOrgPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5618,7 +5618,7 @@
 
 func (c *ProjectsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5754,7 +5754,7 @@
 
 func (c *ProjectsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5896,7 +5896,7 @@
 
 func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6034,7 +6034,7 @@
 
 func (c *ProjectsGetAncestryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6178,7 +6178,7 @@
 
 func (c *ProjectsGetEffectiveOrgPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6325,7 +6325,7 @@
 
 func (c *ProjectsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6469,7 +6469,7 @@
 
 func (c *ProjectsGetOrgPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6586,7 +6586,7 @@
 // `resourcemanager.projects.list` permission on the parent, the results
 // will be drawn from an alternate index which provides more consistent
 // results. In future versions of this API, this List method will be
-// split into List and Search to properly capture the behavorial
+// split into List and Search to properly capture the behavioral
 // difference.
 func (r *ProjectsService) List() *ProjectsListCall {
 	c := &ProjectsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -6676,7 +6676,7 @@
 
 func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6735,7 +6735,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists Projects that the caller has the `resourcemanager.projects.get` permission on and satisfy the specified filter. This method returns Projects in an unspecified order. This method is eventually consistent with project mutations; this means that a newly created project may not appear in the results or recent updates to an existing project may not be reflected in the results. To retrieve the latest state of a project, use the GetProject method. NOTE: If the request filter contains a `parent.type` and `parent.id` and the caller has the `resourcemanager.projects.list` permission on the parent, the results will be drawn from an alternate index which provides more consistent results. In future versions of this API, this List method will be split into List and Search to properly capture the behavorial difference.",
+	//   "description": "Lists Projects that the caller has the `resourcemanager.projects.get` permission on and satisfy the specified filter. This method returns Projects in an unspecified order. This method is eventually consistent with project mutations; this means that a newly created project may not appear in the results or recent updates to an existing project may not be reflected in the results. To retrieve the latest state of a project, use the GetProject method. NOTE: If the request filter contains a `parent.type` and `parent.id` and the caller has the `resourcemanager.projects.list` permission on the parent, the results will be drawn from an alternate index which provides more consistent results. In future versions of this API, this List method will be split into List and Search to properly capture the behavioral difference.",
 	//   "flatPath": "v1/projects",
 	//   "httpMethod": "GET",
 	//   "id": "cloudresourcemanager.projects.list",
@@ -6838,7 +6838,7 @@
 
 func (c *ProjectsListAvailableOrgPolicyConstraintsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7003,7 +7003,7 @@
 
 func (c *ProjectsListOrgPoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7201,7 +7201,7 @@
 
 func (c *ProjectsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7343,7 +7343,7 @@
 
 func (c *ProjectsSetOrgPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7487,7 +7487,7 @@
 
 func (c *ProjectsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7631,7 +7631,7 @@
 
 func (c *ProjectsUndeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7772,7 +7772,7 @@
 
 func (c *ProjectsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json b/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json
index edec22d..12c9cfe 100644
--- a/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json
+++ b/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json
@@ -422,7 +422,7 @@
           ]
         },
         "list": {
-          "description": "Lists Projects that the caller has the `resourcemanager.projects.get` permission on and satisfy the specified filter. This method returns Projects in an unspecified order. This method is eventually consistent with project mutations; this means that a newly created project may not appear in the results or recent updates to an existing project may not be reflected in the results. To retrieve the latest state of a project, use the GetProject method. NOTE: If the request filter contains a `parent.type` and `parent.id` and the caller has the `resourcemanager.projects.list` permission on the parent, the results will be drawn from an alternate index which provides more consistent results. In future versions of this API, this List method will be split into List and Search to properly capture the behavorial difference.",
+          "description": "Lists Projects that the caller has the `resourcemanager.projects.get` permission on and satisfy the specified filter. This method returns Projects in an unspecified order. This method is eventually consistent with project mutations; this means that a newly created project may not appear in the results or recent updates to an existing project may not be reflected in the results. To retrieve the latest state of a project, use the GetProject method. NOTE: If the request filter contains a `parent.type` and `parent.id` and the caller has the `resourcemanager.projects.list` permission on the parent, the results will be drawn from an alternate index which provides more consistent results. In future versions of this API, this List method will be split into List and Search to properly capture the behavioral difference.",
           "flatPath": "v1beta1/projects",
           "httpMethod": "GET",
           "id": "cloudresourcemanager.projects.list",
@@ -566,7 +566,7 @@
       }
     }
   },
-  "revision": "20200720",
+  "revision": "20200812",
   "rootUrl": "https://cloudresourcemanager.googleapis.com/",
   "schemas": {
     "Ancestor": {
diff --git a/cloudresourcemanager/v1beta1/cloudresourcemanager-gen.go b/cloudresourcemanager/v1beta1/cloudresourcemanager-gen.go
index 1d1a664..f99c7d0 100644
--- a/cloudresourcemanager/v1beta1/cloudresourcemanager-gen.go
+++ b/cloudresourcemanager/v1beta1/cloudresourcemanager-gen.go
@@ -1259,7 +1259,7 @@
 
 func (c *OrganizationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1403,7 +1403,7 @@
 
 func (c *OrganizationsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1583,7 +1583,7 @@
 
 func (c *OrganizationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1746,7 +1746,7 @@
 
 func (c *OrganizationsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1888,7 +1888,7 @@
 
 func (c *OrganizationsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2030,7 +2030,7 @@
 
 func (c *OrganizationsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2184,7 +2184,7 @@
 
 func (c *ProjectsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2326,7 +2326,7 @@
 
 func (c *ProjectsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2468,7 +2468,7 @@
 
 func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2606,7 +2606,7 @@
 
 func (c *ProjectsGetAncestryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2749,7 +2749,7 @@
 
 func (c *ProjectsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2865,7 +2865,7 @@
 // `resourcemanager.projects.list` permission on the parent, the results
 // will be drawn from an alternate index which provides more consistent
 // results. In future versions of this API, this List method will be
-// split into List and Search to properly capture the behavorial
+// split into List and Search to properly capture the behavioral
 // difference.
 func (r *ProjectsService) List() *ProjectsListCall {
 	c := &ProjectsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -2953,7 +2953,7 @@
 
 func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3012,7 +3012,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists Projects that the caller has the `resourcemanager.projects.get` permission on and satisfy the specified filter. This method returns Projects in an unspecified order. This method is eventually consistent with project mutations; this means that a newly created project may not appear in the results or recent updates to an existing project may not be reflected in the results. To retrieve the latest state of a project, use the GetProject method. NOTE: If the request filter contains a `parent.type` and `parent.id` and the caller has the `resourcemanager.projects.list` permission on the parent, the results will be drawn from an alternate index which provides more consistent results. In future versions of this API, this List method will be split into List and Search to properly capture the behavorial difference.",
+	//   "description": "Lists Projects that the caller has the `resourcemanager.projects.get` permission on and satisfy the specified filter. This method returns Projects in an unspecified order. This method is eventually consistent with project mutations; this means that a newly created project may not appear in the results or recent updates to an existing project may not be reflected in the results. To retrieve the latest state of a project, use the GetProject method. NOTE: If the request filter contains a `parent.type` and `parent.id` and the caller has the `resourcemanager.projects.list` permission on the parent, the results will be drawn from an alternate index which provides more consistent results. In future versions of this API, this List method will be split into List and Search to properly capture the behavioral difference.",
 	//   "flatPath": "v1beta1/projects",
 	//   "httpMethod": "GET",
 	//   "id": "cloudresourcemanager.projects.list",
@@ -3144,7 +3144,7 @@
 
 func (c *ProjectsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3284,7 +3284,7 @@
 
 func (c *ProjectsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3428,7 +3428,7 @@
 
 func (c *ProjectsUndeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3569,7 +3569,7 @@
 
 func (c *ProjectsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/cloudresourcemanager/v2/cloudresourcemanager-api.json b/cloudresourcemanager/v2/cloudresourcemanager-api.json
index ed42912..d94770b 100644
--- a/cloudresourcemanager/v2/cloudresourcemanager-api.json
+++ b/cloudresourcemanager/v2/cloudresourcemanager-api.json
@@ -450,7 +450,7 @@
       }
     }
   },
-  "revision": "20200720",
+  "revision": "20200812",
   "rootUrl": "https://cloudresourcemanager.googleapis.com/",
   "schemas": {
     "AuditConfig": {
@@ -553,6 +553,7 @@
         "createTime": {
           "description": "Output only. Timestamp when the Folder was created. Assigned by the server.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "displayName": {
@@ -571,10 +572,12 @@
             "The normal and active state.",
             "The folder has been marked for deletion by the user."
           ],
+          "readOnly": true,
           "type": "string"
         },
         "name": {
           "description": "Output only. The resource name of the Folder. Its format is `folders/{folder_id}`, for example: \"folders/1234\".",
+          "readOnly": true,
           "type": "string"
         },
         "parent": {
diff --git a/cloudresourcemanager/v2/cloudresourcemanager-gen.go b/cloudresourcemanager/v2/cloudresourcemanager-gen.go
index 270179a..064b1e3 100644
--- a/cloudresourcemanager/v2/cloudresourcemanager-gen.go
+++ b/cloudresourcemanager/v2/cloudresourcemanager-gen.go
@@ -1202,7 +1202,7 @@
 
 func (c *FoldersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1338,7 +1338,7 @@
 
 func (c *FoldersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1482,7 +1482,7 @@
 
 func (c *FoldersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1623,7 +1623,7 @@
 
 func (c *FoldersGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1810,7 +1810,7 @@
 
 func (c *FoldersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1989,7 +1989,7 @@
 
 func (c *FoldersMoveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2147,7 +2147,7 @@
 
 func (c *FoldersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2295,7 +2295,7 @@
 
 func (c *FoldersSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2448,7 +2448,7 @@
 
 func (c *FoldersSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2591,7 +2591,7 @@
 
 func (c *FoldersTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2738,7 +2738,7 @@
 
 func (c *FoldersUndeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2889,7 +2889,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/cloudresourcemanager/v2beta1/cloudresourcemanager-api.json b/cloudresourcemanager/v2beta1/cloudresourcemanager-api.json
index f39c865..616689d 100644
--- a/cloudresourcemanager/v2beta1/cloudresourcemanager-api.json
+++ b/cloudresourcemanager/v2beta1/cloudresourcemanager-api.json
@@ -450,7 +450,7 @@
       }
     }
   },
-  "revision": "20200720",
+  "revision": "20200812",
   "rootUrl": "https://cloudresourcemanager.googleapis.com/",
   "schemas": {
     "AuditConfig": {
@@ -553,6 +553,7 @@
         "createTime": {
           "description": "Output only. Timestamp when the Folder was created. Assigned by the server.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "displayName": {
@@ -571,10 +572,12 @@
             "The normal and active state.",
             "The folder has been marked for deletion by the user."
           ],
+          "readOnly": true,
           "type": "string"
         },
         "name": {
           "description": "Output only. The resource name of the Folder. Its format is `folders/{folder_id}`, for example: \"folders/1234\".",
+          "readOnly": true,
           "type": "string"
         },
         "parent": {
diff --git a/cloudresourcemanager/v2beta1/cloudresourcemanager-gen.go b/cloudresourcemanager/v2beta1/cloudresourcemanager-gen.go
index ea1f9dd..ad61358 100644
--- a/cloudresourcemanager/v2beta1/cloudresourcemanager-gen.go
+++ b/cloudresourcemanager/v2beta1/cloudresourcemanager-gen.go
@@ -1202,7 +1202,7 @@
 
 func (c *FoldersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1338,7 +1338,7 @@
 
 func (c *FoldersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1482,7 +1482,7 @@
 
 func (c *FoldersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1623,7 +1623,7 @@
 
 func (c *FoldersGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1810,7 +1810,7 @@
 
 func (c *FoldersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1989,7 +1989,7 @@
 
 func (c *FoldersMoveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2147,7 +2147,7 @@
 
 func (c *FoldersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2295,7 +2295,7 @@
 
 func (c *FoldersSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2448,7 +2448,7 @@
 
 func (c *FoldersSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2591,7 +2591,7 @@
 
 func (c *FoldersTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2738,7 +2738,7 @@
 
 func (c *FoldersUndeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2889,7 +2889,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/cloudscheduler/v1/cloudscheduler-gen.go b/cloudscheduler/v1/cloudscheduler-gen.go
index 57033c7..6e22dd8 100644
--- a/cloudscheduler/v1/cloudscheduler-gen.go
+++ b/cloudscheduler/v1/cloudscheduler-gen.go
@@ -1316,7 +1316,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1482,7 +1482,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1654,7 +1654,7 @@
 
 func (c *ProjectsLocationsJobsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1792,7 +1792,7 @@
 
 func (c *ProjectsLocationsJobsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1933,7 +1933,7 @@
 
 func (c *ProjectsLocationsJobsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2104,7 +2104,7 @@
 
 func (c *ProjectsLocationsJobsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2287,7 +2287,7 @@
 
 func (c *ProjectsLocationsJobsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2440,7 +2440,7 @@
 
 func (c *ProjectsLocationsJobsPauseCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2587,7 +2587,7 @@
 
 func (c *ProjectsLocationsJobsResumeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2731,7 +2731,7 @@
 
 func (c *ProjectsLocationsJobsRunCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/cloudscheduler/v1beta1/cloudscheduler-gen.go b/cloudscheduler/v1beta1/cloudscheduler-gen.go
index 725e824..13f2387 100644
--- a/cloudscheduler/v1beta1/cloudscheduler-gen.go
+++ b/cloudscheduler/v1beta1/cloudscheduler-gen.go
@@ -1318,7 +1318,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1484,7 +1484,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1656,7 +1656,7 @@
 
 func (c *ProjectsLocationsJobsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1794,7 +1794,7 @@
 
 func (c *ProjectsLocationsJobsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1935,7 +1935,7 @@
 
 func (c *ProjectsLocationsJobsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2106,7 +2106,7 @@
 
 func (c *ProjectsLocationsJobsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2289,7 +2289,7 @@
 
 func (c *ProjectsLocationsJobsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2442,7 +2442,7 @@
 
 func (c *ProjectsLocationsJobsPauseCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2589,7 +2589,7 @@
 
 func (c *ProjectsLocationsJobsResumeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2733,7 +2733,7 @@
 
 func (c *ProjectsLocationsJobsRunCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/cloudsearch/v1/cloudsearch-gen.go b/cloudsearch/v1/cloudsearch-gen.go
index fbc9567..46557ad 100644
--- a/cloudsearch/v1/cloudsearch-gen.go
+++ b/cloudsearch/v1/cloudsearch-gen.go
@@ -6482,7 +6482,7 @@
 
 func (c *DebugDatasourcesItemsCheckAccessCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6630,7 +6630,7 @@
 
 func (c *DebugDatasourcesItemsSearchByViewUrlCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6824,7 +6824,7 @@
 
 func (c *DebugDatasourcesItemsUnmappedidsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7042,7 +7042,7 @@
 
 func (c *DebugIdentitysourcesItemsListForunmappedidentityCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7278,7 +7278,7 @@
 
 func (c *DebugIdentitysourcesUnmappedidsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7479,7 +7479,7 @@
 
 func (c *IndexingDatasourcesDeleteSchemaCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7636,7 +7636,7 @@
 
 func (c *IndexingDatasourcesGetSchemaCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7781,7 +7781,7 @@
 
 func (c *IndexingDatasourcesUpdateSchemaCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7966,7 +7966,7 @@
 
 func (c *IndexingDatasourcesItemsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8133,7 +8133,7 @@
 
 func (c *IndexingDatasourcesItemsDeleteQueueItemsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8301,7 +8301,7 @@
 
 func (c *IndexingDatasourcesItemsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8452,7 +8452,7 @@
 
 func (c *IndexingDatasourcesItemsIndexCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8648,7 +8648,7 @@
 
 func (c *IndexingDatasourcesItemsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8842,7 +8842,7 @@
 
 func (c *IndexingDatasourcesItemsPollCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8985,7 +8985,7 @@
 
 func (c *IndexingDatasourcesItemsPushCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9130,7 +9130,7 @@
 
 func (c *IndexingDatasourcesItemsUnreserveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9275,7 +9275,7 @@
 
 func (c *IndexingDatasourcesItemsUploadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9472,7 +9472,7 @@
 
 func (c *MediaUploadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9664,7 +9664,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9810,7 +9810,7 @@
 
 func (c *QuerySearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9941,7 +9941,7 @@
 
 func (c *QuerySuggestCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10137,7 +10137,7 @@
 
 func (c *QuerySourcesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10306,7 +10306,7 @@
 
 func (c *SettingsDatasourcesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10442,7 +10442,7 @@
 
 func (c *SettingsDatasourcesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10599,7 +10599,7 @@
 
 func (c *SettingsDatasourcesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10772,7 +10772,7 @@
 
 func (c *SettingsDatasourcesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10935,7 +10935,7 @@
 
 func (c *SettingsDatasourcesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11076,7 +11076,7 @@
 
 func (c *SettingsSearchapplicationsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11212,7 +11212,7 @@
 
 func (c *SettingsSearchapplicationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11369,7 +11369,7 @@
 
 func (c *SettingsSearchapplicationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11542,7 +11542,7 @@
 
 func (c *SettingsSearchapplicationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11706,7 +11706,7 @@
 
 func (c *SettingsSearchapplicationsResetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11849,7 +11849,7 @@
 
 func (c *SettingsSearchapplicationsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12043,7 +12043,7 @@
 
 func (c *StatsGetIndexCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12254,7 +12254,7 @@
 
 func (c *StatsGetQueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12466,7 +12466,7 @@
 
 func (c *StatsGetSessionCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12677,7 +12677,7 @@
 
 func (c *StatsGetUserCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12890,7 +12890,7 @@
 
 func (c *StatsIndexDatasourcesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13115,7 +13115,7 @@
 
 func (c *StatsQuerySearchapplicationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13342,7 +13342,7 @@
 
 func (c *StatsSessionSearchapplicationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13569,7 +13569,7 @@
 
 func (c *StatsUserSearchapplicationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/cloudshell/v1/cloudshell-gen.go b/cloudshell/v1/cloudshell-gen.go
index 5600c8a..603c420 100644
--- a/cloudshell/v1/cloudshell-gen.go
+++ b/cloudshell/v1/cloudshell-gen.go
@@ -359,7 +359,7 @@
 
 func (c *OperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -500,7 +500,7 @@
 
 func (c *OperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -643,7 +643,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -817,7 +817,7 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/cloudshell/v1alpha1/cloudshell-gen.go b/cloudshell/v1alpha1/cloudshell-gen.go
index 069c21a..56d69c9 100644
--- a/cloudshell/v1alpha1/cloudshell-gen.go
+++ b/cloudshell/v1alpha1/cloudshell-gen.go
@@ -677,7 +677,7 @@
 
 func (c *UsersEnvironmentsAuthorizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -827,7 +827,7 @@
 
 func (c *UsersEnvironmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -969,7 +969,7 @@
 
 func (c *UsersEnvironmentsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1121,7 +1121,7 @@
 
 func (c *UsersEnvironmentsStartCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1264,7 +1264,7 @@
 
 func (c *UsersEnvironmentsPublicKeysCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1404,7 +1404,7 @@
 
 func (c *UsersEnvironmentsPublicKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/cloudtasks/v2/cloudtasks-api.json b/cloudtasks/v2/cloudtasks-api.json
index ecfa03c..e5dc34e 100644
--- a/cloudtasks/v2/cloudtasks-api.json
+++ b/cloudtasks/v2/cloudtasks-api.json
@@ -180,7 +180,7 @@
             "queues": {
               "methods": {
                 "create": {
-                  "description": "Creates a queue.\n\nQueues created with this method allow tasks to live for a maximum of 31\ndays. After a task is 31 days old, the task will be deleted regardless of whether\nit was dispatched or not.\n\nWARNING: Using this method may have unintended side effects if you are\nusing an App Engine `queue.yaml` or `queue.xml` file to manage your queues.\nRead\n[Overview of Queue Management and\nqueue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using\nthis method.",
+                  "description": "Creates a queue. Queues created with this method allow tasks to live for a maximum of 31 days. After a task is 31 days old, the task will be deleted regardless of whether it was dispatched or not. WARNING: Using this method may have unintended side effects if you are using an App Engine `queue.yaml` or `queue.xml` file to manage your queues. Read [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using this method.",
                   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues",
                   "httpMethod": "POST",
                   "id": "cloudtasks.projects.locations.queues.create",
@@ -189,7 +189,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Required. The location name in which the queue will be created.\nFor example: `projects/PROJECT_ID/locations/LOCATION_ID`\n\nThe list of allowed locations can be obtained by calling Cloud\nTasks' implementation of\nListLocations.",
+                      "description": "Required. The location name in which the queue will be created. For example: `projects/PROJECT_ID/locations/LOCATION_ID` The list of allowed locations can be obtained by calling Cloud Tasks' implementation of ListLocations.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -208,7 +208,7 @@
                   ]
                 },
                 "delete": {
-                  "description": "Deletes a queue.\n\nThis command will delete the queue even if it has tasks in it.\n\nNote: If you delete a queue, a queue with the same name can't be created\nfor 7 days.\n\nWARNING: Using this method may have unintended side effects if you are\nusing an App Engine `queue.yaml` or `queue.xml` file to manage your queues.\nRead\n[Overview of Queue Management and\nqueue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using\nthis method.",
+                  "description": "Deletes a queue. This command will delete the queue even if it has tasks in it. Note: If you delete a queue, a queue with the same name can't be created for 7 days. WARNING: Using this method may have unintended side effects if you are using an App Engine `queue.yaml` or `queue.xml` file to manage your queues. Read [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using this method.",
                   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}",
                   "httpMethod": "DELETE",
                   "id": "cloudtasks.projects.locations.queues.delete",
@@ -217,7 +217,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
+                      "description": "Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
@@ -242,7 +242,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The resource name of the queue. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
+                      "description": "Required. The resource name of the queue. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
@@ -258,7 +258,7 @@
                   ]
                 },
                 "getIamPolicy": {
-                  "description": "Gets the access control policy for a Queue.\nReturns an empty policy if the resource exists and does not have a policy\nset.\n\nAuthorization requires the following\n[Google IAM](https://cloud.google.com/iam) permission on the specified\nresource parent:\n\n* `cloudtasks.queues.getIamPolicy`",
+                  "description": "Gets the access control policy for a Queue. Returns an empty policy if the resource exists and does not have a policy set. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission on the specified resource parent: * `cloudtasks.queues.getIamPolicy`",
                   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:getIamPolicy",
                   "httpMethod": "POST",
                   "id": "cloudtasks.projects.locations.queues.getIamPolicy",
@@ -267,7 +267,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
@@ -286,7 +286,7 @@
                   ]
                 },
                 "list": {
-                  "description": "Lists queues.\n\nQueues are returned in lexicographical order.",
+                  "description": "Lists queues. Queues are returned in lexicographical order.",
                   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues",
                   "httpMethod": "GET",
                   "id": "cloudtasks.projects.locations.queues.list",
@@ -295,23 +295,23 @@
                   ],
                   "parameters": {
                     "filter": {
-                      "description": "`filter` can be used to specify a subset of queues. Any Queue\nfield can be used as a filter and several operators as supported.\nFor example: `\u003c=, \u003c, \u003e=, \u003e, !=, =, :`. The filter syntax is the same as\ndescribed in\n[Stackdriver's Advanced Logs\nFilters](https://cloud.google.com/logging/docs/view/advanced_filters).\n\nSample filter \"state: PAUSED\".\n\nNote that using filters might cause fewer queues than the\nrequested page_size to be returned.",
+                      "description": "`filter` can be used to specify a subset of queues. Any Queue field can be used as a filter and several operators as supported. For example: `\u003c=, \u003c, \u003e=, \u003e, !=, =, :`. The filter syntax is the same as described in [Stackdriver's Advanced Logs Filters](https://cloud.google.com/logging/docs/view/advanced_filters). Sample filter \"state: PAUSED\". Note that using filters might cause fewer queues than the requested page_size to be returned.",
                       "location": "query",
                       "type": "string"
                     },
                     "pageSize": {
-                      "description": "Requested page size.\n\nThe maximum page size is 9800. If unspecified, the page size will\nbe the maximum. Fewer queues than requested might be returned,\neven if more queues exist; use the\nnext_page_token in the\nresponse to determine if more queues exist.",
+                      "description": "Requested page size. The maximum page size is 9800. If unspecified, the page size will be the maximum. Fewer queues than requested might be returned, even if more queues exist; use the next_page_token in the response to determine if more queues exist.",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "A token identifying the page of results to return.\n\nTo request the first page results, page_token must be empty. To\nrequest the next page of results, page_token must be the value of\nnext_page_token returned\nfrom the previous call to ListQueues\nmethod. It is an error to switch the value of the\nfilter while iterating through pages.",
+                      "description": "A token identifying the page of results to return. To request the first page results, page_token must be empty. To request the next page of results, page_token must be the value of next_page_token returned from the previous call to ListQueues method. It is an error to switch the value of the filter while iterating through pages.",
                       "location": "query",
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The location name.\nFor example: `projects/PROJECT_ID/locations/LOCATION_ID`",
+                      "description": "Required. The location name. For example: `projects/PROJECT_ID/locations/LOCATION_ID`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -327,7 +327,7 @@
                   ]
                 },
                 "patch": {
-                  "description": "Updates a queue.\n\nThis method creates the queue if it does not exist and updates\nthe queue if it does exist.\n\nQueues created with this method allow tasks to live for a maximum of 31\ndays. After a task is 31 days old, the task will be deleted regardless of whether\nit was dispatched or not.\n\nWARNING: Using this method may have unintended side effects if you are\nusing an App Engine `queue.yaml` or `queue.xml` file to manage your queues.\nRead\n[Overview of Queue Management and\nqueue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using\nthis method.",
+                  "description": "Updates a queue. This method creates the queue if it does not exist and updates the queue if it does exist. Queues created with this method allow tasks to live for a maximum of 31 days. After a task is 31 days old, the task will be deleted regardless of whether it was dispatched or not. WARNING: Using this method may have unintended side effects if you are using an App Engine `queue.yaml` or `queue.xml` file to manage your queues. Read [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using this method.",
                   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}",
                   "httpMethod": "PATCH",
                   "id": "cloudtasks.projects.locations.queues.patch",
@@ -336,14 +336,14 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Caller-specified and required in CreateQueue,\nafter which it becomes output only.\n\nThe queue name.\n\nThe queue name must have the following format:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`\n\n* `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),\n   hyphens (-), colons (:), or periods (.).\n   For more information, see\n   [Identifying\n   projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)\n* `LOCATION_ID` is the canonical ID for the queue's location.\n   The list of available locations can be obtained by calling\n   ListLocations.\n   For more information, see https://cloud.google.com/about/locations/.\n* `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or\n  hyphens (-). The maximum length is 100 characters.",
+                      "description": "Caller-specified and required in CreateQueue, after which it becomes output only. The queue name. The queue name must have the following format: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens (-), colons (:), or periods (.). For more information, see [Identifying projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) * `LOCATION_ID` is the canonical ID for the queue's location. The list of available locations can be obtained by calling ListLocations. For more information, see https://cloud.google.com/about/locations/. * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or hyphens (-). The maximum length is 100 characters.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
                       "type": "string"
                     },
                     "updateMask": {
-                      "description": "A mask used to specify which fields of the queue are being updated.\n\nIf empty, then all fields will be updated.",
+                      "description": "A mask used to specify which fields of the queue are being updated. If empty, then all fields will be updated.",
                       "format": "google-fieldmask",
                       "location": "query",
                       "type": "string"
@@ -361,7 +361,7 @@
                   ]
                 },
                 "pause": {
-                  "description": "Pauses the queue.\n\nIf a queue is paused then the system will stop dispatching tasks\nuntil the queue is resumed via\nResumeQueue. Tasks can still be added\nwhen the queue is paused. A queue is paused if its\nstate is PAUSED.",
+                  "description": "Pauses the queue. If a queue is paused then the system will stop dispatching tasks until the queue is resumed via ResumeQueue. Tasks can still be added when the queue is paused. A queue is paused if its state is PAUSED.",
                   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:pause",
                   "httpMethod": "POST",
                   "id": "cloudtasks.projects.locations.queues.pause",
@@ -370,7 +370,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
+                      "description": "Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
@@ -389,7 +389,7 @@
                   ]
                 },
                 "purge": {
-                  "description": "Purges a queue by deleting all of its tasks.\n\nAll tasks created before this method is called are permanently deleted.\n\nPurge operations can take up to one minute to take effect. Tasks\nmight be dispatched before the purge takes effect. A purge is irreversible.",
+                  "description": "Purges a queue by deleting all of its tasks. All tasks created before this method is called are permanently deleted. Purge operations can take up to one minute to take effect. Tasks might be dispatched before the purge takes effect. A purge is irreversible.",
                   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:purge",
                   "httpMethod": "POST",
                   "id": "cloudtasks.projects.locations.queues.purge",
@@ -398,7 +398,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
+                      "description": "Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
@@ -417,7 +417,7 @@
                   ]
                 },
                 "resume": {
-                  "description": "Resume a queue.\n\nThis method resumes a queue after it has been\nPAUSED or\nDISABLED. The state of a queue is stored\nin the queue's state; after calling this method it\nwill be set to RUNNING.\n\nWARNING: Resuming many high-QPS queues at the same time can\nlead to target overloading. If you are resuming high-QPS\nqueues, follow the 500/50/5 pattern described in\n[Managing Cloud Tasks Scaling\nRisks](https://cloud.google.com/tasks/docs/manage-cloud-task-scaling).",
+                  "description": "Resume a queue. This method resumes a queue after it has been PAUSED or DISABLED. The state of a queue is stored in the queue's state; after calling this method it will be set to RUNNING. WARNING: Resuming many high-QPS queues at the same time can lead to target overloading. If you are resuming high-QPS queues, follow the 500/50/5 pattern described in [Managing Cloud Tasks Scaling Risks](https://cloud.google.com/tasks/docs/manage-cloud-task-scaling).",
                   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:resume",
                   "httpMethod": "POST",
                   "id": "cloudtasks.projects.locations.queues.resume",
@@ -426,7 +426,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
+                      "description": "Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
@@ -445,7 +445,7 @@
                   ]
                 },
                 "setIamPolicy": {
-                  "description": "Sets the access control policy for a Queue. Replaces any existing\npolicy.\n\nNote: The Cloud Console does not check queue-level IAM permissions yet.\nProject-level permissions are required to use the Cloud Console.\n\nAuthorization requires the following\n[Google IAM](https://cloud.google.com/iam) permission on the specified\nresource parent:\n\n* `cloudtasks.queues.setIamPolicy`",
+                  "description": "Sets the access control policy for a Queue. Replaces any existing policy. Note: The Cloud Console does not check queue-level IAM permissions yet. Project-level permissions are required to use the Cloud Console. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission on the specified resource parent: * `cloudtasks.queues.setIamPolicy`",
                   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:setIamPolicy",
                   "httpMethod": "POST",
                   "id": "cloudtasks.projects.locations.queues.setIamPolicy",
@@ -454,7 +454,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
@@ -473,7 +473,7 @@
                   ]
                 },
                 "testIamPermissions": {
-                  "description": "Returns permissions that a caller has on a Queue.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+                  "description": "Returns permissions that a caller has on a Queue. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:testIamPermissions",
                   "httpMethod": "POST",
                   "id": "cloudtasks.projects.locations.queues.testIamPermissions",
@@ -482,7 +482,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
@@ -505,7 +505,7 @@
                 "tasks": {
                   "methods": {
                     "create": {
-                      "description": "Creates a task and adds it to a queue.\n\nTasks cannot be updated after creation; there is no UpdateTask command.\n\n* The maximum task size is 100KB.",
+                      "description": "Creates a task and adds it to a queue. Tasks cannot be updated after creation; there is no UpdateTask command. * The maximum task size is 100KB.",
                       "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks",
                       "httpMethod": "POST",
                       "id": "cloudtasks.projects.locations.queues.tasks.create",
@@ -514,7 +514,7 @@
                       ],
                       "parameters": {
                         "parent": {
-                          "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`\n\nThe queue must already exist.",
+                          "description": "Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` The queue must already exist.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                           "required": true,
@@ -533,7 +533,7 @@
                       ]
                     },
                     "delete": {
-                      "description": "Deletes a task.\n\nA task can be deleted if it is scheduled or dispatched. A task\ncannot be deleted if it has executed successfully or permanently\nfailed.",
+                      "description": "Deletes a task. A task can be deleted if it is scheduled or dispatched. A task cannot be deleted if it has executed successfully or permanently failed.",
                       "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}",
                       "httpMethod": "DELETE",
                       "id": "cloudtasks.projects.locations.queues.tasks.delete",
@@ -542,7 +542,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+                          "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
                           "required": true,
@@ -567,19 +567,24 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+                          "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
                         "responseView": {
-                          "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Task resource.",
+                          "description": "The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource.",
                           "enum": [
                             "VIEW_UNSPECIFIED",
                             "BASIC",
                             "FULL"
                           ],
+                          "enumDescriptions": [
+                            "Unspecified. Defaults to BASIC.",
+                            "The basic view omits fields which can be large or can contain sensitive data. This view does not include the body in AppEngineHttpRequest. Bodies are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+                            "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
+                          ],
                           "location": "query",
                           "type": "string"
                         }
@@ -593,7 +598,7 @@
                       ]
                     },
                     "list": {
-                      "description": "Lists the tasks in a queue.\n\nBy default, only the BASIC view is retrieved\ndue to performance considerations;\nresponse_view controls the\nsubset of information which is returned.\n\nThe tasks may be returned in any order. The ordering may change at any\ntime.",
+                      "description": "Lists the tasks in a queue. By default, only the BASIC view is retrieved due to performance considerations; response_view controls the subset of information which is returned. The tasks may be returned in any order. The ordering may change at any time.",
                       "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks",
                       "httpMethod": "GET",
                       "id": "cloudtasks.projects.locations.queues.tasks.list",
@@ -602,30 +607,35 @@
                       ],
                       "parameters": {
                         "pageSize": {
-                          "description": "Maximum page size.\n\nFewer tasks than requested might be returned, even if more tasks exist; use\nnext_page_token in the response to\ndetermine if more tasks exist.\n\nThe maximum page size is 1000. If unspecified, the page size will be the\nmaximum.",
+                          "description": "Maximum page size. Fewer tasks than requested might be returned, even if more tasks exist; use next_page_token in the response to determine if more tasks exist. The maximum page size is 1000. If unspecified, the page size will be the maximum.",
                           "format": "int32",
                           "location": "query",
                           "type": "integer"
                         },
                         "pageToken": {
-                          "description": "A token identifying the page of results to return.\n\nTo request the first page results, page_token must be empty. To\nrequest the next page of results, page_token must be the value of\nnext_page_token returned\nfrom the previous call to ListTasks\nmethod.\n\nThe page token is valid for only 2 hours.",
+                          "description": "A token identifying the page of results to return. To request the first page results, page_token must be empty. To request the next page of results, page_token must be the value of next_page_token returned from the previous call to ListTasks method. The page token is valid for only 2 hours.",
                           "location": "query",
                           "type": "string"
                         },
                         "parent": {
-                          "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
+                          "description": "Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
                         "responseView": {
-                          "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Task resource.",
+                          "description": "The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource.",
                           "enum": [
                             "VIEW_UNSPECIFIED",
                             "BASIC",
                             "FULL"
                           ],
+                          "enumDescriptions": [
+                            "Unspecified. Defaults to BASIC.",
+                            "The basic view omits fields which can be large or can contain sensitive data. This view does not include the body in AppEngineHttpRequest. Bodies are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+                            "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
+                          ],
                           "location": "query",
                           "type": "string"
                         }
@@ -639,7 +649,7 @@
                       ]
                     },
                     "run": {
-                      "description": "Forces a task to run now.\n\nWhen this method is called, Cloud Tasks will dispatch the task, even if\nthe task is already running, the queue has reached its RateLimits or\nis PAUSED.\n\nThis command is meant to be used for manual debugging. For\nexample, RunTask can be used to retry a failed\ntask after a fix has been made or to manually force a task to be\ndispatched now.\n\nThe dispatched task is returned. That is, the task that is returned\ncontains the status after the task is dispatched but\nbefore the task is received by its target.\n\nIf Cloud Tasks receives a successful response from the task's\ntarget, then the task will be deleted; otherwise the task's\nschedule_time will be reset to the time that\nRunTask was called plus the retry delay specified\nin the queue's RetryConfig.\n\nRunTask returns\nNOT_FOUND when it is called on a\ntask that has already succeeded or permanently failed.",
+                      "description": "Forces a task to run now. When this method is called, Cloud Tasks will dispatch the task, even if the task is already running, the queue has reached its RateLimits or is PAUSED. This command is meant to be used for manual debugging. For example, RunTask can be used to retry a failed task after a fix has been made or to manually force a task to be dispatched now. The dispatched task is returned. That is, the task that is returned contains the status after the task is dispatched but before the task is received by its target. If Cloud Tasks receives a successful response from the task's target, then the task will be deleted; otherwise the task's schedule_time will be reset to the time that RunTask was called plus the retry delay specified in the queue's RetryConfig. RunTask returns NOT_FOUND when it is called on a task that has already succeeded or permanently failed.",
                       "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}:run",
                       "httpMethod": "POST",
                       "id": "cloudtasks.projects.locations.queues.tasks.run",
@@ -648,7 +658,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+                          "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
                           "required": true,
@@ -675,19 +685,19 @@
       }
     }
   },
-  "revision": "20200529",
+  "revision": "20200804",
   "rootUrl": "https://cloudtasks.googleapis.com/",
   "schemas": {
     "AppEngineHttpRequest": {
-      "description": "App Engine HTTP request.\n\nThe message defines the HTTP request that is sent to an App Engine app when\nthe task is dispatched.\n\nUsing AppEngineHttpRequest requires\n[`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)\nGoogle IAM permission for the project\nand the following scope:\n\n`https://www.googleapis.com/auth/cloud-platform`\n\nThe task will be delivered to the App Engine app which belongs to the same\nproject as the queue. For more information, see\n[How Requests are\nRouted](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)\nand how routing is affected by\n[dispatch\nfiles](https://cloud.google.com/appengine/docs/python/config/dispatchref).\nTraffic is encrypted during transport and never leaves Google datacenters.\nBecause this traffic is carried over a communication mechanism internal to\nGoogle, you cannot explicitly set the protocol (for example, HTTP or HTTPS).\nThe request to the handler, however, will appear to have used the HTTP\nprotocol.\n\nThe AppEngineRouting used to construct the URL that the task is\ndelivered to can be set at the queue-level or task-level:\n\n* If app_engine_routing_override is set on the\n  queue, this value\n  is used for all tasks in the queue, no matter what the setting is for the\n  task-level\n  app_engine_routing.\n\n\nThe `url` that the task will be sent to is:\n\n* `url =` host `+`\n  relative_uri\n\nTasks can be dispatched to secure app handlers, unsecure app handlers, and\nURIs restricted with\n[`login:\nadmin`](https://cloud.google.com/appengine/docs/standard/python/config/appref).\nBecause tasks are not run as any user, they cannot be dispatched to URIs\nrestricted with\n[`login:\nrequired`](https://cloud.google.com/appengine/docs/standard/python/config/appref)\nTask dispatches also do not follow redirects.\n\nThe task attempt has succeeded if the app's request handler returns an HTTP\nresponse code in the range [`200` - `299`]. The task attempt has failed if\nthe app's handler returns a non-2xx response code or Cloud Tasks does\nnot receive response before the deadline. Failed\ntasks will be retried according to the\nretry configuration. `503` (Service Unavailable) is\nconsidered an App Engine system error instead of an application error and\nwill cause Cloud Tasks' traffic congestion control to temporarily throttle\nthe queue's dispatches. Unlike other types of task targets, a `429` (Too Many\nRequests) response from an app handler does not cause traffic congestion\ncontrol to throttle the queue.",
+      "description": "App Engine HTTP request. The message defines the HTTP request that is sent to an App Engine app when the task is dispatched. Using AppEngineHttpRequest requires [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control) Google IAM permission for the project and the following scope: `https://www.googleapis.com/auth/cloud-platform` The task will be delivered to the App Engine app which belongs to the same project as the queue. For more information, see [How Requests are Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed) and how routing is affected by [dispatch files](https://cloud.google.com/appengine/docs/python/config/dispatchref). Traffic is encrypted during transport and never leaves Google datacenters. Because this traffic is carried over a communication mechanism internal to Google, you cannot explicitly set the protocol (for example, HTTP or HTTPS). The request to the handler, however, will appear to have used the HTTP protocol. The AppEngineRouting used to construct the URL that the task is delivered to can be set at the queue-level or task-level: * If app_engine_routing_override is set on the queue, this value is used for all tasks in the queue, no matter what the setting is for the task-level app_engine_routing. The `url` that the task will be sent to is: * `url =` host `+` relative_uri Tasks can be dispatched to secure app handlers, unsecure app handlers, and URIs restricted with [`login: admin`](https://cloud.google.com/appengine/docs/standard/python/config/appref). Because tasks are not run as any user, they cannot be dispatched to URIs restricted with [`login: required`](https://cloud.google.com/appengine/docs/standard/python/config/appref) Task dispatches also do not follow redirects. The task attempt has succeeded if the app's request handler returns an HTTP response code in the range [`200` - `299`]. The task attempt has failed if the app's handler returns a non-2xx response code or Cloud Tasks does not receive response before the deadline. Failed tasks will be retried according to the retry configuration. `503` (Service Unavailable) is considered an App Engine system error instead of an application error and will cause Cloud Tasks' traffic congestion control to temporarily throttle the queue's dispatches. Unlike other types of task targets, a `429` (Too Many Requests) response from an app handler does not cause traffic congestion control to throttle the queue.",
       "id": "AppEngineHttpRequest",
       "properties": {
         "appEngineRouting": {
           "$ref": "AppEngineRouting",
-          "description": "Task-level setting for App Engine routing.\n\n* If app_engine_routing_override is set on the\n  queue, this\n  value is used for all tasks in the queue, no matter what the setting is\n  for the task-level\n  app_engine_routing."
+          "description": "Task-level setting for App Engine routing. * If app_engine_routing_override is set on the queue, this value is used for all tasks in the queue, no matter what the setting is for the task-level app_engine_routing."
         },
         "body": {
-          "description": "HTTP request body.\n\nA request body is allowed only if the HTTP method is POST or PUT. It is\nan error to set a body on a task with an incompatible HttpMethod.",
+          "description": "HTTP request body. A request body is allowed only if the HTTP method is POST or PUT. It is an error to set a body on a task with an incompatible HttpMethod.",
           "format": "byte",
           "type": "string"
         },
@@ -695,11 +705,11 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "HTTP request headers.\n\nThis map contains the header field names and values.\nHeaders can be set when the\ntask is created.\nRepeated headers are not supported but a header value can contain commas.\n\nCloud Tasks sets some headers to default values:\n\n* `User-Agent`: By default, this header is\n  `\"AppEngine-Google; (+http://code.google.com/appengine)\"`.\n  This header can be modified, but Cloud Tasks will append\n  `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the\n  modified `User-Agent`.\n\nIf the task has a body, Cloud\nTasks sets the following headers:\n\n* `Content-Type`: By default, the `Content-Type` header is set to\n  `\"application/octet-stream\"`. The default can be overridden by explicitly\n  setting `Content-Type` to a particular media type when the\n  task is created.\n  For example, `Content-Type` can be set to `\"application/json\"`.\n* `Content-Length`: This is computed by Cloud Tasks. This value is\n  output only.   It cannot be changed.\n\nThe headers below cannot be set or overridden:\n\n* `Host`\n* `X-Google-*`\n* `X-AppEngine-*`\n\nIn addition, Cloud Tasks sets some headers when the task is dispatched,\nsuch as headers containing information about the task; see\n[request\nheaders](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers).\nThese headers are set only when the task is dispatched, so they are not\nvisible when the task is returned in a Cloud Tasks response.\n\nAlthough there is no specific limit for the maximum number of headers or\nthe size, there is a limit on the maximum size of the Task. For more\ninformation, see the CreateTask documentation.",
+          "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. Repeated headers are not supported but a header value can contain commas. Cloud Tasks sets some headers to default values: * `User-Agent`: By default, this header is `\"AppEngine-Google; (+http://code.google.com/appengine)\"`. This header can be modified, but Cloud Tasks will append `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the modified `User-Agent`. If the task has a body, Cloud Tasks sets the following headers: * `Content-Type`: By default, the `Content-Type` header is set to `\"application/octet-stream\"`. The default can be overridden by explicitly setting `Content-Type` to a particular media type when the task is created. For example, `Content-Type` can be set to `\"application/json\"`. * `Content-Length`: This is computed by Cloud Tasks. This value is output only. It cannot be changed. The headers below cannot be set or overridden: * `Host` * `X-Google-*` * `X-AppEngine-*` In addition, Cloud Tasks sets some headers when the task is dispatched, such as headers containing information about the task; see [request headers](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers). These headers are set only when the task is dispatched, so they are not visible when the task is returned in a Cloud Tasks response. Although there is no specific limit for the maximum number of headers or the size, there is a limit on the maximum size of the Task. For more information, see the CreateTask documentation.",
           "type": "object"
         },
         "httpMethod": {
-          "description": "The HTTP method to use for the request. The default is POST.\n\nThe app's request handler for the task's target URL must be able to handle\nHTTP requests with this http_method, otherwise the task attempt fails with\nerror code 405 (Method Not Allowed). See [Writing a push task request\nhandler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler)\nand the App Engine documentation for your runtime on [How Requests are\nHandled](https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled).",
+          "description": "The HTTP method to use for the request. The default is POST. The app's request handler for the task's target URL must be able to handle HTTP requests with this http_method, otherwise the task attempt fails with error code 405 (Method Not Allowed). See [Writing a push task request handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler) and the App Engine documentation for your runtime on [How Requests are Handled](https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled).",
           "enum": [
             "HTTP_METHOD_UNSPECIFIED",
             "POST",
@@ -723,30 +733,30 @@
           "type": "string"
         },
         "relativeUri": {
-          "description": "The relative URI.\n\nThe relative URI must begin with \"/\" and must be a valid HTTP relative URI.\nIt can contain a path and query string arguments.\nIf the relative URI is empty, then the root path \"/\" will be used.\nNo spaces are allowed, and the maximum length allowed is 2083 characters.",
+          "description": "The relative URI. The relative URI must begin with \"/\" and must be a valid HTTP relative URI. It can contain a path and query string arguments. If the relative URI is empty, then the root path \"/\" will be used. No spaces are allowed, and the maximum length allowed is 2083 characters.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "AppEngineRouting": {
-      "description": "App Engine Routing.\n\nDefines routing characteristics specific to App Engine - service, version,\nand instance.\n\nFor more information about services, versions, and instances see\n[An Overview of App\nEngine](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine),\n[Microservices Architecture on Google App\nEngine](https://cloud.google.com/appengine/docs/python/microservices-on-app-engine),\n[App Engine Standard request\nrouting](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed),\nand [App Engine Flex request\nrouting](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).\n\nUsing AppEngineRouting requires\n[`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)\nGoogle IAM permission for the project\nand the following scope:\n\n`https://www.googleapis.com/auth/cloud-platform`",
+      "description": "App Engine Routing. Defines routing characteristics specific to App Engine - service, version, and instance. For more information about services, versions, and instances see [An Overview of App Engine](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine), [Microservices Architecture on Google App Engine](https://cloud.google.com/appengine/docs/python/microservices-on-app-engine), [App Engine Standard request routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed), and [App Engine Flex request routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed). Using AppEngineRouting requires [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control) Google IAM permission for the project and the following scope: `https://www.googleapis.com/auth/cloud-platform`",
       "id": "AppEngineRouting",
       "properties": {
         "host": {
-          "description": "Output only. The host that the task is sent to.\n\nThe host is constructed from the domain name of the app associated with\nthe queue's project ID (for example \u003capp-id\u003e.appspot.com), and the\nservice, version,\nand instance. Tasks which were created using\nthe App Engine SDK might have a custom domain name.\n\nFor more information, see\n[How Requests are\nRouted](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed).",
+          "description": "Output only. The host that the task is sent to. The host is constructed from the domain name of the app associated with the queue's project ID (for example .appspot.com), and the service, version, and instance. Tasks which were created using the App Engine SDK might have a custom domain name. For more information, see [How Requests are Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed).",
           "type": "string"
         },
         "instance": {
-          "description": "App instance.\n\nBy default, the task is sent to an instance which is available when\nthe task is attempted.\n\nRequests can only be sent to a specific instance if\n[manual scaling is used in App Engine\nStandard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes).\nApp Engine Flex does not support instances. For more information, see\n[App Engine Standard request\nrouting](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)\nand [App Engine Flex request\nrouting](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).",
+          "description": "App instance. By default, the task is sent to an instance which is available when the task is attempted. Requests can only be sent to a specific instance if [manual scaling is used in App Engine Standard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes). App Engine Flex does not support instances. For more information, see [App Engine Standard request routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed) and [App Engine Flex request routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).",
           "type": "string"
         },
         "service": {
-          "description": "App service.\n\nBy default, the task is sent to the service which is the default\nservice when the task is attempted.\n\nFor some queues or tasks which were created using the App Engine\nTask Queue API, host is not parsable\ninto service,\nversion, and\ninstance. For example, some tasks\nwhich were created using the App Engine SDK use a custom domain\nname; custom domains are not parsed by Cloud Tasks. If\nhost is not parsable, then\nservice,\nversion, and\ninstance are the empty string.",
+          "description": "App service. By default, the task is sent to the service which is the default service when the task is attempted. For some queues or tasks which were created using the App Engine Task Queue API, host is not parsable into service, version, and instance. For example, some tasks which were created using the App Engine SDK use a custom domain name; custom domains are not parsed by Cloud Tasks. If host is not parsable, then service, version, and instance are the empty string.",
           "type": "string"
         },
         "version": {
-          "description": "App version.\n\nBy default, the task is sent to the version which is the default\nversion when the task is attempted.\n\nFor some queues or tasks which were created using the App Engine\nTask Queue API, host is not parsable\ninto service,\nversion, and\ninstance. For example, some tasks\nwhich were created using the App Engine SDK use a custom domain\nname; custom domains are not parsed by Cloud Tasks. If\nhost is not parsable, then\nservice,\nversion, and\ninstance are the empty string.",
+          "description": "App version. By default, the task is sent to the version which is the default version when the task is attempted. For some queues or tasks which were created using the App Engine Task Queue API, host is not parsable into service, version, and instance. For example, some tasks which were created using the App Engine SDK use a custom domain name; custom domains are not parsed by Cloud Tasks. If host is not parsable, then service, version, and instance are the empty string.",
           "type": "string"
         }
       },
@@ -757,21 +767,21 @@
       "id": "Attempt",
       "properties": {
         "dispatchTime": {
-          "description": "Output only. The time that this attempt was dispatched.\n\n`dispatch_time` will be truncated to the nearest microsecond.",
+          "description": "Output only. The time that this attempt was dispatched. `dispatch_time` will be truncated to the nearest microsecond.",
           "format": "google-datetime",
           "type": "string"
         },
         "responseStatus": {
           "$ref": "Status",
-          "description": "Output only. The response from the worker for this attempt.\n\nIf `response_time` is unset, then the task has not been attempted or is\ncurrently running and the `response_status` field is meaningless."
+          "description": "Output only. The response from the worker for this attempt. If `response_time` is unset, then the task has not been attempted or is currently running and the `response_status` field is meaningless."
         },
         "responseTime": {
-          "description": "Output only. The time that this attempt response was received.\n\n`response_time` will be truncated to the nearest microsecond.",
+          "description": "Output only. The time that this attempt response was received. `response_time` will be truncated to the nearest microsecond.",
           "format": "google-datetime",
           "type": "string"
         },
         "scheduleTime": {
-          "description": "Output only. The time that this attempt was scheduled.\n\n`schedule_time` will be truncated to the nearest microsecond.",
+          "description": "Output only. The time that this attempt was scheduled. `schedule_time` will be truncated to the nearest microsecond.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -784,17 +794,17 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
           "type": "string"
         }
       },
@@ -805,7 +815,7 @@
       "id": "CreateTaskRequest",
       "properties": {
         "responseView": {
-          "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Task resource.",
+          "description": "The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource.",
           "enum": [
             "VIEW_UNSPECIFIED",
             "BASIC",
@@ -813,42 +823,42 @@
           ],
           "enumDescriptions": [
             "Unspecified. Defaults to BASIC.",
-            "The basic view omits fields which can be large or can contain\nsensitive data.\n\nThis view does not include the\nbody in AppEngineHttpRequest.\nBodies are desirable to return only when needed, because they\ncan be large and because of the sensitivity of the data that you\nchoose to store in it.",
-            "All information is returned.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Queue resource."
+            "The basic view omits fields which can be large or can contain sensitive data. This view does not include the body in AppEngineHttpRequest. Bodies are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+            "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
           ],
           "type": "string"
         },
         "task": {
           "$ref": "Task",
-          "description": "Required. The task to add.\n\nTask names have the following format:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`.\nThe user can optionally specify a task name. If a\nname is not specified then the system will generate a random\nunique task id, which will be set in the task returned in the\nresponse.\n\nIf schedule_time is not set or is in the\npast then Cloud Tasks will set it to the current time.\n\nTask De-duplication:\n\nExplicitly specifying a task ID enables task de-duplication.  If\na task's ID is identical to that of an existing task or a task\nthat was deleted or executed recently then the call will fail\nwith ALREADY_EXISTS.\nIf the task's queue was created using Cloud Tasks, then another task with\nthe same name can't be created for ~1hour after the original task was\ndeleted or executed. If the task's queue was created using queue.yaml or\nqueue.xml, then another task with the same name can't be created\nfor ~9days after the original task was deleted or executed.\n\nBecause there is an extra lookup cost to identify duplicate task\nnames, these CreateTask calls have significantly\nincreased latency. Using hashed strings for the task id or for\nthe prefix of the task id is recommended. Choosing task ids that\nare sequential or have sequential prefixes, for example using a\ntimestamp, causes an increase in latency and error rates in all\ntask commands. The infrastructure relies on an approximately\nuniform distribution of task ids to store and serve tasks\nefficiently."
+          "description": "Required. The task to add. Task names have the following format: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`. The user can optionally specify a task name. If a name is not specified then the system will generate a random unique task id, which will be set in the task returned in the response. If schedule_time is not set or is in the past then Cloud Tasks will set it to the current time. Task De-duplication: Explicitly specifying a task ID enables task de-duplication. If a task's ID is identical to that of an existing task or a task that was deleted or executed recently then the call will fail with ALREADY_EXISTS. If the task's queue was created using Cloud Tasks, then another task with the same name can't be created for ~1hour after the original task was deleted or executed. If the task's queue was created using queue.yaml or queue.xml, then another task with the same name can't be created for ~9days after the original task was deleted or executed. Because there is an extra lookup cost to identify duplicate task names, these CreateTask calls have significantly increased latency. Using hashed strings for the task id or for the prefix of the task id is recommended. Choosing task ids that are sequential or have sequential prefixes, for example using a timestamp, causes an increase in latency and error rates in all task commands. The infrastructure relies on an approximately uniform distribution of task ids to store and serve tasks efficiently."
         }
       },
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
     },
     "Expr": {
-      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
+      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
       "id": "Expr",
       "properties": {
         "description": {
-          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
+          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
           "type": "string"
         },
         "expression": {
-          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
+          "description": "Textual representation of an expression in Common Expression Language syntax.",
           "type": "string"
         },
         "location": {
-          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
+          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
           "type": "string"
         },
         "title": {
-          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
+          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
           "type": "string"
         }
       },
@@ -860,7 +870,7 @@
       "properties": {
         "options": {
           "$ref": "GetPolicyOptions",
-          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`."
+          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`."
         }
       },
       "type": "object"
@@ -870,7 +880,7 @@
       "id": "GetPolicyOptions",
       "properties": {
         "requestedPolicyVersion": {
-          "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -878,11 +888,11 @@
       "type": "object"
     },
     "HttpRequest": {
-      "description": "HTTP request.\n\nThe task will be pushed to the worker as an HTTP request. If the worker\nor the redirected worker acknowledges the task by returning a successful HTTP\nresponse code ([`200` - `299`]), the task will be removed from the queue. If\nany other HTTP response code is returned or no response is received, the\ntask will be retried according to the following:\n\n* User-specified throttling: retry configuration,\n  rate limits, and the queue's state.\n\n* System throttling: To prevent the worker from overloading, Cloud Tasks may\n  temporarily reduce the queue's effective rate. User-specified settings\n  will not be changed.\n\n System throttling happens because:\n\n  * Cloud Tasks backs off on all errors. Normally the backoff specified in\n    rate limits will be used. But if the worker returns\n    `429` (Too Many Requests), `503` (Service Unavailable), or the rate of\n    errors is high, Cloud Tasks will use a higher backoff rate. The retry\n    specified in the `Retry-After` HTTP response header is considered.\n\n  * To prevent traffic spikes and to smooth sudden increases in traffic,\n    dispatches ramp up slowly when the queue is newly created or idle and\n    if large numbers of tasks suddenly become available to dispatch (due to\n    spikes in create task rates, the queue being unpaused, or many tasks\n    that are scheduled at the same time).",
+      "description": "HTTP request. The task will be pushed to the worker as an HTTP request. If the worker or the redirected worker acknowledges the task by returning a successful HTTP response code ([`200` - `299`]), the task will be removed from the queue. If any other HTTP response code is returned or no response is received, the task will be retried according to the following: * User-specified throttling: retry configuration, rate limits, and the queue's state. * System throttling: To prevent the worker from overloading, Cloud Tasks may temporarily reduce the queue's effective rate. User-specified settings will not be changed. System throttling happens because: * Cloud Tasks backs off on all errors. Normally the backoff specified in rate limits will be used. But if the worker returns `429` (Too Many Requests), `503` (Service Unavailable), or the rate of errors is high, Cloud Tasks will use a higher backoff rate. The retry specified in the `Retry-After` HTTP response header is considered. * To prevent traffic spikes and to smooth sudden increases in traffic, dispatches ramp up slowly when the queue is newly created or idle and if large numbers of tasks suddenly become available to dispatch (due to spikes in create task rates, the queue being unpaused, or many tasks that are scheduled at the same time).",
       "id": "HttpRequest",
       "properties": {
         "body": {
-          "description": "HTTP request body.\n\nA request body is allowed only if the\nHTTP method is POST, PUT, or PATCH. It is an\nerror to set body on a task with an incompatible HttpMethod.",
+          "description": "HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a task with an incompatible HttpMethod.",
           "format": "byte",
           "type": "string"
         },
@@ -890,7 +900,7 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "HTTP request headers.\n\nThis map contains the header field names and values.\nHeaders can be set when the\ntask is created.\n\nThese headers represent a subset of the headers that will accompany the\ntask's HTTP request. Some HTTP request headers will be ignored or replaced.\n\nA partial list of headers that will be ignored or replaced is:\n\n* Host: This will be computed by Cloud Tasks and derived from\n  HttpRequest.url.\n* Content-Length: This will be computed by Cloud Tasks.\n* User-Agent: This will be set to `\"Google-Cloud-Tasks\"`.\n* X-Google-*: Google use only.\n* X-AppEngine-*: Google use only.\n\n`Content-Type` won't be set by Cloud Tasks. You can explicitly set\n`Content-Type` to a media type when the\n task is created.\n For example, `Content-Type` can be set to `\"application/octet-stream\"` or\n `\"application/json\"`.\n\nHeaders which can have multiple values (according to RFC2616) can be\nspecified using comma-separated values.\n\nThe size of the headers must be less than 80KB.",
+          "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `\"Google-Cloud-Tasks\"`. * X-Google-*: Google use only. * X-AppEngine-*: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.",
           "type": "object"
         },
         "httpMethod": {
@@ -919,14 +929,14 @@
         },
         "oauthToken": {
           "$ref": "OAuthToken",
-          "description": "If specified, an\n[OAuth token](https://developers.google.com/identity/protocols/OAuth2)\nwill be generated and attached as an `Authorization` header in the HTTP\nrequest.\n\nThis type of authorization should generally only be used when calling\nGoogle APIs hosted on *.googleapis.com."
+          "description": "If specified, an [OAuth token](https://developers.google.com/identity/protocols/OAuth2) will be generated and attached as an `Authorization` header in the HTTP request. This type of authorization should generally only be used when calling Google APIs hosted on *.googleapis.com."
         },
         "oidcToken": {
           "$ref": "OidcToken",
-          "description": "If specified, an\n[OIDC](https://developers.google.com/identity/protocols/OpenIDConnect)\ntoken will be generated and attached as an `Authorization` header in the\nHTTP request.\n\nThis type of authorization can be used for many scenarios, including\ncalling Cloud Run, or endpoints where you intend to validate the token\nyourself."
+          "description": "If specified, an [OIDC](https://developers.google.com/identity/protocols/OpenIDConnect) token will be generated and attached as an `Authorization` header in the HTTP request. This type of authorization can be used for many scenarios, including calling Cloud Run, or endpoints where you intend to validate the token yourself."
         },
         "url": {
-          "description": "Required. The full url path that the request will be sent to.\n\nThis string must begin with either \"http://\" or \"https://\". Some examples\nare: `http://acme.com` and `https://acme.com/sales:8080`. Cloud Tasks will\nencode some characters for safety and compatibility. The maximum allowed\nURL length is 2083 characters after encoding.\n\nThe `Location` header response from a redirect response [`300` - `399`]\nmay be followed. The redirect is not counted as a separate attempt.",
+          "description": "Required. The full url path that the request will be sent to. This string must begin with either \"http://\" or \"https://\". Some examples are: `http://acme.com` and `https://acme.com/sales:8080`. Cloud Tasks will encode some characters for safety and compatibility. The maximum allowed URL length is 2083 characters after encoding. The `Location` header response from a redirect response [`300` - `399`] may be followed. The redirect is not counted as a separate attempt.",
           "type": "string"
         }
       },
@@ -955,7 +965,7 @@
       "id": "ListQueuesResponse",
       "properties": {
         "nextPageToken": {
-          "description": "A token to retrieve next page of results.\n\nTo return the next page of results, call\nListQueues with this value as the\npage_token.\n\nIf the next_page_token is empty, there are no more results.\n\nThe page token is valid for only 2 hours.",
+          "description": "A token to retrieve next page of results. To return the next page of results, call ListQueues with this value as the page_token. If the next_page_token is empty, there are no more results. The page token is valid for only 2 hours.",
           "type": "string"
         },
         "queues": {
@@ -973,7 +983,7 @@
       "id": "ListTasksResponse",
       "properties": {
         "nextPageToken": {
-          "description": "A token to retrieve next page of results.\n\nTo return the next page of results, call\nListTasks with this value as the\npage_token.\n\nIf the next_page_token is empty, there are no more results.",
+          "description": "A token to retrieve next page of results. To return the next page of results, call ListTasks with this value as the page_token. If the next_page_token is empty, there are no more results.",
           "type": "string"
         },
         "tasks": {
@@ -991,14 +1001,14 @@
       "id": "Location",
       "properties": {
         "displayName": {
-          "description": "The friendly name for this location, typically a nearby city name.\nFor example, \"Tokyo\".",
+          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
           "type": "string"
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Cross-service attributes for the location. For example\n\n    {\"cloud.googleapis.com/region\": \"us-east1\"}",
+          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
           "type": "object"
         },
         "locationId": {
@@ -1010,41 +1020,41 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "Service-specific metadata. For example the available capacity at the given\nlocation.",
+          "description": "Service-specific metadata. For example the available capacity at the given location.",
           "type": "object"
         },
         "name": {
-          "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`",
+          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
           "type": "string"
         }
       },
       "type": "object"
     },
     "OAuthToken": {
-      "description": "Contains information needed for generating an\n[OAuth token](https://developers.google.com/identity/protocols/OAuth2).\nThis type of authorization should generally only be used when calling Google\nAPIs hosted on *.googleapis.com.",
+      "description": "Contains information needed for generating an [OAuth token](https://developers.google.com/identity/protocols/OAuth2). This type of authorization should generally only be used when calling Google APIs hosted on *.googleapis.com.",
       "id": "OAuthToken",
       "properties": {
         "scope": {
-          "description": "OAuth scope to be used for generating OAuth access token.\nIf not specified, \"https://www.googleapis.com/auth/cloud-platform\"\nwill be used.",
+          "description": "OAuth scope to be used for generating OAuth access token. If not specified, \"https://www.googleapis.com/auth/cloud-platform\" will be used.",
           "type": "string"
         },
         "serviceAccountEmail": {
-          "description": "[Service account email](https://cloud.google.com/iam/docs/service-accounts)\nto be used for generating OAuth token.\nThe service account must be within the same project as the queue. The\ncaller must have iam.serviceAccounts.actAs permission for the service\naccount.",
+          "description": "[Service account email](https://cloud.google.com/iam/docs/service-accounts) to be used for generating OAuth token. The service account must be within the same project as the queue. The caller must have iam.serviceAccounts.actAs permission for the service account.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "OidcToken": {
-      "description": "Contains information needed for generating an\n[OpenID Connect\ntoken](https://developers.google.com/identity/protocols/OpenIDConnect).\nThis type of authorization can be used for many scenarios, including\ncalling Cloud Run, or endpoints where you intend to validate the token\nyourself.",
+      "description": "Contains information needed for generating an [OpenID Connect token](https://developers.google.com/identity/protocols/OpenIDConnect). This type of authorization can be used for many scenarios, including calling Cloud Run, or endpoints where you intend to validate the token yourself.",
       "id": "OidcToken",
       "properties": {
         "audience": {
-          "description": "Audience to be used when generating OIDC token. If not specified, the URI\nspecified in target will be used.",
+          "description": "Audience to be used when generating OIDC token. If not specified, the URI specified in target will be used.",
           "type": "string"
         },
         "serviceAccountEmail": {
-          "description": "[Service account email](https://cloud.google.com/iam/docs/service-accounts)\nto be used for generating OIDC token.\nThe service account must be within the same project as the queue. The\ncaller must have iam.serviceAccounts.actAs permission for the service\naccount.",
+          "description": "[Service account email](https://cloud.google.com/iam/docs/service-accounts) to be used for generating OIDC token. The service account must be within the same project as the queue. The caller must have iam.serviceAccounts.actAs permission for the service account.",
           "type": "string"
         }
       },
@@ -1057,23 +1067,23 @@
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\n            \"user:eve@example.com\"\n          ],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "bindings": {
-          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
+          "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.",
           "items": {
             "$ref": "Binding"
           },
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
           "format": "byte",
           "type": "string"
         },
         "version": {
-          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -1087,36 +1097,36 @@
       "type": "object"
     },
     "Queue": {
-      "description": "A queue is a container of related tasks. Queues are configured to manage\nhow those tasks are dispatched. Configurable properties include rate limits,\nretry options, queue types, and others.",
+      "description": "A queue is a container of related tasks. Queues are configured to manage how those tasks are dispatched. Configurable properties include rate limits, retry options, queue types, and others.",
       "id": "Queue",
       "properties": {
         "appEngineRoutingOverride": {
           "$ref": "AppEngineRouting",
-          "description": "Overrides for\ntask-level app_engine_routing.\nThese settings apply only to\nApp Engine tasks in this queue.\nHttp tasks are not affected.\n\nIf set, `app_engine_routing_override` is used for all\nApp Engine tasks in the queue, no matter what the\nsetting is for the\ntask-level app_engine_routing."
+          "description": "Overrides for task-level app_engine_routing. These settings apply only to App Engine tasks in this queue. Http tasks are not affected. If set, `app_engine_routing_override` is used for all App Engine tasks in the queue, no matter what the setting is for the task-level app_engine_routing."
         },
         "name": {
-          "description": "Caller-specified and required in CreateQueue,\nafter which it becomes output only.\n\nThe queue name.\n\nThe queue name must have the following format:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`\n\n* `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),\n   hyphens (-), colons (:), or periods (.).\n   For more information, see\n   [Identifying\n   projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)\n* `LOCATION_ID` is the canonical ID for the queue's location.\n   The list of available locations can be obtained by calling\n   ListLocations.\n   For more information, see https://cloud.google.com/about/locations/.\n* `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or\n  hyphens (-). The maximum length is 100 characters.",
+          "description": "Caller-specified and required in CreateQueue, after which it becomes output only. The queue name. The queue name must have the following format: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens (-), colons (:), or periods (.). For more information, see [Identifying projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) * `LOCATION_ID` is the canonical ID for the queue's location. The list of available locations can be obtained by calling ListLocations. For more information, see https://cloud.google.com/about/locations/. * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or hyphens (-). The maximum length is 100 characters.",
           "type": "string"
         },
         "purgeTime": {
-          "description": "Output only. The last time this queue was purged.\n\nAll tasks that were created before this time\nwere purged.\n\nA queue can be purged using PurgeQueue, the\n[App Engine Task Queue SDK, or the Cloud\nConsole](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_queue).\n\nPurge time will be truncated to the nearest microsecond. Purge\ntime will be unset if the queue has never been purged.",
+          "description": "Output only. The last time this queue was purged. All tasks that were created before this time were purged. A queue can be purged using PurgeQueue, the [App Engine Task Queue SDK, or the Cloud Console](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_queue). Purge time will be truncated to the nearest microsecond. Purge time will be unset if the queue has never been purged.",
           "format": "google-datetime",
           "type": "string"
         },
         "rateLimits": {
           "$ref": "RateLimits",
-          "description": "Rate limits for task dispatches.\n\nrate_limits and retry_config are\nrelated because they both control task attempts. However they control task\nattempts in different ways:\n\n* rate_limits controls the total rate of\n  dispatches from a queue (i.e. all traffic dispatched from the\n  queue, regardless of whether the dispatch is from a first\n  attempt or a retry).\n* retry_config controls what happens to\n  particular a task after its first attempt fails. That is,\n  retry_config controls task retries (the\n  second attempt, third attempt, etc).\n\nThe queue's actual dispatch rate is the result of:\n\n* Number of tasks in the queue\n* User-specified throttling: rate_limits,\n  retry_config, and the\n  queue's state.\n* System throttling due to `429` (Too Many Requests) or `503` (Service\n  Unavailable) responses from the worker, high error rates, or to smooth\n  sudden large traffic spikes."
+          "description": "Rate limits for task dispatches. rate_limits and retry_config are related because they both control task attempts. However they control task attempts in different ways: * rate_limits controls the total rate of dispatches from a queue (i.e. all traffic dispatched from the queue, regardless of whether the dispatch is from a first attempt or a retry). * retry_config controls what happens to particular a task after its first attempt fails. That is, retry_config controls task retries (the second attempt, third attempt, etc). The queue's actual dispatch rate is the result of: * Number of tasks in the queue * User-specified throttling: rate_limits, retry_config, and the queue's state. * System throttling due to `429` (Too Many Requests) or `503` (Service Unavailable) responses from the worker, high error rates, or to smooth sudden large traffic spikes."
         },
         "retryConfig": {
           "$ref": "RetryConfig",
-          "description": "Settings that determine the retry behavior.\n\n* For tasks created using Cloud Tasks: the queue-level retry settings\n  apply to all tasks in the queue that were created using Cloud Tasks.\n  Retry settings cannot be set on individual tasks.\n* For tasks created using the App Engine SDK: the queue-level retry\n  settings apply to all tasks in the queue which do not have retry settings\n  explicitly set on the task and were created by the App Engine SDK. See\n  [App Engine\n  documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks)."
+          "description": "Settings that determine the retry behavior. * For tasks created using Cloud Tasks: the queue-level retry settings apply to all tasks in the queue that were created using Cloud Tasks. Retry settings cannot be set on individual tasks. * For tasks created using the App Engine SDK: the queue-level retry settings apply to all tasks in the queue which do not have retry settings explicitly set on the task and were created by the App Engine SDK. See [App Engine documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks)."
         },
         "stackdriverLoggingConfig": {
           "$ref": "StackdriverLoggingConfig",
-          "description": "Configuration options for writing logs to\n[Stackdriver Logging](https://cloud.google.com/logging/docs/). If this\nfield is unset, then no logs are written."
+          "description": "Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this field is unset, then no logs are written."
         },
         "state": {
-          "description": "Output only. The state of the queue.\n\n`state` can only be changed by called\nPauseQueue,\nResumeQueue, or uploading\n[queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config/queueref).\nUpdateQueue cannot be used to change `state`.",
+          "description": "Output only. The state of the queue. `state` can only be changed by called PauseQueue, ResumeQueue, or uploading [queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config/queueref). UpdateQueue cannot be used to change `state`.",
           "enum": [
             "STATE_UNSPECIFIED",
             "RUNNING",
@@ -1125,9 +1135,9 @@
           ],
           "enumDescriptions": [
             "Unspecified state.",
-            "The queue is running. Tasks can be dispatched.\n\nIf the queue was created using Cloud Tasks and the queue has\nhad no activity (method calls or task dispatches) for 30 days,\nthe queue may take a few minutes to re-activate. Some method\ncalls may return NOT_FOUND and\ntasks may not be dispatched for a few minutes until the queue\nhas been re-activated.",
-            "Tasks are paused by the user. If the queue is paused then Cloud\nTasks will stop delivering tasks from it, but more tasks can\nstill be added to it by the user.",
-            "The queue is disabled.\n\nA queue becomes `DISABLED` when\n[queue.yaml](https://cloud.google.com/appengine/docs/python/config/queueref)\nor\n[queue.xml](https://cloud.google.com/appengine/docs/standard/java/config/queueref)\nis uploaded which does not contain the queue. You cannot directly disable\na queue.\n\nWhen a queue is disabled, tasks can still be added to a queue\nbut the tasks are not dispatched.\n\nTo permanently delete this queue and all of its tasks, call\nDeleteQueue."
+            "The queue is running. Tasks can be dispatched. If the queue was created using Cloud Tasks and the queue has had no activity (method calls or task dispatches) for 30 days, the queue may take a few minutes to re-activate. Some method calls may return NOT_FOUND and tasks may not be dispatched for a few minutes until the queue has been re-activated.",
+            "Tasks are paused by the user. If the queue is paused then Cloud Tasks will stop delivering tasks from it, but more tasks can still be added to it by the user.",
+            "The queue is disabled. A queue becomes `DISABLED` when [queue.yaml](https://cloud.google.com/appengine/docs/python/config/queueref) or [queue.xml](https://cloud.google.com/appengine/docs/standard/java/config/queueref) is uploaded which does not contain the queue. You cannot directly disable a queue. When a queue is disabled, tasks can still be added to a queue but the tasks are not dispatched. To permanently delete this queue and all of its tasks, call DeleteQueue."
           ],
           "type": "string"
         }
@@ -1135,21 +1145,21 @@
       "type": "object"
     },
     "RateLimits": {
-      "description": "Rate limits.\n\nThis message determines the maximum rate that tasks can be dispatched by a\nqueue, regardless of whether the dispatch is a first task attempt or a retry.\n\nNote: The debugging command, RunTask, will run a task\neven if the queue has reached its RateLimits.",
+      "description": "Rate limits. This message determines the maximum rate that tasks can be dispatched by a queue, regardless of whether the dispatch is a first task attempt or a retry. Note: The debugging command, RunTask, will run a task even if the queue has reached its RateLimits.",
       "id": "RateLimits",
       "properties": {
         "maxBurstSize": {
-          "description": "Output only. The max burst size.\n\nMax burst size limits how fast tasks in queue are processed when\nmany tasks are in the queue and the rate is high. This field\nallows the queue to have a high rate so processing starts shortly\nafter a task is enqueued, but still limits resource usage when\nmany tasks are enqueued in a short period of time.\n\nThe [token bucket](https://wikipedia.org/wiki/Token_Bucket)\nalgorithm is used to control the rate of task dispatches. Each\nqueue has a token bucket that holds tokens, up to the maximum\nspecified by `max_burst_size`. Each time a task is dispatched, a\ntoken is removed from the bucket. Tasks will be dispatched until\nthe queue's bucket runs out of tokens. The bucket will be\ncontinuously refilled with new tokens based on\nmax_dispatches_per_second.\n\nCloud Tasks will pick the value of `max_burst_size` based on the\nvalue of\nmax_dispatches_per_second.\n\nFor queues that were created or updated using\n`queue.yaml/xml`, `max_burst_size` is equal to\n[bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size).\nSince `max_burst_size` is output only, if\nUpdateQueue is called on a queue\ncreated by `queue.yaml/xml`, `max_burst_size` will be reset based\non the value of\nmax_dispatches_per_second,\nregardless of whether\nmax_dispatches_per_second\nis updated.\n",
+          "description": "Output only. The max burst size. Max burst size limits how fast tasks in queue are processed when many tasks are in the queue and the rate is high. This field allows the queue to have a high rate so processing starts shortly after a task is enqueued, but still limits resource usage when many tasks are enqueued in a short period of time. The [token bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to control the rate of task dispatches. Each queue has a token bucket that holds tokens, up to the maximum specified by `max_burst_size`. Each time a task is dispatched, a token is removed from the bucket. Tasks will be dispatched until the queue's bucket runs out of tokens. The bucket will be continuously refilled with new tokens based on max_dispatches_per_second. Cloud Tasks will pick the value of `max_burst_size` based on the value of max_dispatches_per_second. For queues that were created or updated using `queue.yaml/xml`, `max_burst_size` is equal to [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). Since `max_burst_size` is output only, if UpdateQueue is called on a queue created by `queue.yaml/xml`, `max_burst_size` will be reset based on the value of max_dispatches_per_second, regardless of whether max_dispatches_per_second is updated. ",
           "format": "int32",
           "type": "integer"
         },
         "maxConcurrentDispatches": {
-          "description": "The maximum number of concurrent tasks that Cloud Tasks allows\nto be dispatched for this queue. After this threshold has been\nreached, Cloud Tasks stops dispatching tasks until the number of\nconcurrent requests decreases.\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\n\nThe maximum allowed value is 5,000.\n\n\nThis field has the same meaning as\n[max_concurrent_requests in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests).",
+          "description": "The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. After this threshold has been reached, Cloud Tasks stops dispatching tasks until the number of concurrent requests decreases. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 5,000. This field has the same meaning as [max_concurrent_requests in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests).",
           "format": "int32",
           "type": "integer"
         },
         "maxDispatchesPerSecond": {
-          "description": "The maximum rate at which tasks are dispatched from this queue.\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\n* The maximum allowed value is 500.\n\n\nThis field has the same meaning as\n[rate in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).",
+          "description": "The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).",
           "format": "double",
           "type": "number"
         }
@@ -1163,31 +1173,31 @@
       "type": "object"
     },
     "RetryConfig": {
-      "description": "Retry config.\n\nThese settings determine when a failed task attempt is retried.",
+      "description": "Retry config. These settings determine when a failed task attempt is retried.",
       "id": "RetryConfig",
       "properties": {
         "maxAttempts": {
-          "description": "Number of attempts per task.\n\nCloud Tasks will attempt the task `max_attempts` times (that is, if the\nfirst attempt fails, then there will be `max_attempts - 1` retries). Must\nbe \u003e= -1.\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\n-1 indicates unlimited attempts.\n\nThis field has the same meaning as\n[task_retry_limit in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
+          "description": "Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be \u003e= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
           "format": "int32",
           "type": "integer"
         },
         "maxBackoff": {
-          "description": "A task will be scheduled for retry between\nmin_backoff and\nmax_backoff duration after it fails,\nif the queue's RetryConfig specifies that the task should be\nretried.\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\n\n`max_backoff` will be truncated to the nearest second.\n\nThis field has the same meaning as\n[max_backoff_seconds in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
+          "description": "A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
           "format": "google-duration",
           "type": "string"
         },
         "maxDoublings": {
-          "description": "The time between retries will double `max_doublings` times.\n\nA task's retry interval starts at\nmin_backoff, then doubles\n`max_doublings` times, then increases linearly, and finally\nretries at intervals of\nmax_backoff up to\nmax_attempts times.\n\nFor example, if min_backoff is 10s,\nmax_backoff is 300s, and\n`max_doublings` is 3, then the a task will first be retried in\n10s. The retry interval will double three times, and then\nincrease linearly by 2^3 * 10s.  Finally, the task will retry at\nintervals of max_backoff until the\ntask has been attempted max_attempts\ntimes. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s,\n240s, 300s, 300s, ....\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\n\nThis field has the same meaning as\n[max_doublings in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
+          "description": "The time between retries will double `max_doublings` times. A task's retry interval starts at min_backoff, then doubles `max_doublings` times, then increases linearly, and finally retries at intervals of max_backoff up to max_attempts times. For example, if min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3, then the a task will first be retried in 10s. The retry interval will double three times, and then increase linearly by 2^3 * 10s. Finally, the task will retry at intervals of max_backoff until the task has been attempted max_attempts times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_doublings in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
           "format": "int32",
           "type": "integer"
         },
         "maxRetryDuration": {
-          "description": "If positive, `max_retry_duration` specifies the time limit for\nretrying a failed task, measured from when the task was first\nattempted. Once `max_retry_duration` time has passed *and* the\ntask has been attempted max_attempts\ntimes, no further attempts will be made and the task will be\ndeleted.\n\nIf zero, then the task age is unlimited.\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\n\n`max_retry_duration` will be truncated to the nearest second.\n\nThis field has the same meaning as\n[task_age_limit in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
+          "description": "If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
           "format": "google-duration",
           "type": "string"
         },
         "minBackoff": {
-          "description": "A task will be scheduled for retry between\nmin_backoff and\nmax_backoff duration after it fails,\nif the queue's RetryConfig specifies that the task should be\nretried.\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\n\n`min_backoff` will be truncated to the nearest second.\n\nThis field has the same meaning as\n[min_backoff_seconds in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
+          "description": "A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
           "format": "google-duration",
           "type": "string"
         }
@@ -1195,11 +1205,11 @@
       "type": "object"
     },
     "RunTaskRequest": {
-      "description": "Request message for forcing a task to run now using\nRunTask.",
+      "description": "Request message for forcing a task to run now using RunTask.",
       "id": "RunTaskRequest",
       "properties": {
         "responseView": {
-          "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Task resource.",
+          "description": "The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource.",
           "enum": [
             "VIEW_UNSPECIFIED",
             "BASIC",
@@ -1207,8 +1217,8 @@
           ],
           "enumDescriptions": [
             "Unspecified. Defaults to BASIC.",
-            "The basic view omits fields which can be large or can contain\nsensitive data.\n\nThis view does not include the\nbody in AppEngineHttpRequest.\nBodies are desirable to return only when needed, because they\ncan be large and because of the sensitivity of the data that you\nchoose to store in it.",
-            "All information is returned.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Queue resource."
+            "The basic view omits fields which can be large or can contain sensitive data. This view does not include the body in AppEngineHttpRequest. Bodies are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+            "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
           ],
           "type": "string"
         }
@@ -1221,17 +1231,17 @@
       "properties": {
         "policy": {
           "$ref": "Policy",
-          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
+          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them."
         }
       },
       "type": "object"
     },
     "StackdriverLoggingConfig": {
-      "description": "Configuration options for writing logs to\n[Stackdriver Logging](https://cloud.google.com/logging/docs/).",
+      "description": "Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/).",
       "id": "StackdriverLoggingConfig",
       "properties": {
         "samplingRatio": {
-          "description": "Specifies the fraction of operations to write to\n[Stackdriver Logging](https://cloud.google.com/logging/docs/).\nThis field may contain any value between 0.0 and 1.0, inclusive.\n0.0 is the default and means that no operations are logged.",
+          "description": "Specifies the fraction of operations to write to [Stackdriver Logging](https://cloud.google.com/logging/docs/). This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the default and means that no operations are logged.",
           "format": "double",
           "type": "number"
         }
@@ -1239,7 +1249,7 @@
       "type": "object"
     },
     "Status": {
-      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "Status",
       "properties": {
         "code": {
@@ -1248,7 +1258,7 @@
           "type": "integer"
         },
         "details": {
-          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -1259,7 +1269,7 @@
           "type": "array"
         },
         "message": {
-          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
           "type": "string"
         }
       },
@@ -1271,37 +1281,37 @@
       "properties": {
         "appEngineHttpRequest": {
           "$ref": "AppEngineHttpRequest",
-          "description": "HTTP request that is sent to the App Engine app handler.\n\nAn App Engine task is a task that has AppEngineHttpRequest set."
+          "description": "HTTP request that is sent to the App Engine app handler. An App Engine task is a task that has AppEngineHttpRequest set."
         },
         "createTime": {
-          "description": "Output only. The time that the task was created.\n\n`create_time` will be truncated to the nearest second.",
+          "description": "Output only. The time that the task was created. `create_time` will be truncated to the nearest second.",
           "format": "google-datetime",
           "type": "string"
         },
         "dispatchCount": {
-          "description": "Output only. The number of attempts dispatched.\n\nThis count includes attempts which have been dispatched but haven't\nreceived a response.",
+          "description": "Output only. The number of attempts dispatched. This count includes attempts which have been dispatched but haven't received a response.",
           "format": "int32",
           "type": "integer"
         },
         "dispatchDeadline": {
-          "description": "The deadline for requests sent to the worker. If the worker does not\nrespond by this deadline then the request is cancelled and the attempt\nis marked as a `DEADLINE_EXCEEDED` failure. Cloud Tasks will retry the\ntask according to the RetryConfig.\n\nNote that when the request is cancelled, Cloud Tasks will stop listening\nfor the response, but whether the worker stops processing depends on the\nworker. For example, if the worker is stuck, it may not react to cancelled\nrequests.\n\nThe default and maximum values depend on the type of request:\n\n* For HTTP tasks, the default is 10 minutes. The deadline\n  must be in the interval [15 seconds, 30 minutes].\n\n* For App Engine tasks, 0 indicates that the\n  request has the default deadline. The default deadline depends on the\n  [scaling\n  type](https://cloud.google.com/appengine/docs/standard/go/how-instances-are-managed#instance_scaling)\n  of the service: 10 minutes for standard apps with automatic scaling, 24\n  hours for standard apps with manual and basic scaling, and 60 minutes for\n  flex apps. If the request deadline is set, it must be in the interval [15\n  seconds, 24 hours 15 seconds]. Regardless of the task's\n  `dispatch_deadline`, the app handler will not run for longer than than\n  the service's timeout. We recommend setting the `dispatch_deadline` to\n  at most a few seconds more than the app handler's timeout. For more\n  information see\n  [Timeouts](https://cloud.google.com/tasks/docs/creating-appengine-handlers#timeouts).\n\n`dispatch_deadline` will be truncated to the nearest millisecond. The\ndeadline is an approximate deadline.",
+          "description": "The deadline for requests sent to the worker. If the worker does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. Cloud Tasks will retry the task according to the RetryConfig. Note that when the request is cancelled, Cloud Tasks will stop listening for the response, but whether the worker stops processing depends on the worker. For example, if the worker is stuck, it may not react to cancelled requests. The default and maximum values depend on the type of request: * For HTTP tasks, the default is 10 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine tasks, 0 indicates that the request has the default deadline. The default deadline depends on the [scaling type](https://cloud.google.com/appengine/docs/standard/go/how-instances-are-managed#instance_scaling) of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. Regardless of the task's `dispatch_deadline`, the app handler will not run for longer than than the service's timeout. We recommend setting the `dispatch_deadline` to at most a few seconds more than the app handler's timeout. For more information see [Timeouts](https://cloud.google.com/tasks/docs/creating-appengine-handlers#timeouts). `dispatch_deadline` will be truncated to the nearest millisecond. The deadline is an approximate deadline.",
           "format": "google-duration",
           "type": "string"
         },
         "firstAttempt": {
           "$ref": "Attempt",
-          "description": "Output only. The status of the task's first attempt.\n\nOnly dispatch_time will be set.\nThe other Attempt information is not retained by Cloud Tasks."
+          "description": "Output only. The status of the task's first attempt. Only dispatch_time will be set. The other Attempt information is not retained by Cloud Tasks."
         },
         "httpRequest": {
           "$ref": "HttpRequest",
-          "description": "HTTP request that is sent to the worker.\n\nAn HTTP task is a task that has HttpRequest set."
+          "description": "HTTP request that is sent to the worker. An HTTP task is a task that has HttpRequest set."
         },
         "lastAttempt": {
           "$ref": "Attempt",
           "description": "Output only. The status of the task's last attempt."
         },
         "name": {
-          "description": "Optionally caller-specified in CreateTask.\n\nThe task name.\n\nThe task name must have the following format:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`\n\n* `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),\n   hyphens (-), colons (:), or periods (.).\n   For more information, see\n   [Identifying\n   projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)\n* `LOCATION_ID` is the canonical ID for the task's location.\n   The list of available locations can be obtained by calling\n   ListLocations.\n   For more information, see https://cloud.google.com/about/locations/.\n* `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or\n  hyphens (-). The maximum length is 100 characters.\n* `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]),\n  hyphens (-), or underscores (_). The maximum length is 500 characters.",
+          "description": "Optionally caller-specified in CreateTask. The task name. The task name must have the following format: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens (-), colons (:), or periods (.). For more information, see [Identifying projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) * `LOCATION_ID` is the canonical ID for the task's location. The list of available locations can be obtained by calling ListLocations. For more information, see https://cloud.google.com/about/locations/. * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or hyphens (-). The maximum length is 100 characters. * `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]), hyphens (-), or underscores (_). The maximum length is 500 characters.",
           "type": "string"
         },
         "responseCount": {
@@ -1310,12 +1320,12 @@
           "type": "integer"
         },
         "scheduleTime": {
-          "description": "The time when the task is scheduled to be attempted or retried.\n\n`schedule_time` will be truncated to the nearest microsecond.",
+          "description": "The time when the task is scheduled to be attempted or retried. `schedule_time` will be truncated to the nearest microsecond.",
           "format": "google-datetime",
           "type": "string"
         },
         "view": {
-          "description": "Output only. The view specifies which subset of the Task has\nbeen returned.",
+          "description": "Output only. The view specifies which subset of the Task has been returned.",
           "enum": [
             "VIEW_UNSPECIFIED",
             "BASIC",
@@ -1323,8 +1333,8 @@
           ],
           "enumDescriptions": [
             "Unspecified. Defaults to BASIC.",
-            "The basic view omits fields which can be large or can contain\nsensitive data.\n\nThis view does not include the\nbody in AppEngineHttpRequest.\nBodies are desirable to return only when needed, because they\ncan be large and because of the sensitivity of the data that you\nchoose to store in it.",
-            "All information is returned.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Queue resource."
+            "The basic view omits fields which can be large or can contain sensitive data. This view does not include the body in AppEngineHttpRequest. Bodies are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+            "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
           ],
           "type": "string"
         }
@@ -1336,7 +1346,7 @@
       "id": "TestIamPermissionsRequest",
       "properties": {
         "permissions": {
-          "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
+          "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
           "items": {
             "type": "string"
           },
@@ -1350,7 +1360,7 @@
       "id": "TestIamPermissionsResponse",
       "properties": {
         "permissions": {
-          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
+          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
           "items": {
             "type": "string"
           },
diff --git a/cloudtasks/v2/cloudtasks-gen.go b/cloudtasks/v2/cloudtasks-gen.go
index 177792e..11f5c92 100644
--- a/cloudtasks/v2/cloudtasks-gen.go
+++ b/cloudtasks/v2/cloudtasks-gen.go
@@ -182,181 +182,96 @@
 	s *Service
 }
 
-// AppEngineHttpRequest: App Engine HTTP request.
-//
-// The message defines the HTTP request that is sent to an App Engine
-// app when
-// the task is dispatched.
-//
-// Using AppEngineHttpRequest
-// requires
-// [`appengine.applications.get`](https://cloud.google.com/appen
-// gine/docs/admin-api/access-control)
-// Google IAM permission for the project
-// and the following
-// scope:
-//
-// `https://www.googleapis.com/auth/cloud-platform`
-//
+// AppEngineHttpRequest: App Engine HTTP request. The message defines
+// the HTTP request that is sent to an App Engine app when the task is
+// dispatched. Using AppEngineHttpRequest requires
+// [`appengine.applications.get`](https://cloud.google.com/appengine/docs
+// /admin-api/access-control) Google IAM permission for the project and
+// the following scope: `https://www.googleapis.com/auth/cloud-platform`
 // The task will be delivered to the App Engine app which belongs to the
-// same
-// project as the queue. For more information, see
-// [How Requests
+// same project as the queue. For more information, see [How Requests
 // are
-// Routed](https://cloud.google.com/appengine/docs/standard/python/ho
-// w-requests-are-routed)
-// and how routing is affected
-// by
-// [dispatch
-// files](https://cloud.google.com/appengine/docs/python/con
-// fig/dispatchref).
-// Traffic is encrypted during transport and never leaves Google
-// datacenters.
-// Because this traffic is carried over a communication mechanism
-// internal to
-// Google, you cannot explicitly set the protocol (for example, HTTP or
-// HTTPS).
-// The request to the handler, however, will appear to have used the
-// HTTP
-// protocol.
-//
-// The AppEngineRouting used to construct the URL that the task
-// is
-// delivered to can be set at the queue-level or task-level:
-//
-// * If app_engine_routing_override is set on the
-//   queue, this value
-//   is used for all tasks in the queue, no matter what the setting is
-// for the
-//   task-level
-//   app_engine_routing.
-//
-//
-// The `url` that the task will be sent to is:
-//
-// * `url =` host `+`
-//   relative_uri
-//
+// Routed](https://cloud.google.com/appengine/docs/standard/python/how-re
+// quests-are-routed) and how routing is affected by [dispatch
+// files](https://cloud.google.com/appengine/docs/python/config/dispatchr
+// ef). Traffic is encrypted during transport and never leaves Google
+// datacenters. Because this traffic is carried over a communication
+// mechanism internal to Google, you cannot explicitly set the protocol
+// (for example, HTTP or HTTPS). The request to the handler, however,
+// will appear to have used the HTTP protocol. The AppEngineRouting used
+// to construct the URL that the task is delivered to can be set at the
+// queue-level or task-level: * If app_engine_routing_override is set on
+// the queue, this value is used for all tasks in the queue, no matter
+// what the setting is for the task-level app_engine_routing. The `url`
+// that the task will be sent to is: * `url =` host `+` relative_uri
 // Tasks can be dispatched to secure app handlers, unsecure app
-// handlers, and
-// URIs restricted
-// with
-// [`login:
-// admin`](https://cloud.google.com/appengine/docs/standard
-// /python/config/appref).
-// Because tasks are not run as any user, they cannot be dispatched to
-// URIs
-// restricted
-// with
-// [`login:
-// required`](https://cloud.google.com/appengine/docs/stand
-// ard/python/config/appref)
-// Task dispatches also do not follow redirects.
-//
-// The task attempt has succeeded if the app's request handler returns
-// an HTTP
+// handlers, and URIs restricted with [`login:
+// admin`](https://cloud.google.com/appengine/docs/standard/python/config
+// /appref). Because tasks are not run as any user, they cannot be
+// dispatched to URIs restricted with [`login:
+// required`](https://cloud.google.com/appengine/docs/standard/python/con
+// fig/appref) Task dispatches also do not follow redirects. The task
+// attempt has succeeded if the app's request handler returns an HTTP
 // response code in the range [`200` - `299`]. The task attempt has
-// failed if
-// the app's handler returns a non-2xx response code or Cloud Tasks
-// does
-// not receive response before the deadline. Failed
-// tasks will be retried according to the
-// retry configuration. `503` (Service Unavailable) is
-// considered an App Engine system error instead of an application error
-// and
-// will cause Cloud Tasks' traffic congestion control to temporarily
-// throttle
-// the queue's dispatches. Unlike other types of task targets, a `429`
-// (Too Many
-// Requests) response from an app handler does not cause traffic
-// congestion
-// control to throttle the queue.
+// failed if the app's handler returns a non-2xx response code or Cloud
+// Tasks does not receive response before the deadline. Failed tasks
+// will be retried according to the retry configuration. `503` (Service
+// Unavailable) is considered an App Engine system error instead of an
+// application error and will cause Cloud Tasks' traffic congestion
+// control to temporarily throttle the queue's dispatches. Unlike other
+// types of task targets, a `429` (Too Many Requests) response from an
+// app handler does not cause traffic congestion control to throttle the
+// queue.
 type AppEngineHttpRequest struct {
-	// AppEngineRouting: Task-level setting for App Engine routing.
-	//
-	// * If app_engine_routing_override is set on the
-	//   queue, this
-	//   value is used for all tasks in the queue, no matter what the
-	// setting is
-	//   for the task-level
-	//   app_engine_routing.
+	// AppEngineRouting: Task-level setting for App Engine routing. * If
+	// app_engine_routing_override is set on the queue, this value is used
+	// for all tasks in the queue, no matter what the setting is for the
+	// task-level app_engine_routing.
 	AppEngineRouting *AppEngineRouting `json:"appEngineRouting,omitempty"`
 
-	// Body: HTTP request body.
-	//
-	// A request body is allowed only if the HTTP method is POST or PUT. It
-	// is
-	// an error to set a body on a task with an incompatible HttpMethod.
+	// Body: HTTP request body. A request body is allowed only if the HTTP
+	// method is POST or PUT. It is an error to set a body on a task with an
+	// incompatible HttpMethod.
 	Body string `json:"body,omitempty"`
 
-	// Headers: HTTP request headers.
-	//
-	// This map contains the header field names and values.
-	// Headers can be set when the
-	// task is created.
+	// Headers: HTTP request headers. This map contains the header field
+	// names and values. Headers can be set when the task is created.
 	// Repeated headers are not supported but a header value can contain
-	// commas.
-	//
-	// Cloud Tasks sets some headers to default values:
-	//
-	// * `User-Agent`: By default, this header is
-	//   "AppEngine-Google; (+http://code.google.com/appengine)".
-	//   This header can be modified, but Cloud Tasks will append
-	//   "AppEngine-Google; (+http://code.google.com/appengine)" to the
-	//   modified `User-Agent`.
-	//
-	// If the task has a body, Cloud
-	// Tasks sets the following headers:
-	//
-	// * `Content-Type`: By default, the `Content-Type` header is set to
-	//   "application/octet-stream". The default can be overridden by
-	// explicitly
-	//   setting `Content-Type` to a particular media type when the
-	//   task is created.
-	//   For example, `Content-Type` can be set to "application/json".
-	// * `Content-Length`: This is computed by Cloud Tasks. This value is
-	//   output only.   It cannot be changed.
-	//
-	// The headers below cannot be set or overridden:
-	//
-	// * `Host`
-	// * `X-Google-*`
-	// * `X-AppEngine-*`
-	//
-	// In addition, Cloud Tasks sets some headers when the task is
-	// dispatched,
-	// such as headers containing information about the task;
-	// see
-	// [request
-	// headers](https://cloud.google.com/tasks/docs/creating-app
-	// engine-handlers#reading_request_headers).
-	// These headers are set only when the task is dispatched, so they are
-	// not
-	// visible when the task is returned in a Cloud Tasks
-	// response.
-	//
-	// Although there is no specific limit for the maximum number of headers
-	// or
-	// the size, there is a limit on the maximum size of the Task. For
-	// more
-	// information, see the CreateTask documentation.
+	// commas. Cloud Tasks sets some headers to default values: *
+	// `User-Agent`: By default, this header is "AppEngine-Google;
+	// (+http://code.google.com/appengine)". This header can be modified,
+	// but Cloud Tasks will append "AppEngine-Google;
+	// (+http://code.google.com/appengine)" to the modified `User-Agent`.
+	// If the task has a body, Cloud Tasks sets the following headers: *
+	// `Content-Type`: By default, the `Content-Type` header is set to
+	// "application/octet-stream". The default can be overridden by
+	// explicitly setting `Content-Type` to a particular media type when the
+	// task is created. For example, `Content-Type` can be set to
+	// "application/json". * `Content-Length`: This is computed by Cloud
+	// Tasks. This value is output only. It cannot be changed. The headers
+	// below cannot be set or overridden: * `Host` * `X-Google-*` *
+	// `X-AppEngine-*` In addition, Cloud Tasks sets some headers when the
+	// task is dispatched, such as headers containing information about the
+	// task; see [request
+	// headers](https://cloud.google.com/tasks/docs/creating-appengine-handle
+	// rs#reading_request_headers). These headers are set only when the task
+	// is dispatched, so they are not visible when the task is returned in a
+	// Cloud Tasks response. Although there is no specific limit for the
+	// maximum number of headers or the size, there is a limit on the
+	// maximum size of the Task. For more information, see the CreateTask
+	// documentation.
 	Headers map[string]string `json:"headers,omitempty"`
 
 	// HttpMethod: The HTTP method to use for the request. The default is
-	// POST.
-	//
-	// The app's request handler for the task's target URL must be able to
-	// handle
-	// HTTP requests with this http_method, otherwise the task attempt fails
-	// with
-	// error code 405 (Method Not Allowed). See [Writing a push task
-	// request
-	// handler](https://cloud.google.com/appengine/docs/java/taskqueu
-	// e/push/creating-handlers#writing_a_push_task_request_handler)
-	// and the App Engine documentation for your runtime on [How Requests
-	// are
-	// Handled](https://cloud.google.com/appengine/docs/standard/python3/
-	// how-requests-are-handled).
+	// POST. The app's request handler for the task's target URL must be
+	// able to handle HTTP requests with this http_method, otherwise the
+	// task attempt fails with error code 405 (Method Not Allowed). See
+	// [Writing a push task request
+	// handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/c
+	// reating-handlers#writing_a_push_task_request_handler) and the App
+	// Engine documentation for your runtime on [How Requests are
+	// Handled](https://cloud.google.com/appengine/docs/standard/python3/how-
+	// requests-are-handled).
 	//
 	// Possible values:
 	//   "HTTP_METHOD_UNSPECIFIED" - HTTP method unspecified
@@ -369,14 +284,11 @@
 	//   "OPTIONS" - HTTP OPTIONS
 	HttpMethod string `json:"httpMethod,omitempty"`
 
-	// RelativeUri: The relative URI.
-	//
-	// The relative URI must begin with "/" and must be a valid HTTP
-	// relative URI.
-	// It can contain a path and query string arguments.
-	// If the relative URI is empty, then the root path "/" will be used.
-	// No spaces are allowed, and the maximum length allowed is 2083
-	// characters.
+	// RelativeUri: The relative URI. The relative URI must begin with "/"
+	// and must be a valid HTTP relative URI. It can contain a path and
+	// query string arguments. If the relative URI is empty, then the root
+	// path "/" will be used. No spaces are allowed, and the maximum length
+	// allowed is 2083 characters.
 	RelativeUri string `json:"relativeUri,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AppEngineRouting") to
@@ -403,116 +315,63 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// AppEngineRouting: App Engine Routing.
-//
-// Defines routing characteristics specific to App Engine - service,
-// version,
-// and instance.
-//
-// For more information about services, versions, and instances see
-// [An Overview of
-// App
-// Engine](https://cloud.google.com/appengine/docs/python/an-overview
-// -of-app-engine),
-// [Microservices Architecture on Google
-// App
-// Engine](https://cloud.google.com/appengine/docs/python/microservic
-// es-on-app-engine),
-// [App Engine Standard
-// request
-// routing](https://cloud.google.com/appengine/docs/standard/pyth
-// on/how-requests-are-routed),
-// and [App Engine Flex
-// request
-// routing](https://cloud.google.com/appengine/docs/flexible/pyth
-// on/how-requests-are-routed).
-//
-// Using AppEngineRouting
-// requires
-// [`appengine.applications.get`](https://cloud.google.com/appen
-// gine/docs/admin-api/access-control)
-// Google IAM permission for the project
-// and the following
-// scope:
-//
-// `https://www.googleapis.com/auth/cloud-platform`
+// AppEngineRouting: App Engine Routing. Defines routing characteristics
+// specific to App Engine - service, version, and instance. For more
+// information about services, versions, and instances see [An Overview
+// of App
+// Engine](https://cloud.google.com/appengine/docs/python/an-overview-of-
+// app-engine), [Microservices Architecture on Google App
+// Engine](https://cloud.google.com/appengine/docs/python/microservices-o
+// n-app-engine), [App Engine Standard request
+// routing](https://cloud.google.com/appengine/docs/standard/python/how-r
+// equests-are-routed), and [App Engine Flex request
+// routing](https://cloud.google.com/appengine/docs/flexible/python/how-r
+// equests-are-routed). Using AppEngineRouting requires
+// [`appengine.applications.get`](https://cloud.google.com/appengine/docs
+// /admin-api/access-control) Google IAM permission for the project and
+// the following scope: `https://www.googleapis.com/auth/cloud-platform`
 type AppEngineRouting struct {
-	// Host: Output only. The host that the task is sent to.
-	//
-	// The host is constructed from the domain name of the app associated
-	// with
-	// the queue's project ID (for example <app-id>.appspot.com), and
-	// the
-	// service, version,
-	// and instance. Tasks which were created using
-	// the App Engine SDK might have a custom domain name.
-	//
-	// For more information, see
-	// [How Requests
-	// are
-	// Routed](https://cloud.google.com/appengine/docs/standard/python/ho
-	// w-requests-are-routed).
+	// Host: Output only. The host that the task is sent to. The host is
+	// constructed from the domain name of the app associated with the
+	// queue's project ID (for example .appspot.com), and the service,
+	// version, and instance. Tasks which were created using the App Engine
+	// SDK might have a custom domain name. For more information, see [How
+	// Requests are
+	// Routed](https://cloud.google.com/appengine/docs/standard/python/how-re
+	// quests-are-routed).
 	Host string `json:"host,omitempty"`
 
-	// Instance: App instance.
-	//
-	// By default, the task is sent to an instance which is available
-	// when
-	// the task is attempted.
-	//
-	// Requests can only be sent to a specific instance if
-	// [manual scaling is used in App
-	// Engine
-	// Standard](https://cloud.google.com/appengine/docs/python/an-ove
-	// rview-of-app-engine?hl=en_US#scaling_types_and_instance_classes).
-	// App Engine Flex does not support instances. For more information,
-	// see
-	// [App Engine Standard
-	// request
-	// routing](https://cloud.google.com/appengine/docs/standard/pyth
-	// on/how-requests-are-routed)
-	// and [App Engine Flex
-	// request
-	// routing](https://cloud.google.com/appengine/docs/flexible/pyth
-	// on/how-requests-are-routed).
+	// Instance: App instance. By default, the task is sent to an instance
+	// which is available when the task is attempted. Requests can only be
+	// sent to a specific instance if [manual scaling is used in App Engine
+	// Standard](https://cloud.google.com/appengine/docs/python/an-overview-o
+	// f-app-engine?hl=en_US#scaling_types_and_instance_classes). App Engine
+	// Flex does not support instances. For more information, see [App
+	// Engine Standard request
+	// routing](https://cloud.google.com/appengine/docs/standard/python/how-r
+	// equests-are-routed) and [App Engine Flex request
+	// routing](https://cloud.google.com/appengine/docs/flexible/python/how-r
+	// equests-are-routed).
 	Instance string `json:"instance,omitempty"`
 
-	// Service: App service.
-	//
-	// By default, the task is sent to the service which is the
-	// default
-	// service when the task is attempted.
-	//
-	// For some queues or tasks which were created using the App Engine
-	// Task Queue API, host is not parsable
-	// into service,
-	// version, and
-	// instance. For example, some tasks
-	// which were created using the App Engine SDK use a custom domain
-	// name; custom domains are not parsed by Cloud Tasks. If
-	// host is not parsable, then
-	// service,
-	// version, and
-	// instance are the empty string.
+	// Service: App service. By default, the task is sent to the service
+	// which is the default service when the task is attempted. For some
+	// queues or tasks which were created using the App Engine Task Queue
+	// API, host is not parsable into service, version, and instance. For
+	// example, some tasks which were created using the App Engine SDK use a
+	// custom domain name; custom domains are not parsed by Cloud Tasks. If
+	// host is not parsable, then service, version, and instance are the
+	// empty string.
 	Service string `json:"service,omitempty"`
 
-	// Version: App version.
-	//
-	// By default, the task is sent to the version which is the
-	// default
-	// version when the task is attempted.
-	//
-	// For some queues or tasks which were created using the App Engine
-	// Task Queue API, host is not parsable
-	// into service,
-	// version, and
-	// instance. For example, some tasks
-	// which were created using the App Engine SDK use a custom domain
-	// name; custom domains are not parsed by Cloud Tasks. If
-	// host is not parsable, then
-	// service,
-	// version, and
-	// instance are the empty string.
+	// Version: App version. By default, the task is sent to the version
+	// which is the default version when the task is attempted. For some
+	// queues or tasks which were created using the App Engine Task Queue
+	// API, host is not parsable into service, version, and instance. For
+	// example, some tasks which were created using the App Engine SDK use a
+	// custom domain name; custom domains are not parsed by Cloud Tasks. If
+	// host is not parsable, then service, version, and instance are the
+	// empty string.
 	Version string `json:"version,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Host") to
@@ -540,29 +399,22 @@
 
 // Attempt: The status of a task attempt.
 type Attempt struct {
-	// DispatchTime: Output only. The time that this attempt was
-	// dispatched.
-	//
+	// DispatchTime: Output only. The time that this attempt was dispatched.
 	// `dispatch_time` will be truncated to the nearest microsecond.
 	DispatchTime string `json:"dispatchTime,omitempty"`
 
 	// ResponseStatus: Output only. The response from the worker for this
-	// attempt.
-	//
-	// If `response_time` is unset, then the task has not been attempted or
-	// is
-	// currently running and the `response_status` field is meaningless.
+	// attempt. If `response_time` is unset, then the task has not been
+	// attempted or is currently running and the `response_status` field is
+	// meaningless.
 	ResponseStatus *Status `json:"responseStatus,omitempty"`
 
 	// ResponseTime: Output only. The time that this attempt response was
-	// received.
-	//
-	// `response_time` will be truncated to the nearest microsecond.
+	// received. `response_time` will be truncated to the nearest
+	// microsecond.
 	ResponseTime string `json:"responseTime,omitempty"`
 
-	// ScheduleTime: Output only. The time that this attempt was
-	// scheduled.
-	//
+	// ScheduleTime: Output only. The time that this attempt was scheduled.
 	// `schedule_time` will be truncated to the nearest microsecond.
 	ScheduleTime string `json:"scheduleTime,omitempty"`
 
@@ -591,95 +443,53 @@
 
 // Binding: Associates `members` with a `role`.
 type Binding struct {
-	// Condition: The condition that is associated with this binding.
-	//
-	// If the condition evaluates to `true`, then this binding applies to
-	// the
-	// current request.
-	//
-	// If the condition evaluates to `false`, then this binding does not
-	// apply to
-	// the current request. However, a different role binding might grant
-	// the same
-	// role to one or more of the members in this binding.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// Condition: The condition that is associated with this binding. If the
+	// condition evaluates to `true`, then this binding applies to the
+	// current request. If the condition evaluates to `false`, then this
+	// binding does not apply to the current request. However, a different
+	// role binding might grant the same role to one or more of the members
+	// in this binding. To learn which resources support conditions in their
+	// IAM policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	Condition *Expr `json:"condition,omitempty"`
 
 	// Members: Specifies the identities requesting access for a Cloud
-	// Platform resource.
-	// `members` can have the following values:
-	//
-	// * `allUsers`: A special identifier that represents anyone who is
-	//    on the internet; with or without a Google account.
-	//
-	// * `allAuthenticatedUsers`: A special identifier that represents
-	// anyone
-	//    who is authenticated with a Google account or a service
-	// account.
-	//
-	// * `user:{emailid}`: An email address that represents a specific
-	// Google
-	//    account. For example, `alice@example.com` .
-	//
-	//
-	// * `serviceAccount:{emailid}`: An email address that represents a
-	// service
-	//    account. For example,
-	// `my-other-app@appspot.gserviceaccount.com`.
-	//
-	// * `group:{emailid}`: An email address that represents a Google
-	// group.
-	//    For example, `admins@example.com`.
-	//
-	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a user that has been recently deleted.
-	// For
-	//    example, `alice@example.com?uid=123456789012345678901`. If the
-	// user is
-	//    recovered, this value reverts to `user:{emailid}` and the
-	// recovered user
-	//    retains the role in the binding.
-	//
-	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
-	// (plus
-	//    unique identifier) representing a service account that has been
-	// recently
-	//    deleted. For example,
-	//
+	// Platform resource. `members` can have the following values: *
+	// `allUsers`: A special identifier that represents anyone who is on the
+	// internet; with or without a Google account. *
+	// `allAuthenticatedUsers`: A special identifier that represents anyone
+	// who is authenticated with a Google account or a service account. *
+	// `user:{emailid}`: An email address that represents a specific Google
+	// account. For example, `alice@example.com` . *
+	// `serviceAccount:{emailid}`: An email address that represents a
+	// service account. For example,
+	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
+	// email address that represents a Google group. For example,
+	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
+	// email address (plus unique identifier) representing a user that has
+	// been recently deleted. For example,
+	// `alice@example.com?uid=123456789012345678901`. If the user is
+	// recovered, this value reverts to `user:{emailid}` and the recovered
+	// user retains the role in the binding. *
+	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
+	// (plus unique identifier) representing a service account that has been
+	// recently deleted. For example,
 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
-	//
-	//    If the service account is undeleted, this value reverts to
-	//    `serviceAccount:{emailid}` and the undeleted service account
-	// retains the
-	//    role in the binding.
-	//
-	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a Google group that has been recently
-	//    deleted. For example,
-	// `admins@example.com?uid=123456789012345678901`. If
-	//    the group is recovered, this value reverts to `group:{emailid}`
-	// and the
-	//    recovered group retains the role in the binding.
-	//
-	//
-	// * `domain:{domain}`: The G Suite domain (primary) that represents all
-	// the
-	//    users of that domain. For example, `google.com` or
-	// `example.com`.
-	//
-	//
+	// If the service account is undeleted, this value reverts to
+	// `serviceAccount:{emailid}` and the undeleted service account retains
+	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
+	// An email address (plus unique identifier) representing a Google group
+	// that has been recently deleted. For example,
+	// `admins@example.com?uid=123456789012345678901`. If the group is
+	// recovered, this value reverts to `group:{emailid}` and the recovered
+	// group retains the role in the binding. * `domain:{domain}`: The G
+	// Suite domain (primary) that represents all the users of that domain.
+	// For example, `google.com` or `example.com`.
 	Members []string `json:"members,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`.
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -708,84 +518,50 @@
 // CreateTaskRequest: Request message for CreateTask.
 type CreateTaskRequest struct {
 	// ResponseView: The response_view specifies which subset of the Task
-	// will be
-	// returned.
-	//
-	// By default response_view is BASIC; not all
-	// information is retrieved by default because some data, such
-	// as
-	// payloads, might be desirable to return only when needed because
-	// of its large size or because of the sensitivity of data that
-	// it
-	// contains.
-	//
-	// Authorization for FULL requires
-	// `cloudtasks.tasks.fullView` [Google
-	// IAM](https://cloud.google.com/iam/)
-	// permission on the Task resource.
+	// will be returned. By default response_view is BASIC; not all
+	// information is retrieved by default because some data, such as
+	// payloads, might be desirable to return only when needed because of
+	// its large size or because of the sensitivity of data that it
+	// contains. Authorization for FULL requires `cloudtasks.tasks.fullView`
+	// [Google IAM](https://cloud.google.com/iam/) permission on the Task
+	// resource.
 	//
 	// Possible values:
 	//   "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC.
 	//   "BASIC" - The basic view omits fields which can be large or can
-	// contain
-	// sensitive data.
-	//
-	// This view does not include the
-	// body in AppEngineHttpRequest.
-	// Bodies are desirable to return only when needed, because they
-	// can be large and because of the sensitivity of the data that
-	// you
-	// choose to store in it.
-	//   "FULL" - All information is returned.
-	//
-	// Authorization for FULL requires
-	// `cloudtasks.tasks.fullView` [Google
-	// IAM](https://cloud.google.com/iam/)
-	// permission on the Queue resource.
+	// contain sensitive data. This view does not include the body in
+	// AppEngineHttpRequest. Bodies are desirable to return only when
+	// needed, because they can be large and because of the sensitivity of
+	// the data that you choose to store in it.
+	//   "FULL" - All information is returned. Authorization for FULL
+	// requires `cloudtasks.tasks.fullView` [Google
+	// IAM](https://cloud.google.com/iam/) permission on the Queue resource.
 	ResponseView string `json:"responseView,omitempty"`
 
-	// Task: Required. The task to add.
-	//
-	// Task names have the following
+	// Task: Required. The task to add. Task names have the following
 	// format:
-	// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tas
-	// ks/TASK_ID`.
-	// The user can optionally specify a task name. If a
-	// name is not specified then the system will generate a random
-	// unique task id, which will be set in the task returned in
-	// the
-	// response.
-	//
-	// If schedule_time is not set or is in the
-	// past then Cloud Tasks will set it to the current time.
-	//
-	// Task De-duplication:
-	//
-	// Explicitly specifying a task ID enables task de-duplication.  If
-	// a task's ID is identical to that of an existing task or a task
-	// that was deleted or executed recently then the call will fail
-	// with ALREADY_EXISTS.
-	// If the task's queue was created using Cloud Tasks, then another task
-	// with
-	// the same name can't be created for ~1hour after the original task
-	// was
-	// deleted or executed. If the task's queue was created using queue.yaml
-	// or
-	// queue.xml, then another task with the same name can't be created
-	// for ~9days after the original task was deleted or executed.
-	//
-	// Because there is an extra lookup cost to identify duplicate
-	// task
-	// names, these CreateTask calls have significantly
-	// increased latency. Using hashed strings for the task id or for
-	// the prefix of the task id is recommended. Choosing task ids that
-	// are sequential or have sequential prefixes, for example using
-	// a
-	// timestamp, causes an increase in latency and error rates in all
-	// task commands. The infrastructure relies on an approximately
-	// uniform distribution of task ids to store and serve
-	// tasks
-	// efficiently.
+	// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_
+	// ID`. The user can optionally specify a task name. If a name is not
+	// specified then the system will generate a random unique task id,
+	// which will be set in the task returned in the response. If
+	// schedule_time is not set or is in the past then Cloud Tasks will set
+	// it to the current time. Task De-duplication: Explicitly specifying a
+	// task ID enables task de-duplication. If a task's ID is identical to
+	// that of an existing task or a task that was deleted or executed
+	// recently then the call will fail with ALREADY_EXISTS. If the task's
+	// queue was created using Cloud Tasks, then another task with the same
+	// name can't be created for ~1hour after the original task was deleted
+	// or executed. If the task's queue was created using queue.yaml or
+	// queue.xml, then another task with the same name can't be created for
+	// ~9days after the original task was deleted or executed. Because there
+	// is an extra lookup cost to identify duplicate task names, these
+	// CreateTask calls have significantly increased latency. Using hashed
+	// strings for the task id or for the prefix of the task id is
+	// recommended. Choosing task ids that are sequential or have sequential
+	// prefixes, for example using a timestamp, causes an increase in
+	// latency and error rates in all task commands. The infrastructure
+	// relies on an approximately uniform distribution of task ids to store
+	// and serve tasks efficiently.
 	Task *Task `json:"task,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ResponseView") to
@@ -812,17 +588,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -830,65 +600,40 @@
 }
 
 // Expr: Represents a textual expression in the Common Expression
-// Language (CEL)
-// syntax. CEL is a C-like expression language. The syntax and semantics
-// of CEL
-// are documented at https://github.com/google/cel-spec.
-//
-// Example (Comparison):
-//
-//     title: "Summary size limit"
-//     description: "Determines if a summary is less than 100 chars"
-//     expression: "document.summary.size() < 100"
-//
-// Example (Equality):
-//
-//     title: "Requestor is owner"
-//     description: "Determines if requestor is the document owner"
-//     expression: "document.owner ==
-// request.auth.claims.email"
-//
-// Example (Logic):
-//
-//     title: "Public documents"
-//     description: "Determine whether the document should be publicly
-// visible"
-//     expression: "document.type != 'private' && document.type !=
-// 'internal'"
-//
-// Example (Data Manipulation):
-//
-//     title: "Notification string"
-//     description: "Create a notification string with a timestamp."
-//     expression: "'New message received at ' +
-// string(document.create_time)"
-//
-// The exact variables and functions that may be referenced within an
-// expression
-// are determined by the service that evaluates it. See the
-// service
-// documentation for additional information.
+// Language (CEL) syntax. CEL is a C-like expression language. The
+// syntax and semantics of CEL are documented at
+// https://github.com/google/cel-spec. Example (Comparison): title:
+// "Summary size limit" description: "Determines if a summary is less
+// than 100 chars" expression: "document.summary.size() < 100" Example
+// (Equality): title: "Requestor is owner" description: "Determines if
+// requestor is the document owner" expression: "document.owner ==
+// request.auth.claims.email" Example (Logic): title: "Public documents"
+// description: "Determine whether the document should be publicly
+// visible" expression: "document.type != 'private' && document.type !=
+// 'internal'" Example (Data Manipulation): title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' +
+// string(document.create_time)" The exact variables and functions that
+// may be referenced within an expression are determined by the service
+// that evaluates it. See the service documentation for additional
+// information.
 type Expr struct {
 	// Description: Optional. Description of the expression. This is a
-	// longer text which
-	// describes the expression, e.g. when hovered over it in a UI.
+	// longer text which describes the expression, e.g. when hovered over it
+	// in a UI.
 	Description string `json:"description,omitempty"`
 
 	// Expression: Textual representation of an expression in Common
-	// Expression Language
-	// syntax.
+	// Expression Language syntax.
 	Expression string `json:"expression,omitempty"`
 
 	// Location: Optional. String indicating the location of the expression
-	// for error
-	// reporting, e.g. a file name and a position in the file.
+	// for error reporting, e.g. a file name and a position in the file.
 	Location string `json:"location,omitempty"`
 
 	// Title: Optional. Title for the expression, i.e. a short string
-	// describing
-	// its purpose. This can be used e.g. in UIs which allow to enter
-	// the
-	// expression.
+	// describing its purpose. This can be used e.g. in UIs which allow to
+	// enter the expression.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -917,8 +662,7 @@
 // GetIamPolicyRequest: Request message for `GetIamPolicy` method.
 type GetIamPolicyRequest struct {
 	// Options: OPTIONAL: A `GetPolicyOptions` object for specifying options
-	// to
-	// `GetIamPolicy`.
+	// to `GetIamPolicy`.
 	Options *GetPolicyOptions `json:"options,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Options") to
@@ -947,24 +691,14 @@
 // GetPolicyOptions: Encapsulates settings provided to GetIamPolicy.
 type GetPolicyOptions struct {
 	// RequestedPolicyVersion: Optional. The policy format version to be
-	// returned.
-	//
-	// Valid values are 0, 1, and 3. Requests specifying an invalid value
-	// will be
-	// rejected.
-	//
-	// Requests for policies with any conditional bindings must specify
-	// version 3.
-	// Policies without any conditional bindings may specify any valid value
-	// or
-	// leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// returned. Valid values are 0, 1, and 3. Requests specifying an
+	// invalid value will be rejected. Requests for policies with any
+	// conditional bindings must specify version 3. Policies without any
+	// conditional bindings may specify any valid value or leave the field
+	// unset. To learn which resources support conditions in their IAM
+	// policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	RequestedPolicyVersion int64 `json:"requestedPolicyVersion,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -992,88 +726,46 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// HttpRequest: HTTP request.
-//
-// The task will be pushed to the worker as an HTTP request. If the
-// worker
-// or the redirected worker acknowledges the task by returning a
-// successful HTTP
-// response code ([`200` - `299`]), the task will be removed from the
-// queue. If
-// any other HTTP response code is returned or no response is received,
-// the
-// task will be retried according to the following:
-//
-// * User-specified throttling: retry configuration,
-//   rate limits, and the queue's state.
-//
-// * System throttling: To prevent the worker from overloading, Cloud
-// Tasks may
-//   temporarily reduce the queue's effective rate. User-specified
-// settings
-//   will not be changed.
-//
-//  System throttling happens because:
-//
-//   * Cloud Tasks backs off on all errors. Normally the backoff
-// specified in
-//     rate limits will be used. But if the worker returns
-//     `429` (Too Many Requests), `503` (Service Unavailable), or the
-// rate of
-//     errors is high, Cloud Tasks will use a higher backoff rate. The
-// retry
-//     specified in the `Retry-After` HTTP response header is
-// considered.
-//
-//   * To prevent traffic spikes and to smooth sudden increases in
-// traffic,
-//     dispatches ramp up slowly when the queue is newly created or idle
-// and
-//     if large numbers of tasks suddenly become available to dispatch
-// (due to
-//     spikes in create task rates, the queue being unpaused, or many
-// tasks
-//     that are scheduled at the same time).
+// HttpRequest: HTTP request. The task will be pushed to the worker as
+// an HTTP request. If the worker or the redirected worker acknowledges
+// the task by returning a successful HTTP response code ([`200` -
+// `299`]), the task will be removed from the queue. If any other HTTP
+// response code is returned or no response is received, the task will
+// be retried according to the following: * User-specified throttling:
+// retry configuration, rate limits, and the queue's state. * System
+// throttling: To prevent the worker from overloading, Cloud Tasks may
+// temporarily reduce the queue's effective rate. User-specified
+// settings will not be changed. System throttling happens because: *
+// Cloud Tasks backs off on all errors. Normally the backoff specified
+// in rate limits will be used. But if the worker returns `429` (Too
+// Many Requests), `503` (Service Unavailable), or the rate of errors is
+// high, Cloud Tasks will use a higher backoff rate. The retry specified
+// in the `Retry-After` HTTP response header is considered. * To prevent
+// traffic spikes and to smooth sudden increases in traffic, dispatches
+// ramp up slowly when the queue is newly created or idle and if large
+// numbers of tasks suddenly become available to dispatch (due to spikes
+// in create task rates, the queue being unpaused, or many tasks that
+// are scheduled at the same time).
 type HttpRequest struct {
-	// Body: HTTP request body.
-	//
-	// A request body is allowed only if the
-	// HTTP method is POST, PUT, or PATCH. It is an
-	// error to set body on a task with an incompatible HttpMethod.
+	// Body: HTTP request body. A request body is allowed only if the HTTP
+	// method is POST, PUT, or PATCH. It is an error to set body on a task
+	// with an incompatible HttpMethod.
 	Body string `json:"body,omitempty"`
 
-	// Headers: HTTP request headers.
-	//
-	// This map contains the header field names and values.
-	// Headers can be set when the
-	// task is created.
-	//
-	// These headers represent a subset of the headers that will accompany
-	// the
+	// Headers: HTTP request headers. This map contains the header field
+	// names and values. Headers can be set when the task is created. These
+	// headers represent a subset of the headers that will accompany the
 	// task's HTTP request. Some HTTP request headers will be ignored or
-	// replaced.
-	//
-	// A partial list of headers that will be ignored or replaced is:
-	//
-	// * Host: This will be computed by Cloud Tasks and derived from
-	//   HttpRequest.url.
-	// * Content-Length: This will be computed by Cloud Tasks.
-	// * User-Agent: This will be set to "Google-Cloud-Tasks".
-	// * X-Google-*: Google use only.
-	// * X-AppEngine-*: Google use only.
-	//
-	// `Content-Type` won't be set by Cloud Tasks. You can explicitly
-	// set
-	// `Content-Type` to a media type when the
-	//  task is created.
-	//  For example, `Content-Type` can be set to
-	// "application/octet-stream" or
-	//  "application/json".
-	//
-	// Headers which can have multiple values (according to RFC2616) can
-	// be
-	// specified using comma-separated values.
-	//
+	// replaced. A partial list of headers that will be ignored or replaced
+	// is: * Host: This will be computed by Cloud Tasks and derived from
+	// HttpRequest.url. * Content-Length: This will be computed by Cloud
+	// Tasks. * User-Agent: This will be set to "Google-Cloud-Tasks". *
+	// X-Google-*: Google use only. * X-AppEngine-*: Google use only.
+	// `Content-Type` won't be set by Cloud Tasks. You can explicitly set
+	// `Content-Type` to a media type when the task is created. For example,
+	// `Content-Type` can be set to "application/octet-stream" or
+	// "application/json". Headers which can have multiple values
+	// (according to RFC2616) can be specified using comma-separated values.
 	// The size of the headers must be less than 80KB.
 	Headers map[string]string `json:"headers,omitempty"`
 
@@ -1091,46 +783,27 @@
 	//   "OPTIONS" - HTTP OPTIONS
 	HttpMethod string `json:"httpMethod,omitempty"`
 
-	// OauthToken: If specified, an
-	// [OAuth
-	// token](https://developers.google.com/identity/protocols/OAuth2)
-	// will be generated and attached as an `Authorization` header in the
-	// HTTP
-	// request.
-	//
-	// This type of authorization should generally only be used when
-	// calling
-	// Google APIs hosted on *.googleapis.com.
+	// OauthToken: If specified, an [OAuth
+	// token](https://developers.google.com/identity/protocols/OAuth2) will
+	// be generated and attached as an `Authorization` header in the HTTP
+	// request. This type of authorization should generally only be used
+	// when calling Google APIs hosted on *.googleapis.com.
 	OauthToken *OAuthToken `json:"oauthToken,omitempty"`
 
-	// OidcToken: If specified,
-	// an
-	// [OIDC](https://developers.google.com/identity/protocols/OpenIDConne
-	// ct)
-	// token will be generated and attached as an `Authorization` header in
-	// the
-	// HTTP request.
-	//
-	// This type of authorization can be used for many scenarios,
-	// including
-	// calling Cloud Run, or endpoints where you intend to validate the
-	// token
-	// yourself.
+	// OidcToken: If specified, an
+	// [OIDC](https://developers.google.com/identity/protocols/OpenIDConnect)
+	//  token will be generated and attached as an `Authorization` header in
+	// the HTTP request. This type of authorization can be used for many
+	// scenarios, including calling Cloud Run, or endpoints where you intend
+	// to validate the token yourself.
 	OidcToken *OidcToken `json:"oidcToken,omitempty"`
 
-	// Url: Required. The full url path that the request will be sent
-	// to.
-	//
+	// Url: Required. The full url path that the request will be sent to.
 	// This string must begin with either "http://" or "https://". Some
-	// examples
-	// are: `http://acme.com` and `https://acme.com/sales:8080`. Cloud Tasks
-	// will
-	// encode some characters for safety and compatibility. The maximum
-	// allowed
-	// URL length is 2083 characters after encoding.
-	//
-	// The `Location` header response from a redirect response [`300` -
-	// `399`]
+	// examples are: `http://acme.com` and `https://acme.com/sales:8080`.
+	// Cloud Tasks will encode some characters for safety and compatibility.
+	// The maximum allowed URL length is 2083 characters after encoding. The
+	// `Location` header response from a redirect response [`300` - `399`]
 	// may be followed. The redirect is not counted as a separate attempt.
 	Url string `json:"url,omitempty"`
 
@@ -1196,15 +869,10 @@
 
 // ListQueuesResponse: Response message for ListQueues.
 type ListQueuesResponse struct {
-	// NextPageToken: A token to retrieve next page of results.
-	//
-	// To return the next page of results, call
-	// ListQueues with this value as the
-	// page_token.
-	//
-	// If the next_page_token is empty, there are no more results.
-	//
-	// The page token is valid for only 2 hours.
+	// NextPageToken: A token to retrieve next page of results. To return
+	// the next page of results, call ListQueues with this value as the
+	// page_token. If the next_page_token is empty, there are no more
+	// results. The page token is valid for only 2 hours.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Queues: The list of queues.
@@ -1240,13 +908,10 @@
 // ListTasksResponse: Response message for listing tasks using
 // ListTasks.
 type ListTasksResponse struct {
-	// NextPageToken: A token to retrieve next page of results.
-	//
-	// To return the next page of results, call
-	// ListTasks with this value as the
-	// page_token.
-	//
-	// If the next_page_token is empty, there are no more results.
+	// NextPageToken: A token to retrieve next page of results. To return
+	// the next page of results, call ListTasks with this value as the
+	// page_token. If the next_page_token is empty, there are no more
+	// results.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Tasks: The list of tasks.
@@ -1282,13 +947,11 @@
 // Location: A resource that represents Google Cloud Platform location.
 type Location struct {
 	// DisplayName: The friendly name for this location, typically a nearby
-	// city name.
-	// For example, "Tokyo".
+	// city name. For example, "Tokyo".
 	DisplayName string `json:"displayName,omitempty"`
 
 	// Labels: Cross-service attributes for the location. For example
-	//
-	//     {"cloud.googleapis.com/region": "us-east1"}
+	// {"cloud.googleapis.com/region": "us-east1"}
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// LocationId: The canonical id for this location. For example:
@@ -1296,13 +959,12 @@
 	LocationId string `json:"locationId,omitempty"`
 
 	// Metadata: Service-specific metadata. For example the available
-	// capacity at the given
-	// location.
+	// capacity at the given location.
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Name: Resource name for the location, which may vary between
-	// implementations.
-	// For example: "projects/example-project/locations/us-east1"
+	// implementations. For example:
+	// "projects/example-project/locations/us-east1"
 	Name string `json:"name,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1332,27 +994,21 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// OAuthToken: Contains information needed for generating an
-// [OAuth
-// token](https://developers.google.com/identity/protocols/OAuth2).
-// This type of authorization should generally only be used when calling
-// Google
-// APIs hosted on *.googleapis.com.
+// OAuthToken: Contains information needed for generating an [OAuth
+// token](https://developers.google.com/identity/protocols/OAuth2). This
+// type of authorization should generally only be used when calling
+// Google APIs hosted on *.googleapis.com.
 type OAuthToken struct {
-	// Scope: OAuth scope to be used for generating OAuth access token.
-	// If not specified,
-	// "https://www.googleapis.com/auth/cloud-platform"
-	// will be used.
+	// Scope: OAuth scope to be used for generating OAuth access token. If
+	// not specified, "https://www.googleapis.com/auth/cloud-platform" will
+	// be used.
 	Scope string `json:"scope,omitempty"`
 
 	// ServiceAccountEmail: [Service account
-	// email](https://cloud.google.com/iam/docs/service-accounts)
-	// to be used for generating OAuth token.
-	// The service account must be within the same project as the queue.
-	// The
-	// caller must have iam.serviceAccounts.actAs permission for the
-	// service
-	// account.
+	// email](https://cloud.google.com/iam/docs/service-accounts) to be used
+	// for generating OAuth token. The service account must be within the
+	// same project as the queue. The caller must have
+	// iam.serviceAccounts.actAs permission for the service account.
 	ServiceAccountEmail string `json:"serviceAccountEmail,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Scope") to
@@ -1378,30 +1034,22 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// OidcToken: Contains information needed for generating an
-// [OpenID
+// OidcToken: Contains information needed for generating an [OpenID
 // Connect
-// token](https://developers.google.com/identity/protocols/OpenID
-// Connect).
-// This type of authorization can be used for many scenarios,
-// including
-// calling Cloud Run, or endpoints where you intend to validate the
-// token
-// yourself.
+// token](https://developers.google.com/identity/protocols/OpenIDConnect)
+// . This type of authorization can be used for many scenarios,
+// including calling Cloud Run, or endpoints where you intend to
+// validate the token yourself.
 type OidcToken struct {
 	// Audience: Audience to be used when generating OIDC token. If not
-	// specified, the URI
-	// specified in target will be used.
+	// specified, the URI specified in target will be used.
 	Audience string `json:"audience,omitempty"`
 
 	// ServiceAccountEmail: [Service account
-	// email](https://cloud.google.com/iam/docs/service-accounts)
-	// to be used for generating OIDC token.
-	// The service account must be within the same project as the queue.
-	// The
-	// caller must have iam.serviceAccounts.actAs permission for the
-	// service
-	// account.
+	// email](https://cloud.google.com/iam/docs/service-accounts) to be used
+	// for generating OIDC token. The service account must be within the
+	// same project as the queue. The caller must have
+	// iam.serviceAccounts.actAs permission for the service account.
 	ServiceAccountEmail string `json:"serviceAccountEmail,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Audience") to
@@ -1432,150 +1080,73 @@
 }
 
 // Policy: An Identity and Access Management (IAM) policy, which
-// specifies access
-// controls for Google Cloud resources.
-//
-//
-// A `Policy` is a collection of `bindings`. A `binding` binds one or
-// more
-// `members` to a single `role`. Members can be user accounts, service
-// accounts,
+// specifies access controls for Google Cloud resources. A `Policy` is a
+// collection of `bindings`. A `binding` binds one or more `members` to
+// a single `role`. Members can be user accounts, service accounts,
 // Google groups, and domains (such as G Suite). A `role` is a named
-// list of
-// permissions; each `role` can be an IAM predefined role or a
-// user-created
-// custom role.
-//
-// For some types of Google Cloud resources, a `binding` can also
-// specify a
-// `condition`, which is a logical expression that allows access to a
-// resource
-// only if the expression evaluates to `true`. A condition can add
-// constraints
-// based on attributes of the request, the resource, or both. To learn
-// which
-// resources support conditions in their IAM policies, see the
-// [IAM
+// list of permissions; each `role` can be an IAM predefined role or a
+// user-created custom role. For some types of Google Cloud resources, a
+// `binding` can also specify a `condition`, which is a logical
+// expression that allows access to a resource only if the expression
+// evaluates to `true`. A condition can add constraints based on
+// attributes of the request, the resource, or both. To learn which
+// resources support conditions in their IAM policies, see the [IAM
 // documentation](https://cloud.google.com/iam/help/conditions/resource-p
-// olicies).
-//
-// **JSON example:**
-//
-//     {
-//       "bindings": [
-//         {
-//           "role": "roles/resourcemanager.organizationAdmin",
-//           "members": [
-//             "user:mike@example.com",
-//             "group:admins@example.com",
-//             "domain:google.com",
-//
-// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
-//           ]
-//         },
-//         {
-//           "role": "roles/resourcemanager.organizationViewer",
-//           "members": [
-//             "user:eve@example.com"
-//           ],
-//           "condition": {
-//             "title": "expirable access",
-//             "description": "Does not grant access after Sep 2020",
-//             "expression": "request.time <
-// timestamp('2020-10-01T00:00:00.000Z')",
-//           }
-//         }
-//       ],
-//       "etag": "BwWWja0YfJA=",
-//       "version": 3
-//     }
-//
-// **YAML example:**
-//
-//     bindings:
-//     - members:
-//       - user:mike@example.com
-//       - group:admins@example.com
-//       - domain:google.com
-//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
-//       role: roles/resourcemanager.organizationAdmin
-//     - members:
-//       - user:eve@example.com
-//       role: roles/resourcemanager.organizationViewer
-//       condition:
-//         title: expirable access
-//         description: Does not grant access after Sep 2020
-//         expression: request.time <
-// timestamp('2020-10-01T00:00:00.000Z')
-//     - etag: BwWWja0YfJA=
-//     - version: 3
-//
-// For a description of IAM and its features, see the
-// [IAM documentation](https://cloud.google.com/iam/docs/).
+// olicies). **JSON example:** { "bindings": [ { "role":
+// "roles/resourcemanager.organizationAdmin", "members": [
+// "user:mike@example.com", "group:admins@example.com",
+// "domain:google.com",
+// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
+// "role": "roles/resourcemanager.organizationViewer", "members": [
+// "user:eve@example.com" ], "condition": { "title": "expirable access",
+// "description": "Does not grant access after Sep 2020", "expression":
+// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
+// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
+// members: - user:mike@example.com - group:admins@example.com -
+// domain:google.com -
+// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
+// roles/resourcemanager.organizationAdmin - members: -
+// user:eve@example.com role: roles/resourcemanager.organizationViewer
+// condition: title: expirable access description: Does not grant access
+// after Sep 2020 expression: request.time <
+// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
+// 3 For a description of IAM and its features, see the [IAM
+// documentation](https://cloud.google.com/iam/docs/).
 type Policy struct {
 	// Bindings: Associates a list of `members` to a `role`. Optionally, may
-	// specify a
-	// `condition` that determines how and when the `bindings` are applied.
-	// Each
-	// of the `bindings` must contain at least one member.
+	// specify a `condition` that determines how and when the `bindings` are
+	// applied. Each of the `bindings` must contain at least one member.
 	Bindings []*Binding `json:"bindings,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a policy from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform policy updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `getIamPolicy`,
-	// and
-	// systems are expected to put that etag in the request to
-	// `setIamPolicy` to
-	// ensure that their change will be applied to the same version of the
-	// policy.
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
+	// help prevent simultaneous updates of a policy from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform policy updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `getIamPolicy`, and systems are expected to put that etag in the
+	// request to `setIamPolicy` to ensure that their change will be applied
+	// to the same version of the policy. **Important:** If you use IAM
+	// Conditions, you must include the `etag` field whenever you call
+	// `setIamPolicy`. If you omit this field, then IAM allows you to
+	// overwrite a version `3` policy with a version `1` policy, and all of
 	// the conditions in the version `3` policy are lost.
 	Etag string `json:"etag,omitempty"`
 
-	// Version: Specifies the format of the policy.
-	//
-	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
-	// value
-	// are rejected.
-	//
+	// Version: Specifies the format of the policy. Valid values are `0`,
+	// `1`, and `3`. Requests that specify an invalid value are rejected.
 	// Any operation that affects conditional role bindings must specify
-	// version
-	// `3`. This requirement applies to the following operations:
-	//
-	// * Getting a policy that includes a conditional role binding
-	// * Adding a conditional role binding to a policy
-	// * Changing a conditional role binding in a policy
-	// * Removing any role binding, with or without a condition, from a
-	// policy
-	//   that includes conditions
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
-	// the conditions in the version `3` policy are lost.
-	//
-	// If a policy does not include any conditions, operations on that
-	// policy may
-	// specify any valid version or leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see the
-	// [IAM
+	// version `3`. This requirement applies to the following operations: *
+	// Getting a policy that includes a conditional role binding * Adding a
+	// conditional role binding to a policy * Changing a conditional role
+	// binding in a policy * Removing any role binding, with or without a
+	// condition, from a policy that includes conditions **Important:** If
+	// you use IAM Conditions, you must include the `etag` field whenever
+	// you call `setIamPolicy`. If you omit this field, then IAM allows you
+	// to overwrite a version `3` policy with a version `1` policy, and all
+	// of the conditions in the version `3` policy are lost. If a policy
+	// does not include any conditions, operations on that policy may
+	// specify any valid version or leave the field unset. To learn which
+	// resources support conditions in their IAM policies, see the [IAM
 	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
 	// olicies).
 	Version int64 `json:"version,omitempty"`
@@ -1612,162 +1183,98 @@
 }
 
 // Queue: A queue is a container of related tasks. Queues are configured
-// to manage
-// how those tasks are dispatched. Configurable properties include rate
-// limits,
-// retry options, queue types, and others.
+// to manage how those tasks are dispatched. Configurable properties
+// include rate limits, retry options, queue types, and others.
 type Queue struct {
-	// AppEngineRoutingOverride: Overrides for
-	// task-level app_engine_routing.
-	// These settings apply only to
-	// App Engine tasks in this queue.
-	// Http tasks are not affected.
-	//
-	// If set, `app_engine_routing_override` is used for all
-	// App Engine tasks in the queue, no matter what the
-	// setting is for the
-	// task-level app_engine_routing.
+	// AppEngineRoutingOverride: Overrides for task-level
+	// app_engine_routing. These settings apply only to App Engine tasks in
+	// this queue. Http tasks are not affected. If set,
+	// `app_engine_routing_override` is used for all App Engine tasks in the
+	// queue, no matter what the setting is for the task-level
+	// app_engine_routing.
 	AppEngineRoutingOverride *AppEngineRouting `json:"appEngineRoutingOverride,omitempty"`
 
-	// Name: Caller-specified and required in CreateQueue,
-	// after which it becomes output only.
-	//
-	// The queue name.
-	//
-	// The queue name must have the following
-	// format:
-	// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
-	//
-	// *
-	//  `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
-	//    hyphens (-), colons (:), or periods (.).
-	//    For more information, see
-	//    [Identifying
-	//
+	// Name: Caller-specified and required in CreateQueue, after which it
+	// becomes output only. The queue name. The queue name must have the
+	// following format:
+	// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` *
+	// `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens
+	// (-), colons (:), or periods (.). For more information, see
+	// [Identifying
 	// projects](https://cloud.google.com/resource-manager/docs/creating-mana
-	// ging-projects#identifying_projects)
-	// * `LOCATION_ID` is the canonical ID for the queue's location.
-	//    The list of available locations can be obtained by calling
-	//    ListLocations.
-	//    For more information, see
-	// https://cloud.google.com/about/locations/.
-	// * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or
-	//   hyphens (-). The maximum length is 100 characters.
+	// ging-projects#identifying_projects) * `LOCATION_ID` is the canonical
+	// ID for the queue's location. The list of available locations can be
+	// obtained by calling ListLocations. For more information, see
+	// https://cloud.google.com/about/locations/. * `QUEUE_ID` can contain
+	// letters ([A-Za-z]), numbers ([0-9]), or hyphens (-). The maximum
+	// length is 100 characters.
 	Name string `json:"name,omitempty"`
 
-	// PurgeTime: Output only. The last time this queue was purged.
-	//
-	// All tasks that were created before this time
-	// were purged.
-	//
-	// A queue can be purged using PurgeQueue, the
-	// [App Engine Task Queue SDK, or the
-	// Cloud
-	// Console](https://cloud.google.com/appengine/docs/standard/python
-	// /taskqueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_que
-	// ue).
-	//
-	// Purge time will be truncated to the nearest microsecond. Purge
-	// time will be unset if the queue has never been purged.
+	// PurgeTime: Output only. The last time this queue was purged. All
+	// tasks that were created before this time were purged. A queue can be
+	// purged using PurgeQueue, the [App Engine Task Queue SDK, or the Cloud
+	// Console](https://cloud.google.com/appengine/docs/standard/python/taskq
+	// ueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_queue).
+	// Purge time will be truncated to the nearest microsecond. Purge time
+	// will be unset if the queue has never been purged.
 	PurgeTime string `json:"purgeTime,omitempty"`
 
-	// RateLimits: Rate limits for task dispatches.
-	//
-	// rate_limits and retry_config are
-	// related because they both control task attempts. However they control
-	// task
-	// attempts in different ways:
-	//
-	// * rate_limits controls the total rate of
-	//   dispatches from a queue (i.e. all traffic dispatched from the
-	//   queue, regardless of whether the dispatch is from a first
-	//   attempt or a retry).
-	// * retry_config controls what happens to
-	//   particular a task after its first attempt fails. That is,
-	//   retry_config controls task retries (the
-	//   second attempt, third attempt, etc).
-	//
-	// The queue's actual dispatch rate is the result of:
-	//
-	// * Number of tasks in the queue
-	// * User-specified throttling: rate_limits,
-	//   retry_config, and the
-	//   queue's state.
-	// * System throttling due to `429` (Too Many Requests) or `503`
-	// (Service
-	//   Unavailable) responses from the worker, high error rates, or to
-	// smooth
-	//   sudden large traffic spikes.
+	// RateLimits: Rate limits for task dispatches. rate_limits and
+	// retry_config are related because they both control task attempts.
+	// However they control task attempts in different ways: * rate_limits
+	// controls the total rate of dispatches from a queue (i.e. all traffic
+	// dispatched from the queue, regardless of whether the dispatch is from
+	// a first attempt or a retry). * retry_config controls what happens to
+	// particular a task after its first attempt fails. That is,
+	// retry_config controls task retries (the second attempt, third
+	// attempt, etc). The queue's actual dispatch rate is the result of: *
+	// Number of tasks in the queue * User-specified throttling:
+	// rate_limits, retry_config, and the queue's state. * System throttling
+	// due to `429` (Too Many Requests) or `503` (Service Unavailable)
+	// responses from the worker, high error rates, or to smooth sudden
+	// large traffic spikes.
 	RateLimits *RateLimits `json:"rateLimits,omitempty"`
 
-	// RetryConfig: Settings that determine the retry behavior.
-	//
-	// * For tasks created using Cloud Tasks: the queue-level retry
-	// settings
-	//   apply to all tasks in the queue that were created using Cloud
-	// Tasks.
-	//   Retry settings cannot be set on individual tasks.
-	// * For tasks created using the App Engine SDK: the queue-level retry
-	//   settings apply to all tasks in the queue which do not have retry
-	// settings
-	//   explicitly set on the task and were created by the App Engine SDK.
-	// See
-	//   [App Engine
-	//
+	// RetryConfig: Settings that determine the retry behavior. * For tasks
+	// created using Cloud Tasks: the queue-level retry settings apply to
+	// all tasks in the queue that were created using Cloud Tasks. Retry
+	// settings cannot be set on individual tasks. * For tasks created using
+	// the App Engine SDK: the queue-level retry settings apply to all tasks
+	// in the queue which do not have retry settings explicitly set on the
+	// task and were created by the App Engine SDK. See [App Engine
 	// documentation](https://cloud.google.com/appengine/docs/standard/python
 	// /taskqueue/push/retrying-tasks).
 	RetryConfig *RetryConfig `json:"retryConfig,omitempty"`
 
-	// StackdriverLoggingConfig: Configuration options for writing logs
-	// to
+	// StackdriverLoggingConfig: Configuration options for writing logs to
 	// [Stackdriver Logging](https://cloud.google.com/logging/docs/). If
-	// this
-	// field is unset, then no logs are written.
+	// this field is unset, then no logs are written.
 	StackdriverLoggingConfig *StackdriverLoggingConfig `json:"stackdriverLoggingConfig,omitempty"`
 
-	// State: Output only. The state of the queue.
-	//
-	// `state` can only be changed by called
-	// PauseQueue,
-	// ResumeQueue, or
-	// uploading
-	// [queue.yaml/xml](https://cloud.google.com/appengine/docs/pyt
-	// hon/config/queueref).
-	// UpdateQueue cannot be used to change `state`.
+	// State: Output only. The state of the queue. `state` can only be
+	// changed by called PauseQueue, ResumeQueue, or uploading
+	// [queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config
+	// /queueref). UpdateQueue cannot be used to change `state`.
 	//
 	// Possible values:
 	//   "STATE_UNSPECIFIED" - Unspecified state.
-	//   "RUNNING" - The queue is running. Tasks can be dispatched.
-	//
-	// If the queue was created using Cloud Tasks and the queue has
-	// had no activity (method calls or task dispatches) for 30 days,
-	// the queue may take a few minutes to re-activate. Some method
-	// calls may return NOT_FOUND and
-	// tasks may not be dispatched for a few minutes until the queue
-	// has been re-activated.
+	//   "RUNNING" - The queue is running. Tasks can be dispatched. If the
+	// queue was created using Cloud Tasks and the queue has had no activity
+	// (method calls or task dispatches) for 30 days, the queue may take a
+	// few minutes to re-activate. Some method calls may return NOT_FOUND
+	// and tasks may not be dispatched for a few minutes until the queue has
+	// been re-activated.
 	//   "PAUSED" - Tasks are paused by the user. If the queue is paused
-	// then Cloud
-	// Tasks will stop delivering tasks from it, but more tasks can
-	// still be added to it by the user.
-	//   "DISABLED" - The queue is disabled.
-	//
-	// A queue becomes `DISABLED`
-	// when
-	// [queue.yaml](https://cloud.google.com/appengine/docs/python/confi
-	// g/queueref)
-	// or
-	// [queue.xml](https://cloud.google.com/appengine/docs/sta
-	// ndard/java/config/queueref)
-	// is uploaded which does not contain the queue. You cannot directly
-	// disable
-	// a queue.
-	//
-	// When a queue is disabled, tasks can still be added to a queue
-	// but the tasks are not dispatched.
-	//
-	// To permanently delete this queue and all of its tasks,
-	// call
-	// DeleteQueue.
+	// then Cloud Tasks will stop delivering tasks from it, but more tasks
+	// can still be added to it by the user.
+	//   "DISABLED" - The queue is disabled. A queue becomes `DISABLED` when
+	// [queue.yaml](https://cloud.google.com/appengine/docs/python/config/que
+	// ueref) or
+	// [queue.xml](https://cloud.google.com/appengine/docs/standard/java/conf
+	// ig/queueref) is uploaded which does not contain the queue. You cannot
+	// directly disable a queue. When a queue is disabled, tasks can still
+	// be added to a queue but the tasks are not dispatched. To permanently
+	// delete this queue and all of its tasks, call DeleteQueue.
 	State string `json:"state,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1799,97 +1306,53 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// RateLimits: Rate limits.
-//
-// This message determines the maximum rate that tasks can be dispatched
-// by a
-// queue, regardless of whether the dispatch is a first task attempt or
-// a retry.
-//
-// Note: The debugging command, RunTask, will run a task
-// even if the queue has reached its RateLimits.
+// RateLimits: Rate limits. This message determines the maximum rate
+// that tasks can be dispatched by a queue, regardless of whether the
+// dispatch is a first task attempt or a retry. Note: The debugging
+// command, RunTask, will run a task even if the queue has reached its
+// RateLimits.
 type RateLimits struct {
-	// MaxBurstSize: Output only. The max burst size.
-	//
-	// Max burst size limits how fast tasks in queue are processed when
-	// many tasks are in the queue and the rate is high. This field
-	// allows the queue to have a high rate so processing starts
-	// shortly
-	// after a task is enqueued, but still limits resource usage when
-	// many tasks are enqueued in a short period of time.
-	//
-	// The [token bucket](https://wikipedia.org/wiki/Token_Bucket)
-	// algorithm is used to control the rate of task dispatches. Each
-	// queue has a token bucket that holds tokens, up to the
-	// maximum
-	// specified by `max_burst_size`. Each time a task is dispatched,
-	// a
-	// token is removed from the bucket. Tasks will be dispatched until
-	// the queue's bucket runs out of tokens. The bucket will
-	// be
-	// continuously refilled with new tokens based
-	// on
-	// max_dispatches_per_second.
-	//
-	// Cloud Tasks will pick the value of `max_burst_size` based on
-	// the
-	// value of
-	// max_dispatches_per_second.
-	//
-	// For queues that were created or updated using
-	// `queue.yaml/xml`, `max_burst_size` is equal
-	// to
-	// [bucket_size](https://cloud.google.com/appengine/docs/standard/pyth
-	// on/config/queueref#bucket_size).
-	// Since `max_burst_size` is output only, if
-	// UpdateQueue is called on a queue
-	// created by `queue.yaml/xml`, `max_burst_size` will be reset based
-	// on the value of
-	// max_dispatches_per_second,
-	// regardless of whether
-	// max_dispatches_per_second
-	// is updated.
-	//
+	// MaxBurstSize: Output only. The max burst size. Max burst size limits
+	// how fast tasks in queue are processed when many tasks are in the
+	// queue and the rate is high. This field allows the queue to have a
+	// high rate so processing starts shortly after a task is enqueued, but
+	// still limits resource usage when many tasks are enqueued in a short
+	// period of time. The [token
+	// bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to
+	// control the rate of task dispatches. Each queue has a token bucket
+	// that holds tokens, up to the maximum specified by `max_burst_size`.
+	// Each time a task is dispatched, a token is removed from the bucket.
+	// Tasks will be dispatched until the queue's bucket runs out of tokens.
+	// The bucket will be continuously refilled with new tokens based on
+	// max_dispatches_per_second. Cloud Tasks will pick the value of
+	// `max_burst_size` based on the value of max_dispatches_per_second. For
+	// queues that were created or updated using `queue.yaml/xml`,
+	// `max_burst_size` is equal to
+	// [bucket_size](https://cloud.google.com/appengine/docs/standard/python/
+	// config/queueref#bucket_size). Since `max_burst_size` is output only,
+	// if UpdateQueue is called on a queue created by `queue.yaml/xml`,
+	// `max_burst_size` will be reset based on the value of
+	// max_dispatches_per_second, regardless of whether
+	// max_dispatches_per_second is updated.
 	MaxBurstSize int64 `json:"maxBurstSize,omitempty"`
 
 	// MaxConcurrentDispatches: The maximum number of concurrent tasks that
-	// Cloud Tasks allows
-	// to be dispatched for this queue. After this threshold has
-	// been
-	// reached, Cloud Tasks stops dispatching tasks until the number
-	// of
-	// concurrent requests decreases.
-	//
-	// If unspecified when the queue is created, Cloud Tasks will pick
-	// the
-	// default.
-	//
-	//
-	// The maximum allowed value is 5,000.
-	//
-	//
-	// This field has the same meaning as
-	// [max_concurrent_requests
-	// in
-	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/py
-	// thon/config/queueref#max_concurrent_requests).
+	// Cloud Tasks allows to be dispatched for this queue. After this
+	// threshold has been reached, Cloud Tasks stops dispatching tasks until
+	// the number of concurrent requests decreases. If unspecified when the
+	// queue is created, Cloud Tasks will pick the default. The maximum
+	// allowed value is 5,000. This field has the same meaning as
+	// [max_concurrent_requests in
+	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/pytho
+	// n/config/queueref#max_concurrent_requests).
 	MaxConcurrentDispatches int64 `json:"maxConcurrentDispatches,omitempty"`
 
 	// MaxDispatchesPerSecond: The maximum rate at which tasks are
-	// dispatched from this queue.
-	//
-	// If unspecified when the queue is created, Cloud Tasks will pick
-	// the
-	// default.
-	//
-	// * The maximum allowed value is 500.
-	//
-	//
-	// This field has the same meaning as
-	// [rate
-	// in
-	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/py
-	// thon/config/queueref#rate).
+	// dispatched from this queue. If unspecified when the queue is created,
+	// Cloud Tasks will pick the default. * The maximum allowed value is
+	// 500. This field has the same meaning as [rate in
+	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/pytho
+	// n/config/queueref#rate).
 	MaxDispatchesPerSecond float64 `json:"maxDispatchesPerSecond,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "MaxBurstSize") to
@@ -1933,131 +1396,65 @@
 type ResumeQueueRequest struct {
 }
 
-// RetryConfig: Retry config.
-//
-// These settings determine when a failed task attempt is retried.
+// RetryConfig: Retry config. These settings determine when a failed
+// task attempt is retried.
 type RetryConfig struct {
-	// MaxAttempts: Number of attempts per task.
-	//
-	// Cloud Tasks will attempt the task `max_attempts` times (that is, if
-	// the
-	// first attempt fails, then there will be `max_attempts - 1` retries).
-	// Must
-	// be >= -1.
-	//
-	// If unspecified when the queue is created, Cloud Tasks will pick
-	// the
-	// default.
-	//
-	// -1 indicates unlimited attempts.
-	//
-	// This field has the same meaning as
-	// [task_retry_limit
-	// in
-	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/py
-	// thon/config/queueref#retry_parameters).
+	// MaxAttempts: Number of attempts per task. Cloud Tasks will attempt
+	// the task `max_attempts` times (that is, if the first attempt fails,
+	// then there will be `max_attempts - 1` retries). Must be >= -1. If
+	// unspecified when the queue is created, Cloud Tasks will pick the
+	// default. -1 indicates unlimited attempts. This field has the same
+	// meaning as [task_retry_limit in
+	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/pytho
+	// n/config/queueref#retry_parameters).
 	MaxAttempts int64 `json:"maxAttempts,omitempty"`
 
-	// MaxBackoff: A task will be scheduled for retry between
-	// min_backoff and
-	// max_backoff duration after it fails,
-	// if the queue's RetryConfig specifies that the task should
-	// be
-	// retried.
-	//
-	// If unspecified when the queue is created, Cloud Tasks will pick
-	// the
-	// default.
-	//
-	//
-	// `max_backoff` will be truncated to the nearest second.
-	//
-	// This field has the same meaning as
-	// [max_backoff_seconds
-	// in
-	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/py
-	// thon/config/queueref#retry_parameters).
+	// MaxBackoff: A task will be scheduled for retry between min_backoff
+	// and max_backoff duration after it fails, if the queue's RetryConfig
+	// specifies that the task should be retried. If unspecified when the
+	// queue is created, Cloud Tasks will pick the default. `max_backoff`
+	// will be truncated to the nearest second. This field has the same
+	// meaning as [max_backoff_seconds in
+	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/pytho
+	// n/config/queueref#retry_parameters).
 	MaxBackoff string `json:"maxBackoff,omitempty"`
 
 	// MaxDoublings: The time between retries will double `max_doublings`
-	// times.
-	//
-	// A task's retry interval starts at
-	// min_backoff, then doubles
-	// `max_doublings` times, then increases linearly, and finally
-	// retries at intervals of
-	// max_backoff up to
-	// max_attempts times.
-	//
-	// For example, if min_backoff is 10s,
-	// max_backoff is 300s, and
-	// `max_doublings` is 3, then the a task will first be retried in
-	// 10s. The retry interval will double three times, and then
-	// increase linearly by 2^3 * 10s.  Finally, the task will retry
-	// at
-	// intervals of max_backoff until the
-	// task has been attempted max_attempts
-	// times. Thus, the requests will retry at 10s, 20s, 40s, 80s,
-	// 160s,
-	// 240s, 300s, 300s, ....
-	//
-	// If unspecified when the queue is created, Cloud Tasks will pick
-	// the
-	// default.
-	//
-	//
-	// This field has the same meaning as
-	// [max_doublings
-	// in
-	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/py
-	// thon/config/queueref#retry_parameters).
+	// times. A task's retry interval starts at min_backoff, then doubles
+	// `max_doublings` times, then increases linearly, and finally retries
+	// at intervals of max_backoff up to max_attempts times. For example, if
+	// min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3,
+	// then the a task will first be retried in 10s. The retry interval will
+	// double three times, and then increase linearly by 2^3 * 10s. Finally,
+	// the task will retry at intervals of max_backoff until the task has
+	// been attempted max_attempts times. Thus, the requests will retry at
+	// 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when
+	// the queue is created, Cloud Tasks will pick the default. This field
+	// has the same meaning as [max_doublings in
+	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/pytho
+	// n/config/queueref#retry_parameters).
 	MaxDoublings int64 `json:"maxDoublings,omitempty"`
 
 	// MaxRetryDuration: If positive, `max_retry_duration` specifies the
-	// time limit for
-	// retrying a failed task, measured from when the task was
-	// first
-	// attempted. Once `max_retry_duration` time has passed *and* the
-	// task has been attempted max_attempts
-	// times, no further attempts will be made and the task will
-	// be
-	// deleted.
-	//
-	// If zero, then the task age is unlimited.
-	//
-	// If unspecified when the queue is created, Cloud Tasks will pick
-	// the
-	// default.
-	//
-	//
-	// `max_retry_duration` will be truncated to the nearest second.
-	//
-	// This field has the same meaning as
-	// [task_age_limit
-	// in
-	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/py
-	// thon/config/queueref#retry_parameters).
+	// time limit for retrying a failed task, measured from when the task
+	// was first attempted. Once `max_retry_duration` time has passed *and*
+	// the task has been attempted max_attempts times, no further attempts
+	// will be made and the task will be deleted. If zero, then the task age
+	// is unlimited. If unspecified when the queue is created, Cloud Tasks
+	// will pick the default. `max_retry_duration` will be truncated to the
+	// nearest second. This field has the same meaning as [task_age_limit in
+	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/pytho
+	// n/config/queueref#retry_parameters).
 	MaxRetryDuration string `json:"maxRetryDuration,omitempty"`
 
-	// MinBackoff: A task will be scheduled for retry between
-	// min_backoff and
-	// max_backoff duration after it fails,
-	// if the queue's RetryConfig specifies that the task should
-	// be
-	// retried.
-	//
-	// If unspecified when the queue is created, Cloud Tasks will pick
-	// the
-	// default.
-	//
-	//
-	// `min_backoff` will be truncated to the nearest second.
-	//
-	// This field has the same meaning as
-	// [min_backoff_seconds
-	// in
-	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/py
-	// thon/config/queueref#retry_parameters).
+	// MinBackoff: A task will be scheduled for retry between min_backoff
+	// and max_backoff duration after it fails, if the queue's RetryConfig
+	// specifies that the task should be retried. If unspecified when the
+	// queue is created, Cloud Tasks will pick the default. `min_backoff`
+	// will be truncated to the nearest second. This field has the same
+	// meaning as [min_backoff_seconds in
+	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/pytho
+	// n/config/queueref#retry_parameters).
 	MinBackoff string `json:"minBackoff,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "MaxAttempts") to
@@ -2083,45 +1480,28 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// RunTaskRequest: Request message for forcing a task to run now
-// using
+// RunTaskRequest: Request message for forcing a task to run now using
 // RunTask.
 type RunTaskRequest struct {
 	// ResponseView: The response_view specifies which subset of the Task
-	// will be
-	// returned.
-	//
-	// By default response_view is BASIC; not all
-	// information is retrieved by default because some data, such
-	// as
-	// payloads, might be desirable to return only when needed because
-	// of its large size or because of the sensitivity of data that
-	// it
-	// contains.
-	//
-	// Authorization for FULL requires
-	// `cloudtasks.tasks.fullView` [Google
-	// IAM](https://cloud.google.com/iam/)
-	// permission on the Task resource.
+	// will be returned. By default response_view is BASIC; not all
+	// information is retrieved by default because some data, such as
+	// payloads, might be desirable to return only when needed because of
+	// its large size or because of the sensitivity of data that it
+	// contains. Authorization for FULL requires `cloudtasks.tasks.fullView`
+	// [Google IAM](https://cloud.google.com/iam/) permission on the Task
+	// resource.
 	//
 	// Possible values:
 	//   "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC.
 	//   "BASIC" - The basic view omits fields which can be large or can
-	// contain
-	// sensitive data.
-	//
-	// This view does not include the
-	// body in AppEngineHttpRequest.
-	// Bodies are desirable to return only when needed, because they
-	// can be large and because of the sensitivity of the data that
-	// you
-	// choose to store in it.
-	//   "FULL" - All information is returned.
-	//
-	// Authorization for FULL requires
-	// `cloudtasks.tasks.fullView` [Google
-	// IAM](https://cloud.google.com/iam/)
-	// permission on the Queue resource.
+	// contain sensitive data. This view does not include the body in
+	// AppEngineHttpRequest. Bodies are desirable to return only when
+	// needed, because they can be large and because of the sensitivity of
+	// the data that you choose to store in it.
+	//   "FULL" - All information is returned. Authorization for FULL
+	// requires `cloudtasks.tasks.fullView` [Google
+	// IAM](https://cloud.google.com/iam/) permission on the Queue resource.
 	ResponseView string `json:"responseView,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ResponseView") to
@@ -2150,11 +1530,9 @@
 // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
 type SetIamPolicyRequest struct {
 	// Policy: REQUIRED: The complete policy to be applied to the
-	// `resource`. The size of
-	// the policy is limited to a few 10s of KB. An empty policy is a
-	// valid policy but certain Cloud Platform services (such as
-	// Projects)
-	// might reject them.
+	// `resource`. The size of the policy is limited to a few 10s of KB. An
+	// empty policy is a valid policy but certain Cloud Platform services
+	// (such as Projects) might reject them.
 	Policy *Policy `json:"policy,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Policy") to
@@ -2180,15 +1558,13 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// StackdriverLoggingConfig: Configuration options for writing logs
-// to
+// StackdriverLoggingConfig: Configuration options for writing logs to
 // [Stackdriver Logging](https://cloud.google.com/logging/docs/).
 type StackdriverLoggingConfig struct {
-	// SamplingRatio: Specifies the fraction of operations to write
-	// to
-	// [Stackdriver Logging](https://cloud.google.com/logging/docs/).
-	// This field may contain any value between 0.0 and 1.0, inclusive.
-	// 0.0 is the default and means that no operations are logged.
+	// SamplingRatio: Specifies the fraction of operations to write to
+	// [Stackdriver Logging](https://cloud.google.com/logging/docs/). This
+	// field may contain any value between 0.0 and 1.0, inclusive. 0.0 is
+	// the default and means that no operations are logged.
 	SamplingRatio float64 `json:"samplingRatio,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "SamplingRatio") to
@@ -2229,32 +1605,24 @@
 }
 
 // Status: The `Status` type defines a logical error model that is
-// suitable for
-// different programming environments, including REST APIs and RPC APIs.
-// It is
-// used by [gRPC](https://github.com/grpc). Each `Status` message
-// contains
-// three pieces of data: error code, error message, and error
-// details.
-//
-// You can find out more about this error model and how to work with it
-// in the
-// [API Design Guide](https://cloud.google.com/apis/design/errors).
+// suitable for different programming environments, including REST APIs
+// and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each
+// `Status` message contains three pieces of data: error code, error
+// message, and error details. You can find out more about this error
+// model and how to work with it in the [API Design
+// Guide](https://cloud.google.com/apis/design/errors).
 type Status struct {
 	// Code: The status code, which should be an enum value of
 	// google.rpc.Code.
 	Code int64 `json:"code,omitempty"`
 
-	// Details: A list of messages that carry the error details.  There is a
-	// common set of
-	// message types for APIs to use.
+	// Details: A list of messages that carry the error details. There is a
+	// common set of message types for APIs to use.
 	Details []googleapi.RawMessage `json:"details,omitempty"`
 
 	// Message: 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.
+	// English. Any user-facing error message should be localized and sent
+	// in the google.rpc.Status.details field, or localized by the client.
 	Message string `json:"message,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Code") to
@@ -2283,116 +1651,72 @@
 // Task: A unit of scheduled work.
 type Task struct {
 	// AppEngineHttpRequest: HTTP request that is sent to the App Engine app
-	// handler.
-	//
-	// An App Engine task is a task that has AppEngineHttpRequest set.
+	// handler. An App Engine task is a task that has AppEngineHttpRequest
+	// set.
 	AppEngineHttpRequest *AppEngineHttpRequest `json:"appEngineHttpRequest,omitempty"`
 
-	// CreateTime: Output only. The time that the task was
-	// created.
-	//
+	// CreateTime: Output only. The time that the task was created.
 	// `create_time` will be truncated to the nearest second.
 	CreateTime string `json:"createTime,omitempty"`
 
-	// DispatchCount: Output only. The number of attempts dispatched.
-	//
-	// This count includes attempts which have been dispatched but
-	// haven't
+	// DispatchCount: Output only. The number of attempts dispatched. This
+	// count includes attempts which have been dispatched but haven't
 	// received a response.
 	DispatchCount int64 `json:"dispatchCount,omitempty"`
 
 	// DispatchDeadline: The deadline for requests sent to the worker. If
-	// the worker does not
-	// respond by this deadline then the request is cancelled and the
-	// attempt
-	// is marked as a `DEADLINE_EXCEEDED` failure. Cloud Tasks will retry
-	// the
-	// task according to the RetryConfig.
-	//
-	// Note that when the request is cancelled, Cloud Tasks will stop
-	// listening
+	// the worker does not respond by this deadline then the request is
+	// cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure.
+	// Cloud Tasks will retry the task according to the RetryConfig. Note
+	// that when the request is cancelled, Cloud Tasks will stop listening
 	// for the response, but whether the worker stops processing depends on
-	// the
-	// worker. For example, if the worker is stuck, it may not react to
-	// cancelled
-	// requests.
-	//
-	// The default and maximum values depend on the type of request:
-	//
-	// * For HTTP tasks, the default is 10 minutes. The deadline
-	//   must be in the interval [15 seconds, 30 minutes].
-	//
-	// * For App Engine tasks, 0 indicates that the
-	//   request has the default deadline. The default deadline depends on
-	// the
-	//   [scaling
-	//
+	// the worker. For example, if the worker is stuck, it may not react to
+	// cancelled requests. The default and maximum values depend on the type
+	// of request: * For HTTP tasks, the default is 10 minutes. The deadline
+	// must be in the interval [15 seconds, 30 minutes]. * For App Engine
+	// tasks, 0 indicates that the request has the default deadline. The
+	// default deadline depends on the [scaling
 	// type](https://cloud.google.com/appengine/docs/standard/go/how-instance
-	// s-are-managed#instance_scaling)
-	//   of the service: 10 minutes for standard apps with automatic
-	// scaling, 24
-	//   hours for standard apps with manual and basic scaling, and 60
-	// minutes for
-	//   flex apps. If the request deadline is set, it must be in the
-	// interval [15
-	//   seconds, 24 hours 15 seconds]. Regardless of the task's
-	//   `dispatch_deadline`, the app handler will not run for longer than
-	// than
-	//   the service's timeout. We recommend setting the `dispatch_deadline`
-	// to
-	//   at most a few seconds more than the app handler's timeout. For
-	// more
-	//   information see
-	//
+	// s-are-managed#instance_scaling) of the service: 10 minutes for
+	// standard apps with automatic scaling, 24 hours for standard apps with
+	// manual and basic scaling, and 60 minutes for flex apps. If the
+	// request deadline is set, it must be in the interval [15 seconds, 24
+	// hours 15 seconds]. Regardless of the task's `dispatch_deadline`, the
+	// app handler will not run for longer than than the service's timeout.
+	// We recommend setting the `dispatch_deadline` to at most a few seconds
+	// more than the app handler's timeout. For more information see
 	// [Timeouts](https://cloud.google.com/tasks/docs/creating-appengine-hand
-	// lers#timeouts).
-	//
-	// `dispatch_deadline` will be truncated to the nearest millisecond.
-	// The
-	// deadline is an approximate deadline.
+	// lers#timeouts). `dispatch_deadline` will be truncated to the nearest
+	// millisecond. The deadline is an approximate deadline.
 	DispatchDeadline string `json:"dispatchDeadline,omitempty"`
 
-	// FirstAttempt: Output only. The status of the task's first
-	// attempt.
-	//
-	// Only dispatch_time will be set.
-	// The other Attempt information is not retained by Cloud Tasks.
+	// FirstAttempt: Output only. The status of the task's first attempt.
+	// Only dispatch_time will be set. The other Attempt information is not
+	// retained by Cloud Tasks.
 	FirstAttempt *Attempt `json:"firstAttempt,omitempty"`
 
-	// HttpRequest: HTTP request that is sent to the worker.
-	//
-	// An HTTP task is a task that has HttpRequest set.
+	// HttpRequest: HTTP request that is sent to the worker. An HTTP task is
+	// a task that has HttpRequest set.
 	HttpRequest *HttpRequest `json:"httpRequest,omitempty"`
 
 	// LastAttempt: Output only. The status of the task's last attempt.
 	LastAttempt *Attempt `json:"lastAttempt,omitempty"`
 
-	// Name: Optionally caller-specified in CreateTask.
-	//
-	// The task name.
-	//
-	// The task name must have the following
-	// format:
-	// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tas
-	// ks/TASK_ID`
-	//
-	// * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
-	//    hyphens (-), colons (:), or periods (.).
-	//    For more information, see
-	//    [Identifying
-	//
+	// Name: Optionally caller-specified in CreateTask. The task name. The
+	// task name must have the following format:
+	// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_
+	// ID` * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
+	// hyphens (-), colons (:), or periods (.). For more information, see
+	// [Identifying
 	// projects](https://cloud.google.com/resource-manager/docs/creating-mana
-	// ging-projects#identifying_projects)
-	// * `LOCATION_ID` is the canonical ID for the task's location.
-	//    The list of available locations can be obtained by calling
-	//    ListLocations.
-	//    For more information, see
-	// https://cloud.google.com/about/locations/.
-	// * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or
-	//   hyphens (-). The maximum length is 100 characters.
-	// * `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]),
-	//   hyphens (-), or underscores (_). The maximum length is 500
-	// characters.
+	// ging-projects#identifying_projects) * `LOCATION_ID` is the canonical
+	// ID for the task's location. The list of available locations can be
+	// obtained by calling ListLocations. For more information, see
+	// https://cloud.google.com/about/locations/. * `QUEUE_ID` can contain
+	// letters ([A-Za-z]), numbers ([0-9]), or hyphens (-). The maximum
+	// length is 100 characters. * `TASK_ID` can contain only letters
+	// ([A-Za-z]), numbers ([0-9]), hyphens (-), or underscores (_). The
+	// maximum length is 500 characters.
 	Name string `json:"name,omitempty"`
 
 	// ResponseCount: Output only. The number of attempts which have
@@ -2400,33 +1724,23 @@
 	ResponseCount int64 `json:"responseCount,omitempty"`
 
 	// ScheduleTime: The time when the task is scheduled to be attempted or
-	// retried.
-	//
-	// `schedule_time` will be truncated to the nearest microsecond.
+	// retried. `schedule_time` will be truncated to the nearest
+	// microsecond.
 	ScheduleTime string `json:"scheduleTime,omitempty"`
 
-	// View: Output only. The view specifies which subset of the Task
-	// has
+	// View: Output only. The view specifies which subset of the Task has
 	// been returned.
 	//
 	// Possible values:
 	//   "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC.
 	//   "BASIC" - The basic view omits fields which can be large or can
-	// contain
-	// sensitive data.
-	//
-	// This view does not include the
-	// body in AppEngineHttpRequest.
-	// Bodies are desirable to return only when needed, because they
-	// can be large and because of the sensitivity of the data that
-	// you
-	// choose to store in it.
-	//   "FULL" - All information is returned.
-	//
-	// Authorization for FULL requires
-	// `cloudtasks.tasks.fullView` [Google
-	// IAM](https://cloud.google.com/iam/)
-	// permission on the Queue resource.
+	// contain sensitive data. This view does not include the body in
+	// AppEngineHttpRequest. Bodies are desirable to return only when
+	// needed, because they can be large and because of the sensitivity of
+	// the data that you choose to store in it.
+	//   "FULL" - All information is returned. Authorization for FULL
+	// requires `cloudtasks.tasks.fullView` [Google
+	// IAM](https://cloud.google.com/iam/) permission on the Queue resource.
 	View string `json:"view,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2462,11 +1776,8 @@
 // method.
 type TestIamPermissionsRequest struct {
 	// Permissions: The set of permissions to check for the `resource`.
-	// Permissions with
-	// wildcards (such as '*' or 'storage.*') are not allowed. For
-	// more
-	// information see
-	// [IAM
+	// Permissions with wildcards (such as '*' or 'storage.*') are not
+	// allowed. For more information see [IAM
 	// Overview](https://cloud.google.com/iam/docs/overview#permissions).
 	Permissions []string `json:"permissions,omitempty"`
 
@@ -2497,8 +1808,7 @@
 // method.
 type TestIamPermissionsResponse struct {
 	// Permissions: A subset of `TestPermissionsRequest.permissions` that
-	// the caller is
-	// allowed.
+	// the caller is allowed.
 	Permissions []string `json:"permissions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2583,7 +1893,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2749,7 +2059,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2886,24 +2196,14 @@
 	header_    http.Header
 }
 
-// Create: Creates a queue.
-//
-// Queues created with this method allow tasks to live for a maximum of
-// 31
-// days. After a task is 31 days old, the task will be deleted
-// regardless of whether
-// it was dispatched or not.
-//
+// Create: Creates a queue. Queues created with this method allow tasks
+// to live for a maximum of 31 days. After a task is 31 days old, the
+// task will be deleted regardless of whether it was dispatched or not.
 // WARNING: Using this method may have unintended side effects if you
-// are
-// using an App Engine `queue.yaml` or `queue.xml` file to manage your
-// queues.
-// Read
-// [Overview of Queue Management
-// and
+// are using an App Engine `queue.yaml` or `queue.xml` file to manage
+// your queues. Read [Overview of Queue Management and
 // queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before
-// using
-// this method.
+// using this method.
 func (r *ProjectsLocationsQueuesService) Create(parent string, queue *Queue) *ProjectsLocationsQueuesCreateCall {
 	c := &ProjectsLocationsQueuesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -2938,7 +2238,7 @@
 
 func (c *ProjectsLocationsQueuesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3002,7 +2302,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a queue.\n\nQueues created with this method allow tasks to live for a maximum of 31\ndays. After a task is 31 days old, the task will be deleted regardless of whether\nit was dispatched or not.\n\nWARNING: Using this method may have unintended side effects if you are\nusing an App Engine `queue.yaml` or `queue.xml` file to manage your queues.\nRead\n[Overview of Queue Management and\nqueue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using\nthis method.",
+	//   "description": "Creates a queue. Queues created with this method allow tasks to live for a maximum of 31 days. After a task is 31 days old, the task will be deleted regardless of whether it was dispatched or not. WARNING: Using this method may have unintended side effects if you are using an App Engine `queue.yaml` or `queue.xml` file to manage your queues. Read [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using this method.",
 	//   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.create",
@@ -3011,7 +2311,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The location name in which the queue will be created.\nFor example: `projects/PROJECT_ID/locations/LOCATION_ID`\n\nThe list of allowed locations can be obtained by calling Cloud\nTasks' implementation of\nListLocations.",
+	//       "description": "Required. The location name in which the queue will be created. For example: `projects/PROJECT_ID/locations/LOCATION_ID` The list of allowed locations can be obtained by calling Cloud Tasks' implementation of ListLocations.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
@@ -3042,24 +2342,14 @@
 	header_    http.Header
 }
 
-// Delete: Deletes a queue.
-//
-// This command will delete the queue even if it has tasks in it.
-//
-// Note: If you delete a queue, a queue with the same name can't be
-// created
-// for 7 days.
-//
-// WARNING: Using this method may have unintended side effects if you
-// are
-// using an App Engine `queue.yaml` or `queue.xml` file to manage your
-// queues.
-// Read
-// [Overview of Queue Management
-// and
+// Delete: Deletes a queue. This command will delete the queue even if
+// it has tasks in it. Note: If you delete a queue, a queue with the
+// same name can't be created for 7 days. WARNING: Using this method may
+// have unintended side effects if you are using an App Engine
+// `queue.yaml` or `queue.xml` file to manage your queues. Read
+// [Overview of Queue Management and
 // queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before
-// using
-// this method.
+// using this method.
 func (r *ProjectsLocationsQueuesService) Delete(name string) *ProjectsLocationsQueuesDeleteCall {
 	c := &ProjectsLocationsQueuesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3093,7 +2383,7 @@
 
 func (c *ProjectsLocationsQueuesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3152,7 +2442,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a queue.\n\nThis command will delete the queue even if it has tasks in it.\n\nNote: If you delete a queue, a queue with the same name can't be created\nfor 7 days.\n\nWARNING: Using this method may have unintended side effects if you are\nusing an App Engine `queue.yaml` or `queue.xml` file to manage your queues.\nRead\n[Overview of Queue Management and\nqueue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using\nthis method.",
+	//   "description": "Deletes a queue. This command will delete the queue even if it has tasks in it. Note: If you delete a queue, a queue with the same name can't be created for 7 days. WARNING: Using this method may have unintended side effects if you are using an App Engine `queue.yaml` or `queue.xml` file to manage your queues. Read [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using this method.",
 	//   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "cloudtasks.projects.locations.queues.delete",
@@ -3161,7 +2451,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
+	//       "description": "Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -3234,7 +2524,7 @@
 
 func (c *ProjectsLocationsQueuesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3305,7 +2595,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the queue. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
+	//       "description": "Required. The resource name of the queue. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -3334,17 +2624,11 @@
 	header_             http.Header
 }
 
-// GetIamPolicy: Gets the access control policy for a Queue.
-// Returns an empty policy if the resource exists and does not have a
-// policy
-// set.
-//
-// Authorization requires the following
-// [Google IAM](https://cloud.google.com/iam) permission on the
-// specified
-// resource parent:
-//
-// * `cloudtasks.queues.getIamPolicy`
+// GetIamPolicy: Gets the access control policy for a Queue. Returns an
+// empty policy if the resource exists and does not have a policy set.
+// Authorization requires the following [Google
+// IAM](https://cloud.google.com/iam) permission on the specified
+// resource parent: * `cloudtasks.queues.getIamPolicy`
 func (r *ProjectsLocationsQueuesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsQueuesGetIamPolicyCall {
 	c := &ProjectsLocationsQueuesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -3379,7 +2663,7 @@
 
 func (c *ProjectsLocationsQueuesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3443,7 +2727,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for a Queue.\nReturns an empty policy if the resource exists and does not have a policy\nset.\n\nAuthorization requires the following\n[Google IAM](https://cloud.google.com/iam) permission on the specified\nresource parent:\n\n* `cloudtasks.queues.getIamPolicy`",
+	//   "description": "Gets the access control policy for a Queue. Returns an empty policy if the resource exists and does not have a policy set. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission on the specified resource parent: * `cloudtasks.queues.getIamPolicy`",
 	//   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:getIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.getIamPolicy",
@@ -3452,7 +2736,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -3484,9 +2768,7 @@
 	header_      http.Header
 }
 
-// List: Lists queues.
-//
-// Queues are returned in lexicographical order.
+// List: Lists queues. Queues are returned in lexicographical order.
 func (r *ProjectsLocationsQueuesService) List(parent string) *ProjectsLocationsQueuesListCall {
 	c := &ProjectsLocationsQueuesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -3494,49 +2776,34 @@
 }
 
 // Filter sets the optional parameter "filter": `filter` can be used to
-// specify a subset of queues. Any Queue
-// field can be used as a filter and several operators as supported.
-// For example: `<=, <, >=, >, !=, =, :`. The filter syntax is the same
-// as
-// described in
-// [Stackdriver's Advanced
-// Logs
-// Filters](https://cloud.google.com/logging/docs/view/advanced_filt
-// ers).
-//
-// Sample filter "state: PAUSED".
-//
-// Note that using filters might cause fewer queues than the
-// requested page_size to be returned.
+// specify a subset of queues. Any Queue field can be used as a filter
+// and several operators as supported. For example: `<=, <, >=, >, !=,
+// =, :`. The filter syntax is the same as described in [Stackdriver's
+// Advanced Logs
+// Filters](https://cloud.google.com/logging/docs/view/advanced_filters).
+//  Sample filter "state: PAUSED". Note that using filters might cause
+// fewer queues than the requested page_size to be returned.
 func (c *ProjectsLocationsQueuesListCall) Filter(filter string) *ProjectsLocationsQueuesListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
 }
 
-// PageSize sets the optional parameter "pageSize": Requested page
-// size.
-//
-// The maximum page size is 9800. If unspecified, the page size will
-// be the maximum. Fewer queues than requested might be returned,
-// even if more queues exist; use the
-// next_page_token in the
-// response to determine if more queues exist.
+// PageSize sets the optional parameter "pageSize": Requested page size.
+// The maximum page size is 9800. If unspecified, the page size will be
+// the maximum. Fewer queues than requested might be returned, even if
+// more queues exist; use the next_page_token in the response to
+// determine if more queues exist.
 func (c *ProjectsLocationsQueuesListCall) PageSize(pageSize int64) *ProjectsLocationsQueuesListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": A token
-// identifying the page of results to return.
-//
-// To request the first page results, page_token must be empty.
-// To
-// request the next page of results, page_token must be the value
-// of
-// next_page_token returned
-// from the previous call to ListQueues
-// method. It is an error to switch the value of the
-// filter while iterating through pages.
+// identifying the page of results to return. To request the first page
+// results, page_token must be empty. To request the next page of
+// results, page_token must be the value of next_page_token returned
+// from the previous call to ListQueues method. It is an error to switch
+// the value of the filter while iterating through pages.
 func (c *ProjectsLocationsQueuesListCall) PageToken(pageToken string) *ProjectsLocationsQueuesListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -3579,7 +2846,7 @@
 
 func (c *ProjectsLocationsQueuesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3641,7 +2908,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists queues.\n\nQueues are returned in lexicographical order.",
+	//   "description": "Lists queues. Queues are returned in lexicographical order.",
 	//   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues",
 	//   "httpMethod": "GET",
 	//   "id": "cloudtasks.projects.locations.queues.list",
@@ -3650,23 +2917,23 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "`filter` can be used to specify a subset of queues. Any Queue\nfield can be used as a filter and several operators as supported.\nFor example: `\u003c=, \u003c, \u003e=, \u003e, !=, =, :`. The filter syntax is the same as\ndescribed in\n[Stackdriver's Advanced Logs\nFilters](https://cloud.google.com/logging/docs/view/advanced_filters).\n\nSample filter \"state: PAUSED\".\n\nNote that using filters might cause fewer queues than the\nrequested page_size to be returned.",
+	//       "description": "`filter` can be used to specify a subset of queues. Any Queue field can be used as a filter and several operators as supported. For example: `\u003c=, \u003c, \u003e=, \u003e, !=, =, :`. The filter syntax is the same as described in [Stackdriver's Advanced Logs Filters](https://cloud.google.com/logging/docs/view/advanced_filters). Sample filter \"state: PAUSED\". Note that using filters might cause fewer queues than the requested page_size to be returned.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "Requested page size.\n\nThe maximum page size is 9800. If unspecified, the page size will\nbe the maximum. Fewer queues than requested might be returned,\neven if more queues exist; use the\nnext_page_token in the\nresponse to determine if more queues exist.",
+	//       "description": "Requested page size. The maximum page size is 9800. If unspecified, the page size will be the maximum. Fewer queues than requested might be returned, even if more queues exist; use the next_page_token in the response to determine if more queues exist.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "A token identifying the page of results to return.\n\nTo request the first page results, page_token must be empty. To\nrequest the next page of results, page_token must be the value of\nnext_page_token returned\nfrom the previous call to ListQueues\nmethod. It is an error to switch the value of the\nfilter while iterating through pages.",
+	//       "description": "A token identifying the page of results to return. To request the first page results, page_token must be empty. To request the next page of results, page_token must be the value of next_page_token returned from the previous call to ListQueues method. It is an error to switch the value of the filter while iterating through pages.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The location name.\nFor example: `projects/PROJECT_ID/locations/LOCATION_ID`",
+	//       "description": "Required. The location name. For example: `projects/PROJECT_ID/locations/LOCATION_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
@@ -3716,27 +2983,16 @@
 	header_    http.Header
 }
 
-// Patch: Updates a queue.
-//
-// This method creates the queue if it does not exist and updates
-// the queue if it does exist.
-//
-// Queues created with this method allow tasks to live for a maximum of
-// 31
-// days. After a task is 31 days old, the task will be deleted
-// regardless of whether
-// it was dispatched or not.
-//
-// WARNING: Using this method may have unintended side effects if you
-// are
-// using an App Engine `queue.yaml` or `queue.xml` file to manage your
-// queues.
-// Read
-// [Overview of Queue Management
-// and
+// Patch: Updates a queue. This method creates the queue if it does not
+// exist and updates the queue if it does exist. Queues created with
+// this method allow tasks to live for a maximum of 31 days. After a
+// task is 31 days old, the task will be deleted regardless of whether
+// it was dispatched or not. WARNING: Using this method may have
+// unintended side effects if you are using an App Engine `queue.yaml`
+// or `queue.xml` file to manage your queues. Read [Overview of Queue
+// Management and
 // queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before
-// using
-// this method.
+// using this method.
 func (r *ProjectsLocationsQueuesService) Patch(name string, queue *Queue) *ProjectsLocationsQueuesPatchCall {
 	c := &ProjectsLocationsQueuesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3745,9 +3001,8 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": A mask used to
-// specify which fields of the queue are being updated.
-//
-// If empty, then all fields will be updated.
+// specify which fields of the queue are being updated. If empty, then
+// all fields will be updated.
 func (c *ProjectsLocationsQueuesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsQueuesPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
 	return c
@@ -3780,7 +3035,7 @@
 
 func (c *ProjectsLocationsQueuesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3844,7 +3099,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates a queue.\n\nThis method creates the queue if it does not exist and updates\nthe queue if it does exist.\n\nQueues created with this method allow tasks to live for a maximum of 31\ndays. After a task is 31 days old, the task will be deleted regardless of whether\nit was dispatched or not.\n\nWARNING: Using this method may have unintended side effects if you are\nusing an App Engine `queue.yaml` or `queue.xml` file to manage your queues.\nRead\n[Overview of Queue Management and\nqueue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using\nthis method.",
+	//   "description": "Updates a queue. This method creates the queue if it does not exist and updates the queue if it does exist. Queues created with this method allow tasks to live for a maximum of 31 days. After a task is 31 days old, the task will be deleted regardless of whether it was dispatched or not. WARNING: Using this method may have unintended side effects if you are using an App Engine `queue.yaml` or `queue.xml` file to manage your queues. Read [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using this method.",
 	//   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}",
 	//   "httpMethod": "PATCH",
 	//   "id": "cloudtasks.projects.locations.queues.patch",
@@ -3853,14 +3108,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Caller-specified and required in CreateQueue,\nafter which it becomes output only.\n\nThe queue name.\n\nThe queue name must have the following format:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`\n\n* `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),\n   hyphens (-), colons (:), or periods (.).\n   For more information, see\n   [Identifying\n   projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)\n* `LOCATION_ID` is the canonical ID for the queue's location.\n   The list of available locations can be obtained by calling\n   ListLocations.\n   For more information, see https://cloud.google.com/about/locations/.\n* `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or\n  hyphens (-). The maximum length is 100 characters.",
+	//       "description": "Caller-specified and required in CreateQueue, after which it becomes output only. The queue name. The queue name must have the following format: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens (-), colons (:), or periods (.). For more information, see [Identifying projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) * `LOCATION_ID` is the canonical ID for the queue's location. The list of available locations can be obtained by calling ListLocations. For more information, see https://cloud.google.com/about/locations/. * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or hyphens (-). The maximum length is 100 characters.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "A mask used to specify which fields of the queue are being updated.\n\nIf empty, then all fields will be updated.",
+	//       "description": "A mask used to specify which fields of the queue are being updated. If empty, then all fields will be updated.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -3891,14 +3146,10 @@
 	header_           http.Header
 }
 
-// Pause: Pauses the queue.
-//
-// If a queue is paused then the system will stop dispatching
-// tasks
-// until the queue is resumed via
-// ResumeQueue. Tasks can still be added
-// when the queue is paused. A queue is paused if its
-// state is PAUSED.
+// Pause: Pauses the queue. If a queue is paused then the system will
+// stop dispatching tasks until the queue is resumed via ResumeQueue.
+// Tasks can still be added when the queue is paused. A queue is paused
+// if its state is PAUSED.
 func (r *ProjectsLocationsQueuesService) Pause(name string, pausequeuerequest *PauseQueueRequest) *ProjectsLocationsQueuesPauseCall {
 	c := &ProjectsLocationsQueuesPauseCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3933,7 +3184,7 @@
 
 func (c *ProjectsLocationsQueuesPauseCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3997,7 +3248,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Pauses the queue.\n\nIf a queue is paused then the system will stop dispatching tasks\nuntil the queue is resumed via\nResumeQueue. Tasks can still be added\nwhen the queue is paused. A queue is paused if its\nstate is PAUSED.",
+	//   "description": "Pauses the queue. If a queue is paused then the system will stop dispatching tasks until the queue is resumed via ResumeQueue. Tasks can still be added when the queue is paused. A queue is paused if its state is PAUSED.",
 	//   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:pause",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.pause",
@@ -4006,7 +3257,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
+	//       "description": "Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -4038,15 +3289,10 @@
 	header_           http.Header
 }
 
-// Purge: Purges a queue by deleting all of its tasks.
-//
-// All tasks created before this method is called are permanently
-// deleted.
-//
-// Purge operations can take up to one minute to take effect.
-// Tasks
-// might be dispatched before the purge takes effect. A purge is
-// irreversible.
+// Purge: Purges a queue by deleting all of its tasks. All tasks created
+// before this method is called are permanently deleted. Purge
+// operations can take up to one minute to take effect. Tasks might be
+// dispatched before the purge takes effect. A purge is irreversible.
 func (r *ProjectsLocationsQueuesService) Purge(name string, purgequeuerequest *PurgeQueueRequest) *ProjectsLocationsQueuesPurgeCall {
 	c := &ProjectsLocationsQueuesPurgeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4081,7 +3327,7 @@
 
 func (c *ProjectsLocationsQueuesPurgeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4145,7 +3391,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Purges a queue by deleting all of its tasks.\n\nAll tasks created before this method is called are permanently deleted.\n\nPurge operations can take up to one minute to take effect. Tasks\nmight be dispatched before the purge takes effect. A purge is irreversible.",
+	//   "description": "Purges a queue by deleting all of its tasks. All tasks created before this method is called are permanently deleted. Purge operations can take up to one minute to take effect. Tasks might be dispatched before the purge takes effect. A purge is irreversible.",
 	//   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:purge",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.purge",
@@ -4154,7 +3400,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
+	//       "description": "Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -4186,21 +3432,13 @@
 	header_            http.Header
 }
 
-// Resume: Resume a queue.
-//
-// This method resumes a queue after it has been
-// PAUSED or
-// DISABLED. The state of a queue is stored
-// in the queue's state; after calling this method it
-// will be set to RUNNING.
-//
-// WARNING: Resuming many high-QPS queues at the same time can
-// lead to target overloading. If you are resuming high-QPS
-// queues, follow the 500/50/5 pattern described in
-// [Managing Cloud Tasks
-// Scaling
-// Risks](https://cloud.google.com/tasks/docs/manage-cloud-task-s
-// caling).
+// Resume: Resume a queue. This method resumes a queue after it has been
+// PAUSED or DISABLED. The state of a queue is stored in the queue's
+// state; after calling this method it will be set to RUNNING. WARNING:
+// Resuming many high-QPS queues at the same time can lead to target
+// overloading. If you are resuming high-QPS queues, follow the 500/50/5
+// pattern described in [Managing Cloud Tasks Scaling
+// Risks](https://cloud.google.com/tasks/docs/manage-cloud-task-scaling).
 func (r *ProjectsLocationsQueuesService) Resume(name string, resumequeuerequest *ResumeQueueRequest) *ProjectsLocationsQueuesResumeCall {
 	c := &ProjectsLocationsQueuesResumeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4235,7 +3473,7 @@
 
 func (c *ProjectsLocationsQueuesResumeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4299,7 +3537,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Resume a queue.\n\nThis method resumes a queue after it has been\nPAUSED or\nDISABLED. The state of a queue is stored\nin the queue's state; after calling this method it\nwill be set to RUNNING.\n\nWARNING: Resuming many high-QPS queues at the same time can\nlead to target overloading. If you are resuming high-QPS\nqueues, follow the 500/50/5 pattern described in\n[Managing Cloud Tasks Scaling\nRisks](https://cloud.google.com/tasks/docs/manage-cloud-task-scaling).",
+	//   "description": "Resume a queue. This method resumes a queue after it has been PAUSED or DISABLED. The state of a queue is stored in the queue's state; after calling this method it will be set to RUNNING. WARNING: Resuming many high-QPS queues at the same time can lead to target overloading. If you are resuming high-QPS queues, follow the 500/50/5 pattern described in [Managing Cloud Tasks Scaling Risks](https://cloud.google.com/tasks/docs/manage-cloud-task-scaling).",
 	//   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:resume",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.resume",
@@ -4308,7 +3546,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
+	//       "description": "Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -4341,20 +3579,11 @@
 }
 
 // SetIamPolicy: Sets the access control policy for a Queue. Replaces
-// any existing
-// policy.
-//
-// Note: The Cloud Console does not check queue-level IAM permissions
-// yet.
-// Project-level permissions are required to use the Cloud
-// Console.
-//
-// Authorization requires the following
-// [Google IAM](https://cloud.google.com/iam) permission on the
-// specified
-// resource parent:
-//
-// * `cloudtasks.queues.setIamPolicy`
+// any existing policy. Note: The Cloud Console does not check
+// queue-level IAM permissions yet. Project-level permissions are
+// required to use the Cloud Console. Authorization requires the
+// following [Google IAM](https://cloud.google.com/iam) permission on
+// the specified resource parent: * `cloudtasks.queues.setIamPolicy`
 func (r *ProjectsLocationsQueuesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsQueuesSetIamPolicyCall {
 	c := &ProjectsLocationsQueuesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -4389,7 +3618,7 @@
 
 func (c *ProjectsLocationsQueuesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4453,7 +3682,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the access control policy for a Queue. Replaces any existing\npolicy.\n\nNote: The Cloud Console does not check queue-level IAM permissions yet.\nProject-level permissions are required to use the Cloud Console.\n\nAuthorization requires the following\n[Google IAM](https://cloud.google.com/iam) permission on the specified\nresource parent:\n\n* `cloudtasks.queues.setIamPolicy`",
+	//   "description": "Sets the access control policy for a Queue. Replaces any existing policy. Note: The Cloud Console does not check queue-level IAM permissions yet. Project-level permissions are required to use the Cloud Console. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission on the specified resource parent: * `cloudtasks.queues.setIamPolicy`",
 	//   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.setIamPolicy",
@@ -4462,7 +3691,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -4494,17 +3723,12 @@
 	header_                   http.Header
 }
 
-// TestIamPermissions: Returns permissions that a caller has on a
-// Queue.
-// 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.
+// TestIamPermissions: Returns permissions that a caller has on a Queue.
+// 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.
 func (r *ProjectsLocationsQueuesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsQueuesTestIamPermissionsCall {
 	c := &ProjectsLocationsQueuesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -4539,7 +3763,7 @@
 
 func (c *ProjectsLocationsQueuesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4603,7 +3827,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns permissions that a caller has on a Queue.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+	//   "description": "Returns permissions that a caller has on a Queue. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
 	//   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.testIamPermissions",
@@ -4612,7 +3836,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -4644,12 +3868,9 @@
 	header_           http.Header
 }
 
-// Create: Creates a task and adds it to a queue.
-//
-// Tasks cannot be updated after creation; there is no UpdateTask
-// command.
-//
-// * The maximum task size is 100KB.
+// Create: Creates a task and adds it to a queue. Tasks cannot be
+// updated after creation; there is no UpdateTask command. * The maximum
+// task size is 100KB.
 func (r *ProjectsLocationsQueuesTasksService) Create(parent string, createtaskrequest *CreateTaskRequest) *ProjectsLocationsQueuesTasksCreateCall {
 	c := &ProjectsLocationsQueuesTasksCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -4684,7 +3905,7 @@
 
 func (c *ProjectsLocationsQueuesTasksCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4748,7 +3969,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a task and adds it to a queue.\n\nTasks cannot be updated after creation; there is no UpdateTask command.\n\n* The maximum task size is 100KB.",
+	//   "description": "Creates a task and adds it to a queue. Tasks cannot be updated after creation; there is no UpdateTask command. * The maximum task size is 100KB.",
 	//   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.tasks.create",
@@ -4757,7 +3978,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`\n\nThe queue must already exist.",
+	//       "description": "Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` The queue must already exist.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -4788,12 +4009,9 @@
 	header_    http.Header
 }
 
-// Delete: Deletes a task.
-//
-// A task can be deleted if it is scheduled or dispatched. A task
-// cannot be deleted if it has executed successfully or
-// permanently
-// failed.
+// Delete: Deletes a task. A task can be deleted if it is scheduled or
+// dispatched. A task cannot be deleted if it has executed successfully
+// or permanently failed.
 func (r *ProjectsLocationsQueuesTasksService) Delete(name string) *ProjectsLocationsQueuesTasksDeleteCall {
 	c := &ProjectsLocationsQueuesTasksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4827,7 +4045,7 @@
 
 func (c *ProjectsLocationsQueuesTasksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4886,7 +4104,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a task.\n\nA task can be deleted if it is scheduled or dispatched. A task\ncannot be deleted if it has executed successfully or permanently\nfailed.",
+	//   "description": "Deletes a task. A task can be deleted if it is scheduled or dispatched. A task cannot be deleted if it has executed successfully or permanently failed.",
 	//   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "cloudtasks.projects.locations.queues.tasks.delete",
@@ -4895,7 +4113,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+	//       "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
 	//       "required": true,
@@ -4932,27 +4150,24 @@
 }
 
 // ResponseView sets the optional parameter "responseView": The
-// response_view specifies which subset of the Task will
-// be
-// returned.
-//
-// By default response_view is BASIC; not all
-// information is retrieved by default because some data, such
-// as
-// payloads, might be desirable to return only when needed because
-// of its large size or because of the sensitivity of data that
-// it
-// contains.
-//
-// Authorization for FULL requires
+// response_view specifies which subset of the Task will be returned. By
+// default response_view is BASIC; not all information is retrieved by
+// default because some data, such as payloads, might be desirable to
+// return only when needed because of its large size or because of the
+// sensitivity of data that it contains. Authorization for FULL requires
 // `cloudtasks.tasks.fullView` [Google
-// IAM](https://cloud.google.com/iam/)
-// permission on the Task resource.
+// IAM](https://cloud.google.com/iam/) permission on the Task resource.
 //
 // Possible values:
-//   "VIEW_UNSPECIFIED"
-//   "BASIC"
-//   "FULL"
+//   "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC.
+//   "BASIC" - The basic view omits fields which can be large or can
+// contain sensitive data. This view does not include the body in
+// AppEngineHttpRequest. Bodies are desirable to return only when
+// needed, because they can be large and because of the sensitivity of
+// the data that you choose to store in it.
+//   "FULL" - All information is returned. Authorization for FULL
+// requires `cloudtasks.tasks.fullView` [Google
+// IAM](https://cloud.google.com/iam/) permission on the Queue resource.
 func (c *ProjectsLocationsQueuesTasksGetCall) ResponseView(responseView string) *ProjectsLocationsQueuesTasksGetCall {
 	c.urlParams_.Set("responseView", responseView)
 	return c
@@ -4995,7 +4210,7 @@
 
 func (c *ProjectsLocationsQueuesTasksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5066,19 +4281,24 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+	//       "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "responseView": {
-	//       "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Task resource.",
+	//       "description": "The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource.",
 	//       "enum": [
 	//         "VIEW_UNSPECIFIED",
 	//         "BASIC",
 	//         "FULL"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Unspecified. Defaults to BASIC.",
+	//         "The basic view omits fields which can be large or can contain sensitive data. This view does not include the body in AppEngineHttpRequest. Bodies are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+	//         "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -5105,77 +4325,56 @@
 	header_      http.Header
 }
 
-// List: Lists the tasks in a queue.
-//
-// By default, only the BASIC view is retrieved
-// due to performance considerations;
-// response_view controls the
-// subset of information which is returned.
-//
-// The tasks may be returned in any order. The ordering may change at
-// any
-// time.
+// List: Lists the tasks in a queue. By default, only the BASIC view is
+// retrieved due to performance considerations; response_view controls
+// the subset of information which is returned. The tasks may be
+// returned in any order. The ordering may change at any time.
 func (r *ProjectsLocationsQueuesTasksService) List(parent string) *ProjectsLocationsQueuesTasksListCall {
 	c := &ProjectsLocationsQueuesTasksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
 	return c
 }
 
-// PageSize sets the optional parameter "pageSize": Maximum page
-// size.
-//
+// PageSize sets the optional parameter "pageSize": Maximum page size.
 // Fewer tasks than requested might be returned, even if more tasks
-// exist; use
-// next_page_token in the response to
-// determine if more tasks exist.
-//
-// The maximum page size is 1000. If unspecified, the page size will be
-// the
-// maximum.
+// exist; use next_page_token in the response to determine if more tasks
+// exist. The maximum page size is 1000. If unspecified, the page size
+// will be the maximum.
 func (c *ProjectsLocationsQueuesTasksListCall) PageSize(pageSize int64) *ProjectsLocationsQueuesTasksListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": A token
-// identifying the page of results to return.
-//
-// To request the first page results, page_token must be empty.
-// To
-// request the next page of results, page_token must be the value
-// of
-// next_page_token returned
-// from the previous call to ListTasks
-// method.
-//
-// The page token is valid for only 2 hours.
+// identifying the page of results to return. To request the first page
+// results, page_token must be empty. To request the next page of
+// results, page_token must be the value of next_page_token returned
+// from the previous call to ListTasks method. The page token is valid
+// for only 2 hours.
 func (c *ProjectsLocationsQueuesTasksListCall) PageToken(pageToken string) *ProjectsLocationsQueuesTasksListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
 }
 
 // ResponseView sets the optional parameter "responseView": The
-// response_view specifies which subset of the Task will
-// be
-// returned.
-//
-// By default response_view is BASIC; not all
-// information is retrieved by default because some data, such
-// as
-// payloads, might be desirable to return only when needed because
-// of its large size or because of the sensitivity of data that
-// it
-// contains.
-//
-// Authorization for FULL requires
+// response_view specifies which subset of the Task will be returned. By
+// default response_view is BASIC; not all information is retrieved by
+// default because some data, such as payloads, might be desirable to
+// return only when needed because of its large size or because of the
+// sensitivity of data that it contains. Authorization for FULL requires
 // `cloudtasks.tasks.fullView` [Google
-// IAM](https://cloud.google.com/iam/)
-// permission on the Task resource.
+// IAM](https://cloud.google.com/iam/) permission on the Task resource.
 //
 // Possible values:
-//   "VIEW_UNSPECIFIED"
-//   "BASIC"
-//   "FULL"
+//   "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC.
+//   "BASIC" - The basic view omits fields which can be large or can
+// contain sensitive data. This view does not include the body in
+// AppEngineHttpRequest. Bodies are desirable to return only when
+// needed, because they can be large and because of the sensitivity of
+// the data that you choose to store in it.
+//   "FULL" - All information is returned. Authorization for FULL
+// requires `cloudtasks.tasks.fullView` [Google
+// IAM](https://cloud.google.com/iam/) permission on the Queue resource.
 func (c *ProjectsLocationsQueuesTasksListCall) ResponseView(responseView string) *ProjectsLocationsQueuesTasksListCall {
 	c.urlParams_.Set("responseView", responseView)
 	return c
@@ -5218,7 +4417,7 @@
 
 func (c *ProjectsLocationsQueuesTasksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5280,7 +4479,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists the tasks in a queue.\n\nBy default, only the BASIC view is retrieved\ndue to performance considerations;\nresponse_view controls the\nsubset of information which is returned.\n\nThe tasks may be returned in any order. The ordering may change at any\ntime.",
+	//   "description": "Lists the tasks in a queue. By default, only the BASIC view is retrieved due to performance considerations; response_view controls the subset of information which is returned. The tasks may be returned in any order. The ordering may change at any time.",
 	//   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks",
 	//   "httpMethod": "GET",
 	//   "id": "cloudtasks.projects.locations.queues.tasks.list",
@@ -5289,30 +4488,35 @@
 	//   ],
 	//   "parameters": {
 	//     "pageSize": {
-	//       "description": "Maximum page size.\n\nFewer tasks than requested might be returned, even if more tasks exist; use\nnext_page_token in the response to\ndetermine if more tasks exist.\n\nThe maximum page size is 1000. If unspecified, the page size will be the\nmaximum.",
+	//       "description": "Maximum page size. Fewer tasks than requested might be returned, even if more tasks exist; use next_page_token in the response to determine if more tasks exist. The maximum page size is 1000. If unspecified, the page size will be the maximum.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "A token identifying the page of results to return.\n\nTo request the first page results, page_token must be empty. To\nrequest the next page of results, page_token must be the value of\nnext_page_token returned\nfrom the previous call to ListTasks\nmethod.\n\nThe page token is valid for only 2 hours.",
+	//       "description": "A token identifying the page of results to return. To request the first page results, page_token must be empty. To request the next page of results, page_token must be the value of next_page_token returned from the previous call to ListTasks method. The page token is valid for only 2 hours.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
+	//       "description": "Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "responseView": {
-	//       "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Task resource.",
+	//       "description": "The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource.",
 	//       "enum": [
 	//         "VIEW_UNSPECIFIED",
 	//         "BASIC",
 	//         "FULL"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Unspecified. Defaults to BASIC.",
+	//         "The basic view omits fields which can be large or can contain sensitive data. This view does not include the body in AppEngineHttpRequest. Bodies are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+	//         "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -5360,35 +4564,20 @@
 	header_        http.Header
 }
 
-// Run: Forces a task to run now.
-//
-// When this method is called, Cloud Tasks will dispatch the task, even
-// if
-// the task is already running, the queue has reached its RateLimits
-// or
-// is PAUSED.
-//
-// This command is meant to be used for manual debugging. For
-// example, RunTask can be used to retry a failed
-// task after a fix has been made or to manually force a task to
-// be
-// dispatched now.
-//
-// The dispatched task is returned. That is, the task that is
-// returned
-// contains the status after the task is dispatched but
-// before the task is received by its target.
-//
-// If Cloud Tasks receives a successful response from the task's
-// target, then the task will be deleted; otherwise the
-// task's
-// schedule_time will be reset to the time that
-// RunTask was called plus the retry delay specified
-// in the queue's RetryConfig.
-//
-// RunTask returns
-// NOT_FOUND when it is called on a
-// task that has already succeeded or permanently failed.
+// Run: Forces a task to run now. When this method is called, Cloud
+// Tasks will dispatch the task, even if the task is already running,
+// the queue has reached its RateLimits or is PAUSED. This command is
+// meant to be used for manual debugging. For example, RunTask can be
+// used to retry a failed task after a fix has been made or to manually
+// force a task to be dispatched now. The dispatched task is returned.
+// That is, the task that is returned contains the status after the task
+// is dispatched but before the task is received by its target. If Cloud
+// Tasks receives a successful response from the task's target, then the
+// task will be deleted; otherwise the task's schedule_time will be
+// reset to the time that RunTask was called plus the retry delay
+// specified in the queue's RetryConfig. RunTask returns NOT_FOUND when
+// it is called on a task that has already succeeded or permanently
+// failed.
 func (r *ProjectsLocationsQueuesTasksService) Run(name string, runtaskrequest *RunTaskRequest) *ProjectsLocationsQueuesTasksRunCall {
 	c := &ProjectsLocationsQueuesTasksRunCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -5423,7 +4612,7 @@
 
 func (c *ProjectsLocationsQueuesTasksRunCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5487,7 +4676,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Forces a task to run now.\n\nWhen this method is called, Cloud Tasks will dispatch the task, even if\nthe task is already running, the queue has reached its RateLimits or\nis PAUSED.\n\nThis command is meant to be used for manual debugging. For\nexample, RunTask can be used to retry a failed\ntask after a fix has been made or to manually force a task to be\ndispatched now.\n\nThe dispatched task is returned. That is, the task that is returned\ncontains the status after the task is dispatched but\nbefore the task is received by its target.\n\nIf Cloud Tasks receives a successful response from the task's\ntarget, then the task will be deleted; otherwise the task's\nschedule_time will be reset to the time that\nRunTask was called plus the retry delay specified\nin the queue's RetryConfig.\n\nRunTask returns\nNOT_FOUND when it is called on a\ntask that has already succeeded or permanently failed.",
+	//   "description": "Forces a task to run now. When this method is called, Cloud Tasks will dispatch the task, even if the task is already running, the queue has reached its RateLimits or is PAUSED. This command is meant to be used for manual debugging. For example, RunTask can be used to retry a failed task after a fix has been made or to manually force a task to be dispatched now. The dispatched task is returned. That is, the task that is returned contains the status after the task is dispatched but before the task is received by its target. If Cloud Tasks receives a successful response from the task's target, then the task will be deleted; otherwise the task's schedule_time will be reset to the time that RunTask was called plus the retry delay specified in the queue's RetryConfig. RunTask returns NOT_FOUND when it is called on a task that has already succeeded or permanently failed.",
 	//   "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}:run",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.tasks.run",
@@ -5496,7 +4685,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+	//       "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
 	//       "required": true,
diff --git a/cloudtasks/v2beta2/cloudtasks-api.json b/cloudtasks/v2beta2/cloudtasks-api.json
index 9dc7572..cbaa954 100644
--- a/cloudtasks/v2beta2/cloudtasks-api.json
+++ b/cloudtasks/v2beta2/cloudtasks-api.json
@@ -180,7 +180,7 @@
             "queues": {
               "methods": {
                 "create": {
-                  "description": "Creates a queue.\n\nQueues created with this method allow tasks to live for a maximum of 31\ndays. After a task is 31 days old, the task will be deleted regardless of whether\nit was dispatched or not.\n\nWARNING: Using this method may have unintended side effects if you are\nusing an App Engine `queue.yaml` or `queue.xml` file to manage your queues.\nRead\n[Overview of Queue Management and\nqueue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using\nthis method.",
+                  "description": "Creates a queue. Queues created with this method allow tasks to live for a maximum of 31 days. After a task is 31 days old, the task will be deleted regardless of whether it was dispatched or not. WARNING: Using this method may have unintended side effects if you are using an App Engine `queue.yaml` or `queue.xml` file to manage your queues. Read [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using this method.",
                   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues",
                   "httpMethod": "POST",
                   "id": "cloudtasks.projects.locations.queues.create",
@@ -189,7 +189,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Required. The location name in which the queue will be created.\nFor example: `projects/PROJECT_ID/locations/LOCATION_ID`\n\nThe list of allowed locations can be obtained by calling Cloud\nTasks' implementation of\nListLocations.",
+                      "description": "Required. The location name in which the queue will be created. For example: `projects/PROJECT_ID/locations/LOCATION_ID` The list of allowed locations can be obtained by calling Cloud Tasks' implementation of ListLocations.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -208,7 +208,7 @@
                   ]
                 },
                 "delete": {
-                  "description": "Deletes a queue.\n\nThis command will delete the queue even if it has tasks in it.\n\nNote: If you delete a queue, a queue with the same name can't be created\nfor 7 days.\n\nWARNING: Using this method may have unintended side effects if you are\nusing an App Engine `queue.yaml` or `queue.xml` file to manage your queues.\nRead\n[Overview of Queue Management and\nqueue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using\nthis method.",
+                  "description": "Deletes a queue. This command will delete the queue even if it has tasks in it. Note: If you delete a queue, a queue with the same name can't be created for 7 days. WARNING: Using this method may have unintended side effects if you are using an App Engine `queue.yaml` or `queue.xml` file to manage your queues. Read [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using this method.",
                   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}",
                   "httpMethod": "DELETE",
                   "id": "cloudtasks.projects.locations.queues.delete",
@@ -217,7 +217,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
+                      "description": "Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
@@ -242,14 +242,14 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The resource name of the queue. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
+                      "description": "Required. The resource name of the queue. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
                       "type": "string"
                     },
                     "readMask": {
-                      "description": "Optional. Read mask is used for a more granular control over what the API returns. By\nit includes all fields in Queue except for stats.",
+                      "description": "Optional. Read mask is used for a more granular control over what the API returns. By it includes all fields in Queue except for stats.",
                       "format": "google-fieldmask",
                       "location": "query",
                       "type": "string"
@@ -264,7 +264,7 @@
                   ]
                 },
                 "getIamPolicy": {
-                  "description": "Gets the access control policy for a Queue.\nReturns an empty policy if the resource exists and does not have a policy\nset.\n\nAuthorization requires the following\n[Google IAM](https://cloud.google.com/iam) permission on the specified\nresource parent:\n\n* `cloudtasks.queues.getIamPolicy`",
+                  "description": "Gets the access control policy for a Queue. Returns an empty policy if the resource exists and does not have a policy set. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission on the specified resource parent: * `cloudtasks.queues.getIamPolicy`",
                   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:getIamPolicy",
                   "httpMethod": "POST",
                   "id": "cloudtasks.projects.locations.queues.getIamPolicy",
@@ -273,7 +273,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
@@ -292,7 +292,7 @@
                   ]
                 },
                 "list": {
-                  "description": "Lists queues.\n\nQueues are returned in lexicographical order.",
+                  "description": "Lists queues. Queues are returned in lexicographical order.",
                   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues",
                   "httpMethod": "GET",
                   "id": "cloudtasks.projects.locations.queues.list",
@@ -301,23 +301,23 @@
                   ],
                   "parameters": {
                     "filter": {
-                      "description": "`filter` can be used to specify a subset of queues. Any Queue\nfield can be used as a filter and several operators as supported.\nFor example: `\u003c=, \u003c, \u003e=, \u003e, !=, =, :`. The filter syntax is the same as\ndescribed in\n[Stackdriver's Advanced Logs\nFilters](https://cloud.google.com/logging/docs/view/advanced_filters).\n\nSample filter \"app_engine_http_target: *\".\n\nNote that using filters might cause fewer queues than the\nrequested_page size to be returned.",
+                      "description": "`filter` can be used to specify a subset of queues. Any Queue field can be used as a filter and several operators as supported. For example: `\u003c=, \u003c, \u003e=, \u003e, !=, =, :`. The filter syntax is the same as described in [Stackdriver's Advanced Logs Filters](https://cloud.google.com/logging/docs/view/advanced_filters). Sample filter \"app_engine_http_target: *\". Note that using filters might cause fewer queues than the requested_page size to be returned.",
                       "location": "query",
                       "type": "string"
                     },
                     "pageSize": {
-                      "description": "Requested page size.\n\nThe maximum page size is 9800. If unspecified, the page size will\nbe the maximum. Fewer queues than requested might be returned,\neven if more queues exist; use the\nnext_page_token in the\nresponse to determine if more queues exist.",
+                      "description": "Requested page size. The maximum page size is 9800. If unspecified, the page size will be the maximum. Fewer queues than requested might be returned, even if more queues exist; use the next_page_token in the response to determine if more queues exist.",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "A token identifying the page of results to return.\n\nTo request the first page results, page_token must be empty. To\nrequest the next page of results, page_token must be the value of\nnext_page_token returned\nfrom the previous call to ListQueues\nmethod. It is an error to switch the value of the\nfilter while iterating through pages.",
+                      "description": "A token identifying the page of results to return. To request the first page results, page_token must be empty. To request the next page of results, page_token must be the value of next_page_token returned from the previous call to ListQueues method. It is an error to switch the value of the filter while iterating through pages.",
                       "location": "query",
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The location name.\nFor example: `projects/PROJECT_ID/locations/LOCATION_ID`",
+                      "description": "Required. The location name. For example: `projects/PROJECT_ID/locations/LOCATION_ID`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -333,7 +333,7 @@
                   ]
                 },
                 "patch": {
-                  "description": "Updates a queue.\n\nThis method creates the queue if it does not exist and updates\nthe queue if it does exist.\n\nQueues created with this method allow tasks to live for a maximum of 31\ndays. After a task is 31 days old, the task will be deleted regardless of whether\nit was dispatched or not.\n\nWARNING: Using this method may have unintended side effects if you are\nusing an App Engine `queue.yaml` or `queue.xml` file to manage your queues.\nRead\n[Overview of Queue Management and\nqueue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using\nthis method.",
+                  "description": "Updates a queue. This method creates the queue if it does not exist and updates the queue if it does exist. Queues created with this method allow tasks to live for a maximum of 31 days. After a task is 31 days old, the task will be deleted regardless of whether it was dispatched or not. WARNING: Using this method may have unintended side effects if you are using an App Engine `queue.yaml` or `queue.xml` file to manage your queues. Read [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using this method.",
                   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}",
                   "httpMethod": "PATCH",
                   "id": "cloudtasks.projects.locations.queues.patch",
@@ -342,14 +342,14 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Caller-specified and required in CreateQueue,\nafter which it becomes output only.\n\nThe queue name.\n\nThe queue name must have the following format:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`\n\n* `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),\n   hyphens (-), colons (:), or periods (.).\n   For more information, see\n   [Identifying\n   projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)\n* `LOCATION_ID` is the canonical ID for the queue's location.\n   The list of available locations can be obtained by calling\n   ListLocations.\n   For more information, see https://cloud.google.com/about/locations/.\n* `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or\n  hyphens (-). The maximum length is 100 characters.",
+                      "description": "Caller-specified and required in CreateQueue, after which it becomes output only. The queue name. The queue name must have the following format: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens (-), colons (:), or periods (.). For more information, see [Identifying projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) * `LOCATION_ID` is the canonical ID for the queue's location. The list of available locations can be obtained by calling ListLocations. For more information, see https://cloud.google.com/about/locations/. * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or hyphens (-). The maximum length is 100 characters.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
                       "type": "string"
                     },
                     "updateMask": {
-                      "description": "A mask used to specify which fields of the queue are being updated.\n\nIf empty, then all fields will be updated.",
+                      "description": "A mask used to specify which fields of the queue are being updated. If empty, then all fields will be updated.",
                       "format": "google-fieldmask",
                       "location": "query",
                       "type": "string"
@@ -367,7 +367,7 @@
                   ]
                 },
                 "pause": {
-                  "description": "Pauses the queue.\n\nIf a queue is paused then the system will stop dispatching tasks\nuntil the queue is resumed via\nResumeQueue. Tasks can still be added\nwhen the queue is paused. A queue is paused if its\nstate is PAUSED.",
+                  "description": "Pauses the queue. If a queue is paused then the system will stop dispatching tasks until the queue is resumed via ResumeQueue. Tasks can still be added when the queue is paused. A queue is paused if its state is PAUSED.",
                   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:pause",
                   "httpMethod": "POST",
                   "id": "cloudtasks.projects.locations.queues.pause",
@@ -376,7 +376,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
+                      "description": "Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
@@ -395,7 +395,7 @@
                   ]
                 },
                 "purge": {
-                  "description": "Purges a queue by deleting all of its tasks.\n\nAll tasks created before this method is called are permanently deleted.\n\nPurge operations can take up to one minute to take effect. Tasks\nmight be dispatched before the purge takes effect. A purge is irreversible.",
+                  "description": "Purges a queue by deleting all of its tasks. All tasks created before this method is called are permanently deleted. Purge operations can take up to one minute to take effect. Tasks might be dispatched before the purge takes effect. A purge is irreversible.",
                   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:purge",
                   "httpMethod": "POST",
                   "id": "cloudtasks.projects.locations.queues.purge",
@@ -404,7 +404,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
+                      "description": "Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
@@ -423,7 +423,7 @@
                   ]
                 },
                 "resume": {
-                  "description": "Resume a queue.\n\nThis method resumes a queue after it has been\nPAUSED or\nDISABLED. The state of a queue is stored\nin the queue's state; after calling this method it\nwill be set to RUNNING.\n\nWARNING: Resuming many high-QPS queues at the same time can\nlead to target overloading. If you are resuming high-QPS\nqueues, follow the 500/50/5 pattern described in\n[Managing Cloud Tasks Scaling\nRisks](https://cloud.google.com/tasks/docs/manage-cloud-task-scaling).",
+                  "description": "Resume a queue. This method resumes a queue after it has been PAUSED or DISABLED. The state of a queue is stored in the queue's state; after calling this method it will be set to RUNNING. WARNING: Resuming many high-QPS queues at the same time can lead to target overloading. If you are resuming high-QPS queues, follow the 500/50/5 pattern described in [Managing Cloud Tasks Scaling Risks](https://cloud.google.com/tasks/docs/manage-cloud-task-scaling).",
                   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:resume",
                   "httpMethod": "POST",
                   "id": "cloudtasks.projects.locations.queues.resume",
@@ -432,7 +432,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
+                      "description": "Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
@@ -451,7 +451,7 @@
                   ]
                 },
                 "setIamPolicy": {
-                  "description": "Sets the access control policy for a Queue. Replaces any existing\npolicy.\n\nNote: The Cloud Console does not check queue-level IAM permissions yet.\nProject-level permissions are required to use the Cloud Console.\n\nAuthorization requires the following\n[Google IAM](https://cloud.google.com/iam) permission on the specified\nresource parent:\n\n* `cloudtasks.queues.setIamPolicy`",
+                  "description": "Sets the access control policy for a Queue. Replaces any existing policy. Note: The Cloud Console does not check queue-level IAM permissions yet. Project-level permissions are required to use the Cloud Console. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission on the specified resource parent: * `cloudtasks.queues.setIamPolicy`",
                   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:setIamPolicy",
                   "httpMethod": "POST",
                   "id": "cloudtasks.projects.locations.queues.setIamPolicy",
@@ -460,7 +460,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
@@ -479,7 +479,7 @@
                   ]
                 },
                 "testIamPermissions": {
-                  "description": "Returns permissions that a caller has on a Queue.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+                  "description": "Returns permissions that a caller has on a Queue. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:testIamPermissions",
                   "httpMethod": "POST",
                   "id": "cloudtasks.projects.locations.queues.testIamPermissions",
@@ -488,7 +488,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
@@ -511,7 +511,7 @@
                 "tasks": {
                   "methods": {
                     "acknowledge": {
-                      "description": "Acknowledges a pull task.\n\nThe worker, that is, the entity that\nleased this task must call this method\nto indicate that the work associated with the task has finished.\n\nThe worker must acknowledge a task within the\nlease_duration or the lease\nwill expire and the task will become available to be leased\nagain. After the task is acknowledged, it will not be returned\nby a later LeaseTasks,\nGetTask, or\nListTasks.",
+                      "description": "Acknowledges a pull task. The worker, that is, the entity that leased this task must call this method to indicate that the work associated with the task has finished. The worker must acknowledge a task within the lease_duration or the lease will expire and the task will become available to be leased again. After the task is acknowledged, it will not be returned by a later LeaseTasks, GetTask, or ListTasks.",
                       "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}:acknowledge",
                       "httpMethod": "POST",
                       "id": "cloudtasks.projects.locations.queues.tasks.acknowledge",
@@ -520,7 +520,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+                          "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
                           "required": true,
@@ -539,7 +539,7 @@
                       ]
                     },
                     "cancelLease": {
-                      "description": "Cancel a pull task's lease.\n\nThe worker can use this method to cancel a task's lease by\nsetting its schedule_time to now. This will\nmake the task available to be leased to the next caller of\nLeaseTasks.",
+                      "description": "Cancel a pull task's lease. The worker can use this method to cancel a task's lease by setting its schedule_time to now. This will make the task available to be leased to the next caller of LeaseTasks.",
                       "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}:cancelLease",
                       "httpMethod": "POST",
                       "id": "cloudtasks.projects.locations.queues.tasks.cancelLease",
@@ -548,7 +548,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+                          "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
                           "required": true,
@@ -567,7 +567,7 @@
                       ]
                     },
                     "create": {
-                      "description": "Creates a task and adds it to a queue.\n\nTasks cannot be updated after creation; there is no UpdateTask command.\n\n* For App Engine queues, the maximum task size is\n  100KB.\n* For pull queues, the maximum task size is 1MB.",
+                      "description": "Creates a task and adds it to a queue. Tasks cannot be updated after creation; there is no UpdateTask command. * For App Engine queues, the maximum task size is 100KB. * For pull queues, the maximum task size is 1MB.",
                       "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks",
                       "httpMethod": "POST",
                       "id": "cloudtasks.projects.locations.queues.tasks.create",
@@ -576,7 +576,7 @@
                       ],
                       "parameters": {
                         "parent": {
-                          "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`\n\nThe queue must already exist.",
+                          "description": "Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` The queue must already exist.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                           "required": true,
@@ -595,7 +595,7 @@
                       ]
                     },
                     "delete": {
-                      "description": "Deletes a task.\n\nA task can be deleted if it is scheduled or dispatched. A task\ncannot be deleted if it has completed successfully or permanently\nfailed.",
+                      "description": "Deletes a task. A task can be deleted if it is scheduled or dispatched. A task cannot be deleted if it has completed successfully or permanently failed.",
                       "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}",
                       "httpMethod": "DELETE",
                       "id": "cloudtasks.projects.locations.queues.tasks.delete",
@@ -604,7 +604,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+                          "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
                           "required": true,
@@ -629,19 +629,24 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+                          "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
                         "responseView": {
-                          "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Task resource.",
+                          "description": "The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource.",
                           "enum": [
                             "VIEW_UNSPECIFIED",
                             "BASIC",
                             "FULL"
                           ],
+                          "enumDescriptions": [
+                            "Unspecified. Defaults to BASIC.",
+                            "The basic view omits fields which can be large or can contain sensitive data. This view does not include the (payload in AppEngineHttpRequest and payload in PullMessage). These payloads are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+                            "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
+                          ],
                           "location": "query",
                           "type": "string"
                         }
@@ -655,7 +660,7 @@
                       ]
                     },
                     "lease": {
-                      "description": "Leases tasks from a pull queue for\nlease_duration.\n\nThis method is invoked by the worker to obtain a lease. The\nworker must acknowledge the task via\nAcknowledgeTask after they have\nperformed the work associated with the task.\n\nThe payload is intended to store data that\nthe worker needs to perform the work associated with the task. To\nreturn the payloads in the response, set\nresponse_view to\nFULL.\n\nA maximum of 10 qps of LeaseTasks\nrequests are allowed per\nqueue. RESOURCE_EXHAUSTED\nis returned when this limit is\nexceeded. RESOURCE_EXHAUSTED\nis also returned when\nmax_tasks_dispatched_per_second\nis exceeded.",
+                      "description": "Leases tasks from a pull queue for lease_duration. This method is invoked by the worker to obtain a lease. The worker must acknowledge the task via AcknowledgeTask after they have performed the work associated with the task. The payload is intended to store data that the worker needs to perform the work associated with the task. To return the payloads in the response, set response_view to FULL. A maximum of 10 qps of LeaseTasks requests are allowed per queue. RESOURCE_EXHAUSTED is returned when this limit is exceeded. RESOURCE_EXHAUSTED is also returned when max_tasks_dispatched_per_second is exceeded.",
                       "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks:lease",
                       "httpMethod": "POST",
                       "id": "cloudtasks.projects.locations.queues.tasks.lease",
@@ -664,7 +669,7 @@
                       ],
                       "parameters": {
                         "parent": {
-                          "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
+                          "description": "Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                           "required": true,
@@ -683,7 +688,7 @@
                       ]
                     },
                     "list": {
-                      "description": "Lists the tasks in a queue.\n\nBy default, only the BASIC view is retrieved\ndue to performance considerations;\nresponse_view controls the\nsubset of information which is returned.\n\nThe tasks may be returned in any order. The ordering may change at any\ntime.",
+                      "description": "Lists the tasks in a queue. By default, only the BASIC view is retrieved due to performance considerations; response_view controls the subset of information which is returned. The tasks may be returned in any order. The ordering may change at any time.",
                       "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks",
                       "httpMethod": "GET",
                       "id": "cloudtasks.projects.locations.queues.tasks.list",
@@ -692,30 +697,35 @@
                       ],
                       "parameters": {
                         "pageSize": {
-                          "description": "Maximum page size.\n\nFewer tasks than requested might be returned, even if more tasks exist; use\nnext_page_token in the response to\ndetermine if more tasks exist.\n\nThe maximum page size is 1000. If unspecified, the page size will be the\nmaximum.",
+                          "description": "Maximum page size. Fewer tasks than requested might be returned, even if more tasks exist; use next_page_token in the response to determine if more tasks exist. The maximum page size is 1000. If unspecified, the page size will be the maximum.",
                           "format": "int32",
                           "location": "query",
                           "type": "integer"
                         },
                         "pageToken": {
-                          "description": "A token identifying the page of results to return.\n\nTo request the first page results, page_token must be empty. To\nrequest the next page of results, page_token must be the value of\nnext_page_token returned\nfrom the previous call to ListTasks\nmethod.\n\nThe page token is valid for only 2 hours.",
+                          "description": "A token identifying the page of results to return. To request the first page results, page_token must be empty. To request the next page of results, page_token must be the value of next_page_token returned from the previous call to ListTasks method. The page token is valid for only 2 hours.",
                           "location": "query",
                           "type": "string"
                         },
                         "parent": {
-                          "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
+                          "description": "Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
                         "responseView": {
-                          "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Task resource.",
+                          "description": "The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource.",
                           "enum": [
                             "VIEW_UNSPECIFIED",
                             "BASIC",
                             "FULL"
                           ],
+                          "enumDescriptions": [
+                            "Unspecified. Defaults to BASIC.",
+                            "The basic view omits fields which can be large or can contain sensitive data. This view does not include the (payload in AppEngineHttpRequest and payload in PullMessage). These payloads are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+                            "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
+                          ],
                           "location": "query",
                           "type": "string"
                         }
@@ -729,7 +739,7 @@
                       ]
                     },
                     "renewLease": {
-                      "description": "Renew the current lease of a pull task.\n\nThe worker can use this method to extend the lease by a new\nduration, starting from now. The new task lease will be\nreturned in the task's schedule_time.",
+                      "description": "Renew the current lease of a pull task. The worker can use this method to extend the lease by a new duration, starting from now. The new task lease will be returned in the task's schedule_time.",
                       "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}:renewLease",
                       "httpMethod": "POST",
                       "id": "cloudtasks.projects.locations.queues.tasks.renewLease",
@@ -738,7 +748,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+                          "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
                           "required": true,
@@ -757,7 +767,7 @@
                       ]
                     },
                     "run": {
-                      "description": "Forces a task to run now.\n\nWhen this method is called, Cloud Tasks will dispatch the task, even if\nthe task is already running, the queue has reached its RateLimits or\nis PAUSED.\n\nThis command is meant to be used for manual debugging. For\nexample, RunTask can be used to retry a failed\ntask after a fix has been made or to manually force a task to be\ndispatched now.\n\nThe dispatched task is returned. That is, the task that is returned\ncontains the status after the task is dispatched but\nbefore the task is received by its target.\n\nIf Cloud Tasks receives a successful response from the task's\ntarget, then the task will be deleted; otherwise the task's\nschedule_time will be reset to the time that\nRunTask was called plus the retry delay specified\nin the queue's RetryConfig.\n\nRunTask returns\nNOT_FOUND when it is called on a\ntask that has already succeeded or permanently failed.\n\nRunTask cannot be called on a\npull task.",
+                      "description": "Forces a task to run now. When this method is called, Cloud Tasks will dispatch the task, even if the task is already running, the queue has reached its RateLimits or is PAUSED. This command is meant to be used for manual debugging. For example, RunTask can be used to retry a failed task after a fix has been made or to manually force a task to be dispatched now. The dispatched task is returned. That is, the task that is returned contains the status after the task is dispatched but before the task is received by its target. If Cloud Tasks receives a successful response from the task's target, then the task will be deleted; otherwise the task's schedule_time will be reset to the time that RunTask was called plus the retry delay specified in the queue's RetryConfig. RunTask returns NOT_FOUND when it is called on a task that has already succeeded or permanently failed. RunTask cannot be called on a pull task.",
                       "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}:run",
                       "httpMethod": "POST",
                       "id": "cloudtasks.projects.locations.queues.tasks.run",
@@ -766,7 +776,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+                          "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
                           "required": true,
@@ -793,15 +803,15 @@
       }
     }
   },
-  "revision": "20200505",
+  "revision": "20200804",
   "rootUrl": "https://cloudtasks.googleapis.com/",
   "schemas": {
     "AcknowledgeTaskRequest": {
-      "description": "Request message for acknowledging a task using\nAcknowledgeTask.",
+      "description": "Request message for acknowledging a task using AcknowledgeTask.",
       "id": "AcknowledgeTaskRequest",
       "properties": {
         "scheduleTime": {
-          "description": "Required. The task's current schedule time, available in the\nschedule_time returned by\nLeaseTasks response or\nRenewLease response. This restriction is\nto ensure that your worker currently holds the lease.",
+          "description": "Required. The task's current schedule time, available in the schedule_time returned by LeaseTasks response or RenewLease response. This restriction is to ensure that your worker currently holds the lease.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -809,22 +819,22 @@
       "type": "object"
     },
     "AppEngineHttpRequest": {
-      "description": "App Engine HTTP request.\n\nThe message defines the HTTP request that is sent to an App Engine app when\nthe task is dispatched.\n\nThis proto can only be used for tasks in a queue which has\napp_engine_http_target set.\n\nUsing AppEngineHttpRequest requires\n[`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)\nGoogle IAM permission for the project\nand the following scope:\n\n`https://www.googleapis.com/auth/cloud-platform`\n\nThe task will be delivered to the App Engine app which belongs to the same\nproject as the queue. For more information, see\n[How Requests are\nRouted](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)\nand how routing is affected by\n[dispatch\nfiles](https://cloud.google.com/appengine/docs/python/config/dispatchref).\nTraffic is encrypted during transport and never leaves Google datacenters.\nBecause this traffic is carried over a communication mechanism internal to\nGoogle, you cannot explicitly set the protocol (for example, HTTP or HTTPS).\nThe request to the handler, however, will appear to have used the HTTP\nprotocol.\n\nThe AppEngineRouting used to construct the URL that the task is\ndelivered to can be set at the queue-level or task-level:\n\n* If set,\n  app_engine_routing_override\n  is used for all tasks in the queue, no matter what the setting\n  is for the\n  task-level app_engine_routing.\n\n\nThe `url` that the task will be sent to is:\n\n* `url =` host `+`\n  relative_url\n\nTasks can be dispatched to secure app handlers, unsecure app handlers, and\nURIs restricted with\n[`login:\nadmin`](https://cloud.google.com/appengine/docs/standard/python/config/appref).\nBecause tasks are not run as any user, they cannot be dispatched to URIs\nrestricted with\n[`login:\nrequired`](https://cloud.google.com/appengine/docs/standard/python/config/appref)\nTask dispatches also do not follow redirects.\n\nThe task attempt has succeeded if the app's request handler returns an HTTP\nresponse code in the range [`200` - `299`]. The task attempt has failed if\nthe app's handler returns a non-2xx response code or Cloud Tasks does\nnot receive response before the deadline. Failed\ntasks will be retried according to the\nretry configuration. `503` (Service Unavailable) is\nconsidered an App Engine system error instead of an application error and\nwill cause Cloud Tasks' traffic congestion control to temporarily throttle\nthe queue's dispatches. Unlike other types of task targets, a `429` (Too Many\nRequests) response from an app handler does not cause traffic congestion\ncontrol to throttle the queue.",
+      "description": "App Engine HTTP request. The message defines the HTTP request that is sent to an App Engine app when the task is dispatched. This proto can only be used for tasks in a queue which has app_engine_http_target set. Using AppEngineHttpRequest requires [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control) Google IAM permission for the project and the following scope: `https://www.googleapis.com/auth/cloud-platform` The task will be delivered to the App Engine app which belongs to the same project as the queue. For more information, see [How Requests are Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed) and how routing is affected by [dispatch files](https://cloud.google.com/appengine/docs/python/config/dispatchref). Traffic is encrypted during transport and never leaves Google datacenters. Because this traffic is carried over a communication mechanism internal to Google, you cannot explicitly set the protocol (for example, HTTP or HTTPS). The request to the handler, however, will appear to have used the HTTP protocol. The AppEngineRouting used to construct the URL that the task is delivered to can be set at the queue-level or task-level: * If set, app_engine_routing_override is used for all tasks in the queue, no matter what the setting is for the task-level app_engine_routing. The `url` that the task will be sent to is: * `url =` host `+` relative_url Tasks can be dispatched to secure app handlers, unsecure app handlers, and URIs restricted with [`login: admin`](https://cloud.google.com/appengine/docs/standard/python/config/appref). Because tasks are not run as any user, they cannot be dispatched to URIs restricted with [`login: required`](https://cloud.google.com/appengine/docs/standard/python/config/appref) Task dispatches also do not follow redirects. The task attempt has succeeded if the app's request handler returns an HTTP response code in the range [`200` - `299`]. The task attempt has failed if the app's handler returns a non-2xx response code or Cloud Tasks does not receive response before the deadline. Failed tasks will be retried according to the retry configuration. `503` (Service Unavailable) is considered an App Engine system error instead of an application error and will cause Cloud Tasks' traffic congestion control to temporarily throttle the queue's dispatches. Unlike other types of task targets, a `429` (Too Many Requests) response from an app handler does not cause traffic congestion control to throttle the queue.",
       "id": "AppEngineHttpRequest",
       "properties": {
         "appEngineRouting": {
           "$ref": "AppEngineRouting",
-          "description": "Task-level setting for App Engine routing.\n\nIf set,\napp_engine_routing_override\nis used for all tasks in the queue, no matter what the setting is for the\ntask-level app_engine_routing."
+          "description": "Task-level setting for App Engine routing. If set, app_engine_routing_override is used for all tasks in the queue, no matter what the setting is for the task-level app_engine_routing."
         },
         "headers": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "HTTP request headers.\n\nThis map contains the header field names and values.\nHeaders can be set when the\ntask is created.\nRepeated headers are not supported but a header value can contain commas.\n\nCloud Tasks sets some headers to default values:\n\n* `User-Agent`: By default, this header is\n  `\"AppEngine-Google; (+http://code.google.com/appengine)\"`.\n  This header can be modified, but Cloud Tasks will append\n  `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the\n  modified `User-Agent`.\n\nIf the task has a payload, Cloud\nTasks sets the following headers:\n\n* `Content-Type`: By default, the `Content-Type` header is set to\n  `\"application/octet-stream\"`. The default can be overridden by explicitly\n  setting `Content-Type` to a particular media type when the\n  task is created.\n  For example, `Content-Type` can be set to `\"application/json\"`.\n* `Content-Length`: This is computed by Cloud Tasks. This value is\n  output only.   It cannot be changed.\n\nThe headers below cannot be set or overridden:\n\n* `Host`\n* `X-Google-*`\n* `X-AppEngine-*`\n\nIn addition, Cloud Tasks sets some headers when the task is dispatched,\nsuch as headers containing information about the task; see\n[request\nheaders](https://cloud.google.com/appengine/docs/python/taskqueue/push/creating-handlers#reading_request_headers).\nThese headers are set only when the task is dispatched, so they are not\nvisible when the task is returned in a Cloud Tasks response.\n\nAlthough there is no specific limit for the maximum number of headers or\nthe size, there is a limit on the maximum size of the Task. For more\ninformation, see the CreateTask documentation.",
+          "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. Repeated headers are not supported but a header value can contain commas. Cloud Tasks sets some headers to default values: * `User-Agent`: By default, this header is `\"AppEngine-Google; (+http://code.google.com/appengine)\"`. This header can be modified, but Cloud Tasks will append `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the modified `User-Agent`. If the task has a payload, Cloud Tasks sets the following headers: * `Content-Type`: By default, the `Content-Type` header is set to `\"application/octet-stream\"`. The default can be overridden by explicitly setting `Content-Type` to a particular media type when the task is created. For example, `Content-Type` can be set to `\"application/json\"`. * `Content-Length`: This is computed by Cloud Tasks. This value is output only. It cannot be changed. The headers below cannot be set or overridden: * `Host` * `X-Google-*` * `X-AppEngine-*` In addition, Cloud Tasks sets some headers when the task is dispatched, such as headers containing information about the task; see [request headers](https://cloud.google.com/appengine/docs/python/taskqueue/push/creating-handlers#reading_request_headers). These headers are set only when the task is dispatched, so they are not visible when the task is returned in a Cloud Tasks response. Although there is no specific limit for the maximum number of headers or the size, there is a limit on the maximum size of the Task. For more information, see the CreateTask documentation.",
           "type": "object"
         },
         "httpMethod": {
-          "description": "The HTTP method to use for the request. The default is POST.\n\nThe app's request handler for the task's target URL must be able to handle\nHTTP requests with this http_method, otherwise the task attempt fails with\nerror code 405 (Method Not Allowed). See [Writing a push task request\nhandler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler)\nand the App Engine documentation for your runtime on [How Requests are\nHandled](https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled).",
+          "description": "The HTTP method to use for the request. The default is POST. The app's request handler for the task's target URL must be able to handle HTTP requests with this http_method, otherwise the task attempt fails with error code 405 (Method Not Allowed). See [Writing a push task request handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler) and the App Engine documentation for your runtime on [How Requests are Handled](https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled).",
           "enum": [
             "HTTP_METHOD_UNSPECIFIED",
             "POST",
@@ -844,46 +854,46 @@
           "type": "string"
         },
         "payload": {
-          "description": "Payload.\n\nThe payload will be sent as the HTTP message body. A message\nbody, and thus a payload, is allowed only if the HTTP method is\nPOST or PUT. It is an error to set a data payload on a task with\nan incompatible HttpMethod.",
+          "description": "Payload. The payload will be sent as the HTTP message body. A message body, and thus a payload, is allowed only if the HTTP method is POST or PUT. It is an error to set a data payload on a task with an incompatible HttpMethod.",
           "format": "byte",
           "type": "string"
         },
         "relativeUrl": {
-          "description": "The relative URL.\n\nThe relative URL must begin with \"/\" and must be a valid HTTP relative URL.\nIt can contain a path and query string arguments.\nIf the relative URL is empty, then the root path \"/\" will be used.\nNo spaces are allowed, and the maximum length allowed is 2083 characters.",
+          "description": "The relative URL. The relative URL must begin with \"/\" and must be a valid HTTP relative URL. It can contain a path and query string arguments. If the relative URL is empty, then the root path \"/\" will be used. No spaces are allowed, and the maximum length allowed is 2083 characters.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "AppEngineHttpTarget": {
-      "description": "App Engine HTTP target.\n\nThe task will be delivered to the App Engine application hostname\nspecified by its AppEngineHttpTarget and AppEngineHttpRequest.\nThe documentation for AppEngineHttpRequest explains how the\ntask's host URL is constructed.\n\nUsing AppEngineHttpTarget requires\n[`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)\nGoogle IAM permission for the project\nand the following scope:\n\n`https://www.googleapis.com/auth/cloud-platform`",
+      "description": "App Engine HTTP target. The task will be delivered to the App Engine application hostname specified by its AppEngineHttpTarget and AppEngineHttpRequest. The documentation for AppEngineHttpRequest explains how the task's host URL is constructed. Using AppEngineHttpTarget requires [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control) Google IAM permission for the project and the following scope: `https://www.googleapis.com/auth/cloud-platform`",
       "id": "AppEngineHttpTarget",
       "properties": {
         "appEngineRoutingOverride": {
           "$ref": "AppEngineRouting",
-          "description": "Overrides for the\ntask-level app_engine_routing.\n\nIf set, `app_engine_routing_override` is used for all tasks in\nthe queue, no matter what the setting is for the\ntask-level app_engine_routing."
+          "description": "Overrides for the task-level app_engine_routing. If set, `app_engine_routing_override` is used for all tasks in the queue, no matter what the setting is for the task-level app_engine_routing."
         }
       },
       "type": "object"
     },
     "AppEngineRouting": {
-      "description": "App Engine Routing.\n\nDefines routing characteristics specific to App Engine - service, version,\nand instance.\n\nFor more information about services, versions, and instances see\n[An Overview of App\nEngine](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine),\n[Microservices Architecture on Google App\nEngine](https://cloud.google.com/appengine/docs/python/microservices-on-app-engine),\n[App Engine Standard request\nrouting](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed),\nand [App Engine Flex request\nrouting](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).",
+      "description": "App Engine Routing. Defines routing characteristics specific to App Engine - service, version, and instance. For more information about services, versions, and instances see [An Overview of App Engine](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine), [Microservices Architecture on Google App Engine](https://cloud.google.com/appengine/docs/python/microservices-on-app-engine), [App Engine Standard request routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed), and [App Engine Flex request routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).",
       "id": "AppEngineRouting",
       "properties": {
         "host": {
-          "description": "Output only. The host that the task is sent to.\n\nFor more information, see\n[How Requests are\nRouted](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed).\n\nThe host is constructed as:\n\n\n* `host = [application_domain_name]`\u003c/br\u003e\n  `| [service] + '.' + [application_domain_name]`\u003c/br\u003e\n  `| [version] + '.' + [application_domain_name]`\u003c/br\u003e\n  `| [version_dot_service]+ '.' + [application_domain_name]`\u003c/br\u003e\n  `| [instance] + '.' + [application_domain_name]`\u003c/br\u003e\n  `| [instance_dot_service] + '.' + [application_domain_name]`\u003c/br\u003e\n  `| [instance_dot_version] + '.' + [application_domain_name]`\u003c/br\u003e\n  `| [instance_dot_version_dot_service] + '.' + [application_domain_name]`\n\n* `application_domain_name` = The domain name of the app, for\n  example \u003capp-id\u003e.appspot.com, which is associated with the\n  queue's project ID. Some tasks which were created using the App Engine\n  SDK use a custom domain name.\n\n* `service =` service\n\n* `version =` version\n\n* `version_dot_service =`\n  version `+ '.' +`\n  service\n\n* `instance =` instance\n\n* `instance_dot_service =`\n  instance `+ '.' +`\n  service\n\n* `instance_dot_version =`\n  instance `+ '.' +`\n  version\n\n* `instance_dot_version_dot_service =`\n  instance `+ '.' +`\n  version `+ '.' +`\n  service\n\nIf service is empty, then the task will be sent\nto the service which is the default service when the task is attempted.\n\nIf version is empty, then the task will be sent\nto the version which is the default version when the task is attempted.\n\nIf instance is empty, then the task\nwill be sent to an instance which is available when the task is\nattempted.\n\nIf service,\nversion, or\ninstance is invalid, then the task\nwill be sent to the default version of the default service when\nthe task is attempted.",
+          "description": "Output only. The host that the task is sent to. For more information, see [How Requests are Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed). The host is constructed as: * `host = [application_domain_name]` `| [service] + '.' + [application_domain_name]` `| [version] + '.' + [application_domain_name]` `| [version_dot_service]+ '.' + [application_domain_name]` `| [instance] + '.' + [application_domain_name]` `| [instance_dot_service] + '.' + [application_domain_name]` `| [instance_dot_version] + '.' + [application_domain_name]` `| [instance_dot_version_dot_service] + '.' + [application_domain_name]` * `application_domain_name` = The domain name of the app, for example .appspot.com, which is associated with the queue's project ID. Some tasks which were created using the App Engine SDK use a custom domain name. * `service =` service * `version =` version * `version_dot_service =` version `+ '.' +` service * `instance =` instance * `instance_dot_service =` instance `+ '.' +` service * `instance_dot_version =` instance `+ '.' +` version * `instance_dot_version_dot_service =` instance `+ '.' +` version `+ '.' +` service If service is empty, then the task will be sent to the service which is the default service when the task is attempted. If version is empty, then the task will be sent to the version which is the default version when the task is attempted. If instance is empty, then the task will be sent to an instance which is available when the task is attempted. If service, version, or instance is invalid, then the task will be sent to the default version of the default service when the task is attempted.",
           "type": "string"
         },
         "instance": {
-          "description": "App instance.\n\nBy default, the task is sent to an instance which is available when\nthe task is attempted.\n\nRequests can only be sent to a specific instance if\n[manual scaling is used in App Engine\nStandard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes).\nApp Engine Flex does not support instances. For more information, see\n[App Engine Standard request\nrouting](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)\nand [App Engine Flex request\nrouting](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).",
+          "description": "App instance. By default, the task is sent to an instance which is available when the task is attempted. Requests can only be sent to a specific instance if [manual scaling is used in App Engine Standard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes). App Engine Flex does not support instances. For more information, see [App Engine Standard request routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed) and [App Engine Flex request routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).",
           "type": "string"
         },
         "service": {
-          "description": "App service.\n\nBy default, the task is sent to the service which is the default\nservice when the task is attempted.\n\nFor some queues or tasks which were created using the App Engine\nTask Queue API, host is not parsable\ninto service,\nversion, and\ninstance. For example, some tasks\nwhich were created using the App Engine SDK use a custom domain\nname; custom domains are not parsed by Cloud Tasks. If\nhost is not parsable, then\nservice,\nversion, and\ninstance are the empty string.",
+          "description": "App service. By default, the task is sent to the service which is the default service when the task is attempted. For some queues or tasks which were created using the App Engine Task Queue API, host is not parsable into service, version, and instance. For example, some tasks which were created using the App Engine SDK use a custom domain name; custom domains are not parsed by Cloud Tasks. If host is not parsable, then service, version, and instance are the empty string.",
           "type": "string"
         },
         "version": {
-          "description": "App version.\n\nBy default, the task is sent to the version which is the default\nversion when the task is attempted.\n\nFor some queues or tasks which were created using the App Engine\nTask Queue API, host is not parsable\ninto service,\nversion, and\ninstance. For example, some tasks\nwhich were created using the App Engine SDK use a custom domain\nname; custom domains are not parsed by Cloud Tasks. If\nhost is not parsable, then\nservice,\nversion, and\ninstance are the empty string.",
+          "description": "App version. By default, the task is sent to the version which is the default version when the task is attempted. For some queues or tasks which were created using the App Engine Task Queue API, host is not parsable into service, version, and instance. For example, some tasks which were created using the App Engine SDK use a custom domain name; custom domains are not parsed by Cloud Tasks. If host is not parsable, then service, version, and instance are the empty string.",
           "type": "string"
         }
       },
@@ -894,21 +904,21 @@
       "id": "AttemptStatus",
       "properties": {
         "dispatchTime": {
-          "description": "Output only. The time that this attempt was dispatched.\n\n`dispatch_time` will be truncated to the nearest microsecond.",
+          "description": "Output only. The time that this attempt was dispatched. `dispatch_time` will be truncated to the nearest microsecond.",
           "format": "google-datetime",
           "type": "string"
         },
         "responseStatus": {
           "$ref": "Status",
-          "description": "Output only. The response from the target for this attempt.\n\nIf the task has not been attempted or the task is currently running\nthen the response status is unset."
+          "description": "Output only. The response from the target for this attempt. If the task has not been attempted or the task is currently running then the response status is unset."
         },
         "responseTime": {
-          "description": "Output only. The time that this attempt response was received.\n\n`response_time` will be truncated to the nearest microsecond.",
+          "description": "Output only. The time that this attempt response was received. `response_time` will be truncated to the nearest microsecond.",
           "format": "google-datetime",
           "type": "string"
         },
         "scheduleTime": {
-          "description": "Output only. The time that this attempt was scheduled.\n\n`schedule_time` will be truncated to the nearest microsecond.",
+          "description": "Output only. The time that this attempt was scheduled. `schedule_time` will be truncated to the nearest microsecond.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -921,28 +931,28 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "CancelLeaseRequest": {
-      "description": "Request message for canceling a lease using\nCancelLease.",
+      "description": "Request message for canceling a lease using CancelLease.",
       "id": "CancelLeaseRequest",
       "properties": {
         "responseView": {
-          "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Task resource.",
+          "description": "The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource.",
           "enum": [
             "VIEW_UNSPECIFIED",
             "BASIC",
@@ -950,13 +960,13 @@
           ],
           "enumDescriptions": [
             "Unspecified. Defaults to BASIC.",
-            "The basic view omits fields which can be large or can contain\nsensitive data.\n\nThis view does not include the\n(payload in AppEngineHttpRequest and\npayload in PullMessage). These payloads are\ndesirable to return only when needed, because they can be large\nand because of the sensitivity of the data that you choose to\nstore in it.",
-            "All information is returned.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Queue resource."
+            "The basic view omits fields which can be large or can contain sensitive data. This view does not include the (payload in AppEngineHttpRequest and payload in PullMessage). These payloads are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+            "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
           ],
           "type": "string"
         },
         "scheduleTime": {
-          "description": "Required. The task's current schedule time, available in the\nschedule_time returned by\nLeaseTasks response or\nRenewLease response. This restriction is\nto ensure that your worker currently holds the lease.",
+          "description": "Required. The task's current schedule time, available in the schedule_time returned by LeaseTasks response or RenewLease response. This restriction is to ensure that your worker currently holds the lease.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -968,7 +978,7 @@
       "id": "CreateTaskRequest",
       "properties": {
         "responseView": {
-          "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Task resource.",
+          "description": "The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource.",
           "enum": [
             "VIEW_UNSPECIFIED",
             "BASIC",
@@ -976,42 +986,42 @@
           ],
           "enumDescriptions": [
             "Unspecified. Defaults to BASIC.",
-            "The basic view omits fields which can be large or can contain\nsensitive data.\n\nThis view does not include the\n(payload in AppEngineHttpRequest and\npayload in PullMessage). These payloads are\ndesirable to return only when needed, because they can be large\nand because of the sensitivity of the data that you choose to\nstore in it.",
-            "All information is returned.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Queue resource."
+            "The basic view omits fields which can be large or can contain sensitive data. This view does not include the (payload in AppEngineHttpRequest and payload in PullMessage). These payloads are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+            "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
           ],
           "type": "string"
         },
         "task": {
           "$ref": "Task",
-          "description": "Required. The task to add.\n\nTask names have the following format:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`.\nThe user can optionally specify a task name. If a\nname is not specified then the system will generate a random\nunique task id, which will be set in the task returned in the\nresponse.\n\nIf schedule_time is not set or is in the\npast then Cloud Tasks will set it to the current time.\n\nTask De-duplication:\n\nExplicitly specifying a task ID enables task de-duplication.  If\na task's ID is identical to that of an existing task or a task\nthat was deleted or completed recently then the call will fail\nwith ALREADY_EXISTS.\nIf the task's queue was created using Cloud Tasks, then another task with\nthe same name can't be created for ~1hour after the original task was\ndeleted or completed. If the task's queue was created using queue.yaml or\nqueue.xml, then another task with the same name can't be created\nfor ~9days after the original task was deleted or completed.\n\nBecause there is an extra lookup cost to identify duplicate task\nnames, these CreateTask calls have significantly\nincreased latency. Using hashed strings for the task id or for\nthe prefix of the task id is recommended. Choosing task ids that\nare sequential or have sequential prefixes, for example using a\ntimestamp, causes an increase in latency and error rates in all\ntask commands. The infrastructure relies on an approximately\nuniform distribution of task ids to store and serve tasks\nefficiently."
+          "description": "Required. The task to add. Task names have the following format: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`. The user can optionally specify a task name. If a name is not specified then the system will generate a random unique task id, which will be set in the task returned in the response. If schedule_time is not set or is in the past then Cloud Tasks will set it to the current time. Task De-duplication: Explicitly specifying a task ID enables task de-duplication. If a task's ID is identical to that of an existing task or a task that was deleted or completed recently then the call will fail with ALREADY_EXISTS. If the task's queue was created using Cloud Tasks, then another task with the same name can't be created for ~1hour after the original task was deleted or completed. If the task's queue was created using queue.yaml or queue.xml, then another task with the same name can't be created for ~9days after the original task was deleted or completed. Because there is an extra lookup cost to identify duplicate task names, these CreateTask calls have significantly increased latency. Using hashed strings for the task id or for the prefix of the task id is recommended. Choosing task ids that are sequential or have sequential prefixes, for example using a timestamp, causes an increase in latency and error rates in all task commands. The infrastructure relies on an approximately uniform distribution of task ids to store and serve tasks efficiently."
         }
       },
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
     },
     "Expr": {
-      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
+      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
       "id": "Expr",
       "properties": {
         "description": {
-          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
+          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
           "type": "string"
         },
         "expression": {
-          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
+          "description": "Textual representation of an expression in Common Expression Language syntax.",
           "type": "string"
         },
         "location": {
-          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
+          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
           "type": "string"
         },
         "title": {
-          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
+          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
           "type": "string"
         }
       },
@@ -1023,7 +1033,7 @@
       "properties": {
         "options": {
           "$ref": "GetPolicyOptions",
-          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`."
+          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`."
         }
       },
       "type": "object"
@@ -1033,7 +1043,7 @@
       "id": "GetPolicyOptions",
       "properties": {
         "requestedPolicyVersion": {
-          "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -1045,21 +1055,21 @@
       "id": "LeaseTasksRequest",
       "properties": {
         "filter": {
-          "description": "`filter` can be used to specify a subset of tasks to lease.\n\nWhen `filter` is set to `tag=\u003cmy-tag\u003e` then the\nresponse will contain only tasks whose\ntag is equal to `\u003cmy-tag\u003e`. `\u003cmy-tag\u003e` must be\nless than 500 characters.\n\nWhen `filter` is set to `tag_function=oldest_tag()`, only tasks which have\nthe same tag as the task with the oldest\nschedule_time will be returned.\n\nGrammar Syntax:\n\n* `filter = \"tag=\" tag | \"tag_function=\" function`\n\n* `tag = string`\n\n* `function = \"oldest_tag()\"`\n\nThe `oldest_tag()` function returns tasks which have the same tag as the\noldest task (ordered by schedule time).\n\nSDK compatibility: Although the SDK allows tags to be either\nstring or\n[bytes](https://cloud.google.com/appengine/docs/standard/java/javadoc/com/google/appengine/api/taskqueue/TaskOptions.html#tag-byte:A-),\nonly UTF-8 encoded tags can be used in Cloud Tasks. Tag which\naren't UTF-8 encoded can't be used in the\nfilter and the task's\ntag will be displayed as empty in Cloud Tasks.",
+          "description": "`filter` can be used to specify a subset of tasks to lease. When `filter` is set to `tag=` then the response will contain only tasks whose tag is equal to ``. `` must be less than 500 characters. When `filter` is set to `tag_function=oldest_tag()`, only tasks which have the same tag as the task with the oldest schedule_time will be returned. Grammar Syntax: * `filter = \"tag=\" tag | \"tag_function=\" function` * `tag = string` * `function = \"oldest_tag()\"` The `oldest_tag()` function returns tasks which have the same tag as the oldest task (ordered by schedule time). SDK compatibility: Although the SDK allows tags to be either string or [bytes](https://cloud.google.com/appengine/docs/standard/java/javadoc/com/google/appengine/api/taskqueue/TaskOptions.html#tag-byte:A-), only UTF-8 encoded tags can be used in Cloud Tasks. Tag which aren't UTF-8 encoded can't be used in the filter and the task's tag will be displayed as empty in Cloud Tasks.",
           "type": "string"
         },
         "leaseDuration": {
-          "description": "Required. The duration of the lease.\n\nEach task returned in the response will\nhave its schedule_time set to the current\ntime plus the `lease_duration`. The task is leased until its\nschedule_time; thus, the task will not be\nreturned to another LeaseTasks call\nbefore its schedule_time.\n\n\nAfter the worker has successfully finished the work associated\nwith the task, the worker must call via\nAcknowledgeTask before the\nschedule_time. Otherwise the task will be\nreturned to a later LeaseTasks call so\nthat another worker can retry it.\n\nThe maximum lease duration is 1 week.\n`lease_duration` will be truncated to the nearest second.",
+          "description": "Required. The duration of the lease. Each task returned in the response will have its schedule_time set to the current time plus the `lease_duration`. The task is leased until its schedule_time; thus, the task will not be returned to another LeaseTasks call before its schedule_time. After the worker has successfully finished the work associated with the task, the worker must call via AcknowledgeTask before the schedule_time. Otherwise the task will be returned to a later LeaseTasks call so that another worker can retry it. The maximum lease duration is 1 week. `lease_duration` will be truncated to the nearest second.",
           "format": "google-duration",
           "type": "string"
         },
         "maxTasks": {
-          "description": "The maximum number of tasks to lease.\n\nThe system will make a best effort to return as close to as\n`max_tasks` as possible.\n\nThe largest that `max_tasks` can be is 1000.\n\nThe maximum total size of a lease tasks response is\n32 MB. If the sum of all task sizes requested reaches this limit,\nfewer tasks than requested are returned.",
+          "description": "The maximum number of tasks to lease. The system will make a best effort to return as close to as `max_tasks` as possible. The largest that `max_tasks` can be is 1000. The maximum total size of a lease tasks response is 32 MB. If the sum of all task sizes requested reaches this limit, fewer tasks than requested are returned.",
           "format": "int32",
           "type": "integer"
         },
         "responseView": {
-          "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Task resource.",
+          "description": "The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource.",
           "enum": [
             "VIEW_UNSPECIFIED",
             "BASIC",
@@ -1067,8 +1077,8 @@
           ],
           "enumDescriptions": [
             "Unspecified. Defaults to BASIC.",
-            "The basic view omits fields which can be large or can contain\nsensitive data.\n\nThis view does not include the\n(payload in AppEngineHttpRequest and\npayload in PullMessage). These payloads are\ndesirable to return only when needed, because they can be large\nand because of the sensitivity of the data that you choose to\nstore in it.",
-            "All information is returned.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Queue resource."
+            "The basic view omits fields which can be large or can contain sensitive data. This view does not include the (payload in AppEngineHttpRequest and payload in PullMessage). These payloads are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+            "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
           ],
           "type": "string"
         }
@@ -1112,7 +1122,7 @@
       "id": "ListQueuesResponse",
       "properties": {
         "nextPageToken": {
-          "description": "A token to retrieve next page of results.\n\nTo return the next page of results, call\nListQueues with this value as the\npage_token.\n\nIf the next_page_token is empty, there are no more results.\n\nThe page token is valid for only 2 hours.",
+          "description": "A token to retrieve next page of results. To return the next page of results, call ListQueues with this value as the page_token. If the next_page_token is empty, there are no more results. The page token is valid for only 2 hours.",
           "type": "string"
         },
         "queues": {
@@ -1130,7 +1140,7 @@
       "id": "ListTasksResponse",
       "properties": {
         "nextPageToken": {
-          "description": "A token to retrieve next page of results.\n\nTo return the next page of results, call\nListTasks with this value as the\npage_token.\n\nIf the next_page_token is empty, there are no more results.",
+          "description": "A token to retrieve next page of results. To return the next page of results, call ListTasks with this value as the page_token. If the next_page_token is empty, there are no more results.",
           "type": "string"
         },
         "tasks": {
@@ -1148,14 +1158,14 @@
       "id": "Location",
       "properties": {
         "displayName": {
-          "description": "The friendly name for this location, typically a nearby city name.\nFor example, \"Tokyo\".",
+          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
           "type": "string"
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Cross-service attributes for the location. For example\n\n    {\"cloud.googleapis.com/region\": \"us-east1\"}",
+          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
           "type": "object"
         },
         "locationId": {
@@ -1167,11 +1177,11 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "Service-specific metadata. For example the available capacity at the given\nlocation.",
+          "description": "Service-specific metadata. For example the available capacity at the given location.",
           "type": "object"
         },
         "name": {
-          "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`",
+          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
           "type": "string"
         }
       },
@@ -1184,23 +1194,23 @@
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\n            \"user:eve@example.com\"\n          ],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "bindings": {
-          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
+          "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.",
           "items": {
             "$ref": "Binding"
           },
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
           "format": "byte",
           "type": "string"
         },
         "version": {
-          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -1208,7 +1218,7 @@
       "type": "object"
     },
     "PullMessage": {
-      "description": "The pull message contains data that can be used by the caller of\nLeaseTasks to process the task.\n\nThis proto can only be used for tasks in a queue which has\npull_target set.",
+      "description": "The pull message contains data that can be used by the caller of LeaseTasks to process the task. This proto can only be used for tasks in a queue which has pull_target set.",
       "id": "PullMessage",
       "properties": {
         "payload": {
@@ -1217,7 +1227,7 @@
           "type": "string"
         },
         "tag": {
-          "description": "The task's tag.\n\nTags allow similar tasks to be processed in a batch. If you label\ntasks with a tag, your worker can\nlease tasks with the same tag using\nfilter. For example, if you want to\naggregate the events associated with a specific user once a day,\nyou could tag tasks with the user ID.\n\nThe task's tag can only be set when the\ntask is created.\n\nThe tag must be less than 500 characters.\n\nSDK compatibility: Although the SDK allows tags to be either\nstring or\n[bytes](https://cloud.google.com/appengine/docs/standard/java/javadoc/com/google/appengine/api/taskqueue/TaskOptions.html#tag-byte:A-),\nonly UTF-8 encoded tags can be used in Cloud Tasks. If a tag isn't UTF-8\nencoded, the tag will be empty when the task is returned by Cloud Tasks.",
+          "description": "The task's tag. Tags allow similar tasks to be processed in a batch. If you label tasks with a tag, your worker can lease tasks with the same tag using filter. For example, if you want to aggregate the events associated with a specific user once a day, you could tag tasks with the user ID. The task's tag can only be set when the task is created. The tag must be less than 500 characters. SDK compatibility: Although the SDK allows tags to be either string or [bytes](https://cloud.google.com/appengine/docs/standard/java/javadoc/com/google/appengine/api/taskqueue/TaskOptions.html#tag-byte:A-), only UTF-8 encoded tags can be used in Cloud Tasks. If a tag isn't UTF-8 encoded, the tag will be empty when the task is returned by Cloud Tasks.",
           "type": "string"
         }
       },
@@ -1236,36 +1246,36 @@
       "type": "object"
     },
     "Queue": {
-      "description": "A queue is a container of related tasks. Queues are configured to manage\nhow those tasks are dispatched. Configurable properties include rate limits,\nretry options, target types, and others.",
+      "description": "A queue is a container of related tasks. Queues are configured to manage how those tasks are dispatched. Configurable properties include rate limits, retry options, target types, and others.",
       "id": "Queue",
       "properties": {
         "appEngineHttpTarget": {
           "$ref": "AppEngineHttpTarget",
-          "description": "App Engine HTTP target.\n\nAn App Engine queue is a queue that has an AppEngineHttpTarget."
+          "description": "App Engine HTTP target. An App Engine queue is a queue that has an AppEngineHttpTarget."
         },
         "name": {
-          "description": "Caller-specified and required in CreateQueue,\nafter which it becomes output only.\n\nThe queue name.\n\nThe queue name must have the following format:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`\n\n* `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),\n   hyphens (-), colons (:), or periods (.).\n   For more information, see\n   [Identifying\n   projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)\n* `LOCATION_ID` is the canonical ID for the queue's location.\n   The list of available locations can be obtained by calling\n   ListLocations.\n   For more information, see https://cloud.google.com/about/locations/.\n* `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or\n  hyphens (-). The maximum length is 100 characters.",
+          "description": "Caller-specified and required in CreateQueue, after which it becomes output only. The queue name. The queue name must have the following format: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens (-), colons (:), or periods (.). For more information, see [Identifying projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) * `LOCATION_ID` is the canonical ID for the queue's location. The list of available locations can be obtained by calling ListLocations. For more information, see https://cloud.google.com/about/locations/. * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or hyphens (-). The maximum length is 100 characters.",
           "type": "string"
         },
         "pullTarget": {
           "$ref": "PullTarget",
-          "description": "Pull target.\n\nA pull queue is a queue that has a PullTarget."
+          "description": "Pull target. A pull queue is a queue that has a PullTarget."
         },
         "purgeTime": {
-          "description": "Output only. The last time this queue was purged.\n\nAll tasks that were created before this time\nwere purged.\n\nA queue can be purged using PurgeQueue, the\n[App Engine Task Queue SDK, or the Cloud\nConsole](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_queue).\n\nPurge time will be truncated to the nearest microsecond. Purge\ntime will be unset if the queue has never been purged.",
+          "description": "Output only. The last time this queue was purged. All tasks that were created before this time were purged. A queue can be purged using PurgeQueue, the [App Engine Task Queue SDK, or the Cloud Console](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_queue). Purge time will be truncated to the nearest microsecond. Purge time will be unset if the queue has never been purged.",
           "format": "google-datetime",
           "type": "string"
         },
         "rateLimits": {
           "$ref": "RateLimits",
-          "description": "Rate limits for task dispatches.\n\nrate_limits and\nretry_config are related because they both\ncontrol task attempts however they control how tasks are\nattempted in different ways:\n\n* rate_limits controls the total rate of\n  dispatches from a queue (i.e. all traffic dispatched from the\n  queue, regardless of whether the dispatch is from a first\n  attempt or a retry).\n* retry_config controls what happens to\n  particular a task after its first attempt fails. That is,\n  retry_config controls task retries (the\n  second attempt, third attempt, etc)."
+          "description": "Rate limits for task dispatches. rate_limits and retry_config are related because they both control task attempts however they control how tasks are attempted in different ways: * rate_limits controls the total rate of dispatches from a queue (i.e. all traffic dispatched from the queue, regardless of whether the dispatch is from a first attempt or a retry). * retry_config controls what happens to particular a task after its first attempt fails. That is, retry_config controls task retries (the second attempt, third attempt, etc)."
         },
         "retryConfig": {
           "$ref": "RetryConfig",
-          "description": "Settings that determine the retry behavior.\n\n* For tasks created using Cloud Tasks: the queue-level retry settings\n  apply to all tasks in the queue that were created using Cloud Tasks.\n  Retry settings cannot be set on individual tasks.\n* For tasks created using the App Engine SDK: the queue-level retry\n  settings apply to all tasks in the queue which do not have retry settings\n  explicitly set on the task and were created by the App Engine SDK. See\n  [App Engine\n  documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks)."
+          "description": "Settings that determine the retry behavior. * For tasks created using Cloud Tasks: the queue-level retry settings apply to all tasks in the queue that were created using Cloud Tasks. Retry settings cannot be set on individual tasks. * For tasks created using the App Engine SDK: the queue-level retry settings apply to all tasks in the queue which do not have retry settings explicitly set on the task and were created by the App Engine SDK. See [App Engine documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks)."
         },
         "state": {
-          "description": "Output only. The state of the queue.\n\n`state` can only be changed by called\nPauseQueue,\nResumeQueue, or uploading\n[queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config/queueref).\nUpdateQueue cannot be used to change `state`.",
+          "description": "Output only. The state of the queue. `state` can only be changed by called PauseQueue, ResumeQueue, or uploading [queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config/queueref). UpdateQueue cannot be used to change `state`.",
           "enum": [
             "STATE_UNSPECIFIED",
             "RUNNING",
@@ -1274,9 +1284,9 @@
           ],
           "enumDescriptions": [
             "Unspecified state.",
-            "The queue is running. Tasks can be dispatched.\n\nIf the queue was created using Cloud Tasks and the queue has\nhad no activity (method calls or task dispatches) for 30 days,\nthe queue may take a few minutes to re-activate. Some method\ncalls may return NOT_FOUND and\ntasks may not be dispatched for a few minutes until the queue\nhas been re-activated.",
-            "Tasks are paused by the user. If the queue is paused then Cloud\nTasks will stop delivering tasks from it, but more tasks can\nstill be added to it by the user. When a pull queue is paused,\nall LeaseTasks calls will return a\nFAILED_PRECONDITION.",
-            "The queue is disabled.\n\nA queue becomes `DISABLED` when\n[queue.yaml](https://cloud.google.com/appengine/docs/python/config/queueref)\nor\n[queue.xml](https://cloud.google.com/appengine/docs/standard/java/config/queueref)\nis uploaded which does not contain the queue. You cannot directly disable\na queue.\n\nWhen a queue is disabled, tasks can still be added to a queue\nbut the tasks are not dispatched and\nLeaseTasks calls return a\n`FAILED_PRECONDITION` error.\n\nTo permanently delete this queue and all of its tasks, call\nDeleteQueue."
+            "The queue is running. Tasks can be dispatched. If the queue was created using Cloud Tasks and the queue has had no activity (method calls or task dispatches) for 30 days, the queue may take a few minutes to re-activate. Some method calls may return NOT_FOUND and tasks may not be dispatched for a few minutes until the queue has been re-activated.",
+            "Tasks are paused by the user. If the queue is paused then Cloud Tasks will stop delivering tasks from it, but more tasks can still be added to it by the user. When a pull queue is paused, all LeaseTasks calls will return a FAILED_PRECONDITION.",
+            "The queue is disabled. A queue becomes `DISABLED` when [queue.yaml](https://cloud.google.com/appengine/docs/python/config/queueref) or [queue.xml](https://cloud.google.com/appengine/docs/standard/java/config/queueref) is uploaded which does not contain the queue. You cannot directly disable a queue. When a queue is disabled, tasks can still be added to a queue but the tasks are not dispatched and LeaseTasks calls return a `FAILED_PRECONDITION` error. To permanently delete this queue and all of its tasks, call DeleteQueue."
           ],
           "type": "string"
         }
@@ -1284,21 +1294,21 @@
       "type": "object"
     },
     "RateLimits": {
-      "description": "Rate limits.\n\nThis message determines the maximum rate that tasks can be dispatched by a\nqueue, regardless of whether the dispatch is a first task attempt or a retry.\n\nNote: The debugging command, RunTask, will run a task\neven if the queue has reached its RateLimits.",
+      "description": "Rate limits. This message determines the maximum rate that tasks can be dispatched by a queue, regardless of whether the dispatch is a first task attempt or a retry. Note: The debugging command, RunTask, will run a task even if the queue has reached its RateLimits.",
       "id": "RateLimits",
       "properties": {
         "maxBurstSize": {
-          "description": "Output only. The max burst size.\n\nMax burst size limits how fast tasks in queue are processed when\nmany tasks are in the queue and the rate is high. This field\nallows the queue to have a high rate so processing starts shortly\nafter a task is enqueued, but still limits resource usage when\nmany tasks are enqueued in a short period of time.\n\nThe [token bucket](https://wikipedia.org/wiki/Token_Bucket)\nalgorithm is used to control the rate of task dispatches. Each\nqueue has a token bucket that holds tokens, up to the maximum\nspecified by `max_burst_size`. Each time a task is dispatched, a\ntoken is removed from the bucket. Tasks will be dispatched until\nthe queue's bucket runs out of tokens. The bucket will be\ncontinuously refilled with new tokens based on\nmax_tasks_dispatched_per_second.\n\nCloud Tasks will pick the value of `max_burst_size` based on the\nvalue of\nmax_tasks_dispatched_per_second.\n\nFor App Engine queues that were created or updated using\n`queue.yaml/xml`, `max_burst_size` is equal to\n[bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size).\nSince `max_burst_size` is output only, if\nUpdateQueue is called on a queue\ncreated by `queue.yaml/xml`, `max_burst_size` will be reset based\non the value of\nmax_tasks_dispatched_per_second,\nregardless of whether\nmax_tasks_dispatched_per_second\nis updated.\n",
+          "description": "Output only. The max burst size. Max burst size limits how fast tasks in queue are processed when many tasks are in the queue and the rate is high. This field allows the queue to have a high rate so processing starts shortly after a task is enqueued, but still limits resource usage when many tasks are enqueued in a short period of time. The [token bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to control the rate of task dispatches. Each queue has a token bucket that holds tokens, up to the maximum specified by `max_burst_size`. Each time a task is dispatched, a token is removed from the bucket. Tasks will be dispatched until the queue's bucket runs out of tokens. The bucket will be continuously refilled with new tokens based on max_tasks_dispatched_per_second. Cloud Tasks will pick the value of `max_burst_size` based on the value of max_tasks_dispatched_per_second. For App Engine queues that were created or updated using `queue.yaml/xml`, `max_burst_size` is equal to [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). Since `max_burst_size` is output only, if UpdateQueue is called on a queue created by `queue.yaml/xml`, `max_burst_size` will be reset based on the value of max_tasks_dispatched_per_second, regardless of whether max_tasks_dispatched_per_second is updated. ",
           "format": "int32",
           "type": "integer"
         },
         "maxConcurrentTasks": {
-          "description": "The maximum number of concurrent tasks that Cloud Tasks allows\nto be dispatched for this queue. After this threshold has been\nreached, Cloud Tasks stops dispatching tasks until the number of\nconcurrent requests decreases.\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\n\nThe maximum allowed value is 5,000.\n\nThis field is output only for\npull queues and always -1, which indicates no limit. No other\nqueue types can have `max_concurrent_tasks` set to -1.\n\n\nThis field has the same meaning as\n[max_concurrent_requests in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests).",
+          "description": "The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. After this threshold has been reached, Cloud Tasks stops dispatching tasks until the number of concurrent requests decreases. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 5,000. This field is output only for pull queues and always -1, which indicates no limit. No other queue types can have `max_concurrent_tasks` set to -1. This field has the same meaning as [max_concurrent_requests in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests).",
           "format": "int32",
           "type": "integer"
         },
         "maxTasksDispatchedPerSecond": {
-          "description": "The maximum rate at which tasks are dispatched from this queue.\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\n* For App Engine queues, the maximum allowed value\n  is 500.\n* This field is output only   for pull queues. In addition to the\n  `max_tasks_dispatched_per_second` limit, a maximum of 10 QPS of\n  LeaseTasks requests are allowed per pull queue.\n\n\nThis field has the same meaning as\n[rate in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).",
+          "description": "The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * For App Engine queues, the maximum allowed value is 500. * This field is output only for pull queues. In addition to the `max_tasks_dispatched_per_second` limit, a maximum of 10 QPS of LeaseTasks requests are allowed per pull queue. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).",
           "format": "double",
           "type": "number"
         }
@@ -1306,16 +1316,16 @@
       "type": "object"
     },
     "RenewLeaseRequest": {
-      "description": "Request message for renewing a lease using\nRenewLease.",
+      "description": "Request message for renewing a lease using RenewLease.",
       "id": "RenewLeaseRequest",
       "properties": {
         "leaseDuration": {
-          "description": "Required. The desired new lease duration, starting from now.\n\n\nThe maximum lease duration is 1 week.\n`lease_duration` will be truncated to the nearest second.",
+          "description": "Required. The desired new lease duration, starting from now. The maximum lease duration is 1 week. `lease_duration` will be truncated to the nearest second.",
           "format": "google-duration",
           "type": "string"
         },
         "responseView": {
-          "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Task resource.",
+          "description": "The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource.",
           "enum": [
             "VIEW_UNSPECIFIED",
             "BASIC",
@@ -1323,13 +1333,13 @@
           ],
           "enumDescriptions": [
             "Unspecified. Defaults to BASIC.",
-            "The basic view omits fields which can be large or can contain\nsensitive data.\n\nThis view does not include the\n(payload in AppEngineHttpRequest and\npayload in PullMessage). These payloads are\ndesirable to return only when needed, because they can be large\nand because of the sensitivity of the data that you choose to\nstore in it.",
-            "All information is returned.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Queue resource."
+            "The basic view omits fields which can be large or can contain sensitive data. This view does not include the (payload in AppEngineHttpRequest and payload in PullMessage). These payloads are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+            "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
           ],
           "type": "string"
         },
         "scheduleTime": {
-          "description": "Required. The task's current schedule time, available in the\nschedule_time returned by\nLeaseTasks response or\nRenewLease response. This restriction is\nto ensure that your worker currently holds the lease.",
+          "description": "Required. The task's current schedule time, available in the schedule_time returned by LeaseTasks response or RenewLease response. This restriction is to ensure that your worker currently holds the lease.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -1343,31 +1353,31 @@
       "type": "object"
     },
     "RetryConfig": {
-      "description": "Retry config.\n\nThese settings determine how a failed task attempt is retried.",
+      "description": "Retry config. These settings determine how a failed task attempt is retried.",
       "id": "RetryConfig",
       "properties": {
         "maxAttempts": {
-          "description": "The maximum number of attempts for a task.\n\nCloud Tasks will attempt the task `max_attempts` times (that\nis, if the first attempt fails, then there will be\n`max_attempts - 1` retries).  Must be \u003e 0.",
+          "description": "The maximum number of attempts for a task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be \u003e 0.",
           "format": "int32",
           "type": "integer"
         },
         "maxBackoff": {
-          "description": "A task will be scheduled for retry between\nmin_backoff and\nmax_backoff duration after it fails,\nif the queue's RetryConfig specifies that the task should be\nretried.\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\nThis field is output only for pull queues.\n\n\n`max_backoff` will be truncated to the nearest second.\n\nThis field has the same meaning as\n[max_backoff_seconds in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
+          "description": "A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. This field is output only for pull queues. `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
           "format": "google-duration",
           "type": "string"
         },
         "maxDoublings": {
-          "description": "The time between retries will double `max_doublings` times.\n\nA task's retry interval starts at\nmin_backoff, then doubles\n`max_doublings` times, then increases linearly, and finally\nretries at intervals of\nmax_backoff up to\nmax_attempts times.\n\nFor example, if min_backoff is 10s,\nmax_backoff is 300s, and\n`max_doublings` is 3, then the a task will first be retried in\n10s. The retry interval will double three times, and then\nincrease linearly by 2^3 * 10s.  Finally, the task will retry at\nintervals of max_backoff until the\ntask has been attempted max_attempts\ntimes. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s,\n240s, 300s, 300s, ....\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\nThis field is output only for pull queues.\n\n\nThis field has the same meaning as\n[max_doublings in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
+          "description": "The time between retries will double `max_doublings` times. A task's retry interval starts at min_backoff, then doubles `max_doublings` times, then increases linearly, and finally retries at intervals of max_backoff up to max_attempts times. For example, if min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3, then the a task will first be retried in 10s. The retry interval will double three times, and then increase linearly by 2^3 * 10s. Finally, the task will retry at intervals of max_backoff until the task has been attempted max_attempts times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when the queue is created, Cloud Tasks will pick the default. This field is output only for pull queues. This field has the same meaning as [max_doublings in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
           "format": "int32",
           "type": "integer"
         },
         "maxRetryDuration": {
-          "description": "If positive, `max_retry_duration` specifies the time limit for\nretrying a failed task, measured from when the task was first\nattempted. Once `max_retry_duration` time has passed *and* the\ntask has been attempted max_attempts\ntimes, no further attempts will be made and the task will be\ndeleted.\n\nIf zero, then the task age is unlimited.\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\nThis field is output only for pull queues.\n\n\n`max_retry_duration` will be truncated to the nearest second.\n\nThis field has the same meaning as\n[task_age_limit in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
+          "description": "If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. This field is output only for pull queues. `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
           "format": "google-duration",
           "type": "string"
         },
         "minBackoff": {
-          "description": "A task will be scheduled for retry between\nmin_backoff and\nmax_backoff duration after it fails,\nif the queue's RetryConfig specifies that the task should be\nretried.\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\nThis field is output only for pull queues.\n\n\n`min_backoff` will be truncated to the nearest second.\n\nThis field has the same meaning as\n[min_backoff_seconds in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
+          "description": "A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. This field is output only for pull queues. `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
           "format": "google-duration",
           "type": "string"
         },
@@ -1379,11 +1389,11 @@
       "type": "object"
     },
     "RunTaskRequest": {
-      "description": "Request message for forcing a task to run now using\nRunTask.",
+      "description": "Request message for forcing a task to run now using RunTask.",
       "id": "RunTaskRequest",
       "properties": {
         "responseView": {
-          "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Task resource.",
+          "description": "The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource.",
           "enum": [
             "VIEW_UNSPECIFIED",
             "BASIC",
@@ -1391,8 +1401,8 @@
           ],
           "enumDescriptions": [
             "Unspecified. Defaults to BASIC.",
-            "The basic view omits fields which can be large or can contain\nsensitive data.\n\nThis view does not include the\n(payload in AppEngineHttpRequest and\npayload in PullMessage). These payloads are\ndesirable to return only when needed, because they can be large\nand because of the sensitivity of the data that you choose to\nstore in it.",
-            "All information is returned.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Queue resource."
+            "The basic view omits fields which can be large or can contain sensitive data. This view does not include the (payload in AppEngineHttpRequest and payload in PullMessage). These payloads are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+            "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
           ],
           "type": "string"
         }
@@ -1405,13 +1415,13 @@
       "properties": {
         "policy": {
           "$ref": "Policy",
-          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
+          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them."
         }
       },
       "type": "object"
     },
     "Status": {
-      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "Status",
       "properties": {
         "code": {
@@ -1420,7 +1430,7 @@
           "type": "integer"
         },
         "details": {
-          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -1431,7 +1441,7 @@
           "type": "array"
         },
         "message": {
-          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
           "type": "string"
         }
       },
@@ -1443,23 +1453,23 @@
       "properties": {
         "appEngineHttpRequest": {
           "$ref": "AppEngineHttpRequest",
-          "description": "App Engine HTTP request that is sent to the task's target. Can\nbe set only if\napp_engine_http_target is set\non the queue.\n\nAn App Engine task is a task that has AppEngineHttpRequest set."
+          "description": "App Engine HTTP request that is sent to the task's target. Can be set only if app_engine_http_target is set on the queue. An App Engine task is a task that has AppEngineHttpRequest set."
         },
         "createTime": {
-          "description": "Output only. The time that the task was created.\n\n`create_time` will be truncated to the nearest second.",
+          "description": "Output only. The time that the task was created. `create_time` will be truncated to the nearest second.",
           "format": "google-datetime",
           "type": "string"
         },
         "name": {
-          "description": "Optionally caller-specified in CreateTask.\n\nThe task name.\n\nThe task name must have the following format:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`\n\n* `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),\n   hyphens (-), colons (:), or periods (.).\n   For more information, see\n   [Identifying\n   projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)\n* `LOCATION_ID` is the canonical ID for the task's location.\n   The list of available locations can be obtained by calling\n   ListLocations.\n   For more information, see https://cloud.google.com/about/locations/.\n* `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or\n  hyphens (-). The maximum length is 100 characters.\n* `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]),\n  hyphens (-), or underscores (_). The maximum length is 500 characters.",
+          "description": "Optionally caller-specified in CreateTask. The task name. The task name must have the following format: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens (-), colons (:), or periods (.). For more information, see [Identifying projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) * `LOCATION_ID` is the canonical ID for the task's location. The list of available locations can be obtained by calling ListLocations. For more information, see https://cloud.google.com/about/locations/. * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or hyphens (-). The maximum length is 100 characters. * `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]), hyphens (-), or underscores (_). The maximum length is 500 characters.",
           "type": "string"
         },
         "pullMessage": {
           "$ref": "PullMessage",
-          "description": "LeaseTasks to process the task. Can be\nset only if pull_target is set on the queue.\n\nA pull task is a task that has PullMessage set."
+          "description": "LeaseTasks to process the task. Can be set only if pull_target is set on the queue. A pull task is a task that has PullMessage set."
         },
         "scheduleTime": {
-          "description": "The time when the task is scheduled to be attempted.\n\nFor App Engine queues, this is when the task will be attempted or retried.\n\nFor pull queues, this is the time when the task is available to\nbe leased; if a task is currently leased, this is the time when\nthe current lease expires, that is, the time that the task was\nleased plus the lease_duration.\n\n`schedule_time` will be truncated to the nearest microsecond.",
+          "description": "The time when the task is scheduled to be attempted. For App Engine queues, this is when the task will be attempted or retried. For pull queues, this is the time when the task is available to be leased; if a task is currently leased, this is the time when the current lease expires, that is, the time that the task was leased plus the lease_duration. `schedule_time` will be truncated to the nearest microsecond.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -1468,7 +1478,7 @@
           "description": "Output only. The task status."
         },
         "view": {
-          "description": "Output only. The view specifies which subset of the Task has\nbeen returned.",
+          "description": "Output only. The view specifies which subset of the Task has been returned.",
           "enum": [
             "VIEW_UNSPECIFIED",
             "BASIC",
@@ -1476,8 +1486,8 @@
           ],
           "enumDescriptions": [
             "Unspecified. Defaults to BASIC.",
-            "The basic view omits fields which can be large or can contain\nsensitive data.\n\nThis view does not include the\n(payload in AppEngineHttpRequest and\npayload in PullMessage). These payloads are\ndesirable to return only when needed, because they can be large\nand because of the sensitivity of the data that you choose to\nstore in it.",
-            "All information is returned.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Queue resource."
+            "The basic view omits fields which can be large or can contain sensitive data. This view does not include the (payload in AppEngineHttpRequest and payload in PullMessage). These payloads are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+            "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
           ],
           "type": "string"
         }
@@ -1489,22 +1499,22 @@
       "id": "TaskStatus",
       "properties": {
         "attemptDispatchCount": {
-          "description": "Output only. The number of attempts dispatched.\n\nThis count includes attempts which have been dispatched but haven't\nreceived a response.",
+          "description": "Output only. The number of attempts dispatched. This count includes attempts which have been dispatched but haven't received a response.",
           "format": "int32",
           "type": "integer"
         },
         "attemptResponseCount": {
-          "description": "Output only. The number of attempts which have received a response.\n\nThis field is not calculated for pull tasks.",
+          "description": "Output only. The number of attempts which have received a response. This field is not calculated for pull tasks.",
           "format": "int32",
           "type": "integer"
         },
         "firstAttemptStatus": {
           "$ref": "AttemptStatus",
-          "description": "Output only. The status of the task's first attempt.\n\nOnly dispatch_time will be set.\nThe other AttemptStatus information is not retained by Cloud Tasks.\n\nThis field is not calculated for pull tasks."
+          "description": "Output only. The status of the task's first attempt. Only dispatch_time will be set. The other AttemptStatus information is not retained by Cloud Tasks. This field is not calculated for pull tasks."
         },
         "lastAttemptStatus": {
           "$ref": "AttemptStatus",
-          "description": "Output only. The status of the task's last attempt.\n\nThis field is not calculated for pull tasks."
+          "description": "Output only. The status of the task's last attempt. This field is not calculated for pull tasks."
         }
       },
       "type": "object"
@@ -1514,7 +1524,7 @@
       "id": "TestIamPermissionsRequest",
       "properties": {
         "permissions": {
-          "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
+          "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
           "items": {
             "type": "string"
           },
@@ -1528,7 +1538,7 @@
       "id": "TestIamPermissionsResponse",
       "properties": {
         "permissions": {
-          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
+          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
           "items": {
             "type": "string"
           },
diff --git a/cloudtasks/v2beta2/cloudtasks-gen.go b/cloudtasks/v2beta2/cloudtasks-gen.go
index 253e60d..11dc865 100644
--- a/cloudtasks/v2beta2/cloudtasks-gen.go
+++ b/cloudtasks/v2beta2/cloudtasks-gen.go
@@ -183,15 +183,12 @@
 }
 
 // AcknowledgeTaskRequest: Request message for acknowledging a task
-// using
-// AcknowledgeTask.
+// using AcknowledgeTask.
 type AcknowledgeTaskRequest struct {
 	// ScheduleTime: Required. The task's current schedule time, available
-	// in the
-	// schedule_time returned by
-	// LeaseTasks response or
-	// RenewLease response. This restriction is
-	// to ensure that your worker currently holds the lease.
+	// in the schedule_time returned by LeaseTasks response or RenewLease
+	// response. This restriction is to ensure that your worker currently
+	// holds the lease.
 	ScheduleTime string `json:"scheduleTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ScheduleTime") to
@@ -217,176 +214,91 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// AppEngineHttpRequest: App Engine HTTP request.
-//
-// The message defines the HTTP request that is sent to an App Engine
-// app when
-// the task is dispatched.
-//
-// This proto can only be used for tasks in a queue which
-// has
-// app_engine_http_target set.
-//
-// Using AppEngineHttpRequest
-// requires
-// [`appengine.applications.get`](https://cloud.google.com/appen
-// gine/docs/admin-api/access-control)
-// Google IAM permission for the project
-// and the following
-// scope:
-//
-// `https://www.googleapis.com/auth/cloud-platform`
-//
+// AppEngineHttpRequest: App Engine HTTP request. The message defines
+// the HTTP request that is sent to an App Engine app when the task is
+// dispatched. This proto can only be used for tasks in a queue which
+// has app_engine_http_target set. Using AppEngineHttpRequest requires
+// [`appengine.applications.get`](https://cloud.google.com/appengine/docs
+// /admin-api/access-control) Google IAM permission for the project and
+// the following scope: `https://www.googleapis.com/auth/cloud-platform`
 // The task will be delivered to the App Engine app which belongs to the
-// same
-// project as the queue. For more information, see
-// [How Requests
+// same project as the queue. For more information, see [How Requests
 // are
-// Routed](https://cloud.google.com/appengine/docs/standard/python/ho
-// w-requests-are-routed)
-// and how routing is affected
-// by
-// [dispatch
-// files](https://cloud.google.com/appengine/docs/python/con
-// fig/dispatchref).
-// Traffic is encrypted during transport and never leaves Google
-// datacenters.
-// Because this traffic is carried over a communication mechanism
-// internal to
-// Google, you cannot explicitly set the protocol (for example, HTTP or
-// HTTPS).
-// The request to the handler, however, will appear to have used the
-// HTTP
-// protocol.
-//
-// The AppEngineRouting used to construct the URL that the task
-// is
-// delivered to can be set at the queue-level or task-level:
-//
-// * If set,
-//   app_engine_routing_override
-//   is used for all tasks in the queue, no matter what the setting
-//   is for the
-//   task-level app_engine_routing.
-//
-//
-// The `url` that the task will be sent to is:
-//
-// * `url =` host `+`
-//   relative_url
-//
-// Tasks can be dispatched to secure app handlers, unsecure app
-// handlers, and
-// URIs restricted
-// with
-// [`login:
-// admin`](https://cloud.google.com/appengine/docs/standard
-// /python/config/appref).
-// Because tasks are not run as any user, they cannot be dispatched to
-// URIs
-// restricted
-// with
-// [`login:
-// required`](https://cloud.google.com/appengine/docs/stand
-// ard/python/config/appref)
-// Task dispatches also do not follow redirects.
-//
-// The task attempt has succeeded if the app's request handler returns
-// an HTTP
+// Routed](https://cloud.google.com/appengine/docs/standard/python/how-re
+// quests-are-routed) and how routing is affected by [dispatch
+// files](https://cloud.google.com/appengine/docs/python/config/dispatchr
+// ef). Traffic is encrypted during transport and never leaves Google
+// datacenters. Because this traffic is carried over a communication
+// mechanism internal to Google, you cannot explicitly set the protocol
+// (for example, HTTP or HTTPS). The request to the handler, however,
+// will appear to have used the HTTP protocol. The AppEngineRouting used
+// to construct the URL that the task is delivered to can be set at the
+// queue-level or task-level: * If set, app_engine_routing_override is
+// used for all tasks in the queue, no matter what the setting is for
+// the task-level app_engine_routing. The `url` that the task will be
+// sent to is: * `url =` host `+` relative_url Tasks can be dispatched
+// to secure app handlers, unsecure app handlers, and URIs restricted
+// with [`login:
+// admin`](https://cloud.google.com/appengine/docs/standard/python/config
+// /appref). Because tasks are not run as any user, they cannot be
+// dispatched to URIs restricted with [`login:
+// required`](https://cloud.google.com/appengine/docs/standard/python/con
+// fig/appref) Task dispatches also do not follow redirects. The task
+// attempt has succeeded if the app's request handler returns an HTTP
 // response code in the range [`200` - `299`]. The task attempt has
-// failed if
-// the app's handler returns a non-2xx response code or Cloud Tasks
-// does
-// not receive response before the deadline. Failed
-// tasks will be retried according to the
-// retry configuration. `503` (Service Unavailable) is
-// considered an App Engine system error instead of an application error
-// and
-// will cause Cloud Tasks' traffic congestion control to temporarily
-// throttle
-// the queue's dispatches. Unlike other types of task targets, a `429`
-// (Too Many
-// Requests) response from an app handler does not cause traffic
-// congestion
-// control to throttle the queue.
+// failed if the app's handler returns a non-2xx response code or Cloud
+// Tasks does not receive response before the deadline. Failed tasks
+// will be retried according to the retry configuration. `503` (Service
+// Unavailable) is considered an App Engine system error instead of an
+// application error and will cause Cloud Tasks' traffic congestion
+// control to temporarily throttle the queue's dispatches. Unlike other
+// types of task targets, a `429` (Too Many Requests) response from an
+// app handler does not cause traffic congestion control to throttle the
+// queue.
 type AppEngineHttpRequest struct {
-	// AppEngineRouting: Task-level setting for App Engine routing.
-	//
-	// If set,
-	// app_engine_routing_override
-	// is used for all tasks in the queue, no matter what the setting is for
-	// the
-	// task-level app_engine_routing.
+	// AppEngineRouting: Task-level setting for App Engine routing. If set,
+	// app_engine_routing_override is used for all tasks in the queue, no
+	// matter what the setting is for the task-level app_engine_routing.
 	AppEngineRouting *AppEngineRouting `json:"appEngineRouting,omitempty"`
 
-	// Headers: HTTP request headers.
-	//
-	// This map contains the header field names and values.
-	// Headers can be set when the
-	// task is created.
+	// Headers: HTTP request headers. This map contains the header field
+	// names and values. Headers can be set when the task is created.
 	// Repeated headers are not supported but a header value can contain
-	// commas.
-	//
-	// Cloud Tasks sets some headers to default values:
-	//
-	// * `User-Agent`: By default, this header is
-	//   "AppEngine-Google; (+http://code.google.com/appengine)".
-	//   This header can be modified, but Cloud Tasks will append
-	//   "AppEngine-Google; (+http://code.google.com/appengine)" to the
-	//   modified `User-Agent`.
-	//
-	// If the task has a payload, Cloud
-	// Tasks sets the following headers:
-	//
-	// * `Content-Type`: By default, the `Content-Type` header is set to
-	//   "application/octet-stream". The default can be overridden by
-	// explicitly
-	//   setting `Content-Type` to a particular media type when the
-	//   task is created.
-	//   For example, `Content-Type` can be set to "application/json".
-	// * `Content-Length`: This is computed by Cloud Tasks. This value is
-	//   output only.   It cannot be changed.
-	//
-	// The headers below cannot be set or overridden:
-	//
-	// * `Host`
-	// * `X-Google-*`
-	// * `X-AppEngine-*`
-	//
-	// In addition, Cloud Tasks sets some headers when the task is
-	// dispatched,
-	// such as headers containing information about the task;
-	// see
-	// [request
-	// headers](https://cloud.google.com/appengine/docs/python/t
-	// askqueue/push/creating-handlers#reading_request_headers).
-	// These headers are set only when the task is dispatched, so they are
-	// not
-	// visible when the task is returned in a Cloud Tasks
-	// response.
-	//
-	// Although there is no specific limit for the maximum number of headers
-	// or
-	// the size, there is a limit on the maximum size of the Task. For
-	// more
-	// information, see the CreateTask documentation.
+	// commas. Cloud Tasks sets some headers to default values: *
+	// `User-Agent`: By default, this header is "AppEngine-Google;
+	// (+http://code.google.com/appengine)". This header can be modified,
+	// but Cloud Tasks will append "AppEngine-Google;
+	// (+http://code.google.com/appengine)" to the modified `User-Agent`.
+	// If the task has a payload, Cloud Tasks sets the following headers: *
+	// `Content-Type`: By default, the `Content-Type` header is set to
+	// "application/octet-stream". The default can be overridden by
+	// explicitly setting `Content-Type` to a particular media type when the
+	// task is created. For example, `Content-Type` can be set to
+	// "application/json". * `Content-Length`: This is computed by Cloud
+	// Tasks. This value is output only. It cannot be changed. The headers
+	// below cannot be set or overridden: * `Host` * `X-Google-*` *
+	// `X-AppEngine-*` In addition, Cloud Tasks sets some headers when the
+	// task is dispatched, such as headers containing information about the
+	// task; see [request
+	// headers](https://cloud.google.com/appengine/docs/python/taskqueue/push
+	// /creating-handlers#reading_request_headers). These headers are set
+	// only when the task is dispatched, so they are not visible when the
+	// task is returned in a Cloud Tasks response. Although there is no
+	// specific limit for the maximum number of headers or the size, there
+	// is a limit on the maximum size of the Task. For more information, see
+	// the CreateTask documentation.
 	Headers map[string]string `json:"headers,omitempty"`
 
 	// HttpMethod: The HTTP method to use for the request. The default is
-	// POST.
-	//
-	// The app's request handler for the task's target URL must be able to
-	// handle
-	// HTTP requests with this http_method, otherwise the task attempt fails
-	// with
-	// error code 405 (Method Not Allowed). See [Writing a push task
-	// request
-	// handler](https://cloud.google.com/appengine/docs/java/taskqueu
-	// e/push/creating-handlers#writing_a_push_task_request_handler)
-	// and the App Engine documentation for your runtime on [How Requests
-	// are
-	// Handled](https://cloud.google.com/appengine/docs/standard/python3/
-	// how-requests-are-handled).
+	// POST. The app's request handler for the task's target URL must be
+	// able to handle HTTP requests with this http_method, otherwise the
+	// task attempt fails with error code 405 (Method Not Allowed). See
+	// [Writing a push task request
+	// handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/c
+	// reating-handlers#writing_a_push_task_request_handler) and the App
+	// Engine documentation for your runtime on [How Requests are
+	// Handled](https://cloud.google.com/appengine/docs/standard/python3/how-
+	// requests-are-handled).
 	//
 	// Possible values:
 	//   "HTTP_METHOD_UNSPECIFIED" - HTTP method unspecified
@@ -397,22 +309,17 @@
 	//   "DELETE" - HTTP DELETE
 	HttpMethod string `json:"httpMethod,omitempty"`
 
-	// Payload: Payload.
-	//
-	// The payload will be sent as the HTTP message body. A message
-	// body, and thus a payload, is allowed only if the HTTP method is
-	// POST or PUT. It is an error to set a data payload on a task with
-	// an incompatible HttpMethod.
+	// Payload: Payload. The payload will be sent as the HTTP message body.
+	// A message body, and thus a payload, is allowed only if the HTTP
+	// method is POST or PUT. It is an error to set a data payload on a task
+	// with an incompatible HttpMethod.
 	Payload string `json:"payload,omitempty"`
 
-	// RelativeUrl: The relative URL.
-	//
-	// The relative URL must begin with "/" and must be a valid HTTP
-	// relative URL.
-	// It can contain a path and query string arguments.
-	// If the relative URL is empty, then the root path "/" will be used.
-	// No spaces are allowed, and the maximum length allowed is 2083
-	// characters.
+	// RelativeUrl: The relative URL. The relative URL must begin with "/"
+	// and must be a valid HTTP relative URL. It can contain a path and
+	// query string arguments. If the relative URL is empty, then the root
+	// path "/" will be used. No spaces are allowed, and the maximum length
+	// allowed is 2083 characters.
 	RelativeUrl string `json:"relativeUrl,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AppEngineRouting") to
@@ -439,29 +346,18 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// AppEngineHttpTarget: App Engine HTTP target.
-//
-// The task will be delivered to the App Engine application
-// hostname
-// specified by its AppEngineHttpTarget and AppEngineHttpRequest.
-// The documentation for AppEngineHttpRequest explains how the
-// task's host URL is constructed.
-//
-// Using AppEngineHttpTarget
-// requires
-// [`appengine.applications.get`](https://cloud.google.com/appen
-// gine/docs/admin-api/access-control)
-// Google IAM permission for the project
-// and the following
-// scope:
-//
-// `https://www.googleapis.com/auth/cloud-platform`
+// AppEngineHttpTarget: App Engine HTTP target. The task will be
+// delivered to the App Engine application hostname specified by its
+// AppEngineHttpTarget and AppEngineHttpRequest. The documentation for
+// AppEngineHttpRequest explains how the task's host URL is constructed.
+// Using AppEngineHttpTarget requires
+// [`appengine.applications.get`](https://cloud.google.com/appengine/docs
+// /admin-api/access-control) Google IAM permission for the project and
+// the following scope: `https://www.googleapis.com/auth/cloud-platform`
 type AppEngineHttpTarget struct {
-	// AppEngineRoutingOverride: Overrides for the
-	// task-level app_engine_routing.
-	//
-	// If set, `app_engine_routing_override` is used for all tasks in
-	// the queue, no matter what the setting is for the
+	// AppEngineRoutingOverride: Overrides for the task-level
+	// app_engine_routing. If set, `app_engine_routing_override` is used for
+	// all tasks in the queue, no matter what the setting is for the
 	// task-level app_engine_routing.
 	AppEngineRoutingOverride *AppEngineRouting `json:"appEngineRoutingOverride,omitempty"`
 
@@ -490,159 +386,79 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// AppEngineRouting: App Engine Routing.
-//
-// Defines routing characteristics specific to App Engine - service,
-// version,
-// and instance.
-//
-// For more information about services, versions, and instances see
-// [An Overview of
-// App
-// Engine](https://cloud.google.com/appengine/docs/python/an-overview
-// -of-app-engine),
-// [Microservices Architecture on Google
-// App
-// Engine](https://cloud.google.com/appengine/docs/python/microservic
-// es-on-app-engine),
-// [App Engine Standard
-// request
-// routing](https://cloud.google.com/appengine/docs/standard/pyth
-// on/how-requests-are-routed),
-// and [App Engine Flex
-// request
-// routing](https://cloud.google.com/appengine/docs/flexible/pyth
-// on/how-requests-are-routed).
+// AppEngineRouting: App Engine Routing. Defines routing characteristics
+// specific to App Engine - service, version, and instance. For more
+// information about services, versions, and instances see [An Overview
+// of App
+// Engine](https://cloud.google.com/appengine/docs/python/an-overview-of-
+// app-engine), [Microservices Architecture on Google App
+// Engine](https://cloud.google.com/appengine/docs/python/microservices-o
+// n-app-engine), [App Engine Standard request
+// routing](https://cloud.google.com/appengine/docs/standard/python/how-r
+// equests-are-routed), and [App Engine Flex request
+// routing](https://cloud.google.com/appengine/docs/flexible/python/how-r
+// equests-are-routed).
 type AppEngineRouting struct {
-	// Host: Output only. The host that the task is sent to.
-	//
-	// For more information, see
-	// [How Requests
-	// are
-	// Routed](https://cloud.google.com/appengine/docs/standard/python/ho
-	// w-requests-are-routed).
-	//
-	// The host is constructed as:
-	//
-	//
-	// * `host = [application_domain_name]`</br>
-	//   `| [service] + '.' + [application_domain_name]`</br>
-	//   `| [version] + '.' + [application_domain_name]`</br>
-	//   `| [version_dot_service]+ '.' + [application_domain_name]`</br>
-	//   `| [instance] + '.' + [application_domain_name]`</br>
-	//   `| [instance_dot_service] + '.' + [application_domain_name]`</br>
-	//   `| [instance_dot_version] + '.' + [application_domain_name]`</br>
-	//   `| [instance_dot_version_dot_service] + '.' +
-	// [application_domain_name]`
-	//
-	// * `application_domain_name` = The domain name of the app, for
-	//   example <app-id>.appspot.com, which is associated with the
-	//   queue's project ID. Some tasks which were created using the App
-	// Engine
-	//   SDK use a custom domain name.
-	//
-	// * `service =` service
-	//
-	// * `version =` version
-	//
-	// * `version_dot_service =`
-	//   version `+ '.' +`
-	//   service
-	//
-	// * `instance =` instance
-	//
-	// * `instance_dot_service =`
-	//   instance `+ '.' +`
-	//   service
-	//
-	// * `instance_dot_version =`
-	//   instance `+ '.' +`
-	//   version
-	//
-	// * `instance_dot_version_dot_service =`
-	//   instance `+ '.' +`
-	//   version `+ '.' +`
-	//   service
-	//
-	// If service is empty, then the task will be sent
-	// to the service which is the default service when the task is
-	// attempted.
-	//
-	// If version is empty, then the task will be sent
-	// to the version which is the default version when the task is
-	// attempted.
-	//
-	// If instance is empty, then the task
-	// will be sent to an instance which is available when the task
-	// is
-	// attempted.
-	//
-	// If service,
-	// version, or
-	// instance is invalid, then the task
-	// will be sent to the default version of the default service when
-	// the task is attempted.
+	// Host: Output only. The host that the task is sent to. For more
+	// information, see [How Requests are
+	// Routed](https://cloud.google.com/appengine/docs/standard/python/how-re
+	// quests-are-routed). The host is constructed as: * `host =
+	// [application_domain_name]` `| [service] + '.' +
+	// [application_domain_name]` `| [version] + '.' +
+	// [application_domain_name]` `| [version_dot_service]+ '.' +
+	// [application_domain_name]` `| [instance] + '.' +
+	// [application_domain_name]` `| [instance_dot_service] + '.' +
+	// [application_domain_name]` `| [instance_dot_version] + '.' +
+	// [application_domain_name]` `| [instance_dot_version_dot_service] +
+	// '.' + [application_domain_name]` * `application_domain_name` = The
+	// domain name of the app, for example .appspot.com, which is associated
+	// with the queue's project ID. Some tasks which were created using the
+	// App Engine SDK use a custom domain name. * `service =` service *
+	// `version =` version * `version_dot_service =` version `+ '.' +`
+	// service * `instance =` instance * `instance_dot_service =` instance
+	// `+ '.' +` service * `instance_dot_version =` instance `+ '.' +`
+	// version * `instance_dot_version_dot_service =` instance `+ '.' +`
+	// version `+ '.' +` service If service is empty, then the task will be
+	// sent to the service which is the default service when the task is
+	// attempted. If version is empty, then the task will be sent to the
+	// version which is the default version when the task is attempted. If
+	// instance is empty, then the task will be sent to an instance which is
+	// available when the task is attempted. If service, version, or
+	// instance is invalid, then the task will be sent to the default
+	// version of the default service when the task is attempted.
 	Host string `json:"host,omitempty"`
 
-	// Instance: App instance.
-	//
-	// By default, the task is sent to an instance which is available
-	// when
-	// the task is attempted.
-	//
-	// Requests can only be sent to a specific instance if
-	// [manual scaling is used in App
-	// Engine
-	// Standard](https://cloud.google.com/appengine/docs/python/an-ove
-	// rview-of-app-engine?hl=en_US#scaling_types_and_instance_classes).
-	// App Engine Flex does not support instances. For more information,
-	// see
-	// [App Engine Standard
-	// request
-	// routing](https://cloud.google.com/appengine/docs/standard/pyth
-	// on/how-requests-are-routed)
-	// and [App Engine Flex
-	// request
-	// routing](https://cloud.google.com/appengine/docs/flexible/pyth
-	// on/how-requests-are-routed).
+	// Instance: App instance. By default, the task is sent to an instance
+	// which is available when the task is attempted. Requests can only be
+	// sent to a specific instance if [manual scaling is used in App Engine
+	// Standard](https://cloud.google.com/appengine/docs/python/an-overview-o
+	// f-app-engine?hl=en_US#scaling_types_and_instance_classes). App Engine
+	// Flex does not support instances. For more information, see [App
+	// Engine Standard request
+	// routing](https://cloud.google.com/appengine/docs/standard/python/how-r
+	// equests-are-routed) and [App Engine Flex request
+	// routing](https://cloud.google.com/appengine/docs/flexible/python/how-r
+	// equests-are-routed).
 	Instance string `json:"instance,omitempty"`
 
-	// Service: App service.
-	//
-	// By default, the task is sent to the service which is the
-	// default
-	// service when the task is attempted.
-	//
-	// For some queues or tasks which were created using the App Engine
-	// Task Queue API, host is not parsable
-	// into service,
-	// version, and
-	// instance. For example, some tasks
-	// which were created using the App Engine SDK use a custom domain
-	// name; custom domains are not parsed by Cloud Tasks. If
-	// host is not parsable, then
-	// service,
-	// version, and
-	// instance are the empty string.
+	// Service: App service. By default, the task is sent to the service
+	// which is the default service when the task is attempted. For some
+	// queues or tasks which were created using the App Engine Task Queue
+	// API, host is not parsable into service, version, and instance. For
+	// example, some tasks which were created using the App Engine SDK use a
+	// custom domain name; custom domains are not parsed by Cloud Tasks. If
+	// host is not parsable, then service, version, and instance are the
+	// empty string.
 	Service string `json:"service,omitempty"`
 
-	// Version: App version.
-	//
-	// By default, the task is sent to the version which is the
-	// default
-	// version when the task is attempted.
-	//
-	// For some queues or tasks which were created using the App Engine
-	// Task Queue API, host is not parsable
-	// into service,
-	// version, and
-	// instance. For example, some tasks
-	// which were created using the App Engine SDK use a custom domain
-	// name; custom domains are not parsed by Cloud Tasks. If
-	// host is not parsable, then
-	// service,
-	// version, and
-	// instance are the empty string.
+	// Version: App version. By default, the task is sent to the version
+	// which is the default version when the task is attempted. For some
+	// queues or tasks which were created using the App Engine Task Queue
+	// API, host is not parsable into service, version, and instance. For
+	// example, some tasks which were created using the App Engine SDK use a
+	// custom domain name; custom domains are not parsed by Cloud Tasks. If
+	// host is not parsable, then service, version, and instance are the
+	// empty string.
 	Version string `json:"version,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Host") to
@@ -670,29 +486,21 @@
 
 // AttemptStatus: The status of a task attempt.
 type AttemptStatus struct {
-	// DispatchTime: Output only. The time that this attempt was
-	// dispatched.
-	//
+	// DispatchTime: Output only. The time that this attempt was dispatched.
 	// `dispatch_time` will be truncated to the nearest microsecond.
 	DispatchTime string `json:"dispatchTime,omitempty"`
 
 	// ResponseStatus: Output only. The response from the target for this
-	// attempt.
-	//
-	// If the task has not been attempted or the task is currently
-	// running
-	// then the response status is unset.
+	// attempt. If the task has not been attempted or the task is currently
+	// running then the response status is unset.
 	ResponseStatus *Status `json:"responseStatus,omitempty"`
 
 	// ResponseTime: Output only. The time that this attempt response was
-	// received.
-	//
-	// `response_time` will be truncated to the nearest microsecond.
+	// received. `response_time` will be truncated to the nearest
+	// microsecond.
 	ResponseTime string `json:"responseTime,omitempty"`
 
-	// ScheduleTime: Output only. The time that this attempt was
-	// scheduled.
-	//
+	// ScheduleTime: Output only. The time that this attempt was scheduled.
 	// `schedule_time` will be truncated to the nearest microsecond.
 	ScheduleTime string `json:"scheduleTime,omitempty"`
 
@@ -721,95 +529,53 @@
 
 // Binding: Associates `members` with a `role`.
 type Binding struct {
-	// Condition: The condition that is associated with this binding.
-	//
-	// If the condition evaluates to `true`, then this binding applies to
-	// the
-	// current request.
-	//
-	// If the condition evaluates to `false`, then this binding does not
-	// apply to
-	// the current request. However, a different role binding might grant
-	// the same
-	// role to one or more of the members in this binding.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// Condition: The condition that is associated with this binding. If the
+	// condition evaluates to `true`, then this binding applies to the
+	// current request. If the condition evaluates to `false`, then this
+	// binding does not apply to the current request. However, a different
+	// role binding might grant the same role to one or more of the members
+	// in this binding. To learn which resources support conditions in their
+	// IAM policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	Condition *Expr `json:"condition,omitempty"`
 
 	// Members: Specifies the identities requesting access for a Cloud
-	// Platform resource.
-	// `members` can have the following values:
-	//
-	// * `allUsers`: A special identifier that represents anyone who is
-	//    on the internet; with or without a Google account.
-	//
-	// * `allAuthenticatedUsers`: A special identifier that represents
-	// anyone
-	//    who is authenticated with a Google account or a service
-	// account.
-	//
-	// * `user:{emailid}`: An email address that represents a specific
-	// Google
-	//    account. For example, `alice@example.com` .
-	//
-	//
-	// * `serviceAccount:{emailid}`: An email address that represents a
-	// service
-	//    account. For example,
-	// `my-other-app@appspot.gserviceaccount.com`.
-	//
-	// * `group:{emailid}`: An email address that represents a Google
-	// group.
-	//    For example, `admins@example.com`.
-	//
-	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a user that has been recently deleted.
-	// For
-	//    example, `alice@example.com?uid=123456789012345678901`. If the
-	// user is
-	//    recovered, this value reverts to `user:{emailid}` and the
-	// recovered user
-	//    retains the role in the binding.
-	//
-	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
-	// (plus
-	//    unique identifier) representing a service account that has been
-	// recently
-	//    deleted. For example,
-	//
+	// Platform resource. `members` can have the following values: *
+	// `allUsers`: A special identifier that represents anyone who is on the
+	// internet; with or without a Google account. *
+	// `allAuthenticatedUsers`: A special identifier that represents anyone
+	// who is authenticated with a Google account or a service account. *
+	// `user:{emailid}`: An email address that represents a specific Google
+	// account. For example, `alice@example.com` . *
+	// `serviceAccount:{emailid}`: An email address that represents a
+	// service account. For example,
+	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
+	// email address that represents a Google group. For example,
+	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
+	// email address (plus unique identifier) representing a user that has
+	// been recently deleted. For example,
+	// `alice@example.com?uid=123456789012345678901`. If the user is
+	// recovered, this value reverts to `user:{emailid}` and the recovered
+	// user retains the role in the binding. *
+	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
+	// (plus unique identifier) representing a service account that has been
+	// recently deleted. For example,
 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
-	//
-	//    If the service account is undeleted, this value reverts to
-	//    `serviceAccount:{emailid}` and the undeleted service account
-	// retains the
-	//    role in the binding.
-	//
-	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a Google group that has been recently
-	//    deleted. For example,
-	// `admins@example.com?uid=123456789012345678901`. If
-	//    the group is recovered, this value reverts to `group:{emailid}`
-	// and the
-	//    recovered group retains the role in the binding.
-	//
-	//
-	// * `domain:{domain}`: The G Suite domain (primary) that represents all
-	// the
-	//    users of that domain. For example, `google.com` or
-	// `example.com`.
-	//
-	//
+	// If the service account is undeleted, this value reverts to
+	// `serviceAccount:{emailid}` and the undeleted service account retains
+	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
+	// An email address (plus unique identifier) representing a Google group
+	// that has been recently deleted. For example,
+	// `admins@example.com?uid=123456789012345678901`. If the group is
+	// recovered, this value reverts to `group:{emailid}` and the recovered
+	// group retains the role in the binding. * `domain:{domain}`: The G
+	// Suite domain (primary) that represents all the users of that domain.
+	// For example, `google.com` or `example.com`.
 	Members []string `json:"members,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`.
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -835,53 +601,35 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// CancelLeaseRequest: Request message for canceling a lease
-// using
+// CancelLeaseRequest: Request message for canceling a lease using
 // CancelLease.
 type CancelLeaseRequest struct {
 	// ResponseView: The response_view specifies which subset of the Task
-	// will be
-	// returned.
-	//
-	// By default response_view is BASIC; not all
-	// information is retrieved by default because some data, such
-	// as
-	// payloads, might be desirable to return only when needed because
-	// of its large size or because of the sensitivity of data that
-	// it
-	// contains.
-	//
-	// Authorization for FULL requires
-	// `cloudtasks.tasks.fullView` [Google
-	// IAM](https://cloud.google.com/iam/)
-	// permission on the Task resource.
+	// will be returned. By default response_view is BASIC; not all
+	// information is retrieved by default because some data, such as
+	// payloads, might be desirable to return only when needed because of
+	// its large size or because of the sensitivity of data that it
+	// contains. Authorization for FULL requires `cloudtasks.tasks.fullView`
+	// [Google IAM](https://cloud.google.com/iam/) permission on the Task
+	// resource.
 	//
 	// Possible values:
 	//   "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC.
 	//   "BASIC" - The basic view omits fields which can be large or can
-	// contain
-	// sensitive data.
-	//
-	// This view does not include the
-	// (payload in AppEngineHttpRequest and
-	// payload in PullMessage). These payloads are
-	// desirable to return only when needed, because they can be large
-	// and because of the sensitivity of the data that you choose to
-	// store in it.
-	//   "FULL" - All information is returned.
-	//
-	// Authorization for FULL requires
-	// `cloudtasks.tasks.fullView` [Google
-	// IAM](https://cloud.google.com/iam/)
-	// permission on the Queue resource.
+	// contain sensitive data. This view does not include the (payload in
+	// AppEngineHttpRequest and payload in PullMessage). These payloads are
+	// desirable to return only when needed, because they can be large and
+	// because of the sensitivity of the data that you choose to store in
+	// it.
+	//   "FULL" - All information is returned. Authorization for FULL
+	// requires `cloudtasks.tasks.fullView` [Google
+	// IAM](https://cloud.google.com/iam/) permission on the Queue resource.
 	ResponseView string `json:"responseView,omitempty"`
 
 	// ScheduleTime: Required. The task's current schedule time, available
-	// in the
-	// schedule_time returned by
-	// LeaseTasks response or
-	// RenewLease response. This restriction is
-	// to ensure that your worker currently holds the lease.
+	// in the schedule_time returned by LeaseTasks response or RenewLease
+	// response. This restriction is to ensure that your worker currently
+	// holds the lease.
 	ScheduleTime string `json:"scheduleTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ResponseView") to
@@ -910,84 +658,51 @@
 // CreateTaskRequest: Request message for CreateTask.
 type CreateTaskRequest struct {
 	// ResponseView: The response_view specifies which subset of the Task
-	// will be
-	// returned.
-	//
-	// By default response_view is BASIC; not all
-	// information is retrieved by default because some data, such
-	// as
-	// payloads, might be desirable to return only when needed because
-	// of its large size or because of the sensitivity of data that
-	// it
-	// contains.
-	//
-	// Authorization for FULL requires
-	// `cloudtasks.tasks.fullView` [Google
-	// IAM](https://cloud.google.com/iam/)
-	// permission on the Task resource.
+	// will be returned. By default response_view is BASIC; not all
+	// information is retrieved by default because some data, such as
+	// payloads, might be desirable to return only when needed because of
+	// its large size or because of the sensitivity of data that it
+	// contains. Authorization for FULL requires `cloudtasks.tasks.fullView`
+	// [Google IAM](https://cloud.google.com/iam/) permission on the Task
+	// resource.
 	//
 	// Possible values:
 	//   "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC.
 	//   "BASIC" - The basic view omits fields which can be large or can
-	// contain
-	// sensitive data.
-	//
-	// This view does not include the
-	// (payload in AppEngineHttpRequest and
-	// payload in PullMessage). These payloads are
-	// desirable to return only when needed, because they can be large
-	// and because of the sensitivity of the data that you choose to
-	// store in it.
-	//   "FULL" - All information is returned.
-	//
-	// Authorization for FULL requires
-	// `cloudtasks.tasks.fullView` [Google
-	// IAM](https://cloud.google.com/iam/)
-	// permission on the Queue resource.
+	// contain sensitive data. This view does not include the (payload in
+	// AppEngineHttpRequest and payload in PullMessage). These payloads are
+	// desirable to return only when needed, because they can be large and
+	// because of the sensitivity of the data that you choose to store in
+	// it.
+	//   "FULL" - All information is returned. Authorization for FULL
+	// requires `cloudtasks.tasks.fullView` [Google
+	// IAM](https://cloud.google.com/iam/) permission on the Queue resource.
 	ResponseView string `json:"responseView,omitempty"`
 
-	// Task: Required. The task to add.
-	//
-	// Task names have the following
+	// Task: Required. The task to add. Task names have the following
 	// format:
-	// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tas
-	// ks/TASK_ID`.
-	// The user can optionally specify a task name. If a
-	// name is not specified then the system will generate a random
-	// unique task id, which will be set in the task returned in
-	// the
-	// response.
-	//
-	// If schedule_time is not set or is in the
-	// past then Cloud Tasks will set it to the current time.
-	//
-	// Task De-duplication:
-	//
-	// Explicitly specifying a task ID enables task de-duplication.  If
-	// a task's ID is identical to that of an existing task or a task
-	// that was deleted or completed recently then the call will fail
-	// with ALREADY_EXISTS.
-	// If the task's queue was created using Cloud Tasks, then another task
-	// with
-	// the same name can't be created for ~1hour after the original task
-	// was
-	// deleted or completed. If the task's queue was created using
-	// queue.yaml or
-	// queue.xml, then another task with the same name can't be created
-	// for ~9days after the original task was deleted or completed.
-	//
-	// Because there is an extra lookup cost to identify duplicate
-	// task
-	// names, these CreateTask calls have significantly
-	// increased latency. Using hashed strings for the task id or for
-	// the prefix of the task id is recommended. Choosing task ids that
-	// are sequential or have sequential prefixes, for example using
-	// a
-	// timestamp, causes an increase in latency and error rates in all
-	// task commands. The infrastructure relies on an approximately
-	// uniform distribution of task ids to store and serve
-	// tasks
-	// efficiently.
+	// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_
+	// ID`. The user can optionally specify a task name. If a name is not
+	// specified then the system will generate a random unique task id,
+	// which will be set in the task returned in the response. If
+	// schedule_time is not set or is in the past then Cloud Tasks will set
+	// it to the current time. Task De-duplication: Explicitly specifying a
+	// task ID enables task de-duplication. If a task's ID is identical to
+	// that of an existing task or a task that was deleted or completed
+	// recently then the call will fail with ALREADY_EXISTS. If the task's
+	// queue was created using Cloud Tasks, then another task with the same
+	// name can't be created for ~1hour after the original task was deleted
+	// or completed. If the task's queue was created using queue.yaml or
+	// queue.xml, then another task with the same name can't be created for
+	// ~9days after the original task was deleted or completed. Because
+	// there is an extra lookup cost to identify duplicate task names, these
+	// CreateTask calls have significantly increased latency. Using hashed
+	// strings for the task id or for the prefix of the task id is
+	// recommended. Choosing task ids that are sequential or have sequential
+	// prefixes, for example using a timestamp, causes an increase in
+	// latency and error rates in all task commands. The infrastructure
+	// relies on an approximately uniform distribution of task ids to store
+	// and serve tasks efficiently.
 	Task *Task `json:"task,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ResponseView") to
@@ -1014,17 +729,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -1032,65 +741,40 @@
 }
 
 // Expr: Represents a textual expression in the Common Expression
-// Language (CEL)
-// syntax. CEL is a C-like expression language. The syntax and semantics
-// of CEL
-// are documented at https://github.com/google/cel-spec.
-//
-// Example (Comparison):
-//
-//     title: "Summary size limit"
-//     description: "Determines if a summary is less than 100 chars"
-//     expression: "document.summary.size() < 100"
-//
-// Example (Equality):
-//
-//     title: "Requestor is owner"
-//     description: "Determines if requestor is the document owner"
-//     expression: "document.owner ==
-// request.auth.claims.email"
-//
-// Example (Logic):
-//
-//     title: "Public documents"
-//     description: "Determine whether the document should be publicly
-// visible"
-//     expression: "document.type != 'private' && document.type !=
-// 'internal'"
-//
-// Example (Data Manipulation):
-//
-//     title: "Notification string"
-//     description: "Create a notification string with a timestamp."
-//     expression: "'New message received at ' +
-// string(document.create_time)"
-//
-// The exact variables and functions that may be referenced within an
-// expression
-// are determined by the service that evaluates it. See the
-// service
-// documentation for additional information.
+// Language (CEL) syntax. CEL is a C-like expression language. The
+// syntax and semantics of CEL are documented at
+// https://github.com/google/cel-spec. Example (Comparison): title:
+// "Summary size limit" description: "Determines if a summary is less
+// than 100 chars" expression: "document.summary.size() < 100" Example
+// (Equality): title: "Requestor is owner" description: "Determines if
+// requestor is the document owner" expression: "document.owner ==
+// request.auth.claims.email" Example (Logic): title: "Public documents"
+// description: "Determine whether the document should be publicly
+// visible" expression: "document.type != 'private' && document.type !=
+// 'internal'" Example (Data Manipulation): title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' +
+// string(document.create_time)" The exact variables and functions that
+// may be referenced within an expression are determined by the service
+// that evaluates it. See the service documentation for additional
+// information.
 type Expr struct {
 	// Description: Optional. Description of the expression. This is a
-	// longer text which
-	// describes the expression, e.g. when hovered over it in a UI.
+	// longer text which describes the expression, e.g. when hovered over it
+	// in a UI.
 	Description string `json:"description,omitempty"`
 
 	// Expression: Textual representation of an expression in Common
-	// Expression Language
-	// syntax.
+	// Expression Language syntax.
 	Expression string `json:"expression,omitempty"`
 
 	// Location: Optional. String indicating the location of the expression
-	// for error
-	// reporting, e.g. a file name and a position in the file.
+	// for error reporting, e.g. a file name and a position in the file.
 	Location string `json:"location,omitempty"`
 
 	// Title: Optional. Title for the expression, i.e. a short string
-	// describing
-	// its purpose. This can be used e.g. in UIs which allow to enter
-	// the
-	// expression.
+	// describing its purpose. This can be used e.g. in UIs which allow to
+	// enter the expression.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -1119,8 +803,7 @@
 // GetIamPolicyRequest: Request message for `GetIamPolicy` method.
 type GetIamPolicyRequest struct {
 	// Options: OPTIONAL: A `GetPolicyOptions` object for specifying options
-	// to
-	// `GetIamPolicy`.
+	// to `GetIamPolicy`.
 	Options *GetPolicyOptions `json:"options,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Options") to
@@ -1149,24 +832,14 @@
 // GetPolicyOptions: Encapsulates settings provided to GetIamPolicy.
 type GetPolicyOptions struct {
 	// RequestedPolicyVersion: Optional. The policy format version to be
-	// returned.
-	//
-	// Valid values are 0, 1, and 3. Requests specifying an invalid value
-	// will be
-	// rejected.
-	//
-	// Requests for policies with any conditional bindings must specify
-	// version 3.
-	// Policies without any conditional bindings may specify any valid value
-	// or
-	// leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// returned. Valid values are 0, 1, and 3. Requests specifying an
+	// invalid value will be rejected. Requests for policies with any
+	// conditional bindings must specify version 3. Policies without any
+	// conditional bindings may specify any valid value or leave the field
+	// unset. To learn which resources support conditions in their IAM
+	// policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	RequestedPolicyVersion int64 `json:"requestedPolicyVersion,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -1197,114 +870,62 @@
 // LeaseTasksRequest: Request message for leasing tasks using
 // LeaseTasks.
 type LeaseTasksRequest struct {
-	// Filter: `filter` can be used to specify a subset of tasks to
-	// lease.
-	//
-	// When `filter` is set to `tag=<my-tag>` then the
-	// response will contain only tasks whose
-	// tag is equal to `<my-tag>`. `<my-tag>` must be
-	// less than 500 characters.
-	//
+	// Filter: `filter` can be used to specify a subset of tasks to lease.
+	// When `filter` is set to `tag=` then the response will contain only
+	// tasks whose tag is equal to ``. `` must be less than 500 characters.
 	// When `filter` is set to `tag_function=oldest_tag()`, only tasks which
-	// have
-	// the same tag as the task with the oldest
-	// schedule_time will be returned.
-	//
-	// Grammar Syntax:
-	//
-	// * `filter = "tag=" tag | "tag_function=" function`
-	//
-	// * `tag = string`
-	//
-	// * `function = "oldest_tag()"
-	//
-	// The `oldest_tag()` function returns tasks which have the same tag as
-	// the
-	// oldest task (ordered by schedule time).
-	//
-	// SDK compatibility: Although the SDK allows tags to be either
-	// string
-	// or
-	// [bytes](https://cloud.google.com/appengine/docs/standard/java/javad
-	// oc/com/google/appengine/api/taskqueue/TaskOptions.html#tag-byte:A-),
-	// o
-	// nly UTF-8 encoded tags can be used in Cloud Tasks. Tag which
-	// aren't UTF-8 encoded can't be used in the
-	// filter and the task's
-	// tag will be displayed as empty in Cloud Tasks.
+	// have the same tag as the task with the oldest schedule_time will be
+	// returned. Grammar Syntax: * `filter = "tag=" tag | "tag_function="
+	// function` * `tag = string` * `function = "oldest_tag()" The
+	// `oldest_tag()` function returns tasks which have the same tag as the
+	// oldest task (ordered by schedule time). SDK compatibility: Although
+	// the SDK allows tags to be either string or
+	// [bytes](https://cloud.google.com/appengine/docs/standard/java/javadoc/
+	// com/google/appengine/api/taskqueue/TaskOptions.html#tag-byte:A-),
+	// only UTF-8 encoded tags can be used in Cloud Tasks. Tag which aren't
+	// UTF-8 encoded can't be used in the filter and the task's tag will be
+	// displayed as empty in Cloud Tasks.
 	Filter string `json:"filter,omitempty"`
 
-	// LeaseDuration: Required. The duration of the lease.
-	//
-	// Each task returned in the response will
-	// have its schedule_time set to the current
-	// time plus the `lease_duration`. The task is leased until
-	// its
-	// schedule_time; thus, the task will not be
-	// returned to another LeaseTasks call
-	// before its schedule_time.
-	//
-	//
-	// After the worker has successfully finished the work associated
-	// with the task, the worker must call via
-	// AcknowledgeTask before the
-	// schedule_time. Otherwise the task will be
-	// returned to a later LeaseTasks call so
-	// that another worker can retry it.
-	//
-	// The maximum lease duration is 1 week.
+	// LeaseDuration: Required. The duration of the lease. Each task
+	// returned in the response will have its schedule_time set to the
+	// current time plus the `lease_duration`. The task is leased until its
+	// schedule_time; thus, the task will not be returned to another
+	// LeaseTasks call before its schedule_time. After the worker has
+	// successfully finished the work associated with the task, the worker
+	// must call via AcknowledgeTask before the schedule_time. Otherwise the
+	// task will be returned to a later LeaseTasks call so that another
+	// worker can retry it. The maximum lease duration is 1 week.
 	// `lease_duration` will be truncated to the nearest second.
 	LeaseDuration string `json:"leaseDuration,omitempty"`
 
-	// MaxTasks: The maximum number of tasks to lease.
-	//
-	// The system will make a best effort to return as close to
-	// as
-	// `max_tasks` as possible.
-	//
-	// The largest that `max_tasks` can be is 1000.
-	//
-	// The maximum total size of a lease tasks response is
-	// 32 MB. If the sum of all task sizes requested reaches this
-	// limit,
-	// fewer tasks than requested are returned.
+	// MaxTasks: The maximum number of tasks to lease. The system will make
+	// a best effort to return as close to as `max_tasks` as possible. The
+	// largest that `max_tasks` can be is 1000. The maximum total size of a
+	// lease tasks response is 32 MB. If the sum of all task sizes requested
+	// reaches this limit, fewer tasks than requested are returned.
 	MaxTasks int64 `json:"maxTasks,omitempty"`
 
 	// ResponseView: The response_view specifies which subset of the Task
-	// will be
-	// returned.
-	//
-	// By default response_view is BASIC; not all
-	// information is retrieved by default because some data, such
-	// as
-	// payloads, might be desirable to return only when needed because
-	// of its large size or because of the sensitivity of data that
-	// it
-	// contains.
-	//
-	// Authorization for FULL requires
-	// `cloudtasks.tasks.fullView` [Google
-	// IAM](https://cloud.google.com/iam/)
-	// permission on the Task resource.
+	// will be returned. By default response_view is BASIC; not all
+	// information is retrieved by default because some data, such as
+	// payloads, might be desirable to return only when needed because of
+	// its large size or because of the sensitivity of data that it
+	// contains. Authorization for FULL requires `cloudtasks.tasks.fullView`
+	// [Google IAM](https://cloud.google.com/iam/) permission on the Task
+	// resource.
 	//
 	// Possible values:
 	//   "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC.
 	//   "BASIC" - The basic view omits fields which can be large or can
-	// contain
-	// sensitive data.
-	//
-	// This view does not include the
-	// (payload in AppEngineHttpRequest and
-	// payload in PullMessage). These payloads are
-	// desirable to return only when needed, because they can be large
-	// and because of the sensitivity of the data that you choose to
-	// store in it.
-	//   "FULL" - All information is returned.
-	//
-	// Authorization for FULL requires
-	// `cloudtasks.tasks.fullView` [Google
-	// IAM](https://cloud.google.com/iam/)
-	// permission on the Queue resource.
+	// contain sensitive data. This view does not include the (payload in
+	// AppEngineHttpRequest and payload in PullMessage). These payloads are
+	// desirable to return only when needed, because they can be large and
+	// because of the sensitivity of the data that you choose to store in
+	// it.
+	//   "FULL" - All information is returned. Authorization for FULL
+	// requires `cloudtasks.tasks.fullView` [Google
+	// IAM](https://cloud.google.com/iam/) permission on the Queue resource.
 	ResponseView string `json:"responseView,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Filter") to
@@ -1402,15 +1023,10 @@
 
 // ListQueuesResponse: Response message for ListQueues.
 type ListQueuesResponse struct {
-	// NextPageToken: A token to retrieve next page of results.
-	//
-	// To return the next page of results, call
-	// ListQueues with this value as the
-	// page_token.
-	//
-	// If the next_page_token is empty, there are no more results.
-	//
-	// The page token is valid for only 2 hours.
+	// NextPageToken: A token to retrieve next page of results. To return
+	// the next page of results, call ListQueues with this value as the
+	// page_token. If the next_page_token is empty, there are no more
+	// results. The page token is valid for only 2 hours.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Queues: The list of queues.
@@ -1446,13 +1062,10 @@
 // ListTasksResponse: Response message for listing tasks using
 // ListTasks.
 type ListTasksResponse struct {
-	// NextPageToken: A token to retrieve next page of results.
-	//
-	// To return the next page of results, call
-	// ListTasks with this value as the
-	// page_token.
-	//
-	// If the next_page_token is empty, there are no more results.
+	// NextPageToken: A token to retrieve next page of results. To return
+	// the next page of results, call ListTasks with this value as the
+	// page_token. If the next_page_token is empty, there are no more
+	// results.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Tasks: The list of tasks.
@@ -1488,13 +1101,11 @@
 // Location: A resource that represents Google Cloud Platform location.
 type Location struct {
 	// DisplayName: The friendly name for this location, typically a nearby
-	// city name.
-	// For example, "Tokyo".
+	// city name. For example, "Tokyo".
 	DisplayName string `json:"displayName,omitempty"`
 
 	// Labels: Cross-service attributes for the location. For example
-	//
-	//     {"cloud.googleapis.com/region": "us-east1"}
+	// {"cloud.googleapis.com/region": "us-east1"}
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// LocationId: The canonical id for this location. For example:
@@ -1502,13 +1113,12 @@
 	LocationId string `json:"locationId,omitempty"`
 
 	// Metadata: Service-specific metadata. For example the available
-	// capacity at the given
-	// location.
+	// capacity at the given location.
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Name: Resource name for the location, which may vary between
-	// implementations.
-	// For example: "projects/example-project/locations/us-east1"
+	// implementations. For example:
+	// "projects/example-project/locations/us-east1"
 	Name string `json:"name,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1543,150 +1153,73 @@
 }
 
 // Policy: An Identity and Access Management (IAM) policy, which
-// specifies access
-// controls for Google Cloud resources.
-//
-//
-// A `Policy` is a collection of `bindings`. A `binding` binds one or
-// more
-// `members` to a single `role`. Members can be user accounts, service
-// accounts,
+// specifies access controls for Google Cloud resources. A `Policy` is a
+// collection of `bindings`. A `binding` binds one or more `members` to
+// a single `role`. Members can be user accounts, service accounts,
 // Google groups, and domains (such as G Suite). A `role` is a named
-// list of
-// permissions; each `role` can be an IAM predefined role or a
-// user-created
-// custom role.
-//
-// For some types of Google Cloud resources, a `binding` can also
-// specify a
-// `condition`, which is a logical expression that allows access to a
-// resource
-// only if the expression evaluates to `true`. A condition can add
-// constraints
-// based on attributes of the request, the resource, or both. To learn
-// which
-// resources support conditions in their IAM policies, see the
-// [IAM
+// list of permissions; each `role` can be an IAM predefined role or a
+// user-created custom role. For some types of Google Cloud resources, a
+// `binding` can also specify a `condition`, which is a logical
+// expression that allows access to a resource only if the expression
+// evaluates to `true`. A condition can add constraints based on
+// attributes of the request, the resource, or both. To learn which
+// resources support conditions in their IAM policies, see the [IAM
 // documentation](https://cloud.google.com/iam/help/conditions/resource-p
-// olicies).
-//
-// **JSON example:**
-//
-//     {
-//       "bindings": [
-//         {
-//           "role": "roles/resourcemanager.organizationAdmin",
-//           "members": [
-//             "user:mike@example.com",
-//             "group:admins@example.com",
-//             "domain:google.com",
-//
-// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
-//           ]
-//         },
-//         {
-//           "role": "roles/resourcemanager.organizationViewer",
-//           "members": [
-//             "user:eve@example.com"
-//           ],
-//           "condition": {
-//             "title": "expirable access",
-//             "description": "Does not grant access after Sep 2020",
-//             "expression": "request.time <
-// timestamp('2020-10-01T00:00:00.000Z')",
-//           }
-//         }
-//       ],
-//       "etag": "BwWWja0YfJA=",
-//       "version": 3
-//     }
-//
-// **YAML example:**
-//
-//     bindings:
-//     - members:
-//       - user:mike@example.com
-//       - group:admins@example.com
-//       - domain:google.com
-//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
-//       role: roles/resourcemanager.organizationAdmin
-//     - members:
-//       - user:eve@example.com
-//       role: roles/resourcemanager.organizationViewer
-//       condition:
-//         title: expirable access
-//         description: Does not grant access after Sep 2020
-//         expression: request.time <
-// timestamp('2020-10-01T00:00:00.000Z')
-//     - etag: BwWWja0YfJA=
-//     - version: 3
-//
-// For a description of IAM and its features, see the
-// [IAM documentation](https://cloud.google.com/iam/docs/).
+// olicies). **JSON example:** { "bindings": [ { "role":
+// "roles/resourcemanager.organizationAdmin", "members": [
+// "user:mike@example.com", "group:admins@example.com",
+// "domain:google.com",
+// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
+// "role": "roles/resourcemanager.organizationViewer", "members": [
+// "user:eve@example.com" ], "condition": { "title": "expirable access",
+// "description": "Does not grant access after Sep 2020", "expression":
+// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
+// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
+// members: - user:mike@example.com - group:admins@example.com -
+// domain:google.com -
+// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
+// roles/resourcemanager.organizationAdmin - members: -
+// user:eve@example.com role: roles/resourcemanager.organizationViewer
+// condition: title: expirable access description: Does not grant access
+// after Sep 2020 expression: request.time <
+// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
+// 3 For a description of IAM and its features, see the [IAM
+// documentation](https://cloud.google.com/iam/docs/).
 type Policy struct {
 	// Bindings: Associates a list of `members` to a `role`. Optionally, may
-	// specify a
-	// `condition` that determines how and when the `bindings` are applied.
-	// Each
-	// of the `bindings` must contain at least one member.
+	// specify a `condition` that determines how and when the `bindings` are
+	// applied. Each of the `bindings` must contain at least one member.
 	Bindings []*Binding `json:"bindings,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a policy from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform policy updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `getIamPolicy`,
-	// and
-	// systems are expected to put that etag in the request to
-	// `setIamPolicy` to
-	// ensure that their change will be applied to the same version of the
-	// policy.
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
+	// help prevent simultaneous updates of a policy from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform policy updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `getIamPolicy`, and systems are expected to put that etag in the
+	// request to `setIamPolicy` to ensure that their change will be applied
+	// to the same version of the policy. **Important:** If you use IAM
+	// Conditions, you must include the `etag` field whenever you call
+	// `setIamPolicy`. If you omit this field, then IAM allows you to
+	// overwrite a version `3` policy with a version `1` policy, and all of
 	// the conditions in the version `3` policy are lost.
 	Etag string `json:"etag,omitempty"`
 
-	// Version: Specifies the format of the policy.
-	//
-	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
-	// value
-	// are rejected.
-	//
+	// Version: Specifies the format of the policy. Valid values are `0`,
+	// `1`, and `3`. Requests that specify an invalid value are rejected.
 	// Any operation that affects conditional role bindings must specify
-	// version
-	// `3`. This requirement applies to the following operations:
-	//
-	// * Getting a policy that includes a conditional role binding
-	// * Adding a conditional role binding to a policy
-	// * Changing a conditional role binding in a policy
-	// * Removing any role binding, with or without a condition, from a
-	// policy
-	//   that includes conditions
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
-	// the conditions in the version `3` policy are lost.
-	//
-	// If a policy does not include any conditions, operations on that
-	// policy may
-	// specify any valid version or leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see the
-	// [IAM
+	// version `3`. This requirement applies to the following operations: *
+	// Getting a policy that includes a conditional role binding * Adding a
+	// conditional role binding to a policy * Changing a conditional role
+	// binding in a policy * Removing any role binding, with or without a
+	// condition, from a policy that includes conditions **Important:** If
+	// you use IAM Conditions, you must include the `etag` field whenever
+	// you call `setIamPolicy`. If you omit this field, then IAM allows you
+	// to overwrite a version `3` policy with a version `1` policy, and all
+	// of the conditions in the version `3` policy are lost. If a policy
+	// does not include any conditions, operations on that policy may
+	// specify any valid version or leave the field unset. To learn which
+	// resources support conditions in their IAM policies, see the [IAM
 	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
 	// olicies).
 	Version int64 `json:"version,omitempty"`
@@ -1719,41 +1252,24 @@
 }
 
 // PullMessage: The pull message contains data that can be used by the
-// caller of
-// LeaseTasks to process the task.
-//
-// This proto can only be used for tasks in a queue which
-// has
-// pull_target set.
+// caller of LeaseTasks to process the task. This proto can only be used
+// for tasks in a queue which has pull_target set.
 type PullMessage struct {
 	// Payload: A data payload consumed by the worker to execute the task.
 	Payload string `json:"payload,omitempty"`
 
-	// Tag: The task's tag.
-	//
-	// Tags allow similar tasks to be processed in a batch. If you
-	// label
-	// tasks with a tag, your worker can
-	// lease tasks with the same tag using
-	// filter. For example, if you want to
-	// aggregate the events associated with a specific user once a day,
-	// you could tag tasks with the user ID.
-	//
-	// The task's tag can only be set when the
-	// task is created.
-	//
-	// The tag must be less than 500 characters.
-	//
-	// SDK compatibility: Although the SDK allows tags to be either
-	// string
-	// or
-	// [bytes](https://cloud.google.com/appengine/docs/standard/java/javad
-	// oc/com/google/appengine/api/taskqueue/TaskOptions.html#tag-byte:A-),
-	// o
-	// nly UTF-8 encoded tags can be used in Cloud Tasks. If a tag isn't
-	// UTF-8
-	// encoded, the tag will be empty when the task is returned by Cloud
-	// Tasks.
+	// Tag: The task's tag. Tags allow similar tasks to be processed in a
+	// batch. If you label tasks with a tag, your worker can lease tasks
+	// with the same tag using filter. For example, if you want to aggregate
+	// the events associated with a specific user once a day, you could tag
+	// tasks with the user ID. The task's tag can only be set when the task
+	// is created. The tag must be less than 500 characters. SDK
+	// compatibility: Although the SDK allows tags to be either string or
+	// [bytes](https://cloud.google.com/appengine/docs/standard/java/javadoc/
+	// com/google/appengine/api/taskqueue/TaskOptions.html#tag-byte:A-),
+	// only UTF-8 encoded tags can be used in Cloud Tasks. If a tag isn't
+	// UTF-8 encoded, the tag will be empty when the task is returned by
+	// Cloud Tasks.
 	Tag string `json:"tag,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Payload") to
@@ -1788,145 +1304,90 @@
 }
 
 // Queue: A queue is a container of related tasks. Queues are configured
-// to manage
-// how those tasks are dispatched. Configurable properties include rate
-// limits,
-// retry options, target types, and others.
+// to manage how those tasks are dispatched. Configurable properties
+// include rate limits, retry options, target types, and others.
 type Queue struct {
-	// AppEngineHttpTarget: App Engine HTTP target.
-	//
-	// An App Engine queue is a queue that has an AppEngineHttpTarget.
+	// AppEngineHttpTarget: App Engine HTTP target. An App Engine queue is a
+	// queue that has an AppEngineHttpTarget.
 	AppEngineHttpTarget *AppEngineHttpTarget `json:"appEngineHttpTarget,omitempty"`
 
-	// Name: Caller-specified and required in CreateQueue,
-	// after which it becomes output only.
-	//
-	// The queue name.
-	//
-	// The queue name must have the following
-	// format:
-	// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
-	//
-	// *
-	//  `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
-	//    hyphens (-), colons (:), or periods (.).
-	//    For more information, see
-	//    [Identifying
-	//
+	// Name: Caller-specified and required in CreateQueue, after which it
+	// becomes output only. The queue name. The queue name must have the
+	// following format:
+	// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` *
+	// `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens
+	// (-), colons (:), or periods (.). For more information, see
+	// [Identifying
 	// projects](https://cloud.google.com/resource-manager/docs/creating-mana
-	// ging-projects#identifying_projects)
-	// * `LOCATION_ID` is the canonical ID for the queue's location.
-	//    The list of available locations can be obtained by calling
-	//    ListLocations.
-	//    For more information, see
-	// https://cloud.google.com/about/locations/.
-	// * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or
-	//   hyphens (-). The maximum length is 100 characters.
+	// ging-projects#identifying_projects) * `LOCATION_ID` is the canonical
+	// ID for the queue's location. The list of available locations can be
+	// obtained by calling ListLocations. For more information, see
+	// https://cloud.google.com/about/locations/. * `QUEUE_ID` can contain
+	// letters ([A-Za-z]), numbers ([0-9]), or hyphens (-). The maximum
+	// length is 100 characters.
 	Name string `json:"name,omitempty"`
 
-	// PullTarget: Pull target.
-	//
-	// A pull queue is a queue that has a PullTarget.
+	// PullTarget: Pull target. A pull queue is a queue that has a
+	// PullTarget.
 	PullTarget *PullTarget `json:"pullTarget,omitempty"`
 
-	// PurgeTime: Output only. The last time this queue was purged.
-	//
-	// All tasks that were created before this time
-	// were purged.
-	//
-	// A queue can be purged using PurgeQueue, the
-	// [App Engine Task Queue SDK, or the
-	// Cloud
-	// Console](https://cloud.google.com/appengine/docs/standard/python
-	// /taskqueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_que
-	// ue).
-	//
-	// Purge time will be truncated to the nearest microsecond. Purge
-	// time will be unset if the queue has never been purged.
+	// PurgeTime: Output only. The last time this queue was purged. All
+	// tasks that were created before this time were purged. A queue can be
+	// purged using PurgeQueue, the [App Engine Task Queue SDK, or the Cloud
+	// Console](https://cloud.google.com/appengine/docs/standard/python/taskq
+	// ueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_queue).
+	// Purge time will be truncated to the nearest microsecond. Purge time
+	// will be unset if the queue has never been purged.
 	PurgeTime string `json:"purgeTime,omitempty"`
 
-	// RateLimits: Rate limits for task dispatches.
-	//
-	// rate_limits and
-	// retry_config are related because they both
-	// control task attempts however they control how tasks are
-	// attempted in different ways:
-	//
-	// * rate_limits controls the total rate of
-	//   dispatches from a queue (i.e. all traffic dispatched from the
-	//   queue, regardless of whether the dispatch is from a first
-	//   attempt or a retry).
-	// * retry_config controls what happens to
-	//   particular a task after its first attempt fails. That is,
-	//   retry_config controls task retries (the
-	//   second attempt, third attempt, etc).
+	// RateLimits: Rate limits for task dispatches. rate_limits and
+	// retry_config are related because they both control task attempts
+	// however they control how tasks are attempted in different ways: *
+	// rate_limits controls the total rate of dispatches from a queue (i.e.
+	// all traffic dispatched from the queue, regardless of whether the
+	// dispatch is from a first attempt or a retry). * retry_config controls
+	// what happens to particular a task after its first attempt fails. That
+	// is, retry_config controls task retries (the second attempt, third
+	// attempt, etc).
 	RateLimits *RateLimits `json:"rateLimits,omitempty"`
 
-	// RetryConfig: Settings that determine the retry behavior.
-	//
-	// * For tasks created using Cloud Tasks: the queue-level retry
-	// settings
-	//   apply to all tasks in the queue that were created using Cloud
-	// Tasks.
-	//   Retry settings cannot be set on individual tasks.
-	// * For tasks created using the App Engine SDK: the queue-level retry
-	//   settings apply to all tasks in the queue which do not have retry
-	// settings
-	//   explicitly set on the task and were created by the App Engine SDK.
-	// See
-	//   [App Engine
-	//
+	// RetryConfig: Settings that determine the retry behavior. * For tasks
+	// created using Cloud Tasks: the queue-level retry settings apply to
+	// all tasks in the queue that were created using Cloud Tasks. Retry
+	// settings cannot be set on individual tasks. * For tasks created using
+	// the App Engine SDK: the queue-level retry settings apply to all tasks
+	// in the queue which do not have retry settings explicitly set on the
+	// task and were created by the App Engine SDK. See [App Engine
 	// documentation](https://cloud.google.com/appengine/docs/standard/python
 	// /taskqueue/push/retrying-tasks).
 	RetryConfig *RetryConfig `json:"retryConfig,omitempty"`
 
-	// State: Output only. The state of the queue.
-	//
-	// `state` can only be changed by called
-	// PauseQueue,
-	// ResumeQueue, or
-	// uploading
-	// [queue.yaml/xml](https://cloud.google.com/appengine/docs/pyt
-	// hon/config/queueref).
-	// UpdateQueue cannot be used to change `state`.
+	// State: Output only. The state of the queue. `state` can only be
+	// changed by called PauseQueue, ResumeQueue, or uploading
+	// [queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config
+	// /queueref). UpdateQueue cannot be used to change `state`.
 	//
 	// Possible values:
 	//   "STATE_UNSPECIFIED" - Unspecified state.
-	//   "RUNNING" - The queue is running. Tasks can be dispatched.
-	//
-	// If the queue was created using Cloud Tasks and the queue has
-	// had no activity (method calls or task dispatches) for 30 days,
-	// the queue may take a few minutes to re-activate. Some method
-	// calls may return NOT_FOUND and
-	// tasks may not be dispatched for a few minutes until the queue
-	// has been re-activated.
+	//   "RUNNING" - The queue is running. Tasks can be dispatched. If the
+	// queue was created using Cloud Tasks and the queue has had no activity
+	// (method calls or task dispatches) for 30 days, the queue may take a
+	// few minutes to re-activate. Some method calls may return NOT_FOUND
+	// and tasks may not be dispatched for a few minutes until the queue has
+	// been re-activated.
 	//   "PAUSED" - Tasks are paused by the user. If the queue is paused
-	// then Cloud
-	// Tasks will stop delivering tasks from it, but more tasks can
-	// still be added to it by the user. When a pull queue is paused,
-	// all LeaseTasks calls will return a
-	// FAILED_PRECONDITION.
-	//   "DISABLED" - The queue is disabled.
-	//
-	// A queue becomes `DISABLED`
-	// when
-	// [queue.yaml](https://cloud.google.com/appengine/docs/python/confi
-	// g/queueref)
-	// or
-	// [queue.xml](https://cloud.google.com/appengine/docs/sta
-	// ndard/java/config/queueref)
-	// is uploaded which does not contain the queue. You cannot directly
-	// disable
-	// a queue.
-	//
-	// When a queue is disabled, tasks can still be added to a queue
-	// but the tasks are not dispatched and
-	// LeaseTasks calls return a
-	// `FAILED_PRECONDITION` error.
-	//
-	// To permanently delete this queue and all of its tasks,
-	// call
-	// DeleteQueue.
+	// then Cloud Tasks will stop delivering tasks from it, but more tasks
+	// can still be added to it by the user. When a pull queue is paused,
+	// all LeaseTasks calls will return a FAILED_PRECONDITION.
+	//   "DISABLED" - The queue is disabled. A queue becomes `DISABLED` when
+	// [queue.yaml](https://cloud.google.com/appengine/docs/python/config/que
+	// ueref) or
+	// [queue.xml](https://cloud.google.com/appengine/docs/standard/java/conf
+	// ig/queueref) is uploaded which does not contain the queue. You cannot
+	// directly disable a queue. When a queue is disabled, tasks can still
+	// be added to a queue but the tasks are not dispatched and LeaseTasks
+	// calls return a `FAILED_PRECONDITION` error. To permanently delete
+	// this queue and all of its tasks, call DeleteQueue.
 	State string `json:"state,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1957,106 +1418,59 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// RateLimits: Rate limits.
-//
-// This message determines the maximum rate that tasks can be dispatched
-// by a
-// queue, regardless of whether the dispatch is a first task attempt or
-// a retry.
-//
-// Note: The debugging command, RunTask, will run a task
-// even if the queue has reached its RateLimits.
+// RateLimits: Rate limits. This message determines the maximum rate
+// that tasks can be dispatched by a queue, regardless of whether the
+// dispatch is a first task attempt or a retry. Note: The debugging
+// command, RunTask, will run a task even if the queue has reached its
+// RateLimits.
 type RateLimits struct {
-	// MaxBurstSize: Output only. The max burst size.
-	//
-	// Max burst size limits how fast tasks in queue are processed when
-	// many tasks are in the queue and the rate is high. This field
-	// allows the queue to have a high rate so processing starts
-	// shortly
-	// after a task is enqueued, but still limits resource usage when
-	// many tasks are enqueued in a short period of time.
-	//
-	// The [token bucket](https://wikipedia.org/wiki/Token_Bucket)
-	// algorithm is used to control the rate of task dispatches. Each
-	// queue has a token bucket that holds tokens, up to the
-	// maximum
-	// specified by `max_burst_size`. Each time a task is dispatched,
-	// a
-	// token is removed from the bucket. Tasks will be dispatched until
-	// the queue's bucket runs out of tokens. The bucket will
-	// be
-	// continuously refilled with new tokens based
-	// on
-	// max_tasks_dispatched_per_second.
-	//
-	// Cloud Tasks will pick the value of `max_burst_size` based on
-	// the
-	// value of
-	// max_tasks_dispatched_per_second.
-	//
-	// For App Engine queues that were created or updated
-	// using
-	// `queue.yaml/xml`, `max_burst_size` is equal
+	// MaxBurstSize: Output only. The max burst size. Max burst size limits
+	// how fast tasks in queue are processed when many tasks are in the
+	// queue and the rate is high. This field allows the queue to have a
+	// high rate so processing starts shortly after a task is enqueued, but
+	// still limits resource usage when many tasks are enqueued in a short
+	// period of time. The [token
+	// bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to
+	// control the rate of task dispatches. Each queue has a token bucket
+	// that holds tokens, up to the maximum specified by `max_burst_size`.
+	// Each time a task is dispatched, a token is removed from the bucket.
+	// Tasks will be dispatched until the queue's bucket runs out of tokens.
+	// The bucket will be continuously refilled with new tokens based on
+	// max_tasks_dispatched_per_second. Cloud Tasks will pick the value of
+	// `max_burst_size` based on the value of
+	// max_tasks_dispatched_per_second. For App Engine queues that were
+	// created or updated using `queue.yaml/xml`, `max_burst_size` is equal
 	// to
-	// [bucket_size](https://cloud.google.com/appengine/docs/standard/pyth
-	// on/config/queueref#bucket_size).
-	// Since `max_burst_size` is output only, if
-	// UpdateQueue is called on a queue
-	// created by `queue.yaml/xml`, `max_burst_size` will be reset based
-	// on the value of
-	// max_tasks_dispatched_per_second,
-	// regardless of whether
-	// max_tasks_dispatched_per_second
-	// is updated.
-	//
+	// [bucket_size](https://cloud.google.com/appengine/docs/standard/python/
+	// config/queueref#bucket_size). Since `max_burst_size` is output only,
+	// if UpdateQueue is called on a queue created by `queue.yaml/xml`,
+	// `max_burst_size` will be reset based on the value of
+	// max_tasks_dispatched_per_second, regardless of whether
+	// max_tasks_dispatched_per_second is updated.
 	MaxBurstSize int64 `json:"maxBurstSize,omitempty"`
 
 	// MaxConcurrentTasks: The maximum number of concurrent tasks that Cloud
-	// Tasks allows
-	// to be dispatched for this queue. After this threshold has
-	// been
-	// reached, Cloud Tasks stops dispatching tasks until the number
-	// of
-	// concurrent requests decreases.
-	//
-	// If unspecified when the queue is created, Cloud Tasks will pick
-	// the
-	// default.
-	//
-	//
-	// The maximum allowed value is 5,000.
-	//
-	// This field is output only for
-	// pull queues and always -1, which indicates no limit. No other
-	// queue types can have `max_concurrent_tasks` set to -1.
-	//
-	//
-	// This field has the same meaning as
-	// [max_concurrent_requests
-	// in
-	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/py
-	// thon/config/queueref#max_concurrent_requests).
+	// Tasks allows to be dispatched for this queue. After this threshold
+	// has been reached, Cloud Tasks stops dispatching tasks until the
+	// number of concurrent requests decreases. If unspecified when the
+	// queue is created, Cloud Tasks will pick the default. The maximum
+	// allowed value is 5,000. This field is output only for pull queues and
+	// always -1, which indicates no limit. No other queue types can have
+	// `max_concurrent_tasks` set to -1. This field has the same meaning as
+	// [max_concurrent_requests in
+	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/pytho
+	// n/config/queueref#max_concurrent_requests).
 	MaxConcurrentTasks int64 `json:"maxConcurrentTasks,omitempty"`
 
 	// MaxTasksDispatchedPerSecond: The maximum rate at which tasks are
-	// dispatched from this queue.
-	//
-	// If unspecified when the queue is created, Cloud Tasks will pick
-	// the
-	// default.
-	//
-	// * For App Engine queues, the maximum allowed value
-	//   is 500.
-	// * This field is output only   for pull queues. In addition to the
-	//   `max_tasks_dispatched_per_second` limit, a maximum of 10 QPS of
-	//   LeaseTasks requests are allowed per pull queue.
-	//
-	//
-	// This field has the same meaning as
-	// [rate
-	// in
-	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/py
-	// thon/config/queueref#rate).
+	// dispatched from this queue. If unspecified when the queue is created,
+	// Cloud Tasks will pick the default. * For App Engine queues, the
+	// maximum allowed value is 500. * This field is output only for pull
+	// queues. In addition to the `max_tasks_dispatched_per_second` limit, a
+	// maximum of 10 QPS of LeaseTasks requests are allowed per pull queue.
+	// This field has the same meaning as [rate in
+	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/pytho
+	// n/config/queueref#rate).
 	MaxTasksDispatchedPerSecond float64 `json:"maxTasksDispatchedPerSecond,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "MaxBurstSize") to
@@ -2096,61 +1510,40 @@
 	return nil
 }
 
-// RenewLeaseRequest: Request message for renewing a lease
-// using
+// RenewLeaseRequest: Request message for renewing a lease using
 // RenewLease.
 type RenewLeaseRequest struct {
 	// LeaseDuration: Required. The desired new lease duration, starting
-	// from now.
-	//
-	//
-	// The maximum lease duration is 1 week.
-	// `lease_duration` will be truncated to the nearest second.
+	// from now. The maximum lease duration is 1 week. `lease_duration` will
+	// be truncated to the nearest second.
 	LeaseDuration string `json:"leaseDuration,omitempty"`
 
 	// ResponseView: The response_view specifies which subset of the Task
-	// will be
-	// returned.
-	//
-	// By default response_view is BASIC; not all
-	// information is retrieved by default because some data, such
-	// as
-	// payloads, might be desirable to return only when needed because
-	// of its large size or because of the sensitivity of data that
-	// it
-	// contains.
-	//
-	// Authorization for FULL requires
-	// `cloudtasks.tasks.fullView` [Google
-	// IAM](https://cloud.google.com/iam/)
-	// permission on the Task resource.
+	// will be returned. By default response_view is BASIC; not all
+	// information is retrieved by default because some data, such as
+	// payloads, might be desirable to return only when needed because of
+	// its large size or because of the sensitivity of data that it
+	// contains. Authorization for FULL requires `cloudtasks.tasks.fullView`
+	// [Google IAM](https://cloud.google.com/iam/) permission on the Task
+	// resource.
 	//
 	// Possible values:
 	//   "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC.
 	//   "BASIC" - The basic view omits fields which can be large or can
-	// contain
-	// sensitive data.
-	//
-	// This view does not include the
-	// (payload in AppEngineHttpRequest and
-	// payload in PullMessage). These payloads are
-	// desirable to return only when needed, because they can be large
-	// and because of the sensitivity of the data that you choose to
-	// store in it.
-	//   "FULL" - All information is returned.
-	//
-	// Authorization for FULL requires
-	// `cloudtasks.tasks.fullView` [Google
-	// IAM](https://cloud.google.com/iam/)
-	// permission on the Queue resource.
+	// contain sensitive data. This view does not include the (payload in
+	// AppEngineHttpRequest and payload in PullMessage). These payloads are
+	// desirable to return only when needed, because they can be large and
+	// because of the sensitivity of the data that you choose to store in
+	// it.
+	//   "FULL" - All information is returned. Authorization for FULL
+	// requires `cloudtasks.tasks.fullView` [Google
+	// IAM](https://cloud.google.com/iam/) permission on the Queue resource.
 	ResponseView string `json:"responseView,omitempty"`
 
 	// ScheduleTime: Required. The task's current schedule time, available
-	// in the
-	// schedule_time returned by
-	// LeaseTasks response or
-	// RenewLease response. This restriction is
-	// to ensure that your worker currently holds the lease.
+	// in the schedule_time returned by LeaseTasks response or RenewLease
+	// response. This restriction is to ensure that your worker currently
+	// holds the lease.
 	ScheduleTime string `json:"scheduleTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "LeaseDuration") to
@@ -2180,125 +1573,65 @@
 type ResumeQueueRequest struct {
 }
 
-// RetryConfig: Retry config.
-//
-// These settings determine how a failed task attempt is retried.
+// RetryConfig: Retry config. These settings determine how a failed task
+// attempt is retried.
 type RetryConfig struct {
-	// MaxAttempts: The maximum number of attempts for a task.
-	//
-	// Cloud Tasks will attempt the task `max_attempts` times (that
-	// is, if the first attempt fails, then there will be
-	// `max_attempts - 1` retries).  Must be > 0.
+	// MaxAttempts: The maximum number of attempts for a task. Cloud Tasks
+	// will attempt the task `max_attempts` times (that is, if the first
+	// attempt fails, then there will be `max_attempts - 1` retries). Must
+	// be > 0.
 	MaxAttempts int64 `json:"maxAttempts,omitempty"`
 
-	// MaxBackoff: A task will be scheduled for retry between
-	// min_backoff and
-	// max_backoff duration after it fails,
-	// if the queue's RetryConfig specifies that the task should
-	// be
-	// retried.
-	//
-	// If unspecified when the queue is created, Cloud Tasks will pick
-	// the
-	// default.
-	//
-	// This field is output only for pull queues.
-	//
-	//
-	// `max_backoff` will be truncated to the nearest second.
-	//
-	// This field has the same meaning as
-	// [max_backoff_seconds
-	// in
-	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/py
-	// thon/config/queueref#retry_parameters).
+	// MaxBackoff: A task will be scheduled for retry between min_backoff
+	// and max_backoff duration after it fails, if the queue's RetryConfig
+	// specifies that the task should be retried. If unspecified when the
+	// queue is created, Cloud Tasks will pick the default. This field is
+	// output only for pull queues. `max_backoff` will be truncated to the
+	// nearest second. This field has the same meaning as
+	// [max_backoff_seconds in
+	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/pytho
+	// n/config/queueref#retry_parameters).
 	MaxBackoff string `json:"maxBackoff,omitempty"`
 
 	// MaxDoublings: The time between retries will double `max_doublings`
-	// times.
-	//
-	// A task's retry interval starts at
-	// min_backoff, then doubles
-	// `max_doublings` times, then increases linearly, and finally
-	// retries at intervals of
-	// max_backoff up to
-	// max_attempts times.
-	//
-	// For example, if min_backoff is 10s,
-	// max_backoff is 300s, and
-	// `max_doublings` is 3, then the a task will first be retried in
-	// 10s. The retry interval will double three times, and then
-	// increase linearly by 2^3 * 10s.  Finally, the task will retry
-	// at
-	// intervals of max_backoff until the
-	// task has been attempted max_attempts
-	// times. Thus, the requests will retry at 10s, 20s, 40s, 80s,
-	// 160s,
-	// 240s, 300s, 300s, ....
-	//
-	// If unspecified when the queue is created, Cloud Tasks will pick
-	// the
-	// default.
-	//
-	// This field is output only for pull queues.
-	//
-	//
-	// This field has the same meaning as
-	// [max_doublings
-	// in
-	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/py
-	// thon/config/queueref#retry_parameters).
+	// times. A task's retry interval starts at min_backoff, then doubles
+	// `max_doublings` times, then increases linearly, and finally retries
+	// at intervals of max_backoff up to max_attempts times. For example, if
+	// min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3,
+	// then the a task will first be retried in 10s. The retry interval will
+	// double three times, and then increase linearly by 2^3 * 10s. Finally,
+	// the task will retry at intervals of max_backoff until the task has
+	// been attempted max_attempts times. Thus, the requests will retry at
+	// 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when
+	// the queue is created, Cloud Tasks will pick the default. This field
+	// is output only for pull queues. This field has the same meaning as
+	// [max_doublings in
+	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/pytho
+	// n/config/queueref#retry_parameters).
 	MaxDoublings int64 `json:"maxDoublings,omitempty"`
 
 	// MaxRetryDuration: If positive, `max_retry_duration` specifies the
-	// time limit for
-	// retrying a failed task, measured from when the task was
-	// first
-	// attempted. Once `max_retry_duration` time has passed *and* the
-	// task has been attempted max_attempts
-	// times, no further attempts will be made and the task will
-	// be
-	// deleted.
-	//
-	// If zero, then the task age is unlimited.
-	//
-	// If unspecified when the queue is created, Cloud Tasks will pick
-	// the
-	// default.
-	//
-	// This field is output only for pull queues.
-	//
-	//
-	// `max_retry_duration` will be truncated to the nearest second.
-	//
-	// This field has the same meaning as
-	// [task_age_limit
-	// in
-	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/py
-	// thon/config/queueref#retry_parameters).
+	// time limit for retrying a failed task, measured from when the task
+	// was first attempted. Once `max_retry_duration` time has passed *and*
+	// the task has been attempted max_attempts times, no further attempts
+	// will be made and the task will be deleted. If zero, then the task age
+	// is unlimited. If unspecified when the queue is created, Cloud Tasks
+	// will pick the default. This field is output only for pull queues.
+	// `max_retry_duration` will be truncated to the nearest second. This
+	// field has the same meaning as [task_age_limit in
+	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/pytho
+	// n/config/queueref#retry_parameters).
 	MaxRetryDuration string `json:"maxRetryDuration,omitempty"`
 
-	// MinBackoff: A task will be scheduled for retry between
-	// min_backoff and
-	// max_backoff duration after it fails,
-	// if the queue's RetryConfig specifies that the task should
-	// be
-	// retried.
-	//
-	// If unspecified when the queue is created, Cloud Tasks will pick
-	// the
-	// default.
-	//
-	// This field is output only for pull queues.
-	//
-	//
-	// `min_backoff` will be truncated to the nearest second.
-	//
-	// This field has the same meaning as
-	// [min_backoff_seconds
-	// in
-	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/py
-	// thon/config/queueref#retry_parameters).
+	// MinBackoff: A task will be scheduled for retry between min_backoff
+	// and max_backoff duration after it fails, if the queue's RetryConfig
+	// specifies that the task should be retried. If unspecified when the
+	// queue is created, Cloud Tasks will pick the default. This field is
+	// output only for pull queues. `min_backoff` will be truncated to the
+	// nearest second. This field has the same meaning as
+	// [min_backoff_seconds in
+	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/pytho
+	// n/config/queueref#retry_parameters).
 	MinBackoff string `json:"minBackoff,omitempty"`
 
 	// UnlimitedAttempts: If true, then the number of attempts is unlimited.
@@ -2327,45 +1660,29 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// RunTaskRequest: Request message for forcing a task to run now
-// using
+// RunTaskRequest: Request message for forcing a task to run now using
 // RunTask.
 type RunTaskRequest struct {
 	// ResponseView: The response_view specifies which subset of the Task
-	// will be
-	// returned.
-	//
-	// By default response_view is BASIC; not all
-	// information is retrieved by default because some data, such
-	// as
-	// payloads, might be desirable to return only when needed because
-	// of its large size or because of the sensitivity of data that
-	// it
-	// contains.
-	//
-	// Authorization for FULL requires
-	// `cloudtasks.tasks.fullView` [Google
-	// IAM](https://cloud.google.com/iam/)
-	// permission on the Task resource.
+	// will be returned. By default response_view is BASIC; not all
+	// information is retrieved by default because some data, such as
+	// payloads, might be desirable to return only when needed because of
+	// its large size or because of the sensitivity of data that it
+	// contains. Authorization for FULL requires `cloudtasks.tasks.fullView`
+	// [Google IAM](https://cloud.google.com/iam/) permission on the Task
+	// resource.
 	//
 	// Possible values:
 	//   "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC.
 	//   "BASIC" - The basic view omits fields which can be large or can
-	// contain
-	// sensitive data.
-	//
-	// This view does not include the
-	// (payload in AppEngineHttpRequest and
-	// payload in PullMessage). These payloads are
-	// desirable to return only when needed, because they can be large
-	// and because of the sensitivity of the data that you choose to
-	// store in it.
-	//   "FULL" - All information is returned.
-	//
-	// Authorization for FULL requires
-	// `cloudtasks.tasks.fullView` [Google
-	// IAM](https://cloud.google.com/iam/)
-	// permission on the Queue resource.
+	// contain sensitive data. This view does not include the (payload in
+	// AppEngineHttpRequest and payload in PullMessage). These payloads are
+	// desirable to return only when needed, because they can be large and
+	// because of the sensitivity of the data that you choose to store in
+	// it.
+	//   "FULL" - All information is returned. Authorization for FULL
+	// requires `cloudtasks.tasks.fullView` [Google
+	// IAM](https://cloud.google.com/iam/) permission on the Queue resource.
 	ResponseView string `json:"responseView,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ResponseView") to
@@ -2394,11 +1711,9 @@
 // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
 type SetIamPolicyRequest struct {
 	// Policy: REQUIRED: The complete policy to be applied to the
-	// `resource`. The size of
-	// the policy is limited to a few 10s of KB. An empty policy is a
-	// valid policy but certain Cloud Platform services (such as
-	// Projects)
-	// might reject them.
+	// `resource`. The size of the policy is limited to a few 10s of KB. An
+	// empty policy is a valid policy but certain Cloud Platform services
+	// (such as Projects) might reject them.
 	Policy *Policy `json:"policy,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Policy") to
@@ -2425,32 +1740,24 @@
 }
 
 // Status: The `Status` type defines a logical error model that is
-// suitable for
-// different programming environments, including REST APIs and RPC APIs.
-// It is
-// used by [gRPC](https://github.com/grpc). Each `Status` message
-// contains
-// three pieces of data: error code, error message, and error
-// details.
-//
-// You can find out more about this error model and how to work with it
-// in the
-// [API Design Guide](https://cloud.google.com/apis/design/errors).
+// suitable for different programming environments, including REST APIs
+// and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each
+// `Status` message contains three pieces of data: error code, error
+// message, and error details. You can find out more about this error
+// model and how to work with it in the [API Design
+// Guide](https://cloud.google.com/apis/design/errors).
 type Status struct {
 	// Code: The status code, which should be an enum value of
 	// google.rpc.Code.
 	Code int64 `json:"code,omitempty"`
 
-	// Details: A list of messages that carry the error details.  There is a
-	// common set of
-	// message types for APIs to use.
+	// Details: A list of messages that carry the error details. There is a
+	// common set of message types for APIs to use.
 	Details []googleapi.RawMessage `json:"details,omitempty"`
 
 	// Message: 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.
+	// English. Any user-facing error message should be localized and sent
+	// in the google.rpc.Status.details field, or localized by the client.
 	Message string `json:"message,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Code") to
@@ -2479,93 +1786,63 @@
 // Task: A unit of scheduled work.
 type Task struct {
 	// AppEngineHttpRequest: App Engine HTTP request that is sent to the
-	// task's target. Can
-	// be set only if
-	// app_engine_http_target is set
-	// on the queue.
-	//
-	// An App Engine task is a task that has AppEngineHttpRequest set.
+	// task's target. Can be set only if app_engine_http_target is set on
+	// the queue. An App Engine task is a task that has AppEngineHttpRequest
+	// set.
 	AppEngineHttpRequest *AppEngineHttpRequest `json:"appEngineHttpRequest,omitempty"`
 
-	// CreateTime: Output only. The time that the task was
-	// created.
-	//
+	// CreateTime: Output only. The time that the task was created.
 	// `create_time` will be truncated to the nearest second.
 	CreateTime string `json:"createTime,omitempty"`
 
-	// Name: Optionally caller-specified in CreateTask.
-	//
-	// The task name.
-	//
-	// The task name must have the following
-	// format:
-	// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tas
-	// ks/TASK_ID`
-	//
-	// * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
-	//    hyphens (-), colons (:), or periods (.).
-	//    For more information, see
-	//    [Identifying
-	//
+	// Name: Optionally caller-specified in CreateTask. The task name. The
+	// task name must have the following format:
+	// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_
+	// ID` * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
+	// hyphens (-), colons (:), or periods (.). For more information, see
+	// [Identifying
 	// projects](https://cloud.google.com/resource-manager/docs/creating-mana
-	// ging-projects#identifying_projects)
-	// * `LOCATION_ID` is the canonical ID for the task's location.
-	//    The list of available locations can be obtained by calling
-	//    ListLocations.
-	//    For more information, see
-	// https://cloud.google.com/about/locations/.
-	// * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or
-	//   hyphens (-). The maximum length is 100 characters.
-	// * `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]),
-	//   hyphens (-), or underscores (_). The maximum length is 500
-	// characters.
+	// ging-projects#identifying_projects) * `LOCATION_ID` is the canonical
+	// ID for the task's location. The list of available locations can be
+	// obtained by calling ListLocations. For more information, see
+	// https://cloud.google.com/about/locations/. * `QUEUE_ID` can contain
+	// letters ([A-Za-z]), numbers ([0-9]), or hyphens (-). The maximum
+	// length is 100 characters. * `TASK_ID` can contain only letters
+	// ([A-Za-z]), numbers ([0-9]), hyphens (-), or underscores (_). The
+	// maximum length is 500 characters.
 	Name string `json:"name,omitempty"`
 
-	// PullMessage: LeaseTasks to process the task. Can be
-	// set only if pull_target is set on the queue.
-	//
-	// A pull task is a task that has PullMessage set.
+	// PullMessage: LeaseTasks to process the task. Can be set only if
+	// pull_target is set on the queue. A pull task is a task that has
+	// PullMessage set.
 	PullMessage *PullMessage `json:"pullMessage,omitempty"`
 
-	// ScheduleTime: The time when the task is scheduled to be
-	// attempted.
-	//
+	// ScheduleTime: The time when the task is scheduled to be attempted.
 	// For App Engine queues, this is when the task will be attempted or
-	// retried.
-	//
-	// For pull queues, this is the time when the task is available to
-	// be leased; if a task is currently leased, this is the time when
-	// the current lease expires, that is, the time that the task was
-	// leased plus the lease_duration.
-	//
-	// `schedule_time` will be truncated to the nearest microsecond.
+	// retried. For pull queues, this is the time when the task is available
+	// to be leased; if a task is currently leased, this is the time when
+	// the current lease expires, that is, the time that the task was leased
+	// plus the lease_duration. `schedule_time` will be truncated to the
+	// nearest microsecond.
 	ScheduleTime string `json:"scheduleTime,omitempty"`
 
 	// Status: Output only. The task status.
 	Status *TaskStatus `json:"status,omitempty"`
 
-	// View: Output only. The view specifies which subset of the Task
-	// has
+	// View: Output only. The view specifies which subset of the Task has
 	// been returned.
 	//
 	// Possible values:
 	//   "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC.
 	//   "BASIC" - The basic view omits fields which can be large or can
-	// contain
-	// sensitive data.
-	//
-	// This view does not include the
-	// (payload in AppEngineHttpRequest and
-	// payload in PullMessage). These payloads are
-	// desirable to return only when needed, because they can be large
-	// and because of the sensitivity of the data that you choose to
-	// store in it.
-	//   "FULL" - All information is returned.
-	//
-	// Authorization for FULL requires
-	// `cloudtasks.tasks.fullView` [Google
-	// IAM](https://cloud.google.com/iam/)
-	// permission on the Queue resource.
+	// contain sensitive data. This view does not include the (payload in
+	// AppEngineHttpRequest and payload in PullMessage). These payloads are
+	// desirable to return only when needed, because they can be large and
+	// because of the sensitivity of the data that you choose to store in
+	// it.
+	//   "FULL" - All information is returned. Authorization for FULL
+	// requires `cloudtasks.tasks.fullView` [Google
+	// IAM](https://cloud.google.com/iam/) permission on the Queue resource.
 	View string `json:"view,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2599,34 +1876,23 @@
 
 // TaskStatus: Status of the task.
 type TaskStatus struct {
-	// AttemptDispatchCount: Output only. The number of attempts
-	// dispatched.
-	//
-	// This count includes attempts which have been dispatched but
-	// haven't
+	// AttemptDispatchCount: Output only. The number of attempts dispatched.
+	// This count includes attempts which have been dispatched but haven't
 	// received a response.
 	AttemptDispatchCount int64 `json:"attemptDispatchCount,omitempty"`
 
 	// AttemptResponseCount: Output only. The number of attempts which have
-	// received a response.
-	//
-	// This field is not calculated for pull tasks.
+	// received a response. This field is not calculated for pull tasks.
 	AttemptResponseCount int64 `json:"attemptResponseCount,omitempty"`
 
 	// FirstAttemptStatus: Output only. The status of the task's first
-	// attempt.
-	//
-	// Only dispatch_time will be set.
-	// The other AttemptStatus information is not retained by Cloud
-	// Tasks.
-	//
-	// This field is not calculated for pull tasks.
+	// attempt. Only dispatch_time will be set. The other AttemptStatus
+	// information is not retained by Cloud Tasks. This field is not
+	// calculated for pull tasks.
 	FirstAttemptStatus *AttemptStatus `json:"firstAttemptStatus,omitempty"`
 
 	// LastAttemptStatus: Output only. The status of the task's last
-	// attempt.
-	//
-	// This field is not calculated for pull tasks.
+	// attempt. This field is not calculated for pull tasks.
 	LastAttemptStatus *AttemptStatus `json:"lastAttemptStatus,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -2658,11 +1924,8 @@
 // method.
 type TestIamPermissionsRequest struct {
 	// Permissions: The set of permissions to check for the `resource`.
-	// Permissions with
-	// wildcards (such as '*' or 'storage.*') are not allowed. For
-	// more
-	// information see
-	// [IAM
+	// Permissions with wildcards (such as '*' or 'storage.*') are not
+	// allowed. For more information see [IAM
 	// Overview](https://cloud.google.com/iam/docs/overview#permissions).
 	Permissions []string `json:"permissions,omitempty"`
 
@@ -2693,8 +1956,7 @@
 // method.
 type TestIamPermissionsResponse struct {
 	// Permissions: A subset of `TestPermissionsRequest.permissions` that
-	// the caller is
-	// allowed.
+	// the caller is allowed.
 	Permissions []string `json:"permissions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2779,7 +2041,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2945,7 +2207,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3082,24 +2344,14 @@
 	header_    http.Header
 }
 
-// Create: Creates a queue.
-//
-// Queues created with this method allow tasks to live for a maximum of
-// 31
-// days. After a task is 31 days old, the task will be deleted
-// regardless of whether
-// it was dispatched or not.
-//
+// Create: Creates a queue. Queues created with this method allow tasks
+// to live for a maximum of 31 days. After a task is 31 days old, the
+// task will be deleted regardless of whether it was dispatched or not.
 // WARNING: Using this method may have unintended side effects if you
-// are
-// using an App Engine `queue.yaml` or `queue.xml` file to manage your
-// queues.
-// Read
-// [Overview of Queue Management
-// and
+// are using an App Engine `queue.yaml` or `queue.xml` file to manage
+// your queues. Read [Overview of Queue Management and
 // queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before
-// using
-// this method.
+// using this method.
 func (r *ProjectsLocationsQueuesService) Create(parent string, queue *Queue) *ProjectsLocationsQueuesCreateCall {
 	c := &ProjectsLocationsQueuesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -3134,7 +2386,7 @@
 
 func (c *ProjectsLocationsQueuesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3198,7 +2450,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a queue.\n\nQueues created with this method allow tasks to live for a maximum of 31\ndays. After a task is 31 days old, the task will be deleted regardless of whether\nit was dispatched or not.\n\nWARNING: Using this method may have unintended side effects if you are\nusing an App Engine `queue.yaml` or `queue.xml` file to manage your queues.\nRead\n[Overview of Queue Management and\nqueue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using\nthis method.",
+	//   "description": "Creates a queue. Queues created with this method allow tasks to live for a maximum of 31 days. After a task is 31 days old, the task will be deleted regardless of whether it was dispatched or not. WARNING: Using this method may have unintended side effects if you are using an App Engine `queue.yaml` or `queue.xml` file to manage your queues. Read [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using this method.",
 	//   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.create",
@@ -3207,7 +2459,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The location name in which the queue will be created.\nFor example: `projects/PROJECT_ID/locations/LOCATION_ID`\n\nThe list of allowed locations can be obtained by calling Cloud\nTasks' implementation of\nListLocations.",
+	//       "description": "Required. The location name in which the queue will be created. For example: `projects/PROJECT_ID/locations/LOCATION_ID` The list of allowed locations can be obtained by calling Cloud Tasks' implementation of ListLocations.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
@@ -3238,24 +2490,14 @@
 	header_    http.Header
 }
 
-// Delete: Deletes a queue.
-//
-// This command will delete the queue even if it has tasks in it.
-//
-// Note: If you delete a queue, a queue with the same name can't be
-// created
-// for 7 days.
-//
-// WARNING: Using this method may have unintended side effects if you
-// are
-// using an App Engine `queue.yaml` or `queue.xml` file to manage your
-// queues.
-// Read
-// [Overview of Queue Management
-// and
+// Delete: Deletes a queue. This command will delete the queue even if
+// it has tasks in it. Note: If you delete a queue, a queue with the
+// same name can't be created for 7 days. WARNING: Using this method may
+// have unintended side effects if you are using an App Engine
+// `queue.yaml` or `queue.xml` file to manage your queues. Read
+// [Overview of Queue Management and
 // queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before
-// using
-// this method.
+// using this method.
 func (r *ProjectsLocationsQueuesService) Delete(name string) *ProjectsLocationsQueuesDeleteCall {
 	c := &ProjectsLocationsQueuesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3289,7 +2531,7 @@
 
 func (c *ProjectsLocationsQueuesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3348,7 +2590,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a queue.\n\nThis command will delete the queue even if it has tasks in it.\n\nNote: If you delete a queue, a queue with the same name can't be created\nfor 7 days.\n\nWARNING: Using this method may have unintended side effects if you are\nusing an App Engine `queue.yaml` or `queue.xml` file to manage your queues.\nRead\n[Overview of Queue Management and\nqueue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using\nthis method.",
+	//   "description": "Deletes a queue. This command will delete the queue even if it has tasks in it. Note: If you delete a queue, a queue with the same name can't be created for 7 days. WARNING: Using this method may have unintended side effects if you are using an App Engine `queue.yaml` or `queue.xml` file to manage your queues. Read [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using this method.",
 	//   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "cloudtasks.projects.locations.queues.delete",
@@ -3357,7 +2599,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
+	//       "description": "Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -3394,8 +2636,8 @@
 }
 
 // ReadMask sets the optional parameter "readMask": Read mask is used
-// for a more granular control over what the API returns. By
-// it includes all fields in Queue except for stats.
+// for a more granular control over what the API returns. By it includes
+// all fields in Queue except for stats.
 func (c *ProjectsLocationsQueuesGetCall) ReadMask(readMask string) *ProjectsLocationsQueuesGetCall {
 	c.urlParams_.Set("readMask", readMask)
 	return c
@@ -3438,7 +2680,7 @@
 
 func (c *ProjectsLocationsQueuesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3509,14 +2751,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the queue. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
+	//       "description": "Required. The resource name of the queue. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "readMask": {
-	//       "description": "Optional. Read mask is used for a more granular control over what the API returns. By\nit includes all fields in Queue except for stats.",
+	//       "description": "Optional. Read mask is used for a more granular control over what the API returns. By it includes all fields in Queue except for stats.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -3544,17 +2786,11 @@
 	header_             http.Header
 }
 
-// GetIamPolicy: Gets the access control policy for a Queue.
-// Returns an empty policy if the resource exists and does not have a
-// policy
-// set.
-//
-// Authorization requires the following
-// [Google IAM](https://cloud.google.com/iam) permission on the
-// specified
-// resource parent:
-//
-// * `cloudtasks.queues.getIamPolicy`
+// GetIamPolicy: Gets the access control policy for a Queue. Returns an
+// empty policy if the resource exists and does not have a policy set.
+// Authorization requires the following [Google
+// IAM](https://cloud.google.com/iam) permission on the specified
+// resource parent: * `cloudtasks.queues.getIamPolicy`
 func (r *ProjectsLocationsQueuesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsQueuesGetIamPolicyCall {
 	c := &ProjectsLocationsQueuesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -3589,7 +2825,7 @@
 
 func (c *ProjectsLocationsQueuesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3653,7 +2889,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for a Queue.\nReturns an empty policy if the resource exists and does not have a policy\nset.\n\nAuthorization requires the following\n[Google IAM](https://cloud.google.com/iam) permission on the specified\nresource parent:\n\n* `cloudtasks.queues.getIamPolicy`",
+	//   "description": "Gets the access control policy for a Queue. Returns an empty policy if the resource exists and does not have a policy set. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission on the specified resource parent: * `cloudtasks.queues.getIamPolicy`",
 	//   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:getIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.getIamPolicy",
@@ -3662,7 +2898,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -3694,9 +2930,7 @@
 	header_      http.Header
 }
 
-// List: Lists queues.
-//
-// Queues are returned in lexicographical order.
+// List: Lists queues. Queues are returned in lexicographical order.
 func (r *ProjectsLocationsQueuesService) List(parent string) *ProjectsLocationsQueuesListCall {
 	c := &ProjectsLocationsQueuesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -3704,50 +2938,34 @@
 }
 
 // Filter sets the optional parameter "filter": `filter` can be used to
-// specify a subset of queues. Any Queue
-// field can be used as a filter and several operators as supported.
-// For example: `<=, <, >=, >, !=, =, :`. The filter syntax is the same
-// as
-// described in
-// [Stackdriver's Advanced
-// Logs
-// Filters](https://cloud.google.com/logging/docs/view/advanced_filt
-// ers).
-//
-// Sample filter "app_engine_http_target: *".
-//
-// Note that using filters might cause fewer queues than
-// the
-// requested_page size to be returned.
+// specify a subset of queues. Any Queue field can be used as a filter
+// and several operators as supported. For example: `<=, <, >=, >, !=,
+// =, :`. The filter syntax is the same as described in [Stackdriver's
+// Advanced Logs
+// Filters](https://cloud.google.com/logging/docs/view/advanced_filters).
+//  Sample filter "app_engine_http_target: *". Note that using filters
+// might cause fewer queues than the requested_page size to be returned.
 func (c *ProjectsLocationsQueuesListCall) Filter(filter string) *ProjectsLocationsQueuesListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
 }
 
-// PageSize sets the optional parameter "pageSize": Requested page
-// size.
-//
-// The maximum page size is 9800. If unspecified, the page size will
-// be the maximum. Fewer queues than requested might be returned,
-// even if more queues exist; use the
-// next_page_token in the
-// response to determine if more queues exist.
+// PageSize sets the optional parameter "pageSize": Requested page size.
+// The maximum page size is 9800. If unspecified, the page size will be
+// the maximum. Fewer queues than requested might be returned, even if
+// more queues exist; use the next_page_token in the response to
+// determine if more queues exist.
 func (c *ProjectsLocationsQueuesListCall) PageSize(pageSize int64) *ProjectsLocationsQueuesListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": A token
-// identifying the page of results to return.
-//
-// To request the first page results, page_token must be empty.
-// To
-// request the next page of results, page_token must be the value
-// of
-// next_page_token returned
-// from the previous call to ListQueues
-// method. It is an error to switch the value of the
-// filter while iterating through pages.
+// identifying the page of results to return. To request the first page
+// results, page_token must be empty. To request the next page of
+// results, page_token must be the value of next_page_token returned
+// from the previous call to ListQueues method. It is an error to switch
+// the value of the filter while iterating through pages.
 func (c *ProjectsLocationsQueuesListCall) PageToken(pageToken string) *ProjectsLocationsQueuesListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -3790,7 +3008,7 @@
 
 func (c *ProjectsLocationsQueuesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3852,7 +3070,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists queues.\n\nQueues are returned in lexicographical order.",
+	//   "description": "Lists queues. Queues are returned in lexicographical order.",
 	//   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues",
 	//   "httpMethod": "GET",
 	//   "id": "cloudtasks.projects.locations.queues.list",
@@ -3861,23 +3079,23 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "`filter` can be used to specify a subset of queues. Any Queue\nfield can be used as a filter and several operators as supported.\nFor example: `\u003c=, \u003c, \u003e=, \u003e, !=, =, :`. The filter syntax is the same as\ndescribed in\n[Stackdriver's Advanced Logs\nFilters](https://cloud.google.com/logging/docs/view/advanced_filters).\n\nSample filter \"app_engine_http_target: *\".\n\nNote that using filters might cause fewer queues than the\nrequested_page size to be returned.",
+	//       "description": "`filter` can be used to specify a subset of queues. Any Queue field can be used as a filter and several operators as supported. For example: `\u003c=, \u003c, \u003e=, \u003e, !=, =, :`. The filter syntax is the same as described in [Stackdriver's Advanced Logs Filters](https://cloud.google.com/logging/docs/view/advanced_filters). Sample filter \"app_engine_http_target: *\". Note that using filters might cause fewer queues than the requested_page size to be returned.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "Requested page size.\n\nThe maximum page size is 9800. If unspecified, the page size will\nbe the maximum. Fewer queues than requested might be returned,\neven if more queues exist; use the\nnext_page_token in the\nresponse to determine if more queues exist.",
+	//       "description": "Requested page size. The maximum page size is 9800. If unspecified, the page size will be the maximum. Fewer queues than requested might be returned, even if more queues exist; use the next_page_token in the response to determine if more queues exist.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "A token identifying the page of results to return.\n\nTo request the first page results, page_token must be empty. To\nrequest the next page of results, page_token must be the value of\nnext_page_token returned\nfrom the previous call to ListQueues\nmethod. It is an error to switch the value of the\nfilter while iterating through pages.",
+	//       "description": "A token identifying the page of results to return. To request the first page results, page_token must be empty. To request the next page of results, page_token must be the value of next_page_token returned from the previous call to ListQueues method. It is an error to switch the value of the filter while iterating through pages.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The location name.\nFor example: `projects/PROJECT_ID/locations/LOCATION_ID`",
+	//       "description": "Required. The location name. For example: `projects/PROJECT_ID/locations/LOCATION_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
@@ -3927,27 +3145,16 @@
 	header_    http.Header
 }
 
-// Patch: Updates a queue.
-//
-// This method creates the queue if it does not exist and updates
-// the queue if it does exist.
-//
-// Queues created with this method allow tasks to live for a maximum of
-// 31
-// days. After a task is 31 days old, the task will be deleted
-// regardless of whether
-// it was dispatched or not.
-//
-// WARNING: Using this method may have unintended side effects if you
-// are
-// using an App Engine `queue.yaml` or `queue.xml` file to manage your
-// queues.
-// Read
-// [Overview of Queue Management
-// and
+// Patch: Updates a queue. This method creates the queue if it does not
+// exist and updates the queue if it does exist. Queues created with
+// this method allow tasks to live for a maximum of 31 days. After a
+// task is 31 days old, the task will be deleted regardless of whether
+// it was dispatched or not. WARNING: Using this method may have
+// unintended side effects if you are using an App Engine `queue.yaml`
+// or `queue.xml` file to manage your queues. Read [Overview of Queue
+// Management and
 // queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before
-// using
-// this method.
+// using this method.
 func (r *ProjectsLocationsQueuesService) Patch(name string, queue *Queue) *ProjectsLocationsQueuesPatchCall {
 	c := &ProjectsLocationsQueuesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3956,9 +3163,8 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": A mask used to
-// specify which fields of the queue are being updated.
-//
-// If empty, then all fields will be updated.
+// specify which fields of the queue are being updated. If empty, then
+// all fields will be updated.
 func (c *ProjectsLocationsQueuesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsQueuesPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
 	return c
@@ -3991,7 +3197,7 @@
 
 func (c *ProjectsLocationsQueuesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4055,7 +3261,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates a queue.\n\nThis method creates the queue if it does not exist and updates\nthe queue if it does exist.\n\nQueues created with this method allow tasks to live for a maximum of 31\ndays. After a task is 31 days old, the task will be deleted regardless of whether\nit was dispatched or not.\n\nWARNING: Using this method may have unintended side effects if you are\nusing an App Engine `queue.yaml` or `queue.xml` file to manage your queues.\nRead\n[Overview of Queue Management and\nqueue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using\nthis method.",
+	//   "description": "Updates a queue. This method creates the queue if it does not exist and updates the queue if it does exist. Queues created with this method allow tasks to live for a maximum of 31 days. After a task is 31 days old, the task will be deleted regardless of whether it was dispatched or not. WARNING: Using this method may have unintended side effects if you are using an App Engine `queue.yaml` or `queue.xml` file to manage your queues. Read [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using this method.",
 	//   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}",
 	//   "httpMethod": "PATCH",
 	//   "id": "cloudtasks.projects.locations.queues.patch",
@@ -4064,14 +3270,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Caller-specified and required in CreateQueue,\nafter which it becomes output only.\n\nThe queue name.\n\nThe queue name must have the following format:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`\n\n* `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),\n   hyphens (-), colons (:), or periods (.).\n   For more information, see\n   [Identifying\n   projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)\n* `LOCATION_ID` is the canonical ID for the queue's location.\n   The list of available locations can be obtained by calling\n   ListLocations.\n   For more information, see https://cloud.google.com/about/locations/.\n* `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or\n  hyphens (-). The maximum length is 100 characters.",
+	//       "description": "Caller-specified and required in CreateQueue, after which it becomes output only. The queue name. The queue name must have the following format: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens (-), colons (:), or periods (.). For more information, see [Identifying projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) * `LOCATION_ID` is the canonical ID for the queue's location. The list of available locations can be obtained by calling ListLocations. For more information, see https://cloud.google.com/about/locations/. * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or hyphens (-). The maximum length is 100 characters.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "A mask used to specify which fields of the queue are being updated.\n\nIf empty, then all fields will be updated.",
+	//       "description": "A mask used to specify which fields of the queue are being updated. If empty, then all fields will be updated.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -4102,14 +3308,10 @@
 	header_           http.Header
 }
 
-// Pause: Pauses the queue.
-//
-// If a queue is paused then the system will stop dispatching
-// tasks
-// until the queue is resumed via
-// ResumeQueue. Tasks can still be added
-// when the queue is paused. A queue is paused if its
-// state is PAUSED.
+// Pause: Pauses the queue. If a queue is paused then the system will
+// stop dispatching tasks until the queue is resumed via ResumeQueue.
+// Tasks can still be added when the queue is paused. A queue is paused
+// if its state is PAUSED.
 func (r *ProjectsLocationsQueuesService) Pause(name string, pausequeuerequest *PauseQueueRequest) *ProjectsLocationsQueuesPauseCall {
 	c := &ProjectsLocationsQueuesPauseCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4144,7 +3346,7 @@
 
 func (c *ProjectsLocationsQueuesPauseCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4208,7 +3410,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Pauses the queue.\n\nIf a queue is paused then the system will stop dispatching tasks\nuntil the queue is resumed via\nResumeQueue. Tasks can still be added\nwhen the queue is paused. A queue is paused if its\nstate is PAUSED.",
+	//   "description": "Pauses the queue. If a queue is paused then the system will stop dispatching tasks until the queue is resumed via ResumeQueue. Tasks can still be added when the queue is paused. A queue is paused if its state is PAUSED.",
 	//   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:pause",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.pause",
@@ -4217,7 +3419,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
+	//       "description": "Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -4249,15 +3451,10 @@
 	header_           http.Header
 }
 
-// Purge: Purges a queue by deleting all of its tasks.
-//
-// All tasks created before this method is called are permanently
-// deleted.
-//
-// Purge operations can take up to one minute to take effect.
-// Tasks
-// might be dispatched before the purge takes effect. A purge is
-// irreversible.
+// Purge: Purges a queue by deleting all of its tasks. All tasks created
+// before this method is called are permanently deleted. Purge
+// operations can take up to one minute to take effect. Tasks might be
+// dispatched before the purge takes effect. A purge is irreversible.
 func (r *ProjectsLocationsQueuesService) Purge(name string, purgequeuerequest *PurgeQueueRequest) *ProjectsLocationsQueuesPurgeCall {
 	c := &ProjectsLocationsQueuesPurgeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4292,7 +3489,7 @@
 
 func (c *ProjectsLocationsQueuesPurgeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4356,7 +3553,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Purges a queue by deleting all of its tasks.\n\nAll tasks created before this method is called are permanently deleted.\n\nPurge operations can take up to one minute to take effect. Tasks\nmight be dispatched before the purge takes effect. A purge is irreversible.",
+	//   "description": "Purges a queue by deleting all of its tasks. All tasks created before this method is called are permanently deleted. Purge operations can take up to one minute to take effect. Tasks might be dispatched before the purge takes effect. A purge is irreversible.",
 	//   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:purge",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.purge",
@@ -4365,7 +3562,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
+	//       "description": "Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -4397,21 +3594,13 @@
 	header_            http.Header
 }
 
-// Resume: Resume a queue.
-//
-// This method resumes a queue after it has been
-// PAUSED or
-// DISABLED. The state of a queue is stored
-// in the queue's state; after calling this method it
-// will be set to RUNNING.
-//
-// WARNING: Resuming many high-QPS queues at the same time can
-// lead to target overloading. If you are resuming high-QPS
-// queues, follow the 500/50/5 pattern described in
-// [Managing Cloud Tasks
-// Scaling
-// Risks](https://cloud.google.com/tasks/docs/manage-cloud-task-s
-// caling).
+// Resume: Resume a queue. This method resumes a queue after it has been
+// PAUSED or DISABLED. The state of a queue is stored in the queue's
+// state; after calling this method it will be set to RUNNING. WARNING:
+// Resuming many high-QPS queues at the same time can lead to target
+// overloading. If you are resuming high-QPS queues, follow the 500/50/5
+// pattern described in [Managing Cloud Tasks Scaling
+// Risks](https://cloud.google.com/tasks/docs/manage-cloud-task-scaling).
 func (r *ProjectsLocationsQueuesService) Resume(name string, resumequeuerequest *ResumeQueueRequest) *ProjectsLocationsQueuesResumeCall {
 	c := &ProjectsLocationsQueuesResumeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4446,7 +3635,7 @@
 
 func (c *ProjectsLocationsQueuesResumeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4510,7 +3699,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Resume a queue.\n\nThis method resumes a queue after it has been\nPAUSED or\nDISABLED. The state of a queue is stored\nin the queue's state; after calling this method it\nwill be set to RUNNING.\n\nWARNING: Resuming many high-QPS queues at the same time can\nlead to target overloading. If you are resuming high-QPS\nqueues, follow the 500/50/5 pattern described in\n[Managing Cloud Tasks Scaling\nRisks](https://cloud.google.com/tasks/docs/manage-cloud-task-scaling).",
+	//   "description": "Resume a queue. This method resumes a queue after it has been PAUSED or DISABLED. The state of a queue is stored in the queue's state; after calling this method it will be set to RUNNING. WARNING: Resuming many high-QPS queues at the same time can lead to target overloading. If you are resuming high-QPS queues, follow the 500/50/5 pattern described in [Managing Cloud Tasks Scaling Risks](https://cloud.google.com/tasks/docs/manage-cloud-task-scaling).",
 	//   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:resume",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.resume",
@@ -4519,7 +3708,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
+	//       "description": "Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -4552,20 +3741,11 @@
 }
 
 // SetIamPolicy: Sets the access control policy for a Queue. Replaces
-// any existing
-// policy.
-//
-// Note: The Cloud Console does not check queue-level IAM permissions
-// yet.
-// Project-level permissions are required to use the Cloud
-// Console.
-//
-// Authorization requires the following
-// [Google IAM](https://cloud.google.com/iam) permission on the
-// specified
-// resource parent:
-//
-// * `cloudtasks.queues.setIamPolicy`
+// any existing policy. Note: The Cloud Console does not check
+// queue-level IAM permissions yet. Project-level permissions are
+// required to use the Cloud Console. Authorization requires the
+// following [Google IAM](https://cloud.google.com/iam) permission on
+// the specified resource parent: * `cloudtasks.queues.setIamPolicy`
 func (r *ProjectsLocationsQueuesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsQueuesSetIamPolicyCall {
 	c := &ProjectsLocationsQueuesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -4600,7 +3780,7 @@
 
 func (c *ProjectsLocationsQueuesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4664,7 +3844,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the access control policy for a Queue. Replaces any existing\npolicy.\n\nNote: The Cloud Console does not check queue-level IAM permissions yet.\nProject-level permissions are required to use the Cloud Console.\n\nAuthorization requires the following\n[Google IAM](https://cloud.google.com/iam) permission on the specified\nresource parent:\n\n* `cloudtasks.queues.setIamPolicy`",
+	//   "description": "Sets the access control policy for a Queue. Replaces any existing policy. Note: The Cloud Console does not check queue-level IAM permissions yet. Project-level permissions are required to use the Cloud Console. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission on the specified resource parent: * `cloudtasks.queues.setIamPolicy`",
 	//   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.setIamPolicy",
@@ -4673,7 +3853,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -4705,17 +3885,12 @@
 	header_                   http.Header
 }
 
-// TestIamPermissions: Returns permissions that a caller has on a
-// Queue.
-// 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.
+// TestIamPermissions: Returns permissions that a caller has on a Queue.
+// 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.
 func (r *ProjectsLocationsQueuesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsQueuesTestIamPermissionsCall {
 	c := &ProjectsLocationsQueuesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -4750,7 +3925,7 @@
 
 func (c *ProjectsLocationsQueuesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4814,7 +3989,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns permissions that a caller has on a Queue.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+	//   "description": "Returns permissions that a caller has on a Queue. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
 	//   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.testIamPermissions",
@@ -4823,7 +3998,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -4855,19 +4030,13 @@
 	header_                http.Header
 }
 
-// Acknowledge: Acknowledges a pull task.
-//
-// The worker, that is, the entity that
-// leased this task must call this method
-// to indicate that the work associated with the task has finished.
-//
-// The worker must acknowledge a task within the
-// lease_duration or the lease
-// will expire and the task will become available to be leased
-// again. After the task is acknowledged, it will not be returned
-// by a later LeaseTasks,
-// GetTask, or
-// ListTasks.
+// Acknowledge: Acknowledges a pull task. The worker, that is, the
+// entity that leased this task must call this method to indicate that
+// the work associated with the task has finished. The worker must
+// acknowledge a task within the lease_duration or the lease will expire
+// and the task will become available to be leased again. After the task
+// is acknowledged, it will not be returned by a later LeaseTasks,
+// GetTask, or ListTasks.
 func (r *ProjectsLocationsQueuesTasksService) Acknowledge(name string, acknowledgetaskrequest *AcknowledgeTaskRequest) *ProjectsLocationsQueuesTasksAcknowledgeCall {
 	c := &ProjectsLocationsQueuesTasksAcknowledgeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4902,7 +4071,7 @@
 
 func (c *ProjectsLocationsQueuesTasksAcknowledgeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4966,7 +4135,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Acknowledges a pull task.\n\nThe worker, that is, the entity that\nleased this task must call this method\nto indicate that the work associated with the task has finished.\n\nThe worker must acknowledge a task within the\nlease_duration or the lease\nwill expire and the task will become available to be leased\nagain. After the task is acknowledged, it will not be returned\nby a later LeaseTasks,\nGetTask, or\nListTasks.",
+	//   "description": "Acknowledges a pull task. The worker, that is, the entity that leased this task must call this method to indicate that the work associated with the task has finished. The worker must acknowledge a task within the lease_duration or the lease will expire and the task will become available to be leased again. After the task is acknowledged, it will not be returned by a later LeaseTasks, GetTask, or ListTasks.",
 	//   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}:acknowledge",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.tasks.acknowledge",
@@ -4975,7 +4144,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+	//       "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
 	//       "required": true,
@@ -5007,12 +4176,9 @@
 	header_            http.Header
 }
 
-// CancelLease: Cancel a pull task's lease.
-//
-// The worker can use this method to cancel a task's lease by
-// setting its schedule_time to now. This will
-// make the task available to be leased to the next caller
-// of
+// CancelLease: Cancel a pull task's lease. The worker can use this
+// method to cancel a task's lease by setting its schedule_time to now.
+// This will make the task available to be leased to the next caller of
 // LeaseTasks.
 func (r *ProjectsLocationsQueuesTasksService) CancelLease(name string, cancelleaserequest *CancelLeaseRequest) *ProjectsLocationsQueuesTasksCancelLeaseCall {
 	c := &ProjectsLocationsQueuesTasksCancelLeaseCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -5048,7 +4214,7 @@
 
 func (c *ProjectsLocationsQueuesTasksCancelLeaseCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5112,7 +4278,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Cancel a pull task's lease.\n\nThe worker can use this method to cancel a task's lease by\nsetting its schedule_time to now. This will\nmake the task available to be leased to the next caller of\nLeaseTasks.",
+	//   "description": "Cancel a pull task's lease. The worker can use this method to cancel a task's lease by setting its schedule_time to now. This will make the task available to be leased to the next caller of LeaseTasks.",
 	//   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}:cancelLease",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.tasks.cancelLease",
@@ -5121,7 +4287,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+	//       "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
 	//       "required": true,
@@ -5153,14 +4319,10 @@
 	header_           http.Header
 }
 
-// Create: Creates a task and adds it to a queue.
-//
-// Tasks cannot be updated after creation; there is no UpdateTask
-// command.
-//
-// * For App Engine queues, the maximum task size is
-//   100KB.
-// * For pull queues, the maximum task size is 1MB.
+// Create: Creates a task and adds it to a queue. Tasks cannot be
+// updated after creation; there is no UpdateTask command. * For App
+// Engine queues, the maximum task size is 100KB. * For pull queues, the
+// maximum task size is 1MB.
 func (r *ProjectsLocationsQueuesTasksService) Create(parent string, createtaskrequest *CreateTaskRequest) *ProjectsLocationsQueuesTasksCreateCall {
 	c := &ProjectsLocationsQueuesTasksCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -5195,7 +4357,7 @@
 
 func (c *ProjectsLocationsQueuesTasksCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5259,7 +4421,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a task and adds it to a queue.\n\nTasks cannot be updated after creation; there is no UpdateTask command.\n\n* For App Engine queues, the maximum task size is\n  100KB.\n* For pull queues, the maximum task size is 1MB.",
+	//   "description": "Creates a task and adds it to a queue. Tasks cannot be updated after creation; there is no UpdateTask command. * For App Engine queues, the maximum task size is 100KB. * For pull queues, the maximum task size is 1MB.",
 	//   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.tasks.create",
@@ -5268,7 +4430,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`\n\nThe queue must already exist.",
+	//       "description": "Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` The queue must already exist.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -5299,12 +4461,9 @@
 	header_    http.Header
 }
 
-// Delete: Deletes a task.
-//
-// A task can be deleted if it is scheduled or dispatched. A task
-// cannot be deleted if it has completed successfully or
-// permanently
-// failed.
+// Delete: Deletes a task. A task can be deleted if it is scheduled or
+// dispatched. A task cannot be deleted if it has completed successfully
+// or permanently failed.
 func (r *ProjectsLocationsQueuesTasksService) Delete(name string) *ProjectsLocationsQueuesTasksDeleteCall {
 	c := &ProjectsLocationsQueuesTasksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -5338,7 +4497,7 @@
 
 func (c *ProjectsLocationsQueuesTasksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5397,7 +4556,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a task.\n\nA task can be deleted if it is scheduled or dispatched. A task\ncannot be deleted if it has completed successfully or permanently\nfailed.",
+	//   "description": "Deletes a task. A task can be deleted if it is scheduled or dispatched. A task cannot be deleted if it has completed successfully or permanently failed.",
 	//   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "cloudtasks.projects.locations.queues.tasks.delete",
@@ -5406,7 +4565,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+	//       "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
 	//       "required": true,
@@ -5443,27 +4602,25 @@
 }
 
 // ResponseView sets the optional parameter "responseView": The
-// response_view specifies which subset of the Task will
-// be
-// returned.
-//
-// By default response_view is BASIC; not all
-// information is retrieved by default because some data, such
-// as
-// payloads, might be desirable to return only when needed because
-// of its large size or because of the sensitivity of data that
-// it
-// contains.
-//
-// Authorization for FULL requires
+// response_view specifies which subset of the Task will be returned. By
+// default response_view is BASIC; not all information is retrieved by
+// default because some data, such as payloads, might be desirable to
+// return only when needed because of its large size or because of the
+// sensitivity of data that it contains. Authorization for FULL requires
 // `cloudtasks.tasks.fullView` [Google
-// IAM](https://cloud.google.com/iam/)
-// permission on the Task resource.
+// IAM](https://cloud.google.com/iam/) permission on the Task resource.
 //
 // Possible values:
-//   "VIEW_UNSPECIFIED"
-//   "BASIC"
-//   "FULL"
+//   "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC.
+//   "BASIC" - The basic view omits fields which can be large or can
+// contain sensitive data. This view does not include the (payload in
+// AppEngineHttpRequest and payload in PullMessage). These payloads are
+// desirable to return only when needed, because they can be large and
+// because of the sensitivity of the data that you choose to store in
+// it.
+//   "FULL" - All information is returned. Authorization for FULL
+// requires `cloudtasks.tasks.fullView` [Google
+// IAM](https://cloud.google.com/iam/) permission on the Queue resource.
 func (c *ProjectsLocationsQueuesTasksGetCall) ResponseView(responseView string) *ProjectsLocationsQueuesTasksGetCall {
 	c.urlParams_.Set("responseView", responseView)
 	return c
@@ -5506,7 +4663,7 @@
 
 func (c *ProjectsLocationsQueuesTasksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5577,19 +4734,24 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+	//       "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "responseView": {
-	//       "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Task resource.",
+	//       "description": "The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource.",
 	//       "enum": [
 	//         "VIEW_UNSPECIFIED",
 	//         "BASIC",
 	//         "FULL"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Unspecified. Defaults to BASIC.",
+	//         "The basic view omits fields which can be large or can contain sensitive data. This view does not include the (payload in AppEngineHttpRequest and payload in PullMessage). These payloads are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+	//         "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -5616,29 +4778,16 @@
 	header_           http.Header
 }
 
-// Lease: Leases tasks from a pull queue for
-// lease_duration.
-//
-// This method is invoked by the worker to obtain a lease. The
-// worker must acknowledge the task via
-// AcknowledgeTask after they have
-// performed the work associated with the task.
-//
-// The payload is intended to store data that
-// the worker needs to perform the work associated with the task.
-// To
-// return the payloads in the response, set
-// response_view to
-// FULL.
-//
-// A maximum of 10 qps of LeaseTasks
-// requests are allowed per
-// queue. RESOURCE_EXHAUSTED
-// is returned when this limit is
-// exceeded. RESOURCE_EXHAUSTED
-// is also returned when
-// max_tasks_dispatched_per_second
-// is exceeded.
+// Lease: Leases tasks from a pull queue for lease_duration. This method
+// is invoked by the worker to obtain a lease. The worker must
+// acknowledge the task via AcknowledgeTask after they have performed
+// the work associated with the task. The payload is intended to store
+// data that the worker needs to perform the work associated with the
+// task. To return the payloads in the response, set response_view to
+// FULL. A maximum of 10 qps of LeaseTasks requests are allowed per
+// queue. RESOURCE_EXHAUSTED is returned when this limit is exceeded.
+// RESOURCE_EXHAUSTED is also returned when
+// max_tasks_dispatched_per_second is exceeded.
 func (r *ProjectsLocationsQueuesTasksService) Lease(parent string, leasetasksrequest *LeaseTasksRequest) *ProjectsLocationsQueuesTasksLeaseCall {
 	c := &ProjectsLocationsQueuesTasksLeaseCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -5673,7 +4822,7 @@
 
 func (c *ProjectsLocationsQueuesTasksLeaseCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5737,7 +4886,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Leases tasks from a pull queue for\nlease_duration.\n\nThis method is invoked by the worker to obtain a lease. The\nworker must acknowledge the task via\nAcknowledgeTask after they have\nperformed the work associated with the task.\n\nThe payload is intended to store data that\nthe worker needs to perform the work associated with the task. To\nreturn the payloads in the response, set\nresponse_view to\nFULL.\n\nA maximum of 10 qps of LeaseTasks\nrequests are allowed per\nqueue. RESOURCE_EXHAUSTED\nis returned when this limit is\nexceeded. RESOURCE_EXHAUSTED\nis also returned when\nmax_tasks_dispatched_per_second\nis exceeded.",
+	//   "description": "Leases tasks from a pull queue for lease_duration. This method is invoked by the worker to obtain a lease. The worker must acknowledge the task via AcknowledgeTask after they have performed the work associated with the task. The payload is intended to store data that the worker needs to perform the work associated with the task. To return the payloads in the response, set response_view to FULL. A maximum of 10 qps of LeaseTasks requests are allowed per queue. RESOURCE_EXHAUSTED is returned when this limit is exceeded. RESOURCE_EXHAUSTED is also returned when max_tasks_dispatched_per_second is exceeded.",
 	//   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks:lease",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.tasks.lease",
@@ -5746,7 +4895,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
+	//       "description": "Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -5778,77 +4927,57 @@
 	header_      http.Header
 }
 
-// List: Lists the tasks in a queue.
-//
-// By default, only the BASIC view is retrieved
-// due to performance considerations;
-// response_view controls the
-// subset of information which is returned.
-//
-// The tasks may be returned in any order. The ordering may change at
-// any
-// time.
+// List: Lists the tasks in a queue. By default, only the BASIC view is
+// retrieved due to performance considerations; response_view controls
+// the subset of information which is returned. The tasks may be
+// returned in any order. The ordering may change at any time.
 func (r *ProjectsLocationsQueuesTasksService) List(parent string) *ProjectsLocationsQueuesTasksListCall {
 	c := &ProjectsLocationsQueuesTasksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
 	return c
 }
 
-// PageSize sets the optional parameter "pageSize": Maximum page
-// size.
-//
+// PageSize sets the optional parameter "pageSize": Maximum page size.
 // Fewer tasks than requested might be returned, even if more tasks
-// exist; use
-// next_page_token in the response to
-// determine if more tasks exist.
-//
-// The maximum page size is 1000. If unspecified, the page size will be
-// the
-// maximum.
+// exist; use next_page_token in the response to determine if more tasks
+// exist. The maximum page size is 1000. If unspecified, the page size
+// will be the maximum.
 func (c *ProjectsLocationsQueuesTasksListCall) PageSize(pageSize int64) *ProjectsLocationsQueuesTasksListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": A token
-// identifying the page of results to return.
-//
-// To request the first page results, page_token must be empty.
-// To
-// request the next page of results, page_token must be the value
-// of
-// next_page_token returned
-// from the previous call to ListTasks
-// method.
-//
-// The page token is valid for only 2 hours.
+// identifying the page of results to return. To request the first page
+// results, page_token must be empty. To request the next page of
+// results, page_token must be the value of next_page_token returned
+// from the previous call to ListTasks method. The page token is valid
+// for only 2 hours.
 func (c *ProjectsLocationsQueuesTasksListCall) PageToken(pageToken string) *ProjectsLocationsQueuesTasksListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
 }
 
 // ResponseView sets the optional parameter "responseView": The
-// response_view specifies which subset of the Task will
-// be
-// returned.
-//
-// By default response_view is BASIC; not all
-// information is retrieved by default because some data, such
-// as
-// payloads, might be desirable to return only when needed because
-// of its large size or because of the sensitivity of data that
-// it
-// contains.
-//
-// Authorization for FULL requires
+// response_view specifies which subset of the Task will be returned. By
+// default response_view is BASIC; not all information is retrieved by
+// default because some data, such as payloads, might be desirable to
+// return only when needed because of its large size or because of the
+// sensitivity of data that it contains. Authorization for FULL requires
 // `cloudtasks.tasks.fullView` [Google
-// IAM](https://cloud.google.com/iam/)
-// permission on the Task resource.
+// IAM](https://cloud.google.com/iam/) permission on the Task resource.
 //
 // Possible values:
-//   "VIEW_UNSPECIFIED"
-//   "BASIC"
-//   "FULL"
+//   "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC.
+//   "BASIC" - The basic view omits fields which can be large or can
+// contain sensitive data. This view does not include the (payload in
+// AppEngineHttpRequest and payload in PullMessage). These payloads are
+// desirable to return only when needed, because they can be large and
+// because of the sensitivity of the data that you choose to store in
+// it.
+//   "FULL" - All information is returned. Authorization for FULL
+// requires `cloudtasks.tasks.fullView` [Google
+// IAM](https://cloud.google.com/iam/) permission on the Queue resource.
 func (c *ProjectsLocationsQueuesTasksListCall) ResponseView(responseView string) *ProjectsLocationsQueuesTasksListCall {
 	c.urlParams_.Set("responseView", responseView)
 	return c
@@ -5891,7 +5020,7 @@
 
 func (c *ProjectsLocationsQueuesTasksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5953,7 +5082,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists the tasks in a queue.\n\nBy default, only the BASIC view is retrieved\ndue to performance considerations;\nresponse_view controls the\nsubset of information which is returned.\n\nThe tasks may be returned in any order. The ordering may change at any\ntime.",
+	//   "description": "Lists the tasks in a queue. By default, only the BASIC view is retrieved due to performance considerations; response_view controls the subset of information which is returned. The tasks may be returned in any order. The ordering may change at any time.",
 	//   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks",
 	//   "httpMethod": "GET",
 	//   "id": "cloudtasks.projects.locations.queues.tasks.list",
@@ -5962,30 +5091,35 @@
 	//   ],
 	//   "parameters": {
 	//     "pageSize": {
-	//       "description": "Maximum page size.\n\nFewer tasks than requested might be returned, even if more tasks exist; use\nnext_page_token in the response to\ndetermine if more tasks exist.\n\nThe maximum page size is 1000. If unspecified, the page size will be the\nmaximum.",
+	//       "description": "Maximum page size. Fewer tasks than requested might be returned, even if more tasks exist; use next_page_token in the response to determine if more tasks exist. The maximum page size is 1000. If unspecified, the page size will be the maximum.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "A token identifying the page of results to return.\n\nTo request the first page results, page_token must be empty. To\nrequest the next page of results, page_token must be the value of\nnext_page_token returned\nfrom the previous call to ListTasks\nmethod.\n\nThe page token is valid for only 2 hours.",
+	//       "description": "A token identifying the page of results to return. To request the first page results, page_token must be empty. To request the next page of results, page_token must be the value of next_page_token returned from the previous call to ListTasks method. The page token is valid for only 2 hours.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
+	//       "description": "Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "responseView": {
-	//       "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Task resource.",
+	//       "description": "The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource.",
 	//       "enum": [
 	//         "VIEW_UNSPECIFIED",
 	//         "BASIC",
 	//         "FULL"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Unspecified. Defaults to BASIC.",
+	//         "The basic view omits fields which can be large or can contain sensitive data. This view does not include the (payload in AppEngineHttpRequest and payload in PullMessage). These payloads are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+	//         "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -6033,11 +5167,9 @@
 	header_           http.Header
 }
 
-// RenewLease: Renew the current lease of a pull task.
-//
-// The worker can use this method to extend the lease by a new
-// duration, starting from now. The new task lease will be
-// returned in the task's schedule_time.
+// RenewLease: Renew the current lease of a pull task. The worker can
+// use this method to extend the lease by a new duration, starting from
+// now. The new task lease will be returned in the task's schedule_time.
 func (r *ProjectsLocationsQueuesTasksService) RenewLease(name string, renewleaserequest *RenewLeaseRequest) *ProjectsLocationsQueuesTasksRenewLeaseCall {
 	c := &ProjectsLocationsQueuesTasksRenewLeaseCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -6072,7 +5204,7 @@
 
 func (c *ProjectsLocationsQueuesTasksRenewLeaseCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6136,7 +5268,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Renew the current lease of a pull task.\n\nThe worker can use this method to extend the lease by a new\nduration, starting from now. The new task lease will be\nreturned in the task's schedule_time.",
+	//   "description": "Renew the current lease of a pull task. The worker can use this method to extend the lease by a new duration, starting from now. The new task lease will be returned in the task's schedule_time.",
 	//   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}:renewLease",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.tasks.renewLease",
@@ -6145,7 +5277,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+	//       "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
 	//       "required": true,
@@ -6177,38 +5309,20 @@
 	header_        http.Header
 }
 
-// Run: Forces a task to run now.
-//
-// When this method is called, Cloud Tasks will dispatch the task, even
-// if
-// the task is already running, the queue has reached its RateLimits
-// or
-// is PAUSED.
-//
-// This command is meant to be used for manual debugging. For
-// example, RunTask can be used to retry a failed
-// task after a fix has been made or to manually force a task to
-// be
-// dispatched now.
-//
-// The dispatched task is returned. That is, the task that is
-// returned
-// contains the status after the task is dispatched but
-// before the task is received by its target.
-//
-// If Cloud Tasks receives a successful response from the task's
-// target, then the task will be deleted; otherwise the
-// task's
-// schedule_time will be reset to the time that
-// RunTask was called plus the retry delay specified
-// in the queue's RetryConfig.
-//
-// RunTask returns
-// NOT_FOUND when it is called on a
-// task that has already succeeded or permanently failed.
-//
-// RunTask cannot be called on a
-// pull task.
+// Run: Forces a task to run now. When this method is called, Cloud
+// Tasks will dispatch the task, even if the task is already running,
+// the queue has reached its RateLimits or is PAUSED. This command is
+// meant to be used for manual debugging. For example, RunTask can be
+// used to retry a failed task after a fix has been made or to manually
+// force a task to be dispatched now. The dispatched task is returned.
+// That is, the task that is returned contains the status after the task
+// is dispatched but before the task is received by its target. If Cloud
+// Tasks receives a successful response from the task's target, then the
+// task will be deleted; otherwise the task's schedule_time will be
+// reset to the time that RunTask was called plus the retry delay
+// specified in the queue's RetryConfig. RunTask returns NOT_FOUND when
+// it is called on a task that has already succeeded or permanently
+// failed. RunTask cannot be called on a pull task.
 func (r *ProjectsLocationsQueuesTasksService) Run(name string, runtaskrequest *RunTaskRequest) *ProjectsLocationsQueuesTasksRunCall {
 	c := &ProjectsLocationsQueuesTasksRunCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -6243,7 +5357,7 @@
 
 func (c *ProjectsLocationsQueuesTasksRunCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6307,7 +5421,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Forces a task to run now.\n\nWhen this method is called, Cloud Tasks will dispatch the task, even if\nthe task is already running, the queue has reached its RateLimits or\nis PAUSED.\n\nThis command is meant to be used for manual debugging. For\nexample, RunTask can be used to retry a failed\ntask after a fix has been made or to manually force a task to be\ndispatched now.\n\nThe dispatched task is returned. That is, the task that is returned\ncontains the status after the task is dispatched but\nbefore the task is received by its target.\n\nIf Cloud Tasks receives a successful response from the task's\ntarget, then the task will be deleted; otherwise the task's\nschedule_time will be reset to the time that\nRunTask was called plus the retry delay specified\nin the queue's RetryConfig.\n\nRunTask returns\nNOT_FOUND when it is called on a\ntask that has already succeeded or permanently failed.\n\nRunTask cannot be called on a\npull task.",
+	//   "description": "Forces a task to run now. When this method is called, Cloud Tasks will dispatch the task, even if the task is already running, the queue has reached its RateLimits or is PAUSED. This command is meant to be used for manual debugging. For example, RunTask can be used to retry a failed task after a fix has been made or to manually force a task to be dispatched now. The dispatched task is returned. That is, the task that is returned contains the status after the task is dispatched but before the task is received by its target. If Cloud Tasks receives a successful response from the task's target, then the task will be deleted; otherwise the task's schedule_time will be reset to the time that RunTask was called plus the retry delay specified in the queue's RetryConfig. RunTask returns NOT_FOUND when it is called on a task that has already succeeded or permanently failed. RunTask cannot be called on a pull task.",
 	//   "flatPath": "v2beta2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}:run",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.tasks.run",
@@ -6316,7 +5430,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+	//       "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
 	//       "required": true,
diff --git a/cloudtasks/v2beta3/cloudtasks-api.json b/cloudtasks/v2beta3/cloudtasks-api.json
index dfb5374..c561fda 100644
--- a/cloudtasks/v2beta3/cloudtasks-api.json
+++ b/cloudtasks/v2beta3/cloudtasks-api.json
@@ -180,7 +180,7 @@
             "queues": {
               "methods": {
                 "create": {
-                  "description": "Creates a queue.\n\nQueues created with this method allow tasks to live for a maximum of 31\ndays. After a task is 31 days old, the task will be deleted regardless of whether\nit was dispatched or not.\n\nWARNING: Using this method may have unintended side effects if you are\nusing an App Engine `queue.yaml` or `queue.xml` file to manage your queues.\nRead\n[Overview of Queue Management and\nqueue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using\nthis method.",
+                  "description": "Creates a queue. Queues created with this method allow tasks to live for a maximum of 31 days. After a task is 31 days old, the task will be deleted regardless of whether it was dispatched or not. WARNING: Using this method may have unintended side effects if you are using an App Engine `queue.yaml` or `queue.xml` file to manage your queues. Read [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using this method.",
                   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues",
                   "httpMethod": "POST",
                   "id": "cloudtasks.projects.locations.queues.create",
@@ -189,7 +189,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Required. The location name in which the queue will be created.\nFor example: `projects/PROJECT_ID/locations/LOCATION_ID`\n\nThe list of allowed locations can be obtained by calling Cloud\nTasks' implementation of\nListLocations.",
+                      "description": "Required. The location name in which the queue will be created. For example: `projects/PROJECT_ID/locations/LOCATION_ID` The list of allowed locations can be obtained by calling Cloud Tasks' implementation of ListLocations.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -208,7 +208,7 @@
                   ]
                 },
                 "delete": {
-                  "description": "Deletes a queue.\n\nThis command will delete the queue even if it has tasks in it.\n\nNote: If you delete a queue, a queue with the same name can't be created\nfor 7 days.\n\nWARNING: Using this method may have unintended side effects if you are\nusing an App Engine `queue.yaml` or `queue.xml` file to manage your queues.\nRead\n[Overview of Queue Management and\nqueue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using\nthis method.",
+                  "description": "Deletes a queue. This command will delete the queue even if it has tasks in it. Note: If you delete a queue, a queue with the same name can't be created for 7 days. WARNING: Using this method may have unintended side effects if you are using an App Engine `queue.yaml` or `queue.xml` file to manage your queues. Read [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using this method.",
                   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}",
                   "httpMethod": "DELETE",
                   "id": "cloudtasks.projects.locations.queues.delete",
@@ -217,7 +217,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
+                      "description": "Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
@@ -242,7 +242,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The resource name of the queue. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
+                      "description": "Required. The resource name of the queue. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
@@ -258,7 +258,7 @@
                   ]
                 },
                 "getIamPolicy": {
-                  "description": "Gets the access control policy for a Queue.\nReturns an empty policy if the resource exists and does not have a policy\nset.\n\nAuthorization requires the following\n[Google IAM](https://cloud.google.com/iam) permission on the specified\nresource parent:\n\n* `cloudtasks.queues.getIamPolicy`",
+                  "description": "Gets the access control policy for a Queue. Returns an empty policy if the resource exists and does not have a policy set. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission on the specified resource parent: * `cloudtasks.queues.getIamPolicy`",
                   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:getIamPolicy",
                   "httpMethod": "POST",
                   "id": "cloudtasks.projects.locations.queues.getIamPolicy",
@@ -267,7 +267,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
@@ -286,7 +286,7 @@
                   ]
                 },
                 "list": {
-                  "description": "Lists queues.\n\nQueues are returned in lexicographical order.",
+                  "description": "Lists queues. Queues are returned in lexicographical order.",
                   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues",
                   "httpMethod": "GET",
                   "id": "cloudtasks.projects.locations.queues.list",
@@ -295,23 +295,23 @@
                   ],
                   "parameters": {
                     "filter": {
-                      "description": "`filter` can be used to specify a subset of queues. Any Queue\nfield can be used as a filter and several operators as supported.\nFor example: `\u003c=, \u003c, \u003e=, \u003e, !=, =, :`. The filter syntax is the same as\ndescribed in\n[Stackdriver's Advanced Logs\nFilters](https://cloud.google.com/logging/docs/view/advanced_filters).\n\nSample filter \"state: PAUSED\".\n\nNote that using filters might cause fewer queues than the\nrequested page_size to be returned.",
+                      "description": "`filter` can be used to specify a subset of queues. Any Queue field can be used as a filter and several operators as supported. For example: `\u003c=, \u003c, \u003e=, \u003e, !=, =, :`. The filter syntax is the same as described in [Stackdriver's Advanced Logs Filters](https://cloud.google.com/logging/docs/view/advanced_filters). Sample filter \"state: PAUSED\". Note that using filters might cause fewer queues than the requested page_size to be returned.",
                       "location": "query",
                       "type": "string"
                     },
                     "pageSize": {
-                      "description": "Requested page size.\n\nThe maximum page size is 9800. If unspecified, the page size will\nbe the maximum. Fewer queues than requested might be returned,\neven if more queues exist; use the\nnext_page_token in the\nresponse to determine if more queues exist.",
+                      "description": "Requested page size. The maximum page size is 9800. If unspecified, the page size will be the maximum. Fewer queues than requested might be returned, even if more queues exist; use the next_page_token in the response to determine if more queues exist.",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "A token identifying the page of results to return.\n\nTo request the first page results, page_token must be empty. To\nrequest the next page of results, page_token must be the value of\nnext_page_token returned\nfrom the previous call to ListQueues\nmethod. It is an error to switch the value of the\nfilter while iterating through pages.",
+                      "description": "A token identifying the page of results to return. To request the first page results, page_token must be empty. To request the next page of results, page_token must be the value of next_page_token returned from the previous call to ListQueues method. It is an error to switch the value of the filter while iterating through pages.",
                       "location": "query",
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The location name.\nFor example: `projects/PROJECT_ID/locations/LOCATION_ID`",
+                      "description": "Required. The location name. For example: `projects/PROJECT_ID/locations/LOCATION_ID`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -327,7 +327,7 @@
                   ]
                 },
                 "patch": {
-                  "description": "Updates a queue.\n\nThis method creates the queue if it does not exist and updates\nthe queue if it does exist.\n\nQueues created with this method allow tasks to live for a maximum of 31\ndays. After a task is 31 days old, the task will be deleted regardless of whether\nit was dispatched or not.\n\nWARNING: Using this method may have unintended side effects if you are\nusing an App Engine `queue.yaml` or `queue.xml` file to manage your queues.\nRead\n[Overview of Queue Management and\nqueue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using\nthis method.",
+                  "description": "Updates a queue. This method creates the queue if it does not exist and updates the queue if it does exist. Queues created with this method allow tasks to live for a maximum of 31 days. After a task is 31 days old, the task will be deleted regardless of whether it was dispatched or not. WARNING: Using this method may have unintended side effects if you are using an App Engine `queue.yaml` or `queue.xml` file to manage your queues. Read [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using this method.",
                   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}",
                   "httpMethod": "PATCH",
                   "id": "cloudtasks.projects.locations.queues.patch",
@@ -336,14 +336,14 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Caller-specified and required in CreateQueue,\nafter which it becomes output only.\n\nThe queue name.\n\nThe queue name must have the following format:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`\n\n* `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),\n   hyphens (-), colons (:), or periods (.).\n   For more information, see\n   [Identifying\n   projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)\n* `LOCATION_ID` is the canonical ID for the queue's location.\n   The list of available locations can be obtained by calling\n   ListLocations.\n   For more information, see https://cloud.google.com/about/locations/.\n* `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or\n  hyphens (-). The maximum length is 100 characters.",
+                      "description": "Caller-specified and required in CreateQueue, after which it becomes output only. The queue name. The queue name must have the following format: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens (-), colons (:), or periods (.). For more information, see [Identifying projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) * `LOCATION_ID` is the canonical ID for the queue's location. The list of available locations can be obtained by calling ListLocations. For more information, see https://cloud.google.com/about/locations/. * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or hyphens (-). The maximum length is 100 characters.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
                       "type": "string"
                     },
                     "updateMask": {
-                      "description": "A mask used to specify which fields of the queue are being updated.\n\nIf empty, then all fields will be updated.",
+                      "description": "A mask used to specify which fields of the queue are being updated. If empty, then all fields will be updated.",
                       "format": "google-fieldmask",
                       "location": "query",
                       "type": "string"
@@ -361,7 +361,7 @@
                   ]
                 },
                 "pause": {
-                  "description": "Pauses the queue.\n\nIf a queue is paused then the system will stop dispatching tasks\nuntil the queue is resumed via\nResumeQueue. Tasks can still be added\nwhen the queue is paused. A queue is paused if its\nstate is PAUSED.",
+                  "description": "Pauses the queue. If a queue is paused then the system will stop dispatching tasks until the queue is resumed via ResumeQueue. Tasks can still be added when the queue is paused. A queue is paused if its state is PAUSED.",
                   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:pause",
                   "httpMethod": "POST",
                   "id": "cloudtasks.projects.locations.queues.pause",
@@ -370,7 +370,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
+                      "description": "Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
@@ -389,7 +389,7 @@
                   ]
                 },
                 "purge": {
-                  "description": "Purges a queue by deleting all of its tasks.\n\nAll tasks created before this method is called are permanently deleted.\n\nPurge operations can take up to one minute to take effect. Tasks\nmight be dispatched before the purge takes effect. A purge is irreversible.",
+                  "description": "Purges a queue by deleting all of its tasks. All tasks created before this method is called are permanently deleted. Purge operations can take up to one minute to take effect. Tasks might be dispatched before the purge takes effect. A purge is irreversible.",
                   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:purge",
                   "httpMethod": "POST",
                   "id": "cloudtasks.projects.locations.queues.purge",
@@ -398,7 +398,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
+                      "description": "Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
@@ -417,7 +417,7 @@
                   ]
                 },
                 "resume": {
-                  "description": "Resume a queue.\n\nThis method resumes a queue after it has been\nPAUSED or\nDISABLED. The state of a queue is stored\nin the queue's state; after calling this method it\nwill be set to RUNNING.\n\nWARNING: Resuming many high-QPS queues at the same time can\nlead to target overloading. If you are resuming high-QPS\nqueues, follow the 500/50/5 pattern described in\n[Managing Cloud Tasks Scaling\nRisks](https://cloud.google.com/tasks/docs/manage-cloud-task-scaling).",
+                  "description": "Resume a queue. This method resumes a queue after it has been PAUSED or DISABLED. The state of a queue is stored in the queue's state; after calling this method it will be set to RUNNING. WARNING: Resuming many high-QPS queues at the same time can lead to target overloading. If you are resuming high-QPS queues, follow the 500/50/5 pattern described in [Managing Cloud Tasks Scaling Risks](https://cloud.google.com/tasks/docs/manage-cloud-task-scaling).",
                   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:resume",
                   "httpMethod": "POST",
                   "id": "cloudtasks.projects.locations.queues.resume",
@@ -426,7 +426,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
+                      "description": "Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
@@ -445,7 +445,7 @@
                   ]
                 },
                 "setIamPolicy": {
-                  "description": "Sets the access control policy for a Queue. Replaces any existing\npolicy.\n\nNote: The Cloud Console does not check queue-level IAM permissions yet.\nProject-level permissions are required to use the Cloud Console.\n\nAuthorization requires the following\n[Google IAM](https://cloud.google.com/iam) permission on the specified\nresource parent:\n\n* `cloudtasks.queues.setIamPolicy`",
+                  "description": "Sets the access control policy for a Queue. Replaces any existing policy. Note: The Cloud Console does not check queue-level IAM permissions yet. Project-level permissions are required to use the Cloud Console. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission on the specified resource parent: * `cloudtasks.queues.setIamPolicy`",
                   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:setIamPolicy",
                   "httpMethod": "POST",
                   "id": "cloudtasks.projects.locations.queues.setIamPolicy",
@@ -454,7 +454,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
@@ -473,7 +473,7 @@
                   ]
                 },
                 "testIamPermissions": {
-                  "description": "Returns permissions that a caller has on a Queue.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+                  "description": "Returns permissions that a caller has on a Queue. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
                   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:testIamPermissions",
                   "httpMethod": "POST",
                   "id": "cloudtasks.projects.locations.queues.testIamPermissions",
@@ -482,7 +482,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                       "required": true,
@@ -505,7 +505,7 @@
                 "tasks": {
                   "methods": {
                     "create": {
-                      "description": "Creates a task and adds it to a queue.\n\nTasks cannot be updated after creation; there is no UpdateTask command.\n\n* The maximum task size is 100KB.",
+                      "description": "Creates a task and adds it to a queue. Tasks cannot be updated after creation; there is no UpdateTask command. * The maximum task size is 100KB.",
                       "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks",
                       "httpMethod": "POST",
                       "id": "cloudtasks.projects.locations.queues.tasks.create",
@@ -514,7 +514,7 @@
                       ],
                       "parameters": {
                         "parent": {
-                          "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`\n\nThe queue must already exist.",
+                          "description": "Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` The queue must already exist.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                           "required": true,
@@ -533,7 +533,7 @@
                       ]
                     },
                     "delete": {
-                      "description": "Deletes a task.\n\nA task can be deleted if it is scheduled or dispatched. A task\ncannot be deleted if it has executed successfully or permanently\nfailed.",
+                      "description": "Deletes a task. A task can be deleted if it is scheduled or dispatched. A task cannot be deleted if it has executed successfully or permanently failed.",
                       "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}",
                       "httpMethod": "DELETE",
                       "id": "cloudtasks.projects.locations.queues.tasks.delete",
@@ -542,7 +542,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+                          "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
                           "required": true,
@@ -567,19 +567,24 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+                          "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
                         "responseView": {
-                          "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Task resource.",
+                          "description": "The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource.",
                           "enum": [
                             "VIEW_UNSPECIFIED",
                             "BASIC",
                             "FULL"
                           ],
+                          "enumDescriptions": [
+                            "Unspecified. Defaults to BASIC.",
+                            "The basic view omits fields which can be large or can contain sensitive data. This view does not include the body in AppEngineHttpRequest. Bodies are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+                            "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
+                          ],
                           "location": "query",
                           "type": "string"
                         }
@@ -593,7 +598,7 @@
                       ]
                     },
                     "list": {
-                      "description": "Lists the tasks in a queue.\n\nBy default, only the BASIC view is retrieved\ndue to performance considerations;\nresponse_view controls the\nsubset of information which is returned.\n\nThe tasks may be returned in any order. The ordering may change at any\ntime.",
+                      "description": "Lists the tasks in a queue. By default, only the BASIC view is retrieved due to performance considerations; response_view controls the subset of information which is returned. The tasks may be returned in any order. The ordering may change at any time.",
                       "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks",
                       "httpMethod": "GET",
                       "id": "cloudtasks.projects.locations.queues.tasks.list",
@@ -602,30 +607,35 @@
                       ],
                       "parameters": {
                         "pageSize": {
-                          "description": "Maximum page size.\n\nFewer tasks than requested might be returned, even if more tasks exist; use\nnext_page_token in the response to\ndetermine if more tasks exist.\n\nThe maximum page size is 1000. If unspecified, the page size will be the\nmaximum.",
+                          "description": "Maximum page size. Fewer tasks than requested might be returned, even if more tasks exist; use next_page_token in the response to determine if more tasks exist. The maximum page size is 1000. If unspecified, the page size will be the maximum.",
                           "format": "int32",
                           "location": "query",
                           "type": "integer"
                         },
                         "pageToken": {
-                          "description": "A token identifying the page of results to return.\n\nTo request the first page results, page_token must be empty. To\nrequest the next page of results, page_token must be the value of\nnext_page_token returned\nfrom the previous call to ListTasks\nmethod.\n\nThe page token is valid for only 2 hours.",
+                          "description": "A token identifying the page of results to return. To request the first page results, page_token must be empty. To request the next page of results, page_token must be the value of next_page_token returned from the previous call to ListTasks method. The page token is valid for only 2 hours.",
                           "location": "query",
                           "type": "string"
                         },
                         "parent": {
-                          "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
+                          "description": "Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
                         "responseView": {
-                          "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Task resource.",
+                          "description": "The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource.",
                           "enum": [
                             "VIEW_UNSPECIFIED",
                             "BASIC",
                             "FULL"
                           ],
+                          "enumDescriptions": [
+                            "Unspecified. Defaults to BASIC.",
+                            "The basic view omits fields which can be large or can contain sensitive data. This view does not include the body in AppEngineHttpRequest. Bodies are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+                            "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
+                          ],
                           "location": "query",
                           "type": "string"
                         }
@@ -639,7 +649,7 @@
                       ]
                     },
                     "run": {
-                      "description": "Forces a task to run now.\n\nWhen this method is called, Cloud Tasks will dispatch the task, even if\nthe task is already running, the queue has reached its RateLimits or\nis PAUSED.\n\nThis command is meant to be used for manual debugging. For\nexample, RunTask can be used to retry a failed\ntask after a fix has been made or to manually force a task to be\ndispatched now.\n\nThe dispatched task is returned. That is, the task that is returned\ncontains the status after the task is dispatched but\nbefore the task is received by its target.\n\nIf Cloud Tasks receives a successful response from the task's\ntarget, then the task will be deleted; otherwise the task's\nschedule_time will be reset to the time that\nRunTask was called plus the retry delay specified\nin the queue's RetryConfig.\n\nRunTask returns\nNOT_FOUND when it is called on a\ntask that has already succeeded or permanently failed.",
+                      "description": "Forces a task to run now. When this method is called, Cloud Tasks will dispatch the task, even if the task is already running, the queue has reached its RateLimits or is PAUSED. This command is meant to be used for manual debugging. For example, RunTask can be used to retry a failed task after a fix has been made or to manually force a task to be dispatched now. The dispatched task is returned. That is, the task that is returned contains the status after the task is dispatched but before the task is received by its target. If Cloud Tasks receives a successful response from the task's target, then the task will be deleted; otherwise the task's schedule_time will be reset to the time that RunTask was called plus the retry delay specified in the queue's RetryConfig. RunTask returns NOT_FOUND when it is called on a task that has already succeeded or permanently failed.",
                       "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}:run",
                       "httpMethod": "POST",
                       "id": "cloudtasks.projects.locations.queues.tasks.run",
@@ -648,7 +658,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+                          "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
                           "required": true,
@@ -675,30 +685,30 @@
       }
     }
   },
-  "revision": "20200529",
+  "revision": "20200804",
   "rootUrl": "https://cloudtasks.googleapis.com/",
   "schemas": {
     "AppEngineHttpQueue": {
-      "description": "App Engine HTTP queue.\n\nThe task will be delivered to the App Engine application hostname\nspecified by its AppEngineHttpQueue and AppEngineHttpRequest.\nThe documentation for AppEngineHttpRequest explains how the\ntask's host URL is constructed.\n\nUsing AppEngineHttpQueue requires\n[`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)\nGoogle IAM permission for the project\nand the following scope:\n\n`https://www.googleapis.com/auth/cloud-platform`",
+      "description": "App Engine HTTP queue. The task will be delivered to the App Engine application hostname specified by its AppEngineHttpQueue and AppEngineHttpRequest. The documentation for AppEngineHttpRequest explains how the task's host URL is constructed. Using AppEngineHttpQueue requires [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control) Google IAM permission for the project and the following scope: `https://www.googleapis.com/auth/cloud-platform`",
       "id": "AppEngineHttpQueue",
       "properties": {
         "appEngineRoutingOverride": {
           "$ref": "AppEngineRouting",
-          "description": "Overrides for the\ntask-level app_engine_routing.\n\nIf set, `app_engine_routing_override` is used for all tasks in\nthe queue, no matter what the setting is for the\ntask-level app_engine_routing."
+          "description": "Overrides for the task-level app_engine_routing. If set, `app_engine_routing_override` is used for all tasks in the queue, no matter what the setting is for the task-level app_engine_routing."
         }
       },
       "type": "object"
     },
     "AppEngineHttpRequest": {
-      "description": "App Engine HTTP request.\n\nThe message defines the HTTP request that is sent to an App Engine app when\nthe task is dispatched.\n\nUsing AppEngineHttpRequest requires\n[`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control)\nGoogle IAM permission for the project\nand the following scope:\n\n`https://www.googleapis.com/auth/cloud-platform`\n\nThe task will be delivered to the App Engine app which belongs to the same\nproject as the queue. For more information, see\n[How Requests are\nRouted](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)\nand how routing is affected by\n[dispatch\nfiles](https://cloud.google.com/appengine/docs/python/config/dispatchref).\nTraffic is encrypted during transport and never leaves Google datacenters.\nBecause this traffic is carried over a communication mechanism internal to\nGoogle, you cannot explicitly set the protocol (for example, HTTP or HTTPS).\nThe request to the handler, however, will appear to have used the HTTP\nprotocol.\n\nThe AppEngineRouting used to construct the URL that the task is\ndelivered to can be set at the queue-level or task-level:\n\n* If set,\n  app_engine_routing_override\n  is used for all tasks in the queue, no matter what the setting\n  is for the\n  task-level app_engine_routing.\n\n\nThe `url` that the task will be sent to is:\n\n* `url =` host `+`\n  relative_uri\n\nTasks can be dispatched to secure app handlers, unsecure app handlers, and\nURIs restricted with\n[`login:\nadmin`](https://cloud.google.com/appengine/docs/standard/python/config/appref).\nBecause tasks are not run as any user, they cannot be dispatched to URIs\nrestricted with\n[`login:\nrequired`](https://cloud.google.com/appengine/docs/standard/python/config/appref)\nTask dispatches also do not follow redirects.\n\nThe task attempt has succeeded if the app's request handler returns an HTTP\nresponse code in the range [`200` - `299`]. The task attempt has failed if\nthe app's handler returns a non-2xx response code or Cloud Tasks does\nnot receive response before the deadline. Failed\ntasks will be retried according to the\nretry configuration. `503` (Service Unavailable) is\nconsidered an App Engine system error instead of an application error and\nwill cause Cloud Tasks' traffic congestion control to temporarily throttle\nthe queue's dispatches. Unlike other types of task targets, a `429` (Too Many\nRequests) response from an app handler does not cause traffic congestion\ncontrol to throttle the queue.",
+      "description": "App Engine HTTP request. The message defines the HTTP request that is sent to an App Engine app when the task is dispatched. Using AppEngineHttpRequest requires [`appengine.applications.get`](https://cloud.google.com/appengine/docs/admin-api/access-control) Google IAM permission for the project and the following scope: `https://www.googleapis.com/auth/cloud-platform` The task will be delivered to the App Engine app which belongs to the same project as the queue. For more information, see [How Requests are Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed) and how routing is affected by [dispatch files](https://cloud.google.com/appengine/docs/python/config/dispatchref). Traffic is encrypted during transport and never leaves Google datacenters. Because this traffic is carried over a communication mechanism internal to Google, you cannot explicitly set the protocol (for example, HTTP or HTTPS). The request to the handler, however, will appear to have used the HTTP protocol. The AppEngineRouting used to construct the URL that the task is delivered to can be set at the queue-level or task-level: * If set, app_engine_routing_override is used for all tasks in the queue, no matter what the setting is for the task-level app_engine_routing. The `url` that the task will be sent to is: * `url =` host `+` relative_uri Tasks can be dispatched to secure app handlers, unsecure app handlers, and URIs restricted with [`login: admin`](https://cloud.google.com/appengine/docs/standard/python/config/appref). Because tasks are not run as any user, they cannot be dispatched to URIs restricted with [`login: required`](https://cloud.google.com/appengine/docs/standard/python/config/appref) Task dispatches also do not follow redirects. The task attempt has succeeded if the app's request handler returns an HTTP response code in the range [`200` - `299`]. The task attempt has failed if the app's handler returns a non-2xx response code or Cloud Tasks does not receive response before the deadline. Failed tasks will be retried according to the retry configuration. `503` (Service Unavailable) is considered an App Engine system error instead of an application error and will cause Cloud Tasks' traffic congestion control to temporarily throttle the queue's dispatches. Unlike other types of task targets, a `429` (Too Many Requests) response from an app handler does not cause traffic congestion control to throttle the queue.",
       "id": "AppEngineHttpRequest",
       "properties": {
         "appEngineRouting": {
           "$ref": "AppEngineRouting",
-          "description": "Task-level setting for App Engine routing.\n\nIf set,\napp_engine_routing_override\nis used for all tasks in the queue, no matter what the setting is for the\ntask-level app_engine_routing."
+          "description": "Task-level setting for App Engine routing. If set, app_engine_routing_override is used for all tasks in the queue, no matter what the setting is for the task-level app_engine_routing."
         },
         "body": {
-          "description": "HTTP request body.\n\nA request body is allowed only if the HTTP method is POST or PUT. It is\nan error to set a body on a task with an incompatible HttpMethod.",
+          "description": "HTTP request body. A request body is allowed only if the HTTP method is POST or PUT. It is an error to set a body on a task with an incompatible HttpMethod.",
           "format": "byte",
           "type": "string"
         },
@@ -706,11 +716,11 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "HTTP request headers.\n\nThis map contains the header field names and values.\nHeaders can be set when the\ntask is created.\nRepeated headers are not supported but a header value can contain commas.\n\nCloud Tasks sets some headers to default values:\n\n* `User-Agent`: By default, this header is\n  `\"AppEngine-Google; (+http://code.google.com/appengine)\"`.\n  This header can be modified, but Cloud Tasks will append\n  `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the\n  modified `User-Agent`.\n\nIf the task has a body, Cloud\nTasks sets the following headers:\n\n* `Content-Type`: By default, the `Content-Type` header is set to\n  `\"application/octet-stream\"`. The default can be overridden by explicitly\n  setting `Content-Type` to a particular media type when the\n  task is created.\n  For example, `Content-Type` can be set to `\"application/json\"`.\n* `Content-Length`: This is computed by Cloud Tasks. This value is\n  output only.   It cannot be changed.\n\nThe headers below cannot be set or overridden:\n\n* `Host`\n* `X-Google-*`\n* `X-AppEngine-*`\n\nIn addition, Cloud Tasks sets some headers when the task is dispatched,\nsuch as headers containing information about the task; see\n[request\nheaders](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers).\nThese headers are set only when the task is dispatched, so they are not\nvisible when the task is returned in a Cloud Tasks response.\n\nAlthough there is no specific limit for the maximum number of headers or\nthe size, there is a limit on the maximum size of the Task. For more\ninformation, see the CreateTask documentation.",
+          "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. Repeated headers are not supported but a header value can contain commas. Cloud Tasks sets some headers to default values: * `User-Agent`: By default, this header is `\"AppEngine-Google; (+http://code.google.com/appengine)\"`. This header can be modified, but Cloud Tasks will append `\"AppEngine-Google; (+http://code.google.com/appengine)\"` to the modified `User-Agent`. If the task has a body, Cloud Tasks sets the following headers: * `Content-Type`: By default, the `Content-Type` header is set to `\"application/octet-stream\"`. The default can be overridden by explicitly setting `Content-Type` to a particular media type when the task is created. For example, `Content-Type` can be set to `\"application/json\"`. * `Content-Length`: This is computed by Cloud Tasks. This value is output only. It cannot be changed. The headers below cannot be set or overridden: * `Host` * `X-Google-*` * `X-AppEngine-*` In addition, Cloud Tasks sets some headers when the task is dispatched, such as headers containing information about the task; see [request headers](https://cloud.google.com/tasks/docs/creating-appengine-handlers#reading_request_headers). These headers are set only when the task is dispatched, so they are not visible when the task is returned in a Cloud Tasks response. Although there is no specific limit for the maximum number of headers or the size, there is a limit on the maximum size of the Task. For more information, see the CreateTask documentation.",
           "type": "object"
         },
         "httpMethod": {
-          "description": "The HTTP method to use for the request. The default is POST.\n\nThe app's request handler for the task's target URL must be able to handle\nHTTP requests with this http_method, otherwise the task attempt fails with\nerror code 405 (Method Not Allowed). See [Writing a push task request\nhandler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler)\nand the App Engine documentation for your runtime on [How Requests are\nHandled](https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled).",
+          "description": "The HTTP method to use for the request. The default is POST. The app's request handler for the task's target URL must be able to handle HTTP requests with this http_method, otherwise the task attempt fails with error code 405 (Method Not Allowed). See [Writing a push task request handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/creating-handlers#writing_a_push_task_request_handler) and the App Engine documentation for your runtime on [How Requests are Handled](https://cloud.google.com/appengine/docs/standard/python3/how-requests-are-handled).",
           "enum": [
             "HTTP_METHOD_UNSPECIFIED",
             "POST",
@@ -734,30 +744,30 @@
           "type": "string"
         },
         "relativeUri": {
-          "description": "The relative URI.\n\nThe relative URI must begin with \"/\" and must be a valid HTTP relative URI.\nIt can contain a path and query string arguments.\nIf the relative URI is empty, then the root path \"/\" will be used.\nNo spaces are allowed, and the maximum length allowed is 2083 characters.",
+          "description": "The relative URI. The relative URI must begin with \"/\" and must be a valid HTTP relative URI. It can contain a path and query string arguments. If the relative URI is empty, then the root path \"/\" will be used. No spaces are allowed, and the maximum length allowed is 2083 characters.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "AppEngineRouting": {
-      "description": "App Engine Routing.\n\nDefines routing characteristics specific to App Engine - service, version,\nand instance.\n\nFor more information about services, versions, and instances see\n[An Overview of App\nEngine](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine),\n[Microservices Architecture on Google App\nEngine](https://cloud.google.com/appengine/docs/python/microservices-on-app-engine),\n[App Engine Standard request\nrouting](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed),\nand [App Engine Flex request\nrouting](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).",
+      "description": "App Engine Routing. Defines routing characteristics specific to App Engine - service, version, and instance. For more information about services, versions, and instances see [An Overview of App Engine](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine), [Microservices Architecture on Google App Engine](https://cloud.google.com/appengine/docs/python/microservices-on-app-engine), [App Engine Standard request routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed), and [App Engine Flex request routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).",
       "id": "AppEngineRouting",
       "properties": {
         "host": {
-          "description": "Output only. The host that the task is sent to.\n\nThe host is constructed from the domain name of the app associated with\nthe queue's project ID (for example \u003capp-id\u003e.appspot.com), and the\nservice, version,\nand instance. Tasks which were created using\nthe App Engine SDK might have a custom domain name.\n\nFor more information, see\n[How Requests are\nRouted](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed).",
+          "description": "Output only. The host that the task is sent to. The host is constructed from the domain name of the app associated with the queue's project ID (for example .appspot.com), and the service, version, and instance. Tasks which were created using the App Engine SDK might have a custom domain name. For more information, see [How Requests are Routed](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed).",
           "type": "string"
         },
         "instance": {
-          "description": "App instance.\n\nBy default, the task is sent to an instance which is available when\nthe task is attempted.\n\nRequests can only be sent to a specific instance if\n[manual scaling is used in App Engine\nStandard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes).\nApp Engine Flex does not support instances. For more information, see\n[App Engine Standard request\nrouting](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed)\nand [App Engine Flex request\nrouting](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).",
+          "description": "App instance. By default, the task is sent to an instance which is available when the task is attempted. Requests can only be sent to a specific instance if [manual scaling is used in App Engine Standard](https://cloud.google.com/appengine/docs/python/an-overview-of-app-engine?hl=en_US#scaling_types_and_instance_classes). App Engine Flex does not support instances. For more information, see [App Engine Standard request routing](https://cloud.google.com/appengine/docs/standard/python/how-requests-are-routed) and [App Engine Flex request routing](https://cloud.google.com/appengine/docs/flexible/python/how-requests-are-routed).",
           "type": "string"
         },
         "service": {
-          "description": "App service.\n\nBy default, the task is sent to the service which is the default\nservice when the task is attempted.\n\nFor some queues or tasks which were created using the App Engine\nTask Queue API, host is not parsable\ninto service,\nversion, and\ninstance. For example, some tasks\nwhich were created using the App Engine SDK use a custom domain\nname; custom domains are not parsed by Cloud Tasks. If\nhost is not parsable, then\nservice,\nversion, and\ninstance are the empty string.",
+          "description": "App service. By default, the task is sent to the service which is the default service when the task is attempted. For some queues or tasks which were created using the App Engine Task Queue API, host is not parsable into service, version, and instance. For example, some tasks which were created using the App Engine SDK use a custom domain name; custom domains are not parsed by Cloud Tasks. If host is not parsable, then service, version, and instance are the empty string.",
           "type": "string"
         },
         "version": {
-          "description": "App version.\n\nBy default, the task is sent to the version which is the default\nversion when the task is attempted.\n\nFor some queues or tasks which were created using the App Engine\nTask Queue API, host is not parsable\ninto service,\nversion, and\ninstance. For example, some tasks\nwhich were created using the App Engine SDK use a custom domain\nname; custom domains are not parsed by Cloud Tasks. If\nhost is not parsable, then\nservice,\nversion, and\ninstance are the empty string.",
+          "description": "App version. By default, the task is sent to the version which is the default version when the task is attempted. For some queues or tasks which were created using the App Engine Task Queue API, host is not parsable into service, version, and instance. For example, some tasks which were created using the App Engine SDK use a custom domain name; custom domains are not parsed by Cloud Tasks. If host is not parsable, then service, version, and instance are the empty string.",
           "type": "string"
         }
       },
@@ -768,21 +778,21 @@
       "id": "Attempt",
       "properties": {
         "dispatchTime": {
-          "description": "Output only. The time that this attempt was dispatched.\n\n`dispatch_time` will be truncated to the nearest microsecond.",
+          "description": "Output only. The time that this attempt was dispatched. `dispatch_time` will be truncated to the nearest microsecond.",
           "format": "google-datetime",
           "type": "string"
         },
         "responseStatus": {
           "$ref": "Status",
-          "description": "Output only. The response from the worker for this attempt.\n\nIf `response_time` is unset, then the task has not been attempted or is\ncurrently running and the `response_status` field is meaningless."
+          "description": "Output only. The response from the worker for this attempt. If `response_time` is unset, then the task has not been attempted or is currently running and the `response_status` field is meaningless."
         },
         "responseTime": {
-          "description": "Output only. The time that this attempt response was received.\n\n`response_time` will be truncated to the nearest microsecond.",
+          "description": "Output only. The time that this attempt response was received. `response_time` will be truncated to the nearest microsecond.",
           "format": "google-datetime",
           "type": "string"
         },
         "scheduleTime": {
-          "description": "Output only. The time that this attempt was scheduled.\n\n`schedule_time` will be truncated to the nearest microsecond.",
+          "description": "Output only. The time that this attempt was scheduled. `schedule_time` will be truncated to the nearest microsecond.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -795,17 +805,17 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
           "type": "string"
         }
       },
@@ -816,7 +826,7 @@
       "id": "CreateTaskRequest",
       "properties": {
         "responseView": {
-          "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Task resource.",
+          "description": "The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource.",
           "enum": [
             "VIEW_UNSPECIFIED",
             "BASIC",
@@ -824,42 +834,42 @@
           ],
           "enumDescriptions": [
             "Unspecified. Defaults to BASIC.",
-            "The basic view omits fields which can be large or can contain\nsensitive data.\n\nThis view does not include the\nbody in AppEngineHttpRequest.\nBodies are desirable to return only when needed, because they\ncan be large and because of the sensitivity of the data that you\nchoose to store in it.",
-            "All information is returned.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Queue resource."
+            "The basic view omits fields which can be large or can contain sensitive data. This view does not include the body in AppEngineHttpRequest. Bodies are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+            "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
           ],
           "type": "string"
         },
         "task": {
           "$ref": "Task",
-          "description": "Required. The task to add.\n\nTask names have the following format:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`.\nThe user can optionally specify a task name. If a\nname is not specified then the system will generate a random\nunique task id, which will be set in the task returned in the\nresponse.\n\nIf schedule_time is not set or is in the\npast then Cloud Tasks will set it to the current time.\n\nTask De-duplication:\n\nExplicitly specifying a task ID enables task de-duplication.  If\na task's ID is identical to that of an existing task or a task\nthat was deleted or executed recently then the call will fail\nwith ALREADY_EXISTS.\nIf the task's queue was created using Cloud Tasks, then another task with\nthe same name can't be created for ~1hour after the original task was\ndeleted or executed. If the task's queue was created using queue.yaml or\nqueue.xml, then another task with the same name can't be created\nfor ~9days after the original task was deleted or executed.\n\nBecause there is an extra lookup cost to identify duplicate task\nnames, these CreateTask calls have significantly\nincreased latency. Using hashed strings for the task id or for\nthe prefix of the task id is recommended. Choosing task ids that\nare sequential or have sequential prefixes, for example using a\ntimestamp, causes an increase in latency and error rates in all\ntask commands. The infrastructure relies on an approximately\nuniform distribution of task ids to store and serve tasks\nefficiently."
+          "description": "Required. The task to add. Task names have the following format: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`. The user can optionally specify a task name. If a name is not specified then the system will generate a random unique task id, which will be set in the task returned in the response. If schedule_time is not set or is in the past then Cloud Tasks will set it to the current time. Task De-duplication: Explicitly specifying a task ID enables task de-duplication. If a task's ID is identical to that of an existing task or a task that was deleted or executed recently then the call will fail with ALREADY_EXISTS. If the task's queue was created using Cloud Tasks, then another task with the same name can't be created for ~1hour after the original task was deleted or executed. If the task's queue was created using queue.yaml or queue.xml, then another task with the same name can't be created for ~9days after the original task was deleted or executed. Because there is an extra lookup cost to identify duplicate task names, these CreateTask calls have significantly increased latency. Using hashed strings for the task id or for the prefix of the task id is recommended. Choosing task ids that are sequential or have sequential prefixes, for example using a timestamp, causes an increase in latency and error rates in all task commands. The infrastructure relies on an approximately uniform distribution of task ids to store and serve tasks efficiently."
         }
       },
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
     },
     "Expr": {
-      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
+      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
       "id": "Expr",
       "properties": {
         "description": {
-          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
+          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
           "type": "string"
         },
         "expression": {
-          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
+          "description": "Textual representation of an expression in Common Expression Language syntax.",
           "type": "string"
         },
         "location": {
-          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
+          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
           "type": "string"
         },
         "title": {
-          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
+          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
           "type": "string"
         }
       },
@@ -871,7 +881,7 @@
       "properties": {
         "options": {
           "$ref": "GetPolicyOptions",
-          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`."
+          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`."
         }
       },
       "type": "object"
@@ -881,7 +891,7 @@
       "id": "GetPolicyOptions",
       "properties": {
         "requestedPolicyVersion": {
-          "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -889,11 +899,11 @@
       "type": "object"
     },
     "HttpRequest": {
-      "description": "HTTP request.\n\nThe task will be pushed to the worker as an HTTP request. If the worker\nor the redirected worker acknowledges the task by returning a successful HTTP\nresponse code ([`200` - `299`]), the task will be removed from the queue. If\nany other HTTP response code is returned or no response is received, the\ntask will be retried according to the following:\n\n* User-specified throttling: retry configuration,\n  rate limits, and the queue's state.\n\n* System throttling: To prevent the worker from overloading, Cloud Tasks may\n  temporarily reduce the queue's effective rate. User-specified settings\n  will not be changed.\n\n System throttling happens because:\n\n  * Cloud Tasks backs off on all errors. Normally the backoff specified in\n    rate limits will be used. But if the worker returns\n    `429` (Too Many Requests), `503` (Service Unavailable), or the rate of\n    errors is high, Cloud Tasks will use a higher backoff rate. The retry\n    specified in the `Retry-After` HTTP response header is considered.\n\n  * To prevent traffic spikes and to smooth sudden increases in traffic,\n    dispatches ramp up slowly when the queue is newly created or idle and\n    if large numbers of tasks suddenly become available to dispatch (due to\n    spikes in create task rates, the queue being unpaused, or many tasks\n    that are scheduled at the same time).",
+      "description": "HTTP request. The task will be pushed to the worker as an HTTP request. If the worker or the redirected worker acknowledges the task by returning a successful HTTP response code ([`200` - `299`]), the task will be removed from the queue. If any other HTTP response code is returned or no response is received, the task will be retried according to the following: * User-specified throttling: retry configuration, rate limits, and the queue's state. * System throttling: To prevent the worker from overloading, Cloud Tasks may temporarily reduce the queue's effective rate. User-specified settings will not be changed. System throttling happens because: * Cloud Tasks backs off on all errors. Normally the backoff specified in rate limits will be used. But if the worker returns `429` (Too Many Requests), `503` (Service Unavailable), or the rate of errors is high, Cloud Tasks will use a higher backoff rate. The retry specified in the `Retry-After` HTTP response header is considered. * To prevent traffic spikes and to smooth sudden increases in traffic, dispatches ramp up slowly when the queue is newly created or idle and if large numbers of tasks suddenly become available to dispatch (due to spikes in create task rates, the queue being unpaused, or many tasks that are scheduled at the same time).",
       "id": "HttpRequest",
       "properties": {
         "body": {
-          "description": "HTTP request body.\n\nA request body is allowed only if the\nHTTP method is POST, PUT, or PATCH. It is an\nerror to set body on a task with an incompatible HttpMethod.",
+          "description": "HTTP request body. A request body is allowed only if the HTTP method is POST, PUT, or PATCH. It is an error to set body on a task with an incompatible HttpMethod.",
           "format": "byte",
           "type": "string"
         },
@@ -901,7 +911,7 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "HTTP request headers.\n\nThis map contains the header field names and values.\nHeaders can be set when the\ntask is created.\n\nThese headers represent a subset of the headers that will accompany the\ntask's HTTP request. Some HTTP request headers will be ignored or replaced.\n\nA partial list of headers that will be ignored or replaced is:\n\n* Host: This will be computed by Cloud Tasks and derived from\n  HttpRequest.url.\n* Content-Length: This will be computed by Cloud Tasks.\n* User-Agent: This will be set to `\"Google-Cloud-Tasks\"`.\n* X-Google-*: Google use only.\n* X-AppEngine-*: Google use only.\n\n`Content-Type` won't be set by Cloud Tasks. You can explicitly set\n`Content-Type` to a media type when the\n task is created.\n For example, `Content-Type` can be set to `\"application/octet-stream\"` or\n `\"application/json\"`.\n\nHeaders which can have multiple values (according to RFC2616) can be\nspecified using comma-separated values.\n\nThe size of the headers must be less than 80KB.",
+          "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `\"Google-Cloud-Tasks\"`. * X-Google-*: Google use only. * X-AppEngine-*: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.",
           "type": "object"
         },
         "httpMethod": {
@@ -930,14 +940,14 @@
         },
         "oauthToken": {
           "$ref": "OAuthToken",
-          "description": "If specified, an\n[OAuth token](https://developers.google.com/identity/protocols/OAuth2)\nwill be generated and attached as an `Authorization` header in the HTTP\nrequest.\n\nThis type of authorization should generally only be used when calling\nGoogle APIs hosted on *.googleapis.com."
+          "description": "If specified, an [OAuth token](https://developers.google.com/identity/protocols/OAuth2) will be generated and attached as an `Authorization` header in the HTTP request. This type of authorization should generally only be used when calling Google APIs hosted on *.googleapis.com."
         },
         "oidcToken": {
           "$ref": "OidcToken",
-          "description": "If specified, an\n[OIDC](https://developers.google.com/identity/protocols/OpenIDConnect)\ntoken will be generated and attached as an `Authorization` header in the\nHTTP request.\n\nThis type of authorization can be used for many scenarios, including\ncalling Cloud Run, or endpoints where you intend to validate the token\nyourself."
+          "description": "If specified, an [OIDC](https://developers.google.com/identity/protocols/OpenIDConnect) token will be generated and attached as an `Authorization` header in the HTTP request. This type of authorization can be used for many scenarios, including calling Cloud Run, or endpoints where you intend to validate the token yourself."
         },
         "url": {
-          "description": "Required. The full url path that the request will be sent to.\n\nThis string must begin with either \"http://\" or \"https://\". Some examples\nare: `http://acme.com` and `https://acme.com/sales:8080`. Cloud Tasks will\nencode some characters for safety and compatibility. The maximum allowed\nURL length is 2083 characters after encoding.\n\nThe `Location` header response from a redirect response [`300` - `399`]\nmay be followed. The redirect is not counted as a separate attempt.",
+          "description": "Required. The full url path that the request will be sent to. This string must begin with either \"http://\" or \"https://\". Some examples are: `http://acme.com` and `https://acme.com/sales:8080`. Cloud Tasks will encode some characters for safety and compatibility. The maximum allowed URL length is 2083 characters after encoding. The `Location` header response from a redirect response [`300` - `399`] may be followed. The redirect is not counted as a separate attempt.",
           "type": "string"
         }
       },
@@ -966,7 +976,7 @@
       "id": "ListQueuesResponse",
       "properties": {
         "nextPageToken": {
-          "description": "A token to retrieve next page of results.\n\nTo return the next page of results, call\nListQueues with this value as the\npage_token.\n\nIf the next_page_token is empty, there are no more results.\n\nThe page token is valid for only 2 hours.",
+          "description": "A token to retrieve next page of results. To return the next page of results, call ListQueues with this value as the page_token. If the next_page_token is empty, there are no more results. The page token is valid for only 2 hours.",
           "type": "string"
         },
         "queues": {
@@ -984,7 +994,7 @@
       "id": "ListTasksResponse",
       "properties": {
         "nextPageToken": {
-          "description": "A token to retrieve next page of results.\n\nTo return the next page of results, call\nListTasks with this value as the\npage_token.\n\nIf the next_page_token is empty, there are no more results.",
+          "description": "A token to retrieve next page of results. To return the next page of results, call ListTasks with this value as the page_token. If the next_page_token is empty, there are no more results.",
           "type": "string"
         },
         "tasks": {
@@ -1002,14 +1012,14 @@
       "id": "Location",
       "properties": {
         "displayName": {
-          "description": "The friendly name for this location, typically a nearby city name.\nFor example, \"Tokyo\".",
+          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
           "type": "string"
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Cross-service attributes for the location. For example\n\n    {\"cloud.googleapis.com/region\": \"us-east1\"}",
+          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
           "type": "object"
         },
         "locationId": {
@@ -1021,41 +1031,41 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "Service-specific metadata. For example the available capacity at the given\nlocation.",
+          "description": "Service-specific metadata. For example the available capacity at the given location.",
           "type": "object"
         },
         "name": {
-          "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`",
+          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
           "type": "string"
         }
       },
       "type": "object"
     },
     "OAuthToken": {
-      "description": "Contains information needed for generating an\n[OAuth token](https://developers.google.com/identity/protocols/OAuth2).\nThis type of authorization should generally only be used when calling Google\nAPIs hosted on *.googleapis.com.",
+      "description": "Contains information needed for generating an [OAuth token](https://developers.google.com/identity/protocols/OAuth2). This type of authorization should generally only be used when calling Google APIs hosted on *.googleapis.com.",
       "id": "OAuthToken",
       "properties": {
         "scope": {
-          "description": "OAuth scope to be used for generating OAuth access token.\nIf not specified, \"https://www.googleapis.com/auth/cloud-platform\"\nwill be used.",
+          "description": "OAuth scope to be used for generating OAuth access token. If not specified, \"https://www.googleapis.com/auth/cloud-platform\" will be used.",
           "type": "string"
         },
         "serviceAccountEmail": {
-          "description": "[Service account email](https://cloud.google.com/iam/docs/service-accounts)\nto be used for generating OAuth token.\nThe service account must be within the same project as the queue. The\ncaller must have iam.serviceAccounts.actAs permission for the service\naccount.",
+          "description": "[Service account email](https://cloud.google.com/iam/docs/service-accounts) to be used for generating OAuth token. The service account must be within the same project as the queue. The caller must have iam.serviceAccounts.actAs permission for the service account.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "OidcToken": {
-      "description": "Contains information needed for generating an\n[OpenID Connect\ntoken](https://developers.google.com/identity/protocols/OpenIDConnect).\nThis type of authorization can be used for many scenarios, including\ncalling Cloud Run, or endpoints where you intend to validate the token\nyourself.",
+      "description": "Contains information needed for generating an [OpenID Connect token](https://developers.google.com/identity/protocols/OpenIDConnect). This type of authorization can be used for many scenarios, including calling Cloud Run, or endpoints where you intend to validate the token yourself.",
       "id": "OidcToken",
       "properties": {
         "audience": {
-          "description": "Audience to be used when generating OIDC token. If not specified, the URI\nspecified in target will be used.",
+          "description": "Audience to be used when generating OIDC token. If not specified, the URI specified in target will be used.",
           "type": "string"
         },
         "serviceAccountEmail": {
-          "description": "[Service account email](https://cloud.google.com/iam/docs/service-accounts)\nto be used for generating OIDC token.\nThe service account must be within the same project as the queue. The\ncaller must have iam.serviceAccounts.actAs permission for the service\naccount.",
+          "description": "[Service account email](https://cloud.google.com/iam/docs/service-accounts) to be used for generating OIDC token. The service account must be within the same project as the queue. The caller must have iam.serviceAccounts.actAs permission for the service account.",
           "type": "string"
         }
       },
@@ -1068,23 +1078,23 @@
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\n            \"user:eve@example.com\"\n          ],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "bindings": {
-          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
+          "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.",
           "items": {
             "$ref": "Binding"
           },
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
           "format": "byte",
           "type": "string"
         },
         "version": {
-          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -1098,36 +1108,36 @@
       "type": "object"
     },
     "Queue": {
-      "description": "A queue is a container of related tasks. Queues are configured to manage\nhow those tasks are dispatched. Configurable properties include rate limits,\nretry options, queue types, and others.",
+      "description": "A queue is a container of related tasks. Queues are configured to manage how those tasks are dispatched. Configurable properties include rate limits, retry options, queue types, and others.",
       "id": "Queue",
       "properties": {
         "appEngineHttpQueue": {
           "$ref": "AppEngineHttpQueue",
-          "description": "AppEngineHttpQueue settings apply only to\nApp Engine tasks in this queue.\nHttp tasks are not affected by this proto."
+          "description": "AppEngineHttpQueue settings apply only to App Engine tasks in this queue. Http tasks are not affected by this proto."
         },
         "name": {
-          "description": "Caller-specified and required in CreateQueue,\nafter which it becomes output only.\n\nThe queue name.\n\nThe queue name must have the following format:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`\n\n* `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),\n   hyphens (-), colons (:), or periods (.).\n   For more information, see\n   [Identifying\n   projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)\n* `LOCATION_ID` is the canonical ID for the queue's location.\n   The list of available locations can be obtained by calling\n   ListLocations.\n   For more information, see https://cloud.google.com/about/locations/.\n* `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or\n  hyphens (-). The maximum length is 100 characters.",
+          "description": "Caller-specified and required in CreateQueue, after which it becomes output only. The queue name. The queue name must have the following format: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens (-), colons (:), or periods (.). For more information, see [Identifying projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) * `LOCATION_ID` is the canonical ID for the queue's location. The list of available locations can be obtained by calling ListLocations. For more information, see https://cloud.google.com/about/locations/. * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or hyphens (-). The maximum length is 100 characters.",
           "type": "string"
         },
         "purgeTime": {
-          "description": "Output only. The last time this queue was purged.\n\nAll tasks that were created before this time\nwere purged.\n\nA queue can be purged using PurgeQueue, the\n[App Engine Task Queue SDK, or the Cloud\nConsole](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_queue).\n\nPurge time will be truncated to the nearest microsecond. Purge\ntime will be unset if the queue has never been purged.",
+          "description": "Output only. The last time this queue was purged. All tasks that were created before this time were purged. A queue can be purged using PurgeQueue, the [App Engine Task Queue SDK, or the Cloud Console](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_queue). Purge time will be truncated to the nearest microsecond. Purge time will be unset if the queue has never been purged.",
           "format": "google-datetime",
           "type": "string"
         },
         "rateLimits": {
           "$ref": "RateLimits",
-          "description": "Rate limits for task dispatches.\n\nrate_limits and retry_config are\nrelated because they both control task attempts. However they control task\nattempts in different ways:\n\n* rate_limits controls the total rate of\n  dispatches from a queue (i.e. all traffic dispatched from the\n  queue, regardless of whether the dispatch is from a first\n  attempt or a retry).\n* retry_config controls what happens to\n  particular a task after its first attempt fails. That is,\n  retry_config controls task retries (the\n  second attempt, third attempt, etc).\n\nThe queue's actual dispatch rate is the result of:\n\n* Number of tasks in the queue\n* User-specified throttling: rate_limits,\n  retry_config, and the\n  queue's state.\n* System throttling due to `429` (Too Many Requests) or `503` (Service\n  Unavailable) responses from the worker, high error rates, or to smooth\n  sudden large traffic spikes."
+          "description": "Rate limits for task dispatches. rate_limits and retry_config are related because they both control task attempts. However they control task attempts in different ways: * rate_limits controls the total rate of dispatches from a queue (i.e. all traffic dispatched from the queue, regardless of whether the dispatch is from a first attempt or a retry). * retry_config controls what happens to particular a task after its first attempt fails. That is, retry_config controls task retries (the second attempt, third attempt, etc). The queue's actual dispatch rate is the result of: * Number of tasks in the queue * User-specified throttling: rate_limits, retry_config, and the queue's state. * System throttling due to `429` (Too Many Requests) or `503` (Service Unavailable) responses from the worker, high error rates, or to smooth sudden large traffic spikes."
         },
         "retryConfig": {
           "$ref": "RetryConfig",
-          "description": "Settings that determine the retry behavior.\n\n* For tasks created using Cloud Tasks: the queue-level retry settings\n  apply to all tasks in the queue that were created using Cloud Tasks.\n  Retry settings cannot be set on individual tasks.\n* For tasks created using the App Engine SDK: the queue-level retry\n  settings apply to all tasks in the queue which do not have retry settings\n  explicitly set on the task and were created by the App Engine SDK. See\n  [App Engine\n  documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks)."
+          "description": "Settings that determine the retry behavior. * For tasks created using Cloud Tasks: the queue-level retry settings apply to all tasks in the queue that were created using Cloud Tasks. Retry settings cannot be set on individual tasks. * For tasks created using the App Engine SDK: the queue-level retry settings apply to all tasks in the queue which do not have retry settings explicitly set on the task and were created by the App Engine SDK. See [App Engine documentation](https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/retrying-tasks)."
         },
         "stackdriverLoggingConfig": {
           "$ref": "StackdriverLoggingConfig",
-          "description": "Configuration options for writing logs to\n[Stackdriver Logging](https://cloud.google.com/logging/docs/). If this\nfield is unset, then no logs are written."
+          "description": "Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/). If this field is unset, then no logs are written."
         },
         "state": {
-          "description": "Output only. The state of the queue.\n\n`state` can only be changed by called\nPauseQueue,\nResumeQueue, or uploading\n[queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config/queueref).\nUpdateQueue cannot be used to change `state`.",
+          "description": "Output only. The state of the queue. `state` can only be changed by called PauseQueue, ResumeQueue, or uploading [queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config/queueref). UpdateQueue cannot be used to change `state`.",
           "enum": [
             "STATE_UNSPECIFIED",
             "RUNNING",
@@ -1136,14 +1146,14 @@
           ],
           "enumDescriptions": [
             "Unspecified state.",
-            "The queue is running. Tasks can be dispatched.\n\nIf the queue was created using Cloud Tasks and the queue has\nhad no activity (method calls or task dispatches) for 30 days,\nthe queue may take a few minutes to re-activate. Some method\ncalls may return NOT_FOUND and\ntasks may not be dispatched for a few minutes until the queue\nhas been re-activated.",
-            "Tasks are paused by the user. If the queue is paused then Cloud\nTasks will stop delivering tasks from it, but more tasks can\nstill be added to it by the user.",
-            "The queue is disabled.\n\nA queue becomes `DISABLED` when\n[queue.yaml](https://cloud.google.com/appengine/docs/python/config/queueref)\nor\n[queue.xml](https://cloud.google.com/appengine/docs/standard/java/config/queueref)\nis uploaded which does not contain the queue. You cannot directly disable\na queue.\n\nWhen a queue is disabled, tasks can still be added to a queue\nbut the tasks are not dispatched.\n\nTo permanently delete this queue and all of its tasks, call\nDeleteQueue."
+            "The queue is running. Tasks can be dispatched. If the queue was created using Cloud Tasks and the queue has had no activity (method calls or task dispatches) for 30 days, the queue may take a few minutes to re-activate. Some method calls may return NOT_FOUND and tasks may not be dispatched for a few minutes until the queue has been re-activated.",
+            "Tasks are paused by the user. If the queue is paused then Cloud Tasks will stop delivering tasks from it, but more tasks can still be added to it by the user.",
+            "The queue is disabled. A queue becomes `DISABLED` when [queue.yaml](https://cloud.google.com/appengine/docs/python/config/queueref) or [queue.xml](https://cloud.google.com/appengine/docs/standard/java/config/queueref) is uploaded which does not contain the queue. You cannot directly disable a queue. When a queue is disabled, tasks can still be added to a queue but the tasks are not dispatched. To permanently delete this queue and all of its tasks, call DeleteQueue."
           ],
           "type": "string"
         },
         "type": {
-          "description": "Immutable. The type of a queue (push or pull).\n\n`Queue.type` is an immutable property of the queue that is set at the queue\ncreation time. When left unspecified, the default value of `PUSH` is\nselected.",
+          "description": "Immutable. The type of a queue (push or pull). `Queue.type` is an immutable property of the queue that is set at the queue creation time. When left unspecified, the default value of `PUSH` is selected.",
           "enum": [
             "TYPE_UNSPECIFIED",
             "PULL",
@@ -1160,21 +1170,21 @@
       "type": "object"
     },
     "RateLimits": {
-      "description": "Rate limits.\n\nThis message determines the maximum rate that tasks can be dispatched by a\nqueue, regardless of whether the dispatch is a first task attempt or a retry.\n\nNote: The debugging command, RunTask, will run a task\neven if the queue has reached its RateLimits.",
+      "description": "Rate limits. This message determines the maximum rate that tasks can be dispatched by a queue, regardless of whether the dispatch is a first task attempt or a retry. Note: The debugging command, RunTask, will run a task even if the queue has reached its RateLimits.",
       "id": "RateLimits",
       "properties": {
         "maxBurstSize": {
-          "description": "Output only. The max burst size.\n\nMax burst size limits how fast tasks in queue are processed when\nmany tasks are in the queue and the rate is high. This field\nallows the queue to have a high rate so processing starts shortly\nafter a task is enqueued, but still limits resource usage when\nmany tasks are enqueued in a short period of time.\n\nThe [token bucket](https://wikipedia.org/wiki/Token_Bucket)\nalgorithm is used to control the rate of task dispatches. Each\nqueue has a token bucket that holds tokens, up to the maximum\nspecified by `max_burst_size`. Each time a task is dispatched, a\ntoken is removed from the bucket. Tasks will be dispatched until\nthe queue's bucket runs out of tokens. The bucket will be\ncontinuously refilled with new tokens based on\nmax_dispatches_per_second.\n\nCloud Tasks will pick the value of `max_burst_size` based on the\nvalue of\nmax_dispatches_per_second.\n\nFor App Engine queues that were created or updated using\n`queue.yaml/xml`, `max_burst_size` is equal to\n[bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size).\nSince `max_burst_size` is output only, if\nUpdateQueue is called on a queue\ncreated by `queue.yaml/xml`, `max_burst_size` will be reset based\non the value of\nmax_dispatches_per_second,\nregardless of whether\nmax_dispatches_per_second\nis updated.\n",
+          "description": "Output only. The max burst size. Max burst size limits how fast tasks in queue are processed when many tasks are in the queue and the rate is high. This field allows the queue to have a high rate so processing starts shortly after a task is enqueued, but still limits resource usage when many tasks are enqueued in a short period of time. The [token bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to control the rate of task dispatches. Each queue has a token bucket that holds tokens, up to the maximum specified by `max_burst_size`. Each time a task is dispatched, a token is removed from the bucket. Tasks will be dispatched until the queue's bucket runs out of tokens. The bucket will be continuously refilled with new tokens based on max_dispatches_per_second. Cloud Tasks will pick the value of `max_burst_size` based on the value of max_dispatches_per_second. For App Engine queues that were created or updated using `queue.yaml/xml`, `max_burst_size` is equal to [bucket_size](https://cloud.google.com/appengine/docs/standard/python/config/queueref#bucket_size). Since `max_burst_size` is output only, if UpdateQueue is called on a queue created by `queue.yaml/xml`, `max_burst_size` will be reset based on the value of max_dispatches_per_second, regardless of whether max_dispatches_per_second is updated. ",
           "format": "int32",
           "type": "integer"
         },
         "maxConcurrentDispatches": {
-          "description": "The maximum number of concurrent tasks that Cloud Tasks allows\nto be dispatched for this queue. After this threshold has been\nreached, Cloud Tasks stops dispatching tasks until the number of\nconcurrent requests decreases.\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\n\nThe maximum allowed value is 5,000.\n\n\nThis field has the same meaning as\n[max_concurrent_requests in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests).",
+          "description": "The maximum number of concurrent tasks that Cloud Tasks allows to be dispatched for this queue. After this threshold has been reached, Cloud Tasks stops dispatching tasks until the number of concurrent requests decreases. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 5,000. This field has the same meaning as [max_concurrent_requests in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#max_concurrent_requests).",
           "format": "int32",
           "type": "integer"
         },
         "maxDispatchesPerSecond": {
-          "description": "The maximum rate at which tasks are dispatched from this queue.\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\n* For App Engine queues, the maximum allowed value\n  is 500.\n\n\nThis field has the same meaning as\n[rate in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).",
+          "description": "The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).",
           "format": "double",
           "type": "number"
         }
@@ -1188,31 +1198,31 @@
       "type": "object"
     },
     "RetryConfig": {
-      "description": "Retry config.\n\nThese settings determine when a failed task attempt is retried.",
+      "description": "Retry config. These settings determine when a failed task attempt is retried.",
       "id": "RetryConfig",
       "properties": {
         "maxAttempts": {
-          "description": "Number of attempts per task.\n\nCloud Tasks will attempt the task `max_attempts` times (that is, if the\nfirst attempt fails, then there will be `max_attempts - 1` retries). Must\nbe \u003e= -1.\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\n-1 indicates unlimited attempts.\n\nThis field has the same meaning as\n[task_retry_limit in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
+          "description": "Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be \u003e= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
           "format": "int32",
           "type": "integer"
         },
         "maxBackoff": {
-          "description": "A task will be scheduled for retry between\nmin_backoff and\nmax_backoff duration after it fails,\nif the queue's RetryConfig specifies that the task should be\nretried.\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\n\n`max_backoff` will be truncated to the nearest second.\n\nThis field has the same meaning as\n[max_backoff_seconds in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
+          "description": "A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
           "format": "google-duration",
           "type": "string"
         },
         "maxDoublings": {
-          "description": "The time between retries will double `max_doublings` times.\n\nA task's retry interval starts at\nmin_backoff, then doubles\n`max_doublings` times, then increases linearly, and finally\nretries at intervals of\nmax_backoff up to\nmax_attempts times.\n\nFor example, if min_backoff is 10s,\nmax_backoff is 300s, and\n`max_doublings` is 3, then the a task will first be retried in\n10s. The retry interval will double three times, and then\nincrease linearly by 2^3 * 10s.  Finally, the task will retry at\nintervals of max_backoff until the\ntask has been attempted max_attempts\ntimes. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s,\n240s, 300s, 300s, ....\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\n\nThis field has the same meaning as\n[max_doublings in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
+          "description": "The time between retries will double `max_doublings` times. A task's retry interval starts at min_backoff, then doubles `max_doublings` times, then increases linearly, and finally retries at intervals of max_backoff up to max_attempts times. For example, if min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3, then the a task will first be retried in 10s. The retry interval will double three times, and then increase linearly by 2^3 * 10s. Finally, the task will retry at intervals of max_backoff until the task has been attempted max_attempts times. Thus, the requests will retry at 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_doublings in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
           "format": "int32",
           "type": "integer"
         },
         "maxRetryDuration": {
-          "description": "If positive, `max_retry_duration` specifies the time limit for\nretrying a failed task, measured from when the task was first\nattempted. Once `max_retry_duration` time has passed *and* the\ntask has been attempted max_attempts\ntimes, no further attempts will be made and the task will be\ndeleted.\n\nIf zero, then the task age is unlimited.\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\n\n`max_retry_duration` will be truncated to the nearest second.\n\nThis field has the same meaning as\n[task_age_limit in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
+          "description": "If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
           "format": "google-duration",
           "type": "string"
         },
         "minBackoff": {
-          "description": "A task will be scheduled for retry between\nmin_backoff and\nmax_backoff duration after it fails,\nif the queue's RetryConfig specifies that the task should be\nretried.\n\nIf unspecified when the queue is created, Cloud Tasks will pick the\ndefault.\n\n\n`min_backoff` will be truncated to the nearest second.\n\nThis field has the same meaning as\n[min_backoff_seconds in\nqueue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
+          "description": "A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).",
           "format": "google-duration",
           "type": "string"
         }
@@ -1220,11 +1230,11 @@
       "type": "object"
     },
     "RunTaskRequest": {
-      "description": "Request message for forcing a task to run now using\nRunTask.",
+      "description": "Request message for forcing a task to run now using RunTask.",
       "id": "RunTaskRequest",
       "properties": {
         "responseView": {
-          "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Task resource.",
+          "description": "The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource.",
           "enum": [
             "VIEW_UNSPECIFIED",
             "BASIC",
@@ -1232,8 +1242,8 @@
           ],
           "enumDescriptions": [
             "Unspecified. Defaults to BASIC.",
-            "The basic view omits fields which can be large or can contain\nsensitive data.\n\nThis view does not include the\nbody in AppEngineHttpRequest.\nBodies are desirable to return only when needed, because they\ncan be large and because of the sensitivity of the data that you\nchoose to store in it.",
-            "All information is returned.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Queue resource."
+            "The basic view omits fields which can be large or can contain sensitive data. This view does not include the body in AppEngineHttpRequest. Bodies are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+            "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
           ],
           "type": "string"
         }
@@ -1246,17 +1256,17 @@
       "properties": {
         "policy": {
           "$ref": "Policy",
-          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
+          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them."
         }
       },
       "type": "object"
     },
     "StackdriverLoggingConfig": {
-      "description": "Configuration options for writing logs to\n[Stackdriver Logging](https://cloud.google.com/logging/docs/).",
+      "description": "Configuration options for writing logs to [Stackdriver Logging](https://cloud.google.com/logging/docs/).",
       "id": "StackdriverLoggingConfig",
       "properties": {
         "samplingRatio": {
-          "description": "Specifies the fraction of operations to write to\n[Stackdriver Logging](https://cloud.google.com/logging/docs/).\nThis field may contain any value between 0.0 and 1.0, inclusive.\n0.0 is the default and means that no operations are logged.",
+          "description": "Specifies the fraction of operations to write to [Stackdriver Logging](https://cloud.google.com/logging/docs/). This field may contain any value between 0.0 and 1.0, inclusive. 0.0 is the default and means that no operations are logged.",
           "format": "double",
           "type": "number"
         }
@@ -1264,7 +1274,7 @@
       "type": "object"
     },
     "Status": {
-      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "Status",
       "properties": {
         "code": {
@@ -1273,7 +1283,7 @@
           "type": "integer"
         },
         "details": {
-          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -1284,7 +1294,7 @@
           "type": "array"
         },
         "message": {
-          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
           "type": "string"
         }
       },
@@ -1296,37 +1306,37 @@
       "properties": {
         "appEngineHttpRequest": {
           "$ref": "AppEngineHttpRequest",
-          "description": "HTTP request that is sent to the App Engine app handler.\n\nAn App Engine task is a task that has AppEngineHttpRequest set."
+          "description": "HTTP request that is sent to the App Engine app handler. An App Engine task is a task that has AppEngineHttpRequest set."
         },
         "createTime": {
-          "description": "Output only. The time that the task was created.\n\n`create_time` will be truncated to the nearest second.",
+          "description": "Output only. The time that the task was created. `create_time` will be truncated to the nearest second.",
           "format": "google-datetime",
           "type": "string"
         },
         "dispatchCount": {
-          "description": "Output only. The number of attempts dispatched.\n\nThis count includes attempts which have been dispatched but haven't\nreceived a response.",
+          "description": "Output only. The number of attempts dispatched. This count includes attempts which have been dispatched but haven't received a response.",
           "format": "int32",
           "type": "integer"
         },
         "dispatchDeadline": {
-          "description": "The deadline for requests sent to the worker. If the worker does not\nrespond by this deadline then the request is cancelled and the attempt\nis marked as a `DEADLINE_EXCEEDED` failure. Cloud Tasks will retry the\ntask according to the RetryConfig.\n\nNote that when the request is cancelled, Cloud Tasks will stop listening\nfor the response, but whether the worker stops processing depends on the\nworker. For example, if the worker is stuck, it may not react to cancelled\nrequests.\n\nThe default and maximum values depend on the type of request:\n\n* For HTTP tasks, the default is 10 minutes. The deadline\n  must be in the interval [15 seconds, 30 minutes].\n\n* For App Engine tasks, 0 indicates that the\n  request has the default deadline. The default deadline depends on the\n  [scaling\n  type](https://cloud.google.com/appengine/docs/standard/go/how-instances-are-managed#instance_scaling)\n  of the service: 10 minutes for standard apps with automatic scaling, 24\n  hours for standard apps with manual and basic scaling, and 60 minutes for\n  flex apps. If the request deadline is set, it must be in the interval [15\n  seconds, 24 hours 15 seconds]. Regardless of the task's\n  `dispatch_deadline`, the app handler will not run for longer than than\n  the service's timeout. We recommend setting the `dispatch_deadline` to\n  at most a few seconds more than the app handler's timeout. For more\n  information see\n  [Timeouts](https://cloud.google.com/tasks/docs/creating-appengine-handlers#timeouts).\n\n`dispatch_deadline` will be truncated to the nearest millisecond. The\ndeadline is an approximate deadline.",
+          "description": "The deadline for requests sent to the worker. If the worker does not respond by this deadline then the request is cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure. Cloud Tasks will retry the task according to the RetryConfig. Note that when the request is cancelled, Cloud Tasks will stop listening for the response, but whether the worker stops processing depends on the worker. For example, if the worker is stuck, it may not react to cancelled requests. The default and maximum values depend on the type of request: * For HTTP tasks, the default is 10 minutes. The deadline must be in the interval [15 seconds, 30 minutes]. * For App Engine tasks, 0 indicates that the request has the default deadline. The default deadline depends on the [scaling type](https://cloud.google.com/appengine/docs/standard/go/how-instances-are-managed#instance_scaling) of the service: 10 minutes for standard apps with automatic scaling, 24 hours for standard apps with manual and basic scaling, and 60 minutes for flex apps. If the request deadline is set, it must be in the interval [15 seconds, 24 hours 15 seconds]. Regardless of the task's `dispatch_deadline`, the app handler will not run for longer than than the service's timeout. We recommend setting the `dispatch_deadline` to at most a few seconds more than the app handler's timeout. For more information see [Timeouts](https://cloud.google.com/tasks/docs/creating-appengine-handlers#timeouts). `dispatch_deadline` will be truncated to the nearest millisecond. The deadline is an approximate deadline.",
           "format": "google-duration",
           "type": "string"
         },
         "firstAttempt": {
           "$ref": "Attempt",
-          "description": "Output only. The status of the task's first attempt.\n\nOnly dispatch_time will be set.\nThe other Attempt information is not retained by Cloud Tasks."
+          "description": "Output only. The status of the task's first attempt. Only dispatch_time will be set. The other Attempt information is not retained by Cloud Tasks."
         },
         "httpRequest": {
           "$ref": "HttpRequest",
-          "description": "HTTP request that is sent to the task's target.\n\nAn HTTP task is a task that has HttpRequest set."
+          "description": "HTTP request that is sent to the task's target. An HTTP task is a task that has HttpRequest set."
         },
         "lastAttempt": {
           "$ref": "Attempt",
           "description": "Output only. The status of the task's last attempt."
         },
         "name": {
-          "description": "Optionally caller-specified in CreateTask.\n\nThe task name.\n\nThe task name must have the following format:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`\n\n* `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),\n   hyphens (-), colons (:), or periods (.).\n   For more information, see\n   [Identifying\n   projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)\n* `LOCATION_ID` is the canonical ID for the task's location.\n   The list of available locations can be obtained by calling\n   ListLocations.\n   For more information, see https://cloud.google.com/about/locations/.\n* `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or\n  hyphens (-). The maximum length is 100 characters.\n* `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]),\n  hyphens (-), or underscores (_). The maximum length is 500 characters.",
+          "description": "Optionally caller-specified in CreateTask. The task name. The task name must have the following format: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID` * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens (-), colons (:), or periods (.). For more information, see [Identifying projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) * `LOCATION_ID` is the canonical ID for the task's location. The list of available locations can be obtained by calling ListLocations. For more information, see https://cloud.google.com/about/locations/. * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or hyphens (-). The maximum length is 100 characters. * `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]), hyphens (-), or underscores (_). The maximum length is 500 characters.",
           "type": "string"
         },
         "responseCount": {
@@ -1335,12 +1345,12 @@
           "type": "integer"
         },
         "scheduleTime": {
-          "description": "The time when the task is scheduled to be attempted.\n\nFor App Engine queues, this is when the task will be attempted or retried.\n\n`schedule_time` will be truncated to the nearest microsecond.",
+          "description": "The time when the task is scheduled to be attempted. For App Engine queues, this is when the task will be attempted or retried. `schedule_time` will be truncated to the nearest microsecond.",
           "format": "google-datetime",
           "type": "string"
         },
         "view": {
-          "description": "Output only. The view specifies which subset of the Task has\nbeen returned.",
+          "description": "Output only. The view specifies which subset of the Task has been returned.",
           "enum": [
             "VIEW_UNSPECIFIED",
             "BASIC",
@@ -1348,8 +1358,8 @@
           ],
           "enumDescriptions": [
             "Unspecified. Defaults to BASIC.",
-            "The basic view omits fields which can be large or can contain\nsensitive data.\n\nThis view does not include the\nbody in AppEngineHttpRequest.\nBodies are desirable to return only when needed, because they\ncan be large and because of the sensitivity of the data that you\nchoose to store in it.",
-            "All information is returned.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Queue resource."
+            "The basic view omits fields which can be large or can contain sensitive data. This view does not include the body in AppEngineHttpRequest. Bodies are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+            "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
           ],
           "type": "string"
         }
@@ -1361,7 +1371,7 @@
       "id": "TestIamPermissionsRequest",
       "properties": {
         "permissions": {
-          "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
+          "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
           "items": {
             "type": "string"
           },
@@ -1375,7 +1385,7 @@
       "id": "TestIamPermissionsResponse",
       "properties": {
         "permissions": {
-          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
+          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
           "items": {
             "type": "string"
           },
diff --git a/cloudtasks/v2beta3/cloudtasks-gen.go b/cloudtasks/v2beta3/cloudtasks-gen.go
index 8077552..d23b3a2 100644
--- a/cloudtasks/v2beta3/cloudtasks-gen.go
+++ b/cloudtasks/v2beta3/cloudtasks-gen.go
@@ -182,29 +182,18 @@
 	s *Service
 }
 
-// AppEngineHttpQueue: App Engine HTTP queue.
-//
-// The task will be delivered to the App Engine application
-// hostname
-// specified by its AppEngineHttpQueue and AppEngineHttpRequest.
-// The documentation for AppEngineHttpRequest explains how the
-// task's host URL is constructed.
-//
-// Using AppEngineHttpQueue
-// requires
-// [`appengine.applications.get`](https://cloud.google.com/appen
-// gine/docs/admin-api/access-control)
-// Google IAM permission for the project
-// and the following
-// scope:
-//
-// `https://www.googleapis.com/auth/cloud-platform`
+// AppEngineHttpQueue: App Engine HTTP queue. The task will be delivered
+// to the App Engine application hostname specified by its
+// AppEngineHttpQueue and AppEngineHttpRequest. The documentation for
+// AppEngineHttpRequest explains how the task's host URL is constructed.
+// Using AppEngineHttpQueue requires
+// [`appengine.applications.get`](https://cloud.google.com/appengine/docs
+// /admin-api/access-control) Google IAM permission for the project and
+// the following scope: `https://www.googleapis.com/auth/cloud-platform`
 type AppEngineHttpQueue struct {
-	// AppEngineRoutingOverride: Overrides for the
-	// task-level app_engine_routing.
-	//
-	// If set, `app_engine_routing_override` is used for all tasks in
-	// the queue, no matter what the setting is for the
+	// AppEngineRoutingOverride: Overrides for the task-level
+	// app_engine_routing. If set, `app_engine_routing_override` is used for
+	// all tasks in the queue, no matter what the setting is for the
 	// task-level app_engine_routing.
 	AppEngineRoutingOverride *AppEngineRouting `json:"appEngineRoutingOverride,omitempty"`
 
@@ -233,179 +222,95 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// AppEngineHttpRequest: App Engine HTTP request.
-//
-// The message defines the HTTP request that is sent to an App Engine
-// app when
-// the task is dispatched.
-//
-// Using AppEngineHttpRequest
-// requires
-// [`appengine.applications.get`](https://cloud.google.com/appen
-// gine/docs/admin-api/access-control)
-// Google IAM permission for the project
-// and the following
-// scope:
-//
-// `https://www.googleapis.com/auth/cloud-platform`
-//
+// AppEngineHttpRequest: App Engine HTTP request. The message defines
+// the HTTP request that is sent to an App Engine app when the task is
+// dispatched. Using AppEngineHttpRequest requires
+// [`appengine.applications.get`](https://cloud.google.com/appengine/docs
+// /admin-api/access-control) Google IAM permission for the project and
+// the following scope: `https://www.googleapis.com/auth/cloud-platform`
 // The task will be delivered to the App Engine app which belongs to the
-// same
-// project as the queue. For more information, see
-// [How Requests
+// same project as the queue. For more information, see [How Requests
 // are
-// Routed](https://cloud.google.com/appengine/docs/standard/python/ho
-// w-requests-are-routed)
-// and how routing is affected
-// by
-// [dispatch
-// files](https://cloud.google.com/appengine/docs/python/con
-// fig/dispatchref).
-// Traffic is encrypted during transport and never leaves Google
-// datacenters.
-// Because this traffic is carried over a communication mechanism
-// internal to
-// Google, you cannot explicitly set the protocol (for example, HTTP or
-// HTTPS).
-// The request to the handler, however, will appear to have used the
-// HTTP
-// protocol.
-//
-// The AppEngineRouting used to construct the URL that the task
-// is
-// delivered to can be set at the queue-level or task-level:
-//
-// * If set,
-//   app_engine_routing_override
-//   is used for all tasks in the queue, no matter what the setting
-//   is for the
-//   task-level app_engine_routing.
-//
-//
-// The `url` that the task will be sent to is:
-//
-// * `url =` host `+`
-//   relative_uri
-//
-// Tasks can be dispatched to secure app handlers, unsecure app
-// handlers, and
-// URIs restricted
-// with
-// [`login:
-// admin`](https://cloud.google.com/appengine/docs/standard
-// /python/config/appref).
-// Because tasks are not run as any user, they cannot be dispatched to
-// URIs
-// restricted
-// with
-// [`login:
-// required`](https://cloud.google.com/appengine/docs/stand
-// ard/python/config/appref)
-// Task dispatches also do not follow redirects.
-//
-// The task attempt has succeeded if the app's request handler returns
-// an HTTP
+// Routed](https://cloud.google.com/appengine/docs/standard/python/how-re
+// quests-are-routed) and how routing is affected by [dispatch
+// files](https://cloud.google.com/appengine/docs/python/config/dispatchr
+// ef). Traffic is encrypted during transport and never leaves Google
+// datacenters. Because this traffic is carried over a communication
+// mechanism internal to Google, you cannot explicitly set the protocol
+// (for example, HTTP or HTTPS). The request to the handler, however,
+// will appear to have used the HTTP protocol. The AppEngineRouting used
+// to construct the URL that the task is delivered to can be set at the
+// queue-level or task-level: * If set, app_engine_routing_override is
+// used for all tasks in the queue, no matter what the setting is for
+// the task-level app_engine_routing. The `url` that the task will be
+// sent to is: * `url =` host `+` relative_uri Tasks can be dispatched
+// to secure app handlers, unsecure app handlers, and URIs restricted
+// with [`login:
+// admin`](https://cloud.google.com/appengine/docs/standard/python/config
+// /appref). Because tasks are not run as any user, they cannot be
+// dispatched to URIs restricted with [`login:
+// required`](https://cloud.google.com/appengine/docs/standard/python/con
+// fig/appref) Task dispatches also do not follow redirects. The task
+// attempt has succeeded if the app's request handler returns an HTTP
 // response code in the range [`200` - `299`]. The task attempt has
-// failed if
-// the app's handler returns a non-2xx response code or Cloud Tasks
-// does
-// not receive response before the deadline. Failed
-// tasks will be retried according to the
-// retry configuration. `503` (Service Unavailable) is
-// considered an App Engine system error instead of an application error
-// and
-// will cause Cloud Tasks' traffic congestion control to temporarily
-// throttle
-// the queue's dispatches. Unlike other types of task targets, a `429`
-// (Too Many
-// Requests) response from an app handler does not cause traffic
-// congestion
-// control to throttle the queue.
+// failed if the app's handler returns a non-2xx response code or Cloud
+// Tasks does not receive response before the deadline. Failed tasks
+// will be retried according to the retry configuration. `503` (Service
+// Unavailable) is considered an App Engine system error instead of an
+// application error and will cause Cloud Tasks' traffic congestion
+// control to temporarily throttle the queue's dispatches. Unlike other
+// types of task targets, a `429` (Too Many Requests) response from an
+// app handler does not cause traffic congestion control to throttle the
+// queue.
 type AppEngineHttpRequest struct {
-	// AppEngineRouting: Task-level setting for App Engine routing.
-	//
-	// If set,
-	// app_engine_routing_override
-	// is used for all tasks in the queue, no matter what the setting is for
-	// the
-	// task-level app_engine_routing.
+	// AppEngineRouting: Task-level setting for App Engine routing. If set,
+	// app_engine_routing_override is used for all tasks in the queue, no
+	// matter what the setting is for the task-level app_engine_routing.
 	AppEngineRouting *AppEngineRouting `json:"appEngineRouting,omitempty"`
 
-	// Body: HTTP request body.
-	//
-	// A request body is allowed only if the HTTP method is POST or PUT. It
-	// is
-	// an error to set a body on a task with an incompatible HttpMethod.
+	// Body: HTTP request body. A request body is allowed only if the HTTP
+	// method is POST or PUT. It is an error to set a body on a task with an
+	// incompatible HttpMethod.
 	Body string `json:"body,omitempty"`
 
-	// Headers: HTTP request headers.
-	//
-	// This map contains the header field names and values.
-	// Headers can be set when the
-	// task is created.
+	// Headers: HTTP request headers. This map contains the header field
+	// names and values. Headers can be set when the task is created.
 	// Repeated headers are not supported but a header value can contain
-	// commas.
-	//
-	// Cloud Tasks sets some headers to default values:
-	//
-	// * `User-Agent`: By default, this header is
-	//   "AppEngine-Google; (+http://code.google.com/appengine)".
-	//   This header can be modified, but Cloud Tasks will append
-	//   "AppEngine-Google; (+http://code.google.com/appengine)" to the
-	//   modified `User-Agent`.
-	//
-	// If the task has a body, Cloud
-	// Tasks sets the following headers:
-	//
-	// * `Content-Type`: By default, the `Content-Type` header is set to
-	//   "application/octet-stream". The default can be overridden by
-	// explicitly
-	//   setting `Content-Type` to a particular media type when the
-	//   task is created.
-	//   For example, `Content-Type` can be set to "application/json".
-	// * `Content-Length`: This is computed by Cloud Tasks. This value is
-	//   output only.   It cannot be changed.
-	//
-	// The headers below cannot be set or overridden:
-	//
-	// * `Host`
-	// * `X-Google-*`
-	// * `X-AppEngine-*`
-	//
-	// In addition, Cloud Tasks sets some headers when the task is
-	// dispatched,
-	// such as headers containing information about the task;
-	// see
-	// [request
-	// headers](https://cloud.google.com/tasks/docs/creating-app
-	// engine-handlers#reading_request_headers).
-	// These headers are set only when the task is dispatched, so they are
-	// not
-	// visible when the task is returned in a Cloud Tasks
-	// response.
-	//
-	// Although there is no specific limit for the maximum number of headers
-	// or
-	// the size, there is a limit on the maximum size of the Task. For
-	// more
-	// information, see the CreateTask documentation.
+	// commas. Cloud Tasks sets some headers to default values: *
+	// `User-Agent`: By default, this header is "AppEngine-Google;
+	// (+http://code.google.com/appengine)". This header can be modified,
+	// but Cloud Tasks will append "AppEngine-Google;
+	// (+http://code.google.com/appengine)" to the modified `User-Agent`.
+	// If the task has a body, Cloud Tasks sets the following headers: *
+	// `Content-Type`: By default, the `Content-Type` header is set to
+	// "application/octet-stream". The default can be overridden by
+	// explicitly setting `Content-Type` to a particular media type when the
+	// task is created. For example, `Content-Type` can be set to
+	// "application/json". * `Content-Length`: This is computed by Cloud
+	// Tasks. This value is output only. It cannot be changed. The headers
+	// below cannot be set or overridden: * `Host` * `X-Google-*` *
+	// `X-AppEngine-*` In addition, Cloud Tasks sets some headers when the
+	// task is dispatched, such as headers containing information about the
+	// task; see [request
+	// headers](https://cloud.google.com/tasks/docs/creating-appengine-handle
+	// rs#reading_request_headers). These headers are set only when the task
+	// is dispatched, so they are not visible when the task is returned in a
+	// Cloud Tasks response. Although there is no specific limit for the
+	// maximum number of headers or the size, there is a limit on the
+	// maximum size of the Task. For more information, see the CreateTask
+	// documentation.
 	Headers map[string]string `json:"headers,omitempty"`
 
 	// HttpMethod: The HTTP method to use for the request. The default is
-	// POST.
-	//
-	// The app's request handler for the task's target URL must be able to
-	// handle
-	// HTTP requests with this http_method, otherwise the task attempt fails
-	// with
-	// error code 405 (Method Not Allowed). See [Writing a push task
-	// request
-	// handler](https://cloud.google.com/appengine/docs/java/taskqueu
-	// e/push/creating-handlers#writing_a_push_task_request_handler)
-	// and the App Engine documentation for your runtime on [How Requests
-	// are
-	// Handled](https://cloud.google.com/appengine/docs/standard/python3/
-	// how-requests-are-handled).
+	// POST. The app's request handler for the task's target URL must be
+	// able to handle HTTP requests with this http_method, otherwise the
+	// task attempt fails with error code 405 (Method Not Allowed). See
+	// [Writing a push task request
+	// handler](https://cloud.google.com/appengine/docs/java/taskqueue/push/c
+	// reating-handlers#writing_a_push_task_request_handler) and the App
+	// Engine documentation for your runtime on [How Requests are
+	// Handled](https://cloud.google.com/appengine/docs/standard/python3/how-
+	// requests-are-handled).
 	//
 	// Possible values:
 	//   "HTTP_METHOD_UNSPECIFIED" - HTTP method unspecified
@@ -418,14 +323,11 @@
 	//   "OPTIONS" - HTTP OPTIONS
 	HttpMethod string `json:"httpMethod,omitempty"`
 
-	// RelativeUri: The relative URI.
-	//
-	// The relative URI must begin with "/" and must be a valid HTTP
-	// relative URI.
-	// It can contain a path and query string arguments.
-	// If the relative URI is empty, then the root path "/" will be used.
-	// No spaces are allowed, and the maximum length allowed is 2083
-	// characters.
+	// RelativeUri: The relative URI. The relative URI must begin with "/"
+	// and must be a valid HTTP relative URI. It can contain a path and
+	// query string arguments. If the relative URI is empty, then the root
+	// path "/" will be used. No spaces are allowed, and the maximum length
+	// allowed is 2083 characters.
 	RelativeUri string `json:"relativeUri,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AppEngineRouting") to
@@ -452,106 +354,60 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// AppEngineRouting: App Engine Routing.
-//
-// Defines routing characteristics specific to App Engine - service,
-// version,
-// and instance.
-//
-// For more information about services, versions, and instances see
-// [An Overview of
-// App
-// Engine](https://cloud.google.com/appengine/docs/python/an-overview
-// -of-app-engine),
-// [Microservices Architecture on Google
-// App
-// Engine](https://cloud.google.com/appengine/docs/python/microservic
-// es-on-app-engine),
-// [App Engine Standard
-// request
-// routing](https://cloud.google.com/appengine/docs/standard/pyth
-// on/how-requests-are-routed),
-// and [App Engine Flex
-// request
-// routing](https://cloud.google.com/appengine/docs/flexible/pyth
-// on/how-requests-are-routed).
+// AppEngineRouting: App Engine Routing. Defines routing characteristics
+// specific to App Engine - service, version, and instance. For more
+// information about services, versions, and instances see [An Overview
+// of App
+// Engine](https://cloud.google.com/appengine/docs/python/an-overview-of-
+// app-engine), [Microservices Architecture on Google App
+// Engine](https://cloud.google.com/appengine/docs/python/microservices-o
+// n-app-engine), [App Engine Standard request
+// routing](https://cloud.google.com/appengine/docs/standard/python/how-r
+// equests-are-routed), and [App Engine Flex request
+// routing](https://cloud.google.com/appengine/docs/flexible/python/how-r
+// equests-are-routed).
 type AppEngineRouting struct {
-	// Host: Output only. The host that the task is sent to.
-	//
-	// The host is constructed from the domain name of the app associated
-	// with
-	// the queue's project ID (for example <app-id>.appspot.com), and
-	// the
-	// service, version,
-	// and instance. Tasks which were created using
-	// the App Engine SDK might have a custom domain name.
-	//
-	// For more information, see
-	// [How Requests
-	// are
-	// Routed](https://cloud.google.com/appengine/docs/standard/python/ho
-	// w-requests-are-routed).
+	// Host: Output only. The host that the task is sent to. The host is
+	// constructed from the domain name of the app associated with the
+	// queue's project ID (for example .appspot.com), and the service,
+	// version, and instance. Tasks which were created using the App Engine
+	// SDK might have a custom domain name. For more information, see [How
+	// Requests are
+	// Routed](https://cloud.google.com/appengine/docs/standard/python/how-re
+	// quests-are-routed).
 	Host string `json:"host,omitempty"`
 
-	// Instance: App instance.
-	//
-	// By default, the task is sent to an instance which is available
-	// when
-	// the task is attempted.
-	//
-	// Requests can only be sent to a specific instance if
-	// [manual scaling is used in App
-	// Engine
-	// Standard](https://cloud.google.com/appengine/docs/python/an-ove
-	// rview-of-app-engine?hl=en_US#scaling_types_and_instance_classes).
-	// App Engine Flex does not support instances. For more information,
-	// see
-	// [App Engine Standard
-	// request
-	// routing](https://cloud.google.com/appengine/docs/standard/pyth
-	// on/how-requests-are-routed)
-	// and [App Engine Flex
-	// request
-	// routing](https://cloud.google.com/appengine/docs/flexible/pyth
-	// on/how-requests-are-routed).
+	// Instance: App instance. By default, the task is sent to an instance
+	// which is available when the task is attempted. Requests can only be
+	// sent to a specific instance if [manual scaling is used in App Engine
+	// Standard](https://cloud.google.com/appengine/docs/python/an-overview-o
+	// f-app-engine?hl=en_US#scaling_types_and_instance_classes). App Engine
+	// Flex does not support instances. For more information, see [App
+	// Engine Standard request
+	// routing](https://cloud.google.com/appengine/docs/standard/python/how-r
+	// equests-are-routed) and [App Engine Flex request
+	// routing](https://cloud.google.com/appengine/docs/flexible/python/how-r
+	// equests-are-routed).
 	Instance string `json:"instance,omitempty"`
 
-	// Service: App service.
-	//
-	// By default, the task is sent to the service which is the
-	// default
-	// service when the task is attempted.
-	//
-	// For some queues or tasks which were created using the App Engine
-	// Task Queue API, host is not parsable
-	// into service,
-	// version, and
-	// instance. For example, some tasks
-	// which were created using the App Engine SDK use a custom domain
-	// name; custom domains are not parsed by Cloud Tasks. If
-	// host is not parsable, then
-	// service,
-	// version, and
-	// instance are the empty string.
+	// Service: App service. By default, the task is sent to the service
+	// which is the default service when the task is attempted. For some
+	// queues or tasks which were created using the App Engine Task Queue
+	// API, host is not parsable into service, version, and instance. For
+	// example, some tasks which were created using the App Engine SDK use a
+	// custom domain name; custom domains are not parsed by Cloud Tasks. If
+	// host is not parsable, then service, version, and instance are the
+	// empty string.
 	Service string `json:"service,omitempty"`
 
-	// Version: App version.
-	//
-	// By default, the task is sent to the version which is the
-	// default
-	// version when the task is attempted.
-	//
-	// For some queues or tasks which were created using the App Engine
-	// Task Queue API, host is not parsable
-	// into service,
-	// version, and
-	// instance. For example, some tasks
-	// which were created using the App Engine SDK use a custom domain
-	// name; custom domains are not parsed by Cloud Tasks. If
-	// host is not parsable, then
-	// service,
-	// version, and
-	// instance are the empty string.
+	// Version: App version. By default, the task is sent to the version
+	// which is the default version when the task is attempted. For some
+	// queues or tasks which were created using the App Engine Task Queue
+	// API, host is not parsable into service, version, and instance. For
+	// example, some tasks which were created using the App Engine SDK use a
+	// custom domain name; custom domains are not parsed by Cloud Tasks. If
+	// host is not parsable, then service, version, and instance are the
+	// empty string.
 	Version string `json:"version,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Host") to
@@ -579,29 +435,22 @@
 
 // Attempt: The status of a task attempt.
 type Attempt struct {
-	// DispatchTime: Output only. The time that this attempt was
-	// dispatched.
-	//
+	// DispatchTime: Output only. The time that this attempt was dispatched.
 	// `dispatch_time` will be truncated to the nearest microsecond.
 	DispatchTime string `json:"dispatchTime,omitempty"`
 
 	// ResponseStatus: Output only. The response from the worker for this
-	// attempt.
-	//
-	// If `response_time` is unset, then the task has not been attempted or
-	// is
-	// currently running and the `response_status` field is meaningless.
+	// attempt. If `response_time` is unset, then the task has not been
+	// attempted or is currently running and the `response_status` field is
+	// meaningless.
 	ResponseStatus *Status `json:"responseStatus,omitempty"`
 
 	// ResponseTime: Output only. The time that this attempt response was
-	// received.
-	//
-	// `response_time` will be truncated to the nearest microsecond.
+	// received. `response_time` will be truncated to the nearest
+	// microsecond.
 	ResponseTime string `json:"responseTime,omitempty"`
 
-	// ScheduleTime: Output only. The time that this attempt was
-	// scheduled.
-	//
+	// ScheduleTime: Output only. The time that this attempt was scheduled.
 	// `schedule_time` will be truncated to the nearest microsecond.
 	ScheduleTime string `json:"scheduleTime,omitempty"`
 
@@ -630,95 +479,53 @@
 
 // Binding: Associates `members` with a `role`.
 type Binding struct {
-	// Condition: The condition that is associated with this binding.
-	//
-	// If the condition evaluates to `true`, then this binding applies to
-	// the
-	// current request.
-	//
-	// If the condition evaluates to `false`, then this binding does not
-	// apply to
-	// the current request. However, a different role binding might grant
-	// the same
-	// role to one or more of the members in this binding.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// Condition: The condition that is associated with this binding. If the
+	// condition evaluates to `true`, then this binding applies to the
+	// current request. If the condition evaluates to `false`, then this
+	// binding does not apply to the current request. However, a different
+	// role binding might grant the same role to one or more of the members
+	// in this binding. To learn which resources support conditions in their
+	// IAM policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	Condition *Expr `json:"condition,omitempty"`
 
 	// Members: Specifies the identities requesting access for a Cloud
-	// Platform resource.
-	// `members` can have the following values:
-	//
-	// * `allUsers`: A special identifier that represents anyone who is
-	//    on the internet; with or without a Google account.
-	//
-	// * `allAuthenticatedUsers`: A special identifier that represents
-	// anyone
-	//    who is authenticated with a Google account or a service
-	// account.
-	//
-	// * `user:{emailid}`: An email address that represents a specific
-	// Google
-	//    account. For example, `alice@example.com` .
-	//
-	//
-	// * `serviceAccount:{emailid}`: An email address that represents a
-	// service
-	//    account. For example,
-	// `my-other-app@appspot.gserviceaccount.com`.
-	//
-	// * `group:{emailid}`: An email address that represents a Google
-	// group.
-	//    For example, `admins@example.com`.
-	//
-	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a user that has been recently deleted.
-	// For
-	//    example, `alice@example.com?uid=123456789012345678901`. If the
-	// user is
-	//    recovered, this value reverts to `user:{emailid}` and the
-	// recovered user
-	//    retains the role in the binding.
-	//
-	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
-	// (plus
-	//    unique identifier) representing a service account that has been
-	// recently
-	//    deleted. For example,
-	//
+	// Platform resource. `members` can have the following values: *
+	// `allUsers`: A special identifier that represents anyone who is on the
+	// internet; with or without a Google account. *
+	// `allAuthenticatedUsers`: A special identifier that represents anyone
+	// who is authenticated with a Google account or a service account. *
+	// `user:{emailid}`: An email address that represents a specific Google
+	// account. For example, `alice@example.com` . *
+	// `serviceAccount:{emailid}`: An email address that represents a
+	// service account. For example,
+	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
+	// email address that represents a Google group. For example,
+	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
+	// email address (plus unique identifier) representing a user that has
+	// been recently deleted. For example,
+	// `alice@example.com?uid=123456789012345678901`. If the user is
+	// recovered, this value reverts to `user:{emailid}` and the recovered
+	// user retains the role in the binding. *
+	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
+	// (plus unique identifier) representing a service account that has been
+	// recently deleted. For example,
 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
-	//
-	//    If the service account is undeleted, this value reverts to
-	//    `serviceAccount:{emailid}` and the undeleted service account
-	// retains the
-	//    role in the binding.
-	//
-	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a Google group that has been recently
-	//    deleted. For example,
-	// `admins@example.com?uid=123456789012345678901`. If
-	//    the group is recovered, this value reverts to `group:{emailid}`
-	// and the
-	//    recovered group retains the role in the binding.
-	//
-	//
-	// * `domain:{domain}`: The G Suite domain (primary) that represents all
-	// the
-	//    users of that domain. For example, `google.com` or
-	// `example.com`.
-	//
-	//
+	// If the service account is undeleted, this value reverts to
+	// `serviceAccount:{emailid}` and the undeleted service account retains
+	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
+	// An email address (plus unique identifier) representing a Google group
+	// that has been recently deleted. For example,
+	// `admins@example.com?uid=123456789012345678901`. If the group is
+	// recovered, this value reverts to `group:{emailid}` and the recovered
+	// group retains the role in the binding. * `domain:{domain}`: The G
+	// Suite domain (primary) that represents all the users of that domain.
+	// For example, `google.com` or `example.com`.
 	Members []string `json:"members,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`.
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -747,84 +554,50 @@
 // CreateTaskRequest: Request message for CreateTask.
 type CreateTaskRequest struct {
 	// ResponseView: The response_view specifies which subset of the Task
-	// will be
-	// returned.
-	//
-	// By default response_view is BASIC; not all
-	// information is retrieved by default because some data, such
-	// as
-	// payloads, might be desirable to return only when needed because
-	// of its large size or because of the sensitivity of data that
-	// it
-	// contains.
-	//
-	// Authorization for FULL requires
-	// `cloudtasks.tasks.fullView` [Google
-	// IAM](https://cloud.google.com/iam/)
-	// permission on the Task resource.
+	// will be returned. By default response_view is BASIC; not all
+	// information is retrieved by default because some data, such as
+	// payloads, might be desirable to return only when needed because of
+	// its large size or because of the sensitivity of data that it
+	// contains. Authorization for FULL requires `cloudtasks.tasks.fullView`
+	// [Google IAM](https://cloud.google.com/iam/) permission on the Task
+	// resource.
 	//
 	// Possible values:
 	//   "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC.
 	//   "BASIC" - The basic view omits fields which can be large or can
-	// contain
-	// sensitive data.
-	//
-	// This view does not include the
-	// body in AppEngineHttpRequest.
-	// Bodies are desirable to return only when needed, because they
-	// can be large and because of the sensitivity of the data that
-	// you
-	// choose to store in it.
-	//   "FULL" - All information is returned.
-	//
-	// Authorization for FULL requires
-	// `cloudtasks.tasks.fullView` [Google
-	// IAM](https://cloud.google.com/iam/)
-	// permission on the Queue resource.
+	// contain sensitive data. This view does not include the body in
+	// AppEngineHttpRequest. Bodies are desirable to return only when
+	// needed, because they can be large and because of the sensitivity of
+	// the data that you choose to store in it.
+	//   "FULL" - All information is returned. Authorization for FULL
+	// requires `cloudtasks.tasks.fullView` [Google
+	// IAM](https://cloud.google.com/iam/) permission on the Queue resource.
 	ResponseView string `json:"responseView,omitempty"`
 
-	// Task: Required. The task to add.
-	//
-	// Task names have the following
+	// Task: Required. The task to add. Task names have the following
 	// format:
-	// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tas
-	// ks/TASK_ID`.
-	// The user can optionally specify a task name. If a
-	// name is not specified then the system will generate a random
-	// unique task id, which will be set in the task returned in
-	// the
-	// response.
-	//
-	// If schedule_time is not set or is in the
-	// past then Cloud Tasks will set it to the current time.
-	//
-	// Task De-duplication:
-	//
-	// Explicitly specifying a task ID enables task de-duplication.  If
-	// a task's ID is identical to that of an existing task or a task
-	// that was deleted or executed recently then the call will fail
-	// with ALREADY_EXISTS.
-	// If the task's queue was created using Cloud Tasks, then another task
-	// with
-	// the same name can't be created for ~1hour after the original task
-	// was
-	// deleted or executed. If the task's queue was created using queue.yaml
-	// or
-	// queue.xml, then another task with the same name can't be created
-	// for ~9days after the original task was deleted or executed.
-	//
-	// Because there is an extra lookup cost to identify duplicate
-	// task
-	// names, these CreateTask calls have significantly
-	// increased latency. Using hashed strings for the task id or for
-	// the prefix of the task id is recommended. Choosing task ids that
-	// are sequential or have sequential prefixes, for example using
-	// a
-	// timestamp, causes an increase in latency and error rates in all
-	// task commands. The infrastructure relies on an approximately
-	// uniform distribution of task ids to store and serve
-	// tasks
-	// efficiently.
+	// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_
+	// ID`. The user can optionally specify a task name. If a name is not
+	// specified then the system will generate a random unique task id,
+	// which will be set in the task returned in the response. If
+	// schedule_time is not set or is in the past then Cloud Tasks will set
+	// it to the current time. Task De-duplication: Explicitly specifying a
+	// task ID enables task de-duplication. If a task's ID is identical to
+	// that of an existing task or a task that was deleted or executed
+	// recently then the call will fail with ALREADY_EXISTS. If the task's
+	// queue was created using Cloud Tasks, then another task with the same
+	// name can't be created for ~1hour after the original task was deleted
+	// or executed. If the task's queue was created using queue.yaml or
+	// queue.xml, then another task with the same name can't be created for
+	// ~9days after the original task was deleted or executed. Because there
+	// is an extra lookup cost to identify duplicate task names, these
+	// CreateTask calls have significantly increased latency. Using hashed
+	// strings for the task id or for the prefix of the task id is
+	// recommended. Choosing task ids that are sequential or have sequential
+	// prefixes, for example using a timestamp, causes an increase in
+	// latency and error rates in all task commands. The infrastructure
+	// relies on an approximately uniform distribution of task ids to store
+	// and serve tasks efficiently.
 	Task *Task `json:"task,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ResponseView") to
@@ -851,17 +624,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -869,65 +636,40 @@
 }
 
 // Expr: Represents a textual expression in the Common Expression
-// Language (CEL)
-// syntax. CEL is a C-like expression language. The syntax and semantics
-// of CEL
-// are documented at https://github.com/google/cel-spec.
-//
-// Example (Comparison):
-//
-//     title: "Summary size limit"
-//     description: "Determines if a summary is less than 100 chars"
-//     expression: "document.summary.size() < 100"
-//
-// Example (Equality):
-//
-//     title: "Requestor is owner"
-//     description: "Determines if requestor is the document owner"
-//     expression: "document.owner ==
-// request.auth.claims.email"
-//
-// Example (Logic):
-//
-//     title: "Public documents"
-//     description: "Determine whether the document should be publicly
-// visible"
-//     expression: "document.type != 'private' && document.type !=
-// 'internal'"
-//
-// Example (Data Manipulation):
-//
-//     title: "Notification string"
-//     description: "Create a notification string with a timestamp."
-//     expression: "'New message received at ' +
-// string(document.create_time)"
-//
-// The exact variables and functions that may be referenced within an
-// expression
-// are determined by the service that evaluates it. See the
-// service
-// documentation for additional information.
+// Language (CEL) syntax. CEL is a C-like expression language. The
+// syntax and semantics of CEL are documented at
+// https://github.com/google/cel-spec. Example (Comparison): title:
+// "Summary size limit" description: "Determines if a summary is less
+// than 100 chars" expression: "document.summary.size() < 100" Example
+// (Equality): title: "Requestor is owner" description: "Determines if
+// requestor is the document owner" expression: "document.owner ==
+// request.auth.claims.email" Example (Logic): title: "Public documents"
+// description: "Determine whether the document should be publicly
+// visible" expression: "document.type != 'private' && document.type !=
+// 'internal'" Example (Data Manipulation): title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' +
+// string(document.create_time)" The exact variables and functions that
+// may be referenced within an expression are determined by the service
+// that evaluates it. See the service documentation for additional
+// information.
 type Expr struct {
 	// Description: Optional. Description of the expression. This is a
-	// longer text which
-	// describes the expression, e.g. when hovered over it in a UI.
+	// longer text which describes the expression, e.g. when hovered over it
+	// in a UI.
 	Description string `json:"description,omitempty"`
 
 	// Expression: Textual representation of an expression in Common
-	// Expression Language
-	// syntax.
+	// Expression Language syntax.
 	Expression string `json:"expression,omitempty"`
 
 	// Location: Optional. String indicating the location of the expression
-	// for error
-	// reporting, e.g. a file name and a position in the file.
+	// for error reporting, e.g. a file name and a position in the file.
 	Location string `json:"location,omitempty"`
 
 	// Title: Optional. Title for the expression, i.e. a short string
-	// describing
-	// its purpose. This can be used e.g. in UIs which allow to enter
-	// the
-	// expression.
+	// describing its purpose. This can be used e.g. in UIs which allow to
+	// enter the expression.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -956,8 +698,7 @@
 // GetIamPolicyRequest: Request message for `GetIamPolicy` method.
 type GetIamPolicyRequest struct {
 	// Options: OPTIONAL: A `GetPolicyOptions` object for specifying options
-	// to
-	// `GetIamPolicy`.
+	// to `GetIamPolicy`.
 	Options *GetPolicyOptions `json:"options,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Options") to
@@ -986,24 +727,14 @@
 // GetPolicyOptions: Encapsulates settings provided to GetIamPolicy.
 type GetPolicyOptions struct {
 	// RequestedPolicyVersion: Optional. The policy format version to be
-	// returned.
-	//
-	// Valid values are 0, 1, and 3. Requests specifying an invalid value
-	// will be
-	// rejected.
-	//
-	// Requests for policies with any conditional bindings must specify
-	// version 3.
-	// Policies without any conditional bindings may specify any valid value
-	// or
-	// leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// returned. Valid values are 0, 1, and 3. Requests specifying an
+	// invalid value will be rejected. Requests for policies with any
+	// conditional bindings must specify version 3. Policies without any
+	// conditional bindings may specify any valid value or leave the field
+	// unset. To learn which resources support conditions in their IAM
+	// policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	RequestedPolicyVersion int64 `json:"requestedPolicyVersion,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -1031,88 +762,46 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// HttpRequest: HTTP request.
-//
-// The task will be pushed to the worker as an HTTP request. If the
-// worker
-// or the redirected worker acknowledges the task by returning a
-// successful HTTP
-// response code ([`200` - `299`]), the task will be removed from the
-// queue. If
-// any other HTTP response code is returned or no response is received,
-// the
-// task will be retried according to the following:
-//
-// * User-specified throttling: retry configuration,
-//   rate limits, and the queue's state.
-//
-// * System throttling: To prevent the worker from overloading, Cloud
-// Tasks may
-//   temporarily reduce the queue's effective rate. User-specified
-// settings
-//   will not be changed.
-//
-//  System throttling happens because:
-//
-//   * Cloud Tasks backs off on all errors. Normally the backoff
-// specified in
-//     rate limits will be used. But if the worker returns
-//     `429` (Too Many Requests), `503` (Service Unavailable), or the
-// rate of
-//     errors is high, Cloud Tasks will use a higher backoff rate. The
-// retry
-//     specified in the `Retry-After` HTTP response header is
-// considered.
-//
-//   * To prevent traffic spikes and to smooth sudden increases in
-// traffic,
-//     dispatches ramp up slowly when the queue is newly created or idle
-// and
-//     if large numbers of tasks suddenly become available to dispatch
-// (due to
-//     spikes in create task rates, the queue being unpaused, or many
-// tasks
-//     that are scheduled at the same time).
+// HttpRequest: HTTP request. The task will be pushed to the worker as
+// an HTTP request. If the worker or the redirected worker acknowledges
+// the task by returning a successful HTTP response code ([`200` -
+// `299`]), the task will be removed from the queue. If any other HTTP
+// response code is returned or no response is received, the task will
+// be retried according to the following: * User-specified throttling:
+// retry configuration, rate limits, and the queue's state. * System
+// throttling: To prevent the worker from overloading, Cloud Tasks may
+// temporarily reduce the queue's effective rate. User-specified
+// settings will not be changed. System throttling happens because: *
+// Cloud Tasks backs off on all errors. Normally the backoff specified
+// in rate limits will be used. But if the worker returns `429` (Too
+// Many Requests), `503` (Service Unavailable), or the rate of errors is
+// high, Cloud Tasks will use a higher backoff rate. The retry specified
+// in the `Retry-After` HTTP response header is considered. * To prevent
+// traffic spikes and to smooth sudden increases in traffic, dispatches
+// ramp up slowly when the queue is newly created or idle and if large
+// numbers of tasks suddenly become available to dispatch (due to spikes
+// in create task rates, the queue being unpaused, or many tasks that
+// are scheduled at the same time).
 type HttpRequest struct {
-	// Body: HTTP request body.
-	//
-	// A request body is allowed only if the
-	// HTTP method is POST, PUT, or PATCH. It is an
-	// error to set body on a task with an incompatible HttpMethod.
+	// Body: HTTP request body. A request body is allowed only if the HTTP
+	// method is POST, PUT, or PATCH. It is an error to set body on a task
+	// with an incompatible HttpMethod.
 	Body string `json:"body,omitempty"`
 
-	// Headers: HTTP request headers.
-	//
-	// This map contains the header field names and values.
-	// Headers can be set when the
-	// task is created.
-	//
-	// These headers represent a subset of the headers that will accompany
-	// the
+	// Headers: HTTP request headers. This map contains the header field
+	// names and values. Headers can be set when the task is created. These
+	// headers represent a subset of the headers that will accompany the
 	// task's HTTP request. Some HTTP request headers will be ignored or
-	// replaced.
-	//
-	// A partial list of headers that will be ignored or replaced is:
-	//
-	// * Host: This will be computed by Cloud Tasks and derived from
-	//   HttpRequest.url.
-	// * Content-Length: This will be computed by Cloud Tasks.
-	// * User-Agent: This will be set to "Google-Cloud-Tasks".
-	// * X-Google-*: Google use only.
-	// * X-AppEngine-*: Google use only.
-	//
-	// `Content-Type` won't be set by Cloud Tasks. You can explicitly
-	// set
-	// `Content-Type` to a media type when the
-	//  task is created.
-	//  For example, `Content-Type` can be set to
-	// "application/octet-stream" or
-	//  "application/json".
-	//
-	// Headers which can have multiple values (according to RFC2616) can
-	// be
-	// specified using comma-separated values.
-	//
+	// replaced. A partial list of headers that will be ignored or replaced
+	// is: * Host: This will be computed by Cloud Tasks and derived from
+	// HttpRequest.url. * Content-Length: This will be computed by Cloud
+	// Tasks. * User-Agent: This will be set to "Google-Cloud-Tasks". *
+	// X-Google-*: Google use only. * X-AppEngine-*: Google use only.
+	// `Content-Type` won't be set by Cloud Tasks. You can explicitly set
+	// `Content-Type` to a media type when the task is created. For example,
+	// `Content-Type` can be set to "application/octet-stream" or
+	// "application/json". Headers which can have multiple values
+	// (according to RFC2616) can be specified using comma-separated values.
 	// The size of the headers must be less than 80KB.
 	Headers map[string]string `json:"headers,omitempty"`
 
@@ -1130,46 +819,27 @@
 	//   "OPTIONS" - HTTP OPTIONS
 	HttpMethod string `json:"httpMethod,omitempty"`
 
-	// OauthToken: If specified, an
-	// [OAuth
-	// token](https://developers.google.com/identity/protocols/OAuth2)
-	// will be generated and attached as an `Authorization` header in the
-	// HTTP
-	// request.
-	//
-	// This type of authorization should generally only be used when
-	// calling
-	// Google APIs hosted on *.googleapis.com.
+	// OauthToken: If specified, an [OAuth
+	// token](https://developers.google.com/identity/protocols/OAuth2) will
+	// be generated and attached as an `Authorization` header in the HTTP
+	// request. This type of authorization should generally only be used
+	// when calling Google APIs hosted on *.googleapis.com.
 	OauthToken *OAuthToken `json:"oauthToken,omitempty"`
 
-	// OidcToken: If specified,
-	// an
-	// [OIDC](https://developers.google.com/identity/protocols/OpenIDConne
-	// ct)
-	// token will be generated and attached as an `Authorization` header in
-	// the
-	// HTTP request.
-	//
-	// This type of authorization can be used for many scenarios,
-	// including
-	// calling Cloud Run, or endpoints where you intend to validate the
-	// token
-	// yourself.
+	// OidcToken: If specified, an
+	// [OIDC](https://developers.google.com/identity/protocols/OpenIDConnect)
+	//  token will be generated and attached as an `Authorization` header in
+	// the HTTP request. This type of authorization can be used for many
+	// scenarios, including calling Cloud Run, or endpoints where you intend
+	// to validate the token yourself.
 	OidcToken *OidcToken `json:"oidcToken,omitempty"`
 
-	// Url: Required. The full url path that the request will be sent
-	// to.
-	//
+	// Url: Required. The full url path that the request will be sent to.
 	// This string must begin with either "http://" or "https://". Some
-	// examples
-	// are: `http://acme.com` and `https://acme.com/sales:8080`. Cloud Tasks
-	// will
-	// encode some characters for safety and compatibility. The maximum
-	// allowed
-	// URL length is 2083 characters after encoding.
-	//
-	// The `Location` header response from a redirect response [`300` -
-	// `399`]
+	// examples are: `http://acme.com` and `https://acme.com/sales:8080`.
+	// Cloud Tasks will encode some characters for safety and compatibility.
+	// The maximum allowed URL length is 2083 characters after encoding. The
+	// `Location` header response from a redirect response [`300` - `399`]
 	// may be followed. The redirect is not counted as a separate attempt.
 	Url string `json:"url,omitempty"`
 
@@ -1235,15 +905,10 @@
 
 // ListQueuesResponse: Response message for ListQueues.
 type ListQueuesResponse struct {
-	// NextPageToken: A token to retrieve next page of results.
-	//
-	// To return the next page of results, call
-	// ListQueues with this value as the
-	// page_token.
-	//
-	// If the next_page_token is empty, there are no more results.
-	//
-	// The page token is valid for only 2 hours.
+	// NextPageToken: A token to retrieve next page of results. To return
+	// the next page of results, call ListQueues with this value as the
+	// page_token. If the next_page_token is empty, there are no more
+	// results. The page token is valid for only 2 hours.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Queues: The list of queues.
@@ -1279,13 +944,10 @@
 // ListTasksResponse: Response message for listing tasks using
 // ListTasks.
 type ListTasksResponse struct {
-	// NextPageToken: A token to retrieve next page of results.
-	//
-	// To return the next page of results, call
-	// ListTasks with this value as the
-	// page_token.
-	//
-	// If the next_page_token is empty, there are no more results.
+	// NextPageToken: A token to retrieve next page of results. To return
+	// the next page of results, call ListTasks with this value as the
+	// page_token. If the next_page_token is empty, there are no more
+	// results.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Tasks: The list of tasks.
@@ -1321,13 +983,11 @@
 // Location: A resource that represents Google Cloud Platform location.
 type Location struct {
 	// DisplayName: The friendly name for this location, typically a nearby
-	// city name.
-	// For example, "Tokyo".
+	// city name. For example, "Tokyo".
 	DisplayName string `json:"displayName,omitempty"`
 
 	// Labels: Cross-service attributes for the location. For example
-	//
-	//     {"cloud.googleapis.com/region": "us-east1"}
+	// {"cloud.googleapis.com/region": "us-east1"}
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// LocationId: The canonical id for this location. For example:
@@ -1335,13 +995,12 @@
 	LocationId string `json:"locationId,omitempty"`
 
 	// Metadata: Service-specific metadata. For example the available
-	// capacity at the given
-	// location.
+	// capacity at the given location.
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Name: Resource name for the location, which may vary between
-	// implementations.
-	// For example: "projects/example-project/locations/us-east1"
+	// implementations. For example:
+	// "projects/example-project/locations/us-east1"
 	Name string `json:"name,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1371,27 +1030,21 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// OAuthToken: Contains information needed for generating an
-// [OAuth
-// token](https://developers.google.com/identity/protocols/OAuth2).
-// This type of authorization should generally only be used when calling
-// Google
-// APIs hosted on *.googleapis.com.
+// OAuthToken: Contains information needed for generating an [OAuth
+// token](https://developers.google.com/identity/protocols/OAuth2). This
+// type of authorization should generally only be used when calling
+// Google APIs hosted on *.googleapis.com.
 type OAuthToken struct {
-	// Scope: OAuth scope to be used for generating OAuth access token.
-	// If not specified,
-	// "https://www.googleapis.com/auth/cloud-platform"
-	// will be used.
+	// Scope: OAuth scope to be used for generating OAuth access token. If
+	// not specified, "https://www.googleapis.com/auth/cloud-platform" will
+	// be used.
 	Scope string `json:"scope,omitempty"`
 
 	// ServiceAccountEmail: [Service account
-	// email](https://cloud.google.com/iam/docs/service-accounts)
-	// to be used for generating OAuth token.
-	// The service account must be within the same project as the queue.
-	// The
-	// caller must have iam.serviceAccounts.actAs permission for the
-	// service
-	// account.
+	// email](https://cloud.google.com/iam/docs/service-accounts) to be used
+	// for generating OAuth token. The service account must be within the
+	// same project as the queue. The caller must have
+	// iam.serviceAccounts.actAs permission for the service account.
 	ServiceAccountEmail string `json:"serviceAccountEmail,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Scope") to
@@ -1417,30 +1070,22 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// OidcToken: Contains information needed for generating an
-// [OpenID
+// OidcToken: Contains information needed for generating an [OpenID
 // Connect
-// token](https://developers.google.com/identity/protocols/OpenID
-// Connect).
-// This type of authorization can be used for many scenarios,
-// including
-// calling Cloud Run, or endpoints where you intend to validate the
-// token
-// yourself.
+// token](https://developers.google.com/identity/protocols/OpenIDConnect)
+// . This type of authorization can be used for many scenarios,
+// including calling Cloud Run, or endpoints where you intend to
+// validate the token yourself.
 type OidcToken struct {
 	// Audience: Audience to be used when generating OIDC token. If not
-	// specified, the URI
-	// specified in target will be used.
+	// specified, the URI specified in target will be used.
 	Audience string `json:"audience,omitempty"`
 
 	// ServiceAccountEmail: [Service account
-	// email](https://cloud.google.com/iam/docs/service-accounts)
-	// to be used for generating OIDC token.
-	// The service account must be within the same project as the queue.
-	// The
-	// caller must have iam.serviceAccounts.actAs permission for the
-	// service
-	// account.
+	// email](https://cloud.google.com/iam/docs/service-accounts) to be used
+	// for generating OIDC token. The service account must be within the
+	// same project as the queue. The caller must have
+	// iam.serviceAccounts.actAs permission for the service account.
 	ServiceAccountEmail string `json:"serviceAccountEmail,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Audience") to
@@ -1471,150 +1116,73 @@
 }
 
 // Policy: An Identity and Access Management (IAM) policy, which
-// specifies access
-// controls for Google Cloud resources.
-//
-//
-// A `Policy` is a collection of `bindings`. A `binding` binds one or
-// more
-// `members` to a single `role`. Members can be user accounts, service
-// accounts,
+// specifies access controls for Google Cloud resources. A `Policy` is a
+// collection of `bindings`. A `binding` binds one or more `members` to
+// a single `role`. Members can be user accounts, service accounts,
 // Google groups, and domains (such as G Suite). A `role` is a named
-// list of
-// permissions; each `role` can be an IAM predefined role or a
-// user-created
-// custom role.
-//
-// For some types of Google Cloud resources, a `binding` can also
-// specify a
-// `condition`, which is a logical expression that allows access to a
-// resource
-// only if the expression evaluates to `true`. A condition can add
-// constraints
-// based on attributes of the request, the resource, or both. To learn
-// which
-// resources support conditions in their IAM policies, see the
-// [IAM
+// list of permissions; each `role` can be an IAM predefined role or a
+// user-created custom role. For some types of Google Cloud resources, a
+// `binding` can also specify a `condition`, which is a logical
+// expression that allows access to a resource only if the expression
+// evaluates to `true`. A condition can add constraints based on
+// attributes of the request, the resource, or both. To learn which
+// resources support conditions in their IAM policies, see the [IAM
 // documentation](https://cloud.google.com/iam/help/conditions/resource-p
-// olicies).
-//
-// **JSON example:**
-//
-//     {
-//       "bindings": [
-//         {
-//           "role": "roles/resourcemanager.organizationAdmin",
-//           "members": [
-//             "user:mike@example.com",
-//             "group:admins@example.com",
-//             "domain:google.com",
-//
-// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
-//           ]
-//         },
-//         {
-//           "role": "roles/resourcemanager.organizationViewer",
-//           "members": [
-//             "user:eve@example.com"
-//           ],
-//           "condition": {
-//             "title": "expirable access",
-//             "description": "Does not grant access after Sep 2020",
-//             "expression": "request.time <
-// timestamp('2020-10-01T00:00:00.000Z')",
-//           }
-//         }
-//       ],
-//       "etag": "BwWWja0YfJA=",
-//       "version": 3
-//     }
-//
-// **YAML example:**
-//
-//     bindings:
-//     - members:
-//       - user:mike@example.com
-//       - group:admins@example.com
-//       - domain:google.com
-//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
-//       role: roles/resourcemanager.organizationAdmin
-//     - members:
-//       - user:eve@example.com
-//       role: roles/resourcemanager.organizationViewer
-//       condition:
-//         title: expirable access
-//         description: Does not grant access after Sep 2020
-//         expression: request.time <
-// timestamp('2020-10-01T00:00:00.000Z')
-//     - etag: BwWWja0YfJA=
-//     - version: 3
-//
-// For a description of IAM and its features, see the
-// [IAM documentation](https://cloud.google.com/iam/docs/).
+// olicies). **JSON example:** { "bindings": [ { "role":
+// "roles/resourcemanager.organizationAdmin", "members": [
+// "user:mike@example.com", "group:admins@example.com",
+// "domain:google.com",
+// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
+// "role": "roles/resourcemanager.organizationViewer", "members": [
+// "user:eve@example.com" ], "condition": { "title": "expirable access",
+// "description": "Does not grant access after Sep 2020", "expression":
+// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
+// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
+// members: - user:mike@example.com - group:admins@example.com -
+// domain:google.com -
+// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
+// roles/resourcemanager.organizationAdmin - members: -
+// user:eve@example.com role: roles/resourcemanager.organizationViewer
+// condition: title: expirable access description: Does not grant access
+// after Sep 2020 expression: request.time <
+// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
+// 3 For a description of IAM and its features, see the [IAM
+// documentation](https://cloud.google.com/iam/docs/).
 type Policy struct {
 	// Bindings: Associates a list of `members` to a `role`. Optionally, may
-	// specify a
-	// `condition` that determines how and when the `bindings` are applied.
-	// Each
-	// of the `bindings` must contain at least one member.
+	// specify a `condition` that determines how and when the `bindings` are
+	// applied. Each of the `bindings` must contain at least one member.
 	Bindings []*Binding `json:"bindings,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a policy from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform policy updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `getIamPolicy`,
-	// and
-	// systems are expected to put that etag in the request to
-	// `setIamPolicy` to
-	// ensure that their change will be applied to the same version of the
-	// policy.
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
+	// help prevent simultaneous updates of a policy from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform policy updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `getIamPolicy`, and systems are expected to put that etag in the
+	// request to `setIamPolicy` to ensure that their change will be applied
+	// to the same version of the policy. **Important:** If you use IAM
+	// Conditions, you must include the `etag` field whenever you call
+	// `setIamPolicy`. If you omit this field, then IAM allows you to
+	// overwrite a version `3` policy with a version `1` policy, and all of
 	// the conditions in the version `3` policy are lost.
 	Etag string `json:"etag,omitempty"`
 
-	// Version: Specifies the format of the policy.
-	//
-	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
-	// value
-	// are rejected.
-	//
+	// Version: Specifies the format of the policy. Valid values are `0`,
+	// `1`, and `3`. Requests that specify an invalid value are rejected.
 	// Any operation that affects conditional role bindings must specify
-	// version
-	// `3`. This requirement applies to the following operations:
-	//
-	// * Getting a policy that includes a conditional role binding
-	// * Adding a conditional role binding to a policy
-	// * Changing a conditional role binding in a policy
-	// * Removing any role binding, with or without a condition, from a
-	// policy
-	//   that includes conditions
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
-	// the conditions in the version `3` policy are lost.
-	//
-	// If a policy does not include any conditions, operations on that
-	// policy may
-	// specify any valid version or leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see the
-	// [IAM
+	// version `3`. This requirement applies to the following operations: *
+	// Getting a policy that includes a conditional role binding * Adding a
+	// conditional role binding to a policy * Changing a conditional role
+	// binding in a policy * Removing any role binding, with or without a
+	// condition, from a policy that includes conditions **Important:** If
+	// you use IAM Conditions, you must include the `etag` field whenever
+	// you call `setIamPolicy`. If you omit this field, then IAM allows you
+	// to overwrite a version `3` policy with a version `1` policy, and all
+	// of the conditions in the version `3` policy are lost. If a policy
+	// does not include any conditions, operations on that policy may
+	// specify any valid version or leave the field unset. To learn which
+	// resources support conditions in their IAM policies, see the [IAM
 	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
 	// olicies).
 	Version int64 `json:"version,omitempty"`
@@ -1651,164 +1219,100 @@
 }
 
 // Queue: A queue is a container of related tasks. Queues are configured
-// to manage
-// how those tasks are dispatched. Configurable properties include rate
-// limits,
-// retry options, queue types, and others.
+// to manage how those tasks are dispatched. Configurable properties
+// include rate limits, retry options, queue types, and others.
 type Queue struct {
-	// AppEngineHttpQueue: AppEngineHttpQueue settings apply only to
-	// App Engine tasks in this queue.
-	// Http tasks are not affected by this proto.
+	// AppEngineHttpQueue: AppEngineHttpQueue settings apply only to App
+	// Engine tasks in this queue. Http tasks are not affected by this
+	// proto.
 	AppEngineHttpQueue *AppEngineHttpQueue `json:"appEngineHttpQueue,omitempty"`
 
-	// Name: Caller-specified and required in CreateQueue,
-	// after which it becomes output only.
-	//
-	// The queue name.
-	//
-	// The queue name must have the following
-	// format:
-	// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`
-	//
-	// *
-	//  `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
-	//    hyphens (-), colons (:), or periods (.).
-	//    For more information, see
-	//    [Identifying
-	//
+	// Name: Caller-specified and required in CreateQueue, after which it
+	// becomes output only. The queue name. The queue name must have the
+	// following format:
+	// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` *
+	// `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens
+	// (-), colons (:), or periods (.). For more information, see
+	// [Identifying
 	// projects](https://cloud.google.com/resource-manager/docs/creating-mana
-	// ging-projects#identifying_projects)
-	// * `LOCATION_ID` is the canonical ID for the queue's location.
-	//    The list of available locations can be obtained by calling
-	//    ListLocations.
-	//    For more information, see
-	// https://cloud.google.com/about/locations/.
-	// * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or
-	//   hyphens (-). The maximum length is 100 characters.
+	// ging-projects#identifying_projects) * `LOCATION_ID` is the canonical
+	// ID for the queue's location. The list of available locations can be
+	// obtained by calling ListLocations. For more information, see
+	// https://cloud.google.com/about/locations/. * `QUEUE_ID` can contain
+	// letters ([A-Za-z]), numbers ([0-9]), or hyphens (-). The maximum
+	// length is 100 characters.
 	Name string `json:"name,omitempty"`
 
-	// PurgeTime: Output only. The last time this queue was purged.
-	//
-	// All tasks that were created before this time
-	// were purged.
-	//
-	// A queue can be purged using PurgeQueue, the
-	// [App Engine Task Queue SDK, or the
-	// Cloud
-	// Console](https://cloud.google.com/appengine/docs/standard/python
-	// /taskqueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_que
-	// ue).
-	//
-	// Purge time will be truncated to the nearest microsecond. Purge
-	// time will be unset if the queue has never been purged.
+	// PurgeTime: Output only. The last time this queue was purged. All
+	// tasks that were created before this time were purged. A queue can be
+	// purged using PurgeQueue, the [App Engine Task Queue SDK, or the Cloud
+	// Console](https://cloud.google.com/appengine/docs/standard/python/taskq
+	// ueue/push/deleting-tasks-and-queues#purging_all_tasks_from_a_queue).
+	// Purge time will be truncated to the nearest microsecond. Purge time
+	// will be unset if the queue has never been purged.
 	PurgeTime string `json:"purgeTime,omitempty"`
 
-	// RateLimits: Rate limits for task dispatches.
-	//
-	// rate_limits and retry_config are
-	// related because they both control task attempts. However they control
-	// task
-	// attempts in different ways:
-	//
-	// * rate_limits controls the total rate of
-	//   dispatches from a queue (i.e. all traffic dispatched from the
-	//   queue, regardless of whether the dispatch is from a first
-	//   attempt or a retry).
-	// * retry_config controls what happens to
-	//   particular a task after its first attempt fails. That is,
-	//   retry_config controls task retries (the
-	//   second attempt, third attempt, etc).
-	//
-	// The queue's actual dispatch rate is the result of:
-	//
-	// * Number of tasks in the queue
-	// * User-specified throttling: rate_limits,
-	//   retry_config, and the
-	//   queue's state.
-	// * System throttling due to `429` (Too Many Requests) or `503`
-	// (Service
-	//   Unavailable) responses from the worker, high error rates, or to
-	// smooth
-	//   sudden large traffic spikes.
+	// RateLimits: Rate limits for task dispatches. rate_limits and
+	// retry_config are related because they both control task attempts.
+	// However they control task attempts in different ways: * rate_limits
+	// controls the total rate of dispatches from a queue (i.e. all traffic
+	// dispatched from the queue, regardless of whether the dispatch is from
+	// a first attempt or a retry). * retry_config controls what happens to
+	// particular a task after its first attempt fails. That is,
+	// retry_config controls task retries (the second attempt, third
+	// attempt, etc). The queue's actual dispatch rate is the result of: *
+	// Number of tasks in the queue * User-specified throttling:
+	// rate_limits, retry_config, and the queue's state. * System throttling
+	// due to `429` (Too Many Requests) or `503` (Service Unavailable)
+	// responses from the worker, high error rates, or to smooth sudden
+	// large traffic spikes.
 	RateLimits *RateLimits `json:"rateLimits,omitempty"`
 
-	// RetryConfig: Settings that determine the retry behavior.
-	//
-	// * For tasks created using Cloud Tasks: the queue-level retry
-	// settings
-	//   apply to all tasks in the queue that were created using Cloud
-	// Tasks.
-	//   Retry settings cannot be set on individual tasks.
-	// * For tasks created using the App Engine SDK: the queue-level retry
-	//   settings apply to all tasks in the queue which do not have retry
-	// settings
-	//   explicitly set on the task and were created by the App Engine SDK.
-	// See
-	//   [App Engine
-	//
+	// RetryConfig: Settings that determine the retry behavior. * For tasks
+	// created using Cloud Tasks: the queue-level retry settings apply to
+	// all tasks in the queue that were created using Cloud Tasks. Retry
+	// settings cannot be set on individual tasks. * For tasks created using
+	// the App Engine SDK: the queue-level retry settings apply to all tasks
+	// in the queue which do not have retry settings explicitly set on the
+	// task and were created by the App Engine SDK. See [App Engine
 	// documentation](https://cloud.google.com/appengine/docs/standard/python
 	// /taskqueue/push/retrying-tasks).
 	RetryConfig *RetryConfig `json:"retryConfig,omitempty"`
 
-	// StackdriverLoggingConfig: Configuration options for writing logs
-	// to
+	// StackdriverLoggingConfig: Configuration options for writing logs to
 	// [Stackdriver Logging](https://cloud.google.com/logging/docs/). If
-	// this
-	// field is unset, then no logs are written.
+	// this field is unset, then no logs are written.
 	StackdriverLoggingConfig *StackdriverLoggingConfig `json:"stackdriverLoggingConfig,omitempty"`
 
-	// State: Output only. The state of the queue.
-	//
-	// `state` can only be changed by called
-	// PauseQueue,
-	// ResumeQueue, or
-	// uploading
-	// [queue.yaml/xml](https://cloud.google.com/appengine/docs/pyt
-	// hon/config/queueref).
-	// UpdateQueue cannot be used to change `state`.
+	// State: Output only. The state of the queue. `state` can only be
+	// changed by called PauseQueue, ResumeQueue, or uploading
+	// [queue.yaml/xml](https://cloud.google.com/appengine/docs/python/config
+	// /queueref). UpdateQueue cannot be used to change `state`.
 	//
 	// Possible values:
 	//   "STATE_UNSPECIFIED" - Unspecified state.
-	//   "RUNNING" - The queue is running. Tasks can be dispatched.
-	//
-	// If the queue was created using Cloud Tasks and the queue has
-	// had no activity (method calls or task dispatches) for 30 days,
-	// the queue may take a few minutes to re-activate. Some method
-	// calls may return NOT_FOUND and
-	// tasks may not be dispatched for a few minutes until the queue
-	// has been re-activated.
+	//   "RUNNING" - The queue is running. Tasks can be dispatched. If the
+	// queue was created using Cloud Tasks and the queue has had no activity
+	// (method calls or task dispatches) for 30 days, the queue may take a
+	// few minutes to re-activate. Some method calls may return NOT_FOUND
+	// and tasks may not be dispatched for a few minutes until the queue has
+	// been re-activated.
 	//   "PAUSED" - Tasks are paused by the user. If the queue is paused
-	// then Cloud
-	// Tasks will stop delivering tasks from it, but more tasks can
-	// still be added to it by the user.
-	//   "DISABLED" - The queue is disabled.
-	//
-	// A queue becomes `DISABLED`
-	// when
-	// [queue.yaml](https://cloud.google.com/appengine/docs/python/confi
-	// g/queueref)
-	// or
-	// [queue.xml](https://cloud.google.com/appengine/docs/sta
-	// ndard/java/config/queueref)
-	// is uploaded which does not contain the queue. You cannot directly
-	// disable
-	// a queue.
-	//
-	// When a queue is disabled, tasks can still be added to a queue
-	// but the tasks are not dispatched.
-	//
-	// To permanently delete this queue and all of its tasks,
-	// call
-	// DeleteQueue.
+	// then Cloud Tasks will stop delivering tasks from it, but more tasks
+	// can still be added to it by the user.
+	//   "DISABLED" - The queue is disabled. A queue becomes `DISABLED` when
+	// [queue.yaml](https://cloud.google.com/appengine/docs/python/config/que
+	// ueref) or
+	// [queue.xml](https://cloud.google.com/appengine/docs/standard/java/conf
+	// ig/queueref) is uploaded which does not contain the queue. You cannot
+	// directly disable a queue. When a queue is disabled, tasks can still
+	// be added to a queue but the tasks are not dispatched. To permanently
+	// delete this queue and all of its tasks, call DeleteQueue.
 	State string `json:"state,omitempty"`
 
-	// Type: Immutable. The type of a queue (push or pull).
-	//
-	// `Queue.type` is an immutable property of the queue that is set at the
-	// queue
-	// creation time. When left unspecified, the default value of `PUSH`
-	// is
-	// selected.
+	// Type: Immutable. The type of a queue (push or pull). `Queue.type` is
+	// an immutable property of the queue that is set at the queue creation
+	// time. When left unspecified, the default value of `PUSH` is selected.
 	//
 	// Possible values:
 	//   "TYPE_UNSPECIFIED" - Default value.
@@ -1844,99 +1348,54 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// RateLimits: Rate limits.
-//
-// This message determines the maximum rate that tasks can be dispatched
-// by a
-// queue, regardless of whether the dispatch is a first task attempt or
-// a retry.
-//
-// Note: The debugging command, RunTask, will run a task
-// even if the queue has reached its RateLimits.
+// RateLimits: Rate limits. This message determines the maximum rate
+// that tasks can be dispatched by a queue, regardless of whether the
+// dispatch is a first task attempt or a retry. Note: The debugging
+// command, RunTask, will run a task even if the queue has reached its
+// RateLimits.
 type RateLimits struct {
-	// MaxBurstSize: Output only. The max burst size.
-	//
-	// Max burst size limits how fast tasks in queue are processed when
-	// many tasks are in the queue and the rate is high. This field
-	// allows the queue to have a high rate so processing starts
-	// shortly
-	// after a task is enqueued, but still limits resource usage when
-	// many tasks are enqueued in a short period of time.
-	//
-	// The [token bucket](https://wikipedia.org/wiki/Token_Bucket)
-	// algorithm is used to control the rate of task dispatches. Each
-	// queue has a token bucket that holds tokens, up to the
-	// maximum
-	// specified by `max_burst_size`. Each time a task is dispatched,
-	// a
-	// token is removed from the bucket. Tasks will be dispatched until
-	// the queue's bucket runs out of tokens. The bucket will
-	// be
-	// continuously refilled with new tokens based
-	// on
-	// max_dispatches_per_second.
-	//
-	// Cloud Tasks will pick the value of `max_burst_size` based on
-	// the
-	// value of
-	// max_dispatches_per_second.
-	//
-	// For App Engine queues that were created or updated
-	// using
-	// `queue.yaml/xml`, `max_burst_size` is equal
-	// to
-	// [bucket_size](https://cloud.google.com/appengine/docs/standard/pyth
-	// on/config/queueref#bucket_size).
-	// Since `max_burst_size` is output only, if
-	// UpdateQueue is called on a queue
-	// created by `queue.yaml/xml`, `max_burst_size` will be reset based
-	// on the value of
-	// max_dispatches_per_second,
-	// regardless of whether
-	// max_dispatches_per_second
-	// is updated.
-	//
+	// MaxBurstSize: Output only. The max burst size. Max burst size limits
+	// how fast tasks in queue are processed when many tasks are in the
+	// queue and the rate is high. This field allows the queue to have a
+	// high rate so processing starts shortly after a task is enqueued, but
+	// still limits resource usage when many tasks are enqueued in a short
+	// period of time. The [token
+	// bucket](https://wikipedia.org/wiki/Token_Bucket) algorithm is used to
+	// control the rate of task dispatches. Each queue has a token bucket
+	// that holds tokens, up to the maximum specified by `max_burst_size`.
+	// Each time a task is dispatched, a token is removed from the bucket.
+	// Tasks will be dispatched until the queue's bucket runs out of tokens.
+	// The bucket will be continuously refilled with new tokens based on
+	// max_dispatches_per_second. Cloud Tasks will pick the value of
+	// `max_burst_size` based on the value of max_dispatches_per_second. For
+	// App Engine queues that were created or updated using
+	// `queue.yaml/xml`, `max_burst_size` is equal to
+	// [bucket_size](https://cloud.google.com/appengine/docs/standard/python/
+	// config/queueref#bucket_size). Since `max_burst_size` is output only,
+	// if UpdateQueue is called on a queue created by `queue.yaml/xml`,
+	// `max_burst_size` will be reset based on the value of
+	// max_dispatches_per_second, regardless of whether
+	// max_dispatches_per_second is updated.
 	MaxBurstSize int64 `json:"maxBurstSize,omitempty"`
 
 	// MaxConcurrentDispatches: The maximum number of concurrent tasks that
-	// Cloud Tasks allows
-	// to be dispatched for this queue. After this threshold has
-	// been
-	// reached, Cloud Tasks stops dispatching tasks until the number
-	// of
-	// concurrent requests decreases.
-	//
-	// If unspecified when the queue is created, Cloud Tasks will pick
-	// the
-	// default.
-	//
-	//
-	// The maximum allowed value is 5,000.
-	//
-	//
-	// This field has the same meaning as
-	// [max_concurrent_requests
-	// in
-	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/py
-	// thon/config/queueref#max_concurrent_requests).
+	// Cloud Tasks allows to be dispatched for this queue. After this
+	// threshold has been reached, Cloud Tasks stops dispatching tasks until
+	// the number of concurrent requests decreases. If unspecified when the
+	// queue is created, Cloud Tasks will pick the default. The maximum
+	// allowed value is 5,000. This field has the same meaning as
+	// [max_concurrent_requests in
+	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/pytho
+	// n/config/queueref#max_concurrent_requests).
 	MaxConcurrentDispatches int64 `json:"maxConcurrentDispatches,omitempty"`
 
 	// MaxDispatchesPerSecond: The maximum rate at which tasks are
-	// dispatched from this queue.
-	//
-	// If unspecified when the queue is created, Cloud Tasks will pick
-	// the
-	// default.
-	//
-	// * For App Engine queues, the maximum allowed value
-	//   is 500.
-	//
-	//
-	// This field has the same meaning as
-	// [rate
-	// in
-	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/py
-	// thon/config/queueref#rate).
+	// dispatched from this queue. If unspecified when the queue is created,
+	// Cloud Tasks will pick the default. * For App Engine queues, the
+	// maximum allowed value is 500. This field has the same meaning as
+	// [rate in
+	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/pytho
+	// n/config/queueref#rate).
 	MaxDispatchesPerSecond float64 `json:"maxDispatchesPerSecond,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "MaxBurstSize") to
@@ -1980,131 +1439,65 @@
 type ResumeQueueRequest struct {
 }
 
-// RetryConfig: Retry config.
-//
-// These settings determine when a failed task attempt is retried.
+// RetryConfig: Retry config. These settings determine when a failed
+// task attempt is retried.
 type RetryConfig struct {
-	// MaxAttempts: Number of attempts per task.
-	//
-	// Cloud Tasks will attempt the task `max_attempts` times (that is, if
-	// the
-	// first attempt fails, then there will be `max_attempts - 1` retries).
-	// Must
-	// be >= -1.
-	//
-	// If unspecified when the queue is created, Cloud Tasks will pick
-	// the
-	// default.
-	//
-	// -1 indicates unlimited attempts.
-	//
-	// This field has the same meaning as
-	// [task_retry_limit
-	// in
-	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/py
-	// thon/config/queueref#retry_parameters).
+	// MaxAttempts: Number of attempts per task. Cloud Tasks will attempt
+	// the task `max_attempts` times (that is, if the first attempt fails,
+	// then there will be `max_attempts - 1` retries). Must be >= -1. If
+	// unspecified when the queue is created, Cloud Tasks will pick the
+	// default. -1 indicates unlimited attempts. This field has the same
+	// meaning as [task_retry_limit in
+	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/pytho
+	// n/config/queueref#retry_parameters).
 	MaxAttempts int64 `json:"maxAttempts,omitempty"`
 
-	// MaxBackoff: A task will be scheduled for retry between
-	// min_backoff and
-	// max_backoff duration after it fails,
-	// if the queue's RetryConfig specifies that the task should
-	// be
-	// retried.
-	//
-	// If unspecified when the queue is created, Cloud Tasks will pick
-	// the
-	// default.
-	//
-	//
-	// `max_backoff` will be truncated to the nearest second.
-	//
-	// This field has the same meaning as
-	// [max_backoff_seconds
-	// in
-	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/py
-	// thon/config/queueref#retry_parameters).
+	// MaxBackoff: A task will be scheduled for retry between min_backoff
+	// and max_backoff duration after it fails, if the queue's RetryConfig
+	// specifies that the task should be retried. If unspecified when the
+	// queue is created, Cloud Tasks will pick the default. `max_backoff`
+	// will be truncated to the nearest second. This field has the same
+	// meaning as [max_backoff_seconds in
+	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/pytho
+	// n/config/queueref#retry_parameters).
 	MaxBackoff string `json:"maxBackoff,omitempty"`
 
 	// MaxDoublings: The time between retries will double `max_doublings`
-	// times.
-	//
-	// A task's retry interval starts at
-	// min_backoff, then doubles
-	// `max_doublings` times, then increases linearly, and finally
-	// retries at intervals of
-	// max_backoff up to
-	// max_attempts times.
-	//
-	// For example, if min_backoff is 10s,
-	// max_backoff is 300s, and
-	// `max_doublings` is 3, then the a task will first be retried in
-	// 10s. The retry interval will double three times, and then
-	// increase linearly by 2^3 * 10s.  Finally, the task will retry
-	// at
-	// intervals of max_backoff until the
-	// task has been attempted max_attempts
-	// times. Thus, the requests will retry at 10s, 20s, 40s, 80s,
-	// 160s,
-	// 240s, 300s, 300s, ....
-	//
-	// If unspecified when the queue is created, Cloud Tasks will pick
-	// the
-	// default.
-	//
-	//
-	// This field has the same meaning as
-	// [max_doublings
-	// in
-	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/py
-	// thon/config/queueref#retry_parameters).
+	// times. A task's retry interval starts at min_backoff, then doubles
+	// `max_doublings` times, then increases linearly, and finally retries
+	// at intervals of max_backoff up to max_attempts times. For example, if
+	// min_backoff is 10s, max_backoff is 300s, and `max_doublings` is 3,
+	// then the a task will first be retried in 10s. The retry interval will
+	// double three times, and then increase linearly by 2^3 * 10s. Finally,
+	// the task will retry at intervals of max_backoff until the task has
+	// been attempted max_attempts times. Thus, the requests will retry at
+	// 10s, 20s, 40s, 80s, 160s, 240s, 300s, 300s, .... If unspecified when
+	// the queue is created, Cloud Tasks will pick the default. This field
+	// has the same meaning as [max_doublings in
+	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/pytho
+	// n/config/queueref#retry_parameters).
 	MaxDoublings int64 `json:"maxDoublings,omitempty"`
 
 	// MaxRetryDuration: If positive, `max_retry_duration` specifies the
-	// time limit for
-	// retrying a failed task, measured from when the task was
-	// first
-	// attempted. Once `max_retry_duration` time has passed *and* the
-	// task has been attempted max_attempts
-	// times, no further attempts will be made and the task will
-	// be
-	// deleted.
-	//
-	// If zero, then the task age is unlimited.
-	//
-	// If unspecified when the queue is created, Cloud Tasks will pick
-	// the
-	// default.
-	//
-	//
-	// `max_retry_duration` will be truncated to the nearest second.
-	//
-	// This field has the same meaning as
-	// [task_age_limit
-	// in
-	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/py
-	// thon/config/queueref#retry_parameters).
+	// time limit for retrying a failed task, measured from when the task
+	// was first attempted. Once `max_retry_duration` time has passed *and*
+	// the task has been attempted max_attempts times, no further attempts
+	// will be made and the task will be deleted. If zero, then the task age
+	// is unlimited. If unspecified when the queue is created, Cloud Tasks
+	// will pick the default. `max_retry_duration` will be truncated to the
+	// nearest second. This field has the same meaning as [task_age_limit in
+	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/pytho
+	// n/config/queueref#retry_parameters).
 	MaxRetryDuration string `json:"maxRetryDuration,omitempty"`
 
-	// MinBackoff: A task will be scheduled for retry between
-	// min_backoff and
-	// max_backoff duration after it fails,
-	// if the queue's RetryConfig specifies that the task should
-	// be
-	// retried.
-	//
-	// If unspecified when the queue is created, Cloud Tasks will pick
-	// the
-	// default.
-	//
-	//
-	// `min_backoff` will be truncated to the nearest second.
-	//
-	// This field has the same meaning as
-	// [min_backoff_seconds
-	// in
-	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/py
-	// thon/config/queueref#retry_parameters).
+	// MinBackoff: A task will be scheduled for retry between min_backoff
+	// and max_backoff duration after it fails, if the queue's RetryConfig
+	// specifies that the task should be retried. If unspecified when the
+	// queue is created, Cloud Tasks will pick the default. `min_backoff`
+	// will be truncated to the nearest second. This field has the same
+	// meaning as [min_backoff_seconds in
+	// queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/pytho
+	// n/config/queueref#retry_parameters).
 	MinBackoff string `json:"minBackoff,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "MaxAttempts") to
@@ -2130,45 +1523,28 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// RunTaskRequest: Request message for forcing a task to run now
-// using
+// RunTaskRequest: Request message for forcing a task to run now using
 // RunTask.
 type RunTaskRequest struct {
 	// ResponseView: The response_view specifies which subset of the Task
-	// will be
-	// returned.
-	//
-	// By default response_view is BASIC; not all
-	// information is retrieved by default because some data, such
-	// as
-	// payloads, might be desirable to return only when needed because
-	// of its large size or because of the sensitivity of data that
-	// it
-	// contains.
-	//
-	// Authorization for FULL requires
-	// `cloudtasks.tasks.fullView` [Google
-	// IAM](https://cloud.google.com/iam/)
-	// permission on the Task resource.
+	// will be returned. By default response_view is BASIC; not all
+	// information is retrieved by default because some data, such as
+	// payloads, might be desirable to return only when needed because of
+	// its large size or because of the sensitivity of data that it
+	// contains. Authorization for FULL requires `cloudtasks.tasks.fullView`
+	// [Google IAM](https://cloud.google.com/iam/) permission on the Task
+	// resource.
 	//
 	// Possible values:
 	//   "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC.
 	//   "BASIC" - The basic view omits fields which can be large or can
-	// contain
-	// sensitive data.
-	//
-	// This view does not include the
-	// body in AppEngineHttpRequest.
-	// Bodies are desirable to return only when needed, because they
-	// can be large and because of the sensitivity of the data that
-	// you
-	// choose to store in it.
-	//   "FULL" - All information is returned.
-	//
-	// Authorization for FULL requires
-	// `cloudtasks.tasks.fullView` [Google
-	// IAM](https://cloud.google.com/iam/)
-	// permission on the Queue resource.
+	// contain sensitive data. This view does not include the body in
+	// AppEngineHttpRequest. Bodies are desirable to return only when
+	// needed, because they can be large and because of the sensitivity of
+	// the data that you choose to store in it.
+	//   "FULL" - All information is returned. Authorization for FULL
+	// requires `cloudtasks.tasks.fullView` [Google
+	// IAM](https://cloud.google.com/iam/) permission on the Queue resource.
 	ResponseView string `json:"responseView,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ResponseView") to
@@ -2197,11 +1573,9 @@
 // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
 type SetIamPolicyRequest struct {
 	// Policy: REQUIRED: The complete policy to be applied to the
-	// `resource`. The size of
-	// the policy is limited to a few 10s of KB. An empty policy is a
-	// valid policy but certain Cloud Platform services (such as
-	// Projects)
-	// might reject them.
+	// `resource`. The size of the policy is limited to a few 10s of KB. An
+	// empty policy is a valid policy but certain Cloud Platform services
+	// (such as Projects) might reject them.
 	Policy *Policy `json:"policy,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Policy") to
@@ -2227,15 +1601,13 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// StackdriverLoggingConfig: Configuration options for writing logs
-// to
+// StackdriverLoggingConfig: Configuration options for writing logs to
 // [Stackdriver Logging](https://cloud.google.com/logging/docs/).
 type StackdriverLoggingConfig struct {
-	// SamplingRatio: Specifies the fraction of operations to write
-	// to
-	// [Stackdriver Logging](https://cloud.google.com/logging/docs/).
-	// This field may contain any value between 0.0 and 1.0, inclusive.
-	// 0.0 is the default and means that no operations are logged.
+	// SamplingRatio: Specifies the fraction of operations to write to
+	// [Stackdriver Logging](https://cloud.google.com/logging/docs/). This
+	// field may contain any value between 0.0 and 1.0, inclusive. 0.0 is
+	// the default and means that no operations are logged.
 	SamplingRatio float64 `json:"samplingRatio,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "SamplingRatio") to
@@ -2276,32 +1648,24 @@
 }
 
 // Status: The `Status` type defines a logical error model that is
-// suitable for
-// different programming environments, including REST APIs and RPC APIs.
-// It is
-// used by [gRPC](https://github.com/grpc). Each `Status` message
-// contains
-// three pieces of data: error code, error message, and error
-// details.
-//
-// You can find out more about this error model and how to work with it
-// in the
-// [API Design Guide](https://cloud.google.com/apis/design/errors).
+// suitable for different programming environments, including REST APIs
+// and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each
+// `Status` message contains three pieces of data: error code, error
+// message, and error details. You can find out more about this error
+// model and how to work with it in the [API Design
+// Guide](https://cloud.google.com/apis/design/errors).
 type Status struct {
 	// Code: The status code, which should be an enum value of
 	// google.rpc.Code.
 	Code int64 `json:"code,omitempty"`
 
-	// Details: A list of messages that carry the error details.  There is a
-	// common set of
-	// message types for APIs to use.
+	// Details: A list of messages that carry the error details. There is a
+	// common set of message types for APIs to use.
 	Details []googleapi.RawMessage `json:"details,omitempty"`
 
 	// Message: 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.
+	// English. Any user-facing error message should be localized and sent
+	// in the google.rpc.Status.details field, or localized by the client.
 	Message string `json:"message,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Code") to
@@ -2330,153 +1694,97 @@
 // Task: A unit of scheduled work.
 type Task struct {
 	// AppEngineHttpRequest: HTTP request that is sent to the App Engine app
-	// handler.
-	//
-	// An App Engine task is a task that has AppEngineHttpRequest set.
+	// handler. An App Engine task is a task that has AppEngineHttpRequest
+	// set.
 	AppEngineHttpRequest *AppEngineHttpRequest `json:"appEngineHttpRequest,omitempty"`
 
-	// CreateTime: Output only. The time that the task was
-	// created.
-	//
+	// CreateTime: Output only. The time that the task was created.
 	// `create_time` will be truncated to the nearest second.
 	CreateTime string `json:"createTime,omitempty"`
 
-	// DispatchCount: Output only. The number of attempts dispatched.
-	//
-	// This count includes attempts which have been dispatched but
-	// haven't
+	// DispatchCount: Output only. The number of attempts dispatched. This
+	// count includes attempts which have been dispatched but haven't
 	// received a response.
 	DispatchCount int64 `json:"dispatchCount,omitempty"`
 
 	// DispatchDeadline: The deadline for requests sent to the worker. If
-	// the worker does not
-	// respond by this deadline then the request is cancelled and the
-	// attempt
-	// is marked as a `DEADLINE_EXCEEDED` failure. Cloud Tasks will retry
-	// the
-	// task according to the RetryConfig.
-	//
-	// Note that when the request is cancelled, Cloud Tasks will stop
-	// listening
+	// the worker does not respond by this deadline then the request is
+	// cancelled and the attempt is marked as a `DEADLINE_EXCEEDED` failure.
+	// Cloud Tasks will retry the task according to the RetryConfig. Note
+	// that when the request is cancelled, Cloud Tasks will stop listening
 	// for the response, but whether the worker stops processing depends on
-	// the
-	// worker. For example, if the worker is stuck, it may not react to
-	// cancelled
-	// requests.
-	//
-	// The default and maximum values depend on the type of request:
-	//
-	// * For HTTP tasks, the default is 10 minutes. The deadline
-	//   must be in the interval [15 seconds, 30 minutes].
-	//
-	// * For App Engine tasks, 0 indicates that the
-	//   request has the default deadline. The default deadline depends on
-	// the
-	//   [scaling
-	//
+	// the worker. For example, if the worker is stuck, it may not react to
+	// cancelled requests. The default and maximum values depend on the type
+	// of request: * For HTTP tasks, the default is 10 minutes. The deadline
+	// must be in the interval [15 seconds, 30 minutes]. * For App Engine
+	// tasks, 0 indicates that the request has the default deadline. The
+	// default deadline depends on the [scaling
 	// type](https://cloud.google.com/appengine/docs/standard/go/how-instance
-	// s-are-managed#instance_scaling)
-	//   of the service: 10 minutes for standard apps with automatic
-	// scaling, 24
-	//   hours for standard apps with manual and basic scaling, and 60
-	// minutes for
-	//   flex apps. If the request deadline is set, it must be in the
-	// interval [15
-	//   seconds, 24 hours 15 seconds]. Regardless of the task's
-	//   `dispatch_deadline`, the app handler will not run for longer than
-	// than
-	//   the service's timeout. We recommend setting the `dispatch_deadline`
-	// to
-	//   at most a few seconds more than the app handler's timeout. For
-	// more
-	//   information see
-	//
+	// s-are-managed#instance_scaling) of the service: 10 minutes for
+	// standard apps with automatic scaling, 24 hours for standard apps with
+	// manual and basic scaling, and 60 minutes for flex apps. If the
+	// request deadline is set, it must be in the interval [15 seconds, 24
+	// hours 15 seconds]. Regardless of the task's `dispatch_deadline`, the
+	// app handler will not run for longer than than the service's timeout.
+	// We recommend setting the `dispatch_deadline` to at most a few seconds
+	// more than the app handler's timeout. For more information see
 	// [Timeouts](https://cloud.google.com/tasks/docs/creating-appengine-hand
-	// lers#timeouts).
-	//
-	// `dispatch_deadline` will be truncated to the nearest millisecond.
-	// The
-	// deadline is an approximate deadline.
+	// lers#timeouts). `dispatch_deadline` will be truncated to the nearest
+	// millisecond. The deadline is an approximate deadline.
 	DispatchDeadline string `json:"dispatchDeadline,omitempty"`
 
-	// FirstAttempt: Output only. The status of the task's first
-	// attempt.
-	//
-	// Only dispatch_time will be set.
-	// The other Attempt information is not retained by Cloud Tasks.
+	// FirstAttempt: Output only. The status of the task's first attempt.
+	// Only dispatch_time will be set. The other Attempt information is not
+	// retained by Cloud Tasks.
 	FirstAttempt *Attempt `json:"firstAttempt,omitempty"`
 
-	// HttpRequest: HTTP request that is sent to the task's target.
-	//
-	// An HTTP task is a task that has HttpRequest set.
+	// HttpRequest: HTTP request that is sent to the task's target. An HTTP
+	// task is a task that has HttpRequest set.
 	HttpRequest *HttpRequest `json:"httpRequest,omitempty"`
 
 	// LastAttempt: Output only. The status of the task's last attempt.
 	LastAttempt *Attempt `json:"lastAttempt,omitempty"`
 
-	// Name: Optionally caller-specified in CreateTask.
-	//
-	// The task name.
-	//
-	// The task name must have the following
-	// format:
-	// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tas
-	// ks/TASK_ID`
-	//
-	// * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
-	//    hyphens (-), colons (:), or periods (.).
-	//    For more information, see
-	//    [Identifying
-	//
+	// Name: Optionally caller-specified in CreateTask. The task name. The
+	// task name must have the following format:
+	// `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_
+	// ID` * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),
+	// hyphens (-), colons (:), or periods (.). For more information, see
+	// [Identifying
 	// projects](https://cloud.google.com/resource-manager/docs/creating-mana
-	// ging-projects#identifying_projects)
-	// * `LOCATION_ID` is the canonical ID for the task's location.
-	//    The list of available locations can be obtained by calling
-	//    ListLocations.
-	//    For more information, see
-	// https://cloud.google.com/about/locations/.
-	// * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or
-	//   hyphens (-). The maximum length is 100 characters.
-	// * `TASK_ID` can contain only letters ([A-Za-z]), numbers ([0-9]),
-	//   hyphens (-), or underscores (_). The maximum length is 500
-	// characters.
+	// ging-projects#identifying_projects) * `LOCATION_ID` is the canonical
+	// ID for the task's location. The list of available locations can be
+	// obtained by calling ListLocations. For more information, see
+	// https://cloud.google.com/about/locations/. * `QUEUE_ID` can contain
+	// letters ([A-Za-z]), numbers ([0-9]), or hyphens (-). The maximum
+	// length is 100 characters. * `TASK_ID` can contain only letters
+	// ([A-Za-z]), numbers ([0-9]), hyphens (-), or underscores (_). The
+	// maximum length is 500 characters.
 	Name string `json:"name,omitempty"`
 
 	// ResponseCount: Output only. The number of attempts which have
 	// received a response.
 	ResponseCount int64 `json:"responseCount,omitempty"`
 
-	// ScheduleTime: The time when the task is scheduled to be
-	// attempted.
-	//
+	// ScheduleTime: The time when the task is scheduled to be attempted.
 	// For App Engine queues, this is when the task will be attempted or
-	// retried.
-	//
-	// `schedule_time` will be truncated to the nearest microsecond.
+	// retried. `schedule_time` will be truncated to the nearest
+	// microsecond.
 	ScheduleTime string `json:"scheduleTime,omitempty"`
 
-	// View: Output only. The view specifies which subset of the Task
-	// has
+	// View: Output only. The view specifies which subset of the Task has
 	// been returned.
 	//
 	// Possible values:
 	//   "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC.
 	//   "BASIC" - The basic view omits fields which can be large or can
-	// contain
-	// sensitive data.
-	//
-	// This view does not include the
-	// body in AppEngineHttpRequest.
-	// Bodies are desirable to return only when needed, because they
-	// can be large and because of the sensitivity of the data that
-	// you
-	// choose to store in it.
-	//   "FULL" - All information is returned.
-	//
-	// Authorization for FULL requires
-	// `cloudtasks.tasks.fullView` [Google
-	// IAM](https://cloud.google.com/iam/)
-	// permission on the Queue resource.
+	// contain sensitive data. This view does not include the body in
+	// AppEngineHttpRequest. Bodies are desirable to return only when
+	// needed, because they can be large and because of the sensitivity of
+	// the data that you choose to store in it.
+	//   "FULL" - All information is returned. Authorization for FULL
+	// requires `cloudtasks.tasks.fullView` [Google
+	// IAM](https://cloud.google.com/iam/) permission on the Queue resource.
 	View string `json:"view,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2512,11 +1820,8 @@
 // method.
 type TestIamPermissionsRequest struct {
 	// Permissions: The set of permissions to check for the `resource`.
-	// Permissions with
-	// wildcards (such as '*' or 'storage.*') are not allowed. For
-	// more
-	// information see
-	// [IAM
+	// Permissions with wildcards (such as '*' or 'storage.*') are not
+	// allowed. For more information see [IAM
 	// Overview](https://cloud.google.com/iam/docs/overview#permissions).
 	Permissions []string `json:"permissions,omitempty"`
 
@@ -2547,8 +1852,7 @@
 // method.
 type TestIamPermissionsResponse struct {
 	// Permissions: A subset of `TestPermissionsRequest.permissions` that
-	// the caller is
-	// allowed.
+	// the caller is allowed.
 	Permissions []string `json:"permissions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2633,7 +1937,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2799,7 +2103,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2936,24 +2240,14 @@
 	header_    http.Header
 }
 
-// Create: Creates a queue.
-//
-// Queues created with this method allow tasks to live for a maximum of
-// 31
-// days. After a task is 31 days old, the task will be deleted
-// regardless of whether
-// it was dispatched or not.
-//
+// Create: Creates a queue. Queues created with this method allow tasks
+// to live for a maximum of 31 days. After a task is 31 days old, the
+// task will be deleted regardless of whether it was dispatched or not.
 // WARNING: Using this method may have unintended side effects if you
-// are
-// using an App Engine `queue.yaml` or `queue.xml` file to manage your
-// queues.
-// Read
-// [Overview of Queue Management
-// and
+// are using an App Engine `queue.yaml` or `queue.xml` file to manage
+// your queues. Read [Overview of Queue Management and
 // queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before
-// using
-// this method.
+// using this method.
 func (r *ProjectsLocationsQueuesService) Create(parent string, queue *Queue) *ProjectsLocationsQueuesCreateCall {
 	c := &ProjectsLocationsQueuesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -2988,7 +2282,7 @@
 
 func (c *ProjectsLocationsQueuesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3052,7 +2346,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a queue.\n\nQueues created with this method allow tasks to live for a maximum of 31\ndays. After a task is 31 days old, the task will be deleted regardless of whether\nit was dispatched or not.\n\nWARNING: Using this method may have unintended side effects if you are\nusing an App Engine `queue.yaml` or `queue.xml` file to manage your queues.\nRead\n[Overview of Queue Management and\nqueue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using\nthis method.",
+	//   "description": "Creates a queue. Queues created with this method allow tasks to live for a maximum of 31 days. After a task is 31 days old, the task will be deleted regardless of whether it was dispatched or not. WARNING: Using this method may have unintended side effects if you are using an App Engine `queue.yaml` or `queue.xml` file to manage your queues. Read [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using this method.",
 	//   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.create",
@@ -3061,7 +2355,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The location name in which the queue will be created.\nFor example: `projects/PROJECT_ID/locations/LOCATION_ID`\n\nThe list of allowed locations can be obtained by calling Cloud\nTasks' implementation of\nListLocations.",
+	//       "description": "Required. The location name in which the queue will be created. For example: `projects/PROJECT_ID/locations/LOCATION_ID` The list of allowed locations can be obtained by calling Cloud Tasks' implementation of ListLocations.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
@@ -3092,24 +2386,14 @@
 	header_    http.Header
 }
 
-// Delete: Deletes a queue.
-//
-// This command will delete the queue even if it has tasks in it.
-//
-// Note: If you delete a queue, a queue with the same name can't be
-// created
-// for 7 days.
-//
-// WARNING: Using this method may have unintended side effects if you
-// are
-// using an App Engine `queue.yaml` or `queue.xml` file to manage your
-// queues.
-// Read
-// [Overview of Queue Management
-// and
+// Delete: Deletes a queue. This command will delete the queue even if
+// it has tasks in it. Note: If you delete a queue, a queue with the
+// same name can't be created for 7 days. WARNING: Using this method may
+// have unintended side effects if you are using an App Engine
+// `queue.yaml` or `queue.xml` file to manage your queues. Read
+// [Overview of Queue Management and
 // queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before
-// using
-// this method.
+// using this method.
 func (r *ProjectsLocationsQueuesService) Delete(name string) *ProjectsLocationsQueuesDeleteCall {
 	c := &ProjectsLocationsQueuesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3143,7 +2427,7 @@
 
 func (c *ProjectsLocationsQueuesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3202,7 +2486,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a queue.\n\nThis command will delete the queue even if it has tasks in it.\n\nNote: If you delete a queue, a queue with the same name can't be created\nfor 7 days.\n\nWARNING: Using this method may have unintended side effects if you are\nusing an App Engine `queue.yaml` or `queue.xml` file to manage your queues.\nRead\n[Overview of Queue Management and\nqueue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using\nthis method.",
+	//   "description": "Deletes a queue. This command will delete the queue even if it has tasks in it. Note: If you delete a queue, a queue with the same name can't be created for 7 days. WARNING: Using this method may have unintended side effects if you are using an App Engine `queue.yaml` or `queue.xml` file to manage your queues. Read [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using this method.",
 	//   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "cloudtasks.projects.locations.queues.delete",
@@ -3211,7 +2495,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
+	//       "description": "Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -3284,7 +2568,7 @@
 
 func (c *ProjectsLocationsQueuesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3355,7 +2639,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the queue. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
+	//       "description": "Required. The resource name of the queue. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -3384,17 +2668,11 @@
 	header_             http.Header
 }
 
-// GetIamPolicy: Gets the access control policy for a Queue.
-// Returns an empty policy if the resource exists and does not have a
-// policy
-// set.
-//
-// Authorization requires the following
-// [Google IAM](https://cloud.google.com/iam) permission on the
-// specified
-// resource parent:
-//
-// * `cloudtasks.queues.getIamPolicy`
+// GetIamPolicy: Gets the access control policy for a Queue. Returns an
+// empty policy if the resource exists and does not have a policy set.
+// Authorization requires the following [Google
+// IAM](https://cloud.google.com/iam) permission on the specified
+// resource parent: * `cloudtasks.queues.getIamPolicy`
 func (r *ProjectsLocationsQueuesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsQueuesGetIamPolicyCall {
 	c := &ProjectsLocationsQueuesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -3429,7 +2707,7 @@
 
 func (c *ProjectsLocationsQueuesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3493,7 +2771,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for a Queue.\nReturns an empty policy if the resource exists and does not have a policy\nset.\n\nAuthorization requires the following\n[Google IAM](https://cloud.google.com/iam) permission on the specified\nresource parent:\n\n* `cloudtasks.queues.getIamPolicy`",
+	//   "description": "Gets the access control policy for a Queue. Returns an empty policy if the resource exists and does not have a policy set. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission on the specified resource parent: * `cloudtasks.queues.getIamPolicy`",
 	//   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:getIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.getIamPolicy",
@@ -3502,7 +2780,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -3534,9 +2812,7 @@
 	header_      http.Header
 }
 
-// List: Lists queues.
-//
-// Queues are returned in lexicographical order.
+// List: Lists queues. Queues are returned in lexicographical order.
 func (r *ProjectsLocationsQueuesService) List(parent string) *ProjectsLocationsQueuesListCall {
 	c := &ProjectsLocationsQueuesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -3544,49 +2820,34 @@
 }
 
 // Filter sets the optional parameter "filter": `filter` can be used to
-// specify a subset of queues. Any Queue
-// field can be used as a filter and several operators as supported.
-// For example: `<=, <, >=, >, !=, =, :`. The filter syntax is the same
-// as
-// described in
-// [Stackdriver's Advanced
-// Logs
-// Filters](https://cloud.google.com/logging/docs/view/advanced_filt
-// ers).
-//
-// Sample filter "state: PAUSED".
-//
-// Note that using filters might cause fewer queues than the
-// requested page_size to be returned.
+// specify a subset of queues. Any Queue field can be used as a filter
+// and several operators as supported. For example: `<=, <, >=, >, !=,
+// =, :`. The filter syntax is the same as described in [Stackdriver's
+// Advanced Logs
+// Filters](https://cloud.google.com/logging/docs/view/advanced_filters).
+//  Sample filter "state: PAUSED". Note that using filters might cause
+// fewer queues than the requested page_size to be returned.
 func (c *ProjectsLocationsQueuesListCall) Filter(filter string) *ProjectsLocationsQueuesListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
 }
 
-// PageSize sets the optional parameter "pageSize": Requested page
-// size.
-//
-// The maximum page size is 9800. If unspecified, the page size will
-// be the maximum. Fewer queues than requested might be returned,
-// even if more queues exist; use the
-// next_page_token in the
-// response to determine if more queues exist.
+// PageSize sets the optional parameter "pageSize": Requested page size.
+// The maximum page size is 9800. If unspecified, the page size will be
+// the maximum. Fewer queues than requested might be returned, even if
+// more queues exist; use the next_page_token in the response to
+// determine if more queues exist.
 func (c *ProjectsLocationsQueuesListCall) PageSize(pageSize int64) *ProjectsLocationsQueuesListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": A token
-// identifying the page of results to return.
-//
-// To request the first page results, page_token must be empty.
-// To
-// request the next page of results, page_token must be the value
-// of
-// next_page_token returned
-// from the previous call to ListQueues
-// method. It is an error to switch the value of the
-// filter while iterating through pages.
+// identifying the page of results to return. To request the first page
+// results, page_token must be empty. To request the next page of
+// results, page_token must be the value of next_page_token returned
+// from the previous call to ListQueues method. It is an error to switch
+// the value of the filter while iterating through pages.
 func (c *ProjectsLocationsQueuesListCall) PageToken(pageToken string) *ProjectsLocationsQueuesListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -3629,7 +2890,7 @@
 
 func (c *ProjectsLocationsQueuesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3691,7 +2952,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists queues.\n\nQueues are returned in lexicographical order.",
+	//   "description": "Lists queues. Queues are returned in lexicographical order.",
 	//   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues",
 	//   "httpMethod": "GET",
 	//   "id": "cloudtasks.projects.locations.queues.list",
@@ -3700,23 +2961,23 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "`filter` can be used to specify a subset of queues. Any Queue\nfield can be used as a filter and several operators as supported.\nFor example: `\u003c=, \u003c, \u003e=, \u003e, !=, =, :`. The filter syntax is the same as\ndescribed in\n[Stackdriver's Advanced Logs\nFilters](https://cloud.google.com/logging/docs/view/advanced_filters).\n\nSample filter \"state: PAUSED\".\n\nNote that using filters might cause fewer queues than the\nrequested page_size to be returned.",
+	//       "description": "`filter` can be used to specify a subset of queues. Any Queue field can be used as a filter and several operators as supported. For example: `\u003c=, \u003c, \u003e=, \u003e, !=, =, :`. The filter syntax is the same as described in [Stackdriver's Advanced Logs Filters](https://cloud.google.com/logging/docs/view/advanced_filters). Sample filter \"state: PAUSED\". Note that using filters might cause fewer queues than the requested page_size to be returned.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "Requested page size.\n\nThe maximum page size is 9800. If unspecified, the page size will\nbe the maximum. Fewer queues than requested might be returned,\neven if more queues exist; use the\nnext_page_token in the\nresponse to determine if more queues exist.",
+	//       "description": "Requested page size. The maximum page size is 9800. If unspecified, the page size will be the maximum. Fewer queues than requested might be returned, even if more queues exist; use the next_page_token in the response to determine if more queues exist.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "A token identifying the page of results to return.\n\nTo request the first page results, page_token must be empty. To\nrequest the next page of results, page_token must be the value of\nnext_page_token returned\nfrom the previous call to ListQueues\nmethod. It is an error to switch the value of the\nfilter while iterating through pages.",
+	//       "description": "A token identifying the page of results to return. To request the first page results, page_token must be empty. To request the next page of results, page_token must be the value of next_page_token returned from the previous call to ListQueues method. It is an error to switch the value of the filter while iterating through pages.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The location name.\nFor example: `projects/PROJECT_ID/locations/LOCATION_ID`",
+	//       "description": "Required. The location name. For example: `projects/PROJECT_ID/locations/LOCATION_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
@@ -3766,27 +3027,16 @@
 	header_    http.Header
 }
 
-// Patch: Updates a queue.
-//
-// This method creates the queue if it does not exist and updates
-// the queue if it does exist.
-//
-// Queues created with this method allow tasks to live for a maximum of
-// 31
-// days. After a task is 31 days old, the task will be deleted
-// regardless of whether
-// it was dispatched or not.
-//
-// WARNING: Using this method may have unintended side effects if you
-// are
-// using an App Engine `queue.yaml` or `queue.xml` file to manage your
-// queues.
-// Read
-// [Overview of Queue Management
-// and
+// Patch: Updates a queue. This method creates the queue if it does not
+// exist and updates the queue if it does exist. Queues created with
+// this method allow tasks to live for a maximum of 31 days. After a
+// task is 31 days old, the task will be deleted regardless of whether
+// it was dispatched or not. WARNING: Using this method may have
+// unintended side effects if you are using an App Engine `queue.yaml`
+// or `queue.xml` file to manage your queues. Read [Overview of Queue
+// Management and
 // queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before
-// using
-// this method.
+// using this method.
 func (r *ProjectsLocationsQueuesService) Patch(name string, queue *Queue) *ProjectsLocationsQueuesPatchCall {
 	c := &ProjectsLocationsQueuesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3795,9 +3045,8 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": A mask used to
-// specify which fields of the queue are being updated.
-//
-// If empty, then all fields will be updated.
+// specify which fields of the queue are being updated. If empty, then
+// all fields will be updated.
 func (c *ProjectsLocationsQueuesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsQueuesPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
 	return c
@@ -3830,7 +3079,7 @@
 
 func (c *ProjectsLocationsQueuesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3894,7 +3143,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates a queue.\n\nThis method creates the queue if it does not exist and updates\nthe queue if it does exist.\n\nQueues created with this method allow tasks to live for a maximum of 31\ndays. After a task is 31 days old, the task will be deleted regardless of whether\nit was dispatched or not.\n\nWARNING: Using this method may have unintended side effects if you are\nusing an App Engine `queue.yaml` or `queue.xml` file to manage your queues.\nRead\n[Overview of Queue Management and\nqueue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using\nthis method.",
+	//   "description": "Updates a queue. This method creates the queue if it does not exist and updates the queue if it does exist. Queues created with this method allow tasks to live for a maximum of 31 days. After a task is 31 days old, the task will be deleted regardless of whether it was dispatched or not. WARNING: Using this method may have unintended side effects if you are using an App Engine `queue.yaml` or `queue.xml` file to manage your queues. Read [Overview of Queue Management and queue.yaml](https://cloud.google.com/tasks/docs/queue-yaml) before using this method.",
 	//   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}",
 	//   "httpMethod": "PATCH",
 	//   "id": "cloudtasks.projects.locations.queues.patch",
@@ -3903,14 +3152,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Caller-specified and required in CreateQueue,\nafter which it becomes output only.\n\nThe queue name.\n\nThe queue name must have the following format:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`\n\n* `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]),\n   hyphens (-), colons (:), or periods (.).\n   For more information, see\n   [Identifying\n   projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects)\n* `LOCATION_ID` is the canonical ID for the queue's location.\n   The list of available locations can be obtained by calling\n   ListLocations.\n   For more information, see https://cloud.google.com/about/locations/.\n* `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or\n  hyphens (-). The maximum length is 100 characters.",
+	//       "description": "Caller-specified and required in CreateQueue, after which it becomes output only. The queue name. The queue name must have the following format: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` * `PROJECT_ID` can contain letters ([A-Za-z]), numbers ([0-9]), hyphens (-), colons (:), or periods (.). For more information, see [Identifying projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects) * `LOCATION_ID` is the canonical ID for the queue's location. The list of available locations can be obtained by calling ListLocations. For more information, see https://cloud.google.com/about/locations/. * `QUEUE_ID` can contain letters ([A-Za-z]), numbers ([0-9]), or hyphens (-). The maximum length is 100 characters.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "A mask used to specify which fields of the queue are being updated.\n\nIf empty, then all fields will be updated.",
+	//       "description": "A mask used to specify which fields of the queue are being updated. If empty, then all fields will be updated.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -3941,14 +3190,10 @@
 	header_           http.Header
 }
 
-// Pause: Pauses the queue.
-//
-// If a queue is paused then the system will stop dispatching
-// tasks
-// until the queue is resumed via
-// ResumeQueue. Tasks can still be added
-// when the queue is paused. A queue is paused if its
-// state is PAUSED.
+// Pause: Pauses the queue. If a queue is paused then the system will
+// stop dispatching tasks until the queue is resumed via ResumeQueue.
+// Tasks can still be added when the queue is paused. A queue is paused
+// if its state is PAUSED.
 func (r *ProjectsLocationsQueuesService) Pause(name string, pausequeuerequest *PauseQueueRequest) *ProjectsLocationsQueuesPauseCall {
 	c := &ProjectsLocationsQueuesPauseCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3983,7 +3228,7 @@
 
 func (c *ProjectsLocationsQueuesPauseCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4047,7 +3292,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Pauses the queue.\n\nIf a queue is paused then the system will stop dispatching tasks\nuntil the queue is resumed via\nResumeQueue. Tasks can still be added\nwhen the queue is paused. A queue is paused if its\nstate is PAUSED.",
+	//   "description": "Pauses the queue. If a queue is paused then the system will stop dispatching tasks until the queue is resumed via ResumeQueue. Tasks can still be added when the queue is paused. A queue is paused if its state is PAUSED.",
 	//   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:pause",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.pause",
@@ -4056,7 +3301,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
+	//       "description": "Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -4088,15 +3333,10 @@
 	header_           http.Header
 }
 
-// Purge: Purges a queue by deleting all of its tasks.
-//
-// All tasks created before this method is called are permanently
-// deleted.
-//
-// Purge operations can take up to one minute to take effect.
-// Tasks
-// might be dispatched before the purge takes effect. A purge is
-// irreversible.
+// Purge: Purges a queue by deleting all of its tasks. All tasks created
+// before this method is called are permanently deleted. Purge
+// operations can take up to one minute to take effect. Tasks might be
+// dispatched before the purge takes effect. A purge is irreversible.
 func (r *ProjectsLocationsQueuesService) Purge(name string, purgequeuerequest *PurgeQueueRequest) *ProjectsLocationsQueuesPurgeCall {
 	c := &ProjectsLocationsQueuesPurgeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4131,7 +3371,7 @@
 
 func (c *ProjectsLocationsQueuesPurgeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4195,7 +3435,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Purges a queue by deleting all of its tasks.\n\nAll tasks created before this method is called are permanently deleted.\n\nPurge operations can take up to one minute to take effect. Tasks\nmight be dispatched before the purge takes effect. A purge is irreversible.",
+	//   "description": "Purges a queue by deleting all of its tasks. All tasks created before this method is called are permanently deleted. Purge operations can take up to one minute to take effect. Tasks might be dispatched before the purge takes effect. A purge is irreversible.",
 	//   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:purge",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.purge",
@@ -4204,7 +3444,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
+	//       "description": "Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -4236,21 +3476,13 @@
 	header_            http.Header
 }
 
-// Resume: Resume a queue.
-//
-// This method resumes a queue after it has been
-// PAUSED or
-// DISABLED. The state of a queue is stored
-// in the queue's state; after calling this method it
-// will be set to RUNNING.
-//
-// WARNING: Resuming many high-QPS queues at the same time can
-// lead to target overloading. If you are resuming high-QPS
-// queues, follow the 500/50/5 pattern described in
-// [Managing Cloud Tasks
-// Scaling
-// Risks](https://cloud.google.com/tasks/docs/manage-cloud-task-s
-// caling).
+// Resume: Resume a queue. This method resumes a queue after it has been
+// PAUSED or DISABLED. The state of a queue is stored in the queue's
+// state; after calling this method it will be set to RUNNING. WARNING:
+// Resuming many high-QPS queues at the same time can lead to target
+// overloading. If you are resuming high-QPS queues, follow the 500/50/5
+// pattern described in [Managing Cloud Tasks Scaling
+// Risks](https://cloud.google.com/tasks/docs/manage-cloud-task-scaling).
 func (r *ProjectsLocationsQueuesService) Resume(name string, resumequeuerequest *ResumeQueueRequest) *ProjectsLocationsQueuesResumeCall {
 	c := &ProjectsLocationsQueuesResumeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4285,7 +3517,7 @@
 
 func (c *ProjectsLocationsQueuesResumeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4349,7 +3581,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Resume a queue.\n\nThis method resumes a queue after it has been\nPAUSED or\nDISABLED. The state of a queue is stored\nin the queue's state; after calling this method it\nwill be set to RUNNING.\n\nWARNING: Resuming many high-QPS queues at the same time can\nlead to target overloading. If you are resuming high-QPS\nqueues, follow the 500/50/5 pattern described in\n[Managing Cloud Tasks Scaling\nRisks](https://cloud.google.com/tasks/docs/manage-cloud-task-scaling).",
+	//   "description": "Resume a queue. This method resumes a queue after it has been PAUSED or DISABLED. The state of a queue is stored in the queue's state; after calling this method it will be set to RUNNING. WARNING: Resuming many high-QPS queues at the same time can lead to target overloading. If you are resuming high-QPS queues, follow the 500/50/5 pattern described in [Managing Cloud Tasks Scaling Risks](https://cloud.google.com/tasks/docs/manage-cloud-task-scaling).",
 	//   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:resume",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.resume",
@@ -4358,7 +3590,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
+	//       "description": "Required. The queue name. For example: `projects/PROJECT_ID/location/LOCATION_ID/queues/QUEUE_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -4391,20 +3623,11 @@
 }
 
 // SetIamPolicy: Sets the access control policy for a Queue. Replaces
-// any existing
-// policy.
-//
-// Note: The Cloud Console does not check queue-level IAM permissions
-// yet.
-// Project-level permissions are required to use the Cloud
-// Console.
-//
-// Authorization requires the following
-// [Google IAM](https://cloud.google.com/iam) permission on the
-// specified
-// resource parent:
-//
-// * `cloudtasks.queues.setIamPolicy`
+// any existing policy. Note: The Cloud Console does not check
+// queue-level IAM permissions yet. Project-level permissions are
+// required to use the Cloud Console. Authorization requires the
+// following [Google IAM](https://cloud.google.com/iam) permission on
+// the specified resource parent: * `cloudtasks.queues.setIamPolicy`
 func (r *ProjectsLocationsQueuesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsQueuesSetIamPolicyCall {
 	c := &ProjectsLocationsQueuesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -4439,7 +3662,7 @@
 
 func (c *ProjectsLocationsQueuesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4503,7 +3726,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the access control policy for a Queue. Replaces any existing\npolicy.\n\nNote: The Cloud Console does not check queue-level IAM permissions yet.\nProject-level permissions are required to use the Cloud Console.\n\nAuthorization requires the following\n[Google IAM](https://cloud.google.com/iam) permission on the specified\nresource parent:\n\n* `cloudtasks.queues.setIamPolicy`",
+	//   "description": "Sets the access control policy for a Queue. Replaces any existing policy. Note: The Cloud Console does not check queue-level IAM permissions yet. Project-level permissions are required to use the Cloud Console. Authorization requires the following [Google IAM](https://cloud.google.com/iam) permission on the specified resource parent: * `cloudtasks.queues.setIamPolicy`",
 	//   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.setIamPolicy",
@@ -4512,7 +3735,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -4544,17 +3767,12 @@
 	header_                   http.Header
 }
 
-// TestIamPermissions: Returns permissions that a caller has on a
-// Queue.
-// 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.
+// TestIamPermissions: Returns permissions that a caller has on a Queue.
+// 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.
 func (r *ProjectsLocationsQueuesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsQueuesTestIamPermissionsCall {
 	c := &ProjectsLocationsQueuesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -4589,7 +3807,7 @@
 
 func (c *ProjectsLocationsQueuesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4653,7 +3871,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns permissions that a caller has on a Queue.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+	//   "description": "Returns permissions that a caller has on a Queue. If the resource does not exist, this will return an empty set of permissions, not a NOT_FOUND error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
 	//   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.testIamPermissions",
@@ -4662,7 +3880,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -4694,12 +3912,9 @@
 	header_           http.Header
 }
 
-// Create: Creates a task and adds it to a queue.
-//
-// Tasks cannot be updated after creation; there is no UpdateTask
-// command.
-//
-// * The maximum task size is 100KB.
+// Create: Creates a task and adds it to a queue. Tasks cannot be
+// updated after creation; there is no UpdateTask command. * The maximum
+// task size is 100KB.
 func (r *ProjectsLocationsQueuesTasksService) Create(parent string, createtaskrequest *CreateTaskRequest) *ProjectsLocationsQueuesTasksCreateCall {
 	c := &ProjectsLocationsQueuesTasksCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -4734,7 +3949,7 @@
 
 func (c *ProjectsLocationsQueuesTasksCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4798,7 +4013,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a task and adds it to a queue.\n\nTasks cannot be updated after creation; there is no UpdateTask command.\n\n* The maximum task size is 100KB.",
+	//   "description": "Creates a task and adds it to a queue. Tasks cannot be updated after creation; there is no UpdateTask command. * The maximum task size is 100KB.",
 	//   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.tasks.create",
@@ -4807,7 +4022,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`\n\nThe queue must already exist.",
+	//       "description": "Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID` The queue must already exist.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
@@ -4838,12 +4053,9 @@
 	header_    http.Header
 }
 
-// Delete: Deletes a task.
-//
-// A task can be deleted if it is scheduled or dispatched. A task
-// cannot be deleted if it has executed successfully or
-// permanently
-// failed.
+// Delete: Deletes a task. A task can be deleted if it is scheduled or
+// dispatched. A task cannot be deleted if it has executed successfully
+// or permanently failed.
 func (r *ProjectsLocationsQueuesTasksService) Delete(name string) *ProjectsLocationsQueuesTasksDeleteCall {
 	c := &ProjectsLocationsQueuesTasksDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4877,7 +4089,7 @@
 
 func (c *ProjectsLocationsQueuesTasksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4936,7 +4148,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a task.\n\nA task can be deleted if it is scheduled or dispatched. A task\ncannot be deleted if it has executed successfully or permanently\nfailed.",
+	//   "description": "Deletes a task. A task can be deleted if it is scheduled or dispatched. A task cannot be deleted if it has executed successfully or permanently failed.",
 	//   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "cloudtasks.projects.locations.queues.tasks.delete",
@@ -4945,7 +4157,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+	//       "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
 	//       "required": true,
@@ -4982,27 +4194,24 @@
 }
 
 // ResponseView sets the optional parameter "responseView": The
-// response_view specifies which subset of the Task will
-// be
-// returned.
-//
-// By default response_view is BASIC; not all
-// information is retrieved by default because some data, such
-// as
-// payloads, might be desirable to return only when needed because
-// of its large size or because of the sensitivity of data that
-// it
-// contains.
-//
-// Authorization for FULL requires
+// response_view specifies which subset of the Task will be returned. By
+// default response_view is BASIC; not all information is retrieved by
+// default because some data, such as payloads, might be desirable to
+// return only when needed because of its large size or because of the
+// sensitivity of data that it contains. Authorization for FULL requires
 // `cloudtasks.tasks.fullView` [Google
-// IAM](https://cloud.google.com/iam/)
-// permission on the Task resource.
+// IAM](https://cloud.google.com/iam/) permission on the Task resource.
 //
 // Possible values:
-//   "VIEW_UNSPECIFIED"
-//   "BASIC"
-//   "FULL"
+//   "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC.
+//   "BASIC" - The basic view omits fields which can be large or can
+// contain sensitive data. This view does not include the body in
+// AppEngineHttpRequest. Bodies are desirable to return only when
+// needed, because they can be large and because of the sensitivity of
+// the data that you choose to store in it.
+//   "FULL" - All information is returned. Authorization for FULL
+// requires `cloudtasks.tasks.fullView` [Google
+// IAM](https://cloud.google.com/iam/) permission on the Queue resource.
 func (c *ProjectsLocationsQueuesTasksGetCall) ResponseView(responseView string) *ProjectsLocationsQueuesTasksGetCall {
 	c.urlParams_.Set("responseView", responseView)
 	return c
@@ -5045,7 +4254,7 @@
 
 func (c *ProjectsLocationsQueuesTasksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5116,19 +4325,24 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+	//       "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "responseView": {
-	//       "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Task resource.",
+	//       "description": "The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource.",
 	//       "enum": [
 	//         "VIEW_UNSPECIFIED",
 	//         "BASIC",
 	//         "FULL"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Unspecified. Defaults to BASIC.",
+	//         "The basic view omits fields which can be large or can contain sensitive data. This view does not include the body in AppEngineHttpRequest. Bodies are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+	//         "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -5155,77 +4369,56 @@
 	header_      http.Header
 }
 
-// List: Lists the tasks in a queue.
-//
-// By default, only the BASIC view is retrieved
-// due to performance considerations;
-// response_view controls the
-// subset of information which is returned.
-//
-// The tasks may be returned in any order. The ordering may change at
-// any
-// time.
+// List: Lists the tasks in a queue. By default, only the BASIC view is
+// retrieved due to performance considerations; response_view controls
+// the subset of information which is returned. The tasks may be
+// returned in any order. The ordering may change at any time.
 func (r *ProjectsLocationsQueuesTasksService) List(parent string) *ProjectsLocationsQueuesTasksListCall {
 	c := &ProjectsLocationsQueuesTasksListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
 	return c
 }
 
-// PageSize sets the optional parameter "pageSize": Maximum page
-// size.
-//
+// PageSize sets the optional parameter "pageSize": Maximum page size.
 // Fewer tasks than requested might be returned, even if more tasks
-// exist; use
-// next_page_token in the response to
-// determine if more tasks exist.
-//
-// The maximum page size is 1000. If unspecified, the page size will be
-// the
-// maximum.
+// exist; use next_page_token in the response to determine if more tasks
+// exist. The maximum page size is 1000. If unspecified, the page size
+// will be the maximum.
 func (c *ProjectsLocationsQueuesTasksListCall) PageSize(pageSize int64) *ProjectsLocationsQueuesTasksListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": A token
-// identifying the page of results to return.
-//
-// To request the first page results, page_token must be empty.
-// To
-// request the next page of results, page_token must be the value
-// of
-// next_page_token returned
-// from the previous call to ListTasks
-// method.
-//
-// The page token is valid for only 2 hours.
+// identifying the page of results to return. To request the first page
+// results, page_token must be empty. To request the next page of
+// results, page_token must be the value of next_page_token returned
+// from the previous call to ListTasks method. The page token is valid
+// for only 2 hours.
 func (c *ProjectsLocationsQueuesTasksListCall) PageToken(pageToken string) *ProjectsLocationsQueuesTasksListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
 }
 
 // ResponseView sets the optional parameter "responseView": The
-// response_view specifies which subset of the Task will
-// be
-// returned.
-//
-// By default response_view is BASIC; not all
-// information is retrieved by default because some data, such
-// as
-// payloads, might be desirable to return only when needed because
-// of its large size or because of the sensitivity of data that
-// it
-// contains.
-//
-// Authorization for FULL requires
+// response_view specifies which subset of the Task will be returned. By
+// default response_view is BASIC; not all information is retrieved by
+// default because some data, such as payloads, might be desirable to
+// return only when needed because of its large size or because of the
+// sensitivity of data that it contains. Authorization for FULL requires
 // `cloudtasks.tasks.fullView` [Google
-// IAM](https://cloud.google.com/iam/)
-// permission on the Task resource.
+// IAM](https://cloud.google.com/iam/) permission on the Task resource.
 //
 // Possible values:
-//   "VIEW_UNSPECIFIED"
-//   "BASIC"
-//   "FULL"
+//   "VIEW_UNSPECIFIED" - Unspecified. Defaults to BASIC.
+//   "BASIC" - The basic view omits fields which can be large or can
+// contain sensitive data. This view does not include the body in
+// AppEngineHttpRequest. Bodies are desirable to return only when
+// needed, because they can be large and because of the sensitivity of
+// the data that you choose to store in it.
+//   "FULL" - All information is returned. Authorization for FULL
+// requires `cloudtasks.tasks.fullView` [Google
+// IAM](https://cloud.google.com/iam/) permission on the Queue resource.
 func (c *ProjectsLocationsQueuesTasksListCall) ResponseView(responseView string) *ProjectsLocationsQueuesTasksListCall {
 	c.urlParams_.Set("responseView", responseView)
 	return c
@@ -5268,7 +4461,7 @@
 
 func (c *ProjectsLocationsQueuesTasksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5330,7 +4523,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists the tasks in a queue.\n\nBy default, only the BASIC view is retrieved\ndue to performance considerations;\nresponse_view controls the\nsubset of information which is returned.\n\nThe tasks may be returned in any order. The ordering may change at any\ntime.",
+	//   "description": "Lists the tasks in a queue. By default, only the BASIC view is retrieved due to performance considerations; response_view controls the subset of information which is returned. The tasks may be returned in any order. The ordering may change at any time.",
 	//   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks",
 	//   "httpMethod": "GET",
 	//   "id": "cloudtasks.projects.locations.queues.tasks.list",
@@ -5339,30 +4532,35 @@
 	//   ],
 	//   "parameters": {
 	//     "pageSize": {
-	//       "description": "Maximum page size.\n\nFewer tasks than requested might be returned, even if more tasks exist; use\nnext_page_token in the response to\ndetermine if more tasks exist.\n\nThe maximum page size is 1000. If unspecified, the page size will be the\nmaximum.",
+	//       "description": "Maximum page size. Fewer tasks than requested might be returned, even if more tasks exist; use next_page_token in the response to determine if more tasks exist. The maximum page size is 1000. If unspecified, the page size will be the maximum.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "A token identifying the page of results to return.\n\nTo request the first page results, page_token must be empty. To\nrequest the next page of results, page_token must be the value of\nnext_page_token returned\nfrom the previous call to ListTasks\nmethod.\n\nThe page token is valid for only 2 hours.",
+	//       "description": "A token identifying the page of results to return. To request the first page results, page_token must be empty. To request the next page of results, page_token must be the value of next_page_token returned from the previous call to ListTasks method. The page token is valid for only 2 hours.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The queue name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
+	//       "description": "Required. The queue name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "responseView": {
-	//       "description": "The response_view specifies which subset of the Task will be\nreturned.\n\nBy default response_view is BASIC; not all\ninformation is retrieved by default because some data, such as\npayloads, might be desirable to return only when needed because\nof its large size or because of the sensitivity of data that it\ncontains.\n\nAuthorization for FULL requires\n`cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/)\npermission on the Task resource.",
+	//       "description": "The response_view specifies which subset of the Task will be returned. By default response_view is BASIC; not all information is retrieved by default because some data, such as payloads, might be desirable to return only when needed because of its large size or because of the sensitivity of data that it contains. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Task resource.",
 	//       "enum": [
 	//         "VIEW_UNSPECIFIED",
 	//         "BASIC",
 	//         "FULL"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Unspecified. Defaults to BASIC.",
+	//         "The basic view omits fields which can be large or can contain sensitive data. This view does not include the body in AppEngineHttpRequest. Bodies are desirable to return only when needed, because they can be large and because of the sensitivity of the data that you choose to store in it.",
+	//         "All information is returned. Authorization for FULL requires `cloudtasks.tasks.fullView` [Google IAM](https://cloud.google.com/iam/) permission on the Queue resource."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -5410,35 +4608,20 @@
 	header_        http.Header
 }
 
-// Run: Forces a task to run now.
-//
-// When this method is called, Cloud Tasks will dispatch the task, even
-// if
-// the task is already running, the queue has reached its RateLimits
-// or
-// is PAUSED.
-//
-// This command is meant to be used for manual debugging. For
-// example, RunTask can be used to retry a failed
-// task after a fix has been made or to manually force a task to
-// be
-// dispatched now.
-//
-// The dispatched task is returned. That is, the task that is
-// returned
-// contains the status after the task is dispatched but
-// before the task is received by its target.
-//
-// If Cloud Tasks receives a successful response from the task's
-// target, then the task will be deleted; otherwise the
-// task's
-// schedule_time will be reset to the time that
-// RunTask was called plus the retry delay specified
-// in the queue's RetryConfig.
-//
-// RunTask returns
-// NOT_FOUND when it is called on a
-// task that has already succeeded or permanently failed.
+// Run: Forces a task to run now. When this method is called, Cloud
+// Tasks will dispatch the task, even if the task is already running,
+// the queue has reached its RateLimits or is PAUSED. This command is
+// meant to be used for manual debugging. For example, RunTask can be
+// used to retry a failed task after a fix has been made or to manually
+// force a task to be dispatched now. The dispatched task is returned.
+// That is, the task that is returned contains the status after the task
+// is dispatched but before the task is received by its target. If Cloud
+// Tasks receives a successful response from the task's target, then the
+// task will be deleted; otherwise the task's schedule_time will be
+// reset to the time that RunTask was called plus the retry delay
+// specified in the queue's RetryConfig. RunTask returns NOT_FOUND when
+// it is called on a task that has already succeeded or permanently
+// failed.
 func (r *ProjectsLocationsQueuesTasksService) Run(name string, runtaskrequest *RunTaskRequest) *ProjectsLocationsQueuesTasksRunCall {
 	c := &ProjectsLocationsQueuesTasksRunCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -5473,7 +4656,7 @@
 
 func (c *ProjectsLocationsQueuesTasksRunCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5537,7 +4720,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Forces a task to run now.\n\nWhen this method is called, Cloud Tasks will dispatch the task, even if\nthe task is already running, the queue has reached its RateLimits or\nis PAUSED.\n\nThis command is meant to be used for manual debugging. For\nexample, RunTask can be used to retry a failed\ntask after a fix has been made or to manually force a task to be\ndispatched now.\n\nThe dispatched task is returned. That is, the task that is returned\ncontains the status after the task is dispatched but\nbefore the task is received by its target.\n\nIf Cloud Tasks receives a successful response from the task's\ntarget, then the task will be deleted; otherwise the task's\nschedule_time will be reset to the time that\nRunTask was called plus the retry delay specified\nin the queue's RetryConfig.\n\nRunTask returns\nNOT_FOUND when it is called on a\ntask that has already succeeded or permanently failed.",
+	//   "description": "Forces a task to run now. When this method is called, Cloud Tasks will dispatch the task, even if the task is already running, the queue has reached its RateLimits or is PAUSED. This command is meant to be used for manual debugging. For example, RunTask can be used to retry a failed task after a fix has been made or to manually force a task to be dispatched now. The dispatched task is returned. That is, the task that is returned contains the status after the task is dispatched but before the task is received by its target. If Cloud Tasks receives a successful response from the task's target, then the task will be deleted; otherwise the task's schedule_time will be reset to the time that RunTask was called plus the retry delay specified in the queue's RetryConfig. RunTask returns NOT_FOUND when it is called on a task that has already succeeded or permanently failed.",
 	//   "flatPath": "v2beta3/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}:run",
 	//   "httpMethod": "POST",
 	//   "id": "cloudtasks.projects.locations.queues.tasks.run",
@@ -5546,7 +4729,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The task name. For example:\n`projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
+	//       "description": "Required. The task name. For example: `projects/PROJECT_ID/locations/LOCATION_ID/queues/QUEUE_ID/tasks/TASK_ID`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/queues/[^/]+/tasks/[^/]+$",
 	//       "required": true,
diff --git a/cloudtrace/v1/cloudtrace-gen.go b/cloudtrace/v1/cloudtrace-gen.go
index 1d3caef..125ece6 100644
--- a/cloudtrace/v1/cloudtrace-gen.go
+++ b/cloudtrace/v1/cloudtrace-gen.go
@@ -419,7 +419,7 @@
 
 func (c *ProjectsPatchTracesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -570,7 +570,7 @@
 
 func (c *ProjectsTracesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -813,7 +813,7 @@
 
 func (c *ProjectsTracesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/cloudtrace/v2/cloudtrace-gen.go b/cloudtrace/v2/cloudtrace-gen.go
index 0f43204..920a02d 100644
--- a/cloudtrace/v2/cloudtrace-gen.go
+++ b/cloudtrace/v2/cloudtrace-gen.go
@@ -947,7 +947,7 @@
 
 func (c *ProjectsTracesBatchWriteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1088,7 +1088,7 @@
 
 func (c *ProjectsTracesSpansCreateSpanCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/cloudtrace/v2beta1/cloudtrace-gen.go b/cloudtrace/v2beta1/cloudtrace-gen.go
index 89b30b1..bf9f0be 100644
--- a/cloudtrace/v2beta1/cloudtrace-gen.go
+++ b/cloudtrace/v2beta1/cloudtrace-gen.go
@@ -353,7 +353,7 @@
 
 func (c *ProjectsTraceSinksCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -492,7 +492,7 @@
 
 func (c *ProjectsTraceSinksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -635,7 +635,7 @@
 
 func (c *ProjectsTraceSinksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -799,7 +799,7 @@
 
 func (c *ProjectsTraceSinksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -982,7 +982,7 @@
 
 func (c *ProjectsTraceSinksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/composer/v1/composer-gen.go b/composer/v1/composer-gen.go
index c289381..0bab4da 100644
--- a/composer/v1/composer-gen.go
+++ b/composer/v1/composer-gen.go
@@ -1242,7 +1242,7 @@
 
 func (c *ProjectsLocationsEnvironmentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1380,7 +1380,7 @@
 
 func (c *ProjectsLocationsEnvironmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1521,7 +1521,7 @@
 
 func (c *ProjectsLocationsEnvironmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1679,7 +1679,7 @@
 
 func (c *ProjectsLocationsEnvironmentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2017,7 +2017,7 @@
 
 func (c *ProjectsLocationsEnvironmentsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2186,7 +2186,7 @@
 
 func (c *ProjectsLocationsImageVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2357,7 +2357,7 @@
 
 func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2502,7 +2502,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2683,7 +2683,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/composer/v1beta1/composer-gen.go b/composer/v1beta1/composer-gen.go
index ac22a9d..9f8006f 100644
--- a/composer/v1beta1/composer-gen.go
+++ b/composer/v1beta1/composer-gen.go
@@ -1409,7 +1409,7 @@
 
 func (c *ProjectsLocationsEnvironmentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1547,7 +1547,7 @@
 
 func (c *ProjectsLocationsEnvironmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1688,7 +1688,7 @@
 
 func (c *ProjectsLocationsEnvironmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1846,7 +1846,7 @@
 
 func (c *ProjectsLocationsEnvironmentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2218,7 +2218,7 @@
 
 func (c *ProjectsLocationsEnvironmentsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2387,7 +2387,7 @@
 
 func (c *ProjectsLocationsImageVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2558,7 +2558,7 @@
 
 func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2703,7 +2703,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2884,7 +2884,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/compute/v0.alpha/compute-gen.go b/compute/v0.alpha/compute-gen.go
index fd60c4b..01bbd34 100644
--- a/compute/v0.alpha/compute-gen.go
+++ b/compute/v0.alpha/compute-gen.go
@@ -51221,7 +51221,7 @@
 
 func (c *AcceleratorTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -51424,7 +51424,7 @@
 
 func (c *AcceleratorTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -51664,7 +51664,7 @@
 
 func (c *AcceleratorTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -51955,7 +51955,7 @@
 
 func (c *AddressesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -52167,7 +52167,7 @@
 
 func (c *AddressesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -52336,7 +52336,7 @@
 
 func (c *AddressesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -52513,7 +52513,7 @@
 
 func (c *AddressesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -52754,7 +52754,7 @@
 
 func (c *AddressesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -52972,7 +52972,7 @@
 
 func (c *AddressesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -53140,7 +53140,7 @@
 
 func (c *AddressesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -53395,7 +53395,7 @@
 
 func (c *AutoscalersAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -53606,7 +53606,7 @@
 
 func (c *AutoscalersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -53775,7 +53775,7 @@
 
 func (c *AutoscalersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -53951,7 +53951,7 @@
 
 func (c *AutoscalersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -54191,7 +54191,7 @@
 
 func (c *AutoscalersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -54415,7 +54415,7 @@
 
 func (c *AutoscalersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -54580,7 +54580,7 @@
 
 func (c *AutoscalersTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -54768,7 +54768,7 @@
 
 func (c *AutoscalersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -54950,7 +54950,7 @@
 
 func (c *BackendBucketsAddSignedUrlKeyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -55122,7 +55122,7 @@
 
 func (c *BackendBucketsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -55289,7 +55289,7 @@
 
 func (c *BackendBucketsDeleteSignedUrlKeyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -55453,7 +55453,7 @@
 
 func (c *BackendBucketsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -55617,7 +55617,7 @@
 
 func (c *BackendBucketsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -55788,7 +55788,7 @@
 
 func (c *BackendBucketsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -56017,7 +56017,7 @@
 
 func (c *BackendBucketsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -56225,7 +56225,7 @@
 
 func (c *BackendBucketsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -56382,7 +56382,7 @@
 
 func (c *BackendBucketsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -56534,7 +56534,7 @@
 
 func (c *BackendBucketsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -56706,7 +56706,7 @@
 
 func (c *BackendBucketsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -56882,7 +56882,7 @@
 
 func (c *BackendServicesAddSignedUrlKeyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -57132,7 +57132,7 @@
 
 func (c *BackendServicesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -57342,7 +57342,7 @@
 
 func (c *BackendServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -57509,7 +57509,7 @@
 
 func (c *BackendServicesDeleteSignedUrlKeyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -57674,7 +57674,7 @@
 
 func (c *BackendServicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -57827,7 +57827,7 @@
 
 func (c *BackendServicesGetHealthCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -57998,7 +57998,7 @@
 
 func (c *BackendServicesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -58228,7 +58228,7 @@
 
 func (c *BackendServicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -58438,7 +58438,7 @@
 
 func (c *BackendServicesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -58614,7 +58614,7 @@
 
 func (c *BackendServicesSetSecurityPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -58770,7 +58770,7 @@
 
 func (c *BackendServicesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -58944,7 +58944,7 @@
 
 func (c *BackendServicesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -59195,7 +59195,7 @@
 
 func (c *DiskTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -59400,7 +59400,7 @@
 
 func (c *DiskTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -59641,7 +59641,7 @@
 
 func (c *DiskTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -59860,7 +59860,7 @@
 
 func (c *DisksAddResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -60120,7 +60120,7 @@
 
 func (c *DisksAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -60343,7 +60343,7 @@
 
 func (c *DisksCreateSnapshotCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -60536,7 +60536,7 @@
 
 func (c *DisksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -60705,7 +60705,7 @@
 
 func (c *DisksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -60880,7 +60880,7 @@
 
 func (c *DisksGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -61074,7 +61074,7 @@
 
 func (c *DisksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -61320,7 +61320,7 @@
 
 func (c *DisksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -61537,7 +61537,7 @@
 
 func (c *DisksRemoveResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -61724,7 +61724,7 @@
 
 func (c *DisksResizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -61892,7 +61892,7 @@
 
 func (c *DisksSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -62074,7 +62074,7 @@
 
 func (c *DisksSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -62242,7 +62242,7 @@
 
 func (c *DisksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -62420,7 +62420,7 @@
 
 func (c *ExternalVpnGatewaysDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -62578,7 +62578,7 @@
 
 func (c *ExternalVpnGatewaysGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -62743,7 +62743,7 @@
 
 func (c *ExternalVpnGatewaysInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -62972,7 +62972,7 @@
 
 func (c *ExternalVpnGatewaysListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -63160,7 +63160,7 @@
 
 func (c *ExternalVpnGatewaysSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -63312,7 +63312,7 @@
 
 func (c *ExternalVpnGatewaysTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -63482,7 +63482,7 @@
 
 func (c *FirewallsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -63640,7 +63640,7 @@
 
 func (c *FirewallsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -63806,7 +63806,7 @@
 
 func (c *FirewallsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -64036,7 +64036,7 @@
 
 func (c *FirewallsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -64245,7 +64245,7 @@
 
 func (c *FirewallsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -64402,7 +64402,7 @@
 
 func (c *FirewallsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -64577,7 +64577,7 @@
 
 func (c *FirewallsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -64828,7 +64828,7 @@
 
 func (c *ForwardingRulesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -65040,7 +65040,7 @@
 
 func (c *ForwardingRulesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -65209,7 +65209,7 @@
 
 func (c *ForwardingRulesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -65386,7 +65386,7 @@
 
 func (c *ForwardingRulesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -65627,7 +65627,7 @@
 
 func (c *ForwardingRulesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -65847,7 +65847,7 @@
 
 func (c *ForwardingRulesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -66034,7 +66034,7 @@
 
 func (c *ForwardingRulesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -66222,7 +66222,7 @@
 
 func (c *ForwardingRulesSetTargetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -66390,7 +66390,7 @@
 
 func (c *ForwardingRulesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -66569,7 +66569,7 @@
 
 func (c *GlobalAddressesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -66728,7 +66728,7 @@
 
 func (c *GlobalAddressesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -66890,7 +66890,7 @@
 
 func (c *GlobalAddressesGetOwnerInstanceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -67051,7 +67051,7 @@
 
 func (c *GlobalAddressesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -67280,7 +67280,7 @@
 
 func (c *GlobalAddressesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -67468,7 +67468,7 @@
 
 func (c *GlobalAddressesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -67620,7 +67620,7 @@
 
 func (c *GlobalAddressesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -67790,7 +67790,7 @@
 
 func (c *GlobalForwardingRulesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -67949,7 +67949,7 @@
 
 func (c *GlobalForwardingRulesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -68115,7 +68115,7 @@
 
 func (c *GlobalForwardingRulesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -68345,7 +68345,7 @@
 
 func (c *GlobalForwardingRulesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -68554,7 +68554,7 @@
 
 func (c *GlobalForwardingRulesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -68711,7 +68711,7 @@
 
 func (c *GlobalForwardingRulesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -68883,7 +68883,7 @@
 
 func (c *GlobalForwardingRulesSetTargetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -69040,7 +69040,7 @@
 
 func (c *GlobalForwardingRulesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -69212,7 +69212,7 @@
 
 func (c *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -69385,7 +69385,7 @@
 
 func (c *GlobalNetworkEndpointGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -69552,7 +69552,7 @@
 
 func (c *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -69717,7 +69717,7 @@
 
 func (c *GlobalNetworkEndpointGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -69881,7 +69881,7 @@
 
 func (c *GlobalNetworkEndpointGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -70110,7 +70110,7 @@
 
 func (c *GlobalNetworkEndpointGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -70370,7 +70370,7 @@
 
 func (c *GlobalNetworkEndpointGroupsListNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -70659,7 +70659,7 @@
 
 func (c *GlobalOperationsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -70850,7 +70850,7 @@
 
 func (c *GlobalOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -70976,7 +70976,7 @@
 
 func (c *GlobalOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -71206,7 +71206,7 @@
 
 func (c *GlobalOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -71404,7 +71404,7 @@
 
 func (c *GlobalOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -71551,7 +71551,7 @@
 
 func (c *GlobalOrganizationOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -71677,7 +71677,7 @@
 
 func (c *GlobalOrganizationOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -71907,7 +71907,7 @@
 
 func (c *GlobalOrganizationOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -72103,7 +72103,7 @@
 
 func (c *GlobalPublicDelegatedPrefixesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -72260,7 +72260,7 @@
 
 func (c *GlobalPublicDelegatedPrefixesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -72425,7 +72425,7 @@
 
 func (c *GlobalPublicDelegatedPrefixesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -72653,7 +72653,7 @@
 
 func (c *GlobalPublicDelegatedPrefixesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -72861,7 +72861,7 @@
 
 func (c *GlobalPublicDelegatedPrefixesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -73112,7 +73112,7 @@
 
 func (c *HealthChecksAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -73321,7 +73321,7 @@
 
 func (c *HealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -73479,7 +73479,7 @@
 
 func (c *HealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -73644,7 +73644,7 @@
 
 func (c *HealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -73873,7 +73873,7 @@
 
 func (c *HealthChecksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -74081,7 +74081,7 @@
 
 func (c *HealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -74238,7 +74238,7 @@
 
 func (c *HealthChecksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -74410,7 +74410,7 @@
 
 func (c *HealthChecksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -74584,7 +74584,7 @@
 
 func (c *HttpHealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -74743,7 +74743,7 @@
 
 func (c *HttpHealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -74909,7 +74909,7 @@
 
 func (c *HttpHealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -75139,7 +75139,7 @@
 
 func (c *HttpHealthChecksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -75348,7 +75348,7 @@
 
 func (c *HttpHealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -75505,7 +75505,7 @@
 
 func (c *HttpHealthChecksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -75678,7 +75678,7 @@
 
 func (c *HttpHealthChecksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -75851,7 +75851,7 @@
 
 func (c *HttpsHealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -76009,7 +76009,7 @@
 
 func (c *HttpsHealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -76174,7 +76174,7 @@
 
 func (c *HttpsHealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -76403,7 +76403,7 @@
 
 func (c *HttpsHealthChecksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -76611,7 +76611,7 @@
 
 func (c *HttpsHealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -76768,7 +76768,7 @@
 
 func (c *HttpsHealthChecksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -76940,7 +76940,7 @@
 
 func (c *HttpsHealthChecksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -77114,7 +77114,7 @@
 
 func (c *ImagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -77285,7 +77285,7 @@
 
 func (c *ImagesDeprecateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -77452,7 +77452,7 @@
 
 func (c *ImagesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -77609,7 +77609,7 @@
 
 func (c *ImagesGetFromFamilyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -77773,7 +77773,7 @@
 
 func (c *ImagesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -77952,7 +77952,7 @@
 
 func (c *ImagesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -78195,7 +78195,7 @@
 
 func (c *ImagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -78403,7 +78403,7 @@
 
 func (c *ImagesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -78560,7 +78560,7 @@
 
 func (c *ImagesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -78712,7 +78712,7 @@
 
 func (c *ImagesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -78864,7 +78864,7 @@
 
 func (c *ImagesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -79053,7 +79053,7 @@
 
 func (c *InstanceGroupManagersAbandonInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -79311,7 +79311,7 @@
 
 func (c *InstanceGroupManagersAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -79508,7 +79508,7 @@
 
 func (c *InstanceGroupManagersApplyUpdatesToInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -79691,7 +79691,7 @@
 
 func (c *InstanceGroupManagersCreateInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -79876,7 +79876,7 @@
 
 func (c *InstanceGroupManagersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -80067,7 +80067,7 @@
 
 func (c *InstanceGroupManagersDeleteInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -80233,7 +80233,7 @@
 
 func (c *InstanceGroupManagersDeletePerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -80404,7 +80404,7 @@
 
 func (c *InstanceGroupManagersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -80586,7 +80586,7 @@
 
 func (c *InstanceGroupManagersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -80825,7 +80825,7 @@
 
 func (c *InstanceGroupManagersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -81107,7 +81107,7 @@
 
 func (c *InstanceGroupManagersListErrorsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -81391,7 +81391,7 @@
 
 func (c *InstanceGroupManagersListManagedInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -81669,7 +81669,7 @@
 
 func (c *InstanceGroupManagersListPerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -81898,7 +81898,7 @@
 
 func (c *InstanceGroupManagersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -82084,7 +82084,7 @@
 
 func (c *InstanceGroupManagersPatchPerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -82282,7 +82282,7 @@
 
 func (c *InstanceGroupManagersRecreateInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -82485,7 +82485,7 @@
 
 func (c *InstanceGroupManagersResizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -82683,7 +82683,7 @@
 
 func (c *InstanceGroupManagersResizeAdvancedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -82868,7 +82868,7 @@
 
 func (c *InstanceGroupManagersSetAutoHealingPoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -83054,7 +83054,7 @@
 
 func (c *InstanceGroupManagersSetInstanceTemplateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -83244,7 +83244,7 @@
 
 func (c *InstanceGroupManagersSetTargetPoolsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -83410,7 +83410,7 @@
 
 func (c *InstanceGroupManagersTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -83596,7 +83596,7 @@
 
 func (c *InstanceGroupManagersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -83782,7 +83782,7 @@
 
 func (c *InstanceGroupManagersUpdatePerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -83968,7 +83968,7 @@
 
 func (c *InstanceGroupsAddInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -84226,7 +84226,7 @@
 
 func (c *InstanceGroupsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -84440,7 +84440,7 @@
 
 func (c *InstanceGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -84607,7 +84607,7 @@
 
 func (c *InstanceGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -84781,7 +84781,7 @@
 
 func (c *InstanceGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -85020,7 +85020,7 @@
 
 func (c *InstanceGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -85292,7 +85292,7 @@
 
 func (c *InstanceGroupsListInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -85526,7 +85526,7 @@
 
 func (c *InstanceGroupsRemoveInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -85710,7 +85710,7 @@
 
 func (c *InstanceGroupsSetNamedPortsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -85876,7 +85876,7 @@
 
 func (c *InstanceGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -86057,7 +86057,7 @@
 
 func (c *InstanceTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -86216,7 +86216,7 @@
 
 func (c *InstanceTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -86380,7 +86380,7 @@
 
 func (c *InstanceTemplatesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -86555,7 +86555,7 @@
 
 func (c *InstanceTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -86785,7 +86785,7 @@
 
 func (c *InstanceTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -86973,7 +86973,7 @@
 
 func (c *InstanceTemplatesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -87125,7 +87125,7 @@
 
 func (c *InstanceTemplatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -87301,7 +87301,7 @@
 
 func (c *InstancesAddAccessConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -87496,7 +87496,7 @@
 
 func (c *InstancesAddResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -87757,7 +87757,7 @@
 
 func (c *InstancesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -87982,7 +87982,7 @@
 
 func (c *InstancesAttachDiskCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -88172,7 +88172,7 @@
 
 func (c *InstancesBulkInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -88349,7 +88349,7 @@
 
 func (c *InstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -88529,7 +88529,7 @@
 
 func (c *InstancesDeleteAccessConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -88721,7 +88721,7 @@
 
 func (c *InstancesDetachDiskCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -88898,7 +88898,7 @@
 
 func (c *InstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -89067,7 +89067,7 @@
 
 func (c *InstancesGetEffectiveFirewallsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -89256,7 +89256,7 @@
 
 func (c *InstancesGetGuestAttributesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -89441,7 +89441,7 @@
 
 func (c *InstancesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -89614,7 +89614,7 @@
 
 func (c *InstancesGetScreenshotCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -89812,7 +89812,7 @@
 
 func (c *InstancesGetSerialPortOutputCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -89995,7 +89995,7 @@
 
 func (c *InstancesGetShieldedInstanceIdentityCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -90163,7 +90163,7 @@
 
 func (c *InstancesGetShieldedVmIdentityCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -90369,7 +90369,7 @@
 
 func (c *InstancesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -90620,7 +90620,7 @@
 
 func (c *InstancesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -90905,7 +90905,7 @@
 
 func (c *InstancesListReferrersCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -91131,7 +91131,7 @@
 
 func (c *InstancesRemoveResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -91318,7 +91318,7 @@
 
 func (c *InstancesResetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -91497,7 +91497,7 @@
 
 func (c *InstancesResumeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -91688,7 +91688,7 @@
 
 func (c *InstancesSetDeletionProtectionCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -91874,7 +91874,7 @@
 
 func (c *InstancesSetDiskAutoDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -92049,7 +92049,7 @@
 
 func (c *InstancesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -92231,7 +92231,7 @@
 
 func (c *InstancesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -92418,7 +92418,7 @@
 
 func (c *InstancesSetMachineResourcesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -92605,7 +92605,7 @@
 
 func (c *InstancesSetMachineTypeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -92793,7 +92793,7 @@
 
 func (c *InstancesSetMetadataCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -92982,7 +92982,7 @@
 
 func (c *InstancesSetMinCpuPlatformCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -93168,7 +93168,7 @@
 
 func (c *InstancesSetNameCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -93358,7 +93358,7 @@
 
 func (c *InstancesSetSchedulingCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -93546,7 +93546,7 @@
 
 func (c *InstancesSetServiceAccountCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -93735,7 +93735,7 @@
 
 func (c *InstancesSetShieldedInstanceIntegrityPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -93924,7 +93924,7 @@
 
 func (c *InstancesSetShieldedVmIntegrityPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -94112,7 +94112,7 @@
 
 func (c *InstancesSetTagsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -94278,7 +94278,7 @@
 
 func (c *InstancesSimulateMaintenanceEventCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -94451,7 +94451,7 @@
 
 func (c *InstancesStartCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -94631,7 +94631,7 @@
 
 func (c *InstancesStartWithEncryptionKeyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -94829,7 +94829,7 @@
 
 func (c *InstancesStopCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -95023,7 +95023,7 @@
 
 func (c *InstancesSuspendCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -95188,7 +95188,7 @@
 
 func (c *InstancesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -95405,7 +95405,7 @@
 
 func (c *InstancesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -95629,7 +95629,7 @@
 
 func (c *InstancesUpdateAccessConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -95825,7 +95825,7 @@
 
 func (c *InstancesUpdateDisplayDeviceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -96013,7 +96013,7 @@
 
 func (c *InstancesUpdateNetworkInterfaceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -96209,7 +96209,7 @@
 
 func (c *InstancesUpdateShieldedInstanceConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -96398,7 +96398,7 @@
 
 func (c *InstancesUpdateShieldedVmConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -96658,7 +96658,7 @@
 
 func (c *InterconnectAttachmentsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -96870,7 +96870,7 @@
 
 func (c *InterconnectAttachmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -97038,7 +97038,7 @@
 
 func (c *InterconnectAttachmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -97213,7 +97213,7 @@
 
 func (c *InterconnectAttachmentsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -97402,7 +97402,7 @@
 
 func (c *InterconnectAttachmentsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -97647,7 +97647,7 @@
 
 func (c *InterconnectAttachmentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -97866,7 +97866,7 @@
 
 func (c *InterconnectAttachmentsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -98034,7 +98034,7 @@
 
 func (c *InterconnectAttachmentsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -98216,7 +98216,7 @@
 
 func (c *InterconnectAttachmentsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -98384,7 +98384,7 @@
 
 func (c *InterconnectAttachmentsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -98556,7 +98556,7 @@
 
 func (c *InterconnectLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -98785,7 +98785,7 @@
 
 func (c *InterconnectLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -98973,7 +98973,7 @@
 
 func (c *InterconnectLocationsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -99142,7 +99142,7 @@
 
 func (c *InterconnectsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -99300,7 +99300,7 @@
 
 func (c *InterconnectsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -99457,7 +99457,7 @@
 
 func (c *InterconnectsGetDiagnosticsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -99622,7 +99622,7 @@
 
 func (c *InterconnectsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -99793,7 +99793,7 @@
 
 func (c *InterconnectsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -100022,7 +100022,7 @@
 
 func (c *InterconnectsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -100230,7 +100230,7 @@
 
 func (c *InterconnectsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -100387,7 +100387,7 @@
 
 func (c *InterconnectsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -100539,7 +100539,7 @@
 
 func (c *InterconnectsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -100691,7 +100691,7 @@
 
 func (c *InterconnectsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -100855,7 +100855,7 @@
 
 func (c *LicenseCodesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -101021,7 +101021,7 @@
 
 func (c *LicenseCodesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -101177,7 +101177,7 @@
 
 func (c *LicenseCodesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -101330,7 +101330,7 @@
 
 func (c *LicenseCodesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -101501,7 +101501,7 @@
 
 func (c *LicensesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -101661,7 +101661,7 @@
 
 func (c *LicensesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -101827,7 +101827,7 @@
 
 func (c *LicensesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -101999,7 +101999,7 @@
 
 func (c *LicensesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -102237,7 +102237,7 @@
 
 func (c *LicensesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -102427,7 +102427,7 @@
 
 func (c *LicensesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -102580,7 +102580,7 @@
 
 func (c *LicensesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -102750,7 +102750,7 @@
 
 func (c *MachineImagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -102908,7 +102908,7 @@
 
 func (c *MachineImagesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -103072,7 +103072,7 @@
 
 func (c *MachineImagesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -103254,7 +103254,7 @@
 
 func (c *MachineImagesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -103488,7 +103488,7 @@
 
 func (c *MachineImagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -103676,7 +103676,7 @@
 
 func (c *MachineImagesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -103828,7 +103828,7 @@
 
 func (c *MachineImagesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -104075,7 +104075,7 @@
 
 func (c *MachineTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -104280,7 +104280,7 @@
 
 func (c *MachineTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -104521,7 +104521,7 @@
 
 func (c *MachineTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -104812,7 +104812,7 @@
 
 func (c *NetworkEndpointGroupsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -105027,7 +105027,7 @@
 
 func (c *NetworkEndpointGroupsAttachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -105212,7 +105212,7 @@
 
 func (c *NetworkEndpointGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -105389,7 +105389,7 @@
 
 func (c *NetworkEndpointGroupsDetachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -105564,7 +105564,7 @@
 
 func (c *NetworkEndpointGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -105738,7 +105738,7 @@
 
 func (c *NetworkEndpointGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -105977,7 +105977,7 @@
 
 func (c *NetworkEndpointGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -106249,7 +106249,7 @@
 
 func (c *NetworkEndpointGroupsListNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -106462,7 +106462,7 @@
 
 func (c *NetworkEndpointGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -106653,7 +106653,7 @@
 
 func (c *NetworkFirewallPoliciesAddAssociationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -106814,7 +106814,7 @@
 
 func (c *NetworkFirewallPoliciesAddRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -106989,7 +106989,7 @@
 
 func (c *NetworkFirewallPoliciesCloneRulesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -107159,7 +107159,7 @@
 
 func (c *NetworkFirewallPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -107316,7 +107316,7 @@
 
 func (c *NetworkFirewallPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -107479,7 +107479,7 @@
 
 func (c *NetworkFirewallPoliciesGetAssociationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -107648,7 +107648,7 @@
 
 func (c *NetworkFirewallPoliciesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -107817,7 +107817,7 @@
 
 func (c *NetworkFirewallPoliciesGetRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -107988,7 +107988,7 @@
 
 func (c *NetworkFirewallPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -108217,7 +108217,7 @@
 
 func (c *NetworkFirewallPoliciesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -108424,7 +108424,7 @@
 
 func (c *NetworkFirewallPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -108587,7 +108587,7 @@
 
 func (c *NetworkFirewallPoliciesPatchRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -108769,7 +108769,7 @@
 
 func (c *NetworkFirewallPoliciesRemoveAssociationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -108927,7 +108927,7 @@
 
 func (c *NetworkFirewallPoliciesRemoveRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -109077,7 +109077,7 @@
 
 func (c *NetworkFirewallPoliciesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -109229,7 +109229,7 @@
 
 func (c *NetworkFirewallPoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -109400,7 +109400,7 @@
 
 func (c *NetworksAddPeeringCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -109574,7 +109574,7 @@
 
 func (c *NetworksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -109733,7 +109733,7 @@
 
 func (c *NetworksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -109890,7 +109890,7 @@
 
 func (c *NetworksGetEffectiveFirewallsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -110057,7 +110057,7 @@
 
 func (c *NetworksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -110287,7 +110287,7 @@
 
 func (c *NetworksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -110566,7 +110566,7 @@
 
 func (c *NetworksListIpAddressesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -110885,7 +110885,7 @@
 
 func (c *NetworksListIpOwnersCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -111218,7 +111218,7 @@
 
 func (c *NetworksListPeeringRoutesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -111458,7 +111458,7 @@
 
 func (c *NetworksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -111633,7 +111633,7 @@
 
 func (c *NetworksRemovePeeringCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -111807,7 +111807,7 @@
 
 func (c *NetworksSwitchToCustomModeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -111956,7 +111956,7 @@
 
 func (c *NetworksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -112130,7 +112130,7 @@
 
 func (c *NetworksUpdatePeeringCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -112307,7 +112307,7 @@
 
 func (c *NodeGroupsAddNodesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -112567,7 +112567,7 @@
 
 func (c *NodeGroupsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -112778,7 +112778,7 @@
 
 func (c *NodeGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -112956,7 +112956,7 @@
 
 func (c *NodeGroupsDeleteNodesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -113134,7 +113134,7 @@
 
 func (c *NodeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -113309,7 +113309,7 @@
 
 func (c *NodeGroupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -113492,7 +113492,7 @@
 
 func (c *NodeGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -113741,7 +113741,7 @@
 
 func (c *NodeGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -114011,7 +114011,7 @@
 
 func (c *NodeGroupsListNodesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -114234,7 +114234,7 @@
 
 func (c *NodeGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -114402,7 +114402,7 @@
 
 func (c *NodeGroupsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -114583,7 +114583,7 @@
 
 func (c *NodeGroupsSetNodeTemplateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -114751,7 +114751,7 @@
 
 func (c *NodeGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -115006,7 +115006,7 @@
 
 func (c *NodeTemplatesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -115217,7 +115217,7 @@
 
 func (c *NodeTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -115386,7 +115386,7 @@
 
 func (c *NodeTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -115561,7 +115561,7 @@
 
 func (c *NodeTemplatesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -115743,7 +115743,7 @@
 
 func (c *NodeTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -115983,7 +115983,7 @@
 
 func (c *NodeTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -116182,7 +116182,7 @@
 
 func (c *NodeTemplatesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -116345,7 +116345,7 @@
 
 func (c *NodeTemplatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -116600,7 +116600,7 @@
 
 func (c *NodeTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -116804,7 +116804,7 @@
 
 func (c *NodeTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -117044,7 +117044,7 @@
 
 func (c *NodeTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -117268,7 +117268,7 @@
 
 func (c *OrganizationSecurityPoliciesAddAssociationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -117437,7 +117437,7 @@
 
 func (c *OrganizationSecurityPoliciesAddRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -117606,7 +117606,7 @@
 
 func (c *OrganizationSecurityPoliciesCopyRulesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -117765,7 +117765,7 @@
 
 func (c *OrganizationSecurityPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -117912,7 +117912,7 @@
 
 func (c *OrganizationSecurityPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -118064,7 +118064,7 @@
 
 func (c *OrganizationSecurityPoliciesGetAssociationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -118221,7 +118221,7 @@
 
 func (c *OrganizationSecurityPoliciesGetRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -118388,7 +118388,7 @@
 
 func (c *OrganizationSecurityPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -118614,7 +118614,7 @@
 
 func (c *OrganizationSecurityPoliciesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -118807,7 +118807,7 @@
 
 func (c *OrganizationSecurityPoliciesListAssociationsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -118960,7 +118960,7 @@
 
 func (c *OrganizationSecurityPoliciesMoveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -119122,7 +119122,7 @@
 
 func (c *OrganizationSecurityPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -119293,7 +119293,7 @@
 
 func (c *OrganizationSecurityPoliciesPatchRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -119469,7 +119469,7 @@
 
 func (c *OrganizationSecurityPoliciesRemoveAssociationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -119635,7 +119635,7 @@
 
 func (c *OrganizationSecurityPoliciesRemoveRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -119874,7 +119874,7 @@
 
 func (c *PacketMirroringsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -120085,7 +120085,7 @@
 
 func (c *PacketMirroringsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -120253,7 +120253,7 @@
 
 func (c *PacketMirroringsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -120429,7 +120429,7 @@
 
 func (c *PacketMirroringsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -120669,7 +120669,7 @@
 
 func (c *PacketMirroringsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -120888,7 +120888,7 @@
 
 func (c *PacketMirroringsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -121056,7 +121056,7 @@
 
 func (c *PacketMirroringsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -121232,7 +121232,7 @@
 
 func (c *ProjectsDisableXpnHostCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -121389,7 +121389,7 @@
 
 func (c *ProjectsDisableXpnResourceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -121551,7 +121551,7 @@
 
 func (c *ProjectsEnableXpnHostCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -121709,7 +121709,7 @@
 
 func (c *ProjectsEnableXpnResourceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -121864,7 +121864,7 @@
 
 func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -122010,7 +122010,7 @@
 
 func (c *ProjectsGetXpnHostCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -122229,7 +122229,7 @@
 
 func (c *ProjectsGetXpnResourcesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -122488,7 +122488,7 @@
 
 func (c *ProjectsListXpnHostsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -122696,7 +122696,7 @@
 
 func (c *ProjectsMoveDiskCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -122861,7 +122861,7 @@
 
 func (c *ProjectsMoveInstanceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -123027,7 +123027,7 @@
 
 func (c *ProjectsSetCommonInstanceMetadataCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -123194,7 +123194,7 @@
 
 func (c *ProjectsSetDefaultNetworkTierCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -123360,7 +123360,7 @@
 
 func (c *ProjectsSetDefaultServiceAccountCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -123528,7 +123528,7 @@
 
 func (c *ProjectsSetUsageExportBucketCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -123695,7 +123695,7 @@
 
 func (c *PublicAdvertisedPrefixesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -123852,7 +123852,7 @@
 
 func (c *PublicAdvertisedPrefixesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -124017,7 +124017,7 @@
 
 func (c *PublicAdvertisedPrefixesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -124245,7 +124245,7 @@
 
 func (c *PublicAdvertisedPrefixesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -124453,7 +124453,7 @@
 
 func (c *PublicAdvertisedPrefixesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -124704,7 +124704,7 @@
 
 func (c *PublicDelegatedPrefixesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -124917,7 +124917,7 @@
 
 func (c *PublicDelegatedPrefixesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -125086,7 +125086,7 @@
 
 func (c *PublicDelegatedPrefixesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -125263,7 +125263,7 @@
 
 func (c *PublicDelegatedPrefixesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -125503,7 +125503,7 @@
 
 func (c *PublicDelegatedPrefixesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -125722,7 +125722,7 @@
 
 func (c *PublicDelegatedPrefixesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -125906,7 +125906,7 @@
 
 func (c *RegionAutoscalersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -126074,7 +126074,7 @@
 
 func (c *RegionAutoscalersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -126250,7 +126250,7 @@
 
 func (c *RegionAutoscalersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -126490,7 +126490,7 @@
 
 func (c *RegionAutoscalersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -126714,7 +126714,7 @@
 
 func (c *RegionAutoscalersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -126879,7 +126879,7 @@
 
 func (c *RegionAutoscalersTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -127067,7 +127067,7 @@
 
 func (c *RegionAutoscalersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -127248,7 +127248,7 @@
 
 func (c *RegionBackendServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -127416,7 +127416,7 @@
 
 func (c *RegionBackendServicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -127575,7 +127575,7 @@
 
 func (c *RegionBackendServicesGetHealthCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -127756,7 +127756,7 @@
 
 func (c *RegionBackendServicesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -127996,7 +127996,7 @@
 
 func (c *RegionBackendServicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -128216,7 +128216,7 @@
 
 func (c *RegionBackendServicesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -128384,7 +128384,7 @@
 
 func (c *RegionBackendServicesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -128568,7 +128568,7 @@
 
 func (c *RegionBackendServicesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -128827,7 +128827,7 @@
 
 func (c *RegionCommitmentsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -129031,7 +129031,7 @@
 
 func (c *RegionCommitmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -129207,7 +129207,7 @@
 
 func (c *RegionCommitmentsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -129447,7 +129447,7 @@
 
 func (c *RegionCommitmentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -129646,7 +129646,7 @@
 
 func (c *RegionCommitmentsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -129829,7 +129829,7 @@
 
 func (c *RegionCommitmentsUpdateReservationsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -130006,7 +130006,7 @@
 
 func (c *RegionDiskTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -130246,7 +130246,7 @@
 
 func (c *RegionDiskTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -130465,7 +130465,7 @@
 
 func (c *RegionDisksAddResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -130660,7 +130660,7 @@
 
 func (c *RegionDisksCreateSnapshotCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -130852,7 +130852,7 @@
 
 func (c *RegionDisksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -131019,7 +131019,7 @@
 
 func (c *RegionDisksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -131194,7 +131194,7 @@
 
 func (c *RegionDisksGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -131383,7 +131383,7 @@
 
 func (c *RegionDisksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -131628,7 +131628,7 @@
 
 func (c *RegionDisksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -131846,7 +131846,7 @@
 
 func (c *RegionDisksRemoveResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -132032,7 +132032,7 @@
 
 func (c *RegionDisksResizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -132200,7 +132200,7 @@
 
 func (c *RegionDisksSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -132381,7 +132381,7 @@
 
 func (c *RegionDisksSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -132549,7 +132549,7 @@
 
 func (c *RegionDisksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -132729,7 +132729,7 @@
 
 func (c *RegionHealthCheckServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -132896,7 +132896,7 @@
 
 func (c *RegionHealthCheckServicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -133071,7 +133071,7 @@
 
 func (c *RegionHealthCheckServicesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -133311,7 +133311,7 @@
 
 func (c *RegionHealthCheckServicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -133530,7 +133530,7 @@
 
 func (c *RegionHealthCheckServicesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -133697,7 +133697,7 @@
 
 func (c *RegionHealthCheckServicesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -133877,7 +133877,7 @@
 
 func (c *RegionHealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -134046,7 +134046,7 @@
 
 func (c *RegionHealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -134222,7 +134222,7 @@
 
 func (c *RegionHealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -134462,7 +134462,7 @@
 
 func (c *RegionHealthChecksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -134681,7 +134681,7 @@
 
 func (c *RegionHealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -134849,7 +134849,7 @@
 
 func (c *RegionHealthChecksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -135032,7 +135032,7 @@
 
 func (c *RegionHealthChecksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -135223,7 +135223,7 @@
 
 func (c *RegionInPlaceSnapshotsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -135392,7 +135392,7 @@
 
 func (c *RegionInPlaceSnapshotsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -135567,7 +135567,7 @@
 
 func (c *RegionInPlaceSnapshotsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -135748,7 +135748,7 @@
 
 func (c *RegionInPlaceSnapshotsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -135988,7 +135988,7 @@
 
 func (c *RegionInPlaceSnapshotsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -136187,7 +136187,7 @@
 
 func (c *RegionInPlaceSnapshotsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -136370,7 +136370,7 @@
 
 func (c *RegionInPlaceSnapshotsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -136538,7 +136538,7 @@
 
 func (c *RegionInPlaceSnapshotsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -136736,7 +136736,7 @@
 
 func (c *RegionInstanceGroupManagersAbandonInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -136902,7 +136902,7 @@
 
 func (c *RegionInstanceGroupManagersApplyUpdatesToInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -137085,7 +137085,7 @@
 
 func (c *RegionInstanceGroupManagersCreateInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -137268,7 +137268,7 @@
 
 func (c *RegionInstanceGroupManagersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -137460,7 +137460,7 @@
 
 func (c *RegionInstanceGroupManagersDeleteInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -137626,7 +137626,7 @@
 
 func (c *RegionInstanceGroupManagersDeletePerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -137796,7 +137796,7 @@
 
 func (c *RegionInstanceGroupManagersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -137977,7 +137977,7 @@
 
 func (c *RegionInstanceGroupManagersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -138216,7 +138216,7 @@
 
 func (c *RegionInstanceGroupManagersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -138498,7 +138498,7 @@
 
 func (c *RegionInstanceGroupManagersListErrorsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -138780,7 +138780,7 @@
 
 func (c *RegionInstanceGroupManagersListManagedInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -139058,7 +139058,7 @@
 
 func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -139287,7 +139287,7 @@
 
 func (c *RegionInstanceGroupManagersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -139474,7 +139474,7 @@
 
 func (c *RegionInstanceGroupManagersPatchPerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -139672,7 +139672,7 @@
 
 func (c *RegionInstanceGroupManagersRecreateInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -139867,7 +139867,7 @@
 
 func (c *RegionInstanceGroupManagersResizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -140054,7 +140054,7 @@
 
 func (c *RegionInstanceGroupManagersSetAutoHealingPoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -140240,7 +140240,7 @@
 
 func (c *RegionInstanceGroupManagersSetInstanceTemplateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -140426,7 +140426,7 @@
 
 func (c *RegionInstanceGroupManagersSetTargetPoolsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -140592,7 +140592,7 @@
 
 func (c *RegionInstanceGroupManagersTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -140778,7 +140778,7 @@
 
 func (c *RegionInstanceGroupManagersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -140965,7 +140965,7 @@
 
 func (c *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -141139,7 +141139,7 @@
 
 func (c *RegionInstanceGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -141377,7 +141377,7 @@
 
 func (c *RegionInstanceGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -141652,7 +141652,7 @@
 
 func (c *RegionInstanceGroupsListInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -141883,7 +141883,7 @@
 
 func (c *RegionInstanceGroupsSetNamedPortsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -142049,7 +142049,7 @@
 
 func (c *RegionInstanceGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -142230,7 +142230,7 @@
 
 func (c *RegionInstancesBulkInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -142407,7 +142407,7 @@
 
 func (c *RegionNetworkEndpointGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -142574,7 +142574,7 @@
 
 func (c *RegionNetworkEndpointGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -142748,7 +142748,7 @@
 
 func (c *RegionNetworkEndpointGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -142987,7 +142987,7 @@
 
 func (c *RegionNetworkEndpointGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -143202,7 +143202,7 @@
 
 func (c *RegionNotificationEndpointsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -143371,7 +143371,7 @@
 
 func (c *RegionNotificationEndpointsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -143547,7 +143547,7 @@
 
 func (c *RegionNotificationEndpointsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -143787,7 +143787,7 @@
 
 func (c *RegionNotificationEndpointsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -143986,7 +143986,7 @@
 
 func (c *RegionNotificationEndpointsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -144148,7 +144148,7 @@
 
 func (c *RegionOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -144284,7 +144284,7 @@
 
 func (c *RegionOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -144525,7 +144525,7 @@
 
 func (c *RegionOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -144734,7 +144734,7 @@
 
 func (c *RegionOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -144906,7 +144906,7 @@
 
 func (c *RegionSslCertificatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -145076,7 +145076,7 @@
 
 func (c *RegionSslCertificatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -145252,7 +145252,7 @@
 
 func (c *RegionSslCertificatesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -145492,7 +145492,7 @@
 
 func (c *RegionSslCertificatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -145691,7 +145691,7 @@
 
 func (c *RegionSslCertificatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -145871,7 +145871,7 @@
 
 func (c *RegionTargetHttpProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -146041,7 +146041,7 @@
 
 func (c *RegionTargetHttpProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -146217,7 +146217,7 @@
 
 func (c *RegionTargetHttpProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -146457,7 +146457,7 @@
 
 func (c *RegionTargetHttpProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -146674,7 +146674,7 @@
 
 func (c *RegionTargetHttpProxiesSetUrlMapCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -146842,7 +146842,7 @@
 
 func (c *RegionTargetHttpProxiesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -147022,7 +147022,7 @@
 
 func (c *RegionTargetHttpsProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -147192,7 +147192,7 @@
 
 func (c *RegionTargetHttpsProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -147368,7 +147368,7 @@
 
 func (c *RegionTargetHttpsProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -147608,7 +147608,7 @@
 
 func (c *RegionTargetHttpsProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -147825,7 +147825,7 @@
 
 func (c *RegionTargetHttpsProxiesSetSslCertificatesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -148011,7 +148011,7 @@
 
 func (c *RegionTargetHttpsProxiesSetUrlMapCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -148179,7 +148179,7 @@
 
 func (c *RegionTargetHttpsProxiesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -148347,7 +148347,7 @@
 
 func (c *RegionUrlMapsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -148516,7 +148516,7 @@
 
 func (c *RegionUrlMapsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -148680,7 +148680,7 @@
 
 func (c *RegionUrlMapsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -148846,7 +148846,7 @@
 
 func (c *RegionUrlMapsInvalidateCacheCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -149095,7 +149095,7 @@
 
 func (c *RegionUrlMapsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -149302,7 +149302,7 @@
 
 func (c *RegionUrlMapsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -149470,7 +149470,7 @@
 
 func (c *RegionUrlMapsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -149641,7 +149641,7 @@
 
 func (c *RegionUrlMapsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -149810,7 +149810,7 @@
 
 func (c *RegionUrlMapsValidateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -149981,7 +149981,7 @@
 
 func (c *RegionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -150211,7 +150211,7 @@
 
 func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -150492,7 +150492,7 @@
 
 func (c *ReservationsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -150703,7 +150703,7 @@
 
 func (c *ReservationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -150871,7 +150871,7 @@
 
 func (c *ReservationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -151046,7 +151046,7 @@
 
 func (c *ReservationsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -151228,7 +151228,7 @@
 
 func (c *ReservationsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -151468,7 +151468,7 @@
 
 func (c *ReservationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -151687,7 +151687,7 @@
 
 func (c *ReservationsResizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -151855,7 +151855,7 @@
 
 func (c *ReservationsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -152018,7 +152018,7 @@
 
 func (c *ReservationsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -152273,7 +152273,7 @@
 
 func (c *ResourcePoliciesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -152484,7 +152484,7 @@
 
 func (c *ResourcePoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -152652,7 +152652,7 @@
 
 func (c *ResourcePoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -152827,7 +152827,7 @@
 
 func (c *ResourcePoliciesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -153008,7 +153008,7 @@
 
 func (c *ResourcePoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -153248,7 +153248,7 @@
 
 func (c *ResourcePoliciesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -153447,7 +153447,7 @@
 
 func (c *ResourcePoliciesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -153610,7 +153610,7 @@
 
 func (c *ResourcePoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -153865,7 +153865,7 @@
 
 func (c *RoutersAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -154076,7 +154076,7 @@
 
 func (c *RoutersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -154245,7 +154245,7 @@
 
 func (c *RoutersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -154496,7 +154496,7 @@
 
 func (c *RoutersGetNatMappingInfoCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -154718,7 +154718,7 @@
 
 func (c *RoutersGetRouterStatusCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -154894,7 +154894,7 @@
 
 func (c *RoutersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -155134,7 +155134,7 @@
 
 func (c *RoutersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -155353,7 +155353,7 @@
 
 func (c *RoutersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -155522,7 +155522,7 @@
 
 func (c *RoutersPreviewCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -155686,7 +155686,7 @@
 
 func (c *RoutersTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -155872,7 +155872,7 @@
 
 func (c *RoutersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -156055,7 +156055,7 @@
 
 func (c *RoutesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -156214,7 +156214,7 @@
 
 func (c *RoutesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -156380,7 +156380,7 @@
 
 func (c *RoutesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -156610,7 +156610,7 @@
 
 func (c *RoutesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -156798,7 +156798,7 @@
 
 func (c *RoutesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -156957,7 +156957,7 @@
 
 func (c *SecurityPoliciesAddRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -157130,7 +157130,7 @@
 
 func (c *SecurityPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -157288,7 +157288,7 @@
 
 func (c *SecurityPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -157451,7 +157451,7 @@
 
 func (c *SecurityPoliciesGetRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -157629,7 +157629,7 @@
 
 func (c *SecurityPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -157863,7 +157863,7 @@
 
 func (c *SecurityPoliciesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -158132,7 +158132,7 @@
 
 func (c *SecurityPoliciesListPreconfiguredExpressionSetsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -158320,7 +158320,7 @@
 
 func (c *SecurityPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -158490,7 +158490,7 @@
 
 func (c *SecurityPoliciesPatchRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -158657,7 +158657,7 @@
 
 func (c *SecurityPoliciesRemoveRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -158807,7 +158807,7 @@
 
 func (c *SecurityPoliciesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -158959,7 +158959,7 @@
 
 func (c *SecurityPoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -159130,7 +159130,7 @@
 
 func (c *ServiceAttachmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -159299,7 +159299,7 @@
 
 func (c *ServiceAttachmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -159474,7 +159474,7 @@
 
 func (c *ServiceAttachmentsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -159656,7 +159656,7 @@
 
 func (c *ServiceAttachmentsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -159895,7 +159895,7 @@
 
 func (c *ServiceAttachmentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -160094,7 +160094,7 @@
 
 func (c *ServiceAttachmentsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -160257,7 +160257,7 @@
 
 func (c *ServiceAttachmentsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -160442,7 +160442,7 @@
 
 func (c *SnapshotsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -160601,7 +160601,7 @@
 
 func (c *SnapshotsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -160765,7 +160765,7 @@
 
 func (c *SnapshotsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -161001,7 +161001,7 @@
 
 func (c *SnapshotsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -161189,7 +161189,7 @@
 
 func (c *SnapshotsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -161341,7 +161341,7 @@
 
 func (c *SnapshotsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -161493,7 +161493,7 @@
 
 func (c *SnapshotsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -161740,7 +161740,7 @@
 
 func (c *SslCertificatesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -161949,7 +161949,7 @@
 
 func (c *SslCertificatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -162107,7 +162107,7 @@
 
 func (c *SslCertificatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -162272,7 +162272,7 @@
 
 func (c *SslCertificatesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -162501,7 +162501,7 @@
 
 func (c *SslCertificatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -162689,7 +162689,7 @@
 
 func (c *SslCertificatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -162860,7 +162860,7 @@
 
 func (c *SslPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -163017,7 +163017,7 @@
 
 func (c *SslPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -163181,7 +163181,7 @@
 
 func (c *SslPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -163410,7 +163410,7 @@
 
 func (c *SslPoliciesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -163679,7 +163679,7 @@
 
 func (c *SslPoliciesListAvailableFeaturesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -163867,7 +163867,7 @@
 
 func (c *SslPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -164023,7 +164023,7 @@
 
 func (c *SslPoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -164269,7 +164269,7 @@
 
 func (c *SubnetworksAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -164480,7 +164480,7 @@
 
 func (c *SubnetworksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -164659,7 +164659,7 @@
 
 func (c *SubnetworksExpandIpCidrRangeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -164836,7 +164836,7 @@
 
 func (c *SubnetworksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -165011,7 +165011,7 @@
 
 func (c *SubnetworksGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -165193,7 +165193,7 @@
 
 func (c *SubnetworksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -165433,7 +165433,7 @@
 
 func (c *SubnetworksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -165711,7 +165711,7 @@
 
 func (c *SubnetworksListUsableCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -165937,7 +165937,7 @@
 
 func (c *SubnetworksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -166111,7 +166111,7 @@
 
 func (c *SubnetworksSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -166294,7 +166294,7 @@
 
 func (c *SubnetworksSetPrivateIpGoogleAccessCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -166462,7 +166462,7 @@
 
 func (c *SubnetworksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -166640,7 +166640,7 @@
 
 func (c *TargetGrpcProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -166798,7 +166798,7 @@
 
 func (c *TargetGrpcProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -166963,7 +166963,7 @@
 
 func (c *TargetGrpcProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -167191,7 +167191,7 @@
 
 func (c *TargetGrpcProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -167399,7 +167399,7 @@
 
 func (c *TargetGrpcProxiesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -167556,7 +167556,7 @@
 
 func (c *TargetGrpcProxiesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -167803,7 +167803,7 @@
 
 func (c *TargetHttpProxiesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -168013,7 +168013,7 @@
 
 func (c *TargetHttpProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -168172,7 +168172,7 @@
 
 func (c *TargetHttpProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -168338,7 +168338,7 @@
 
 func (c *TargetHttpProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -168568,7 +168568,7 @@
 
 func (c *TargetHttpProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -168775,7 +168775,7 @@
 
 func (c *TargetHttpProxiesSetUrlMapCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -168932,7 +168932,7 @@
 
 func (c *TargetHttpProxiesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -169179,7 +169179,7 @@
 
 func (c *TargetHttpsProxiesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -169388,7 +169388,7 @@
 
 func (c *TargetHttpsProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -169546,7 +169546,7 @@
 
 func (c *TargetHttpsProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -169711,7 +169711,7 @@
 
 func (c *TargetHttpsProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -169940,7 +169940,7 @@
 
 func (c *TargetHttpsProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -170146,7 +170146,7 @@
 
 func (c *TargetHttpsProxiesSetCertificateMapCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -170320,7 +170320,7 @@
 
 func (c *TargetHttpsProxiesSetQuicOverrideCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -170494,7 +170494,7 @@
 
 func (c *TargetHttpsProxiesSetSslCertificatesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -170673,7 +170673,7 @@
 
 func (c *TargetHttpsProxiesSetSslPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -170847,7 +170847,7 @@
 
 func (c *TargetHttpsProxiesSetUrlMapCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -171004,7 +171004,7 @@
 
 func (c *TargetHttpsProxiesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -171251,7 +171251,7 @@
 
 func (c *TargetInstancesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -171463,7 +171463,7 @@
 
 func (c *TargetInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -171633,7 +171633,7 @@
 
 func (c *TargetInstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -171810,7 +171810,7 @@
 
 func (c *TargetInstancesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -172051,7 +172051,7 @@
 
 func (c *TargetInstancesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -172250,7 +172250,7 @@
 
 func (c *TargetInstancesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -172433,7 +172433,7 @@
 
 func (c *TargetPoolsAddHealthCheckCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -172620,7 +172620,7 @@
 
 func (c *TargetPoolsAddInstanceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -172880,7 +172880,7 @@
 
 func (c *TargetPoolsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -173092,7 +173092,7 @@
 
 func (c *TargetPoolsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -173262,7 +173262,7 @@
 
 func (c *TargetPoolsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -173422,7 +173422,7 @@
 
 func (c *TargetPoolsGetHealthCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -173604,7 +173604,7 @@
 
 func (c *TargetPoolsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -173845,7 +173845,7 @@
 
 func (c *TargetPoolsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -174063,7 +174063,7 @@
 
 func (c *TargetPoolsRemoveHealthCheckCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -174250,7 +174250,7 @@
 
 func (c *TargetPoolsRemoveInstanceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -174444,7 +174444,7 @@
 
 func (c *TargetPoolsSetBackupCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -174618,7 +174618,7 @@
 
 func (c *TargetPoolsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -174796,7 +174796,7 @@
 
 func (c *TargetSslProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -174954,7 +174954,7 @@
 
 func (c *TargetSslProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -175119,7 +175119,7 @@
 
 func (c *TargetSslProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -175348,7 +175348,7 @@
 
 func (c *TargetSslProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -175554,7 +175554,7 @@
 
 func (c *TargetSslProxiesSetBackendServiceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -175729,7 +175729,7 @@
 
 func (c *TargetSslProxiesSetCertificateMapCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -175903,7 +175903,7 @@
 
 func (c *TargetSslProxiesSetProxyHeaderCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -176078,7 +176078,7 @@
 
 func (c *TargetSslProxiesSetSslCertificatesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -176256,7 +176256,7 @@
 
 func (c *TargetSslProxiesSetSslPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -176412,7 +176412,7 @@
 
 func (c *TargetSslProxiesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -176581,7 +176581,7 @@
 
 func (c *TargetTcpProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -176739,7 +176739,7 @@
 
 func (c *TargetTcpProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -176904,7 +176904,7 @@
 
 func (c *TargetTcpProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -177133,7 +177133,7 @@
 
 func (c *TargetTcpProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -177339,7 +177339,7 @@
 
 func (c *TargetTcpProxiesSetBackendServiceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -177514,7 +177514,7 @@
 
 func (c *TargetTcpProxiesSetProxyHeaderCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -177671,7 +177671,7 @@
 
 func (c *TargetTcpProxiesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -177917,7 +177917,7 @@
 
 func (c *TargetVpnGatewaysAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -178128,7 +178128,7 @@
 
 func (c *TargetVpnGatewaysDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -178297,7 +178297,7 @@
 
 func (c *TargetVpnGatewaysGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -178473,7 +178473,7 @@
 
 func (c *TargetVpnGatewaysInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -178713,7 +178713,7 @@
 
 func (c *TargetVpnGatewaysListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -178931,7 +178931,7 @@
 
 func (c *TargetVpnGatewaysSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -179099,7 +179099,7 @@
 
 func (c *TargetVpnGatewaysTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -179355,7 +179355,7 @@
 
 func (c *UrlMapsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -179565,7 +179565,7 @@
 
 func (c *UrlMapsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -179724,7 +179724,7 @@
 
 func (c *UrlMapsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -179890,7 +179890,7 @@
 
 func (c *UrlMapsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -180057,7 +180057,7 @@
 
 func (c *UrlMapsInvalidateCacheCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -180296,7 +180296,7 @@
 
 func (c *UrlMapsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -180505,7 +180505,7 @@
 
 func (c *UrlMapsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -180662,7 +180662,7 @@
 
 func (c *UrlMapsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -180835,7 +180835,7 @@
 
 func (c *UrlMapsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -180994,7 +180994,7 @@
 
 func (c *UrlMapsValidateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -181239,7 +181239,7 @@
 
 func (c *VpnGatewaysAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -181450,7 +181450,7 @@
 
 func (c *VpnGatewaysDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -181619,7 +181619,7 @@
 
 func (c *VpnGatewaysGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -181786,7 +181786,7 @@
 
 func (c *VpnGatewaysGetStatusCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -181962,7 +181962,7 @@
 
 func (c *VpnGatewaysInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -182202,7 +182202,7 @@
 
 func (c *VpnGatewaysListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -182420,7 +182420,7 @@
 
 func (c *VpnGatewaysSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -182588,7 +182588,7 @@
 
 func (c *VpnGatewaysTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -182843,7 +182843,7 @@
 
 func (c *VpnTunnelsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -183054,7 +183054,7 @@
 
 func (c *VpnTunnelsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -183223,7 +183223,7 @@
 
 func (c *VpnTunnelsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -183399,7 +183399,7 @@
 
 func (c *VpnTunnelsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -183639,7 +183639,7 @@
 
 func (c *VpnTunnelsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -183857,7 +183857,7 @@
 
 func (c *VpnTunnelsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -184025,7 +184025,7 @@
 
 func (c *VpnTunnelsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -184212,7 +184212,7 @@
 
 func (c *ZoneInPlaceSnapshotsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -184381,7 +184381,7 @@
 
 func (c *ZoneInPlaceSnapshotsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -184556,7 +184556,7 @@
 
 func (c *ZoneInPlaceSnapshotsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -184737,7 +184737,7 @@
 
 func (c *ZoneInPlaceSnapshotsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -184977,7 +184977,7 @@
 
 func (c *ZoneInPlaceSnapshotsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -185176,7 +185176,7 @@
 
 func (c *ZoneInPlaceSnapshotsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -185358,7 +185358,7 @@
 
 func (c *ZoneInPlaceSnapshotsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -185526,7 +185526,7 @@
 
 func (c *ZoneInPlaceSnapshotsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -185688,7 +185688,7 @@
 
 func (c *ZoneOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -185824,7 +185824,7 @@
 
 func (c *ZoneOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -186065,7 +186065,7 @@
 
 func (c *ZoneOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -186274,7 +186274,7 @@
 
 func (c *ZoneOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -186438,7 +186438,7 @@
 
 func (c *ZonesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -186668,7 +186668,7 @@
 
 func (c *ZonesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/compute/v0.beta/compute-gen.go b/compute/v0.beta/compute-gen.go
index 09a4951..e2014f0 100644
--- a/compute/v0.beta/compute-gen.go
+++ b/compute/v0.beta/compute-gen.go
@@ -45756,7 +45756,7 @@
 
 func (c *AcceleratorTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -45954,7 +45954,7 @@
 
 func (c *AcceleratorTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -46185,7 +46185,7 @@
 
 func (c *AcceleratorTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -46462,7 +46462,7 @@
 
 func (c *AddressesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -46669,7 +46669,7 @@
 
 func (c *AddressesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -46838,7 +46838,7 @@
 
 func (c *AddressesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -47015,7 +47015,7 @@
 
 func (c *AddressesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -47247,7 +47247,7 @@
 
 func (c *AddressesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -47460,7 +47460,7 @@
 
 func (c *AddressesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -47628,7 +47628,7 @@
 
 func (c *AddressesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -47874,7 +47874,7 @@
 
 func (c *AutoscalersAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -48080,7 +48080,7 @@
 
 func (c *AutoscalersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -48249,7 +48249,7 @@
 
 func (c *AutoscalersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -48425,7 +48425,7 @@
 
 func (c *AutoscalersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -48656,7 +48656,7 @@
 
 func (c *AutoscalersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -48875,7 +48875,7 @@
 
 func (c *AutoscalersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49040,7 +49040,7 @@
 
 func (c *AutoscalersTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49228,7 +49228,7 @@
 
 func (c *AutoscalersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49410,7 +49410,7 @@
 
 func (c *BackendBucketsAddSignedUrlKeyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49582,7 +49582,7 @@
 
 func (c *BackendBucketsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49749,7 +49749,7 @@
 
 func (c *BackendBucketsDeleteSignedUrlKeyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49913,7 +49913,7 @@
 
 func (c *BackendBucketsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -50078,7 +50078,7 @@
 
 func (c *BackendBucketsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -50298,7 +50298,7 @@
 
 func (c *BackendBucketsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -50501,7 +50501,7 @@
 
 func (c *BackendBucketsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -50677,7 +50677,7 @@
 
 func (c *BackendBucketsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -50853,7 +50853,7 @@
 
 func (c *BackendServicesAddSignedUrlKeyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -51094,7 +51094,7 @@
 
 func (c *BackendServicesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -51299,7 +51299,7 @@
 
 func (c *BackendServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -51466,7 +51466,7 @@
 
 func (c *BackendServicesDeleteSignedUrlKeyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -51631,7 +51631,7 @@
 
 func (c *BackendServicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -51784,7 +51784,7 @@
 
 func (c *BackendServicesGetHealthCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -51955,7 +51955,7 @@
 
 func (c *BackendServicesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -52176,7 +52176,7 @@
 
 func (c *BackendServicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -52381,7 +52381,7 @@
 
 func (c *BackendServicesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -52557,7 +52557,7 @@
 
 func (c *BackendServicesSetSecurityPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -52713,7 +52713,7 @@
 
 func (c *BackendServicesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -52887,7 +52887,7 @@
 
 func (c *BackendServicesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -53129,7 +53129,7 @@
 
 func (c *DiskTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -53329,7 +53329,7 @@
 
 func (c *DiskTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -53561,7 +53561,7 @@
 
 func (c *DiskTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -53775,7 +53775,7 @@
 
 func (c *DisksAddResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -54026,7 +54026,7 @@
 
 func (c *DisksAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -54244,7 +54244,7 @@
 
 func (c *DisksCreateSnapshotCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -54437,7 +54437,7 @@
 
 func (c *DisksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -54606,7 +54606,7 @@
 
 func (c *DisksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -54781,7 +54781,7 @@
 
 func (c *DisksGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -54975,7 +54975,7 @@
 
 func (c *DisksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -55212,7 +55212,7 @@
 
 func (c *DisksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -55424,7 +55424,7 @@
 
 func (c *DisksRemoveResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -55611,7 +55611,7 @@
 
 func (c *DisksResizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -55779,7 +55779,7 @@
 
 func (c *DisksSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -55961,7 +55961,7 @@
 
 func (c *DisksSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -56129,7 +56129,7 @@
 
 func (c *DisksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -56307,7 +56307,7 @@
 
 func (c *ExternalVpnGatewaysDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -56465,7 +56465,7 @@
 
 func (c *ExternalVpnGatewaysGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -56630,7 +56630,7 @@
 
 func (c *ExternalVpnGatewaysInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -56850,7 +56850,7 @@
 
 func (c *ExternalVpnGatewaysListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -57033,7 +57033,7 @@
 
 func (c *ExternalVpnGatewaysSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -57185,7 +57185,7 @@
 
 func (c *ExternalVpnGatewaysTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -57355,7 +57355,7 @@
 
 func (c *FirewallsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -57513,7 +57513,7 @@
 
 func (c *FirewallsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -57679,7 +57679,7 @@
 
 func (c *FirewallsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -57900,7 +57900,7 @@
 
 func (c *FirewallsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -58104,7 +58104,7 @@
 
 func (c *FirewallsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -58261,7 +58261,7 @@
 
 func (c *FirewallsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -58436,7 +58436,7 @@
 
 func (c *FirewallsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -58678,7 +58678,7 @@
 
 func (c *ForwardingRulesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -58885,7 +58885,7 @@
 
 func (c *ForwardingRulesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -59054,7 +59054,7 @@
 
 func (c *ForwardingRulesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -59231,7 +59231,7 @@
 
 func (c *ForwardingRulesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -59463,7 +59463,7 @@
 
 func (c *ForwardingRulesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -59678,7 +59678,7 @@
 
 func (c *ForwardingRulesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -59865,7 +59865,7 @@
 
 func (c *ForwardingRulesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -60053,7 +60053,7 @@
 
 func (c *ForwardingRulesSetTargetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -60221,7 +60221,7 @@
 
 func (c *ForwardingRulesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -60400,7 +60400,7 @@
 
 func (c *GlobalAddressesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -60559,7 +60559,7 @@
 
 func (c *GlobalAddressesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -60725,7 +60725,7 @@
 
 func (c *GlobalAddressesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -60945,7 +60945,7 @@
 
 func (c *GlobalAddressesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -61128,7 +61128,7 @@
 
 func (c *GlobalAddressesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -61280,7 +61280,7 @@
 
 func (c *GlobalAddressesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -61450,7 +61450,7 @@
 
 func (c *GlobalForwardingRulesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -61609,7 +61609,7 @@
 
 func (c *GlobalForwardingRulesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -61775,7 +61775,7 @@
 
 func (c *GlobalForwardingRulesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -61996,7 +61996,7 @@
 
 func (c *GlobalForwardingRulesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -62200,7 +62200,7 @@
 
 func (c *GlobalForwardingRulesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -62357,7 +62357,7 @@
 
 func (c *GlobalForwardingRulesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -62529,7 +62529,7 @@
 
 func (c *GlobalForwardingRulesSetTargetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -62686,7 +62686,7 @@
 
 func (c *GlobalForwardingRulesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -62858,7 +62858,7 @@
 
 func (c *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -63031,7 +63031,7 @@
 
 func (c *GlobalNetworkEndpointGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -63198,7 +63198,7 @@
 
 func (c *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -63363,7 +63363,7 @@
 
 func (c *GlobalNetworkEndpointGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -63527,7 +63527,7 @@
 
 func (c *GlobalNetworkEndpointGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -63747,7 +63747,7 @@
 
 func (c *GlobalNetworkEndpointGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -63993,7 +63993,7 @@
 
 func (c *GlobalNetworkEndpointGroupsListNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -64268,7 +64268,7 @@
 
 func (c *GlobalOperationsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -64454,7 +64454,7 @@
 
 func (c *GlobalOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -64580,7 +64580,7 @@
 
 func (c *GlobalOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -64801,7 +64801,7 @@
 
 func (c *GlobalOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -64994,7 +64994,7 @@
 
 func (c *GlobalOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -65141,7 +65141,7 @@
 
 func (c *GlobalOrganizationOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -65267,7 +65267,7 @@
 
 func (c *GlobalOrganizationOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -65488,7 +65488,7 @@
 
 func (c *GlobalOrganizationOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -65748,7 +65748,7 @@
 
 func (c *HealthChecksAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -65952,7 +65952,7 @@
 
 func (c *HealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -66110,7 +66110,7 @@
 
 func (c *HealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -66275,7 +66275,7 @@
 
 func (c *HealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -66495,7 +66495,7 @@
 
 func (c *HealthChecksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -66698,7 +66698,7 @@
 
 func (c *HealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -66855,7 +66855,7 @@
 
 func (c *HealthChecksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -67027,7 +67027,7 @@
 
 func (c *HealthChecksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -67201,7 +67201,7 @@
 
 func (c *HttpHealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -67360,7 +67360,7 @@
 
 func (c *HttpHealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -67526,7 +67526,7 @@
 
 func (c *HttpHealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -67747,7 +67747,7 @@
 
 func (c *HttpHealthChecksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -67951,7 +67951,7 @@
 
 func (c *HttpHealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -68108,7 +68108,7 @@
 
 func (c *HttpHealthChecksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -68281,7 +68281,7 @@
 
 func (c *HttpHealthChecksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -68454,7 +68454,7 @@
 
 func (c *HttpsHealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -68612,7 +68612,7 @@
 
 func (c *HttpsHealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -68777,7 +68777,7 @@
 
 func (c *HttpsHealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -68997,7 +68997,7 @@
 
 func (c *HttpsHealthChecksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -69200,7 +69200,7 @@
 
 func (c *HttpsHealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -69357,7 +69357,7 @@
 
 func (c *HttpsHealthChecksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -69529,7 +69529,7 @@
 
 func (c *HttpsHealthChecksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -69703,7 +69703,7 @@
 
 func (c *ImagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -69874,7 +69874,7 @@
 
 func (c *ImagesDeprecateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -70041,7 +70041,7 @@
 
 func (c *ImagesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -70198,7 +70198,7 @@
 
 func (c *ImagesGetFromFamilyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -70362,7 +70362,7 @@
 
 func (c *ImagesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -70541,7 +70541,7 @@
 
 func (c *ImagesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -70775,7 +70775,7 @@
 
 func (c *ImagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -70978,7 +70978,7 @@
 
 func (c *ImagesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -71135,7 +71135,7 @@
 
 func (c *ImagesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -71287,7 +71287,7 @@
 
 func (c *ImagesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -71439,7 +71439,7 @@
 
 func (c *ImagesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -71628,7 +71628,7 @@
 
 func (c *InstanceGroupManagersAbandonInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -71877,7 +71877,7 @@
 
 func (c *InstanceGroupManagersAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -72069,7 +72069,7 @@
 
 func (c *InstanceGroupManagersApplyUpdatesToInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -72252,7 +72252,7 @@
 
 func (c *InstanceGroupManagersCreateInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -72437,7 +72437,7 @@
 
 func (c *InstanceGroupManagersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -72628,7 +72628,7 @@
 
 func (c *InstanceGroupManagersDeleteInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -72794,7 +72794,7 @@
 
 func (c *InstanceGroupManagersDeletePerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -72965,7 +72965,7 @@
 
 func (c *InstanceGroupManagersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -73147,7 +73147,7 @@
 
 func (c *InstanceGroupManagersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -73377,7 +73377,7 @@
 
 func (c *InstanceGroupManagersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -73645,7 +73645,7 @@
 
 func (c *InstanceGroupManagersListErrorsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -73915,7 +73915,7 @@
 
 func (c *InstanceGroupManagersListManagedInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -74179,7 +74179,7 @@
 
 func (c *InstanceGroupManagersListPerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -74403,7 +74403,7 @@
 
 func (c *InstanceGroupManagersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -74589,7 +74589,7 @@
 
 func (c *InstanceGroupManagersPatchPerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -74787,7 +74787,7 @@
 
 func (c *InstanceGroupManagersRecreateInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -74990,7 +74990,7 @@
 
 func (c *InstanceGroupManagersResizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -75188,7 +75188,7 @@
 
 func (c *InstanceGroupManagersResizeAdvancedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -75373,7 +75373,7 @@
 
 func (c *InstanceGroupManagersSetAutoHealingPoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -75559,7 +75559,7 @@
 
 func (c *InstanceGroupManagersSetInstanceTemplateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -75749,7 +75749,7 @@
 
 func (c *InstanceGroupManagersSetTargetPoolsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -75915,7 +75915,7 @@
 
 func (c *InstanceGroupManagersTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -76101,7 +76101,7 @@
 
 func (c *InstanceGroupManagersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -76287,7 +76287,7 @@
 
 func (c *InstanceGroupManagersUpdatePerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -76473,7 +76473,7 @@
 
 func (c *InstanceGroupsAddInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -76722,7 +76722,7 @@
 
 func (c *InstanceGroupsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -76931,7 +76931,7 @@
 
 func (c *InstanceGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -77098,7 +77098,7 @@
 
 func (c *InstanceGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -77272,7 +77272,7 @@
 
 func (c *InstanceGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -77502,7 +77502,7 @@
 
 func (c *InstanceGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -77760,7 +77760,7 @@
 
 func (c *InstanceGroupsListInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -77989,7 +77989,7 @@
 
 func (c *InstanceGroupsRemoveInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -78173,7 +78173,7 @@
 
 func (c *InstanceGroupsSetNamedPortsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -78339,7 +78339,7 @@
 
 func (c *InstanceGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -78520,7 +78520,7 @@
 
 func (c *InstanceTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -78679,7 +78679,7 @@
 
 func (c *InstanceTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -78843,7 +78843,7 @@
 
 func (c *InstanceTemplatesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -79018,7 +79018,7 @@
 
 func (c *InstanceTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -79239,7 +79239,7 @@
 
 func (c *InstanceTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -79422,7 +79422,7 @@
 
 func (c *InstanceTemplatesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -79574,7 +79574,7 @@
 
 func (c *InstanceTemplatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -79750,7 +79750,7 @@
 
 func (c *InstancesAddAccessConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -79945,7 +79945,7 @@
 
 func (c *InstancesAddResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -80197,7 +80197,7 @@
 
 func (c *InstancesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -80417,7 +80417,7 @@
 
 func (c *InstancesAttachDiskCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -80608,7 +80608,7 @@
 
 func (c *InstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -80788,7 +80788,7 @@
 
 func (c *InstancesDeleteAccessConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -80980,7 +80980,7 @@
 
 func (c *InstancesDetachDiskCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -81157,7 +81157,7 @@
 
 func (c *InstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -81326,7 +81326,7 @@
 
 func (c *InstancesGetEffectiveFirewallsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -81515,7 +81515,7 @@
 
 func (c *InstancesGetGuestAttributesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -81700,7 +81700,7 @@
 
 func (c *InstancesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -81873,7 +81873,7 @@
 
 func (c *InstancesGetScreenshotCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -82071,7 +82071,7 @@
 
 func (c *InstancesGetSerialPortOutputCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -82254,7 +82254,7 @@
 
 func (c *InstancesGetShieldedInstanceIdentityCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -82422,7 +82422,7 @@
 
 func (c *InstancesGetShieldedVmIdentityCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -82628,7 +82628,7 @@
 
 func (c *InstancesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -82870,7 +82870,7 @@
 
 func (c *InstancesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -83141,7 +83141,7 @@
 
 func (c *InstancesListReferrersCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -83362,7 +83362,7 @@
 
 func (c *InstancesRemoveResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -83549,7 +83549,7 @@
 
 func (c *InstancesResetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -83728,7 +83728,7 @@
 
 func (c *InstancesResumeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -83919,7 +83919,7 @@
 
 func (c *InstancesSetDeletionProtectionCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -84105,7 +84105,7 @@
 
 func (c *InstancesSetDiskAutoDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -84280,7 +84280,7 @@
 
 func (c *InstancesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -84462,7 +84462,7 @@
 
 func (c *InstancesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -84649,7 +84649,7 @@
 
 func (c *InstancesSetMachineResourcesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -84836,7 +84836,7 @@
 
 func (c *InstancesSetMachineTypeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -85024,7 +85024,7 @@
 
 func (c *InstancesSetMetadataCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -85213,7 +85213,7 @@
 
 func (c *InstancesSetMinCpuPlatformCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -85403,7 +85403,7 @@
 
 func (c *InstancesSetSchedulingCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -85591,7 +85591,7 @@
 
 func (c *InstancesSetServiceAccountCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -85780,7 +85780,7 @@
 
 func (c *InstancesSetShieldedInstanceIntegrityPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -85969,7 +85969,7 @@
 
 func (c *InstancesSetShieldedVmIntegrityPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -86157,7 +86157,7 @@
 
 func (c *InstancesSetTagsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -86323,7 +86323,7 @@
 
 func (c *InstancesSimulateMaintenanceEventCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -86496,7 +86496,7 @@
 
 func (c *InstancesStartCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -86676,7 +86676,7 @@
 
 func (c *InstancesStartWithEncryptionKeyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -86866,7 +86866,7 @@
 
 func (c *InstancesStopCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -87055,7 +87055,7 @@
 
 func (c *InstancesSuspendCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -87220,7 +87220,7 @@
 
 func (c *InstancesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -87437,7 +87437,7 @@
 
 func (c *InstancesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -87661,7 +87661,7 @@
 
 func (c *InstancesUpdateAccessConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -87857,7 +87857,7 @@
 
 func (c *InstancesUpdateDisplayDeviceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -88045,7 +88045,7 @@
 
 func (c *InstancesUpdateNetworkInterfaceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -88241,7 +88241,7 @@
 
 func (c *InstancesUpdateShieldedInstanceConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -88430,7 +88430,7 @@
 
 func (c *InstancesUpdateShieldedVmConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -88681,7 +88681,7 @@
 
 func (c *InterconnectAttachmentsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -88888,7 +88888,7 @@
 
 func (c *InterconnectAttachmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -89056,7 +89056,7 @@
 
 func (c *InterconnectAttachmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -89239,7 +89239,7 @@
 
 func (c *InterconnectAttachmentsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -89475,7 +89475,7 @@
 
 func (c *InterconnectAttachmentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -89689,7 +89689,7 @@
 
 func (c *InterconnectAttachmentsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -89876,7 +89876,7 @@
 
 func (c *InterconnectAttachmentsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -90044,7 +90044,7 @@
 
 func (c *InterconnectAttachmentsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -90216,7 +90216,7 @@
 
 func (c *InterconnectLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -90436,7 +90436,7 @@
 
 func (c *InterconnectLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -90635,7 +90635,7 @@
 
 func (c *InterconnectsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -90793,7 +90793,7 @@
 
 func (c *InterconnectsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -90950,7 +90950,7 @@
 
 func (c *InterconnectsGetDiagnosticsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -91116,7 +91116,7 @@
 
 func (c *InterconnectsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -91336,7 +91336,7 @@
 
 func (c *InterconnectsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -91539,7 +91539,7 @@
 
 func (c *InterconnectsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -91696,7 +91696,7 @@
 
 func (c *InterconnectsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -91848,7 +91848,7 @@
 
 func (c *InterconnectsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -92012,7 +92012,7 @@
 
 func (c *LicenseCodesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -92178,7 +92178,7 @@
 
 func (c *LicensesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -92338,7 +92338,7 @@
 
 func (c *LicensesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -92504,7 +92504,7 @@
 
 func (c *LicensesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -92676,7 +92676,7 @@
 
 func (c *LicensesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -92905,7 +92905,7 @@
 
 func (c *LicensesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -93090,7 +93090,7 @@
 
 func (c *LicensesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -93259,7 +93259,7 @@
 
 func (c *MachineImagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -93417,7 +93417,7 @@
 
 func (c *MachineImagesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -93581,7 +93581,7 @@
 
 func (c *MachineImagesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -93763,7 +93763,7 @@
 
 func (c *MachineImagesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -93988,7 +93988,7 @@
 
 func (c *MachineImagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -94171,7 +94171,7 @@
 
 func (c *MachineImagesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -94323,7 +94323,7 @@
 
 func (c *MachineImagesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -94561,7 +94561,7 @@
 
 func (c *MachineTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -94761,7 +94761,7 @@
 
 func (c *MachineTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -94993,7 +94993,7 @@
 
 func (c *MachineTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -95270,7 +95270,7 @@
 
 func (c *NetworkEndpointGroupsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -95480,7 +95480,7 @@
 
 func (c *NetworkEndpointGroupsAttachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -95665,7 +95665,7 @@
 
 func (c *NetworkEndpointGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -95842,7 +95842,7 @@
 
 func (c *NetworkEndpointGroupsDetachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -96017,7 +96017,7 @@
 
 func (c *NetworkEndpointGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -96191,7 +96191,7 @@
 
 func (c *NetworkEndpointGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -96421,7 +96421,7 @@
 
 func (c *NetworkEndpointGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -96679,7 +96679,7 @@
 
 func (c *NetworkEndpointGroupsListNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -96887,7 +96887,7 @@
 
 func (c *NetworkEndpointGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -97067,7 +97067,7 @@
 
 func (c *NetworksAddPeeringCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -97241,7 +97241,7 @@
 
 func (c *NetworksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -97400,7 +97400,7 @@
 
 func (c *NetworksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -97557,7 +97557,7 @@
 
 func (c *NetworksGetEffectiveFirewallsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -97724,7 +97724,7 @@
 
 func (c *NetworksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -97945,7 +97945,7 @@
 
 func (c *NetworksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -98228,7 +98228,7 @@
 
 func (c *NetworksListPeeringRoutesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -98463,7 +98463,7 @@
 
 func (c *NetworksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -98638,7 +98638,7 @@
 
 func (c *NetworksRemovePeeringCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -98812,7 +98812,7 @@
 
 func (c *NetworksSwitchToCustomModeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -98961,7 +98961,7 @@
 
 func (c *NetworksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -99135,7 +99135,7 @@
 
 func (c *NetworksUpdatePeeringCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -99312,7 +99312,7 @@
 
 func (c *NodeGroupsAddNodesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -99563,7 +99563,7 @@
 
 func (c *NodeGroupsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -99769,7 +99769,7 @@
 
 func (c *NodeGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -99947,7 +99947,7 @@
 
 func (c *NodeGroupsDeleteNodesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -100125,7 +100125,7 @@
 
 func (c *NodeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -100300,7 +100300,7 @@
 
 func (c *NodeGroupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -100483,7 +100483,7 @@
 
 func (c *NodeGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -100723,7 +100723,7 @@
 
 func (c *NodeGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -100979,7 +100979,7 @@
 
 func (c *NodeGroupsListNodesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -101197,7 +101197,7 @@
 
 func (c *NodeGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -101365,7 +101365,7 @@
 
 func (c *NodeGroupsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -101546,7 +101546,7 @@
 
 func (c *NodeGroupsSetNodeTemplateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -101714,7 +101714,7 @@
 
 func (c *NodeGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -101960,7 +101960,7 @@
 
 func (c *NodeTemplatesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -102166,7 +102166,7 @@
 
 func (c *NodeTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -102335,7 +102335,7 @@
 
 func (c *NodeTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -102510,7 +102510,7 @@
 
 func (c *NodeTemplatesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -102692,7 +102692,7 @@
 
 func (c *NodeTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -102923,7 +102923,7 @@
 
 func (c *NodeTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -103117,7 +103117,7 @@
 
 func (c *NodeTemplatesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -103280,7 +103280,7 @@
 
 func (c *NodeTemplatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -103526,7 +103526,7 @@
 
 func (c *NodeTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -103725,7 +103725,7 @@
 
 func (c *NodeTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -103956,7 +103956,7 @@
 
 func (c *NodeTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -104175,7 +104175,7 @@
 
 func (c *OrganizationSecurityPoliciesAddAssociationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -104344,7 +104344,7 @@
 
 func (c *OrganizationSecurityPoliciesAddRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -104513,7 +104513,7 @@
 
 func (c *OrganizationSecurityPoliciesCopyRulesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -104672,7 +104672,7 @@
 
 func (c *OrganizationSecurityPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -104819,7 +104819,7 @@
 
 func (c *OrganizationSecurityPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -104971,7 +104971,7 @@
 
 func (c *OrganizationSecurityPoliciesGetAssociationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -105128,7 +105128,7 @@
 
 func (c *OrganizationSecurityPoliciesGetRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -105295,7 +105295,7 @@
 
 func (c *OrganizationSecurityPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -105512,7 +105512,7 @@
 
 func (c *OrganizationSecurityPoliciesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -105700,7 +105700,7 @@
 
 func (c *OrganizationSecurityPoliciesListAssociationsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -105853,7 +105853,7 @@
 
 func (c *OrganizationSecurityPoliciesMoveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -106015,7 +106015,7 @@
 
 func (c *OrganizationSecurityPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -106186,7 +106186,7 @@
 
 func (c *OrganizationSecurityPoliciesPatchRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -106362,7 +106362,7 @@
 
 func (c *OrganizationSecurityPoliciesRemoveAssociationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -106528,7 +106528,7 @@
 
 func (c *OrganizationSecurityPoliciesRemoveRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -106758,7 +106758,7 @@
 
 func (c *PacketMirroringsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -106964,7 +106964,7 @@
 
 func (c *PacketMirroringsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -107132,7 +107132,7 @@
 
 func (c *PacketMirroringsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -107308,7 +107308,7 @@
 
 func (c *PacketMirroringsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -107539,7 +107539,7 @@
 
 func (c *PacketMirroringsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -107753,7 +107753,7 @@
 
 func (c *PacketMirroringsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -107921,7 +107921,7 @@
 
 func (c *PacketMirroringsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -108097,7 +108097,7 @@
 
 func (c *ProjectsDisableXpnHostCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -108254,7 +108254,7 @@
 
 func (c *ProjectsDisableXpnResourceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -108416,7 +108416,7 @@
 
 func (c *ProjectsEnableXpnHostCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -108574,7 +108574,7 @@
 
 func (c *ProjectsEnableXpnResourceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -108729,7 +108729,7 @@
 
 func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -108875,7 +108875,7 @@
 
 func (c *ProjectsGetXpnHostCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -109085,7 +109085,7 @@
 
 func (c *ProjectsGetXpnResourcesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -109330,7 +109330,7 @@
 
 func (c *ProjectsListXpnHostsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -109533,7 +109533,7 @@
 
 func (c *ProjectsMoveDiskCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -109698,7 +109698,7 @@
 
 func (c *ProjectsMoveInstanceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -109864,7 +109864,7 @@
 
 func (c *ProjectsSetCommonInstanceMetadataCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -110031,7 +110031,7 @@
 
 func (c *ProjectsSetDefaultNetworkTierCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -110199,7 +110199,7 @@
 
 func (c *ProjectsSetUsageExportBucketCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -110368,7 +110368,7 @@
 
 func (c *RegionAutoscalersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -110536,7 +110536,7 @@
 
 func (c *RegionAutoscalersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -110712,7 +110712,7 @@
 
 func (c *RegionAutoscalersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -110943,7 +110943,7 @@
 
 func (c *RegionAutoscalersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -111162,7 +111162,7 @@
 
 func (c *RegionAutoscalersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -111327,7 +111327,7 @@
 
 func (c *RegionAutoscalersTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -111515,7 +111515,7 @@
 
 func (c *RegionAutoscalersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -111696,7 +111696,7 @@
 
 func (c *RegionBackendServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -111864,7 +111864,7 @@
 
 func (c *RegionBackendServicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -112023,7 +112023,7 @@
 
 func (c *RegionBackendServicesGetHealthCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -112204,7 +112204,7 @@
 
 func (c *RegionBackendServicesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -112435,7 +112435,7 @@
 
 func (c *RegionBackendServicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -112650,7 +112650,7 @@
 
 func (c *RegionBackendServicesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -112818,7 +112818,7 @@
 
 func (c *RegionBackendServicesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -113002,7 +113002,7 @@
 
 func (c *RegionBackendServicesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -113252,7 +113252,7 @@
 
 func (c *RegionCommitmentsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -113451,7 +113451,7 @@
 
 func (c *RegionCommitmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -113627,7 +113627,7 @@
 
 func (c *RegionCommitmentsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -113858,7 +113858,7 @@
 
 func (c *RegionCommitmentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -114071,7 +114071,7 @@
 
 func (c *RegionCommitmentsUpdateReservationsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -114248,7 +114248,7 @@
 
 func (c *RegionDiskTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -114479,7 +114479,7 @@
 
 func (c *RegionDiskTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -114693,7 +114693,7 @@
 
 func (c *RegionDisksAddResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -114879,7 +114879,7 @@
 
 func (c *RegionDisksCreateSnapshotCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -115066,7 +115066,7 @@
 
 func (c *RegionDisksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -115233,7 +115233,7 @@
 
 func (c *RegionDisksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -115408,7 +115408,7 @@
 
 func (c *RegionDisksGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -115597,7 +115597,7 @@
 
 func (c *RegionDisksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -115833,7 +115833,7 @@
 
 func (c *RegionDisksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -116046,7 +116046,7 @@
 
 func (c *RegionDisksRemoveResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -116232,7 +116232,7 @@
 
 func (c *RegionDisksResizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -116400,7 +116400,7 @@
 
 func (c *RegionDisksSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -116581,7 +116581,7 @@
 
 func (c *RegionDisksSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -116749,7 +116749,7 @@
 
 func (c *RegionDisksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -116929,7 +116929,7 @@
 
 func (c *RegionHealthCheckServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -117096,7 +117096,7 @@
 
 func (c *RegionHealthCheckServicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -117271,7 +117271,7 @@
 
 func (c *RegionHealthCheckServicesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -117502,7 +117502,7 @@
 
 func (c *RegionHealthCheckServicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -117716,7 +117716,7 @@
 
 func (c *RegionHealthCheckServicesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -117899,7 +117899,7 @@
 
 func (c *RegionHealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -118068,7 +118068,7 @@
 
 func (c *RegionHealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -118244,7 +118244,7 @@
 
 func (c *RegionHealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -118475,7 +118475,7 @@
 
 func (c *RegionHealthChecksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -118689,7 +118689,7 @@
 
 func (c *RegionHealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -118876,7 +118876,7 @@
 
 func (c *RegionHealthChecksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -119078,7 +119078,7 @@
 
 func (c *RegionInstanceGroupManagersAbandonInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -119244,7 +119244,7 @@
 
 func (c *RegionInstanceGroupManagersApplyUpdatesToInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -119427,7 +119427,7 @@
 
 func (c *RegionInstanceGroupManagersCreateInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -119610,7 +119610,7 @@
 
 func (c *RegionInstanceGroupManagersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -119802,7 +119802,7 @@
 
 func (c *RegionInstanceGroupManagersDeleteInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -119968,7 +119968,7 @@
 
 func (c *RegionInstanceGroupManagersDeletePerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -120138,7 +120138,7 @@
 
 func (c *RegionInstanceGroupManagersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -120319,7 +120319,7 @@
 
 func (c *RegionInstanceGroupManagersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -120549,7 +120549,7 @@
 
 func (c *RegionInstanceGroupManagersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -120817,7 +120817,7 @@
 
 func (c *RegionInstanceGroupManagersListErrorsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -121085,7 +121085,7 @@
 
 func (c *RegionInstanceGroupManagersListManagedInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -121349,7 +121349,7 @@
 
 func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -121573,7 +121573,7 @@
 
 func (c *RegionInstanceGroupManagersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -121760,7 +121760,7 @@
 
 func (c *RegionInstanceGroupManagersPatchPerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -121958,7 +121958,7 @@
 
 func (c *RegionInstanceGroupManagersRecreateInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -122153,7 +122153,7 @@
 
 func (c *RegionInstanceGroupManagersResizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -122340,7 +122340,7 @@
 
 func (c *RegionInstanceGroupManagersSetAutoHealingPoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -122526,7 +122526,7 @@
 
 func (c *RegionInstanceGroupManagersSetInstanceTemplateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -122712,7 +122712,7 @@
 
 func (c *RegionInstanceGroupManagersSetTargetPoolsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -122878,7 +122878,7 @@
 
 func (c *RegionInstanceGroupManagersTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -123064,7 +123064,7 @@
 
 func (c *RegionInstanceGroupManagersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -123251,7 +123251,7 @@
 
 func (c *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -123425,7 +123425,7 @@
 
 func (c *RegionInstanceGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -123654,7 +123654,7 @@
 
 func (c *RegionInstanceGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -123915,7 +123915,7 @@
 
 func (c *RegionInstanceGroupsListInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -124141,7 +124141,7 @@
 
 func (c *RegionInstanceGroupsSetNamedPortsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -124307,7 +124307,7 @@
 
 func (c *RegionInstanceGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -124489,7 +124489,7 @@
 
 func (c *RegionNetworkEndpointGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -124656,7 +124656,7 @@
 
 func (c *RegionNetworkEndpointGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -124830,7 +124830,7 @@
 
 func (c *RegionNetworkEndpointGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -125060,7 +125060,7 @@
 
 func (c *RegionNetworkEndpointGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -125270,7 +125270,7 @@
 
 func (c *RegionNotificationEndpointsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -125439,7 +125439,7 @@
 
 func (c *RegionNotificationEndpointsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -125615,7 +125615,7 @@
 
 func (c *RegionNotificationEndpointsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -125846,7 +125846,7 @@
 
 func (c *RegionNotificationEndpointsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -126038,7 +126038,7 @@
 
 func (c *RegionOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -126174,7 +126174,7 @@
 
 func (c *RegionOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -126406,7 +126406,7 @@
 
 func (c *RegionOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -126610,7 +126610,7 @@
 
 func (c *RegionOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -126782,7 +126782,7 @@
 
 func (c *RegionSslCertificatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -126952,7 +126952,7 @@
 
 func (c *RegionSslCertificatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -127128,7 +127128,7 @@
 
 func (c *RegionSslCertificatesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -127359,7 +127359,7 @@
 
 func (c *RegionSslCertificatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -127569,7 +127569,7 @@
 
 func (c *RegionTargetHttpProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -127739,7 +127739,7 @@
 
 func (c *RegionTargetHttpProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -127915,7 +127915,7 @@
 
 func (c *RegionTargetHttpProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -128146,7 +128146,7 @@
 
 func (c *RegionTargetHttpProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -128358,7 +128358,7 @@
 
 func (c *RegionTargetHttpProxiesSetUrlMapCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -128542,7 +128542,7 @@
 
 func (c *RegionTargetHttpsProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -128712,7 +128712,7 @@
 
 func (c *RegionTargetHttpsProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -128888,7 +128888,7 @@
 
 func (c *RegionTargetHttpsProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -129119,7 +129119,7 @@
 
 func (c *RegionTargetHttpsProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -129331,7 +129331,7 @@
 
 func (c *RegionTargetHttpsProxiesSetSslCertificatesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -129517,7 +129517,7 @@
 
 func (c *RegionTargetHttpsProxiesSetUrlMapCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -129689,7 +129689,7 @@
 
 func (c *RegionUrlMapsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -129858,7 +129858,7 @@
 
 func (c *RegionUrlMapsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -130022,7 +130022,7 @@
 
 func (c *RegionUrlMapsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -130188,7 +130188,7 @@
 
 func (c *RegionUrlMapsInvalidateCacheCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -130428,7 +130428,7 @@
 
 func (c *RegionUrlMapsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -130630,7 +130630,7 @@
 
 func (c *RegionUrlMapsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -130805,7 +130805,7 @@
 
 func (c *RegionUrlMapsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -130974,7 +130974,7 @@
 
 func (c *RegionUrlMapsValidateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -131145,7 +131145,7 @@
 
 func (c *RegionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -131366,7 +131366,7 @@
 
 func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -131633,7 +131633,7 @@
 
 func (c *ReservationsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -131839,7 +131839,7 @@
 
 func (c *ReservationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -132007,7 +132007,7 @@
 
 func (c *ReservationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -132182,7 +132182,7 @@
 
 func (c *ReservationsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -132364,7 +132364,7 @@
 
 func (c *ReservationsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -132595,7 +132595,7 @@
 
 func (c *ReservationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -132809,7 +132809,7 @@
 
 func (c *ReservationsResizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -132977,7 +132977,7 @@
 
 func (c *ReservationsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -133140,7 +133140,7 @@
 
 func (c *ReservationsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -133386,7 +133386,7 @@
 
 func (c *ResourcePoliciesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -133592,7 +133592,7 @@
 
 func (c *ResourcePoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -133760,7 +133760,7 @@
 
 func (c *ResourcePoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -133935,7 +133935,7 @@
 
 func (c *ResourcePoliciesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -134116,7 +134116,7 @@
 
 func (c *ResourcePoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -134347,7 +134347,7 @@
 
 func (c *ResourcePoliciesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -134541,7 +134541,7 @@
 
 func (c *ResourcePoliciesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -134704,7 +134704,7 @@
 
 func (c *ResourcePoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -134950,7 +134950,7 @@
 
 func (c *RoutersAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -135156,7 +135156,7 @@
 
 func (c *RoutersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -135325,7 +135325,7 @@
 
 func (c *RoutersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -135567,7 +135567,7 @@
 
 func (c *RoutersGetNatMappingInfoCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -135784,7 +135784,7 @@
 
 func (c *RoutersGetRouterStatusCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -135960,7 +135960,7 @@
 
 func (c *RoutersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -136191,7 +136191,7 @@
 
 func (c *RoutersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -136405,7 +136405,7 @@
 
 func (c *RoutersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -136574,7 +136574,7 @@
 
 func (c *RoutersPreviewCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -136738,7 +136738,7 @@
 
 func (c *RoutersTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -136924,7 +136924,7 @@
 
 func (c *RoutersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -137107,7 +137107,7 @@
 
 func (c *RoutesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -137266,7 +137266,7 @@
 
 func (c *RoutesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -137432,7 +137432,7 @@
 
 func (c *RoutesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -137653,7 +137653,7 @@
 
 func (c *RoutesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -137836,7 +137836,7 @@
 
 func (c *RoutesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -137995,7 +137995,7 @@
 
 func (c *SecurityPoliciesAddRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -138168,7 +138168,7 @@
 
 func (c *SecurityPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -138326,7 +138326,7 @@
 
 func (c *SecurityPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -138489,7 +138489,7 @@
 
 func (c *SecurityPoliciesGetRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -138667,7 +138667,7 @@
 
 func (c *SecurityPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -138892,7 +138892,7 @@
 
 func (c *SecurityPoliciesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -139147,7 +139147,7 @@
 
 func (c *SecurityPoliciesListPreconfiguredExpressionSetsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -139330,7 +139330,7 @@
 
 func (c *SecurityPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -139500,7 +139500,7 @@
 
 func (c *SecurityPoliciesPatchRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -139667,7 +139667,7 @@
 
 func (c *SecurityPoliciesRemoveRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -139817,7 +139817,7 @@
 
 func (c *SecurityPoliciesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -139969,7 +139969,7 @@
 
 func (c *SecurityPoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -140145,7 +140145,7 @@
 
 func (c *SnapshotsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -140304,7 +140304,7 @@
 
 func (c *SnapshotsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -140468,7 +140468,7 @@
 
 func (c *SnapshotsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -140695,7 +140695,7 @@
 
 func (c *SnapshotsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -140878,7 +140878,7 @@
 
 func (c *SnapshotsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -141030,7 +141030,7 @@
 
 func (c *SnapshotsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -141182,7 +141182,7 @@
 
 func (c *SnapshotsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -141420,7 +141420,7 @@
 
 func (c *SslCertificatesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -141624,7 +141624,7 @@
 
 func (c *SslCertificatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -141782,7 +141782,7 @@
 
 func (c *SslCertificatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -141947,7 +141947,7 @@
 
 func (c *SslCertificatesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -142167,7 +142167,7 @@
 
 func (c *SslCertificatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -142350,7 +142350,7 @@
 
 func (c *SslCertificatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -142521,7 +142521,7 @@
 
 func (c *SslPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -142678,7 +142678,7 @@
 
 func (c *SslPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -142842,7 +142842,7 @@
 
 func (c *SslPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -143062,7 +143062,7 @@
 
 func (c *SslPoliciesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -143317,7 +143317,7 @@
 
 func (c *SslPoliciesListAvailableFeaturesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -143500,7 +143500,7 @@
 
 func (c *SslPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -143656,7 +143656,7 @@
 
 func (c *SslPoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -143893,7 +143893,7 @@
 
 func (c *SubnetworksAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -144099,7 +144099,7 @@
 
 func (c *SubnetworksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -144278,7 +144278,7 @@
 
 func (c *SubnetworksExpandIpCidrRangeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -144455,7 +144455,7 @@
 
 func (c *SubnetworksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -144630,7 +144630,7 @@
 
 func (c *SubnetworksGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -144812,7 +144812,7 @@
 
 func (c *SubnetworksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -145043,7 +145043,7 @@
 
 func (c *SubnetworksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -145307,7 +145307,7 @@
 
 func (c *SubnetworksListUsableCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -145528,7 +145528,7 @@
 
 func (c *SubnetworksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -145702,7 +145702,7 @@
 
 func (c *SubnetworksSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -145885,7 +145885,7 @@
 
 func (c *SubnetworksSetPrivateIpGoogleAccessCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -146053,7 +146053,7 @@
 
 func (c *SubnetworksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -146231,7 +146231,7 @@
 
 func (c *TargetGrpcProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -146389,7 +146389,7 @@
 
 func (c *TargetGrpcProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -146554,7 +146554,7 @@
 
 func (c *TargetGrpcProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -146773,7 +146773,7 @@
 
 func (c *TargetGrpcProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -146976,7 +146976,7 @@
 
 func (c *TargetGrpcProxiesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -147218,7 +147218,7 @@
 
 func (c *TargetHttpProxiesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -147423,7 +147423,7 @@
 
 func (c *TargetHttpProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -147582,7 +147582,7 @@
 
 func (c *TargetHttpProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -147748,7 +147748,7 @@
 
 func (c *TargetHttpProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -147969,7 +147969,7 @@
 
 func (c *TargetHttpProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -148171,7 +148171,7 @@
 
 func (c *TargetHttpProxiesSetUrlMapCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -148328,7 +148328,7 @@
 
 func (c *TargetHttpProxiesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -148566,7 +148566,7 @@
 
 func (c *TargetHttpsProxiesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -148770,7 +148770,7 @@
 
 func (c *TargetHttpsProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -148928,7 +148928,7 @@
 
 func (c *TargetHttpsProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -149093,7 +149093,7 @@
 
 func (c *TargetHttpsProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -149313,7 +149313,7 @@
 
 func (c *TargetHttpsProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -149514,7 +149514,7 @@
 
 func (c *TargetHttpsProxiesSetQuicOverrideCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -149688,7 +149688,7 @@
 
 func (c *TargetHttpsProxiesSetSslCertificatesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -149867,7 +149867,7 @@
 
 func (c *TargetHttpsProxiesSetSslPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -150041,7 +150041,7 @@
 
 func (c *TargetHttpsProxiesSetUrlMapCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -150198,7 +150198,7 @@
 
 func (c *TargetHttpsProxiesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -150436,7 +150436,7 @@
 
 func (c *TargetInstancesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -150643,7 +150643,7 @@
 
 func (c *TargetInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -150813,7 +150813,7 @@
 
 func (c *TargetInstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -150990,7 +150990,7 @@
 
 func (c *TargetInstancesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -151222,7 +151222,7 @@
 
 func (c *TargetInstancesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -151416,7 +151416,7 @@
 
 func (c *TargetInstancesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -151599,7 +151599,7 @@
 
 func (c *TargetPoolsAddHealthCheckCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -151786,7 +151786,7 @@
 
 func (c *TargetPoolsAddInstanceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -152037,7 +152037,7 @@
 
 func (c *TargetPoolsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -152244,7 +152244,7 @@
 
 func (c *TargetPoolsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -152414,7 +152414,7 @@
 
 func (c *TargetPoolsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -152574,7 +152574,7 @@
 
 func (c *TargetPoolsGetHealthCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -152756,7 +152756,7 @@
 
 func (c *TargetPoolsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -152988,7 +152988,7 @@
 
 func (c *TargetPoolsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -153201,7 +153201,7 @@
 
 func (c *TargetPoolsRemoveHealthCheckCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -153388,7 +153388,7 @@
 
 func (c *TargetPoolsRemoveInstanceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -153582,7 +153582,7 @@
 
 func (c *TargetPoolsSetBackupCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -153756,7 +153756,7 @@
 
 func (c *TargetPoolsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -153934,7 +153934,7 @@
 
 func (c *TargetSslProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -154092,7 +154092,7 @@
 
 func (c *TargetSslProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -154257,7 +154257,7 @@
 
 func (c *TargetSslProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -154477,7 +154477,7 @@
 
 func (c *TargetSslProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -154678,7 +154678,7 @@
 
 func (c *TargetSslProxiesSetBackendServiceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -154853,7 +154853,7 @@
 
 func (c *TargetSslProxiesSetProxyHeaderCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -155028,7 +155028,7 @@
 
 func (c *TargetSslProxiesSetSslCertificatesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -155206,7 +155206,7 @@
 
 func (c *TargetSslProxiesSetSslPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -155362,7 +155362,7 @@
 
 func (c *TargetSslProxiesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -155531,7 +155531,7 @@
 
 func (c *TargetTcpProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -155689,7 +155689,7 @@
 
 func (c *TargetTcpProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -155854,7 +155854,7 @@
 
 func (c *TargetTcpProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -156074,7 +156074,7 @@
 
 func (c *TargetTcpProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -156275,7 +156275,7 @@
 
 func (c *TargetTcpProxiesSetBackendServiceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -156450,7 +156450,7 @@
 
 func (c *TargetTcpProxiesSetProxyHeaderCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -156691,7 +156691,7 @@
 
 func (c *TargetVpnGatewaysAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -156897,7 +156897,7 @@
 
 func (c *TargetVpnGatewaysDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -157066,7 +157066,7 @@
 
 func (c *TargetVpnGatewaysGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -157242,7 +157242,7 @@
 
 func (c *TargetVpnGatewaysInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -157473,7 +157473,7 @@
 
 func (c *TargetVpnGatewaysListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -157686,7 +157686,7 @@
 
 func (c *TargetVpnGatewaysSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -157854,7 +157854,7 @@
 
 func (c *TargetVpnGatewaysTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -158101,7 +158101,7 @@
 
 func (c *UrlMapsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -158306,7 +158306,7 @@
 
 func (c *UrlMapsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -158465,7 +158465,7 @@
 
 func (c *UrlMapsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -158631,7 +158631,7 @@
 
 func (c *UrlMapsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -158798,7 +158798,7 @@
 
 func (c *UrlMapsInvalidateCacheCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -159028,7 +159028,7 @@
 
 func (c *UrlMapsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -159232,7 +159232,7 @@
 
 func (c *UrlMapsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -159389,7 +159389,7 @@
 
 func (c *UrlMapsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -159562,7 +159562,7 @@
 
 func (c *UrlMapsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -159721,7 +159721,7 @@
 
 func (c *UrlMapsValidateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -159957,7 +159957,7 @@
 
 func (c *VpnGatewaysAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -160163,7 +160163,7 @@
 
 func (c *VpnGatewaysDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -160332,7 +160332,7 @@
 
 func (c *VpnGatewaysGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -160499,7 +160499,7 @@
 
 func (c *VpnGatewaysGetStatusCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -160675,7 +160675,7 @@
 
 func (c *VpnGatewaysInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -160906,7 +160906,7 @@
 
 func (c *VpnGatewaysListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -161119,7 +161119,7 @@
 
 func (c *VpnGatewaysSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -161369,7 +161369,7 @@
 
 func (c *VpnTunnelsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -161575,7 +161575,7 @@
 
 func (c *VpnTunnelsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -161744,7 +161744,7 @@
 
 func (c *VpnTunnelsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -161920,7 +161920,7 @@
 
 func (c *VpnTunnelsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -162151,7 +162151,7 @@
 
 func (c *VpnTunnelsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -162364,7 +162364,7 @@
 
 func (c *VpnTunnelsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -162532,7 +162532,7 @@
 
 func (c *VpnTunnelsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -162694,7 +162694,7 @@
 
 func (c *ZoneOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -162830,7 +162830,7 @@
 
 func (c *ZoneOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -163062,7 +163062,7 @@
 
 func (c *ZoneOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -163266,7 +163266,7 @@
 
 func (c *ZoneOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -163430,7 +163430,7 @@
 
 func (c *ZonesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -163651,7 +163651,7 @@
 
 func (c *ZonesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/compute/v1/compute-gen.go b/compute/v1/compute-gen.go
index 79d015a..9b81268 100644
--- a/compute/v1/compute-gen.go
+++ b/compute/v1/compute-gen.go
@@ -43107,7 +43107,7 @@
 
 func (c *AcceleratorTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -43305,7 +43305,7 @@
 
 func (c *AcceleratorTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -43536,7 +43536,7 @@
 
 func (c *AcceleratorTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -43813,7 +43813,7 @@
 
 func (c *AddressesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -44020,7 +44020,7 @@
 
 func (c *AddressesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -44189,7 +44189,7 @@
 
 func (c *AddressesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -44366,7 +44366,7 @@
 
 func (c *AddressesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -44598,7 +44598,7 @@
 
 func (c *AddressesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -44874,7 +44874,7 @@
 
 func (c *AutoscalersAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -45080,7 +45080,7 @@
 
 func (c *AutoscalersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -45249,7 +45249,7 @@
 
 func (c *AutoscalersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -45425,7 +45425,7 @@
 
 func (c *AutoscalersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -45656,7 +45656,7 @@
 
 func (c *AutoscalersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -45875,7 +45875,7 @@
 
 func (c *AutoscalersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -46064,7 +46064,7 @@
 
 func (c *AutoscalersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -46246,7 +46246,7 @@
 
 func (c *BackendBucketsAddSignedUrlKeyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -46418,7 +46418,7 @@
 
 func (c *BackendBucketsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -46585,7 +46585,7 @@
 
 func (c *BackendBucketsDeleteSignedUrlKeyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -46749,7 +46749,7 @@
 
 func (c *BackendBucketsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -46914,7 +46914,7 @@
 
 func (c *BackendBucketsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -47134,7 +47134,7 @@
 
 func (c *BackendBucketsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -47337,7 +47337,7 @@
 
 func (c *BackendBucketsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -47513,7 +47513,7 @@
 
 func (c *BackendBucketsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -47689,7 +47689,7 @@
 
 func (c *BackendServicesAddSignedUrlKeyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -47930,7 +47930,7 @@
 
 func (c *BackendServicesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -48135,7 +48135,7 @@
 
 func (c *BackendServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -48302,7 +48302,7 @@
 
 func (c *BackendServicesDeleteSignedUrlKeyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -48467,7 +48467,7 @@
 
 func (c *BackendServicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -48620,7 +48620,7 @@
 
 func (c *BackendServicesGetHealthCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -48791,7 +48791,7 @@
 
 func (c *BackendServicesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49012,7 +49012,7 @@
 
 func (c *BackendServicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49217,7 +49217,7 @@
 
 func (c *BackendServicesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49393,7 +49393,7 @@
 
 func (c *BackendServicesSetSecurityPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49570,7 +49570,7 @@
 
 func (c *BackendServicesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49812,7 +49812,7 @@
 
 func (c *DiskTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -50012,7 +50012,7 @@
 
 func (c *DiskTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -50244,7 +50244,7 @@
 
 func (c *DiskTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -50458,7 +50458,7 @@
 
 func (c *DisksAddResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -50709,7 +50709,7 @@
 
 func (c *DisksAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -50927,7 +50927,7 @@
 
 func (c *DisksCreateSnapshotCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -51120,7 +51120,7 @@
 
 func (c *DisksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -51289,7 +51289,7 @@
 
 func (c *DisksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -51464,7 +51464,7 @@
 
 func (c *DisksGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -51658,7 +51658,7 @@
 
 func (c *DisksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -51895,7 +51895,7 @@
 
 func (c *DisksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -52107,7 +52107,7 @@
 
 func (c *DisksRemoveResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -52294,7 +52294,7 @@
 
 func (c *DisksResizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -52462,7 +52462,7 @@
 
 func (c *DisksSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -52644,7 +52644,7 @@
 
 func (c *DisksSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -52812,7 +52812,7 @@
 
 func (c *DisksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -52990,7 +52990,7 @@
 
 func (c *ExternalVpnGatewaysDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -53148,7 +53148,7 @@
 
 func (c *ExternalVpnGatewaysGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -53313,7 +53313,7 @@
 
 func (c *ExternalVpnGatewaysInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -53533,7 +53533,7 @@
 
 func (c *ExternalVpnGatewaysListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -53716,7 +53716,7 @@
 
 func (c *ExternalVpnGatewaysSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -53868,7 +53868,7 @@
 
 func (c *ExternalVpnGatewaysTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -54038,7 +54038,7 @@
 
 func (c *FirewallsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -54196,7 +54196,7 @@
 
 func (c *FirewallsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -54362,7 +54362,7 @@
 
 func (c *FirewallsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -54583,7 +54583,7 @@
 
 func (c *FirewallsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -54787,7 +54787,7 @@
 
 func (c *FirewallsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -54966,7 +54966,7 @@
 
 func (c *FirewallsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -55208,7 +55208,7 @@
 
 func (c *ForwardingRulesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -55415,7 +55415,7 @@
 
 func (c *ForwardingRulesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -55584,7 +55584,7 @@
 
 func (c *ForwardingRulesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -55761,7 +55761,7 @@
 
 func (c *ForwardingRulesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -55993,7 +55993,7 @@
 
 func (c *ForwardingRulesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -56208,7 +56208,7 @@
 
 func (c *ForwardingRulesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -56396,7 +56396,7 @@
 
 func (c *ForwardingRulesSetTargetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -56579,7 +56579,7 @@
 
 func (c *GlobalAddressesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -56738,7 +56738,7 @@
 
 func (c *GlobalAddressesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -56904,7 +56904,7 @@
 
 func (c *GlobalAddressesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -57124,7 +57124,7 @@
 
 func (c *GlobalAddressesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -57324,7 +57324,7 @@
 
 func (c *GlobalForwardingRulesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -57483,7 +57483,7 @@
 
 func (c *GlobalForwardingRulesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -57649,7 +57649,7 @@
 
 func (c *GlobalForwardingRulesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -57870,7 +57870,7 @@
 
 func (c *GlobalForwardingRulesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -58074,7 +58074,7 @@
 
 func (c *GlobalForwardingRulesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -58251,7 +58251,7 @@
 
 func (c *GlobalForwardingRulesSetTargetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -58427,7 +58427,7 @@
 
 func (c *GlobalNetworkEndpointGroupsAttachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -58600,7 +58600,7 @@
 
 func (c *GlobalNetworkEndpointGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -58767,7 +58767,7 @@
 
 func (c *GlobalNetworkEndpointGroupsDetachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -58932,7 +58932,7 @@
 
 func (c *GlobalNetworkEndpointGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -59096,7 +59096,7 @@
 
 func (c *GlobalNetworkEndpointGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -59316,7 +59316,7 @@
 
 func (c *GlobalNetworkEndpointGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -59562,7 +59562,7 @@
 
 func (c *GlobalNetworkEndpointGroupsListNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -59837,7 +59837,7 @@
 
 func (c *GlobalOperationsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -60023,7 +60023,7 @@
 
 func (c *GlobalOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -60149,7 +60149,7 @@
 
 func (c *GlobalOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -60370,7 +60370,7 @@
 
 func (c *GlobalOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -60563,7 +60563,7 @@
 
 func (c *GlobalOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -60793,7 +60793,7 @@
 
 func (c *HealthChecksAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -60997,7 +60997,7 @@
 
 func (c *HealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -61155,7 +61155,7 @@
 
 func (c *HealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -61320,7 +61320,7 @@
 
 func (c *HealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -61540,7 +61540,7 @@
 
 func (c *HealthChecksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -61743,7 +61743,7 @@
 
 func (c *HealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -61919,7 +61919,7 @@
 
 func (c *HealthChecksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -62093,7 +62093,7 @@
 
 func (c *HttpHealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -62252,7 +62252,7 @@
 
 func (c *HttpHealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -62418,7 +62418,7 @@
 
 func (c *HttpHealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -62639,7 +62639,7 @@
 
 func (c *HttpHealthChecksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -62843,7 +62843,7 @@
 
 func (c *HttpHealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -63020,7 +63020,7 @@
 
 func (c *HttpHealthChecksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -63193,7 +63193,7 @@
 
 func (c *HttpsHealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -63351,7 +63351,7 @@
 
 func (c *HttpsHealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -63516,7 +63516,7 @@
 
 func (c *HttpsHealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -63736,7 +63736,7 @@
 
 func (c *HttpsHealthChecksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -63939,7 +63939,7 @@
 
 func (c *HttpsHealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -64115,7 +64115,7 @@
 
 func (c *HttpsHealthChecksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -64289,7 +64289,7 @@
 
 func (c *ImagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -64460,7 +64460,7 @@
 
 func (c *ImagesDeprecateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -64627,7 +64627,7 @@
 
 func (c *ImagesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -64784,7 +64784,7 @@
 
 func (c *ImagesGetFromFamilyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -64948,7 +64948,7 @@
 
 func (c *ImagesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -65127,7 +65127,7 @@
 
 func (c *ImagesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -65361,7 +65361,7 @@
 
 func (c *ImagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -65544,7 +65544,7 @@
 
 func (c *ImagesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -65696,7 +65696,7 @@
 
 func (c *ImagesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -65848,7 +65848,7 @@
 
 func (c *ImagesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -66037,7 +66037,7 @@
 
 func (c *InstanceGroupManagersAbandonInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -66286,7 +66286,7 @@
 
 func (c *InstanceGroupManagersAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -66478,7 +66478,7 @@
 
 func (c *InstanceGroupManagersApplyUpdatesToInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -66661,7 +66661,7 @@
 
 func (c *InstanceGroupManagersCreateInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -66846,7 +66846,7 @@
 
 func (c *InstanceGroupManagersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -67037,7 +67037,7 @@
 
 func (c *InstanceGroupManagersDeleteInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -67203,7 +67203,7 @@
 
 func (c *InstanceGroupManagersDeletePerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -67374,7 +67374,7 @@
 
 func (c *InstanceGroupManagersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -67556,7 +67556,7 @@
 
 func (c *InstanceGroupManagersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -67786,7 +67786,7 @@
 
 func (c *InstanceGroupManagersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -68054,7 +68054,7 @@
 
 func (c *InstanceGroupManagersListErrorsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -68324,7 +68324,7 @@
 
 func (c *InstanceGroupManagersListManagedInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -68588,7 +68588,7 @@
 
 func (c *InstanceGroupManagersListPerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -68812,7 +68812,7 @@
 
 func (c *InstanceGroupManagersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -68998,7 +68998,7 @@
 
 func (c *InstanceGroupManagersPatchPerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -69196,7 +69196,7 @@
 
 func (c *InstanceGroupManagersRecreateInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -69399,7 +69399,7 @@
 
 func (c *InstanceGroupManagersResizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -69585,7 +69585,7 @@
 
 func (c *InstanceGroupManagersSetInstanceTemplateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -69775,7 +69775,7 @@
 
 func (c *InstanceGroupManagersSetTargetPoolsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -69961,7 +69961,7 @@
 
 func (c *InstanceGroupManagersUpdatePerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -70147,7 +70147,7 @@
 
 func (c *InstanceGroupsAddInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -70396,7 +70396,7 @@
 
 func (c *InstanceGroupsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -70605,7 +70605,7 @@
 
 func (c *InstanceGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -70772,7 +70772,7 @@
 
 func (c *InstanceGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -70946,7 +70946,7 @@
 
 func (c *InstanceGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -71176,7 +71176,7 @@
 
 func (c *InstanceGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -71434,7 +71434,7 @@
 
 func (c *InstanceGroupsListInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -71663,7 +71663,7 @@
 
 func (c *InstanceGroupsRemoveInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -71847,7 +71847,7 @@
 
 func (c *InstanceGroupsSetNamedPortsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -72030,7 +72030,7 @@
 
 func (c *InstanceTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -72189,7 +72189,7 @@
 
 func (c *InstanceTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -72353,7 +72353,7 @@
 
 func (c *InstanceTemplatesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -72528,7 +72528,7 @@
 
 func (c *InstanceTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -72749,7 +72749,7 @@
 
 func (c *InstanceTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -72932,7 +72932,7 @@
 
 func (c *InstanceTemplatesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -73084,7 +73084,7 @@
 
 func (c *InstanceTemplatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -73260,7 +73260,7 @@
 
 func (c *InstancesAddAccessConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -73455,7 +73455,7 @@
 
 func (c *InstancesAddResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -73707,7 +73707,7 @@
 
 func (c *InstancesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -73927,7 +73927,7 @@
 
 func (c *InstancesAttachDiskCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -74118,7 +74118,7 @@
 
 func (c *InstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -74298,7 +74298,7 @@
 
 func (c *InstancesDeleteAccessConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -74490,7 +74490,7 @@
 
 func (c *InstancesDetachDiskCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -74667,7 +74667,7 @@
 
 func (c *InstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -74848,7 +74848,7 @@
 
 func (c *InstancesGetGuestAttributesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -75033,7 +75033,7 @@
 
 func (c *InstancesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -75237,7 +75237,7 @@
 
 func (c *InstancesGetSerialPortOutputCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -75420,7 +75420,7 @@
 
 func (c *InstancesGetShieldedInstanceIdentityCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -75612,7 +75612,7 @@
 
 func (c *InstancesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -75849,7 +75849,7 @@
 
 func (c *InstancesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -76120,7 +76120,7 @@
 
 func (c *InstancesListReferrersCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -76341,7 +76341,7 @@
 
 func (c *InstancesRemoveResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -76528,7 +76528,7 @@
 
 func (c *InstancesResetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -76711,7 +76711,7 @@
 
 func (c *InstancesSetDeletionProtectionCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -76897,7 +76897,7 @@
 
 func (c *InstancesSetDiskAutoDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -77072,7 +77072,7 @@
 
 func (c *InstancesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -77254,7 +77254,7 @@
 
 func (c *InstancesSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -77441,7 +77441,7 @@
 
 func (c *InstancesSetMachineResourcesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -77628,7 +77628,7 @@
 
 func (c *InstancesSetMachineTypeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -77816,7 +77816,7 @@
 
 func (c *InstancesSetMetadataCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -78005,7 +78005,7 @@
 
 func (c *InstancesSetMinCpuPlatformCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -78195,7 +78195,7 @@
 
 func (c *InstancesSetSchedulingCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -78383,7 +78383,7 @@
 
 func (c *InstancesSetServiceAccountCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -78572,7 +78572,7 @@
 
 func (c *InstancesSetShieldedInstanceIntegrityPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -78760,7 +78760,7 @@
 
 func (c *InstancesSetTagsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -78926,7 +78926,7 @@
 
 func (c *InstancesSimulateMaintenanceEventCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -79099,7 +79099,7 @@
 
 func (c *InstancesStartCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -79279,7 +79279,7 @@
 
 func (c *InstancesStartWithEncryptionKeyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -79469,7 +79469,7 @@
 
 func (c *InstancesStopCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -79629,7 +79629,7 @@
 
 func (c *InstancesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -79846,7 +79846,7 @@
 
 func (c *InstancesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -80070,7 +80070,7 @@
 
 func (c *InstancesUpdateAccessConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -80266,7 +80266,7 @@
 
 func (c *InstancesUpdateDisplayDeviceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -80454,7 +80454,7 @@
 
 func (c *InstancesUpdateNetworkInterfaceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -80650,7 +80650,7 @@
 
 func (c *InstancesUpdateShieldedInstanceConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -80901,7 +80901,7 @@
 
 func (c *InterconnectAttachmentsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -81108,7 +81108,7 @@
 
 func (c *InterconnectAttachmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -81276,7 +81276,7 @@
 
 func (c *InterconnectAttachmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -81459,7 +81459,7 @@
 
 func (c *InterconnectAttachmentsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -81695,7 +81695,7 @@
 
 func (c *InterconnectAttachmentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -81909,7 +81909,7 @@
 
 func (c *InterconnectAttachmentsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -82085,7 +82085,7 @@
 
 func (c *InterconnectLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -82305,7 +82305,7 @@
 
 func (c *InterconnectLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -82504,7 +82504,7 @@
 
 func (c *InterconnectsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -82662,7 +82662,7 @@
 
 func (c *InterconnectsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -82819,7 +82819,7 @@
 
 func (c *InterconnectsGetDiagnosticsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -82985,7 +82985,7 @@
 
 func (c *InterconnectsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -83205,7 +83205,7 @@
 
 func (c *InterconnectsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -83408,7 +83408,7 @@
 
 func (c *InterconnectsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -83576,7 +83576,7 @@
 
 func (c *LicenseCodesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -83725,7 +83725,7 @@
 
 func (c *LicenseCodesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -83896,7 +83896,7 @@
 
 func (c *LicensesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -84056,7 +84056,7 @@
 
 func (c *LicensesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -84222,7 +84222,7 @@
 
 func (c *LicensesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -84394,7 +84394,7 @@
 
 func (c *LicensesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -84623,7 +84623,7 @@
 
 func (c *LicensesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -84808,7 +84808,7 @@
 
 func (c *LicensesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -84961,7 +84961,7 @@
 
 func (c *LicensesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -85199,7 +85199,7 @@
 
 func (c *MachineTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -85399,7 +85399,7 @@
 
 func (c *MachineTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -85631,7 +85631,7 @@
 
 func (c *MachineTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -85908,7 +85908,7 @@
 
 func (c *NetworkEndpointGroupsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -86118,7 +86118,7 @@
 
 func (c *NetworkEndpointGroupsAttachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -86303,7 +86303,7 @@
 
 func (c *NetworkEndpointGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -86480,7 +86480,7 @@
 
 func (c *NetworkEndpointGroupsDetachNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -86655,7 +86655,7 @@
 
 func (c *NetworkEndpointGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -86829,7 +86829,7 @@
 
 func (c *NetworkEndpointGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -87059,7 +87059,7 @@
 
 func (c *NetworkEndpointGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -87317,7 +87317,7 @@
 
 func (c *NetworkEndpointGroupsListNetworkEndpointsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -87525,7 +87525,7 @@
 
 func (c *NetworkEndpointGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -87705,7 +87705,7 @@
 
 func (c *NetworksAddPeeringCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -87879,7 +87879,7 @@
 
 func (c *NetworksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -88038,7 +88038,7 @@
 
 func (c *NetworksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -88204,7 +88204,7 @@
 
 func (c *NetworksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -88425,7 +88425,7 @@
 
 func (c *NetworksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -88708,7 +88708,7 @@
 
 func (c *NetworksListPeeringRoutesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -88943,7 +88943,7 @@
 
 func (c *NetworksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -89118,7 +89118,7 @@
 
 func (c *NetworksRemovePeeringCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -89292,7 +89292,7 @@
 
 func (c *NetworksSwitchToCustomModeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -89462,7 +89462,7 @@
 
 func (c *NetworksUpdatePeeringCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -89639,7 +89639,7 @@
 
 func (c *NodeGroupsAddNodesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -89890,7 +89890,7 @@
 
 func (c *NodeGroupsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -90096,7 +90096,7 @@
 
 func (c *NodeGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -90274,7 +90274,7 @@
 
 func (c *NodeGroupsDeleteNodesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -90452,7 +90452,7 @@
 
 func (c *NodeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -90627,7 +90627,7 @@
 
 func (c *NodeGroupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -90810,7 +90810,7 @@
 
 func (c *NodeGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -91050,7 +91050,7 @@
 
 func (c *NodeGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -91306,7 +91306,7 @@
 
 func (c *NodeGroupsListNodesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -91524,7 +91524,7 @@
 
 func (c *NodeGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -91692,7 +91692,7 @@
 
 func (c *NodeGroupsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -91873,7 +91873,7 @@
 
 func (c *NodeGroupsSetNodeTemplateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -92041,7 +92041,7 @@
 
 func (c *NodeGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -92287,7 +92287,7 @@
 
 func (c *NodeTemplatesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -92493,7 +92493,7 @@
 
 func (c *NodeTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -92662,7 +92662,7 @@
 
 func (c *NodeTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -92837,7 +92837,7 @@
 
 func (c *NodeTemplatesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -93019,7 +93019,7 @@
 
 func (c *NodeTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -93250,7 +93250,7 @@
 
 func (c *NodeTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -93444,7 +93444,7 @@
 
 func (c *NodeTemplatesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -93607,7 +93607,7 @@
 
 func (c *NodeTemplatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -93853,7 +93853,7 @@
 
 func (c *NodeTypesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -94052,7 +94052,7 @@
 
 func (c *NodeTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -94283,7 +94283,7 @@
 
 func (c *NodeTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -94559,7 +94559,7 @@
 
 func (c *PacketMirroringsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -94765,7 +94765,7 @@
 
 func (c *PacketMirroringsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -94933,7 +94933,7 @@
 
 func (c *PacketMirroringsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -95109,7 +95109,7 @@
 
 func (c *PacketMirroringsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -95340,7 +95340,7 @@
 
 func (c *PacketMirroringsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -95554,7 +95554,7 @@
 
 func (c *PacketMirroringsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -95722,7 +95722,7 @@
 
 func (c *PacketMirroringsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -95898,7 +95898,7 @@
 
 func (c *ProjectsDisableXpnHostCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -96055,7 +96055,7 @@
 
 func (c *ProjectsDisableXpnResourceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -96217,7 +96217,7 @@
 
 func (c *ProjectsEnableXpnHostCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -96375,7 +96375,7 @@
 
 func (c *ProjectsEnableXpnResourceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -96530,7 +96530,7 @@
 
 func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -96676,7 +96676,7 @@
 
 func (c *ProjectsGetXpnHostCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -96886,7 +96886,7 @@
 
 func (c *ProjectsGetXpnResourcesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -97131,7 +97131,7 @@
 
 func (c *ProjectsListXpnHostsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -97334,7 +97334,7 @@
 
 func (c *ProjectsMoveDiskCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -97499,7 +97499,7 @@
 
 func (c *ProjectsMoveInstanceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -97665,7 +97665,7 @@
 
 func (c *ProjectsSetCommonInstanceMetadataCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -97832,7 +97832,7 @@
 
 func (c *ProjectsSetDefaultNetworkTierCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -98000,7 +98000,7 @@
 
 func (c *ProjectsSetUsageExportBucketCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -98169,7 +98169,7 @@
 
 func (c *RegionAutoscalersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -98337,7 +98337,7 @@
 
 func (c *RegionAutoscalersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -98513,7 +98513,7 @@
 
 func (c *RegionAutoscalersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -98744,7 +98744,7 @@
 
 func (c *RegionAutoscalersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -98963,7 +98963,7 @@
 
 func (c *RegionAutoscalersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -99152,7 +99152,7 @@
 
 func (c *RegionAutoscalersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -99333,7 +99333,7 @@
 
 func (c *RegionBackendServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -99501,7 +99501,7 @@
 
 func (c *RegionBackendServicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -99660,7 +99660,7 @@
 
 func (c *RegionBackendServicesGetHealthCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -99841,7 +99841,7 @@
 
 func (c *RegionBackendServicesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -100072,7 +100072,7 @@
 
 func (c *RegionBackendServicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -100287,7 +100287,7 @@
 
 func (c *RegionBackendServicesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -100475,7 +100475,7 @@
 
 func (c *RegionBackendServicesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -100725,7 +100725,7 @@
 
 func (c *RegionCommitmentsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -100924,7 +100924,7 @@
 
 func (c *RegionCommitmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -101100,7 +101100,7 @@
 
 func (c *RegionCommitmentsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -101331,7 +101331,7 @@
 
 func (c *RegionCommitmentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -101534,7 +101534,7 @@
 
 func (c *RegionDiskTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -101765,7 +101765,7 @@
 
 func (c *RegionDiskTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -101979,7 +101979,7 @@
 
 func (c *RegionDisksAddResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -102165,7 +102165,7 @@
 
 func (c *RegionDisksCreateSnapshotCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -102352,7 +102352,7 @@
 
 func (c *RegionDisksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -102519,7 +102519,7 @@
 
 func (c *RegionDisksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -102694,7 +102694,7 @@
 
 func (c *RegionDisksGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -102883,7 +102883,7 @@
 
 func (c *RegionDisksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -103119,7 +103119,7 @@
 
 func (c *RegionDisksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -103332,7 +103332,7 @@
 
 func (c *RegionDisksRemoveResourcePoliciesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -103518,7 +103518,7 @@
 
 func (c *RegionDisksResizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -103686,7 +103686,7 @@
 
 func (c *RegionDisksSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -103867,7 +103867,7 @@
 
 func (c *RegionDisksSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -104035,7 +104035,7 @@
 
 func (c *RegionDisksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -104215,7 +104215,7 @@
 
 func (c *RegionHealthCheckServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -104382,7 +104382,7 @@
 
 func (c *RegionHealthCheckServicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -104557,7 +104557,7 @@
 
 func (c *RegionHealthCheckServicesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -104788,7 +104788,7 @@
 
 func (c *RegionHealthCheckServicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -105002,7 +105002,7 @@
 
 func (c *RegionHealthCheckServicesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -105185,7 +105185,7 @@
 
 func (c *RegionHealthChecksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -105354,7 +105354,7 @@
 
 func (c *RegionHealthChecksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -105530,7 +105530,7 @@
 
 func (c *RegionHealthChecksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -105761,7 +105761,7 @@
 
 func (c *RegionHealthChecksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -105975,7 +105975,7 @@
 
 func (c *RegionHealthChecksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -106162,7 +106162,7 @@
 
 func (c *RegionHealthChecksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -106364,7 +106364,7 @@
 
 func (c *RegionInstanceGroupManagersAbandonInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -106530,7 +106530,7 @@
 
 func (c *RegionInstanceGroupManagersApplyUpdatesToInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -106713,7 +106713,7 @@
 
 func (c *RegionInstanceGroupManagersCreateInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -106896,7 +106896,7 @@
 
 func (c *RegionInstanceGroupManagersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -107088,7 +107088,7 @@
 
 func (c *RegionInstanceGroupManagersDeleteInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -107254,7 +107254,7 @@
 
 func (c *RegionInstanceGroupManagersDeletePerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -107424,7 +107424,7 @@
 
 func (c *RegionInstanceGroupManagersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -107605,7 +107605,7 @@
 
 func (c *RegionInstanceGroupManagersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -107835,7 +107835,7 @@
 
 func (c *RegionInstanceGroupManagersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -108103,7 +108103,7 @@
 
 func (c *RegionInstanceGroupManagersListErrorsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -108371,7 +108371,7 @@
 
 func (c *RegionInstanceGroupManagersListManagedInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -108635,7 +108635,7 @@
 
 func (c *RegionInstanceGroupManagersListPerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -108859,7 +108859,7 @@
 
 func (c *RegionInstanceGroupManagersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -109046,7 +109046,7 @@
 
 func (c *RegionInstanceGroupManagersPatchPerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -109244,7 +109244,7 @@
 
 func (c *RegionInstanceGroupManagersRecreateInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -109439,7 +109439,7 @@
 
 func (c *RegionInstanceGroupManagersResizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -109626,7 +109626,7 @@
 
 func (c *RegionInstanceGroupManagersSetInstanceTemplateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -109812,7 +109812,7 @@
 
 func (c *RegionInstanceGroupManagersSetTargetPoolsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -109999,7 +109999,7 @@
 
 func (c *RegionInstanceGroupManagersUpdatePerInstanceConfigsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -110173,7 +110173,7 @@
 
 func (c *RegionInstanceGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -110402,7 +110402,7 @@
 
 func (c *RegionInstanceGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -110663,7 +110663,7 @@
 
 func (c *RegionInstanceGroupsListInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -110889,7 +110889,7 @@
 
 func (c *RegionInstanceGroupsSetNamedPortsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -111073,7 +111073,7 @@
 
 func (c *RegionNetworkEndpointGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -111240,7 +111240,7 @@
 
 func (c *RegionNetworkEndpointGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -111414,7 +111414,7 @@
 
 func (c *RegionNetworkEndpointGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -111644,7 +111644,7 @@
 
 func (c *RegionNetworkEndpointGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -111854,7 +111854,7 @@
 
 func (c *RegionNotificationEndpointsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -112023,7 +112023,7 @@
 
 func (c *RegionNotificationEndpointsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -112199,7 +112199,7 @@
 
 func (c *RegionNotificationEndpointsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -112430,7 +112430,7 @@
 
 func (c *RegionNotificationEndpointsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -112622,7 +112622,7 @@
 
 func (c *RegionOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -112758,7 +112758,7 @@
 
 func (c *RegionOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -112990,7 +112990,7 @@
 
 func (c *RegionOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -113194,7 +113194,7 @@
 
 func (c *RegionOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -113366,7 +113366,7 @@
 
 func (c *RegionSslCertificatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -113536,7 +113536,7 @@
 
 func (c *RegionSslCertificatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -113712,7 +113712,7 @@
 
 func (c *RegionSslCertificatesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -113943,7 +113943,7 @@
 
 func (c *RegionSslCertificatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -114153,7 +114153,7 @@
 
 func (c *RegionTargetHttpProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -114323,7 +114323,7 @@
 
 func (c *RegionTargetHttpProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -114499,7 +114499,7 @@
 
 func (c *RegionTargetHttpProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -114730,7 +114730,7 @@
 
 func (c *RegionTargetHttpProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -114942,7 +114942,7 @@
 
 func (c *RegionTargetHttpProxiesSetUrlMapCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -115126,7 +115126,7 @@
 
 func (c *RegionTargetHttpsProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -115296,7 +115296,7 @@
 
 func (c *RegionTargetHttpsProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -115472,7 +115472,7 @@
 
 func (c *RegionTargetHttpsProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -115703,7 +115703,7 @@
 
 func (c *RegionTargetHttpsProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -115915,7 +115915,7 @@
 
 func (c *RegionTargetHttpsProxiesSetSslCertificatesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -116101,7 +116101,7 @@
 
 func (c *RegionTargetHttpsProxiesSetUrlMapCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -116273,7 +116273,7 @@
 
 func (c *RegionUrlMapsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -116442,7 +116442,7 @@
 
 func (c *RegionUrlMapsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -116606,7 +116606,7 @@
 
 func (c *RegionUrlMapsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -116837,7 +116837,7 @@
 
 func (c *RegionUrlMapsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -117039,7 +117039,7 @@
 
 func (c *RegionUrlMapsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -117214,7 +117214,7 @@
 
 func (c *RegionUrlMapsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -117383,7 +117383,7 @@
 
 func (c *RegionUrlMapsValidateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -117554,7 +117554,7 @@
 
 func (c *RegionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -117775,7 +117775,7 @@
 
 func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -118042,7 +118042,7 @@
 
 func (c *ReservationsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -118248,7 +118248,7 @@
 
 func (c *ReservationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -118416,7 +118416,7 @@
 
 func (c *ReservationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -118591,7 +118591,7 @@
 
 func (c *ReservationsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -118773,7 +118773,7 @@
 
 func (c *ReservationsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -119004,7 +119004,7 @@
 
 func (c *ReservationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -119218,7 +119218,7 @@
 
 func (c *ReservationsResizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -119386,7 +119386,7 @@
 
 func (c *ReservationsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -119549,7 +119549,7 @@
 
 func (c *ReservationsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -119795,7 +119795,7 @@
 
 func (c *ResourcePoliciesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -120001,7 +120001,7 @@
 
 func (c *ResourcePoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -120169,7 +120169,7 @@
 
 func (c *ResourcePoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -120344,7 +120344,7 @@
 
 func (c *ResourcePoliciesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -120525,7 +120525,7 @@
 
 func (c *ResourcePoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -120756,7 +120756,7 @@
 
 func (c *ResourcePoliciesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -120950,7 +120950,7 @@
 
 func (c *ResourcePoliciesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -121113,7 +121113,7 @@
 
 func (c *ResourcePoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -121359,7 +121359,7 @@
 
 func (c *RoutersAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -121565,7 +121565,7 @@
 
 func (c *RoutersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -121734,7 +121734,7 @@
 
 func (c *RoutersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -121967,7 +121967,7 @@
 
 func (c *RoutersGetNatMappingInfoCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -122179,7 +122179,7 @@
 
 func (c *RoutersGetRouterStatusCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -122355,7 +122355,7 @@
 
 func (c *RoutersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -122586,7 +122586,7 @@
 
 func (c *RoutersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -122800,7 +122800,7 @@
 
 func (c *RoutersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -122969,7 +122969,7 @@
 
 func (c *RoutersPreviewCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -123155,7 +123155,7 @@
 
 func (c *RoutersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -123338,7 +123338,7 @@
 
 func (c *RoutesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -123497,7 +123497,7 @@
 
 func (c *RoutesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -123663,7 +123663,7 @@
 
 func (c *RoutesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -123884,7 +123884,7 @@
 
 func (c *RoutesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -124066,7 +124066,7 @@
 
 func (c *SecurityPoliciesAddRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -124234,7 +124234,7 @@
 
 func (c *SecurityPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -124392,7 +124392,7 @@
 
 func (c *SecurityPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -124555,7 +124555,7 @@
 
 func (c *SecurityPoliciesGetRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -124726,7 +124726,7 @@
 
 func (c *SecurityPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -124946,7 +124946,7 @@
 
 func (c *SecurityPoliciesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -125201,7 +125201,7 @@
 
 func (c *SecurityPoliciesListPreconfiguredExpressionSetsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -125384,7 +125384,7 @@
 
 func (c *SecurityPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -125547,7 +125547,7 @@
 
 func (c *SecurityPoliciesPatchRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -125709,7 +125709,7 @@
 
 func (c *SecurityPoliciesRemoveRuleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -125882,7 +125882,7 @@
 
 func (c *SnapshotsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -126041,7 +126041,7 @@
 
 func (c *SnapshotsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -126205,7 +126205,7 @@
 
 func (c *SnapshotsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -126432,7 +126432,7 @@
 
 func (c *SnapshotsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -126615,7 +126615,7 @@
 
 func (c *SnapshotsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -126767,7 +126767,7 @@
 
 func (c *SnapshotsSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -126919,7 +126919,7 @@
 
 func (c *SnapshotsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -127157,7 +127157,7 @@
 
 func (c *SslCertificatesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -127361,7 +127361,7 @@
 
 func (c *SslCertificatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -127519,7 +127519,7 @@
 
 func (c *SslCertificatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -127684,7 +127684,7 @@
 
 func (c *SslCertificatesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -127904,7 +127904,7 @@
 
 func (c *SslCertificatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -128105,7 +128105,7 @@
 
 func (c *SslPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -128262,7 +128262,7 @@
 
 func (c *SslPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -128426,7 +128426,7 @@
 
 func (c *SslPoliciesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -128646,7 +128646,7 @@
 
 func (c *SslPoliciesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -128901,7 +128901,7 @@
 
 func (c *SslPoliciesListAvailableFeaturesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -129084,7 +129084,7 @@
 
 func (c *SslPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -129324,7 +129324,7 @@
 
 func (c *SubnetworksAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -129530,7 +129530,7 @@
 
 func (c *SubnetworksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -129709,7 +129709,7 @@
 
 func (c *SubnetworksExpandIpCidrRangeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -129886,7 +129886,7 @@
 
 func (c *SubnetworksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -130061,7 +130061,7 @@
 
 func (c *SubnetworksGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -130243,7 +130243,7 @@
 
 func (c *SubnetworksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -130474,7 +130474,7 @@
 
 func (c *SubnetworksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -130738,7 +130738,7 @@
 
 func (c *SubnetworksListUsableCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -130959,7 +130959,7 @@
 
 func (c *SubnetworksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -131133,7 +131133,7 @@
 
 func (c *SubnetworksSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -131316,7 +131316,7 @@
 
 func (c *SubnetworksSetPrivateIpGoogleAccessCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -131484,7 +131484,7 @@
 
 func (c *SubnetworksTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -131662,7 +131662,7 @@
 
 func (c *TargetGrpcProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -131820,7 +131820,7 @@
 
 func (c *TargetGrpcProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -131985,7 +131985,7 @@
 
 func (c *TargetGrpcProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -132204,7 +132204,7 @@
 
 func (c *TargetGrpcProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -132407,7 +132407,7 @@
 
 func (c *TargetGrpcProxiesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -132649,7 +132649,7 @@
 
 func (c *TargetHttpProxiesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -132854,7 +132854,7 @@
 
 func (c *TargetHttpProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -133013,7 +133013,7 @@
 
 func (c *TargetHttpProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -133179,7 +133179,7 @@
 
 func (c *TargetHttpProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -133400,7 +133400,7 @@
 
 func (c *TargetHttpProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -133602,7 +133602,7 @@
 
 func (c *TargetHttpProxiesSetUrlMapCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -133844,7 +133844,7 @@
 
 func (c *TargetHttpsProxiesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -134048,7 +134048,7 @@
 
 func (c *TargetHttpsProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -134206,7 +134206,7 @@
 
 func (c *TargetHttpsProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -134371,7 +134371,7 @@
 
 func (c *TargetHttpsProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -134591,7 +134591,7 @@
 
 func (c *TargetHttpsProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -134792,7 +134792,7 @@
 
 func (c *TargetHttpsProxiesSetQuicOverrideCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -134966,7 +134966,7 @@
 
 func (c *TargetHttpsProxiesSetSslCertificatesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -135145,7 +135145,7 @@
 
 func (c *TargetHttpsProxiesSetSslPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -135319,7 +135319,7 @@
 
 func (c *TargetHttpsProxiesSetUrlMapCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -135561,7 +135561,7 @@
 
 func (c *TargetInstancesAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -135768,7 +135768,7 @@
 
 func (c *TargetInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -135938,7 +135938,7 @@
 
 func (c *TargetInstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -136115,7 +136115,7 @@
 
 func (c *TargetInstancesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -136347,7 +136347,7 @@
 
 func (c *TargetInstancesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -136560,7 +136560,7 @@
 
 func (c *TargetPoolsAddHealthCheckCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -136747,7 +136747,7 @@
 
 func (c *TargetPoolsAddInstanceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -136998,7 +136998,7 @@
 
 func (c *TargetPoolsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -137205,7 +137205,7 @@
 
 func (c *TargetPoolsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -137375,7 +137375,7 @@
 
 func (c *TargetPoolsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -137535,7 +137535,7 @@
 
 func (c *TargetPoolsGetHealthCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -137717,7 +137717,7 @@
 
 func (c *TargetPoolsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -137949,7 +137949,7 @@
 
 func (c *TargetPoolsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -138162,7 +138162,7 @@
 
 func (c *TargetPoolsRemoveHealthCheckCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -138349,7 +138349,7 @@
 
 func (c *TargetPoolsRemoveInstanceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -138543,7 +138543,7 @@
 
 func (c *TargetPoolsSetBackupCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -138731,7 +138731,7 @@
 
 func (c *TargetSslProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -138889,7 +138889,7 @@
 
 func (c *TargetSslProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -139054,7 +139054,7 @@
 
 func (c *TargetSslProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -139274,7 +139274,7 @@
 
 func (c *TargetSslProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -139475,7 +139475,7 @@
 
 func (c *TargetSslProxiesSetBackendServiceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -139650,7 +139650,7 @@
 
 func (c *TargetSslProxiesSetProxyHeaderCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -139825,7 +139825,7 @@
 
 func (c *TargetSslProxiesSetSslCertificatesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -140003,7 +140003,7 @@
 
 func (c *TargetSslProxiesSetSslPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -140175,7 +140175,7 @@
 
 func (c *TargetTcpProxiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -140333,7 +140333,7 @@
 
 func (c *TargetTcpProxiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -140498,7 +140498,7 @@
 
 func (c *TargetTcpProxiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -140718,7 +140718,7 @@
 
 func (c *TargetTcpProxiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -140919,7 +140919,7 @@
 
 func (c *TargetTcpProxiesSetBackendServiceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -141094,7 +141094,7 @@
 
 func (c *TargetTcpProxiesSetProxyHeaderCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -141335,7 +141335,7 @@
 
 func (c *TargetVpnGatewaysAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -141541,7 +141541,7 @@
 
 func (c *TargetVpnGatewaysDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -141710,7 +141710,7 @@
 
 func (c *TargetVpnGatewaysGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -141886,7 +141886,7 @@
 
 func (c *TargetVpnGatewaysInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -142117,7 +142117,7 @@
 
 func (c *TargetVpnGatewaysListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -142394,7 +142394,7 @@
 
 func (c *UrlMapsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -142599,7 +142599,7 @@
 
 func (c *UrlMapsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -142758,7 +142758,7 @@
 
 func (c *UrlMapsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -142924,7 +142924,7 @@
 
 func (c *UrlMapsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -143091,7 +143091,7 @@
 
 func (c *UrlMapsInvalidateCacheCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -143321,7 +143321,7 @@
 
 func (c *UrlMapsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -143525,7 +143525,7 @@
 
 func (c *UrlMapsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -143702,7 +143702,7 @@
 
 func (c *UrlMapsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -143861,7 +143861,7 @@
 
 func (c *UrlMapsValidateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -144097,7 +144097,7 @@
 
 func (c *VpnGatewaysAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -144303,7 +144303,7 @@
 
 func (c *VpnGatewaysDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -144472,7 +144472,7 @@
 
 func (c *VpnGatewaysGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -144639,7 +144639,7 @@
 
 func (c *VpnGatewaysGetStatusCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -144815,7 +144815,7 @@
 
 func (c *VpnGatewaysInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -145046,7 +145046,7 @@
 
 func (c *VpnGatewaysListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -145259,7 +145259,7 @@
 
 func (c *VpnGatewaysSetLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -145427,7 +145427,7 @@
 
 func (c *VpnGatewaysTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -145673,7 +145673,7 @@
 
 func (c *VpnTunnelsAggregatedListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -145879,7 +145879,7 @@
 
 func (c *VpnTunnelsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -146048,7 +146048,7 @@
 
 func (c *VpnTunnelsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -146224,7 +146224,7 @@
 
 func (c *VpnTunnelsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -146455,7 +146455,7 @@
 
 func (c *VpnTunnelsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -146647,7 +146647,7 @@
 
 func (c *ZoneOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -146783,7 +146783,7 @@
 
 func (c *ZoneOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -147015,7 +147015,7 @@
 
 func (c *ZoneOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -147219,7 +147219,7 @@
 
 func (c *ZoneOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -147383,7 +147383,7 @@
 
 func (c *ZonesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -147604,7 +147604,7 @@
 
 func (c *ZonesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/container/v1/container-api.json b/container/v1/container-api.json
index 36192d6..5b7a4158 100644
--- a/container/v1/container-api.json
+++ b/container/v1/container-api.json
@@ -121,23 +121,23 @@
                   ],
                   "parameters": {
                     "filter": {
-                      "description": "Filtering currently only supports equality on the networkProjectId and must\nbe in the form: \"networkProjectId=[PROJECTID]\", where `networkProjectId`\nis the project which owns the listed subnetworks. This defaults to the\nparent project ID.",
+                      "description": "Filtering currently only supports equality on the networkProjectId and must be in the form: \"networkProjectId=[PROJECTID]\", where `networkProjectId` is the project which owns the listed subnetworks. This defaults to the parent project ID.",
                       "location": "query",
                       "type": "string"
                     },
                     "pageSize": {
-                      "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+                      "description": "The max number of results per page that should be returned. If the number of available results is larger than `page_size`, a `next_page_token` is returned which can be used to get the next page of results in subsequent requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "Specifies a page token to use. Set this to the nextPageToken returned by\nprevious list requests to get the next page of results.",
+                      "description": "Specifies a page token to use. Set this to the nextPageToken returned by previous list requests to get the next page of results.",
                       "location": "query",
                       "type": "string"
                     },
                     "parent": {
-                      "description": "The parent project where subnetworks are usable.\nSpecified in the format `projects/*`.",
+                      "description": "The parent project where subnetworks are usable. Specified in the format `projects/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+$",
                       "required": true,
@@ -168,19 +168,19 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "The name (project and location) of the server config to get,\nspecified in the format `projects/*/locations/*`.",
+                  "description": "The name (project and location) of the server config to get, specified in the format `projects/*/locations/*`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/locations/[^/]+$",
                   "required": true,
                   "type": "string"
                 },
                 "projectId": {
-                  "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                  "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                   "location": "query",
                   "type": "string"
                 },
                 "zone": {
-                  "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) to return\noperations for. This field has been deprecated and replaced by the name\nfield.",
+                  "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for. This field has been deprecated and replaced by the name field.",
                   "location": "query",
                   "type": "string"
                 }
@@ -207,7 +207,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster id) of the cluster to complete IP\nrotation. Specified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster id) of the cluster to complete IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -226,7 +226,7 @@
                   ]
                 },
                 "create": {
-                  "description": "Creates a cluster, consisting of the specified number and type of Google\nCompute Engine instances.\n\nBy default, the cluster is created in the project's\n[default\nnetwork](https://cloud.google.com/compute/docs/networks-and-firewalls#networks).\n\nOne firewall is added for the cluster. After cluster creation,\nthe Kubelet creates routes for each node to allow the containers\non that node to communicate with all other instances in the\ncluster.\n\nFinally, an entry is added to the project's global metadata indicating\nwhich CIDR range the cluster is using.",
+                  "description": "Creates a cluster, consisting of the specified number and type of Google Compute Engine instances. By default, the cluster is created in the project's [default network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks). One firewall is added for the cluster. After cluster creation, the Kubelet creates routes for each node to allow the containers on that node to communicate with all other instances in the cluster. Finally, an entry is added to the project's global metadata indicating which CIDR range the cluster is using.",
                   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters",
                   "httpMethod": "POST",
                   "id": "container.projects.locations.clusters.create",
@@ -235,7 +235,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "The parent (project and location) where the cluster will be created.\nSpecified in the format `projects/*/locations/*`.",
+                      "description": "The parent (project and location) where the cluster will be created. Specified in the format `projects/*/locations/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -254,7 +254,7 @@
                   ]
                 },
                 "delete": {
-                  "description": "Deletes the cluster, including the Kubernetes endpoint and all worker\nnodes.\n\nFirewalls and routes that were configured during cluster creation\nare also deleted.\n\nOther Google Compute Engine resources that might be in use by the cluster,\nsuch as load balancer resources, are not deleted if they weren't present\nwhen the cluster was initially created.",
+                  "description": "Deletes the cluster, including the Kubernetes endpoint and all worker nodes. Firewalls and routes that were configured during cluster creation are also deleted. Other Google Compute Engine resources that might be in use by the cluster, such as load balancer resources, are not deleted if they weren't present when the cluster was initially created.",
                   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}",
                   "httpMethod": "DELETE",
                   "id": "container.projects.locations.clusters.delete",
@@ -263,24 +263,24 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Deprecated. The name of the cluster to delete.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The name of the cluster to delete. This field has been deprecated and replaced by the name field.",
                       "location": "query",
                       "type": "string"
                     },
                     "name": {
-                      "description": "The name (project, location, cluster) of the cluster to delete.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster) of the cluster to delete. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "query",
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "query",
                       "type": "string"
                     }
@@ -303,24 +303,24 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Deprecated. The name of the cluster to retrieve.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The name of the cluster to retrieve. This field has been deprecated and replaced by the name field.",
                       "location": "query",
                       "type": "string"
                     },
                     "name": {
-                      "description": "The name (project, location, cluster) of the cluster to retrieve.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster) of the cluster to retrieve. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "query",
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "query",
                       "type": "string"
                     }
@@ -334,7 +334,7 @@
                   ]
                 },
                 "getJwks": {
-                  "description": "Gets the public component of the cluster signing keys in\nJSON Web Key format.\nThis API is not yet intended for general use, and is not available for all\nclusters.",
+                  "description": "Gets the public component of the cluster signing keys in JSON Web Key format. This API is not yet intended for general use, and is not available for all clusters.",
                   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/jwks",
                   "httpMethod": "GET",
                   "id": "container.projects.locations.clusters.getJwks",
@@ -343,7 +343,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "The cluster (project, location, cluster id) to get keys for. Specified in\nthe format `projects/*/locations/*/clusters/*`.",
+                      "description": "The cluster (project, location, cluster id) to get keys for. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -356,7 +356,7 @@
                   }
                 },
                 "list": {
-                  "description": "Lists all clusters owned by a project in either the specified zone or all\nzones.",
+                  "description": "Lists all clusters owned by a project in either the specified zone or all zones.",
                   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters",
                   "httpMethod": "GET",
                   "id": "container.projects.locations.clusters.list",
@@ -365,19 +365,19 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "The parent (project and location) where the clusters will be listed.\nSpecified in the format `projects/*/locations/*`.\nLocation \"-\" matches all zones and all regions.",
+                      "description": "The parent (project and location) where the clusters will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the parent field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
                       "location": "query",
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides, or \"-\" for all zones. This field has been deprecated and\nreplaced by the parent field.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides, or \"-\" for all zones. This field has been deprecated and replaced by the parent field.",
                       "location": "query",
                       "type": "string"
                     }
@@ -400,7 +400,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster) of the cluster to set addons.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster) of the cluster to set addons. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -428,7 +428,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster id) of the cluster to set legacy abac.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster id) of the cluster to set legacy abac. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -447,7 +447,7 @@
                   ]
                 },
                 "setLocations": {
-                  "description": "Sets the locations for a specific cluster.\nDeprecated. Use\n[projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/update)\ninstead.",
+                  "description": "Sets the locations for a specific cluster. Deprecated. Use [projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/update) instead.",
                   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setLocations",
                   "httpMethod": "POST",
                   "id": "container.projects.locations.clusters.setLocations",
@@ -456,7 +456,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster) of the cluster to set locations.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster) of the cluster to set locations. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -484,7 +484,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster) of the cluster to set logging.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster) of the cluster to set logging. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -512,7 +512,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster id) of the cluster to set maintenance\npolicy.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster id) of the cluster to set maintenance policy. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -531,7 +531,7 @@
                   ]
                 },
                 "setMasterAuth": {
-                  "description": "Sets master auth materials. Currently supports changing the admin password\nor a specific cluster, either via password generation or explicitly setting\nthe password.",
+                  "description": "Sets master auth materials. Currently supports changing the admin password or a specific cluster, either via password generation or explicitly setting the password.",
                   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setMasterAuth",
                   "httpMethod": "POST",
                   "id": "container.projects.locations.clusters.setMasterAuth",
@@ -540,7 +540,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster) of the cluster to set auth.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster) of the cluster to set auth. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -568,7 +568,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster) of the cluster to set monitoring.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster) of the cluster to set monitoring. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -596,7 +596,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster id) of the cluster to set networking\npolicy. Specified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster id) of the cluster to set networking policy. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -624,7 +624,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster id) of the cluster to set labels.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster id) of the cluster to set labels. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -652,7 +652,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster id) of the cluster to start IP\nrotation. Specified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster id) of the cluster to start IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -680,7 +680,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster) of the cluster to update. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -708,7 +708,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster) of the cluster to update. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -740,7 +740,7 @@
                       ],
                       "parameters": {
                         "parent": {
-                          "description": "The parent (project, location, cluster id) where the node pool will be\ncreated. Specified in the format\n`projects/*/locations/*/clusters/*`.",
+                          "description": "The parent (project, location, cluster id) where the node pool will be created. Specified in the format `projects/*/locations/*/clusters/*`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                           "required": true,
@@ -768,29 +768,29 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
                           "location": "query",
                           "type": "string"
                         },
                         "name": {
-                          "description": "The name (project, location, cluster, node pool id) of the node pool to\ndelete. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+                          "description": "The name (project, location, cluster, node pool id) of the node pool to delete. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
                         "nodePoolId": {
-                          "description": "Deprecated. The name of the node pool to delete.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The name of the node pool to delete. This field has been deprecated and replaced by the name field.",
                           "location": "query",
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
                           "location": "query",
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                           "location": "query",
                           "type": "string"
                         }
@@ -813,29 +813,29 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
                           "location": "query",
                           "type": "string"
                         },
                         "name": {
-                          "description": "The name (project, location, cluster, node pool id) of the node pool to\nget. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+                          "description": "The name (project, location, cluster, node pool id) of the node pool to get. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
                         "nodePoolId": {
-                          "description": "Deprecated. The name of the node pool.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The name of the node pool. This field has been deprecated and replaced by the name field.",
                           "location": "query",
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
                           "location": "query",
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                           "location": "query",
                           "type": "string"
                         }
@@ -858,24 +858,24 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the parent field.",
+                          "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field.",
                           "location": "query",
                           "type": "string"
                         },
                         "parent": {
-                          "description": "The parent (project, location, cluster id) where the node pools will be\nlisted. Specified in the format `projects/*/locations/*/clusters/*`.",
+                          "description": "The parent (project, location, cluster id) where the node pools will be listed. Specified in the format `projects/*/locations/*/clusters/*`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the parent field.",
+                          "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field.",
                           "location": "query",
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.",
+                          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
                           "location": "query",
                           "type": "string"
                         }
@@ -889,7 +889,7 @@
                       ]
                     },
                     "rollback": {
-                      "description": "Rolls back a previously Aborted or Failed NodePool upgrade.\nThis makes no changes if the last upgrade successfully completed.",
+                      "description": "Rolls back a previously Aborted or Failed NodePool upgrade. This makes no changes if the last upgrade successfully completed.",
                       "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}:rollback",
                       "httpMethod": "POST",
                       "id": "container.projects.locations.clusters.nodePools.rollback",
@@ -898,7 +898,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "The name (project, location, cluster, node pool id) of the node poll to\nrollback upgrade.\nSpecified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
+                          "description": "The name (project, location, cluster, node pool id) of the node poll to rollback upgrade. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
                           "required": true,
@@ -926,7 +926,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "The name (project, location, cluster, node pool) of the node pool to set\nautoscaler settings. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+                          "description": "The name (project, location, cluster, node pool) of the node pool to set autoscaler settings. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
                           "required": true,
@@ -954,7 +954,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "The name (project, location, cluster, node pool id) of the node pool to set\nmanagement properties. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+                          "description": "The name (project, location, cluster, node pool id) of the node pool to set management properties. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
                           "required": true,
@@ -982,7 +982,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "The name (project, location, cluster, node pool id) of the node pool to set\nsize.\nSpecified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
+                          "description": "The name (project, location, cluster, node pool id) of the node pool to set size. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
                           "required": true,
@@ -1010,7 +1010,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "The name (project, location, cluster, node pool) of the node pool to\nupdate. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+                          "description": "The name (project, location, cluster, node pool) of the node pool to update. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
                           "required": true,
@@ -1033,7 +1033,7 @@
                 "well-known": {
                   "methods": {
                     "getOpenid-configuration": {
-                      "description": "Gets the OIDC discovery document for the cluster.\nSee the\n[OpenID Connect Discovery 1.0\nspecification](https://openid.net/specs/openid-connect-discovery-1_0.html)\nfor details.\nThis API is not yet intended for general use, and is not available for all\nclusters.",
+                      "description": "Gets the OIDC discovery document for the cluster. See the [OpenID Connect Discovery 1.0 specification](https://openid.net/specs/openid-connect-discovery-1_0.html) for details. This API is not yet intended for general use, and is not available for all clusters.",
                       "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/.well-known/openid-configuration",
                       "httpMethod": "GET",
                       "id": "container.projects.locations.clusters.well-known.getOpenid-configuration",
@@ -1042,7 +1042,7 @@
                       ],
                       "parameters": {
                         "parent": {
-                          "description": "The cluster (project, location, cluster id) to get the discovery document\nfor. Specified in the format `projects/*/locations/*/clusters/*`.",
+                          "description": "The cluster (project, location, cluster id) to get the discovery document for. Specified in the format `projects/*/locations/*/clusters/*`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                           "required": true,
@@ -1070,7 +1070,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, operation id) of the operation to cancel.\nSpecified in the format `projects/*/locations/*/operations/*`.",
+                      "description": "The name (project, location, operation id) of the operation to cancel. Specified in the format `projects/*/locations/*/operations/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                       "required": true,
@@ -1098,24 +1098,24 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, operation id) of the operation to get.\nSpecified in the format `projects/*/locations/*/operations/*`.",
+                      "description": "The name (project, location, operation id) of the operation to get. Specified in the format `projects/*/locations/*/operations/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                       "required": true,
                       "type": "string"
                     },
                     "operationId": {
-                      "description": "Deprecated. The server-assigned `name` of the operation.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field.",
                       "location": "query",
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "query",
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "query",
                       "type": "string"
                     }
@@ -1138,19 +1138,19 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "The parent (project and location) where the operations will be listed.\nSpecified in the format `projects/*/locations/*`.\nLocation \"-\" matches all zones and all regions.",
+                      "description": "The parent (project and location) where the operations will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the parent field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
                       "location": "query",
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) to return\noperations for, or `-` for all zones. This field has been deprecated and\nreplaced by the parent field.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for, or `-` for all zones. This field has been deprecated and replaced by the parent field.",
                       "location": "query",
                       "type": "string"
                     }
@@ -1180,18 +1180,18 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "The name (project and location) of the server config to get,\nspecified in the format `projects/*/locations/*`.",
+                  "description": "The name (project and location) of the server config to get, specified in the format `projects/*/locations/*`.",
                   "location": "query",
                   "type": "string"
                 },
                 "projectId": {
-                  "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                  "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                   "location": "path",
                   "required": true,
                   "type": "string"
                 },
                 "zone": {
-                  "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) to return\noperations for. This field has been deprecated and replaced by the name\nfield.",
+                  "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for. This field has been deprecated and replaced by the name field.",
                   "location": "path",
                   "required": true,
                   "type": "string"
@@ -1221,19 +1221,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1262,19 +1262,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1292,7 +1292,7 @@
                   ]
                 },
                 "create": {
-                  "description": "Creates a cluster, consisting of the specified number and type of Google\nCompute Engine instances.\n\nBy default, the cluster is created in the project's\n[default\nnetwork](https://cloud.google.com/compute/docs/networks-and-firewalls#networks).\n\nOne firewall is added for the cluster. After cluster creation,\nthe Kubelet creates routes for each node to allow the containers\non that node to communicate with all other instances in the\ncluster.\n\nFinally, an entry is added to the project's global metadata indicating\nwhich CIDR range the cluster is using.",
+                  "description": "Creates a cluster, consisting of the specified number and type of Google Compute Engine instances. By default, the cluster is created in the project's [default network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks). One firewall is added for the cluster. After cluster creation, the Kubelet creates routes for each node to allow the containers on that node to communicate with all other instances in the cluster. Finally, an entry is added to the project's global metadata indicating which CIDR range the cluster is using.",
                   "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters",
                   "httpMethod": "POST",
                   "id": "container.projects.zones.clusters.create",
@@ -1302,13 +1302,13 @@
                   ],
                   "parameters": {
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the parent field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1326,7 +1326,7 @@
                   ]
                 },
                 "delete": {
-                  "description": "Deletes the cluster, including the Kubernetes endpoint and all worker\nnodes.\n\nFirewalls and routes that were configured during cluster creation\nare also deleted.\n\nOther Google Compute Engine resources that might be in use by the cluster,\nsuch as load balancer resources, are not deleted if they weren't present\nwhen the cluster was initially created.",
+                  "description": "Deletes the cluster, including the Kubernetes endpoint and all worker nodes. Firewalls and routes that were configured during cluster creation are also deleted. Other Google Compute Engine resources that might be in use by the cluster, such as load balancer resources, are not deleted if they weren't present when the cluster was initially created.",
                   "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}",
                   "httpMethod": "DELETE",
                   "id": "container.projects.zones.clusters.delete",
@@ -1337,24 +1337,24 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Deprecated. The name of the cluster to delete.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The name of the cluster to delete. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "name": {
-                      "description": "The name (project, location, cluster) of the cluster to delete.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster) of the cluster to delete. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "query",
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1380,24 +1380,24 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Deprecated. The name of the cluster to retrieve.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The name of the cluster to retrieve. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "name": {
-                      "description": "The name (project, location, cluster) of the cluster to retrieve.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster) of the cluster to retrieve. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "query",
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1423,19 +1423,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Deprecated. The name of the cluster to update.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1453,7 +1453,7 @@
                   ]
                 },
                 "list": {
-                  "description": "Lists all clusters owned by a project in either the specified zone or all\nzones.",
+                  "description": "Lists all clusters owned by a project in either the specified zone or all zones.",
                   "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters",
                   "httpMethod": "GET",
                   "id": "container.projects.zones.clusters.list",
@@ -1463,18 +1463,18 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "The parent (project and location) where the clusters will be listed.\nSpecified in the format `projects/*/locations/*`.\nLocation \"-\" matches all zones and all regions.",
+                      "description": "The parent (project and location) where the clusters will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.",
                       "location": "query",
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the parent field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides, or \"-\" for all zones. This field has been deprecated and\nreplaced by the parent field.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides, or \"-\" for all zones. This field has been deprecated and replaced by the parent field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1489,7 +1489,7 @@
                   ]
                 },
                 "locations": {
-                  "description": "Sets the locations for a specific cluster.\nDeprecated. Use\n[projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/update)\ninstead.",
+                  "description": "Sets the locations for a specific cluster. Deprecated. Use [projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/update) instead.",
                   "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/locations",
                   "httpMethod": "POST",
                   "id": "container.projects.zones.clusters.locations",
@@ -1500,19 +1500,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1541,19 +1541,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1582,19 +1582,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1623,19 +1623,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1664,19 +1664,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1711,13 +1711,13 @@
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).",
+                      "description": "Required. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840).",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides.",
+                      "description": "Required. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1735,7 +1735,7 @@
                   ]
                 },
                 "setMasterAuth": {
-                  "description": "Sets master auth materials. Currently supports changing the admin password\nor a specific cluster, either via password generation or explicitly setting\nthe password.",
+                  "description": "Sets master auth materials. Currently supports changing the admin password or a specific cluster, either via password generation or explicitly setting the password.",
                   "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMasterAuth",
                   "httpMethod": "POST",
                   "id": "container.projects.zones.clusters.setMasterAuth",
@@ -1746,19 +1746,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1787,19 +1787,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1828,19 +1828,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1869,19 +1869,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1915,25 +1915,25 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "nodePoolId": {
-                          "description": "Deprecated. The name of the node pool to upgrade.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
@@ -1962,19 +1962,19 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the parent field.",
+                          "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the parent field.",
+                          "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.",
+                          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
@@ -2004,30 +2004,30 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "name": {
-                          "description": "The name (project, location, cluster, node pool id) of the node pool to\ndelete. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+                          "description": "The name (project, location, cluster, node pool id) of the node pool to delete. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
                           "location": "query",
                           "type": "string"
                         },
                         "nodePoolId": {
-                          "description": "Deprecated. The name of the node pool to delete.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The name of the node pool to delete. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
@@ -2054,30 +2054,30 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "name": {
-                          "description": "The name (project, location, cluster, node pool id) of the node pool to\nget. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+                          "description": "The name (project, location, cluster, node pool id) of the node pool to get. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
                           "location": "query",
                           "type": "string"
                         },
                         "nodePoolId": {
-                          "description": "Deprecated. The name of the node pool.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The name of the node pool. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
@@ -2103,24 +2103,24 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the parent field.",
+                          "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "parent": {
-                          "description": "The parent (project, location, cluster id) where the node pools will be\nlisted. Specified in the format `projects/*/locations/*/clusters/*`.",
+                          "description": "The parent (project, location, cluster id) where the node pools will be listed. Specified in the format `projects/*/locations/*/clusters/*`.",
                           "location": "query",
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the parent field.",
+                          "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.",
+                          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
@@ -2135,7 +2135,7 @@
                       ]
                     },
                     "rollback": {
-                      "description": "Rolls back a previously Aborted or Failed NodePool upgrade.\nThis makes no changes if the last upgrade successfully completed.",
+                      "description": "Rolls back a previously Aborted or Failed NodePool upgrade. This makes no changes if the last upgrade successfully completed.",
                       "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}:rollback",
                       "httpMethod": "POST",
                       "id": "container.projects.zones.clusters.nodePools.rollback",
@@ -2147,25 +2147,25 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Deprecated. The name of the cluster to rollback.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The name of the cluster to rollback. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "nodePoolId": {
-                          "description": "Deprecated. The name of the node pool to rollback.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The name of the node pool to rollback. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
@@ -2195,25 +2195,25 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Deprecated. The name of the cluster to update.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "nodePoolId": {
-                          "description": "Deprecated. The name of the node pool to update.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
@@ -2243,25 +2243,25 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Deprecated. The name of the cluster to update.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "nodePoolId": {
-                          "description": "Deprecated. The name of the node pool to update.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
@@ -2291,25 +2291,25 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "nodePoolId": {
-                          "description": "Deprecated. The name of the node pool to upgrade.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
@@ -2344,19 +2344,19 @@
                   ],
                   "parameters": {
                     "operationId": {
-                      "description": "Deprecated. The server-assigned `name` of the operation.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\noperation resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the operation resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -2385,24 +2385,24 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, operation id) of the operation to get.\nSpecified in the format `projects/*/locations/*/operations/*`.",
+                      "description": "The name (project, location, operation id) of the operation to get. Specified in the format `projects/*/locations/*/operations/*`.",
                       "location": "query",
                       "type": "string"
                     },
                     "operationId": {
-                      "description": "Deprecated. The server-assigned `name` of the operation.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -2427,18 +2427,18 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "The parent (project and location) where the operations will be listed.\nSpecified in the format `projects/*/locations/*`.\nLocation \"-\" matches all zones and all regions.",
+                      "description": "The parent (project and location) where the operations will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.",
                       "location": "query",
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the parent field.",
+                      "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) to return\noperations for, or `-` for all zones. This field has been deprecated and\nreplaced by the parent field.",
+                      "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for, or `-` for all zones. This field has been deprecated and replaced by the parent field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -2459,7 +2459,7 @@
       }
     }
   },
-  "revision": "20200724",
+  "revision": "20200805",
   "rootUrl": "https://container.googleapis.com/",
   "schemas": {
     "AcceleratorConfig": {
@@ -2472,23 +2472,23 @@
           "type": "string"
         },
         "acceleratorType": {
-          "description": "The accelerator type resource name. List of supported accelerators\n[here](https://cloud.google.com/compute/docs/gpus)",
+          "description": "The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)",
           "type": "string"
         }
       },
       "type": "object"
     },
     "AddonsConfig": {
-      "description": "Configuration for the addons that can be automatically spun up in the\ncluster, enabling additional functionality.",
+      "description": "Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality.",
       "id": "AddonsConfig",
       "properties": {
         "cloudRunConfig": {
           "$ref": "CloudRunConfig",
-          "description": "Configuration for the Cloud Run addon, which allows the user to use a\nmanaged Knative service."
+          "description": "Configuration for the Cloud Run addon, which allows the user to use a managed Knative service."
         },
         "configConnectorConfig": {
           "$ref": "ConfigConnectorConfig",
-          "description": "Configuration for the ConfigConnector add-on, a Kubernetes\nextension to manage hosted GCP services through the Kubernetes API"
+          "description": "Configuration for the ConfigConnector add-on, a Kubernetes extension to manage hosted GCP services through the Kubernetes API"
         },
         "dnsCacheConfig": {
           "$ref": "DnsCacheConfig",
@@ -2496,19 +2496,19 @@
         },
         "horizontalPodAutoscaling": {
           "$ref": "HorizontalPodAutoscaling",
-          "description": "Configuration for the horizontal pod autoscaling feature, which\nincreases or decreases the number of replica pods a replication controller\nhas based on the resource usage of the existing pods."
+          "description": "Configuration for the horizontal pod autoscaling feature, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods."
         },
         "httpLoadBalancing": {
           "$ref": "HttpLoadBalancing",
-          "description": "Configuration for the HTTP (L7) load balancing controller addon, which\nmakes it easy to set up HTTP load balancers for services in a cluster."
+          "description": "Configuration for the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster."
         },
         "kubernetesDashboard": {
           "$ref": "KubernetesDashboard",
-          "description": "Configuration for the Kubernetes Dashboard.\nThis addon is deprecated, and will be disabled in 1.15. It is recommended\nto use the Cloud Console to manage and monitor your Kubernetes clusters,\nworkloads and applications. For more information, see:\nhttps://cloud.google.com/kubernetes-engine/docs/concepts/dashboards"
+          "description": "Configuration for the Kubernetes Dashboard. This addon is deprecated, and will be disabled in 1.15. It is recommended to use the Cloud Console to manage and monitor your Kubernetes clusters, workloads and applications. For more information, see: https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards"
         },
         "networkPolicyConfig": {
           "$ref": "NetworkPolicyConfig",
-          "description": "Configuration for NetworkPolicy. This only tracks whether the addon\nis enabled or not on the Master, it does not track whether network policy\nis enabled for the nodes."
+          "description": "Configuration for NetworkPolicy. This only tracks whether the addon is enabled or not on the Master, it does not track whether network policy is enabled for the nodes."
         }
       },
       "type": "object"
@@ -2518,33 +2518,33 @@
       "id": "AuthenticatorGroupsConfig",
       "properties": {
         "enabled": {
-          "description": "Whether this cluster should return group membership lookups\nduring authentication using a group of security groups.",
+          "description": "Whether this cluster should return group membership lookups during authentication using a group of security groups.",
           "type": "boolean"
         },
         "securityGroup": {
-          "description": "The name of the security group-of-groups to be used. Only relevant\nif enabled = true.",
+          "description": "The name of the security group-of-groups to be used. Only relevant if enabled = true.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "AutoUpgradeOptions": {
-      "description": "AutoUpgradeOptions defines the set of options for the user to control how\nthe Auto Upgrades will proceed.",
+      "description": "AutoUpgradeOptions defines the set of options for the user to control how the Auto Upgrades will proceed.",
       "id": "AutoUpgradeOptions",
       "properties": {
         "autoUpgradeStartTime": {
-          "description": "[Output only] This field is set when upgrades are about to commence\nwith the approximate start time for the upgrades, in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
+          "description": "[Output only] This field is set when upgrades are about to commence with the approximate start time for the upgrades, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
           "type": "string"
         },
         "description": {
-          "description": "[Output only] This field is set when upgrades are about to commence\nwith the description of the upgrade.",
+          "description": "[Output only] This field is set when upgrades are about to commence with the description of the upgrade.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "AutoprovisioningNodePoolDefaults": {
-      "description": "AutoprovisioningNodePoolDefaults contains defaults for a node pool created\nby NAP.",
+      "description": "AutoprovisioningNodePoolDefaults contains defaults for a node pool created by NAP.",
       "id": "AutoprovisioningNodePoolDefaults",
       "properties": {
         "management": {
@@ -2585,7 +2585,7 @@
       "id": "BinaryAuthorization",
       "properties": {
         "enabled": {
-          "description": "Enable Binary Authorization for this cluster. If enabled, all container\nimages will be validated by Binary Authorization.",
+          "description": "Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Binary Authorization.",
           "type": "boolean"
         }
       },
@@ -2596,19 +2596,19 @@
       "id": "CancelOperationRequest",
       "properties": {
         "name": {
-          "description": "The name (project, location, operation id) of the operation to cancel.\nSpecified in the format `projects/*/locations/*/operations/*`.",
+          "description": "The name (project, location, operation id) of the operation to cancel. Specified in the format `projects/*/locations/*/operations/*`.",
           "type": "string"
         },
         "operationId": {
-          "description": "Deprecated. The server-assigned `name` of the operation.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "projectId": {
-          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\noperation resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the operation resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -2672,7 +2672,7 @@
           "description": "Configuration for Binary Authorization."
         },
         "clusterIpv4Cidr": {
-          "description": "The IP address range of the container pods in this cluster, in\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `10.96.0.0/14`). Leave blank to have\none automatically chosen or specify a `/14` block in `10.0.0.0/8`.",
+          "description": "The IP address range of the container pods in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`). Leave blank to have one automatically chosen or specify a `/14` block in `10.0.0.0/8`.",
           "type": "string"
         },
         "conditions": {
@@ -2683,7 +2683,7 @@
           "type": "array"
         },
         "createTime": {
-          "description": "[Output only] The time the cluster was created, in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
+          "description": "[Output only] The time the cluster was created, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
           "type": "string"
         },
         "currentMasterVersion": {
@@ -2691,12 +2691,12 @@
           "type": "string"
         },
         "currentNodeCount": {
-          "description": "[Output only]  The number of nodes currently in the cluster. Deprecated.\nCall Kubernetes API directly to retrieve node information.",
+          "description": "[Output only] The number of nodes currently in the cluster. Deprecated. Call Kubernetes API directly to retrieve node information.",
           "format": "int32",
           "type": "integer"
         },
         "currentNodeVersion": {
-          "description": "[Output only] Deprecated, use\n[NodePools.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools)\ninstead. The current version of the node software components. If they are\ncurrently at multiple versions because they're in the process of being\nupgraded, this reflects the minimum version of all nodes.",
+          "description": "[Output only] Deprecated, use [NodePools.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools) instead. The current version of the node software components. If they are currently at multiple versions because they're in the process of being upgraded, this reflects the minimum version of all nodes.",
           "type": "string"
         },
         "databaseEncryption": {
@@ -2705,14 +2705,14 @@
         },
         "defaultMaxPodsConstraint": {
           "$ref": "MaxPodsConstraint",
-          "description": "The default constraint on the maximum number of pods that can be run\nsimultaneously on a node in the node pool of this cluster. Only honored\nif cluster created with IP Alias support."
+          "description": "The default constraint on the maximum number of pods that can be run simultaneously on a node in the node pool of this cluster. Only honored if cluster created with IP Alias support."
         },
         "description": {
           "description": "An optional description of this cluster.",
           "type": "string"
         },
         "enableKubernetesAlpha": {
-          "description": "Kubernetes alpha features are enabled on this cluster. This includes alpha\nAPI groups (e.g. v1alpha1) and features that may not be production ready in\nthe kubernetes version of the master and nodes.\nThe cluster has no SLA for uptime and master/node upgrades are disabled.\nAlpha enabled clusters are automatically deleted thirty days after\ncreation.",
+          "description": "Kubernetes alpha features are enabled on this cluster. This includes alpha API groups (e.g. v1alpha1) and features that may not be production ready in the kubernetes version of the master and nodes. The cluster has no SLA for uptime and master/node upgrades are disabled. Alpha enabled clusters are automatically deleted thirty days after creation.",
           "type": "boolean"
         },
         "enableTpu": {
@@ -2720,19 +2720,19 @@
           "type": "boolean"
         },
         "endpoint": {
-          "description": "[Output only] The IP address of this cluster's master endpoint.\nThe endpoint can be accessed from the internet at\n`https://username:password@endpoint/`.\n\nSee the `masterAuth` property of this resource for username and\npassword information.",
+          "description": "[Output only] The IP address of this cluster's master endpoint. The endpoint can be accessed from the internet at `https://username:password@endpoint/`. See the `masterAuth` property of this resource for username and password information.",
           "type": "string"
         },
         "expireTime": {
-          "description": "[Output only] The time the cluster will be automatically\ndeleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
+          "description": "[Output only] The time the cluster will be automatically deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
           "type": "string"
         },
         "initialClusterVersion": {
-          "description": "The initial Kubernetes version for this cluster.  Valid versions are those\nfound in validMasterVersions returned by getServerConfig.  The version can\nbe upgraded over time; such upgrades are reflected in\ncurrentMasterVersion and currentNodeVersion.\n\nUsers may specify either explicit versions offered by\nKubernetes Engine or version aliases, which have the following behavior:\n\n- \"latest\": picks the highest valid Kubernetes version\n- \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version\n- \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version\n- \"1.X.Y-gke.N\": picks an explicit Kubernetes version\n- \"\",\"-\": picks the default Kubernetes version",
+          "description": "The initial Kubernetes version for this cluster. Valid versions are those found in validMasterVersions returned by getServerConfig. The version can be upgraded over time; such upgrades are reflected in currentMasterVersion and currentNodeVersion. Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - \"latest\": picks the highest valid Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes version - \"\",\"-\": picks the default Kubernetes version",
           "type": "string"
         },
         "initialNodeCount": {
-          "description": "The number of nodes to create in this cluster. You must ensure that your\nCompute Engine [resource quota](https://cloud.google.com/compute/quotas)\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.\nFor requests, this field should only be used in lieu of a\n\"node_pool\" object, since this configuration (along with the\n\"node_config\") will be used to create a \"NodePool\" object with an\nauto-generated name. Do not use this and a node_pool at the same time.\n\nThis field is deprecated, use node_pool.initial_node_count instead.",
+          "description": "The number of nodes to create in this cluster. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota. For requests, this field should only be used in lieu of a \"node_pool\" object, since this configuration (along with the \"node_config\") will be used to create a \"NodePool\" object with an auto-generated name. Do not use this and a node_pool at the same time. This field is deprecated, use node_pool.initial_node_count instead.",
           "format": "int32",
           "type": "integer"
         },
@@ -2756,18 +2756,18 @@
           "description": "Configuration for the legacy ABAC authorization mode."
         },
         "location": {
-          "description": "[Output only] The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)\nor\n[region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)\nin which the cluster resides.",
+          "description": "[Output only] The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) or [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which the cluster resides.",
           "type": "string"
         },
         "locations": {
-          "description": "The list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster's nodes should be located.",
+          "description": "The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the cluster's nodes should be located.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "loggingService": {
-          "description": "The logging service the cluster should use to write logs.\nCurrently available options:\n\n* `logging.googleapis.com/kubernetes` - The Cloud Logging\nservice with a Kubernetes-native resource model\n* `logging.googleapis.com` - The legacy Cloud Logging service (no longer\n  available as of GKE 1.15).\n* `none` - no logs will be exported from the cluster.\n\nIf left as an empty string,`logging.googleapis.com/kubernetes` will be\nused for GKE 1.14+ or `logging.googleapis.com` for earlier versions.",
+          "description": "The logging service the cluster should use to write logs. Currently available options: * `logging.googleapis.com/kubernetes` - The Cloud Logging service with a Kubernetes-native resource model * `logging.googleapis.com` - The legacy Cloud Logging service (no longer available as of GKE 1.15). * `none` - no logs will be exported from the cluster. If left as an empty string,`logging.googleapis.com/kubernetes` will be used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.",
           "type": "string"
         },
         "maintenancePolicy": {
@@ -2776,22 +2776,22 @@
         },
         "masterAuth": {
           "$ref": "MasterAuth",
-          "description": "The authentication information for accessing the master endpoint.\nIf unspecified, the defaults are used:\nFor clusters before v1.12, if master_auth is unspecified, `username` will\nbe set to \"admin\", a random password will be generated, and a client\ncertificate will be issued."
+          "description": "The authentication information for accessing the master endpoint. If unspecified, the defaults are used: For clusters before v1.12, if master_auth is unspecified, `username` will be set to \"admin\", a random password will be generated, and a client certificate will be issued."
         },
         "masterAuthorizedNetworksConfig": {
           "$ref": "MasterAuthorizedNetworksConfig",
           "description": "The configuration options for master authorized networks feature."
         },
         "monitoringService": {
-          "description": "The monitoring service the cluster should use to write metrics.\nCurrently available options:\n\n* \"monitoring.googleapis.com/kubernetes\" - The Cloud Monitoring\nservice with a Kubernetes-native resource model\n* `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no\n  longer available as of GKE 1.15).\n* `none` - No metrics will be exported from the cluster.\n\nIf left as an empty string,`monitoring.googleapis.com/kubernetes` will be\nused for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.",
+          "description": "The monitoring service the cluster should use to write metrics. Currently available options: * \"monitoring.googleapis.com/kubernetes\" - The Cloud Monitoring service with a Kubernetes-native resource model * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no longer available as of GKE 1.15). * `none` - No metrics will be exported from the cluster. If left as an empty string,`monitoring.googleapis.com/kubernetes` will be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.",
           "type": "string"
         },
         "name": {
-          "description": "The name of this cluster. The name must be unique within this project\nand location (e.g. zone or region), and can be up to 40 characters with\nthe following restrictions:\n\n* Lowercase letters, numbers, and hyphens only.\n* Must start with a letter.\n* Must end with a number or a letter.",
+          "description": "The name of this cluster. The name must be unique within this project and location (e.g. zone or region), and can be up to 40 characters with the following restrictions: * Lowercase letters, numbers, and hyphens only. * Must start with a letter. * Must end with a number or a letter.",
           "type": "string"
         },
         "network": {
-          "description": "The name of the Google Compute Engine\n[network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)\nto which the cluster is connected. If left unspecified, the `default`\nnetwork will be used.",
+          "description": "The name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used.",
           "type": "string"
         },
         "networkConfig": {
@@ -2804,15 +2804,15 @@
         },
         "nodeConfig": {
           "$ref": "NodeConfig",
-          "description": "Parameters used in creating the cluster's nodes.\nFor requests, this field should only be used in lieu of a\n\"node_pool\" object, since this configuration (along with the\n\"initial_node_count\") will be used to create a \"NodePool\" object with an\nauto-generated name. Do not use this and a node_pool at the same time.\nFor responses, this field will be populated with the node configuration of\nthe first node pool. (For configuration of each node pool, see\n`node_pool.config`)\n\nIf unspecified, the defaults are used.\nThis field is deprecated, use node_pool.config instead."
+          "description": "Parameters used in creating the cluster's nodes. For requests, this field should only be used in lieu of a \"node_pool\" object, since this configuration (along with the \"initial_node_count\") will be used to create a \"NodePool\" object with an auto-generated name. Do not use this and a node_pool at the same time. For responses, this field will be populated with the node configuration of the first node pool. (For configuration of each node pool, see `node_pool.config`) If unspecified, the defaults are used. This field is deprecated, use node_pool.config instead."
         },
         "nodeIpv4CidrSize": {
-          "description": "[Output only] The size of the address space on each node for hosting\ncontainers. This is provisioned from within the `container_ipv4_cidr`\nrange. This field will only be set when cluster is in route-based network\nmode.",
+          "description": "[Output only] The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode.",
           "format": "int32",
           "type": "integer"
         },
         "nodePools": {
-          "description": "The node pools associated with this cluster.\nThis field should not be set if \"node_config\" or \"initial_node_count\" are\nspecified.",
+          "description": "The node pools associated with this cluster. This field should not be set if \"node_config\" or \"initial_node_count\" are specified.",
           "items": {
             "$ref": "NodePool"
           },
@@ -2830,19 +2830,19 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The resource labels for the cluster to use to annotate any related\nGoogle Compute Engine resources.",
+          "description": "The resource labels for the cluster to use to annotate any related Google Compute Engine resources.",
           "type": "object"
         },
         "resourceUsageExportConfig": {
           "$ref": "ResourceUsageExportConfig",
-          "description": "Configuration for exporting resource usages. Resource usage export is\ndisabled when this config is unspecified."
+          "description": "Configuration for exporting resource usages. Resource usage export is disabled when this config is unspecified."
         },
         "selfLink": {
           "description": "[Output only] Server-defined URL for the resource.",
           "type": "string"
         },
         "servicesIpv4Cidr": {
-          "description": "[Output only] The IP address range of the Kubernetes services in\nthis cluster, in\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `1.2.3.4/29`). Service addresses are\ntypically put in the last `/16` from the container CIDR.",
+          "description": "[Output only] The IP address range of the Kubernetes services in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.2.3.4/29`). Service addresses are typically put in the last `/16` from the container CIDR.",
           "type": "string"
         },
         "shieldedNodes": {
@@ -2863,24 +2863,24 @@
           "enumDescriptions": [
             "Not set.",
             "The PROVISIONING state indicates the cluster is being created.",
-            "The RUNNING state indicates the cluster has been created and is fully\nusable.",
-            "The RECONCILING state indicates that some work is actively being done on\nthe cluster, such as upgrading the master or node software. Details can\nbe found in the `statusMessage` field.",
+            "The RUNNING state indicates the cluster has been created and is fully usable.",
+            "The RECONCILING state indicates that some work is actively being done on the cluster, such as upgrading the master or node software. Details can be found in the `statusMessage` field.",
             "The STOPPING state indicates the cluster is being deleted.",
-            "The ERROR state indicates the cluster may be unusable. Details\ncan be found in the `statusMessage` field.",
-            "The DEGRADED state indicates the cluster requires user action to restore\nfull functionality. Details can be found in the `statusMessage` field."
+            "The ERROR state indicates the cluster is unusable. It will be automatically deleted. Details can be found in the `statusMessage` field.",
+            "The DEGRADED state indicates the cluster requires user action to restore full functionality. Details can be found in the `statusMessage` field."
           ],
           "type": "string"
         },
         "statusMessage": {
-          "description": "[Output only] Additional information about the current status of this\ncluster, if available.",
+          "description": "[Output only] Additional information about the current status of this cluster, if available.",
           "type": "string"
         },
         "subnetwork": {
-          "description": "The name of the Google Compute Engine\n[subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which\nthe cluster is connected.",
+          "description": "The name of the Google Compute Engine [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which the cluster is connected.",
           "type": "string"
         },
         "tpuIpv4CidrBlock": {
-          "description": "[Output only] The IP address range of the Cloud TPUs in this cluster, in\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `1.2.3.4/29`).",
+          "description": "[Output only] The IP address range of the Cloud TPUs in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.2.3.4/29`).",
           "type": "string"
         },
         "verticalPodAutoscaling": {
@@ -2889,21 +2889,21 @@
         },
         "workloadIdentityConfig": {
           "$ref": "WorkloadIdentityConfig",
-          "description": "Configuration for the use of Kubernetes Service Accounts in GCP IAM\npolicies."
+          "description": "Configuration for the use of Kubernetes Service Accounts in GCP IAM policies."
         },
         "zone": {
-          "description": "[Output only] The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field is deprecated, use location instead.",
+          "description": "[Output only] The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field is deprecated, use location instead.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "ClusterAutoscaling": {
-      "description": "ClusterAutoscaling contains global, per-cluster information\nrequired by Cluster Autoscaler to automatically adjust\nthe size of the cluster and create/delete\nnode pools based on the current needs.",
+      "description": "ClusterAutoscaling contains global, per-cluster information required by Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs.",
       "id": "ClusterAutoscaling",
       "properties": {
         "autoprovisioningLocations": {
-          "description": "The list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\nNodePool's nodes can be created by NAP.",
+          "description": "The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes can be created by NAP.",
           "items": {
             "type": "string"
           },
@@ -2911,14 +2911,14 @@
         },
         "autoprovisioningNodePoolDefaults": {
           "$ref": "AutoprovisioningNodePoolDefaults",
-          "description": "AutoprovisioningNodePoolDefaults contains defaults for a node pool\ncreated by NAP."
+          "description": "AutoprovisioningNodePoolDefaults contains defaults for a node pool created by NAP."
         },
         "enableNodeAutoprovisioning": {
           "description": "Enables automatic node pool creation and deletion.",
           "type": "boolean"
         },
         "resourceLimits": {
-          "description": "Contains global constraints regarding minimum and maximum\namount of resources in the cluster.",
+          "description": "Contains global constraints regarding minimum and maximum amount of resources in the cluster.",
           "items": {
             "$ref": "ResourceLimit"
           },
@@ -2928,7 +2928,7 @@
       "type": "object"
     },
     "ClusterUpdate": {
-      "description": "ClusterUpdate describes an update to the cluster. Exactly one update can\nbe applied to a cluster with each request, so at most one field can be\nprovided.",
+      "description": "ClusterUpdate describes an update to the cluster. Exactly one update can be applied to a cluster with each request, so at most one field can be provided.",
       "id": "ClusterUpdate",
       "properties": {
         "desiredAddonsConfig": {
@@ -2947,8 +2947,12 @@
           "$ref": "DatabaseEncryption",
           "description": "Configuration of etcd encryption."
         },
+        "desiredDefaultSnatStatus": {
+          "$ref": "DefaultSnatStatus",
+          "description": "The desired status of whether to disable default sNAT for this cluster."
+        },
         "desiredImageType": {
-          "description": "The desired image type for the node pool.\nNOTE: Set the \"desired_node_pool\" field as well.",
+          "description": "The desired image type for the node pool. NOTE: Set the \"desired_node_pool\" field as well.",
           "type": "string"
         },
         "desiredIntraNodeVisibilityConfig": {
@@ -2956,14 +2960,14 @@
           "description": "The desired config of Intra-node visibility."
         },
         "desiredLocations": {
-          "description": "The desired list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster's nodes should be located. Changing the locations a cluster is in\nwill result in nodes being either created or removed from the cluster,\ndepending on whether locations are being added or removed.\n\nThis list must always include the cluster's primary zone.",
+          "description": "The desired list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the cluster's nodes should be located. Changing the locations a cluster is in will result in nodes being either created or removed from the cluster, depending on whether locations are being added or removed. This list must always include the cluster's primary zone.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "desiredLoggingService": {
-          "description": "The logging service the cluster should use to write logs.\nCurrently available options:\n\n* `logging.googleapis.com/kubernetes` - The Cloud Logging\nservice with a Kubernetes-native resource model\n* `logging.googleapis.com` - The legacy Cloud Logging service (no longer\n  available as of GKE 1.15).\n* `none` - no logs will be exported from the cluster.\n\nIf left as an empty string,`logging.googleapis.com/kubernetes` will be\nused for GKE 1.14+ or `logging.googleapis.com` for earlier versions.",
+          "description": "The logging service the cluster should use to write logs. Currently available options: * `logging.googleapis.com/kubernetes` - The Cloud Logging service with a Kubernetes-native resource model * `logging.googleapis.com` - The legacy Cloud Logging service (no longer available as of GKE 1.15). * `none` - no logs will be exported from the cluster. If left as an empty string,`logging.googleapis.com/kubernetes` will be used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.",
           "type": "string"
         },
         "desiredMasterAuthorizedNetworksConfig": {
@@ -2971,25 +2975,29 @@
           "description": "The desired configuration options for master authorized networks feature."
         },
         "desiredMasterVersion": {
-          "description": "The Kubernetes version to change the master to.\n\nUsers may specify either explicit versions offered by\nKubernetes Engine or version aliases, which have the following behavior:\n\n- \"latest\": picks the highest valid Kubernetes version\n- \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version\n- \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version\n- \"1.X.Y-gke.N\": picks an explicit Kubernetes version\n- \"-\": picks the default Kubernetes version",
+          "description": "The Kubernetes version to change the master to. Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - \"latest\": picks the highest valid Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes version - \"-\": picks the default Kubernetes version",
           "type": "string"
         },
         "desiredMonitoringService": {
-          "description": "The monitoring service the cluster should use to write metrics.\nCurrently available options:\n\n* \"monitoring.googleapis.com/kubernetes\" - The Cloud Monitoring\nservice with a Kubernetes-native resource model\n* `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no\n  longer available as of GKE 1.15).\n* `none` - No metrics will be exported from the cluster.\n\nIf left as an empty string,`monitoring.googleapis.com/kubernetes` will be\nused for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.",
+          "description": "The monitoring service the cluster should use to write metrics. Currently available options: * \"monitoring.googleapis.com/kubernetes\" - The Cloud Monitoring service with a Kubernetes-native resource model * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no longer available as of GKE 1.15). * `none` - No metrics will be exported from the cluster. If left as an empty string,`monitoring.googleapis.com/kubernetes` will be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.",
           "type": "string"
         },
         "desiredNodePoolAutoscaling": {
           "$ref": "NodePoolAutoscaling",
-          "description": "Autoscaler configuration for the node pool specified in\ndesired_node_pool_id. If there is only one pool in the\ncluster and desired_node_pool_id is not provided then\nthe change applies to that single node pool."
+          "description": "Autoscaler configuration for the node pool specified in desired_node_pool_id. If there is only one pool in the cluster and desired_node_pool_id is not provided then the change applies to that single node pool."
         },
         "desiredNodePoolId": {
-          "description": "The node pool to be upgraded. This field is mandatory if\n\"desired_node_version\", \"desired_image_family\" or\n\"desired_node_pool_autoscaling\" is specified and there is more than one\nnode pool on the cluster.",
+          "description": "The node pool to be upgraded. This field is mandatory if \"desired_node_version\", \"desired_image_family\" or \"desired_node_pool_autoscaling\" is specified and there is more than one node pool on the cluster.",
           "type": "string"
         },
         "desiredNodeVersion": {
-          "description": "The Kubernetes version to change the nodes to (typically an\nupgrade).\n\nUsers may specify either explicit versions offered by\nKubernetes Engine or version aliases, which have the following behavior:\n\n- \"latest\": picks the highest valid Kubernetes version\n- \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version\n- \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version\n- \"1.X.Y-gke.N\": picks an explicit Kubernetes version\n- \"-\": picks the Kubernetes master version",
+          "description": "The Kubernetes version to change the nodes to (typically an upgrade). Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - \"latest\": picks the highest valid Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes version - \"-\": picks the Kubernetes master version",
           "type": "string"
         },
+        "desiredPrivateClusterConfig": {
+          "$ref": "PrivateClusterConfig",
+          "description": "The desired private cluster configuration."
+        },
         "desiredReleaseChannel": {
           "$ref": "ReleaseChannel",
           "description": "The desired release channel configuration."
@@ -3018,19 +3026,19 @@
       "id": "CompleteIPRotationRequest",
       "properties": {
         "clusterId": {
-          "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster id) of the cluster to complete IP\nrotation. Specified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster id) of the cluster to complete IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -3052,7 +3060,7 @@
       "id": "ConsumptionMeteringConfig",
       "properties": {
         "enabled": {
-          "description": "Whether to enable consumption metering for this cluster. If enabled, a\nsecond BigQuery table will be created to hold resource consumption\nrecords.",
+          "description": "Whether to enable consumption metering for this cluster. If enabled, a second BigQuery table will be created to hold resource consumption records.",
           "type": "boolean"
         }
       },
@@ -3064,18 +3072,18 @@
       "properties": {
         "cluster": {
           "$ref": "Cluster",
-          "description": "Required. A [cluster\nresource](https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters)"
+          "description": "Required. A [cluster resource](https://cloud.google.com/container-engine/reference/rest/v1/projects.locations.clusters)"
         },
         "parent": {
-          "description": "The parent (project and location) where the cluster will be created.\nSpecified in the format `projects/*/locations/*`.",
+          "description": "The parent (project and location) where the cluster will be created. Specified in the format `projects/*/locations/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the parent field.",
+          "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
           "type": "string"
         },
         "zone": {
-          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.",
+          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
           "type": "string"
         }
       },
@@ -3086,7 +3094,7 @@
       "id": "CreateNodePoolRequest",
       "properties": {
         "clusterId": {
-          "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the parent field.",
+          "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field.",
           "type": "string"
         },
         "nodePool": {
@@ -3094,15 +3102,15 @@
           "description": "Required. The node pool to create."
         },
         "parent": {
-          "description": "The parent (project, location, cluster id) where the node pool will be\ncreated. Specified in the format\n`projects/*/locations/*/clusters/*`.",
+          "description": "The parent (project, location, cluster id) where the node pool will be created. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the parent field.",
+          "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field.",
           "type": "string"
         },
         "zone": {
-          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.",
+          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
           "type": "string"
         }
       },
@@ -3113,11 +3121,11 @@
       "id": "DailyMaintenanceWindow",
       "properties": {
         "duration": {
-          "description": "[Output only] Duration of the time window, automatically chosen to be\nsmallest possible in the given scenario.\nDuration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)\nformat \"PTnHnMnS\".",
+          "description": "[Output only] Duration of the time window, automatically chosen to be smallest possible in the given scenario. Duration will be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) format \"PTnHnMnS\".",
           "type": "string"
         },
         "startTime": {
-          "description": "Time within the maintenance window to start the maintenance operations.\nTime format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)\nformat \"HH:MM\", where HH : [00-23] and MM : [00-59] GMT.",
+          "description": "Time within the maintenance window to start the maintenance operations. Time format should be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) format \"HH:MM\", where HH : [00-23] and MM : [00-59] GMT.",
           "type": "string"
         }
       },
@@ -3128,7 +3136,7 @@
       "id": "DatabaseEncryption",
       "properties": {
         "keyName": {
-          "description": "Name of CloudKMS key to use for the encryption of secrets in etcd.\nEx. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key",
+          "description": "Name of CloudKMS key to use for the encryption of secrets in etcd. Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key",
           "type": "string"
         },
         "state": {
@@ -3141,13 +3149,24 @@
           "enumDescriptions": [
             "Should never be set",
             "Secrets in etcd are encrypted.",
-            "Secrets in etcd are stored in plain text (at etcd level) - this is\nunrelated to Compute Engine level full disk encryption."
+            "Secrets in etcd are stored in plain text (at etcd level) - this is unrelated to Compute Engine level full disk encryption."
           ],
           "type": "string"
         }
       },
       "type": "object"
     },
+    "DefaultSnatStatus": {
+      "description": "DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster.",
+      "id": "DefaultSnatStatus",
+      "properties": {
+        "disabled": {
+          "description": "Disables cluster default sNAT rules.",
+          "type": "boolean"
+        }
+      },
+      "type": "object"
+    },
     "DnsCacheConfig": {
       "description": "Configuration for NodeLocal DNSCache",
       "id": "DnsCacheConfig",
@@ -3160,7 +3179,7 @@
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
@@ -3171,10 +3190,10 @@
       "properties": {
         "cacheHeader": {
           "$ref": "HttpCacheControlResponseHeader",
-          "description": "OnePlatform automatically extracts this field and uses it to set the HTTP\nCache-Control header."
+          "description": "OnePlatform automatically extracts this field and uses it to set the HTTP Cache-Control header."
         },
         "keys": {
-          "description": "The public component of the keys used by the cluster to sign token\nrequests.",
+          "description": "The public component of the keys used by the cluster to sign token requests.",
           "items": {
             "$ref": "Jwk"
           },
@@ -3184,12 +3203,12 @@
       "type": "object"
     },
     "GetOpenIDConfigResponse": {
-      "description": "GetOpenIDConfigResponse is an OIDC discovery document for the cluster.\nSee the OpenID Connect Discovery 1.0 specification for details.",
+      "description": "GetOpenIDConfigResponse is an OIDC discovery document for the cluster. See the OpenID Connect Discovery 1.0 specification for details.",
       "id": "GetOpenIDConfigResponse",
       "properties": {
         "cacheHeader": {
           "$ref": "HttpCacheControlResponseHeader",
-          "description": "OnePlatform automatically extracts this field and uses it to set the HTTP\nCache-Control header."
+          "description": "OnePlatform automatically extracts this field and uses it to set the HTTP Cache-Control header."
         },
         "claims_supported": {
           "description": "Supported claims.",
@@ -3238,11 +3257,11 @@
       "type": "object"
     },
     "HorizontalPodAutoscaling": {
-      "description": "Configuration options for the horizontal pod autoscaling feature, which\nincreases or decreases the number of replica pods a replication controller\nhas based on the resource usage of the existing pods.",
+      "description": "Configuration options for the horizontal pod autoscaling feature, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods.",
       "id": "HorizontalPodAutoscaling",
       "properties": {
         "disabled": {
-          "description": "Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.\nWhen enabled, it ensures that metrics are collected into Stackdriver\nMonitoring.",
+          "description": "Whether the Horizontal Pod Autoscaling feature is enabled in the cluster. When enabled, it ensures that metrics are collected into Stackdriver Monitoring.",
           "type": "boolean"
         }
       },
@@ -3269,11 +3288,11 @@
       "type": "object"
     },
     "HttpLoadBalancing": {
-      "description": "Configuration options for the HTTP (L7) load balancing controller addon,\nwhich makes it easy to set up HTTP load balancers for services in a cluster.",
+      "description": "Configuration options for the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster.",
       "id": "HttpLoadBalancing",
       "properties": {
         "disabled": {
-          "description": "Whether the HTTP Load Balancing controller is enabled in the cluster.\nWhen enabled, it runs a small pod in the cluster that manages the load\nbalancers.",
+          "description": "Whether the HTTP Load Balancing controller is enabled in the cluster. When enabled, it runs a small pod in the cluster that manages the load balancers.",
           "type": "boolean"
         }
       },
@@ -3288,15 +3307,15 @@
           "type": "string"
         },
         "clusterIpv4CidrBlock": {
-          "description": "The IP address range for the cluster pod IPs. If this field is set, then\n`cluster.cluster_ipv4_cidr` must be left blank.\n\nThis field is only applicable when `use_ip_aliases` is true.\n\nSet to blank to have a range chosen with the default size.\n\nSet to /netmask (e.g. `/14`) to have a range chosen with a specific\nnetmask.\n\nSet to a\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.\n`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range\nto use.",
+          "description": "The IP address range for the cluster pod IPs. If this field is set, then `cluster.cluster_ipv4_cidr` must be left blank. This field is only applicable when `use_ip_aliases` is true. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. `/14`) to have a range chosen with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.",
           "type": "string"
         },
         "clusterSecondaryRangeName": {
-          "description": "The name of the secondary range to be used for the cluster CIDR\nblock.  The secondary range will be used for pod IP\naddresses. This must be an existing secondary range associated\nwith the cluster subnetwork.\n\nThis field is only applicable with use_ip_aliases is true and\ncreate_subnetwork is false.",
+          "description": "The name of the secondary range to be used for the cluster CIDR block. The secondary range will be used for pod IP addresses. This must be an existing secondary range associated with the cluster subnetwork. This field is only applicable with use_ip_aliases is true and create_subnetwork is false.",
           "type": "string"
         },
         "createSubnetwork": {
-          "description": "Whether a new subnetwork will be created automatically for the cluster.\n\nThis field is only applicable when `use_ip_aliases` is true.",
+          "description": "Whether a new subnetwork will be created automatically for the cluster. This field is only applicable when `use_ip_aliases` is true.",
           "type": "boolean"
         },
         "nodeIpv4Cidr": {
@@ -3304,7 +3323,7 @@
           "type": "string"
         },
         "nodeIpv4CidrBlock": {
-          "description": "The IP address range of the instance IPs in this cluster.\n\nThis is applicable only if `create_subnetwork` is true.\n\nSet to blank to have a range chosen with the default size.\n\nSet to /netmask (e.g. `/14`) to have a range chosen with a specific\nnetmask.\n\nSet to a\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.\n`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range\nto use.",
+          "description": "The IP address range of the instance IPs in this cluster. This is applicable only if `create_subnetwork` is true. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. `/14`) to have a range chosen with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.",
           "type": "string"
         },
         "servicesIpv4Cidr": {
@@ -3312,30 +3331,34 @@
           "type": "string"
         },
         "servicesIpv4CidrBlock": {
-          "description": "The IP address range of the services IPs in this cluster. If blank, a range\nwill be automatically chosen with the default size.\n\nThis field is only applicable when `use_ip_aliases` is true.\n\nSet to blank to have a range chosen with the default size.\n\nSet to /netmask (e.g. `/14`) to have a range chosen with a specific\nnetmask.\n\nSet to a\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.\n`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range\nto use.",
+          "description": "The IP address range of the services IPs in this cluster. If blank, a range will be automatically chosen with the default size. This field is only applicable when `use_ip_aliases` is true. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. `/14`) to have a range chosen with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.",
           "type": "string"
         },
         "servicesSecondaryRangeName": {
-          "description": "The name of the secondary range to be used as for the services\nCIDR block.  The secondary range will be used for service\nClusterIPs. This must be an existing secondary range associated\nwith the cluster subnetwork.\n\nThis field is only applicable with use_ip_aliases is true and\ncreate_subnetwork is false.",
+          "description": "The name of the secondary range to be used as for the services CIDR block. The secondary range will be used for service ClusterIPs. This must be an existing secondary range associated with the cluster subnetwork. This field is only applicable with use_ip_aliases is true and create_subnetwork is false.",
           "type": "string"
         },
         "subnetworkName": {
-          "description": "A custom subnetwork name to be used if `create_subnetwork` is true.  If\nthis field is empty, then an automatic name will be chosen for the new\nsubnetwork.",
+          "description": "A custom subnetwork name to be used if `create_subnetwork` is true. If this field is empty, then an automatic name will be chosen for the new subnetwork.",
           "type": "string"
         },
         "tpuIpv4CidrBlock": {
-          "description": "The IP address range of the Cloud TPUs in this cluster. If unspecified, a\nrange will be automatically chosen with the default size.\n\nThis field is only applicable when `use_ip_aliases` is true.\n\nIf unspecified, the range will use the default size.\n\nSet to /netmask (e.g. `/14`) to have a range chosen with a specific\nnetmask.\n\nSet to a\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.\n`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range\nto use.",
+          "description": "The IP address range of the Cloud TPUs in this cluster. If unspecified, a range will be automatically chosen with the default size. This field is only applicable when `use_ip_aliases` is true. If unspecified, the range will use the default size. Set to /netmask (e.g. `/14`) to have a range chosen with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.",
           "type": "string"
         },
         "useIpAliases": {
-          "description": "Whether alias IPs will be used for pod IPs in the cluster.",
+          "description": "Whether alias IPs will be used for pod IPs in the cluster. This is used in conjunction with use_routes. It cannot be true if use_routes is true. If both use_ip_aliases and use_routes are false, then the server picks the default IP allocation mode",
+          "type": "boolean"
+        },
+        "useRoutes": {
+          "description": "Whether routes will be used for pod IPs in the cluster. This is used in conjunction with use_ip_aliases. It cannot be true if use_ip_aliases is true. If both use_ip_aliases and use_routes are false, then the server picks the default IP allocation mode",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "IntraNodeVisibilityConfig": {
-      "description": "IntraNodeVisibilityConfig contains the desired config of the intra-node\nvisibility on this cluster.",
+      "description": "IntraNodeVisibilityConfig contains the desired config of the intra-node visibility on this cluster.",
       "id": "IntraNodeVisibilityConfig",
       "properties": {
         "enabled": {
@@ -3400,11 +3423,11 @@
       "type": "object"
     },
     "LegacyAbac": {
-      "description": "Configuration for the legacy Attribute Based Access Control authorization\nmode.",
+      "description": "Configuration for the legacy Attribute Based Access Control authorization mode.",
       "id": "LegacyAbac",
       "properties": {
         "enabled": {
-          "description": "Whether the ABAC authorizer is enabled for this cluster. When enabled,\nidentities in the system, including service accounts, nodes, and\ncontrollers, will have statically granted permissions beyond those\nprovided by the RBAC configuration or IAM.",
+          "description": "Whether the ABAC authorizer is enabled for this cluster. When enabled, identities in the system, including service accounts, nodes, and controllers, will have statically granted permissions beyond those provided by the RBAC configuration or IAM.",
           "type": "boolean"
         }
       },
@@ -3415,14 +3438,14 @@
       "id": "ListClustersResponse",
       "properties": {
         "clusters": {
-          "description": "A list of clusters in the project in the specified zone, or\nacross all ones.",
+          "description": "A list of clusters in the project in the specified zone, or across all ones.",
           "items": {
             "$ref": "Cluster"
           },
           "type": "array"
         },
         "missingZones": {
-          "description": "If any zones are listed here, the list of clusters returned\nmay be missing those zones.",
+          "description": "If any zones are listed here, the list of clusters returned may be missing those zones.",
           "items": {
             "type": "string"
           },
@@ -3450,7 +3473,7 @@
       "id": "ListOperationsResponse",
       "properties": {
         "missingZones": {
-          "description": "If any zones are listed here, the list of operations returned\nmay be missing the operations from those zones.",
+          "description": "If any zones are listed here, the list of operations returned may be missing the operations from those zones.",
           "items": {
             "type": "string"
           },
@@ -3467,11 +3490,11 @@
       "type": "object"
     },
     "ListUsableSubnetworksResponse": {
-      "description": "ListUsableSubnetworksResponse is the response of\nListUsableSubnetworksRequest.",
+      "description": "ListUsableSubnetworksResponse is the response of ListUsableSubnetworksRequest.",
       "id": "ListUsableSubnetworksResponse",
       "properties": {
         "nextPageToken": {
-          "description": "This token allows you to get the next page of results for list requests.\nIf the number of results is larger than `page_size`, use the\n`next_page_token` as a value for the query parameter `page_token` in the\nnext request. The value will become empty when there are no more pages.",
+          "description": "This token allows you to get the next page of results for list requests. If the number of results is larger than `page_size`, use the `next_page_token` as a value for the query parameter `page_token` in the next request. The value will become empty when there are no more pages.",
           "type": "string"
         },
         "subnetworks": {
@@ -3489,7 +3512,7 @@
       "id": "MaintenancePolicy",
       "properties": {
         "resourceVersion": {
-          "description": "A hash identifying the version of this policy, so that updates to fields of\nthe policy won't accidentally undo intermediate changes (and so that users\nof the API unaware of some fields won't accidentally remove other fields).\nMake a `get()` request to the cluster to get the current\nresource version and include it with requests to set the policy.",
+          "description": "A hash identifying the version of this policy, so that updates to fields of the policy won't accidentally undo intermediate changes (and so that users of the API unaware of some fields won't accidentally remove other fields). Make a `get()` request to the cluster to get the current resource version and include it with requests to set the policy.",
           "type": "string"
         },
         "window": {
@@ -3511,53 +3534,53 @@
           "additionalProperties": {
             "$ref": "TimeWindow"
           },
-          "description": "Exceptions to maintenance window. Non-emergency maintenance should not\noccur in these windows.",
+          "description": "Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows.",
           "type": "object"
         },
         "recurringWindow": {
           "$ref": "RecurringTimeWindow",
-          "description": "RecurringWindow specifies some number of recurring time periods for\nmaintenance to occur. The time windows may be overlapping. If no\nmaintenance windows are set, maintenance can occur at any time."
+          "description": "RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time."
         }
       },
       "type": "object"
     },
     "MasterAuth": {
-      "description": "The authentication information for accessing the master endpoint.\nAuthentication can be done using HTTP basic auth or using client\ncertificates.",
+      "description": "The authentication information for accessing the master endpoint. Authentication can be done using HTTP basic auth or using client certificates.",
       "id": "MasterAuth",
       "properties": {
         "clientCertificate": {
-          "description": "[Output only] Base64-encoded public certificate used by clients to\nauthenticate to the cluster endpoint.",
+          "description": "[Output only] Base64-encoded public certificate used by clients to authenticate to the cluster endpoint.",
           "type": "string"
         },
         "clientCertificateConfig": {
           "$ref": "ClientCertificateConfig",
-          "description": "Configuration for client certificate authentication on the cluster. For\nclusters before v1.12, if no configuration is specified, a client\ncertificate is issued."
+          "description": "Configuration for client certificate authentication on the cluster. For clusters before v1.12, if no configuration is specified, a client certificate is issued."
         },
         "clientKey": {
-          "description": "[Output only] Base64-encoded private key used by clients to authenticate\nto the cluster endpoint.",
+          "description": "[Output only] Base64-encoded private key used by clients to authenticate to the cluster endpoint.",
           "type": "string"
         },
         "clusterCaCertificate": {
-          "description": "[Output only] Base64-encoded public certificate that is the root of\ntrust for the cluster.",
+          "description": "[Output only] Base64-encoded public certificate that is the root of trust for the cluster.",
           "type": "string"
         },
         "password": {
-          "description": "The password to use for HTTP basic authentication to the master endpoint.\nBecause the master endpoint is open to the Internet, you should create a\nstrong password.  If a password is provided for cluster creation, username\nmust be non-empty.",
+          "description": "The password to use for HTTP basic authentication to the master endpoint. Because the master endpoint is open to the Internet, you should create a strong password. If a password is provided for cluster creation, username must be non-empty.",
           "type": "string"
         },
         "username": {
-          "description": "The username to use for HTTP basic authentication to the master endpoint.\nFor clusters v1.6.0 and later, basic authentication can be disabled by\nleaving username unspecified (or setting it to the empty string).",
+          "description": "The username to use for HTTP basic authentication to the master endpoint. For clusters v1.6.0 and later, basic authentication can be disabled by leaving username unspecified (or setting it to the empty string).",
           "type": "string"
         }
       },
       "type": "object"
     },
     "MasterAuthorizedNetworksConfig": {
-      "description": "Configuration options for the master authorized networks feature. Enabled\nmaster authorized networks will disallow all external traffic to access\nKubernetes master through HTTPS except traffic from the given CIDR blocks,\nGoogle Compute Engine Public IPs and Google Prod IPs.",
+      "description": "Configuration options for the master authorized networks feature. Enabled master authorized networks will disallow all external traffic to access Kubernetes master through HTTPS except traffic from the given CIDR blocks, Google Compute Engine Public IPs and Google Prod IPs.",
       "id": "MasterAuthorizedNetworksConfig",
       "properties": {
         "cidrBlocks": {
-          "description": "cidr_blocks define up to 50 external networks that could access\nKubernetes master through HTTPS.",
+          "description": "cidr_blocks define up to 50 external networks that could access Kubernetes master through HTTPS.",
           "items": {
             "$ref": "CidrBlock"
           },
@@ -3611,23 +3634,27 @@
       "description": "NetworkConfig reports the relative names of network \u0026 subnetwork.",
       "id": "NetworkConfig",
       "properties": {
+        "defaultSnatStatus": {
+          "$ref": "DefaultSnatStatus",
+          "description": "Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic."
+        },
         "enableIntraNodeVisibility": {
-          "description": "Whether Intra-node visibility is enabled for this cluster.\nThis makes same node pod to pod traffic visible for VPC network.",
+          "description": "Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.",
           "type": "boolean"
         },
         "network": {
-          "description": "Output only. The relative name of the Google Compute Engine\nnetwork(https://cloud.google.com/compute/docs/networks-and-firewalls#networks)\nto which the cluster is connected. Example:\nprojects/my-project/global/networks/my-network",
+          "description": "Output only. The relative name of the Google Compute Engine network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. Example: projects/my-project/global/networks/my-network",
           "type": "string"
         },
         "subnetwork": {
-          "description": "Output only. The relative name of the Google Compute Engine\n[subnetwork](https://cloud.google.com/compute/docs/vpc) to which the\ncluster is connected. Example:\nprojects/my-project/regions/us-central1/subnetworks/my-subnet",
+          "description": "Output only. The relative name of the Google Compute Engine [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the cluster is connected. Example: projects/my-project/regions/us-central1/subnetworks/my-subnet",
           "type": "string"
         }
       },
       "type": "object"
     },
     "NetworkPolicy": {
-      "description": "Configuration options for the NetworkPolicy feature.\nhttps://kubernetes.io/docs/concepts/services-networking/networkpolicies/",
+      "description": "Configuration options for the NetworkPolicy feature. https://kubernetes.io/docs/concepts/services-networking/networkpolicies/",
       "id": "NetworkPolicy",
       "properties": {
         "enabled": {
@@ -3650,7 +3677,7 @@
       "type": "object"
     },
     "NetworkPolicyConfig": {
-      "description": "Configuration for NetworkPolicy. This only tracks whether the addon\nis enabled or not on the Master, it does not track whether network policy\nis enabled for the nodes.",
+      "description": "Configuration for NetworkPolicy. This only tracks whether the addon is enabled or not on the Master, it does not track whether network policy is enabled for the nodes.",
       "id": "NetworkPolicyConfig",
       "properties": {
         "disabled": {
@@ -3665,81 +3692,81 @@
       "id": "NodeConfig",
       "properties": {
         "accelerators": {
-          "description": "A list of hardware accelerators to be attached to each node.\nSee https://cloud.google.com/compute/docs/gpus for more information about\nsupport for GPUs.",
+          "description": "A list of hardware accelerators to be attached to each node. See https://cloud.google.com/compute/docs/gpus for more information about support for GPUs.",
           "items": {
             "$ref": "AcceleratorConfig"
           },
           "type": "array"
         },
         "bootDiskKmsKey": {
-          "description": "\nThe Customer Managed Encryption Key used to encrypt the boot disk attached\nto each node in the node pool. This should be of the form\nprojects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].\nFor more information about protecting resources with Cloud KMS Keys please\nsee:\nhttps://cloud.google.com/compute/docs/disks/customer-managed-encryption",
+          "description": " The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption",
           "type": "string"
         },
         "diskSizeGb": {
-          "description": "Size of the disk attached to each node, specified in GB.\nThe smallest allowed disk size is 10GB.\n\nIf unspecified, the default disk size is 100GB.",
+          "description": "Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB.",
           "format": "int32",
           "type": "integer"
         },
         "diskType": {
-          "description": "Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')\n\nIf unspecified, the default disk type is 'pd-standard'",
+          "description": "Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd') If unspecified, the default disk type is 'pd-standard'",
           "type": "string"
         },
         "imageType": {
-          "description": "The image type to use for this node. Note that for a given image type,\nthe latest version of it will be used.",
+          "description": "The image type to use for this node. Note that for a given image type, the latest version of it will be used.",
           "type": "string"
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The map of Kubernetes labels (key/value pairs) to be applied to each node.\nThese will added in addition to any default label(s) that\nKubernetes may apply to the node.\nIn case of conflict in label keys, the applied set may differ depending on\nthe Kubernetes version -- it's best to assume the behavior is undefined\nand conflicts should be avoided.\nFor more information, including usage and the valid values, see:\nhttps://kubernetes.io/docs/concepts/overview/working-with-objects/labels/",
+          "description": "The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/",
           "type": "object"
         },
         "localSsdCount": {
-          "description": "The number of local SSD disks to be attached to the node.\n\nThe limit for this value is dependent upon the maximum number of\ndisks available on a machine per zone. See:\nhttps://cloud.google.com/compute/docs/disks/local-ssd\nfor more information.",
+          "description": "The number of local SSD disks to be attached to the node. The limit for this value is dependent upon the maximum number of disks available on a machine per zone. See: https://cloud.google.com/compute/docs/disks/local-ssd for more information.",
           "format": "int32",
           "type": "integer"
         },
         "machineType": {
-          "description": "The name of a Google Compute Engine [machine\ntype](https://cloud.google.com/compute/docs/machine-types) (e.g.\n`n1-standard-1`).\n\nIf unspecified, the default machine type is\n`n1-standard-1`.",
+          "description": "The name of a Google Compute Engine [machine type](https://cloud.google.com/compute/docs/machine-types) If unspecified, the default machine type is `e2-medium`.",
           "type": "string"
         },
         "metadata": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The metadata key/value pairs assigned to instances in the cluster.\n\nKeys must conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 bytes\nin length. These are reflected as part of a URL in the metadata server.\nAdditionally, to avoid ambiguity, keys must not conflict with any other\nmetadata keys for the project or be one of the reserved keys:\n - \"cluster-location\"\n - \"cluster-name\"\n - \"cluster-uid\"\n - \"configure-sh\"\n - \"containerd-configure-sh\"\n - \"enable-os-login\"\n - \"gci-ensure-gke-docker\"\n - \"gci-metrics-enabled\"\n - \"gci-update-strategy\"\n - \"instance-template\"\n - \"kube-env\"\n - \"startup-script\"\n - \"user-data\"\n - \"disable-address-manager\"\n - \"windows-startup-script-ps1\"\n - \"common-psm1\"\n - \"k8s-node-setup-psm1\"\n - \"install-ssh-psm1\"\n - \"user-profile-psm1\"\n - \"serial-port-logging-enable\"\n\nValues are free-form strings, and only have meaning as interpreted by\nthe image running in the instance. The only restriction placed on them is\nthat each value's size must be less than or equal to 32 KB.\n\nThe total size of all keys and values must be less than 512 KB.",
+          "description": "The metadata key/value pairs assigned to instances in the cluster. Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 bytes in length. These are reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project or be one of the reserved keys: - \"cluster-location\" - \"cluster-name\" - \"cluster-uid\" - \"configure-sh\" - \"containerd-configure-sh\" - \"enable-os-login\" - \"gci-ensure-gke-docker\" - \"gci-metrics-enabled\" - \"gci-update-strategy\" - \"instance-template\" - \"kube-env\" - \"startup-script\" - \"user-data\" - \"disable-address-manager\" - \"windows-startup-script-ps1\" - \"common-psm1\" - \"k8s-node-setup-psm1\" - \"install-ssh-psm1\" - \"user-profile-psm1\" - \"serial-port-logging-enable\" Values are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on them is that each value's size must be less than or equal to 32 KB. The total size of all keys and values must be less than 512 KB.",
           "type": "object"
         },
         "minCpuPlatform": {
-          "description": "Minimum CPU platform to be used by this instance. The instance may be\nscheduled on the specified or newer CPU platform. Applicable values are the\nfriendly names of CPU platforms, such as\n`minCpuPlatform: \"Intel Haswell\"` or\n`minCpuPlatform: \"Intel Sandy Bridge\"`. For more\ninformation, read [how to specify min CPU\nplatform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)",
+          "description": "Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: \"Intel Haswell\"` or `minCpuPlatform: \"Intel Sandy Bridge\"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)",
           "type": "string"
         },
         "nodeGroup": {
-          "description": "Setting this field will assign instances of this\npool to run on the specified node group. This is useful for running\nworkloads on [sole tenant\nnodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).",
+          "description": "Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).",
           "type": "string"
         },
         "oauthScopes": {
-          "description": "The set of Google API scopes to be made available on all of the\nnode VMs under the \"default\" service account.\n\nThe following scopes are recommended, but not required, and by default are\nnot included:\n\n* `https://www.googleapis.com/auth/compute` is required for mounting\npersistent storage on your nodes.\n* `https://www.googleapis.com/auth/devstorage.read_only` is required for\ncommunicating with **gcr.io**\n(the [Google Container\nRegistry](https://cloud.google.com/container-registry/)).\n\nIf unspecified, no scopes are added, unless Cloud Logging or Cloud\nMonitoring are enabled, in which case their required scopes will be added.",
+          "description": "The set of Google API scopes to be made available on all of the node VMs under the \"default\" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Google Container Registry](https://cloud.google.com/container-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "preemptible": {
-          "description": "Whether the nodes are created as preemptible VM instances. See:\nhttps://cloud.google.com/compute/docs/instances/preemptible for more\ninformation about preemptible VM instances.",
+          "description": "Whether the nodes are created as preemptible VM instances. See: https://cloud.google.com/compute/docs/instances/preemptible for more information about preemptible VM instances.",
           "type": "boolean"
         },
         "reservationAffinity": {
           "$ref": "ReservationAffinity",
-          "description": "The optional reservation affinity. Setting this field will apply\nthe specified [Zonal Compute\nReservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)\nto this node pool."
+          "description": "The optional reservation affinity. Setting this field will apply the specified [Zonal Compute Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) to this node pool."
         },
         "sandboxConfig": {
           "$ref": "SandboxConfig",
           "description": "Sandbox configuration for this node."
         },
         "serviceAccount": {
-          "description": "The Google Cloud Platform Service Account to be used by the node VMs.\nSpecify the email address of the Service Account; otherwise, if no Service\nAccount is specified, the \"default\" service account is used.",
+          "description": "The Google Cloud Platform Service Account to be used by the node VMs. Specify the email address of the Service Account; otherwise, if no Service Account is specified, the \"default\" service account is used.",
           "type": "string"
         },
         "shieldedInstanceConfig": {
@@ -3747,14 +3774,14 @@
           "description": "Shielded Instance options."
         },
         "tags": {
-          "description": "The list of instance tags applied to all nodes. Tags are used to identify\nvalid sources or targets for network firewalls and are specified by\nthe client during cluster or node pool creation. Each tag within the list\nmust comply with RFC1035.",
+          "description": "The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during cluster or node pool creation. Each tag within the list must comply with RFC1035.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "taints": {
-          "description": "List of kubernetes taints to be applied to each node.\n\nFor more information, including usage and the valid values, see:\nhttps://kubernetes.io/docs/concepts/configuration/taint-and-toleration/",
+          "description": "List of kubernetes taints to be applied to each node. For more information, including usage and the valid values, see: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/",
           "items": {
             "$ref": "NodeTaint"
           },
@@ -3768,15 +3795,15 @@
       "type": "object"
     },
     "NodeManagement": {
-      "description": "NodeManagement defines the set of node management services turned on for the\nnode pool.",
+      "description": "NodeManagement defines the set of node management services turned on for the node pool.",
       "id": "NodeManagement",
       "properties": {
         "autoRepair": {
-          "description": "A flag that specifies whether the node auto-repair is enabled for the node\npool. If enabled, the nodes in this node pool will be monitored and, if\nthey fail health checks too many times, an automatic repair action will be\ntriggered.",
+          "description": "A flag that specifies whether the node auto-repair is enabled for the node pool. If enabled, the nodes in this node pool will be monitored and, if they fail health checks too many times, an automatic repair action will be triggered.",
           "type": "boolean"
         },
         "autoUpgrade": {
-          "description": "A flag that specifies whether node auto-upgrade is enabled for the node\npool. If enabled, node auto-upgrade helps keep the nodes in your node pool\nup to date with the latest release version of Kubernetes.",
+          "description": "A flag that specifies whether node auto-upgrade is enabled for the node pool. If enabled, node auto-upgrade helps keep the nodes in your node pool up to date with the latest release version of Kubernetes.",
           "type": "boolean"
         },
         "upgradeOptions": {
@@ -3787,12 +3814,12 @@
       "type": "object"
     },
     "NodePool": {
-      "description": "NodePool contains the name and configuration for a cluster's node pool.\nNode pools are a set of nodes (i.e. VM's), with a common configuration and\nspecification, under the control of the cluster master. They may have a set\nof Kubernetes labels applied to them, which may be used to reference them\nduring pod scheduling. They may also be resized up or down, to accommodate\nthe workload.",
+      "description": "NodePool contains the name and configuration for a cluster's node pool. Node pools are a set of nodes (i.e. VM's), with a common configuration and specification, under the control of the cluster master. They may have a set of Kubernetes labels applied to them, which may be used to reference them during pod scheduling. They may also be resized up or down, to accommodate the workload.",
       "id": "NodePool",
       "properties": {
         "autoscaling": {
           "$ref": "NodePoolAutoscaling",
-          "description": "Autoscaler configuration for this NodePool. Autoscaler is enabled\nonly if a valid configuration is present."
+          "description": "Autoscaler configuration for this NodePool. Autoscaler is enabled only if a valid configuration is present."
         },
         "conditions": {
           "description": "Which conditions caused the current node pool state.",
@@ -3806,19 +3833,19 @@
           "description": "The node configuration of the pool."
         },
         "initialNodeCount": {
-          "description": "The initial node count for the pool. You must ensure that your\nCompute Engine [resource quota](https://cloud.google.com/compute/quotas)\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.",
+          "description": "The initial node count for the pool. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota.",
           "format": "int32",
           "type": "integer"
         },
         "instanceGroupUrls": {
-          "description": "[Output only] The resource URLs of the [managed instance\ngroups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)\nassociated with this node pool.",
+          "description": "[Output only] The resource URLs of the [managed instance groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances) associated with this node pool.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "locations": {
-          "description": "The list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\nNodePool's nodes should be located.",
+          "description": "The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located.",
           "items": {
             "type": "string"
           },
@@ -3830,7 +3857,7 @@
         },
         "maxPodsConstraint": {
           "$ref": "MaxPodsConstraint",
-          "description": "The constraint on the maximum number of pods that can be run\nsimultaneously on a node in the node pool."
+          "description": "The constraint on the maximum number of pods that can be run simultaneously on a node in the node pool."
         },
         "name": {
           "description": "The name of the node pool.",
@@ -3859,16 +3886,16 @@
           "enumDescriptions": [
             "Not set.",
             "The PROVISIONING state indicates the node pool is being created.",
-            "The RUNNING state indicates the node pool has been created\nand is fully usable.",
-            "The RUNNING_WITH_ERROR state indicates the node pool has been created\nand is partially usable. Some error state has occurred and some\nfunctionality may be impaired. Customer may need to reissue a request\nor trigger a new update.",
-            "The RECONCILING state indicates that some work is actively being done on\nthe node pool, such as upgrading node software. Details can\nbe found in the `statusMessage` field.",
+            "The RUNNING state indicates the node pool has been created and is fully usable.",
+            "The RUNNING_WITH_ERROR state indicates the node pool has been created and is partially usable. Some error state has occurred and some functionality may be impaired. Customer may need to reissue a request or trigger a new update.",
+            "The RECONCILING state indicates that some work is actively being done on the node pool, such as upgrading node software. Details can be found in the `statusMessage` field.",
             "The STOPPING state indicates the node pool is being deleted.",
-            "The ERROR state indicates the node pool may be unusable. Details\ncan be found in the `statusMessage` field."
+            "The ERROR state indicates the node pool may be unusable. Details can be found in the `statusMessage` field."
           ],
           "type": "string"
         },
         "statusMessage": {
-          "description": "[Output only] Additional information about the current status of this\nnode pool instance, if available.",
+          "description": "[Output only] Additional information about the current status of this node pool instance, if available.",
           "type": "string"
         },
         "upgradeSettings": {
@@ -3883,7 +3910,7 @@
       "type": "object"
     },
     "NodePoolAutoscaling": {
-      "description": "NodePoolAutoscaling contains information required by cluster autoscaler to\nadjust the size of the node pool to the current cluster usage.",
+      "description": "NodePoolAutoscaling contains information required by cluster autoscaler to adjust the size of the node pool to the current cluster usage.",
       "id": "NodePoolAutoscaling",
       "properties": {
         "autoprovisioned": {
@@ -3895,12 +3922,12 @@
           "type": "boolean"
         },
         "maxNodeCount": {
-          "description": "Maximum number of nodes in the NodePool. Must be \u003e= min_node_count. There\nhas to enough quota to scale up the cluster.",
+          "description": "Maximum number of nodes in the NodePool. Must be \u003e= min_node_count. There has to enough quota to scale up the cluster.",
           "format": "int32",
           "type": "integer"
         },
         "minNodeCount": {
-          "description": "Minimum number of nodes in the NodePool. Must be \u003e= 1 and \u003c=\nmax_node_count.",
+          "description": "Minimum number of nodes in the NodePool. Must be \u003e= 1 and \u003c= max_node_count.",
           "format": "int32",
           "type": "integer"
         }
@@ -3908,7 +3935,7 @@
       "type": "object"
     },
     "NodeTaint": {
-      "description": "Kubernetes taint is comprised of three fields: key, value, and effect. Effect\ncan only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.\n\nSee\n[here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)\nfor more information, including usage and the valid values.",
+      "description": "Kubernetes taint is comprised of three fields: key, value, and effect. Effect can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute. See [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration) for more information, including usage and the valid values.",
       "id": "NodeTaint",
       "properties": {
         "effect": {
@@ -3939,7 +3966,7 @@
       "type": "object"
     },
     "Operation": {
-      "description": "This operation resource represents operations that may have happened or are\nhappening on the cluster. All fields are output only.",
+      "description": "This operation resource represents operations that may have happened or are happening on the cluster. All fields are output only.",
       "id": "Operation",
       "properties": {
         "clusterConditions": {
@@ -3954,11 +3981,11 @@
           "type": "string"
         },
         "endTime": {
-          "description": "[Output only] The time the operation completed, in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
+          "description": "[Output only] The time the operation completed, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
           "type": "string"
         },
         "location": {
-          "description": "[Output only] The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)\nor\n[region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)\nin which the cluster resides.",
+          "description": "[Output only] The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) or [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which the cluster resides.",
           "type": "string"
         },
         "name": {
@@ -4016,14 +4043,15 @@
         },
         "progress": {
           "$ref": "OperationProgress",
-          "description": "Output only. [Output only] Progress information for an operation."
+          "description": "Output only. [Output only] Progress information for an operation.",
+          "readOnly": true
         },
         "selfLink": {
           "description": "Server-defined URL for the resource.",
           "type": "string"
         },
         "startTime": {
-          "description": "[Output only] The time the operation started, in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
+          "description": "[Output only] The time the operation started, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
           "type": "string"
         },
         "status": {
@@ -4046,6 +4074,7 @@
         },
         "statusMessage": {
           "description": "Output only. If an error has occurred, a textual description of the error.",
+          "readOnly": true,
           "type": "string"
         },
         "targetLink": {
@@ -4053,7 +4082,7 @@
           "type": "string"
         },
         "zone": {
-          "description": "The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\noperation is taking place. This field is deprecated, use location instead.",
+          "description": "The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the operation is taking place. This field is deprecated, use location instead.",
           "type": "string"
         }
       },
@@ -4064,14 +4093,14 @@
       "id": "OperationProgress",
       "properties": {
         "metrics": {
-          "description": "Progress metric bundle, for example:\n  metrics: [{name: \"nodes done\",     int_value: 15},\n            {name: \"nodes total\",    int_value: 32}]\nor\n  metrics: [{name: \"progress\",       double_value: 0.56},\n            {name: \"progress scale\", double_value: 1.0}]",
+          "description": "Progress metric bundle, for example: metrics: [{name: \"nodes done\", int_value: 15}, {name: \"nodes total\", int_value: 32}] or metrics: [{name: \"progress\", double_value: 0.56}, {name: \"progress scale\", double_value: 1.0}]",
           "items": {
             "$ref": "Metric"
           },
           "type": "array"
         },
         "name": {
-          "description": "A non-parameterized string describing an operation stage.\nUnset for single-stage operations.",
+          "description": "A non-parameterized string describing an operation stage. Unset for single-stage operations.",
           "type": "string"
         },
         "stages": {
@@ -4082,7 +4111,7 @@
           "type": "array"
         },
         "status": {
-          "description": "Status of an operation stage.\nUnset for single-stage operations.",
+          "description": "Status of an operation stage. Unset for single-stage operations.",
           "enum": [
             "STATUS_UNSPECIFIED",
             "PENDING",
@@ -4111,11 +4140,15 @@
           "type": "boolean"
         },
         "enablePrivateNodes": {
-          "description": "Whether nodes have internal IP addresses only. If enabled, all nodes are\ngiven only RFC 1918 private addresses and communicate with the master via\nprivate networking.",
+          "description": "Whether nodes have internal IP addresses only. If enabled, all nodes are given only RFC 1918 private addresses and communicate with the master via private networking.",
           "type": "boolean"
         },
+        "masterGlobalAccessConfig": {
+          "$ref": "PrivateClusterMasterGlobalAccessConfig",
+          "description": "Controls master global access settings."
+        },
         "masterIpv4CidrBlock": {
-          "description": "The IP range in CIDR notation to use for the hosted master network. This\nrange will be used for assigning internal IP addresses to the master or\nset of masters, as well as the ILB VIP. This range must not overlap with\nany other ranges in use within the cluster's network.",
+          "description": "The IP range in CIDR notation to use for the hosted master network. This range will be used for assigning internal IP addresses to the master or set of masters, as well as the ILB VIP. This range must not overlap with any other ranges in use within the cluster's network.",
           "type": "string"
         },
         "peeringName": {
@@ -4133,12 +4166,23 @@
       },
       "type": "object"
     },
+    "PrivateClusterMasterGlobalAccessConfig": {
+      "description": "Configuration for controlling master global access settings.",
+      "id": "PrivateClusterMasterGlobalAccessConfig",
+      "properties": {
+        "enabled": {
+          "description": "Whenever master is accessible globally or not.",
+          "type": "boolean"
+        }
+      },
+      "type": "object"
+    },
     "RecurringTimeWindow": {
       "description": "Represents an arbitrary window of time that recurs.",
       "id": "RecurringTimeWindow",
       "properties": {
         "recurrence": {
-          "description": "An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how\nthis window reccurs. They go on for the span of time between the start and\nend time.\n\nFor example, to have something repeat every weekday, you'd use:\n`FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR`\n\nTo repeat some window daily (equivalent to the DailyMaintenanceWindow):\n`FREQ=DAILY`\n\nFor the first weekend of every month:\n`FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU`\n\nThis specifies how frequently the window starts. Eg, if you wanted to have\na 9-5 UTC-4 window every weekday, you'd use something like:\n```\nstart time = 2019-01-01T09:00:00-0400\nend time = 2019-01-01T17:00:00-0400\nrecurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR\n```\n\nWindows can span multiple days. Eg, to make the window encompass every\nweekend from midnight Saturday till the last minute of Sunday UTC:\n```\nstart time = 2019-01-05T00:00:00Z\nend time = 2019-01-07T23:59:00Z\nrecurrence = FREQ=WEEKLY;BYDAY=SA\n```\n\nNote the start and end time's specific dates are largely arbitrary except\nto specify duration of the window and when it first starts.\nThe FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.",
+          "description": "An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how this window reccurs. They go on for the span of time between the start and end time. For example, to have something repeat every weekday, you'd use: `FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR` To repeat some window daily (equivalent to the DailyMaintenanceWindow): `FREQ=DAILY` For the first weekend of every month: `FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU` This specifies how frequently the window starts. Eg, if you wanted to have a 9-5 UTC-4 window every weekday, you'd use something like: ``` start time = 2019-01-01T09:00:00-0400 end time = 2019-01-01T17:00:00-0400 recurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR ``` Windows can span multiple days. Eg, to make the window encompass every weekend from midnight Saturday till the last minute of Sunday UTC: ``` start time = 2019-01-05T00:00:00Z end time = 2019-01-07T23:59:00Z recurrence = FREQ=WEEKLY;BYDAY=SA ``` Note the start and end time's specific dates are largely arbitrary except to specify duration of the window and when it first starts. The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.",
           "type": "string"
         },
         "window": {
@@ -4149,7 +4193,7 @@
       "type": "object"
     },
     "ReleaseChannel": {
-      "description": "ReleaseChannel indicates which release channel a cluster is\nsubscribed to. Release channels are arranged in order of risk.\n\nWhen a cluster is subscribed to a release channel, Google maintains\nboth the master version and the node version. Node auto-upgrade\ndefaults to true and cannot be disabled.",
+      "description": "ReleaseChannel indicates which release channel a cluster is subscribed to. Release channels are arranged in order of risk. When a cluster is subscribed to a release channel, Google maintains both the master version and the node version. Node auto-upgrade defaults to true and cannot be disabled.",
       "id": "ReleaseChannel",
       "properties": {
         "channel": {
@@ -4162,9 +4206,9 @@
           ],
           "enumDescriptions": [
             "No channel specified.",
-            "RAPID channel is offered on an early access basis for customers who want\nto test new releases.\n\nWARNING: Versions available in the RAPID Channel may be subject to\nunresolved issues with no known workaround and are not subject to any\nSLAs.",
-            "Clusters subscribed to REGULAR receive versions that are considered GA\nquality. REGULAR is intended for production users who want to take\nadvantage of new features.",
-            "Clusters subscribed to STABLE receive versions that are known to be\nstable and reliable in production."
+            "RAPID channel is offered on an early access basis for customers who want to test new releases. WARNING: Versions available in the RAPID Channel may be subject to unresolved issues with no known workaround and are not subject to any SLAs.",
+            "Clusters subscribed to REGULAR receive versions that are considered GA quality. REGULAR is intended for production users who want to take advantage of new features.",
+            "Clusters subscribed to STABLE receive versions that are known to be stable and reliable in production."
           ],
           "type": "string"
         }
@@ -4185,9 +4229,9 @@
           ],
           "enumDescriptions": [
             "No channel specified.",
-            "RAPID channel is offered on an early access basis for customers who want\nto test new releases.\n\nWARNING: Versions available in the RAPID Channel may be subject to\nunresolved issues with no known workaround and are not subject to any\nSLAs.",
-            "Clusters subscribed to REGULAR receive versions that are considered GA\nquality. REGULAR is intended for production users who want to take\nadvantage of new features.",
-            "Clusters subscribed to STABLE receive versions that are known to be\nstable and reliable in production."
+            "RAPID channel is offered on an early access basis for customers who want to test new releases. WARNING: Versions available in the RAPID Channel may be subject to unresolved issues with no known workaround and are not subject to any SLAs.",
+            "Clusters subscribed to REGULAR receive versions that are considered GA quality. REGULAR is intended for production users who want to take advantage of new features.",
+            "Clusters subscribed to STABLE receive versions that are known to be stable and reliable in production."
           ],
           "type": "string"
         },
@@ -4206,7 +4250,7 @@
       "type": "object"
     },
     "ReservationAffinity": {
-      "description": "[ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)\nis the configuration of desired reservation which instances could take\ncapacity from.",
+      "description": "[ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) is the configuration of desired reservation which instances could take capacity from.",
       "id": "ReservationAffinity",
       "properties": {
         "consumeReservationType": {
@@ -4221,12 +4265,12 @@
             "Default value. This should not be used.",
             "Do not consume from any reserved capacity.",
             "Consume any reservation available.",
-            "Must consume from a specific reservation. Must specify key value fields\nfor specifying the reservations."
+            "Must consume from a specific reservation. Must specify key value fields for specifying the reservations."
           ],
           "type": "string"
         },
         "key": {
-          "description": "Corresponds to the label key of a reservation resource. To target a\nSPECIFIC_RESERVATION by name, specify \"googleapis.com/reservation-name\" as\nthe key and specify the name of your reservation as its value.",
+          "description": "Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify \"googleapis.com/reservation-name\" as the key and specify the name of your reservation as its value.",
           "type": "string"
         },
         "values": {
@@ -4240,7 +4284,7 @@
       "type": "object"
     },
     "ResourceLimit": {
-      "description": "Contains information about amount of some resource in the cluster.\nFor memory, value should be in GB.",
+      "description": "Contains information about amount of some resource in the cluster. For memory, value should be in GB.",
       "id": "ResourceLimit",
       "properties": {
         "maximum": {
@@ -4273,34 +4317,34 @@
           "description": "Configuration to enable resource consumption metering."
         },
         "enableNetworkEgressMetering": {
-          "description": "Whether to enable network egress metering for this cluster. If enabled, a\ndaemonset will be created in the cluster to meter network egress traffic.",
+          "description": "Whether to enable network egress metering for this cluster. If enabled, a daemonset will be created in the cluster to meter network egress traffic.",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "RollbackNodePoolUpgradeRequest": {
-      "description": "RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed\nNodePool upgrade. This will be an no-op if the last upgrade successfully\ncompleted.",
+      "description": "RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed NodePool upgrade. This will be an no-op if the last upgrade successfully completed.",
       "id": "RollbackNodePoolUpgradeRequest",
       "properties": {
         "clusterId": {
-          "description": "Deprecated. The name of the cluster to rollback.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The name of the cluster to rollback. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster, node pool id) of the node poll to\nrollback upgrade.\nSpecified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
+          "description": "The name (project, location, cluster, node pool id) of the node poll to rollback upgrade. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
           "type": "string"
         },
         "nodePoolId": {
-          "description": "Deprecated. The name of the node pool to rollback.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The name of the node pool to rollback. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "projectId": {
-          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -4374,45 +4418,45 @@
       "properties": {
         "addonsConfig": {
           "$ref": "AddonsConfig",
-          "description": "Required. The desired configurations for the various addons available to run in the\ncluster."
+          "description": "Required. The desired configurations for the various addons available to run in the cluster."
         },
         "clusterId": {
-          "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster) of the cluster to set addons.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster) of the cluster to set addons. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "SetLabelsRequest": {
-      "description": "SetLabelsRequest sets the Google Cloud Platform labels on a Google Container\nEngine cluster, which will in turn set them for Google Compute Engine\nresources used by that cluster",
+      "description": "SetLabelsRequest sets the Google Cloud Platform labels on a Google Container Engine cluster, which will in turn set them for Google Compute Engine resources used by that cluster",
       "id": "SetLabelsRequest",
       "properties": {
         "clusterId": {
-          "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "labelFingerprint": {
-          "description": "Required. The fingerprint of the previous set of labels for this resource,\nused to detect conflicts. The fingerprint is initially generated by\nKubernetes Engine and changes after every request to modify or update\nlabels. You must always provide an up-to-date fingerprint hash when\nupdating or changing labels. Make a `get()` request to the\nresource to get the latest fingerprint.",
+          "description": "Required. The fingerprint of the previous set of labels for this resource, used to detect conflicts. The fingerprint is initially generated by Kubernetes Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash when updating or changing labels. Make a `get()` request to the resource to get the latest fingerprint.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster id) of the cluster to set labels.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster id) of the cluster to set labels. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "resourceLabels": {
@@ -4423,18 +4467,18 @@
           "type": "object"
         },
         "zone": {
-          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "SetLegacyAbacRequest": {
-      "description": "SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for\na cluster.",
+      "description": "SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for a cluster.",
       "id": "SetLegacyAbacRequest",
       "properties": {
         "clusterId": {
-          "description": "Deprecated. The name of the cluster to update.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "enabled": {
@@ -4442,15 +4486,15 @@
           "type": "boolean"
         },
         "name": {
-          "description": "The name (project, location, cluster id) of the cluster to set legacy abac.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster id) of the cluster to set legacy abac. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -4461,26 +4505,26 @@
       "id": "SetLocationsRequest",
       "properties": {
         "clusterId": {
-          "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "locations": {
-          "description": "Required. The desired list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster's nodes should be located. Changing the locations a cluster is in\nwill result in nodes being either created or removed from the cluster,\ndepending on whether locations are being added or removed.\n\nThis list must always include the cluster's primary zone.",
+          "description": "Required. The desired list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the cluster's nodes should be located. Changing the locations a cluster is in will result in nodes being either created or removed from the cluster, depending on whether locations are being added or removed. This list must always include the cluster's primary zone.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "name": {
-          "description": "The name (project, location, cluster) of the cluster to set locations.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster) of the cluster to set locations. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -4491,23 +4535,23 @@
       "id": "SetLoggingServiceRequest",
       "properties": {
         "clusterId": {
-          "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "loggingService": {
-          "description": "Required. The logging service the cluster should use to write logs.\nCurrently available options:\n\n* `logging.googleapis.com/kubernetes` - The Cloud Logging\nservice with a Kubernetes-native resource model\n* `logging.googleapis.com` - The legacy Cloud Logging service (no longer\n  available as of GKE 1.15).\n* `none` - no logs will be exported from the cluster.\n\nIf left as an empty string,`logging.googleapis.com/kubernetes` will be\nused for GKE 1.14+ or `logging.googleapis.com` for earlier versions.",
+          "description": "Required. The logging service the cluster should use to write logs. Currently available options: * `logging.googleapis.com/kubernetes` - The Cloud Logging service with a Kubernetes-native resource model * `logging.googleapis.com` - The legacy Cloud Logging service (no longer available as of GKE 1.15). * `none` - no logs will be exported from the cluster. If left as an empty string,`logging.googleapis.com/kubernetes` will be used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster) of the cluster to set logging.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster) of the cluster to set logging. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -4523,18 +4567,18 @@
         },
         "maintenancePolicy": {
           "$ref": "MaintenancePolicy",
-          "description": "Required. The maintenance policy to be set for the cluster. An empty field\nclears the existing maintenance policy."
+          "description": "Required. The maintenance policy to be set for the cluster. An empty field clears the existing maintenance policy."
         },
         "name": {
-          "description": "The name (project, location, cluster id) of the cluster to set maintenance\npolicy.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster id) of the cluster to set maintenance policy. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Required. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).",
+          "description": "Required. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840).",
           "type": "string"
         },
         "zone": {
-          "description": "Required. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides.",
+          "description": "Required. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides.",
           "type": "string"
         }
       },
@@ -4556,20 +4600,20 @@
             "Operation is unknown and will error out.",
             "Set the password to a user generated value.",
             "Generate a new password and set it to that.",
-            "Set the username.  If an empty username is provided, basic authentication\nis disabled for the cluster.  If a non-empty username is provided, basic\nauthentication is enabled, with either a provided password or a generated\none."
+            "Set the username. If an empty username is provided, basic authentication is disabled for the cluster. If a non-empty username is provided, basic authentication is enabled, with either a provided password or a generated one."
           ],
           "type": "string"
         },
         "clusterId": {
-          "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster) of the cluster to set auth.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster) of the cluster to set auth. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "update": {
@@ -4577,7 +4621,7 @@
           "description": "Required. A description of the update."
         },
         "zone": {
-          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -4588,23 +4632,23 @@
       "id": "SetMonitoringServiceRequest",
       "properties": {
         "clusterId": {
-          "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "monitoringService": {
-          "description": "Required. The monitoring service the cluster should use to write metrics.\nCurrently available options:\n\n* \"monitoring.googleapis.com/kubernetes\" - The Cloud Monitoring\nservice with a Kubernetes-native resource model\n* `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no\n  longer available as of GKE 1.15).\n* `none` - No metrics will be exported from the cluster.\n\nIf left as an empty string,`monitoring.googleapis.com/kubernetes` will be\nused for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.",
+          "description": "Required. The monitoring service the cluster should use to write metrics. Currently available options: * \"monitoring.googleapis.com/kubernetes\" - The Cloud Monitoring service with a Kubernetes-native resource model * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no longer available as of GKE 1.15). * `none` - No metrics will be exported from the cluster. If left as an empty string,`monitoring.googleapis.com/kubernetes` will be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster) of the cluster to set monitoring.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster) of the cluster to set monitoring. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -4615,11 +4659,11 @@
       "id": "SetNetworkPolicyRequest",
       "properties": {
         "clusterId": {
-          "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster id) of the cluster to set networking\npolicy. Specified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster id) of the cluster to set networking policy. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "networkPolicy": {
@@ -4627,11 +4671,11 @@
           "description": "Required. Configuration options for the NetworkPolicy feature."
         },
         "projectId": {
-          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -4646,34 +4690,34 @@
           "description": "Required. Autoscaling configuration for the node pool."
         },
         "clusterId": {
-          "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster, node pool) of the node pool to set\nautoscaler settings. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+          "description": "The name (project, location, cluster, node pool) of the node pool to set autoscaler settings. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
           "type": "string"
         },
         "nodePoolId": {
-          "description": "Deprecated. The name of the node pool to upgrade.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "projectId": {
-          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "SetNodePoolManagementRequest": {
-      "description": "SetNodePoolManagementRequest sets the node management properties of a node\npool.",
+      "description": "SetNodePoolManagementRequest sets the node management properties of a node pool.",
       "id": "SetNodePoolManagementRequest",
       "properties": {
         "clusterId": {
-          "description": "Deprecated. The name of the cluster to update.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "management": {
@@ -4681,34 +4725,34 @@
           "description": "Required. NodeManagement configuration for the node pool."
         },
         "name": {
-          "description": "The name (project, location, cluster, node pool id) of the node pool to set\nmanagement properties. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+          "description": "The name (project, location, cluster, node pool id) of the node pool to set management properties. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
           "type": "string"
         },
         "nodePoolId": {
-          "description": "Deprecated. The name of the node pool to update.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "projectId": {
-          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "SetNodePoolSizeRequest": {
-      "description": "SetNodePoolSizeRequest sets the size a node\npool.",
+      "description": "SetNodePoolSizeRequest sets the size a node pool.",
       "id": "SetNodePoolSizeRequest",
       "properties": {
         "clusterId": {
-          "description": "Deprecated. The name of the cluster to update.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster, node pool id) of the node pool to set\nsize.\nSpecified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
+          "description": "The name (project, location, cluster, node pool id) of the node pool to set size. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
           "type": "string"
         },
         "nodeCount": {
@@ -4717,15 +4761,15 @@
           "type": "integer"
         },
         "nodePoolId": {
-          "description": "Deprecated. The name of the node pool to update.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "projectId": {
-          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -4736,11 +4780,11 @@
       "id": "ShieldedInstanceConfig",
       "properties": {
         "enableIntegrityMonitoring": {
-          "description": "Defines whether the instance has integrity monitoring enabled.\n\nEnables monitoring and attestation of the boot integrity of the instance.\nThe attestation is performed against the integrity policy baseline. This\nbaseline is initially derived from the implicitly trusted boot image when\nthe instance is created.",
+          "description": "Defines whether the instance has integrity monitoring enabled. Enables monitoring and attestation of the boot integrity of the instance. The attestation is performed against the integrity policy baseline. This baseline is initially derived from the implicitly trusted boot image when the instance is created.",
           "type": "boolean"
         },
         "enableSecureBoot": {
-          "description": "Defines whether the instance has Secure Boot enabled.\n\nSecure Boot helps ensure that the system only runs authentic software by\nverifying the digital signature of all boot components, and halting the\nboot process if signature verification fails.",
+          "description": "Defines whether the instance has Secure Boot enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails.",
           "type": "boolean"
         }
       },
@@ -4758,19 +4802,19 @@
       "type": "object"
     },
     "StartIPRotationRequest": {
-      "description": "StartIPRotationRequest creates a new IP for the cluster and then performs\na node upgrade on each node pool to point to the new IP.",
+      "description": "StartIPRotationRequest creates a new IP for the cluster and then performs a node upgrade on each node pool to point to the new IP.",
       "id": "StartIPRotationRequest",
       "properties": {
         "clusterId": {
-          "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster id) of the cluster to start IP\nrotation. Specified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster id) of the cluster to start IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "rotateCredentials": {
@@ -4778,14 +4822,14 @@
           "type": "boolean"
         },
         "zone": {
-          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "StatusCondition": {
-      "description": "StatusCondition describes why a cluster or a node pool has a certain status\n(e.g., ERROR or DEGRADED).",
+      "description": "StatusCondition describes why a cluster or a node pool has a certain status (e.g., ERROR or DEGRADED).",
       "id": "StatusCondition",
       "properties": {
         "code": {
@@ -4800,11 +4844,11 @@
           ],
           "enumDescriptions": [
             "UNKNOWN indicates a generic condition.",
-            "GCE_STOCKOUT indicates that Google Compute Engine resources are\ntemporarily unavailable.",
-            "GKE_SERVICE_ACCOUNT_DELETED indicates that the user deleted their robot\nservice account.",
+            "GCE_STOCKOUT indicates that Google Compute Engine resources are temporarily unavailable.",
+            "GKE_SERVICE_ACCOUNT_DELETED indicates that the user deleted their robot service account.",
             "Google Compute Engine quota was exceeded.",
             "Cluster state was manually changed by an SRE due to a system logic error.",
-            "Unable to perform an encrypt operation against the CloudKMS key used for\netcd level encryption.\nMore codes TBA"
+            "Unable to perform an encrypt operation against the CloudKMS key used for etcd level encryption. More codes TBA"
           ],
           "type": "string"
         },
@@ -4820,7 +4864,7 @@
       "id": "TimeWindow",
       "properties": {
         "endTime": {
-          "description": "The time that the window ends. The end time should take place after the\nstart time.",
+          "description": "The time that the window ends. The end time should take place after the start time.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -4837,15 +4881,15 @@
       "id": "UpdateClusterRequest",
       "properties": {
         "clusterId": {
-          "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster) of the cluster to update. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "update": {
@@ -4853,7 +4897,7 @@
           "description": "Required. A description of the update."
         },
         "zone": {
-          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -4864,23 +4908,23 @@
       "id": "UpdateMasterRequest",
       "properties": {
         "clusterId": {
-          "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "masterVersion": {
-          "description": "Required. The Kubernetes version to change the master to.\n\nUsers may specify either explicit versions offered by Kubernetes Engine or\nversion aliases, which have the following behavior:\n\n- \"latest\": picks the highest valid Kubernetes version\n- \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version\n- \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version\n- \"1.X.Y-gke.N\": picks an explicit Kubernetes version\n- \"-\": picks the default Kubernetes version",
+          "description": "Required. The Kubernetes version to change the master to. Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - \"latest\": picks the highest valid Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes version - \"-\": picks the default Kubernetes version",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster) of the cluster to update. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -4891,7 +4935,7 @@
       "id": "UpdateNodePoolRequest",
       "properties": {
         "clusterId": {
-          "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "imageType": {
@@ -4899,26 +4943,26 @@
           "type": "string"
         },
         "locations": {
-          "description": "The desired list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\nnode pool's nodes should be located. Changing the locations for a node pool\nwill result in nodes being either created or removed from the node pool,\ndepending on whether locations are being added or removed.",
+          "description": "The desired list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the node pool's nodes should be located. Changing the locations for a node pool will result in nodes being either created or removed from the node pool, depending on whether locations are being added or removed.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "name": {
-          "description": "The name (project, location, cluster, node pool) of the node pool to\nupdate. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+          "description": "The name (project, location, cluster, node pool) of the node pool to update. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
           "type": "string"
         },
         "nodePoolId": {
-          "description": "Deprecated. The name of the node pool to upgrade.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "nodeVersion": {
-          "description": "Required. The Kubernetes version to change the nodes to (typically an\nupgrade).\n\nUsers may specify either explicit versions offered by Kubernetes Engine or\nversion aliases, which have the following behavior:\n\n- \"latest\": picks the highest valid Kubernetes version\n- \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version\n- \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version\n- \"1.X.Y-gke.N\": picks an explicit Kubernetes version\n- \"-\": picks the Kubernetes master version",
+          "description": "Required. The Kubernetes version to change the nodes to (typically an upgrade). Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - \"latest\": picks the highest valid Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes version - \"-\": picks the Kubernetes master version",
           "type": "string"
         },
         "projectId": {
-          "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "upgradeSettings": {
@@ -4930,23 +4974,65 @@
           "description": "The desired workload metadata config for the node pool."
         },
         "zone": {
-          "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "UpgradeEvent": {
+      "description": "UpgradeEvent is a notification sent to customers by the cluster server when a resource is upgrading.",
+      "id": "UpgradeEvent",
+      "properties": {
+        "currentVersion": {
+          "description": "Required. The current version before the upgrade.",
+          "type": "string"
+        },
+        "operation": {
+          "description": "Required. The operation associated with this upgrade.",
+          "type": "string"
+        },
+        "operationStartTime": {
+          "description": "Required. The time when the operation was started.",
+          "format": "google-datetime",
+          "type": "string"
+        },
+        "resource": {
+          "description": "Optional. Optional relative path to the resource. For example in node pool upgrades, the relative path of the node pool.",
+          "type": "string"
+        },
+        "resourceType": {
+          "description": "Required. The resource type that is upgrading.",
+          "enum": [
+            "UPGRADE_RESOURCE_TYPE_UNSPECIFIED",
+            "MASTER",
+            "NODE_POOL"
+          ],
+          "enumDescriptions": [
+            "Default value. This shouldn't be used.",
+            "Master / control plane",
+            "Node pool"
+          ],
+          "type": "string"
+        },
+        "targetVersion": {
+          "description": "Required. The target version for the upgrade.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "UpgradeSettings": {
-      "description": "These upgrade settings control the level of parallelism and the level of\ndisruption caused by an upgrade.\n\nmaxUnavailable controls the number of nodes that can be simultaneously\nunavailable.\n\nmaxSurge controls the number of additional nodes that can be added to the\nnode pool temporarily for the time of the upgrade to increase the number of\navailable nodes.\n\n(maxUnavailable + maxSurge) determines the level of parallelism (how many\nnodes are being upgraded at the same time).\n\nNote: upgrades inevitably introduce some disruption since workloads need to\nbe moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,\nthis holds true. (Disruption stays within the limits of\nPodDisruptionBudget, if it is configured.)\n\nConsider a hypothetical node pool with 5 nodes having maxSurge=2,\nmaxUnavailable=1. This means the upgrade process upgrades 3 nodes\nsimultaneously. It creates 2 additional (upgraded) nodes, then it brings\ndown 3 old (not yet upgraded) nodes at the same time. This ensures that\nthere are always at least 4 nodes available.",
+      "description": "These upgrade settings control the level of parallelism and the level of disruption caused by an upgrade. maxUnavailable controls the number of nodes that can be simultaneously unavailable. maxSurge controls the number of additional nodes that can be added to the node pool temporarily for the time of the upgrade to increase the number of available nodes. (maxUnavailable + maxSurge) determines the level of parallelism (how many nodes are being upgraded at the same time). Note: upgrades inevitably introduce some disruption since workloads need to be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0, this holds true. (Disruption stays within the limits of PodDisruptionBudget, if it is configured.) Consider a hypothetical node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This means the upgrade process upgrades 3 nodes simultaneously. It creates 2 additional (upgraded) nodes, then it brings down 3 old (not yet upgraded) nodes at the same time. This ensures that there are always at least 4 nodes available.",
       "id": "UpgradeSettings",
       "properties": {
         "maxSurge": {
-          "description": "The maximum number of nodes that can be created beyond the current size\nof the node pool during the upgrade process.",
+          "description": "The maximum number of nodes that can be created beyond the current size of the node pool during the upgrade process.",
           "format": "int32",
           "type": "integer"
         },
         "maxUnavailable": {
-          "description": "The maximum number of nodes that can be simultaneously unavailable during\nthe upgrade process. A node is considered available if its status is\nReady.",
+          "description": "The maximum number of nodes that can be simultaneously unavailable during the upgrade process. A node is considered available if its status is Ready.",
           "format": "int32",
           "type": "integer"
         }
@@ -4954,7 +5040,7 @@
       "type": "object"
     },
     "UsableSubnetwork": {
-      "description": "UsableSubnetwork resource returns the subnetwork name, its associated network\nand the primary CIDR range.",
+      "description": "UsableSubnetwork resource returns the subnetwork name, its associated network and the primary CIDR range.",
       "id": "UsableSubnetwork",
       "properties": {
         "ipCidrRange": {
@@ -4962,7 +5048,7 @@
           "type": "string"
         },
         "network": {
-          "description": "Network Name.\nExample: projects/my-project/global/networks/my-network",
+          "description": "Network Name. Example: projects/my-project/global/networks/my-network",
           "type": "string"
         },
         "secondaryIpRanges": {
@@ -4973,11 +5059,11 @@
           "type": "array"
         },
         "statusMessage": {
-          "description": "A human readable status message representing the reasons for cases where\nthe caller cannot use the secondary ranges under the subnet. For example if\nthe secondary_ip_ranges is empty due to a permission issue, an insufficient\npermission message will be given by status_message.",
+          "description": "A human readable status message representing the reasons for cases where the caller cannot use the secondary ranges under the subnet. For example if the secondary_ip_ranges is empty due to a permission issue, an insufficient permission message will be given by status_message.",
           "type": "string"
         },
         "subnetwork": {
-          "description": "Subnetwork Name.\nExample: projects/my-project/regions/us-central1/subnetworks/my-subnet",
+          "description": "Subnetwork Name. Example: projects/my-project/regions/us-central1/subnetworks/my-subnet",
           "type": "string"
         }
       },
@@ -4992,7 +5078,7 @@
           "type": "string"
         },
         "rangeName": {
-          "description": "The name associated with this subnetwork secondary range, used when adding\nan alias IP range to a VM instance.",
+          "description": "The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance.",
           "type": "string"
         },
         "status": {
@@ -5007,9 +5093,9 @@
           "enumDescriptions": [
             "UNKNOWN is the zero value of the Status enum. It's not a valid status.",
             "UNUSED denotes that this range is unclaimed by any cluster.",
-            "IN_USE_SERVICE denotes that this range is claimed by a cluster for\nservices. It cannot be used for other clusters.",
-            "IN_USE_SHAREABLE_POD denotes this range was created by the network admin\nand is currently claimed by a cluster for pods. It can only be used by\nother clusters as a pod range.",
-            "IN_USE_MANAGED_POD denotes this range was created by GKE and is claimed\nfor pods. It cannot be used for other clusters."
+            "IN_USE_SERVICE denotes that this range is claimed by a cluster for services. It cannot be used for other clusters.",
+            "IN_USE_SHAREABLE_POD denotes this range was created by the network admin and is currently claimed by a cluster for pods. It can only be used by other clusters as a pod range.",
+            "IN_USE_MANAGED_POD denotes this range was created by GKE and is claimed for pods. It cannot be used for other clusters."
           ],
           "type": "string"
         }
@@ -5017,7 +5103,7 @@
       "type": "object"
     },
     "VerticalPodAutoscaling": {
-      "description": "VerticalPodAutoscaling contains global, per-cluster information\nrequired by Vertical Pod Autoscaler to automatically adjust\nthe resources of pods controlled by it.",
+      "description": "VerticalPodAutoscaling contains global, per-cluster information required by Vertical Pod Autoscaler to automatically adjust the resources of pods controlled by it.",
       "id": "VerticalPodAutoscaling",
       "properties": {
         "enabled": {
@@ -5028,7 +5114,7 @@
       "type": "object"
     },
     "WorkloadIdentityConfig": {
-      "description": "Configuration for the use of Kubernetes Service Accounts in GCP IAM\npolicies.",
+      "description": "Configuration for the use of Kubernetes Service Accounts in GCP IAM policies.",
       "id": "WorkloadIdentityConfig",
       "properties": {
         "workloadPool": {
@@ -5039,11 +5125,11 @@
       "type": "object"
     },
     "WorkloadMetadataConfig": {
-      "description": "WorkloadMetadataConfig defines the metadata configuration to expose to\nworkloads on the node pool.",
+      "description": "WorkloadMetadataConfig defines the metadata configuration to expose to workloads on the node pool.",
       "id": "WorkloadMetadataConfig",
       "properties": {
         "mode": {
-          "description": "Mode is the configuration for how to expose metadata to workloads running\non the node pool.",
+          "description": "Mode is the configuration for how to expose metadata to workloads running on the node pool.",
           "enum": [
             "MODE_UNSPECIFIED",
             "GCE_METADATA",
@@ -5052,7 +5138,7 @@
           "enumDescriptions": [
             "Not set.",
             "Expose all Compute Engine metadata to pods.",
-            "Run the GKE Metadata Server on this node. The GKE Metadata Server exposes\na metadata API to workloads that is compatible with the V1 Compute\nMetadata APIs exposed by the Compute Engine and App Engine Metadata\nServers. This feature can only be enabled if Workload Identity is enabled\nat the cluster level."
+            "Run the GKE Metadata Server on this node. The GKE Metadata Server exposes a metadata API to workloads that is compatible with the V1 Compute Metadata APIs exposed by the Compute Engine and App Engine Metadata Servers. This feature can only be enabled if Workload Identity is enabled at the cluster level."
           ],
           "type": "string"
         }
diff --git a/container/v1/container-gen.go b/container/v1/container-gen.go
index 7af2150..267711f 100644
--- a/container/v1/container-gen.go
+++ b/container/v1/container-gen.go
@@ -284,8 +284,7 @@
 	AcceleratorCount int64 `json:"acceleratorCount,omitempty,string"`
 
 	// AcceleratorType: The accelerator type resource name. List of
-	// supported
-	// accelerators
+	// supported accelerators
 	// [here](https://cloud.google.com/compute/docs/gpus)
 	AcceleratorType string `json:"acceleratorType,omitempty"`
 
@@ -314,17 +313,15 @@
 }
 
 // AddonsConfig: Configuration for the addons that can be automatically
-// spun up in the
-// cluster, enabling additional functionality.
+// spun up in the cluster, enabling additional functionality.
 type AddonsConfig struct {
 	// CloudRunConfig: Configuration for the Cloud Run addon, which allows
-	// the user to use a
-	// managed Knative service.
+	// the user to use a managed Knative service.
 	CloudRunConfig *CloudRunConfig `json:"cloudRunConfig,omitempty"`
 
 	// ConfigConnectorConfig: Configuration for the ConfigConnector add-on,
-	// a Kubernetes
-	// extension to manage hosted GCP services through the Kubernetes API
+	// a Kubernetes extension to manage hosted GCP services through the
+	// Kubernetes API
 	ConfigConnectorConfig *ConfigConnectorConfig `json:"configConnectorConfig,omitempty"`
 
 	// DnsCacheConfig: Configuration for NodeLocalDNS, a dns cache running
@@ -332,34 +329,26 @@
 	DnsCacheConfig *DnsCacheConfig `json:"dnsCacheConfig,omitempty"`
 
 	// HorizontalPodAutoscaling: Configuration for the horizontal pod
-	// autoscaling feature, which
-	// increases or decreases the number of replica pods a replication
-	// controller
-	// has based on the resource usage of the existing pods.
+	// autoscaling feature, which increases or decreases the number of
+	// replica pods a replication controller has based on the resource usage
+	// of the existing pods.
 	HorizontalPodAutoscaling *HorizontalPodAutoscaling `json:"horizontalPodAutoscaling,omitempty"`
 
 	// HttpLoadBalancing: Configuration for the HTTP (L7) load balancing
-	// controller addon, which
-	// makes it easy to set up HTTP load balancers for services in a
-	// cluster.
+	// controller addon, which makes it easy to set up HTTP load balancers
+	// for services in a cluster.
 	HttpLoadBalancing *HttpLoadBalancing `json:"httpLoadBalancing,omitempty"`
 
-	// KubernetesDashboard: Configuration for the Kubernetes Dashboard.
-	// This addon is deprecated, and will be disabled in 1.15. It is
-	// recommended
+	// KubernetesDashboard: Configuration for the Kubernetes Dashboard. This
+	// addon is deprecated, and will be disabled in 1.15. It is recommended
 	// to use the Cloud Console to manage and monitor your Kubernetes
-	// clusters,
-	// workloads and applications. For more information,
-	// see:
-	// https://cloud.google.com/kubernetes-engine/docs/concepts/dashboar
-	// ds
+	// clusters, workloads and applications. For more information, see:
+	// https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
 	KubernetesDashboard *KubernetesDashboard `json:"kubernetesDashboard,omitempty"`
 
 	// NetworkPolicyConfig: Configuration for NetworkPolicy. This only
-	// tracks whether the addon
-	// is enabled or not on the Master, it does not track whether network
-	// policy
-	// is enabled for the nodes.
+	// tracks whether the addon is enabled or not on the Master, it does not
+	// track whether network policy is enabled for the nodes.
 	NetworkPolicyConfig *NetworkPolicyConfig `json:"networkPolicyConfig,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CloudRunConfig") to
@@ -389,14 +378,12 @@
 // AuthenticatorGroupsConfig: Configuration for returning group
 // information from authenticators.
 type AuthenticatorGroupsConfig struct {
-	// Enabled: Whether this cluster should return group membership
-	// lookups
+	// Enabled: Whether this cluster should return group membership lookups
 	// during authentication using a group of security groups.
 	Enabled bool `json:"enabled,omitempty"`
 
 	// SecurityGroup: The name of the security group-of-groups to be used.
-	// Only relevant
-	// if enabled = true.
+	// Only relevant if enabled = true.
 	SecurityGroup string `json:"securityGroup,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Enabled") to
@@ -423,19 +410,16 @@
 }
 
 // AutoUpgradeOptions: AutoUpgradeOptions defines the set of options for
-// the user to control how
-// the Auto Upgrades will proceed.
+// the user to control how the Auto Upgrades will proceed.
 type AutoUpgradeOptions struct {
 	// AutoUpgradeStartTime: [Output only] This field is set when upgrades
-	// are about to commence
-	// with the approximate start time for the upgrades,
-	// in
-	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+	// are about to commence with the approximate start time for the
+	// upgrades, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text
+	// format.
 	AutoUpgradeStartTime string `json:"autoUpgradeStartTime,omitempty"`
 
 	// Description: [Output only] This field is set when upgrades are about
-	// to commence
-	// with the description of the upgrade.
+	// to commence with the description of the upgrade.
 	Description string `json:"description,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -464,8 +448,7 @@
 }
 
 // AutoprovisioningNodePoolDefaults: AutoprovisioningNodePoolDefaults
-// contains defaults for a node pool created
-// by NAP.
+// contains defaults for a node pool created by NAP.
 type AutoprovisioningNodePoolDefaults struct {
 	// Management: Specifies the node management options for NAP created
 	// node-pools.
@@ -537,8 +520,7 @@
 // BinaryAuthorization: Configuration for Binary Authorization.
 type BinaryAuthorization struct {
 	// Enabled: Enable Binary Authorization for this cluster. If enabled,
-	// all container
-	// images will be validated by Binary Authorization.
+	// all container images will be validated by Binary Authorization.
 	Enabled bool `json:"enabled,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Enabled") to
@@ -568,29 +550,23 @@
 // operation.
 type CancelOperationRequest struct {
 	// Name: The name (project, location, operation id) of the operation to
-	// cancel.
-	// Specified in the format `projects/*/locations/*/operations/*`.
+	// cancel. Specified in the format
+	// `projects/*/locations/*/operations/*`.
 	Name string `json:"name,omitempty"`
 
-	// OperationId: Deprecated. The server-assigned `name` of the
-	// operation.
+	// OperationId: Deprecated. The server-assigned `name` of the operation.
 	// This field has been deprecated and replaced by the name field.
 	OperationId string `json:"operationId,omitempty"`
 
 	// ProjectId: Deprecated. The Google Developers Console [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// project number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// operation resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the operation resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Name") to
@@ -724,19 +700,16 @@
 	BinaryAuthorization *BinaryAuthorization `json:"binaryAuthorization,omitempty"`
 
 	// ClusterIpv4Cidr: The IP address range of the container pods in this
-	// cluster,
-	// in
+	// cluster, in
 	// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-	//
-	// notation (e.g. `10.96.0.0/14`). Leave blank to have
-	// one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
+	// notation (e.g. `10.96.0.0/14`). Leave blank to have one automatically
+	// chosen or specify a `/14` block in `10.0.0.0/8`.
 	ClusterIpv4Cidr string `json:"clusterIpv4Cidr,omitempty"`
 
 	// Conditions: Which conditions caused the current cluster state.
 	Conditions []*StatusCondition `json:"conditions,omitempty"`
 
-	// CreateTime: [Output only] The time the cluster was created,
-	// in
+	// CreateTime: [Output only] The time the cluster was created, in
 	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
 	CreateTime string `json:"createTime,omitempty"`
 
@@ -744,103 +717,76 @@
 	// the master endpoint.
 	CurrentMasterVersion string `json:"currentMasterVersion,omitempty"`
 
-	// CurrentNodeCount: [Output only]  The number of nodes currently in the
-	// cluster. Deprecated.
-	// Call Kubernetes API directly to retrieve node information.
+	// CurrentNodeCount: [Output only] The number of nodes currently in the
+	// cluster. Deprecated. Call Kubernetes API directly to retrieve node
+	// information.
 	CurrentNodeCount int64 `json:"currentNodeCount,omitempty"`
 
-	// CurrentNodeVersion: [Output only] Deprecated,
-	// use
-	// [NodePools.version](https://cloud.google.com/kubernetes-engine/doc
-	// s/reference/rest/v1/projects.locations.clusters.nodePools)
-	// instead. The current version of the node software components. If they
-	// are
+	// CurrentNodeVersion: [Output only] Deprecated, use
+	// [NodePools.version](https://cloud.google.com/kubernetes-engine/docs/re
+	// ference/rest/v1/projects.locations.clusters.nodePools) instead. The
+	// current version of the node software components. If they are
 	// currently at multiple versions because they're in the process of
-	// being
-	// upgraded, this reflects the minimum version of all nodes.
+	// being upgraded, this reflects the minimum version of all nodes.
 	CurrentNodeVersion string `json:"currentNodeVersion,omitempty"`
 
 	// DatabaseEncryption: Configuration of etcd encryption.
 	DatabaseEncryption *DatabaseEncryption `json:"databaseEncryption,omitempty"`
 
 	// DefaultMaxPodsConstraint: The default constraint on the maximum
-	// number of pods that can be run
-	// simultaneously on a node in the node pool of this cluster. Only
-	// honored
-	// if cluster created with IP Alias support.
+	// number of pods that can be run simultaneously on a node in the node
+	// pool of this cluster. Only honored if cluster created with IP Alias
+	// support.
 	DefaultMaxPodsConstraint *MaxPodsConstraint `json:"defaultMaxPodsConstraint,omitempty"`
 
 	// Description: An optional description of this cluster.
 	Description string `json:"description,omitempty"`
 
 	// EnableKubernetesAlpha: Kubernetes alpha features are enabled on this
-	// cluster. This includes alpha
-	// API groups (e.g. v1alpha1) and features that may not be production
-	// ready in
-	// the kubernetes version of the master and nodes.
-	// The cluster has no SLA for uptime and master/node upgrades are
-	// disabled.
-	// Alpha enabled clusters are automatically deleted thirty days
-	// after
-	// creation.
+	// cluster. This includes alpha API groups (e.g. v1alpha1) and features
+	// that may not be production ready in the kubernetes version of the
+	// master and nodes. The cluster has no SLA for uptime and master/node
+	// upgrades are disabled. Alpha enabled clusters are automatically
+	// deleted thirty days after creation.
 	EnableKubernetesAlpha bool `json:"enableKubernetesAlpha,omitempty"`
 
 	// EnableTpu: Enable the ability to use Cloud TPUs in this cluster.
 	EnableTpu bool `json:"enableTpu,omitempty"`
 
 	// Endpoint: [Output only] The IP address of this cluster's master
-	// endpoint.
-	// The endpoint can be accessed from the internet
-	// at
-	// `https://username:password@endpoint/`.
-	//
-	// See the `masterAuth` property of this resource for username
-	// and
-	// password information.
+	// endpoint. The endpoint can be accessed from the internet at
+	// `https://username:password@endpoint/`. See the `masterAuth` property
+	// of this resource for username and password information.
 	Endpoint string `json:"endpoint,omitempty"`
 
-	// ExpireTime: [Output only] The time the cluster will be
-	// automatically
+	// ExpireTime: [Output only] The time the cluster will be automatically
 	// deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text
 	// format.
 	ExpireTime string `json:"expireTime,omitempty"`
 
 	// InitialClusterVersion: The initial Kubernetes version for this
-	// cluster.  Valid versions are those
-	// found in validMasterVersions returned by getServerConfig.  The
-	// version can
-	// be upgraded over time; such upgrades are reflected
-	// in
-	// currentMasterVersion and currentNodeVersion.
-	//
-	// Users may specify either explicit versions offered by
-	// Kubernetes Engine or version aliases, which have the following
-	// behavior:
-	//
-	// - "latest": picks the highest valid Kubernetes version
-	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X
-	// version
-	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
-	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
-	// - "","-": picks the default Kubernetes version
+	// cluster. Valid versions are those found in validMasterVersions
+	// returned by getServerConfig. The version can be upgraded over time;
+	// such upgrades are reflected in currentMasterVersion and
+	// currentNodeVersion. Users may specify either explicit versions
+	// offered by Kubernetes Engine or version aliases, which have the
+	// following behavior: - "latest": picks the highest valid Kubernetes
+	// version - "1.X": picks the highest valid patch+gke.N patch in the 1.X
+	// version - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y
+	// version - "1.X.Y-gke.N": picks an explicit Kubernetes version -
+	// "","-": picks the default Kubernetes version
 	InitialClusterVersion string `json:"initialClusterVersion,omitempty"`
 
 	// InitialNodeCount: The number of nodes to create in this cluster. You
-	// must ensure that your
-	// Compute Engine [resource
-	// quota](https://cloud.google.com/compute/quotas)
-	// is sufficient for this number of instances. You must also have
-	// available
-	// firewall and routes quota.
-	// For requests, this field should only be used in lieu of a
-	// "node_pool" object, since this configuration (along with
-	// the
-	// "node_config") will be used to create a "NodePool" object with
-	// an
+	// must ensure that your Compute Engine [resource
+	// quota](https://cloud.google.com/compute/quotas) is sufficient for
+	// this number of instances. You must also have available firewall and
+	// routes quota. For requests, this field should only be used in lieu of
+	// a "node_pool" object, since this configuration (along with the
+	// "node_config") will be used to create a "NodePool" object with an
 	// auto-generated name. Do not use this and a node_pool at the same
-	// time.
-	//
-	// This field is deprecated, use node_pool.initial_node_count instead.
+	// time. This field is deprecated, use node_pool.initial_node_count
+	// instead.
 	InitialNodeCount int64 `json:"initialNodeCount,omitempty"`
 
 	// InstanceGroupUrls: Deprecated. Use node_pools.instance_group_urls.
@@ -856,49 +802,35 @@
 	// LegacyAbac: Configuration for the legacy ABAC authorization mode.
 	LegacyAbac *LegacyAbac `json:"legacyAbac,omitempty"`
 
-	// Location: [Output only] The name of the Google Compute
-	// Engine
-	// [zone](https://cloud.google.com/compute/docs/regions-zones/regi
-	// ons-zones#available)
-	// or
-	// [region](https://cloud.google.com/compute/docs
-	// /regions-zones/regions-zones#available)
-	// in which the cluster resides.
+	// Location: [Output only] The name of the Google Compute Engine
+	// [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zon
+	// es#available) or
+	// [region](https://cloud.google.com/compute/docs/regions-zones/regions-z
+	// ones#available) in which the cluster resides.
 	Location string `json:"location,omitempty"`
 
-	// Locations: The list of Google Compute
-	// Engine
+	// Locations: The list of Google Compute Engine
 	// [zones](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster's nodes should be located.
+	// which the cluster's nodes should be located.
 	Locations []string `json:"locations,omitempty"`
 
 	// LoggingService: The logging service the cluster should use to write
-	// logs.
-	// Currently available options:
-	//
-	// * `logging.googleapis.com/kubernetes` - The Cloud Logging
-	// service with a Kubernetes-native resource model
-	// * `logging.googleapis.com` - The legacy Cloud Logging service (no
-	// longer
-	//   available as of GKE 1.15).
-	// * `none` - no logs will be exported from the cluster.
-	//
-	// If left as an empty string,`logging.googleapis.com/kubernetes` will
-	// be
-	// used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
+	// logs. Currently available options: *
+	// `logging.googleapis.com/kubernetes` - The Cloud Logging service with
+	// a Kubernetes-native resource model * `logging.googleapis.com` - The
+	// legacy Cloud Logging service (no longer available as of GKE 1.15). *
+	// `none` - no logs will be exported from the cluster. If left as an
+	// empty string,`logging.googleapis.com/kubernetes` will be used for GKE
+	// 1.14+ or `logging.googleapis.com` for earlier versions.
 	LoggingService string `json:"loggingService,omitempty"`
 
 	// MaintenancePolicy: Configure the maintenance policy for this cluster.
 	MaintenancePolicy *MaintenancePolicy `json:"maintenancePolicy,omitempty"`
 
 	// MasterAuth: The authentication information for accessing the master
-	// endpoint.
-	// If unspecified, the defaults are used:
-	// For clusters before v1.12, if master_auth is unspecified, `username`
-	// will
-	// be set to "admin", a random password will be generated, and a
-	// client
+	// endpoint. If unspecified, the defaults are used: For clusters before
+	// v1.12, if master_auth is unspecified, `username` will be set to
+	// "admin", a random password will be generated, and a client
 	// certificate will be issued.
 	MasterAuth *MasterAuth `json:"masterAuth,omitempty"`
 
@@ -907,41 +839,27 @@
 	MasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `json:"masterAuthorizedNetworksConfig,omitempty"`
 
 	// MonitoringService: The monitoring service the cluster should use to
-	// write metrics.
-	// Currently available options:
-	//
-	// * "monitoring.googleapis.com/kubernetes" - The Cloud
-	// Monitoring
-	// service with a Kubernetes-native resource model
-	// * `monitoring.googleapis.com` - The legacy Cloud Monitoring service
-	// (no
-	//   longer available as of GKE 1.15).
-	// * `none` - No metrics will be exported from the cluster.
-	//
-	// If left as an empty string,`monitoring.googleapis.com/kubernetes`
-	// will be
-	// used for GKE 1.14+ or `monitoring.googleapis.com` for earlier
+	// write metrics. Currently available options: *
+	// "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring service
+	// with a Kubernetes-native resource model * `monitoring.googleapis.com`
+	// - The legacy Cloud Monitoring service (no longer available as of GKE
+	// 1.15). * `none` - No metrics will be exported from the cluster. If
+	// left as an empty string,`monitoring.googleapis.com/kubernetes` will
+	// be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier
 	// versions.
 	MonitoringService string `json:"monitoringService,omitempty"`
 
 	// Name: The name of this cluster. The name must be unique within this
-	// project
-	// and location (e.g. zone or region), and can be up to 40 characters
-	// with
-	// the following restrictions:
-	//
-	// * Lowercase letters, numbers, and hyphens only.
-	// * Must start with a letter.
-	// * Must end with a number or a letter.
+	// project and location (e.g. zone or region), and can be up to 40
+	// characters with the following restrictions: * Lowercase letters,
+	// numbers, and hyphens only. * Must start with a letter. * Must end
+	// with a number or a letter.
 	Name string `json:"name,omitempty"`
 
-	// Network: The name of the Google Compute
-	// Engine
-	// [network](https://cloud.google.com/compute/docs/networks-and-fi
-	// rewalls#networks)
-	// to which the cluster is connected. If left unspecified, the
-	// `default`
-	// network will be used.
+	// Network: The name of the Google Compute Engine
+	// [network](https://cloud.google.com/compute/docs/networks-and-firewalls
+	// #networks) to which the cluster is connected. If left unspecified,
+	// the `default` network will be used.
 	Network string `json:"network,omitempty"`
 
 	// NetworkConfig: Configuration for cluster networking.
@@ -950,36 +868,25 @@
 	// NetworkPolicy: Configuration options for the NetworkPolicy feature.
 	NetworkPolicy *NetworkPolicy `json:"networkPolicy,omitempty"`
 
-	// NodeConfig: Parameters used in creating the cluster's nodes.
-	// For requests, this field should only be used in lieu of a
-	// "node_pool" object, since this configuration (along with
-	// the
+	// NodeConfig: Parameters used in creating the cluster's nodes. For
+	// requests, this field should only be used in lieu of a "node_pool"
+	// object, since this configuration (along with the
 	// "initial_node_count") will be used to create a "NodePool" object with
-	// an
-	// auto-generated name. Do not use this and a node_pool at the same
-	// time.
-	// For responses, this field will be populated with the node
-	// configuration of
-	// the first node pool. (For configuration of each node pool,
-	// see
-	// `node_pool.config`)
-	//
-	// If unspecified, the defaults are used.
+	// an auto-generated name. Do not use this and a node_pool at the same
+	// time. For responses, this field will be populated with the node
+	// configuration of the first node pool. (For configuration of each node
+	// pool, see `node_pool.config`) If unspecified, the defaults are used.
 	// This field is deprecated, use node_pool.config instead.
 	NodeConfig *NodeConfig `json:"nodeConfig,omitempty"`
 
 	// NodeIpv4CidrSize: [Output only] The size of the address space on each
-	// node for hosting
-	// containers. This is provisioned from within the
-	// `container_ipv4_cidr`
-	// range. This field will only be set when cluster is in route-based
-	// network
-	// mode.
+	// node for hosting containers. This is provisioned from within the
+	// `container_ipv4_cidr` range. This field will only be set when cluster
+	// is in route-based network mode.
 	NodeIpv4CidrSize int64 `json:"nodeIpv4CidrSize,omitempty"`
 
-	// NodePools: The node pools associated with this cluster.
-	// This field should not be set if "node_config" or "initial_node_count"
-	// are
+	// NodePools: The node pools associated with this cluster. This field
+	// should not be set if "node_config" or "initial_node_count" are
 	// specified.
 	NodePools []*NodePool `json:"nodePools,omitempty"`
 
@@ -990,26 +897,22 @@
 	ReleaseChannel *ReleaseChannel `json:"releaseChannel,omitempty"`
 
 	// ResourceLabels: The resource labels for the cluster to use to
-	// annotate any related
-	// Google Compute Engine resources.
+	// annotate any related Google Compute Engine resources.
 	ResourceLabels map[string]string `json:"resourceLabels,omitempty"`
 
 	// ResourceUsageExportConfig: Configuration for exporting resource
-	// usages. Resource usage export is
-	// disabled when this config is unspecified.
+	// usages. Resource usage export is disabled when this config is
+	// unspecified.
 	ResourceUsageExportConfig *ResourceUsageExportConfig `json:"resourceUsageExportConfig,omitempty"`
 
 	// SelfLink: [Output only] Server-defined URL for the resource.
 	SelfLink string `json:"selfLink,omitempty"`
 
 	// ServicesIpv4Cidr: [Output only] The IP address range of the
-	// Kubernetes services in
-	// this cluster,
-	// in
+	// Kubernetes services in this cluster, in
 	// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-	//
-	// notation (e.g. `1.2.3.4/29`). Service addresses are
-	// typically put in the last `/16` from the container CIDR.
+	// notation (e.g. `1.2.3.4/29`). Service addresses are typically put in
+	// the last `/16` from the container CIDR.
 	ServicesIpv4Cidr string `json:"servicesIpv4Cidr,omitempty"`
 
 	// ShieldedNodes: Shielded Nodes configuration.
@@ -1022,41 +925,32 @@
 	//   "PROVISIONING" - The PROVISIONING state indicates the cluster is
 	// being created.
 	//   "RUNNING" - The RUNNING state indicates the cluster has been
-	// created and is fully
-	// usable.
+	// created and is fully usable.
 	//   "RECONCILING" - The RECONCILING state indicates that some work is
-	// actively being done on
-	// the cluster, such as upgrading the master or node software. Details
-	// can
-	// be found in the `statusMessage` field.
+	// actively being done on the cluster, such as upgrading the master or
+	// node software. Details can be found in the `statusMessage` field.
 	//   "STOPPING" - The STOPPING state indicates the cluster is being
 	// deleted.
-	//   "ERROR" - The ERROR state indicates the cluster may be unusable.
-	// Details
-	// can be found in the `statusMessage` field.
+	//   "ERROR" - The ERROR state indicates the cluster is unusable. It
+	// will be automatically deleted. Details can be found in the
+	// `statusMessage` field.
 	//   "DEGRADED" - The DEGRADED state indicates the cluster requires user
-	// action to restore
-	// full functionality. Details can be found in the `statusMessage`
-	// field.
+	// action to restore full functionality. Details can be found in the
+	// `statusMessage` field.
 	Status string `json:"status,omitempty"`
 
 	// StatusMessage: [Output only] Additional information about the current
-	// status of this
-	// cluster, if available.
+	// status of this cluster, if available.
 	StatusMessage string `json:"statusMessage,omitempty"`
 
-	// Subnetwork: The name of the Google Compute
-	// Engine
-	// [subnetwork](https://cloud.google.com/compute/docs/subnetworks)
-	//  to which
-	// the cluster is connected.
+	// Subnetwork: The name of the Google Compute Engine
+	// [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to
+	// which the cluster is connected.
 	Subnetwork string `json:"subnetwork,omitempty"`
 
 	// TpuIpv4CidrBlock: [Output only] The IP address range of the Cloud
-	// TPUs in this cluster,
-	// in
+	// TPUs in this cluster, in
 	// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-	//
 	// notation (e.g. `1.2.3.4/29`).
 	TpuIpv4CidrBlock string `json:"tpuIpv4CidrBlock,omitempty"`
 
@@ -1065,15 +959,13 @@
 	VerticalPodAutoscaling *VerticalPodAutoscaling `json:"verticalPodAutoscaling,omitempty"`
 
 	// WorkloadIdentityConfig: Configuration for the use of Kubernetes
-	// Service Accounts in GCP IAM
-	// policies.
+	// Service Accounts in GCP IAM policies.
 	WorkloadIdentityConfig *WorkloadIdentityConfig `json:"workloadIdentityConfig,omitempty"`
 
-	// Zone: [Output only] The name of the Google Compute
-	// Engine
+	// Zone: [Output only] The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field is deprecated, use location instead.
+	// which the cluster resides. This field is deprecated, use location
+	// instead.
 	Zone string `json:"zone,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1104,21 +996,17 @@
 }
 
 // ClusterAutoscaling: ClusterAutoscaling contains global, per-cluster
-// information
-// required by Cluster Autoscaler to automatically adjust
-// the size of the cluster and create/delete
-// node pools based on the current needs.
+// information required by Cluster Autoscaler to automatically adjust
+// the size of the cluster and create/delete node pools based on the
+// current needs.
 type ClusterAutoscaling struct {
-	// AutoprovisioningLocations: The list of Google Compute
-	// Engine
+	// AutoprovisioningLocations: The list of Google Compute Engine
 	// [zones](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// NodePool's nodes can be created by NAP.
+	// which the NodePool's nodes can be created by NAP.
 	AutoprovisioningLocations []string `json:"autoprovisioningLocations,omitempty"`
 
 	// AutoprovisioningNodePoolDefaults: AutoprovisioningNodePoolDefaults
-	// contains defaults for a node pool
-	// created by NAP.
+	// contains defaults for a node pool created by NAP.
 	AutoprovisioningNodePoolDefaults *AutoprovisioningNodePoolDefaults `json:"autoprovisioningNodePoolDefaults,omitempty"`
 
 	// EnableNodeAutoprovisioning: Enables automatic node pool creation and
@@ -1126,8 +1014,7 @@
 	EnableNodeAutoprovisioning bool `json:"enableNodeAutoprovisioning,omitempty"`
 
 	// ResourceLimits: Contains global constraints regarding minimum and
-	// maximum
-	// amount of resources in the cluster.
+	// maximum amount of resources in the cluster.
 	ResourceLimits []*ResourceLimit `json:"resourceLimits,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -1156,10 +1043,8 @@
 }
 
 // ClusterUpdate: ClusterUpdate describes an update to the cluster.
-// Exactly one update can
-// be applied to a cluster with each request, so at most one field can
-// be
-// provided.
+// Exactly one update can be applied to a cluster with each request, so
+// at most one field can be provided.
 type ClusterUpdate struct {
 	// DesiredAddonsConfig: Configurations for the various addons available
 	// to run in the cluster.
@@ -1175,112 +1060,87 @@
 	// DesiredDatabaseEncryption: Configuration of etcd encryption.
 	DesiredDatabaseEncryption *DatabaseEncryption `json:"desiredDatabaseEncryption,omitempty"`
 
-	// DesiredImageType: The desired image type for the node pool.
-	// NOTE: Set the "desired_node_pool" field as well.
+	// DesiredDefaultSnatStatus: The desired status of whether to disable
+	// default sNAT for this cluster.
+	DesiredDefaultSnatStatus *DefaultSnatStatus `json:"desiredDefaultSnatStatus,omitempty"`
+
+	// DesiredImageType: The desired image type for the node pool. NOTE: Set
+	// the "desired_node_pool" field as well.
 	DesiredImageType string `json:"desiredImageType,omitempty"`
 
 	// DesiredIntraNodeVisibilityConfig: The desired config of Intra-node
 	// visibility.
 	DesiredIntraNodeVisibilityConfig *IntraNodeVisibilityConfig `json:"desiredIntraNodeVisibilityConfig,omitempty"`
 
-	// DesiredLocations: The desired list of Google Compute
-	// Engine
+	// DesiredLocations: The desired list of Google Compute Engine
 	// [zones](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster's nodes should be located. Changing the locations a cluster
-	// is in
-	// will result in nodes being either created or removed from the
-	// cluster,
-	// depending on whether locations are being added or removed.
-	//
-	// This list must always include the cluster's primary zone.
+	// which the cluster's nodes should be located. Changing the locations a
+	// cluster is in will result in nodes being either created or removed
+	// from the cluster, depending on whether locations are being added or
+	// removed. This list must always include the cluster's primary zone.
 	DesiredLocations []string `json:"desiredLocations,omitempty"`
 
 	// DesiredLoggingService: The logging service the cluster should use to
-	// write logs.
-	// Currently available options:
-	//
-	// * `logging.googleapis.com/kubernetes` - The Cloud Logging
-	// service with a Kubernetes-native resource model
-	// * `logging.googleapis.com` - The legacy Cloud Logging service (no
-	// longer
-	//   available as of GKE 1.15).
-	// * `none` - no logs will be exported from the cluster.
-	//
-	// If left as an empty string,`logging.googleapis.com/kubernetes` will
-	// be
-	// used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
+	// write logs. Currently available options: *
+	// `logging.googleapis.com/kubernetes` - The Cloud Logging service with
+	// a Kubernetes-native resource model * `logging.googleapis.com` - The
+	// legacy Cloud Logging service (no longer available as of GKE 1.15). *
+	// `none` - no logs will be exported from the cluster. If left as an
+	// empty string,`logging.googleapis.com/kubernetes` will be used for GKE
+	// 1.14+ or `logging.googleapis.com` for earlier versions.
 	DesiredLoggingService string `json:"desiredLoggingService,omitempty"`
 
 	// DesiredMasterAuthorizedNetworksConfig: The desired configuration
 	// options for master authorized networks feature.
 	DesiredMasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `json:"desiredMasterAuthorizedNetworksConfig,omitempty"`
 
-	// DesiredMasterVersion: The Kubernetes version to change the master
-	// to.
-	//
-	// Users may specify either explicit versions offered by
-	// Kubernetes Engine or version aliases, which have the following
-	// behavior:
-	//
-	// - "latest": picks the highest valid Kubernetes version
-	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X
-	// version
-	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
-	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
-	// - "-": picks the default Kubernetes version
+	// DesiredMasterVersion: The Kubernetes version to change the master to.
+	// Users may specify either explicit versions offered by Kubernetes
+	// Engine or version aliases, which have the following behavior: -
+	// "latest": picks the highest valid Kubernetes version - "1.X": picks
+	// the highest valid patch+gke.N patch in the 1.X version - "1.X.Y":
+	// picks the highest valid gke.N patch in the 1.X.Y version -
+	// "1.X.Y-gke.N": picks an explicit Kubernetes version - "-": picks the
+	// default Kubernetes version
 	DesiredMasterVersion string `json:"desiredMasterVersion,omitempty"`
 
 	// DesiredMonitoringService: The monitoring service the cluster should
-	// use to write metrics.
-	// Currently available options:
-	//
-	// * "monitoring.googleapis.com/kubernetes" - The Cloud
-	// Monitoring
-	// service with a Kubernetes-native resource model
-	// * `monitoring.googleapis.com` - The legacy Cloud Monitoring service
-	// (no
-	//   longer available as of GKE 1.15).
-	// * `none` - No metrics will be exported from the cluster.
-	//
-	// If left as an empty string,`monitoring.googleapis.com/kubernetes`
-	// will be
-	// used for GKE 1.14+ or `monitoring.googleapis.com` for earlier
+	// use to write metrics. Currently available options: *
+	// "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring service
+	// with a Kubernetes-native resource model * `monitoring.googleapis.com`
+	// - The legacy Cloud Monitoring service (no longer available as of GKE
+	// 1.15). * `none` - No metrics will be exported from the cluster. If
+	// left as an empty string,`monitoring.googleapis.com/kubernetes` will
+	// be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier
 	// versions.
 	DesiredMonitoringService string `json:"desiredMonitoringService,omitempty"`
 
 	// DesiredNodePoolAutoscaling: Autoscaler configuration for the node
-	// pool specified in
-	// desired_node_pool_id. If there is only one pool in the
-	// cluster and desired_node_pool_id is not provided then
-	// the change applies to that single node pool.
+	// pool specified in desired_node_pool_id. If there is only one pool in
+	// the cluster and desired_node_pool_id is not provided then the change
+	// applies to that single node pool.
 	DesiredNodePoolAutoscaling *NodePoolAutoscaling `json:"desiredNodePoolAutoscaling,omitempty"`
 
 	// DesiredNodePoolId: The node pool to be upgraded. This field is
-	// mandatory if
-	// "desired_node_version", "desired_image_family"
-	// or
+	// mandatory if "desired_node_version", "desired_image_family" or
 	// "desired_node_pool_autoscaling" is specified and there is more than
-	// one
-	// node pool on the cluster.
+	// one node pool on the cluster.
 	DesiredNodePoolId string `json:"desiredNodePoolId,omitempty"`
 
 	// DesiredNodeVersion: The Kubernetes version to change the nodes to
-	// (typically an
-	// upgrade).
-	//
-	// Users may specify either explicit versions offered by
-	// Kubernetes Engine or version aliases, which have the following
-	// behavior:
-	//
-	// - "latest": picks the highest valid Kubernetes version
-	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X
-	// version
-	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
-	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
-	// - "-": picks the Kubernetes master version
+	// (typically an upgrade). Users may specify either explicit versions
+	// offered by Kubernetes Engine or version aliases, which have the
+	// following behavior: - "latest": picks the highest valid Kubernetes
+	// version - "1.X": picks the highest valid patch+gke.N patch in the 1.X
+	// version - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y
+	// version - "1.X.Y-gke.N": picks an explicit Kubernetes version - "-":
+	// picks the Kubernetes master version
 	DesiredNodeVersion string `json:"desiredNodeVersion,omitempty"`
 
+	// DesiredPrivateClusterConfig: The desired private cluster
+	// configuration.
+	DesiredPrivateClusterConfig *PrivateClusterConfig `json:"desiredPrivateClusterConfig,omitempty"`
+
 	// DesiredReleaseChannel: The desired release channel configuration.
 	DesiredReleaseChannel *ReleaseChannel `json:"desiredReleaseChannel,omitempty"`
 
@@ -1325,30 +1185,25 @@
 // CompleteIPRotationRequest: CompleteIPRotationRequest moves the
 // cluster master back into single-IP mode.
 type CompleteIPRotationRequest struct {
-	// ClusterId: Deprecated. The name of the cluster.
-	// This field has been deprecated and replaced by the name field.
+	// ClusterId: Deprecated. The name of the cluster. This field has been
+	// deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// Name: The name (project, location, cluster id) of the cluster to
-	// complete IP
-	// rotation. Specified in the format
+	// complete IP rotation. Specified in the format
 	// `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Deprecated. The Google Developers Console [project ID or
 	// project
-	// number](https://developers.google.com/console/help/new/#projec
-	// tnumber).
-	// This field has been deprecated and replaced by the name field.
+	// number](https://developers.google.com/console/help/new/#projectnumber)
+	// . This field has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -1407,10 +1262,8 @@
 // metering.
 type ConsumptionMeteringConfig struct {
 	// Enabled: Whether to enable consumption metering for this cluster. If
-	// enabled, a
-	// second BigQuery table will be created to hold resource
-	// consumption
-	// records.
+	// enabled, a second BigQuery table will be created to hold resource
+	// consumption records.
 	Enabled bool `json:"enabled,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Enabled") to
@@ -1438,31 +1291,24 @@
 
 // CreateClusterRequest: CreateClusterRequest creates a cluster.
 type CreateClusterRequest struct {
-	// Cluster: Required. A
-	// [cluster
-	// resource](https://cloud.google.com/container-engine/reference
-	// /rest/v1/projects.locations.clusters)
+	// Cluster: Required. A [cluster
+	// resource](https://cloud.google.com/container-engine/reference/rest/v1/
+	// projects.locations.clusters)
 	Cluster *Cluster `json:"cluster,omitempty"`
 
 	// Parent: The parent (project and location) where the cluster will be
-	// created.
-	// Specified in the format `projects/*/locations/*`.
+	// created. Specified in the format `projects/*/locations/*`.
 	Parent string `json:"parent,omitempty"`
 
 	// ProjectId: Deprecated. The Google Developers Console [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the parent field.
+	// project number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the parent field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// parent
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the parent field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Cluster") to
@@ -1491,33 +1337,28 @@
 // CreateNodePoolRequest: CreateNodePoolRequest creates a node pool for
 // a cluster.
 type CreateNodePoolRequest struct {
-	// ClusterId: Deprecated. The name of the cluster.
-	// This field has been deprecated and replaced by the parent field.
+	// ClusterId: Deprecated. The name of the cluster. This field has been
+	// deprecated and replaced by the parent field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// NodePool: Required. The node pool to create.
 	NodePool *NodePool `json:"nodePool,omitempty"`
 
 	// Parent: The parent (project, location, cluster id) where the node
-	// pool will be
-	// created. Specified in the format
+	// pool will be created. Specified in the format
 	// `projects/*/locations/*/clusters/*`.
 	Parent string `json:"parent,omitempty"`
 
 	// ProjectId: Deprecated. The Google Developers Console [project ID or
 	// project
-	// number](https://developers.google.com/console/help/new/#projec
-	// tnumber).
-	// This field has been deprecated and replaced by the parent field.
+	// number](https://developers.google.com/console/help/new/#projectnumber)
+	// . This field has been deprecated and replaced by the parent field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// parent
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the parent field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -1547,18 +1388,15 @@
 // operations.
 type DailyMaintenanceWindow struct {
 	// Duration: [Output only] Duration of the time window, automatically
-	// chosen to be
-	// smallest possible in the given scenario.
-	// Duration will be in
-	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
-	// format "PTnHnMnS".
+	// chosen to be smallest possible in the given scenario. Duration will
+	// be in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) format
+	// "PTnHnMnS".
 	Duration string `json:"duration,omitempty"`
 
 	// StartTime: Time within the maintenance window to start the
-	// maintenance operations.
-	// Time format should be in
-	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
-	// format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
+	// maintenance operations. Time format should be in
+	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) format "HH:MM", where
+	// HH : [00-23] and MM : [00-59] GMT.
 	StartTime string `json:"startTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Duration") to
@@ -1587,8 +1425,7 @@
 // DatabaseEncryption: Configuration of etcd encryption.
 type DatabaseEncryption struct {
 	// KeyName: Name of CloudKMS key to use for the encryption of secrets in
-	// etcd.
-	// Ex.
+	// etcd. Ex.
 	// projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-ke
 	// y
 	KeyName string `json:"keyName,omitempty"`
@@ -1599,8 +1436,8 @@
 	//   "UNKNOWN" - Should never be set
 	//   "ENCRYPTED" - Secrets in etcd are encrypted.
 	//   "DECRYPTED" - Secrets in etcd are stored in plain text (at etcd
-	// level) - this is
-	// unrelated to Compute Engine level full disk encryption.
+	// level) - this is unrelated to Compute Engine level full disk
+	// encryption.
 	State string `json:"state,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "KeyName") to
@@ -1626,6 +1463,35 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// DefaultSnatStatus: DefaultSnatStatus contains the desired state of
+// whether default sNAT should be disabled on the cluster.
+type DefaultSnatStatus struct {
+	// Disabled: Disables cluster default sNAT rules.
+	Disabled bool `json:"disabled,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "Disabled") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "Disabled") to include in
+	// API requests with the JSON null value. By default, fields with empty
+	// values are omitted from API requests. However, any field with an
+	// empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *DefaultSnatStatus) MarshalJSON() ([]byte, error) {
+	type NoMethod DefaultSnatStatus
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // DnsCacheConfig: Configuration for NodeLocal DNSCache
 type DnsCacheConfig struct {
 	// Enabled: Whether NodeLocal DNSCache is enabled for this cluster.
@@ -1655,17 +1521,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -1676,13 +1536,11 @@
 // Key Set as specififed in rfc 7517
 type GetJSONWebKeysResponse struct {
 	// CacheHeader: OnePlatform automatically extracts this field and uses
-	// it to set the HTTP
-	// Cache-Control header.
+	// it to set the HTTP Cache-Control header.
 	CacheHeader *HttpCacheControlResponseHeader `json:"cacheHeader,omitempty"`
 
 	// Keys: The public component of the keys used by the cluster to sign
-	// token
-	// requests.
+	// token requests.
 	Keys []*Jwk `json:"keys,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1713,12 +1571,11 @@
 }
 
 // GetOpenIDConfigResponse: GetOpenIDConfigResponse is an OIDC discovery
-// document for the cluster.
-// See the OpenID Connect Discovery 1.0 specification for details.
+// document for the cluster. See the OpenID Connect Discovery 1.0
+// specification for details.
 type GetOpenIDConfigResponse struct {
 	// CacheHeader: OnePlatform automatically extracts this field and uses
-	// it to set the HTTP
-	// Cache-Control header.
+	// it to set the HTTP Cache-Control header.
 	CacheHeader *HttpCacheControlResponseHeader `json:"cacheHeader,omitempty"`
 
 	// ClaimsSupported: Supported claims.
@@ -1771,16 +1628,13 @@
 }
 
 // HorizontalPodAutoscaling: Configuration options for the horizontal
-// pod autoscaling feature, which
-// increases or decreases the number of replica pods a replication
-// controller
-// has based on the resource usage of the existing pods.
+// pod autoscaling feature, which increases or decreases the number of
+// replica pods a replication controller has based on the resource usage
+// of the existing pods.
 type HorizontalPodAutoscaling struct {
 	// Disabled: Whether the Horizontal Pod Autoscaling feature is enabled
-	// in the cluster.
-	// When enabled, it ensures that metrics are collected into
-	// Stackdriver
-	// Monitoring.
+	// in the cluster. When enabled, it ensures that metrics are collected
+	// into Stackdriver Monitoring.
 	Disabled bool `json:"disabled,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Disabled") to
@@ -1842,15 +1696,12 @@
 }
 
 // HttpLoadBalancing: Configuration options for the HTTP (L7) load
-// balancing controller addon,
-// which makes it easy to set up HTTP load balancers for services in a
-// cluster.
+// balancing controller addon, which makes it easy to set up HTTP load
+// balancers for services in a cluster.
 type HttpLoadBalancing struct {
 	// Disabled: Whether the HTTP Load Balancing controller is enabled in
-	// the cluster.
-	// When enabled, it runs a small pod in the cluster that manages the
-	// load
-	// balancers.
+	// the cluster. When enabled, it runs a small pod in the cluster that
+	// manages the load balancers.
 	Disabled bool `json:"disabled,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Disabled") to
@@ -1884,68 +1735,41 @@
 	ClusterIpv4Cidr string `json:"clusterIpv4Cidr,omitempty"`
 
 	// ClusterIpv4CidrBlock: The IP address range for the cluster pod IPs.
-	// If this field is set, then
-	// `cluster.cluster_ipv4_cidr` must be left blank.
-	//
-	// This field is only applicable when `use_ip_aliases` is true.
-	//
-	// Set to blank to have a range chosen with the default size.
-	//
-	// Set to /netmask (e.g. `/14`) to have a range chosen with a
-	// specific
-	// netmask.
-	//
-	// Set to
-	// a
+	// If this field is set, then `cluster.cluster_ipv4_cidr` must be left
+	// blank. This field is only applicable when `use_ip_aliases` is true.
+	// Set to blank to have a range chosen with the default size. Set to
+	// /netmask (e.g. `/14`) to have a range chosen with a specific netmask.
+	// Set to a
 	// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-	//
 	// notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks
-	// (e.g.
-	// `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific
-	// range
-	// to use.
+	// (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a
+	// specific range to use.
 	ClusterIpv4CidrBlock string `json:"clusterIpv4CidrBlock,omitempty"`
 
 	// ClusterSecondaryRangeName: The name of the secondary range to be used
-	// for the cluster CIDR
-	// block.  The secondary range will be used for pod IP
-	// addresses. This must be an existing secondary range associated
-	// with the cluster subnetwork.
-	//
-	// This field is only applicable with use_ip_aliases is true
-	// and
-	// create_subnetwork is false.
+	// for the cluster CIDR block. The secondary range will be used for pod
+	// IP addresses. This must be an existing secondary range associated
+	// with the cluster subnetwork. This field is only applicable with
+	// use_ip_aliases is true and create_subnetwork is false.
 	ClusterSecondaryRangeName string `json:"clusterSecondaryRangeName,omitempty"`
 
 	// CreateSubnetwork: Whether a new subnetwork will be created
-	// automatically for the cluster.
-	//
-	// This field is only applicable when `use_ip_aliases` is true.
+	// automatically for the cluster. This field is only applicable when
+	// `use_ip_aliases` is true.
 	CreateSubnetwork bool `json:"createSubnetwork,omitempty"`
 
 	// NodeIpv4Cidr: This field is deprecated, use node_ipv4_cidr_block.
 	NodeIpv4Cidr string `json:"nodeIpv4Cidr,omitempty"`
 
 	// NodeIpv4CidrBlock: The IP address range of the instance IPs in this
-	// cluster.
-	//
-	// This is applicable only if `create_subnetwork` is true.
-	//
-	// Set to blank to have a range chosen with the default size.
-	//
-	// Set to /netmask (e.g. `/14`) to have a range chosen with a
-	// specific
-	// netmask.
-	//
-	// Set to
-	// a
+	// cluster. This is applicable only if `create_subnetwork` is true. Set
+	// to blank to have a range chosen with the default size. Set to
+	// /netmask (e.g. `/14`) to have a range chosen with a specific netmask.
+	// Set to a
 	// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-	//
 	// notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks
-	// (e.g.
-	// `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific
-	// range
-	// to use.
+	// (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a
+	// specific range to use.
 	NodeIpv4CidrBlock string `json:"nodeIpv4CidrBlock,omitempty"`
 
 	// ServicesIpv4Cidr: This field is deprecated, use
@@ -1953,73 +1777,53 @@
 	ServicesIpv4Cidr string `json:"servicesIpv4Cidr,omitempty"`
 
 	// ServicesIpv4CidrBlock: The IP address range of the services IPs in
-	// this cluster. If blank, a range
-	// will be automatically chosen with the default size.
-	//
-	// This field is only applicable when `use_ip_aliases` is true.
-	//
-	// Set to blank to have a range chosen with the default size.
-	//
-	// Set to /netmask (e.g. `/14`) to have a range chosen with a
-	// specific
-	// netmask.
-	//
-	// Set to
-	// a
+	// this cluster. If blank, a range will be automatically chosen with the
+	// default size. This field is only applicable when `use_ip_aliases` is
+	// true. Set to blank to have a range chosen with the default size. Set
+	// to /netmask (e.g. `/14`) to have a range chosen with a specific
+	// netmask. Set to a
 	// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-	//
 	// notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks
-	// (e.g.
-	// `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific
-	// range
-	// to use.
+	// (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a
+	// specific range to use.
 	ServicesIpv4CidrBlock string `json:"servicesIpv4CidrBlock,omitempty"`
 
 	// ServicesSecondaryRangeName: The name of the secondary range to be
-	// used as for the services
-	// CIDR block.  The secondary range will be used for service
-	// ClusterIPs. This must be an existing secondary range associated
-	// with the cluster subnetwork.
-	//
-	// This field is only applicable with use_ip_aliases is true
-	// and
-	// create_subnetwork is false.
+	// used as for the services CIDR block. The secondary range will be used
+	// for service ClusterIPs. This must be an existing secondary range
+	// associated with the cluster subnetwork. This field is only applicable
+	// with use_ip_aliases is true and create_subnetwork is false.
 	ServicesSecondaryRangeName string `json:"servicesSecondaryRangeName,omitempty"`
 
 	// SubnetworkName: A custom subnetwork name to be used if
-	// `create_subnetwork` is true.  If
-	// this field is empty, then an automatic name will be chosen for the
-	// new
-	// subnetwork.
+	// `create_subnetwork` is true. If this field is empty, then an
+	// automatic name will be chosen for the new subnetwork.
 	SubnetworkName string `json:"subnetworkName,omitempty"`
 
 	// TpuIpv4CidrBlock: The IP address range of the Cloud TPUs in this
-	// cluster. If unspecified, a
-	// range will be automatically chosen with the default size.
-	//
-	// This field is only applicable when `use_ip_aliases` is true.
-	//
-	// If unspecified, the range will use the default size.
-	//
-	// Set to /netmask (e.g. `/14`) to have a range chosen with a
-	// specific
-	// netmask.
-	//
-	// Set to
-	// a
+	// cluster. If unspecified, a range will be automatically chosen with
+	// the default size. This field is only applicable when `use_ip_aliases`
+	// is true. If unspecified, the range will use the default size. Set to
+	// /netmask (e.g. `/14`) to have a range chosen with a specific netmask.
+	// Set to a
 	// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-	//
 	// notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks
-	// (e.g.
-	// `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific
-	// range
-	// to use.
+	// (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a
+	// specific range to use.
 	TpuIpv4CidrBlock string `json:"tpuIpv4CidrBlock,omitempty"`
 
 	// UseIpAliases: Whether alias IPs will be used for pod IPs in the
-	// cluster.
+	// cluster. This is used in conjunction with use_routes. It cannot be
+	// true if use_routes is true. If both use_ip_aliases and use_routes are
+	// false, then the server picks the default IP allocation mode
 	UseIpAliases bool `json:"useIpAliases,omitempty"`
 
+	// UseRoutes: Whether routes will be used for pod IPs in the cluster.
+	// This is used in conjunction with use_ip_aliases. It cannot be true if
+	// use_ip_aliases is true. If both use_ip_aliases and use_routes are
+	// false, then the server picks the default IP allocation mode
+	UseRoutes bool `json:"useRoutes,omitempty"`
+
 	// ForceSendFields is a list of field names (e.g. "ClusterIpv4Cidr") to
 	// unconditionally include in API requests. By default, fields with
 	// empty values are omitted from API requests. However, any non-pointer,
@@ -2045,8 +1849,7 @@
 }
 
 // IntraNodeVisibilityConfig: IntraNodeVisibilityConfig contains the
-// desired config of the intra-node
-// visibility on this cluster.
+// desired config of the intra-node visibility on this cluster.
 type IntraNodeVisibilityConfig struct {
 	// Enabled: Enables intra node visibility for this cluster.
 	Enabled bool `json:"enabled,omitempty"`
@@ -2156,16 +1959,12 @@
 }
 
 // LegacyAbac: Configuration for the legacy Attribute Based Access
-// Control authorization
-// mode.
+// Control authorization mode.
 type LegacyAbac struct {
 	// Enabled: Whether the ABAC authorizer is enabled for this cluster.
-	// When enabled,
-	// identities in the system, including service accounts, nodes,
-	// and
-	// controllers, will have statically granted permissions beyond
-	// those
-	// provided by the RBAC configuration or IAM.
+	// When enabled, identities in the system, including service accounts,
+	// nodes, and controllers, will have statically granted permissions
+	// beyond those provided by the RBAC configuration or IAM.
 	Enabled bool `json:"enabled,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Enabled") to
@@ -2194,14 +1993,12 @@
 // ListClustersResponse: ListClustersResponse is the result of
 // ListClustersRequest.
 type ListClustersResponse struct {
-	// Clusters: A list of clusters in the project in the specified zone,
-	// or
+	// Clusters: A list of clusters in the project in the specified zone, or
 	// across all ones.
 	Clusters []*Cluster `json:"clusters,omitempty"`
 
 	// MissingZones: If any zones are listed here, the list of clusters
-	// returned
-	// may be missing those zones.
+	// returned may be missing those zones.
 	MissingZones []string `json:"missingZones,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2268,8 +2065,7 @@
 // ListOperationsRequest.
 type ListOperationsResponse struct {
 	// MissingZones: If any zones are listed here, the list of operations
-	// returned
-	// may be missing the operations from those zones.
+	// returned may be missing the operations from those zones.
 	MissingZones []string `json:"missingZones,omitempty"`
 
 	// Operations: A list of operations in the project in the specified
@@ -2304,17 +2100,13 @@
 }
 
 // ListUsableSubnetworksResponse: ListUsableSubnetworksResponse is the
-// response of
-// ListUsableSubnetworksRequest.
+// response of ListUsableSubnetworksRequest.
 type ListUsableSubnetworksResponse struct {
 	// NextPageToken: This token allows you to get the next page of results
-	// for list requests.
-	// If the number of results is larger than `page_size`, use
-	// the
-	// `next_page_token` as a value for the query parameter `page_token` in
-	// the
-	// next request. The value will become empty when there are no more
-	// pages.
+	// for list requests. If the number of results is larger than
+	// `page_size`, use the `next_page_token` as a value for the query
+	// parameter `page_token` in the next request. The value will become
+	// empty when there are no more pages.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Subnetworks: A list of usable subnetworks in the specified network
@@ -2352,13 +2144,11 @@
 // to be used for the cluster.
 type MaintenancePolicy struct {
 	// ResourceVersion: A hash identifying the version of this policy, so
-	// that updates to fields of
-	// the policy won't accidentally undo intermediate changes (and so that
-	// users
-	// of the API unaware of some fields won't accidentally remove other
-	// fields).
-	// Make a `get()` request to the cluster to get the current
-	// resource version and include it with requests to set the policy.
+	// that updates to fields of the policy won't accidentally undo
+	// intermediate changes (and so that users of the API unaware of some
+	// fields won't accidentally remove other fields). Make a `get()`
+	// request to the cluster to get the current resource version and
+	// include it with requests to set the policy.
 	ResourceVersion string `json:"resourceVersion,omitempty"`
 
 	// Window: Specifies the maintenance window in which maintenance may be
@@ -2397,15 +2187,13 @@
 	DailyMaintenanceWindow *DailyMaintenanceWindow `json:"dailyMaintenanceWindow,omitempty"`
 
 	// MaintenanceExclusions: Exceptions to maintenance window.
-	// Non-emergency maintenance should not
-	// occur in these windows.
+	// Non-emergency maintenance should not occur in these windows.
 	MaintenanceExclusions map[string]TimeWindow `json:"maintenanceExclusions,omitempty"`
 
 	// RecurringWindow: RecurringWindow specifies some number of recurring
-	// time periods for
-	// maintenance to occur. The time windows may be overlapping. If
-	// no
-	// maintenance windows are set, maintenance can occur at any time.
+	// time periods for maintenance to occur. The time windows may be
+	// overlapping. If no maintenance windows are set, maintenance can occur
+	// at any time.
 	RecurringWindow *RecurringTimeWindow `json:"recurringWindow,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -2434,47 +2222,36 @@
 }
 
 // MasterAuth: The authentication information for accessing the master
-// endpoint.
-// Authentication can be done using HTTP basic auth or using
-// client
-// certificates.
+// endpoint. Authentication can be done using HTTP basic auth or using
+// client certificates.
 type MasterAuth struct {
 	// ClientCertificate: [Output only] Base64-encoded public certificate
-	// used by clients to
-	// authenticate to the cluster endpoint.
+	// used by clients to authenticate to the cluster endpoint.
 	ClientCertificate string `json:"clientCertificate,omitempty"`
 
 	// ClientCertificateConfig: Configuration for client certificate
-	// authentication on the cluster. For
-	// clusters before v1.12, if no configuration is specified, a
-	// client
-	// certificate is issued.
+	// authentication on the cluster. For clusters before v1.12, if no
+	// configuration is specified, a client certificate is issued.
 	ClientCertificateConfig *ClientCertificateConfig `json:"clientCertificateConfig,omitempty"`
 
 	// ClientKey: [Output only] Base64-encoded private key used by clients
-	// to authenticate
-	// to the cluster endpoint.
+	// to authenticate to the cluster endpoint.
 	ClientKey string `json:"clientKey,omitempty"`
 
 	// ClusterCaCertificate: [Output only] Base64-encoded public certificate
-	// that is the root of
-	// trust for the cluster.
+	// that is the root of trust for the cluster.
 	ClusterCaCertificate string `json:"clusterCaCertificate,omitempty"`
 
 	// Password: The password to use for HTTP basic authentication to the
-	// master endpoint.
-	// Because the master endpoint is open to the Internet, you should
-	// create a
-	// strong password.  If a password is provided for cluster creation,
-	// username
-	// must be non-empty.
+	// master endpoint. Because the master endpoint is open to the Internet,
+	// you should create a strong password. If a password is provided for
+	// cluster creation, username must be non-empty.
 	Password string `json:"password,omitempty"`
 
 	// Username: The username to use for HTTP basic authentication to the
-	// master endpoint.
-	// For clusters v1.6.0 and later, basic authentication can be disabled
-	// by
-	// leaving username unspecified (or setting it to the empty string).
+	// master endpoint. For clusters v1.6.0 and later, basic authentication
+	// can be disabled by leaving username unspecified (or setting it to the
+	// empty string).
 	Username string `json:"username,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClientCertificate")
@@ -2502,16 +2279,13 @@
 }
 
 // MasterAuthorizedNetworksConfig: Configuration options for the master
-// authorized networks feature. Enabled
-// master authorized networks will disallow all external traffic to
-// access
-// Kubernetes master through HTTPS except traffic from the given CIDR
-// blocks,
-// Google Compute Engine Public IPs and Google Prod IPs.
+// authorized networks feature. Enabled master authorized networks will
+// disallow all external traffic to access Kubernetes master through
+// HTTPS except traffic from the given CIDR blocks, Google Compute
+// Engine Public IPs and Google Prod IPs.
 type MasterAuthorizedNetworksConfig struct {
 	// CidrBlocks: cidr_blocks define up to 50 external networks that could
-	// access
-	// Kubernetes master through HTTPS.
+	// access Kubernetes master through HTTPS.
 	CidrBlocks []*CidrBlock `json:"cidrBlocks,omitempty"`
 
 	// Enabled: Whether or not master authorized networks is enabled.
@@ -2624,45 +2398,45 @@
 // NetworkConfig: NetworkConfig reports the relative names of network &
 // subnetwork.
 type NetworkConfig struct {
+	// DefaultSnatStatus: Whether the cluster disables default in-node sNAT
+	// rules. In-node sNAT rules will be disabled when default_snat_status
+	// is disabled. When disabled is set to false, default IP masquerade
+	// rules will be applied to the nodes to prevent sNAT on cluster
+	// internal traffic.
+	DefaultSnatStatus *DefaultSnatStatus `json:"defaultSnatStatus,omitempty"`
+
 	// EnableIntraNodeVisibility: Whether Intra-node visibility is enabled
-	// for this cluster.
-	// This makes same node pod to pod traffic visible for VPC network.
+	// for this cluster. This makes same node pod to pod traffic visible for
+	// VPC network.
 	EnableIntraNodeVisibility bool `json:"enableIntraNodeVisibility,omitempty"`
 
-	// Network: Output only. The relative name of the Google Compute
-	// Engine
-	// network(https://cloud.google.com/compute/docs/networks-and-fire
-	// walls#networks)
-	// to which the cluster is connected.
-	// Example:
+	// Network: Output only. The relative name of the Google Compute Engine
+	// network(https://cloud.google.com/compute/docs/networks-and-firewalls#n
+	// etworks) to which the cluster is connected. Example:
 	// projects/my-project/global/networks/my-network
 	Network string `json:"network,omitempty"`
 
 	// Subnetwork: Output only. The relative name of the Google Compute
-	// Engine
-	// [subnetwork](https://cloud.google.com/compute/docs/vpc) to which
-	// the
-	// cluster is connected.
-	// Example:
+	// Engine [subnetwork](https://cloud.google.com/compute/docs/vpc) to
+	// which the cluster is connected. Example:
 	// projects/my-project/regions/us-central1/subnetworks/my-subnet
 	Subnetwork string `json:"subnetwork,omitempty"`
 
-	// ForceSendFields is a list of field names (e.g.
-	// "EnableIntraNodeVisibility") to unconditionally include in API
-	// requests. By default, fields with empty values are omitted from API
-	// requests. However, any non-pointer, non-interface field appearing in
-	// ForceSendFields will be sent to the server regardless of whether the
-	// field is empty or not. This may be used to include empty fields in
-	// Patch requests.
+	// ForceSendFields is a list of field names (e.g. "DefaultSnatStatus")
+	// to unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
 	ForceSendFields []string `json:"-"`
 
-	// NullFields is a list of field names (e.g.
-	// "EnableIntraNodeVisibility") to include in API requests with the JSON
-	// null value. By default, fields with empty values are omitted from API
-	// requests. However, any field with an empty value appearing in
-	// NullFields will be sent to the server as null. It is an error if a
-	// field in this list has a non-empty value. This may be used to include
-	// null fields in Patch requests.
+	// NullFields is a list of field names (e.g. "DefaultSnatStatus") to
+	// include in API requests with the JSON null value. By default, fields
+	// with empty values are omitted from API requests. However, any field
+	// with an empty value appearing in NullFields will be sent to the
+	// server as null. It is an error if a field in this list has a
+	// non-empty value. This may be used to include null fields in Patch
+	// requests.
 	NullFields []string `json:"-"`
 }
 
@@ -2672,10 +2446,8 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// NetworkPolicy: Configuration options for the NetworkPolicy
-// feature.
-// https://kubernetes.io/docs/concepts/services-networking/netwo
-// rkpolicies/
+// NetworkPolicy: Configuration options for the NetworkPolicy feature.
+// https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
 type NetworkPolicy struct {
 	// Enabled: Whether network policy is enabled on the cluster.
 	Enabled bool `json:"enabled,omitempty"`
@@ -2711,10 +2483,8 @@
 }
 
 // NetworkPolicyConfig: Configuration for NetworkPolicy. This only
-// tracks whether the addon
-// is enabled or not on the Master, it does not track whether network
-// policy
-// is enabled for the nodes.
+// tracks whether the addon is enabled or not on the Master, it does not
+// track whether network policy is enabled for the nodes.
 type NetworkPolicyConfig struct {
 	// Disabled: Whether NetworkPolicy is enabled for this cluster.
 	Disabled bool `json:"disabled,omitempty"`
@@ -2745,212 +2515,134 @@
 // NodeConfig: Parameters that describe the nodes in a cluster.
 type NodeConfig struct {
 	// Accelerators: A list of hardware accelerators to be attached to each
-	// node.
-	// See https://cloud.google.com/compute/docs/gpus for more information
-	// about
-	// support for GPUs.
+	// node. See https://cloud.google.com/compute/docs/gpus for more
+	// information about support for GPUs.
 	Accelerators []*AcceleratorConfig `json:"accelerators,omitempty"`
 
-	// BootDiskKmsKey:
-	// The Customer Managed Encryption Key used to encrypt the boot disk
-	// attached
-	// to each node in the node pool. This should be of the
-	// form
-	// projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAM
-	// E]/cryptoKeys/[KEY_NAME].
-	// For more information about protecting resources with Cloud KMS Keys
-	// please
-	// see:
-	// https://cloud.google.com/compute/docs/disks/customer-manag
-	// ed-encryption
+	// BootDiskKmsKey:  The Customer Managed Encryption Key used to encrypt
+	// the boot disk attached to each node in the node pool. This should be
+	// of the form
+	// projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cr
+	// yptoKeys/[KEY_NAME]. For more information about protecting resources
+	// with Cloud KMS Keys please see:
+	// https://cloud.google.com/compute/docs/disks/customer-managed-encryption
 	BootDiskKmsKey string `json:"bootDiskKmsKey,omitempty"`
 
-	// DiskSizeGb: Size of the disk attached to each node, specified in
-	// GB.
-	// The smallest allowed disk size is 10GB.
-	//
-	// If unspecified, the default disk size is 100GB.
+	// DiskSizeGb: Size of the disk attached to each node, specified in GB.
+	// The smallest allowed disk size is 10GB. If unspecified, the default
+	// disk size is 100GB.
 	DiskSizeGb int64 `json:"diskSizeGb,omitempty"`
 
 	// DiskType: Type of the disk attached to each node (e.g. 'pd-standard'
-	// or 'pd-ssd')
-	//
-	// If unspecified, the default disk type is 'pd-standard'
+	// or 'pd-ssd') If unspecified, the default disk type is 'pd-standard'
 	DiskType string `json:"diskType,omitempty"`
 
 	// ImageType: The image type to use for this node. Note that for a given
-	// image type,
-	// the latest version of it will be used.
+	// image type, the latest version of it will be used.
 	ImageType string `json:"imageType,omitempty"`
 
 	// Labels: The map of Kubernetes labels (key/value pairs) to be applied
-	// to each node.
-	// These will added in addition to any default label(s) that
-	// Kubernetes may apply to the node.
-	// In case of conflict in label keys, the applied set may differ
-	// depending on
-	// the Kubernetes version -- it's best to assume the behavior is
-	// undefined
-	// and conflicts should be avoided.
-	// For more information, including usage and the valid values,
-	// see:
-	// https://kubernetes.io/docs/concepts/overview/working-with-objects
-	// /labels/
+	// to each node. These will added in addition to any default label(s)
+	// that Kubernetes may apply to the node. In case of conflict in label
+	// keys, the applied set may differ depending on the Kubernetes version
+	// -- it's best to assume the behavior is undefined and conflicts should
+	// be avoided. For more information, including usage and the valid
+	// values, see:
+	// https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// LocalSsdCount: The number of local SSD disks to be attached to the
-	// node.
-	//
-	// The limit for this value is dependent upon the maximum number
-	// of
-	// disks available on a machine per zone.
-	// See:
-	// https://cloud.google.com/compute/docs/disks/local-ssd
-	// for more information.
+	// node. The limit for this value is dependent upon the maximum number
+	// of disks available on a machine per zone. See:
+	// https://cloud.google.com/compute/docs/disks/local-ssd for more
+	// information.
 	LocalSsdCount int64 `json:"localSsdCount,omitempty"`
 
-	// MachineType: The name of a Google Compute Engine
-	// [machine
-	// type](https://cloud.google.com/compute/docs/machine-types)
-	// (e.g.
-	// `n1-standard-1`).
-	//
-	// If unspecified, the default machine type is
-	// `n1-standard-1`.
+	// MachineType: The name of a Google Compute Engine [machine
+	// type](https://cloud.google.com/compute/docs/machine-types) If
+	// unspecified, the default machine type is `e2-medium`.
 	MachineType string `json:"machineType,omitempty"`
 
 	// Metadata: The metadata key/value pairs assigned to instances in the
-	// cluster.
-	//
-	// Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128
-	// bytes
-	// in length. These are reflected as part of a URL in the metadata
-	// server.
-	// Additionally, to avoid ambiguity, keys must not conflict with any
-	// other
-	// metadata keys for the project or be one of the reserved keys:
-	//  - "cluster-location"
-	//  - "cluster-name"
-	//  - "cluster-uid"
-	//  - "configure-sh"
-	//  - "containerd-configure-sh"
-	//  - "enable-os-login"
-	//  - "gci-ensure-gke-docker"
-	//  - "gci-metrics-enabled"
-	//  - "gci-update-strategy"
-	//  - "instance-template"
-	//  - "kube-env"
-	//  - "startup-script"
-	//  - "user-data"
-	//  - "disable-address-manager"
-	//  - "windows-startup-script-ps1"
-	//  - "common-psm1"
-	//  - "k8s-node-setup-psm1"
-	//  - "install-ssh-psm1"
-	//  - "user-profile-psm1"
-	//  - "serial-port-logging-enable"
-	//
-	// Values are free-form strings, and only have meaning as interpreted
-	// by
-	// the image running in the instance. The only restriction placed on
-	// them is
-	// that each value's size must be less than or equal to 32 KB.
-	//
-	// The total size of all keys and values must be less than 512 KB.
+	// cluster. Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less
+	// than 128 bytes in length. These are reflected as part of a URL in the
+	// metadata server. Additionally, to avoid ambiguity, keys must not
+	// conflict with any other metadata keys for the project or be one of
+	// the reserved keys: - "cluster-location" - "cluster-name" -
+	// "cluster-uid" - "configure-sh" - "containerd-configure-sh" -
+	// "enable-os-login" - "gci-ensure-gke-docker" - "gci-metrics-enabled" -
+	// "gci-update-strategy" - "instance-template" - "kube-env" -
+	// "startup-script" - "user-data" - "disable-address-manager" -
+	// "windows-startup-script-ps1" - "common-psm1" - "k8s-node-setup-psm1"
+	// - "install-ssh-psm1" - "user-profile-psm1" -
+	// "serial-port-logging-enable" Values are free-form strings, and only
+	// have meaning as interpreted by the image running in the instance. The
+	// only restriction placed on them is that each value's size must be
+	// less than or equal to 32 KB. The total size of all keys and values
+	// must be less than 512 KB.
 	Metadata map[string]string `json:"metadata,omitempty"`
 
 	// MinCpuPlatform: Minimum CPU platform to be used by this instance. The
-	// instance may be
-	// scheduled on the specified or newer CPU platform. Applicable values
-	// are the
-	// friendly names of CPU platforms, such as
-	// `minCpuPlatform: "Intel Haswell" or
-	// `minCpuPlatform: "Intel Sandy Bridge". For more
-	// information, read [how to specify min
-	// CPU
-	// platform](https://cloud.google.com/compute/docs/instances/specify-
-	// min-cpu-platform)
+	// instance may be scheduled on the specified or newer CPU platform.
+	// Applicable values are the friendly names of CPU platforms, such as
+	// `minCpuPlatform: "Intel Haswell" or `minCpuPlatform: "Intel Sandy
+	// Bridge". For more information, read [how to specify min CPU
+	// platform](https://cloud.google.com/compute/docs/instances/specify-min-
+	// cpu-platform)
 	MinCpuPlatform string `json:"minCpuPlatform,omitempty"`
 
-	// NodeGroup: Setting this field will assign instances of this
-	// pool to run on the specified node group. This is useful for
-	// running
-	// workloads on [sole
-	// tenant
-	// nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-
-	// nodes).
+	// NodeGroup: Setting this field will assign instances of this pool to
+	// run on the specified node group. This is useful for running workloads
+	// on [sole tenant
+	// nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).
 	NodeGroup string `json:"nodeGroup,omitempty"`
 
 	// OauthScopes: The set of Google API scopes to be made available on all
-	// of the
-	// node VMs under the "default" service account.
-	//
-	// The following scopes are recommended, but not required, and by
-	// default are
-	// not included:
-	//
-	// * `https://www.googleapis.com/auth/compute` is required for
-	// mounting
-	// persistent storage on your nodes.
-	// * `https://www.googleapis.com/auth/devstorage.read_only` is required
-	// for
-	// communicating with **gcr.io**
-	// (the [Google
-	// Container
-	// Registry](https://cloud.google.com/container-registry/)).
-	//
-	// I
-	// f unspecified, no scopes are added, unless Cloud Logging or
-	// Cloud
+	// of the node VMs under the "default" service account. The following
+	// scopes are recommended, but not required, and by default are not
+	// included: * `https://www.googleapis.com/auth/compute` is required for
+	// mounting persistent storage on your nodes. *
+	// `https://www.googleapis.com/auth/devstorage.read_only` is required
+	// for communicating with **gcr.io** (the [Google Container
+	// Registry](https://cloud.google.com/container-registry/)). If
+	// unspecified, no scopes are added, unless Cloud Logging or Cloud
 	// Monitoring are enabled, in which case their required scopes will be
 	// added.
 	OauthScopes []string `json:"oauthScopes,omitempty"`
 
 	// Preemptible: Whether the nodes are created as preemptible VM
-	// instances.
-	// See:
-	// https://cloud.google.com/compute/docs/instances/preemptible for
-	// more
+	// instances. See:
+	// https://cloud.google.com/compute/docs/instances/preemptible for more
 	// information about preemptible VM instances.
 	Preemptible bool `json:"preemptible,omitempty"`
 
 	// ReservationAffinity: The optional reservation affinity. Setting this
-	// field will apply
-	// the specified [Zonal
-	// Compute
-	// Reservation](https://cloud.google.com/compute/docs/instances/r
-	// eserving-zonal-resources)
-	// to this node pool.
+	// field will apply the specified [Zonal Compute
+	// Reservation](https://cloud.google.com/compute/docs/instances/reserving
+	// -zonal-resources) to this node pool.
 	ReservationAffinity *ReservationAffinity `json:"reservationAffinity,omitempty"`
 
 	// SandboxConfig: Sandbox configuration for this node.
 	SandboxConfig *SandboxConfig `json:"sandboxConfig,omitempty"`
 
 	// ServiceAccount: The Google Cloud Platform Service Account to be used
-	// by the node VMs.
-	// Specify the email address of the Service Account; otherwise, if no
-	// Service
-	// Account is specified, the "default" service account is used.
+	// by the node VMs. Specify the email address of the Service Account;
+	// otherwise, if no Service Account is specified, the "default" service
+	// account is used.
 	ServiceAccount string `json:"serviceAccount,omitempty"`
 
 	// ShieldedInstanceConfig: Shielded Instance options.
 	ShieldedInstanceConfig *ShieldedInstanceConfig `json:"shieldedInstanceConfig,omitempty"`
 
 	// Tags: The list of instance tags applied to all nodes. Tags are used
-	// to identify
-	// valid sources or targets for network firewalls and are specified
-	// by
-	// the client during cluster or node pool creation. Each tag within the
-	// list
-	// must comply with RFC1035.
+	// to identify valid sources or targets for network firewalls and are
+	// specified by the client during cluster or node pool creation. Each
+	// tag within the list must comply with RFC1035.
 	Tags []string `json:"tags,omitempty"`
 
-	// Taints: List of kubernetes taints to be applied to each node.
-	//
-	// For more information, including usage and the valid values,
-	// see:
-	// https://kubernetes.io/docs/concepts/configuration/taint-and-toler
-	// ation/
+	// Taints: List of kubernetes taints to be applied to each node. For
+	// more information, including usage and the valid values, see:
+	// https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
 	Taints []*NodeTaint `json:"taints,omitempty"`
 
 	// WorkloadMetadataConfig: The workload metadata configuration for this
@@ -2981,23 +2673,18 @@
 }
 
 // NodeManagement: NodeManagement defines the set of node management
-// services turned on for the
-// node pool.
+// services turned on for the node pool.
 type NodeManagement struct {
 	// AutoRepair: A flag that specifies whether the node auto-repair is
-	// enabled for the node
-	// pool. If enabled, the nodes in this node pool will be monitored and,
-	// if
-	// they fail health checks too many times, an automatic repair action
-	// will be
-	// triggered.
+	// enabled for the node pool. If enabled, the nodes in this node pool
+	// will be monitored and, if they fail health checks too many times, an
+	// automatic repair action will be triggered.
 	AutoRepair bool `json:"autoRepair,omitempty"`
 
 	// AutoUpgrade: A flag that specifies whether node auto-upgrade is
-	// enabled for the node
-	// pool. If enabled, node auto-upgrade helps keep the nodes in your node
-	// pool
-	// up to date with the latest release version of Kubernetes.
+	// enabled for the node pool. If enabled, node auto-upgrade helps keep
+	// the nodes in your node pool up to date with the latest release
+	// version of Kubernetes.
 	AutoUpgrade bool `json:"autoUpgrade,omitempty"`
 
 	// UpgradeOptions: Specifies the Auto Upgrade knobs for the node pool.
@@ -3027,20 +2714,14 @@
 }
 
 // NodePool: NodePool contains the name and configuration for a
-// cluster's node pool.
-// Node pools are a set of nodes (i.e. VM's), with a common
-// configuration and
-// specification, under the control of the cluster master. They may have
-// a set
-// of Kubernetes labels applied to them, which may be used to reference
-// them
-// during pod scheduling. They may also be resized up or down, to
-// accommodate
-// the workload.
+// cluster's node pool. Node pools are a set of nodes (i.e. VM's), with
+// a common configuration and specification, under the control of the
+// cluster master. They may have a set of Kubernetes labels applied to
+// them, which may be used to reference them during pod scheduling. They
+// may also be resized up or down, to accommodate the workload.
 type NodePool struct {
 	// Autoscaling: Autoscaler configuration for this NodePool. Autoscaler
-	// is enabled
-	// only if a valid configuration is present.
+	// is enabled only if a valid configuration is present.
 	Autoscaling *NodePoolAutoscaling `json:"autoscaling,omitempty"`
 
 	// Conditions: Which conditions caused the current node pool state.
@@ -3050,34 +2731,28 @@
 	Config *NodeConfig `json:"config,omitempty"`
 
 	// InitialNodeCount: The initial node count for the pool. You must
-	// ensure that your
-	// Compute Engine [resource
-	// quota](https://cloud.google.com/compute/quotas)
-	// is sufficient for this number of instances. You must also have
-	// available
-	// firewall and routes quota.
+	// ensure that your Compute Engine [resource
+	// quota](https://cloud.google.com/compute/quotas) is sufficient for
+	// this number of instances. You must also have available firewall and
+	// routes quota.
 	InitialNodeCount int64 `json:"initialNodeCount,omitempty"`
 
 	// InstanceGroupUrls: [Output only] The resource URLs of the [managed
 	// instance
-	// groups](https://cloud.google.com/compute/docs/instance-groups
-	// /creating-groups-of-managed-instances)
-	// associated with this node pool.
+	// groups](https://cloud.google.com/compute/docs/instance-groups/creating
+	// -groups-of-managed-instances) associated with this node pool.
 	InstanceGroupUrls []string `json:"instanceGroupUrls,omitempty"`
 
-	// Locations: The list of Google Compute
-	// Engine
+	// Locations: The list of Google Compute Engine
 	// [zones](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// NodePool's nodes should be located.
+	// which the NodePool's nodes should be located.
 	Locations []string `json:"locations,omitempty"`
 
 	// Management: NodeManagement configuration for this NodePool.
 	Management *NodeManagement `json:"management,omitempty"`
 
 	// MaxPodsConstraint: The constraint on the maximum number of pods that
-	// can be run
-	// simultaneously on a node in the node pool.
+	// can be run simultaneously on a node in the node pool.
 	MaxPodsConstraint *MaxPodsConstraint `json:"maxPodsConstraint,omitempty"`
 
 	// Name: The name of the node pool.
@@ -3097,29 +2772,22 @@
 	//   "PROVISIONING" - The PROVISIONING state indicates the node pool is
 	// being created.
 	//   "RUNNING" - The RUNNING state indicates the node pool has been
-	// created
-	// and is fully usable.
+	// created and is fully usable.
 	//   "RUNNING_WITH_ERROR" - The RUNNING_WITH_ERROR state indicates the
-	// node pool has been created
-	// and is partially usable. Some error state has occurred and
-	// some
-	// functionality may be impaired. Customer may need to reissue a
-	// request
-	// or trigger a new update.
+	// node pool has been created and is partially usable. Some error state
+	// has occurred and some functionality may be impaired. Customer may
+	// need to reissue a request or trigger a new update.
 	//   "RECONCILING" - The RECONCILING state indicates that some work is
-	// actively being done on
-	// the node pool, such as upgrading node software. Details can
-	// be found in the `statusMessage` field.
+	// actively being done on the node pool, such as upgrading node
+	// software. Details can be found in the `statusMessage` field.
 	//   "STOPPING" - The STOPPING state indicates the node pool is being
 	// deleted.
 	//   "ERROR" - The ERROR state indicates the node pool may be unusable.
-	// Details
-	// can be found in the `statusMessage` field.
+	// Details can be found in the `statusMessage` field.
 	Status string `json:"status,omitempty"`
 
 	// StatusMessage: [Output only] Additional information about the current
-	// status of this
-	// node pool instance, if available.
+	// status of this node pool instance, if available.
 	StatusMessage string `json:"statusMessage,omitempty"`
 
 	// UpgradeSettings: Upgrade settings control disruption and speed of the
@@ -3157,8 +2825,8 @@
 }
 
 // NodePoolAutoscaling: NodePoolAutoscaling contains information
-// required by cluster autoscaler to
-// adjust the size of the node pool to the current cluster usage.
+// required by cluster autoscaler to adjust the size of the node pool to
+// the current cluster usage.
 type NodePoolAutoscaling struct {
 	// Autoprovisioned: Can this node pool be deleted automatically.
 	Autoprovisioned bool `json:"autoprovisioned,omitempty"`
@@ -3167,13 +2835,11 @@
 	Enabled bool `json:"enabled,omitempty"`
 
 	// MaxNodeCount: Maximum number of nodes in the NodePool. Must be >=
-	// min_node_count. There
-	// has to enough quota to scale up the cluster.
+	// min_node_count. There has to enough quota to scale up the cluster.
 	MaxNodeCount int64 `json:"maxNodeCount,omitempty"`
 
 	// MinNodeCount: Minimum number of nodes in the NodePool. Must be >= 1
-	// and <=
-	// max_node_count.
+	// and <= max_node_count.
 	MinNodeCount int64 `json:"minNodeCount,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Autoprovisioned") to
@@ -3201,14 +2867,10 @@
 }
 
 // NodeTaint: Kubernetes taint is comprised of three fields: key, value,
-// and effect. Effect
-// can only be one of three types:  NoSchedule, PreferNoSchedule or
-// NoExecute.
-//
-// See
-// [here](https://kubernetes.io/docs/concepts/configurati
-// on/taint-and-toleration)
-// for more information, including usage and the valid values.
+// and effect. Effect can only be one of three types: NoSchedule,
+// PreferNoSchedule or NoExecute. See
+// [here](https://kubernetes.io/docs/concepts/configuration/taint-and-tol
+// eration) for more information, including usage and the valid values.
 type NodeTaint struct {
 	// Effect: Effect for taint.
 	//
@@ -3249,8 +2911,8 @@
 }
 
 // Operation: This operation resource represents operations that may
-// have happened or are
-// happening on the cluster. All fields are output only.
+// have happened or are happening on the cluster. All fields are output
+// only.
 type Operation struct {
 	// ClusterConditions: Which conditions caused the current cluster state.
 	ClusterConditions []*StatusCondition `json:"clusterConditions,omitempty"`
@@ -3258,19 +2920,15 @@
 	// Detail: Detailed operation progress, if available.
 	Detail string `json:"detail,omitempty"`
 
-	// EndTime: [Output only] The time the operation completed,
-	// in
+	// EndTime: [Output only] The time the operation completed, in
 	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
 	EndTime string `json:"endTime,omitempty"`
 
-	// Location: [Output only] The name of the Google Compute
-	// Engine
-	// [zone](https://cloud.google.com/compute/docs/regions-zones/regi
-	// ons-zones#available)
-	// or
-	// [region](https://cloud.google.com/compute/docs
-	// /regions-zones/regions-zones#available)
-	// in which the cluster resides.
+	// Location: [Output only] The name of the Google Compute Engine
+	// [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zon
+	// es#available) or
+	// [region](https://cloud.google.com/compute/docs/regions-zones/regions-z
+	// ones#available) in which the cluster resides.
 	Location string `json:"location,omitempty"`
 
 	// Name: The server-assigned ID for the operation.
@@ -3309,8 +2967,7 @@
 	// SelfLink: Server-defined URL for the resource.
 	SelfLink string `json:"selfLink,omitempty"`
 
-	// StartTime: [Output only] The time the operation started,
-	// in
+	// StartTime: [Output only] The time the operation started, in
 	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
 	StartTime string `json:"startTime,omitempty"`
 
@@ -3331,12 +2988,10 @@
 	// TargetLink: Server-defined URL for the target of the operation.
 	TargetLink string `json:"targetLink,omitempty"`
 
-	// Zone: The name of the Google Compute
-	// Engine
+	// Zone: The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// operation is taking place. This field is deprecated, use location
-	// instead.
+	// which the operation is taking place. This field is deprecated, use
+	// location instead.
 	Zone string `json:"zone,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -3370,23 +3025,21 @@
 // OperationProgress: Information about operation (or operation stage)
 // progress.
 type OperationProgress struct {
-	// Metrics: Progress metric bundle, for example:
-	//   metrics: [{name: "nodes done",     int_value: 15},
-	//             {name: "nodes total",    int_value: 32}]
-	// or
-	//   metrics: [{name: "progress",       double_value: 0.56},
-	//             {name: "progress scale", double_value: 1.0}]
+	// Metrics: Progress metric bundle, for example: metrics: [{name: "nodes
+	// done", int_value: 15}, {name: "nodes total", int_value: 32}] or
+	// metrics: [{name: "progress", double_value: 0.56}, {name: "progress
+	// scale", double_value: 1.0}]
 	Metrics []*Metric `json:"metrics,omitempty"`
 
-	// Name: A non-parameterized string describing an operation stage.
-	// Unset for single-stage operations.
+	// Name: A non-parameterized string describing an operation stage. Unset
+	// for single-stage operations.
 	Name string `json:"name,omitempty"`
 
 	// Stages: Substages of an operation or a stage.
 	Stages []*OperationProgress `json:"stages,omitempty"`
 
-	// Status: Status of an operation stage.
-	// Unset for single-stage operations.
+	// Status: Status of an operation stage. Unset for single-stage
+	// operations.
 	//
 	// Possible values:
 	//   "STATUS_UNSPECIFIED" - Not set.
@@ -3426,19 +3079,18 @@
 	EnablePrivateEndpoint bool `json:"enablePrivateEndpoint,omitempty"`
 
 	// EnablePrivateNodes: Whether nodes have internal IP addresses only. If
-	// enabled, all nodes are
-	// given only RFC 1918 private addresses and communicate with the master
-	// via
-	// private networking.
+	// enabled, all nodes are given only RFC 1918 private addresses and
+	// communicate with the master via private networking.
 	EnablePrivateNodes bool `json:"enablePrivateNodes,omitempty"`
 
+	// MasterGlobalAccessConfig: Controls master global access settings.
+	MasterGlobalAccessConfig *PrivateClusterMasterGlobalAccessConfig `json:"masterGlobalAccessConfig,omitempty"`
+
 	// MasterIpv4CidrBlock: The IP range in CIDR notation to use for the
-	// hosted master network. This
-	// range will be used for assigning internal IP addresses to the master
-	// or
-	// set of masters, as well as the ILB VIP. This range must not overlap
-	// with
-	// any other ranges in use within the cluster's network.
+	// hosted master network. This range will be used for assigning internal
+	// IP addresses to the master or set of masters, as well as the ILB VIP.
+	// This range must not overlap with any other ranges in use within the
+	// cluster's network.
 	MasterIpv4CidrBlock string `json:"masterIpv4CidrBlock,omitempty"`
 
 	// PeeringName: Output only. The peering name in the customer VPC used
@@ -3478,50 +3130,57 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// PrivateClusterMasterGlobalAccessConfig: Configuration for controlling
+// master global access settings.
+type PrivateClusterMasterGlobalAccessConfig struct {
+	// Enabled: Whenever master is accessible globally or not.
+	Enabled bool `json:"enabled,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "Enabled") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "Enabled") to include in
+	// API requests with the JSON null value. By default, fields with empty
+	// values are omitted from API requests. However, any field with an
+	// empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *PrivateClusterMasterGlobalAccessConfig) MarshalJSON() ([]byte, error) {
+	type NoMethod PrivateClusterMasterGlobalAccessConfig
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // RecurringTimeWindow: Represents an arbitrary window of time that
 // recurs.
 type RecurringTimeWindow struct {
 	// Recurrence: An RRULE
-	// (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how
-	// this window reccurs. They go on for the span of time between the
-	// start and
-	// end time.
-	//
-	// For example, to have something repeat every weekday, you'd
-	// use:
-	// `FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR`
-	//
-	// To repeat some window daily (equivalent to the
-	// DailyMaintenanceWindow):
-	// `FREQ=DAILY`
-	//
-	// For the first weekend of every
-	// month:
-	// `FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU`
-	//
+	// (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how this
+	// window reccurs. They go on for the span of time between the start and
+	// end time. For example, to have something repeat every weekday, you'd
+	// use: `FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR` To repeat some window daily
+	// (equivalent to the DailyMaintenanceWindow): `FREQ=DAILY` For the
+	// first weekend of every month: `FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU`
 	// This specifies how frequently the window starts. Eg, if you wanted to
-	// have
-	// a 9-5 UTC-4 window every weekday, you'd use something like:
-	// ```
-	// start time = 2019-01-01T09:00:00-0400
-	// end time = 2019-01-01T17:00:00-0400
-	// recurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
-	// ```
-	//
-	// Windows can span multiple days. Eg, to make the window encompass
-	// every
-	// weekend from midnight Saturday till the last minute of Sunday
-	// UTC:
-	// ```
-	// start time = 2019-01-05T00:00:00Z
-	// end time = 2019-01-07T23:59:00Z
-	// recurrence = FREQ=WEEKLY;BYDAY=SA
-	// ```
-	//
-	// Note the start and end time's specific dates are largely arbitrary
-	// except
-	// to specify duration of the window and when it first starts.
-	// The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.
+	// have a 9-5 UTC-4 window every weekday, you'd use something like: ```
+	// start time = 2019-01-01T09:00:00-0400 end time =
+	// 2019-01-01T17:00:00-0400 recurrence =
+	// FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR ``` Windows can span multiple days.
+	// Eg, to make the window encompass every weekend from midnight Saturday
+	// till the last minute of Sunday UTC: ``` start time =
+	// 2019-01-05T00:00:00Z end time = 2019-01-07T23:59:00Z recurrence =
+	// FREQ=WEEKLY;BYDAY=SA ``` Note the start and end time's specific dates
+	// are largely arbitrary except to specify duration of the window and
+	// when it first starts. The FREQ values of HOURLY, MINUTELY, and
+	// SECONDLY are not supported.
 	Recurrence string `json:"recurrence,omitempty"`
 
 	// Window: The window of the first recurrence.
@@ -3551,14 +3210,10 @@
 }
 
 // ReleaseChannel: ReleaseChannel indicates which release channel a
-// cluster is
-// subscribed to. Release channels are arranged in order of risk.
-//
-// When a cluster is subscribed to a release channel, Google
-// maintains
-// both the master version and the node version. Node
-// auto-upgrade
-// defaults to true and cannot be disabled.
+// cluster is subscribed to. Release channels are arranged in order of
+// risk. When a cluster is subscribed to a release channel, Google
+// maintains both the master version and the node version. Node
+// auto-upgrade defaults to true and cannot be disabled.
 type ReleaseChannel struct {
 	// Channel: channel specifies which release channel the cluster is
 	// subscribed to.
@@ -3566,22 +3221,14 @@
 	// Possible values:
 	//   "UNSPECIFIED" - No channel specified.
 	//   "RAPID" - RAPID channel is offered on an early access basis for
-	// customers who want
-	// to test new releases.
-	//
-	// WARNING: Versions available in the RAPID Channel may be subject
-	// to
-	// unresolved issues with no known workaround and are not subject to
-	// any
-	// SLAs.
+	// customers who want to test new releases. WARNING: Versions available
+	// in the RAPID Channel may be subject to unresolved issues with no
+	// known workaround and are not subject to any SLAs.
 	//   "REGULAR" - Clusters subscribed to REGULAR receive versions that
-	// are considered GA
-	// quality. REGULAR is intended for production users who want to
-	// take
-	// advantage of new features.
+	// are considered GA quality. REGULAR is intended for production users
+	// who want to take advantage of new features.
 	//   "STABLE" - Clusters subscribed to STABLE receive versions that are
-	// known to be
-	// stable and reliable in production.
+	// known to be stable and reliable in production.
 	Channel string `json:"channel,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Channel") to
@@ -3615,22 +3262,14 @@
 	// Possible values:
 	//   "UNSPECIFIED" - No channel specified.
 	//   "RAPID" - RAPID channel is offered on an early access basis for
-	// customers who want
-	// to test new releases.
-	//
-	// WARNING: Versions available in the RAPID Channel may be subject
-	// to
-	// unresolved issues with no known workaround and are not subject to
-	// any
-	// SLAs.
+	// customers who want to test new releases. WARNING: Versions available
+	// in the RAPID Channel may be subject to unresolved issues with no
+	// known workaround and are not subject to any SLAs.
 	//   "REGULAR" - Clusters subscribed to REGULAR receive versions that
-	// are considered GA
-	// quality. REGULAR is intended for production users who want to
-	// take
-	// advantage of new features.
+	// are considered GA quality. REGULAR is intended for production users
+	// who want to take advantage of new features.
 	//   "STABLE" - Clusters subscribed to STABLE receive versions that are
-	// known to be
-	// stable and reliable in production.
+	// known to be stable and reliable in production.
 	Channel string `json:"channel,omitempty"`
 
 	// DefaultVersion: The default version for newly created clusters on the
@@ -3665,10 +3304,8 @@
 
 // ReservationAffinity:
 // [ReservationAffinity](https://cloud.google.com/compute/docs/instances/
-// reserving-zonal-resources)
-// is the configuration of desired reservation which instances could
-// take
-// capacity from.
+// reserving-zonal-resources) is the configuration of desired
+// reservation which instances could take capacity from.
 type ReservationAffinity struct {
 	// ConsumeReservationType: Corresponds to the type of reservation
 	// consumption.
@@ -3678,15 +3315,13 @@
 	//   "NO_RESERVATION" - Do not consume from any reserved capacity.
 	//   "ANY_RESERVATION" - Consume any reservation available.
 	//   "SPECIFIC_RESERVATION" - Must consume from a specific reservation.
-	// Must specify key value fields
-	// for specifying the reservations.
+	// Must specify key value fields for specifying the reservations.
 	ConsumeReservationType string `json:"consumeReservationType,omitempty"`
 
 	// Key: Corresponds to the label key of a reservation resource. To
-	// target a
-	// SPECIFIC_RESERVATION by name, specify
-	// "googleapis.com/reservation-name" as
-	// the key and specify the name of your reservation as its value.
+	// target a SPECIFIC_RESERVATION by name, specify
+	// "googleapis.com/reservation-name" as the key and specify the name of
+	// your reservation as its value.
 	Key string `json:"key,omitempty"`
 
 	// Values: Corresponds to the label value(s) of reservation resource(s).
@@ -3718,8 +3353,7 @@
 }
 
 // ResourceLimit: Contains information about amount of some resource in
-// the cluster.
-// For memory, value should be in GB.
+// the cluster. For memory, value should be in GB.
 type ResourceLimit struct {
 	// Maximum: Maximum amount of the resource in the cluster.
 	Maximum int64 `json:"maximum,omitempty,string"`
@@ -3765,9 +3399,8 @@
 	ConsumptionMeteringConfig *ConsumptionMeteringConfig `json:"consumptionMeteringConfig,omitempty"`
 
 	// EnableNetworkEgressMetering: Whether to enable network egress
-	// metering for this cluster. If enabled, a
-	// daemonset will be created in the cluster to meter network egress
-	// traffic.
+	// metering for this cluster. If enabled, a daemonset will be created in
+	// the cluster to meter network egress traffic.
 	EnableNetworkEgressMetering bool `json:"enableNetworkEgressMetering,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "BigqueryDestination")
@@ -3795,40 +3428,31 @@
 }
 
 // RollbackNodePoolUpgradeRequest: RollbackNodePoolUpgradeRequest
-// rollbacks the previously Aborted or Failed
-// NodePool upgrade. This will be an no-op if the last upgrade
-// successfully
-// completed.
+// rollbacks the previously Aborted or Failed NodePool upgrade. This
+// will be an no-op if the last upgrade successfully completed.
 type RollbackNodePoolUpgradeRequest struct {
-	// ClusterId: Deprecated. The name of the cluster to rollback.
-	// This field has been deprecated and replaced by the name field.
+	// ClusterId: Deprecated. The name of the cluster to rollback. This
+	// field has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// Name: The name (project, location, cluster, node pool id) of the node
-	// poll to
-	// rollback upgrade.
-	// Specified in the format
+	// poll to rollback upgrade. Specified in the format
 	// `projects/*/locations/*/clusters/*/nodePools/*`.
 	Name string `json:"name,omitempty"`
 
-	// NodePoolId: Deprecated. The name of the node pool to rollback.
-	// This field has been deprecated and replaced by the name field.
+	// NodePoolId: Deprecated. The name of the node pool to rollback. This
+	// field has been deprecated and replaced by the name field.
 	NodePoolId string `json:"nodePoolId,omitempty"`
 
 	// ProjectId: Deprecated. The Google Developers Console [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// project number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -3941,33 +3565,26 @@
 // associated with the cluster.
 type SetAddonsConfigRequest struct {
 	// AddonsConfig: Required. The desired configurations for the various
-	// addons available to run in the
-	// cluster.
+	// addons available to run in the cluster.
 	AddonsConfig *AddonsConfig `json:"addonsConfig,omitempty"`
 
-	// ClusterId: Deprecated. The name of the cluster to upgrade.
-	// This field has been deprecated and replaced by the name field.
+	// ClusterId: Deprecated. The name of the cluster to upgrade. This field
+	// has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// Name: The name (project, location, cluster) of the cluster to set
-	// addons.
-	// Specified in the format `projects/*/locations/*/clusters/*`.
+	// addons. Specified in the format `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Deprecated. The Google Developers Console [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// project number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AddonsConfig") to
@@ -3994,49 +3611,38 @@
 }
 
 // SetLabelsRequest: SetLabelsRequest sets the Google Cloud Platform
-// labels on a Google Container
-// Engine cluster, which will in turn set them for Google Compute
-// Engine
-// resources used by that cluster
+// labels on a Google Container Engine cluster, which will in turn set
+// them for Google Compute Engine resources used by that cluster
 type SetLabelsRequest struct {
-	// ClusterId: Deprecated. The name of the cluster.
-	// This field has been deprecated and replaced by the name field.
+	// ClusterId: Deprecated. The name of the cluster. This field has been
+	// deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// LabelFingerprint: Required. The fingerprint of the previous set of
-	// labels for this resource,
-	// used to detect conflicts. The fingerprint is initially generated
-	// by
-	// Kubernetes Engine and changes after every request to modify or
-	// update
-	// labels. You must always provide an up-to-date fingerprint hash
-	// when
-	// updating or changing labels. Make a `get()` request to the
-	// resource to get the latest fingerprint.
+	// labels for this resource, used to detect conflicts. The fingerprint
+	// is initially generated by Kubernetes Engine and changes after every
+	// request to modify or update labels. You must always provide an
+	// up-to-date fingerprint hash when updating or changing labels. Make a
+	// `get()` request to the resource to get the latest fingerprint.
 	LabelFingerprint string `json:"labelFingerprint,omitempty"`
 
 	// Name: The name (project, location, cluster id) of the cluster to set
-	// labels.
-	// Specified in the format `projects/*/locations/*/clusters/*`.
+	// labels. Specified in the format `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Deprecated. The Google Developers Console [project ID or
 	// project
-	// number](https://developers.google.com/console/help/new/#projec
-	// tnumber).
-	// This field has been deprecated and replaced by the name field.
+	// number](https://developers.google.com/console/help/new/#projectnumber)
+	// . This field has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
 	// ResourceLabels: Required. The labels to set for that cluster.
 	ResourceLabels map[string]string `json:"resourceLabels,omitempty"`
 
-	// Zone: Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -4063,11 +3669,10 @@
 }
 
 // SetLegacyAbacRequest: SetLegacyAbacRequest enables or disables the
-// ABAC authorization mechanism for
-// a cluster.
+// ABAC authorization mechanism for a cluster.
 type SetLegacyAbacRequest struct {
-	// ClusterId: Deprecated. The name of the cluster to update.
-	// This field has been deprecated and replaced by the name field.
+	// ClusterId: Deprecated. The name of the cluster to update. This field
+	// has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// Enabled: Required. Whether ABAC authorization will be enabled in the
@@ -4075,24 +3680,19 @@
 	Enabled bool `json:"enabled,omitempty"`
 
 	// Name: The name (project, location, cluster id) of the cluster to set
-	// legacy abac.
-	// Specified in the format `projects/*/locations/*/clusters/*`.
+	// legacy abac. Specified in the format
+	// `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Deprecated. The Google Developers Console [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// project number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -4121,42 +3721,32 @@
 // SetLocationsRequest: SetLocationsRequest sets the locations of the
 // cluster.
 type SetLocationsRequest struct {
-	// ClusterId: Deprecated. The name of the cluster to upgrade.
-	// This field has been deprecated and replaced by the name field.
+	// ClusterId: Deprecated. The name of the cluster to upgrade. This field
+	// has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
-	// Locations: Required. The desired list of Google Compute
-	// Engine
+	// Locations: Required. The desired list of Google Compute Engine
 	// [zones](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster's nodes should be located. Changing the locations a cluster
-	// is in
-	// will result in nodes being either created or removed from the
-	// cluster,
-	// depending on whether locations are being added or removed.
-	//
-	// This list must always include the cluster's primary zone.
+	// which the cluster's nodes should be located. Changing the locations a
+	// cluster is in will result in nodes being either created or removed
+	// from the cluster, depending on whether locations are being added or
+	// removed. This list must always include the cluster's primary zone.
 	Locations []string `json:"locations,omitempty"`
 
 	// Name: The name (project, location, cluster) of the cluster to set
-	// locations.
-	// Specified in the format `projects/*/locations/*/clusters/*`.
+	// locations. Specified in the format
+	// `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Deprecated. The Google Developers Console [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// project number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -4185,45 +3775,33 @@
 // SetLoggingServiceRequest: SetLoggingServiceRequest sets the logging
 // service of a cluster.
 type SetLoggingServiceRequest struct {
-	// ClusterId: Deprecated. The name of the cluster to upgrade.
-	// This field has been deprecated and replaced by the name field.
+	// ClusterId: Deprecated. The name of the cluster to upgrade. This field
+	// has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// LoggingService: Required. The logging service the cluster should use
-	// to write logs.
-	// Currently available options:
-	//
-	// * `logging.googleapis.com/kubernetes` - The Cloud Logging
-	// service with a Kubernetes-native resource model
-	// * `logging.googleapis.com` - The legacy Cloud Logging service (no
-	// longer
-	//   available as of GKE 1.15).
-	// * `none` - no logs will be exported from the cluster.
-	//
-	// If left as an empty string,`logging.googleapis.com/kubernetes` will
-	// be
-	// used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
+	// to write logs. Currently available options: *
+	// `logging.googleapis.com/kubernetes` - The Cloud Logging service with
+	// a Kubernetes-native resource model * `logging.googleapis.com` - The
+	// legacy Cloud Logging service (no longer available as of GKE 1.15). *
+	// `none` - no logs will be exported from the cluster. If left as an
+	// empty string,`logging.googleapis.com/kubernetes` will be used for GKE
+	// 1.14+ or `logging.googleapis.com` for earlier versions.
 	LoggingService string `json:"loggingService,omitempty"`
 
 	// Name: The name (project, location, cluster) of the cluster to set
-	// logging.
-	// Specified in the format `projects/*/locations/*/clusters/*`.
+	// logging. Specified in the format `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Deprecated. The Google Developers Console [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// project number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -4256,26 +3834,21 @@
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// MaintenancePolicy: Required. The maintenance policy to be set for the
-	// cluster. An empty field
-	// clears the existing maintenance policy.
+	// cluster. An empty field clears the existing maintenance policy.
 	MaintenancePolicy *MaintenancePolicy `json:"maintenancePolicy,omitempty"`
 
 	// Name: The name (project, location, cluster id) of the cluster to set
-	// maintenance
-	// policy.
-	// Specified in the format `projects/*/locations/*/clusters/*`.
+	// maintenance policy. Specified in the format
+	// `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Required. The Google Developers Console [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
+	// project number](https://support.google.com/cloud/answer/6158840).
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Required. The name of the Google Compute
-	// Engine
+	// Zone: Required. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides.
+	// which the cluster resides.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -4311,41 +3884,32 @@
 	//   "UNKNOWN" - Operation is unknown and will error out.
 	//   "SET_PASSWORD" - Set the password to a user generated value.
 	//   "GENERATE_PASSWORD" - Generate a new password and set it to that.
-	//   "SET_USERNAME" - Set the username.  If an empty username is
-	// provided, basic authentication
-	// is disabled for the cluster.  If a non-empty username is provided,
-	// basic
-	// authentication is enabled, with either a provided password or a
-	// generated
-	// one.
+	//   "SET_USERNAME" - Set the username. If an empty username is
+	// provided, basic authentication is disabled for the cluster. If a
+	// non-empty username is provided, basic authentication is enabled, with
+	// either a provided password or a generated one.
 	Action string `json:"action,omitempty"`
 
-	// ClusterId: Deprecated. The name of the cluster to upgrade.
-	// This field has been deprecated and replaced by the name field.
+	// ClusterId: Deprecated. The name of the cluster to upgrade. This field
+	// has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// Name: The name (project, location, cluster) of the cluster to set
-	// auth.
-	// Specified in the format `projects/*/locations/*/clusters/*`.
+	// auth. Specified in the format `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Deprecated. The Google Developers Console [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// project number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
 	// Update: Required. A description of the update.
 	Update *MasterAuth `json:"update,omitempty"`
 
-	// Zone: Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Action") to
@@ -4374,47 +3938,35 @@
 // SetMonitoringServiceRequest: SetMonitoringServiceRequest sets the
 // monitoring service of a cluster.
 type SetMonitoringServiceRequest struct {
-	// ClusterId: Deprecated. The name of the cluster to upgrade.
-	// This field has been deprecated and replaced by the name field.
+	// ClusterId: Deprecated. The name of the cluster to upgrade. This field
+	// has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// MonitoringService: Required. The monitoring service the cluster
-	// should use to write metrics.
-	// Currently available options:
-	//
-	// * "monitoring.googleapis.com/kubernetes" - The Cloud
-	// Monitoring
-	// service with a Kubernetes-native resource model
-	// * `monitoring.googleapis.com` - The legacy Cloud Monitoring service
-	// (no
-	//   longer available as of GKE 1.15).
-	// * `none` - No metrics will be exported from the cluster.
-	//
-	// If left as an empty string,`monitoring.googleapis.com/kubernetes`
-	// will be
-	// used for GKE 1.14+ or `monitoring.googleapis.com` for earlier
+	// should use to write metrics. Currently available options: *
+	// "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring service
+	// with a Kubernetes-native resource model * `monitoring.googleapis.com`
+	// - The legacy Cloud Monitoring service (no longer available as of GKE
+	// 1.15). * `none` - No metrics will be exported from the cluster. If
+	// left as an empty string,`monitoring.googleapis.com/kubernetes` will
+	// be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier
 	// versions.
 	MonitoringService string `json:"monitoringService,omitempty"`
 
 	// Name: The name (project, location, cluster) of the cluster to set
-	// monitoring.
-	// Specified in the format `projects/*/locations/*/clusters/*`.
+	// monitoring. Specified in the format
+	// `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Deprecated. The Google Developers Console [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// project number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -4443,13 +3995,13 @@
 // SetNetworkPolicyRequest: SetNetworkPolicyRequest enables/disables
 // network policy for a cluster.
 type SetNetworkPolicyRequest struct {
-	// ClusterId: Deprecated. The name of the cluster.
-	// This field has been deprecated and replaced by the name field.
+	// ClusterId: Deprecated. The name of the cluster. This field has been
+	// deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// Name: The name (project, location, cluster id) of the cluster to set
-	// networking
-	// policy. Specified in the format `projects/*/locations/*/clusters/*`.
+	// networking policy. Specified in the format
+	// `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// NetworkPolicy: Required. Configuration options for the NetworkPolicy
@@ -4458,18 +4010,14 @@
 
 	// ProjectId: Deprecated. The Google Developers Console [project ID or
 	// project
-	// number](https://developers.google.com/console/help/new/#projec
-	// tnumber).
-	// This field has been deprecated and replaced by the name field.
+	// number](https://developers.google.com/console/help/new/#projectnumber)
+	// . This field has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -4501,35 +4049,28 @@
 	// Autoscaling: Required. Autoscaling configuration for the node pool.
 	Autoscaling *NodePoolAutoscaling `json:"autoscaling,omitempty"`
 
-	// ClusterId: Deprecated. The name of the cluster to upgrade.
-	// This field has been deprecated and replaced by the name field.
+	// ClusterId: Deprecated. The name of the cluster to upgrade. This field
+	// has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// Name: The name (project, location, cluster, node pool) of the node
-	// pool to set
-	// autoscaler settings. Specified in the
-	// format
+	// pool to set autoscaler settings. Specified in the format
 	// `projects/*/locations/*/clusters/*/nodePools/*`.
 	Name string `json:"name,omitempty"`
 
-	// NodePoolId: Deprecated. The name of the node pool to upgrade.
-	// This field has been deprecated and replaced by the name field.
+	// NodePoolId: Deprecated. The name of the node pool to upgrade. This
+	// field has been deprecated and replaced by the name field.
 	NodePoolId string `json:"nodePoolId,omitempty"`
 
 	// ProjectId: Deprecated. The Google Developers Console [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// project number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Autoscaling") to
@@ -4556,41 +4097,33 @@
 }
 
 // SetNodePoolManagementRequest: SetNodePoolManagementRequest sets the
-// node management properties of a node
-// pool.
+// node management properties of a node pool.
 type SetNodePoolManagementRequest struct {
-	// ClusterId: Deprecated. The name of the cluster to update.
-	// This field has been deprecated and replaced by the name field.
+	// ClusterId: Deprecated. The name of the cluster to update. This field
+	// has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// Management: Required. NodeManagement configuration for the node pool.
 	Management *NodeManagement `json:"management,omitempty"`
 
 	// Name: The name (project, location, cluster, node pool id) of the node
-	// pool to set
-	// management properties. Specified in the
-	// format
+	// pool to set management properties. Specified in the format
 	// `projects/*/locations/*/clusters/*/nodePools/*`.
 	Name string `json:"name,omitempty"`
 
-	// NodePoolId: Deprecated. The name of the node pool to update.
-	// This field has been deprecated and replaced by the name field.
+	// NodePoolId: Deprecated. The name of the node pool to update. This
+	// field has been deprecated and replaced by the name field.
 	NodePoolId string `json:"nodePoolId,omitempty"`
 
 	// ProjectId: Deprecated. The Google Developers Console [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// project number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -4616,42 +4149,34 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// SetNodePoolSizeRequest: SetNodePoolSizeRequest sets the size a
-// node
+// SetNodePoolSizeRequest: SetNodePoolSizeRequest sets the size a node
 // pool.
 type SetNodePoolSizeRequest struct {
-	// ClusterId: Deprecated. The name of the cluster to update.
-	// This field has been deprecated and replaced by the name field.
+	// ClusterId: Deprecated. The name of the cluster to update. This field
+	// has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// Name: The name (project, location, cluster, node pool id) of the node
-	// pool to set
-	// size.
-	// Specified in the format
+	// pool to set size. Specified in the format
 	// `projects/*/locations/*/clusters/*/nodePools/*`.
 	Name string `json:"name,omitempty"`
 
 	// NodeCount: Required. The desired node count for the pool.
 	NodeCount int64 `json:"nodeCount,omitempty"`
 
-	// NodePoolId: Deprecated. The name of the node pool to update.
-	// This field has been deprecated and replaced by the name field.
+	// NodePoolId: Deprecated. The name of the node pool to update. This
+	// field has been deprecated and replaced by the name field.
 	NodePoolId string `json:"nodePoolId,omitempty"`
 
 	// ProjectId: Deprecated. The Google Developers Console [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// project number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -4680,25 +4205,16 @@
 // ShieldedInstanceConfig: A set of Shielded Instance options.
 type ShieldedInstanceConfig struct {
 	// EnableIntegrityMonitoring: Defines whether the instance has integrity
-	// monitoring enabled.
-	//
-	// Enables monitoring and attestation of the boot integrity of the
-	// instance.
-	// The attestation is performed against the integrity policy baseline.
-	// This
-	// baseline is initially derived from the implicitly trusted boot image
-	// when
-	// the instance is created.
+	// monitoring enabled. Enables monitoring and attestation of the boot
+	// integrity of the instance. The attestation is performed against the
+	// integrity policy baseline. This baseline is initially derived from
+	// the implicitly trusted boot image when the instance is created.
 	EnableIntegrityMonitoring bool `json:"enableIntegrityMonitoring,omitempty"`
 
 	// EnableSecureBoot: Defines whether the instance has Secure Boot
-	// enabled.
-	//
-	// Secure Boot helps ensure that the system only runs authentic software
-	// by
-	// verifying the digital signature of all boot components, and halting
-	// the
-	// boot process if signature verification fails.
+	// enabled. Secure Boot helps ensure that the system only runs authentic
+	// software by verifying the digital signature of all boot components,
+	// and halting the boot process if signature verification fails.
 	EnableSecureBoot bool `json:"enableSecureBoot,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -4756,36 +4272,31 @@
 }
 
 // StartIPRotationRequest: StartIPRotationRequest creates a new IP for
-// the cluster and then performs
-// a node upgrade on each node pool to point to the new IP.
+// the cluster and then performs a node upgrade on each node pool to
+// point to the new IP.
 type StartIPRotationRequest struct {
-	// ClusterId: Deprecated. The name of the cluster.
-	// This field has been deprecated and replaced by the name field.
+	// ClusterId: Deprecated. The name of the cluster. This field has been
+	// deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// Name: The name (project, location, cluster id) of the cluster to
-	// start IP
-	// rotation. Specified in the format
+	// start IP rotation. Specified in the format
 	// `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Deprecated. The Google Developers Console [project ID or
 	// project
-	// number](https://developers.google.com/console/help/new/#projec
-	// tnumber).
-	// This field has been deprecated and replaced by the name field.
+	// number](https://developers.google.com/console/help/new/#projectnumber)
+	// . This field has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
 	// RotateCredentials: Whether to rotate credentials during IP rotation.
 	RotateCredentials bool `json:"rotateCredentials,omitempty"`
 
-	// Zone: Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -4812,26 +4323,22 @@
 }
 
 // StatusCondition: StatusCondition describes why a cluster or a node
-// pool has a certain status
-// (e.g., ERROR or DEGRADED).
+// pool has a certain status (e.g., ERROR or DEGRADED).
 type StatusCondition struct {
 	// Code: Machine-friendly representation of the condition
 	//
 	// Possible values:
 	//   "UNKNOWN" - UNKNOWN indicates a generic condition.
 	//   "GCE_STOCKOUT" - GCE_STOCKOUT indicates that Google Compute Engine
-	// resources are
-	// temporarily unavailable.
+	// resources are temporarily unavailable.
 	//   "GKE_SERVICE_ACCOUNT_DELETED" - GKE_SERVICE_ACCOUNT_DELETED
-	// indicates that the user deleted their robot
-	// service account.
+	// indicates that the user deleted their robot service account.
 	//   "GCE_QUOTA_EXCEEDED" - Google Compute Engine quota was exceeded.
 	//   "SET_BY_OPERATOR" - Cluster state was manually changed by an SRE
 	// due to a system logic error.
 	//   "CLOUD_KMS_KEY_ERROR" - Unable to perform an encrypt operation
-	// against the CloudKMS key used for
-	// etcd level encryption.
-	// More codes TBA
+	// against the CloudKMS key used for etcd level encryption. More codes
+	// TBA
 	Code string `json:"code,omitempty"`
 
 	// Message: Human-friendly representation of the condition
@@ -4863,8 +4370,7 @@
 // TimeWindow: Represents an arbitrary window of time.
 type TimeWindow struct {
 	// EndTime: The time that the window ends. The end time should take
-	// place after the
-	// start time.
+	// place after the start time.
 	EndTime string `json:"endTime,omitempty"`
 
 	// StartTime: The time that the window first starts.
@@ -4896,32 +4402,26 @@
 // UpdateClusterRequest: UpdateClusterRequest updates the settings of a
 // cluster.
 type UpdateClusterRequest struct {
-	// ClusterId: Deprecated. The name of the cluster to upgrade.
-	// This field has been deprecated and replaced by the name field.
+	// ClusterId: Deprecated. The name of the cluster to upgrade. This field
+	// has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
-	// Name: The name (project, location, cluster) of the cluster to
-	// update.
+	// Name: The name (project, location, cluster) of the cluster to update.
 	// Specified in the format `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Deprecated. The Google Developers Console [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// project number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
 	// Update: Required. A description of the update.
 	Update *ClusterUpdate `json:"update,omitempty"`
 
-	// Zone: Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -4950,44 +4450,33 @@
 // UpdateMasterRequest: UpdateMasterRequest updates the master of the
 // cluster.
 type UpdateMasterRequest struct {
-	// ClusterId: Deprecated. The name of the cluster to upgrade.
-	// This field has been deprecated and replaced by the name field.
+	// ClusterId: Deprecated. The name of the cluster to upgrade. This field
+	// has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// MasterVersion: Required. The Kubernetes version to change the master
-	// to.
-	//
-	// Users may specify either explicit versions offered by Kubernetes
-	// Engine or
-	// version aliases, which have the following behavior:
-	//
-	// - "latest": picks the highest valid Kubernetes version
-	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X
-	// version
-	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
-	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
-	// - "-": picks the default Kubernetes version
+	// to. Users may specify either explicit versions offered by Kubernetes
+	// Engine or version aliases, which have the following behavior: -
+	// "latest": picks the highest valid Kubernetes version - "1.X": picks
+	// the highest valid patch+gke.N patch in the 1.X version - "1.X.Y":
+	// picks the highest valid gke.N patch in the 1.X.Y version -
+	// "1.X.Y-gke.N": picks an explicit Kubernetes version - "-": picks the
+	// default Kubernetes version
 	MasterVersion string `json:"masterVersion,omitempty"`
 
-	// Name: The name (project, location, cluster) of the cluster to
-	// update.
+	// Name: The name (project, location, cluster) of the cluster to update.
 	// Specified in the format `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Deprecated. The Google Developers Console [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// project number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -5016,56 +4505,43 @@
 // UpdateNodePoolRequest: UpdateNodePoolRequests update a node pool's
 // image and/or version.
 type UpdateNodePoolRequest struct {
-	// ClusterId: Deprecated. The name of the cluster to upgrade.
-	// This field has been deprecated and replaced by the name field.
+	// ClusterId: Deprecated. The name of the cluster to upgrade. This field
+	// has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// ImageType: Required. The desired image type for the node pool.
 	ImageType string `json:"imageType,omitempty"`
 
-	// Locations: The desired list of Google Compute
-	// Engine
+	// Locations: The desired list of Google Compute Engine
 	// [zones](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// node pool's nodes should be located. Changing the locations for a
-	// node pool
-	// will result in nodes being either created or removed from the node
-	// pool,
-	// depending on whether locations are being added or removed.
+	// which the node pool's nodes should be located. Changing the locations
+	// for a node pool will result in nodes being either created or removed
+	// from the node pool, depending on whether locations are being added or
+	// removed.
 	Locations []string `json:"locations,omitempty"`
 
 	// Name: The name (project, location, cluster, node pool) of the node
-	// pool to
-	// update. Specified in the
-	// format
+	// pool to update. Specified in the format
 	// `projects/*/locations/*/clusters/*/nodePools/*`.
 	Name string `json:"name,omitempty"`
 
-	// NodePoolId: Deprecated. The name of the node pool to upgrade.
-	// This field has been deprecated and replaced by the name field.
+	// NodePoolId: Deprecated. The name of the node pool to upgrade. This
+	// field has been deprecated and replaced by the name field.
 	NodePoolId string `json:"nodePoolId,omitempty"`
 
 	// NodeVersion: Required. The Kubernetes version to change the nodes to
-	// (typically an
-	// upgrade).
-	//
-	// Users may specify either explicit versions offered by Kubernetes
-	// Engine or
-	// version aliases, which have the following behavior:
-	//
-	// - "latest": picks the highest valid Kubernetes version
-	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X
-	// version
-	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
-	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
-	// - "-": picks the Kubernetes master version
+	// (typically an upgrade). Users may specify either explicit versions
+	// offered by Kubernetes Engine or version aliases, which have the
+	// following behavior: - "latest": picks the highest valid Kubernetes
+	// version - "1.X": picks the highest valid patch+gke.N patch in the 1.X
+	// version - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y
+	// version - "1.X.Y-gke.N": picks an explicit Kubernetes version - "-":
+	// picks the Kubernetes master version
 	NodeVersion string `json:"nodeVersion,omitempty"`
 
 	// ProjectId: Deprecated. The Google Developers Console [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// project number](https://support.google.com/cloud/answer/6158840).
+	// This field has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
 	// UpgradeSettings: Upgrade settings control disruption and speed of the
@@ -5076,13 +4552,10 @@
 	// node pool.
 	WorkloadMetadataConfig *WorkloadMetadataConfig `json:"workloadMetadataConfig,omitempty"`
 
-	// Zone: Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -5108,52 +4581,84 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// UpgradeEvent: UpgradeEvent is a notification sent to customers by the
+// cluster server when a resource is upgrading.
+type UpgradeEvent struct {
+	// CurrentVersion: Required. The current version before the upgrade.
+	CurrentVersion string `json:"currentVersion,omitempty"`
+
+	// Operation: Required. The operation associated with this upgrade.
+	Operation string `json:"operation,omitempty"`
+
+	// OperationStartTime: Required. The time when the operation was
+	// started.
+	OperationStartTime string `json:"operationStartTime,omitempty"`
+
+	// Resource: Optional. Optional relative path to the resource. For
+	// example in node pool upgrades, the relative path of the node pool.
+	Resource string `json:"resource,omitempty"`
+
+	// ResourceType: Required. The resource type that is upgrading.
+	//
+	// Possible values:
+	//   "UPGRADE_RESOURCE_TYPE_UNSPECIFIED" - Default value. This shouldn't
+	// be used.
+	//   "MASTER" - Master / control plane
+	//   "NODE_POOL" - Node pool
+	ResourceType string `json:"resourceType,omitempty"`
+
+	// TargetVersion: Required. The target version for the upgrade.
+	TargetVersion string `json:"targetVersion,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "CurrentVersion") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "CurrentVersion") to
+	// include in API requests with the JSON null value. By default, fields
+	// with empty values are omitted from API requests. However, any field
+	// with an empty value appearing in NullFields will be sent to the
+	// server as null. It is an error if a field in this list has a
+	// non-empty value. This may be used to include null fields in Patch
+	// requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *UpgradeEvent) MarshalJSON() ([]byte, error) {
+	type NoMethod UpgradeEvent
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // UpgradeSettings: These upgrade settings control the level of
-// parallelism and the level of
-// disruption caused by an upgrade.
-//
+// parallelism and the level of disruption caused by an upgrade.
 // maxUnavailable controls the number of nodes that can be
-// simultaneously
-// unavailable.
-//
-// maxSurge controls the number of additional nodes that can be added to
-// the
-// node pool temporarily for the time of the upgrade to increase the
-// number of
-// available nodes.
-//
+// simultaneously unavailable. maxSurge controls the number of
+// additional nodes that can be added to the node pool temporarily for
+// the time of the upgrade to increase the number of available nodes.
 // (maxUnavailable + maxSurge) determines the level of parallelism (how
-// many
-// nodes are being upgraded at the same time).
-//
-// Note: upgrades inevitably introduce some disruption since workloads
-// need to
-// be moved from old nodes to new, upgraded ones. Even if
-// maxUnavailable=0,
-// this holds true. (Disruption stays within the limits
-// of
-// PodDisruptionBudget, if it is configured.)
-//
-// Consider a hypothetical node pool with 5 nodes having
-// maxSurge=2,
-// maxUnavailable=1. This means the upgrade process upgrades 3
-// nodes
-// simultaneously. It creates 2 additional (upgraded) nodes, then it
-// brings
-// down 3 old (not yet upgraded) nodes at the same time. This ensures
-// that
-// there are always at least 4 nodes available.
+// many nodes are being upgraded at the same time). Note: upgrades
+// inevitably introduce some disruption since workloads need to be moved
+// from old nodes to new, upgraded ones. Even if maxUnavailable=0, this
+// holds true. (Disruption stays within the limits of
+// PodDisruptionBudget, if it is configured.) Consider a hypothetical
+// node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This
+// means the upgrade process upgrades 3 nodes simultaneously. It creates
+// 2 additional (upgraded) nodes, then it brings down 3 old (not yet
+// upgraded) nodes at the same time. This ensures that there are always
+// at least 4 nodes available.
 type UpgradeSettings struct {
 	// MaxSurge: The maximum number of nodes that can be created beyond the
-	// current size
-	// of the node pool during the upgrade process.
+	// current size of the node pool during the upgrade process.
 	MaxSurge int64 `json:"maxSurge,omitempty"`
 
 	// MaxUnavailable: The maximum number of nodes that can be
-	// simultaneously unavailable during
-	// the upgrade process. A node is considered available if its status
-	// is
-	// Ready.
+	// simultaneously unavailable during the upgrade process. A node is
+	// considered available if its status is Ready.
 	MaxUnavailable int64 `json:"maxUnavailable,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "MaxSurge") to
@@ -5180,31 +4685,27 @@
 }
 
 // UsableSubnetwork: UsableSubnetwork resource returns the subnetwork
-// name, its associated network
-// and the primary CIDR range.
+// name, its associated network and the primary CIDR range.
 type UsableSubnetwork struct {
 	// IpCidrRange: The range of internal addresses that are owned by this
 	// subnetwork.
 	IpCidrRange string `json:"ipCidrRange,omitempty"`
 
-	// Network: Network Name.
-	// Example: projects/my-project/global/networks/my-network
+	// Network: Network Name. Example:
+	// projects/my-project/global/networks/my-network
 	Network string `json:"network,omitempty"`
 
 	// SecondaryIpRanges: Secondary IP ranges.
 	SecondaryIpRanges []*UsableSubnetworkSecondaryRange `json:"secondaryIpRanges,omitempty"`
 
 	// StatusMessage: A human readable status message representing the
-	// reasons for cases where
-	// the caller cannot use the secondary ranges under the subnet. For
-	// example if
-	// the secondary_ip_ranges is empty due to a permission issue, an
-	// insufficient
-	// permission message will be given by status_message.
+	// reasons for cases where the caller cannot use the secondary ranges
+	// under the subnet. For example if the secondary_ip_ranges is empty due
+	// to a permission issue, an insufficient permission message will be
+	// given by status_message.
 	StatusMessage string `json:"statusMessage,omitempty"`
 
-	// Subnetwork: Subnetwork Name.
-	// Example:
+	// Subnetwork: Subnetwork Name. Example:
 	// projects/my-project/regions/us-central1/subnetworks/my-subnet
 	Subnetwork string `json:"subnetwork,omitempty"`
 
@@ -5239,8 +4740,7 @@
 	IpCidrRange string `json:"ipCidrRange,omitempty"`
 
 	// RangeName: The name associated with this subnetwork secondary range,
-	// used when adding
-	// an alias IP range to a VM instance.
+	// used when adding an alias IP range to a VM instance.
 	RangeName string `json:"rangeName,omitempty"`
 
 	// Status: This field is to determine the status of the secondary range
@@ -5252,16 +4752,15 @@
 	//   "UNUSED" - UNUSED denotes that this range is unclaimed by any
 	// cluster.
 	//   "IN_USE_SERVICE" - IN_USE_SERVICE denotes that this range is
-	// claimed by a cluster for
-	// services. It cannot be used for other clusters.
+	// claimed by a cluster for services. It cannot be used for other
+	// clusters.
 	//   "IN_USE_SHAREABLE_POD" - IN_USE_SHAREABLE_POD denotes this range
-	// was created by the network admin
-	// and is currently claimed by a cluster for pods. It can only be used
-	// by
-	// other clusters as a pod range.
+	// was created by the network admin and is currently claimed by a
+	// cluster for pods. It can only be used by other clusters as a pod
+	// range.
 	//   "IN_USE_MANAGED_POD" - IN_USE_MANAGED_POD denotes this range was
-	// created by GKE and is claimed
-	// for pods. It cannot be used for other clusters.
+	// created by GKE and is claimed for pods. It cannot be used for other
+	// clusters.
 	Status string `json:"status,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "IpCidrRange") to
@@ -5288,9 +4787,8 @@
 }
 
 // VerticalPodAutoscaling: VerticalPodAutoscaling contains global,
-// per-cluster information
-// required by Vertical Pod Autoscaler to automatically adjust
-// the resources of pods controlled by it.
+// per-cluster information required by Vertical Pod Autoscaler to
+// automatically adjust the resources of pods controlled by it.
 type VerticalPodAutoscaling struct {
 	// Enabled: Enables vertical pod autoscaling.
 	Enabled bool `json:"enabled,omitempty"`
@@ -5319,8 +4817,7 @@
 }
 
 // WorkloadIdentityConfig: Configuration for the use of Kubernetes
-// Service Accounts in GCP IAM
-// policies.
+// Service Accounts in GCP IAM policies.
 type WorkloadIdentityConfig struct {
 	// WorkloadPool: The workload pool to attach all Kubernetes service
 	// accounts to.
@@ -5350,25 +4847,19 @@
 }
 
 // WorkloadMetadataConfig: WorkloadMetadataConfig defines the metadata
-// configuration to expose to
-// workloads on the node pool.
+// configuration to expose to workloads on the node pool.
 type WorkloadMetadataConfig struct {
 	// Mode: Mode is the configuration for how to expose metadata to
-	// workloads running
-	// on the node pool.
+	// workloads running on the node pool.
 	//
 	// Possible values:
 	//   "MODE_UNSPECIFIED" - Not set.
 	//   "GCE_METADATA" - Expose all Compute Engine metadata to pods.
 	//   "GKE_METADATA" - Run the GKE Metadata Server on this node. The GKE
-	// Metadata Server exposes
-	// a metadata API to workloads that is compatible with the V1
-	// Compute
-	// Metadata APIs exposed by the Compute Engine and App Engine
-	// Metadata
-	// Servers. This feature can only be enabled if Workload Identity is
-	// enabled
-	// at the cluster level.
+	// Metadata Server exposes a metadata API to workloads that is
+	// compatible with the V1 Compute Metadata APIs exposed by the Compute
+	// Engine and App Engine Metadata Servers. This feature can only be
+	// enabled if Workload Identity is enabled at the cluster level.
 	Mode string `json:"mode,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Mode") to
@@ -5414,11 +4905,9 @@
 }
 
 // Filter sets the optional parameter "filter": Filtering currently only
-// supports equality on the networkProjectId and must
-// be in the form: "networkProjectId=[PROJECTID]", where
-// `networkProjectId`
-// is the project which owns the listed subnetworks. This defaults to
-// the
+// supports equality on the networkProjectId and must be in the form:
+// "networkProjectId=[PROJECTID]", where `networkProjectId` is the
+// project which owns the listed subnetworks. This defaults to the
 // parent project ID.
 func (c *ProjectsAggregatedUsableSubnetworksListCall) Filter(filter string) *ProjectsAggregatedUsableSubnetworksListCall {
 	c.urlParams_.Set("filter", filter)
@@ -5426,11 +4915,9 @@
 }
 
 // PageSize sets the optional parameter "pageSize": The max number of
-// results per page that should be returned. If the number
-// of available results is larger than `page_size`, a `next_page_token`
-// is
-// returned which can be used to get the next page of results in
-// subsequent
+// results per page that should be returned. If the number of available
+// results is larger than `page_size`, a `next_page_token` is returned
+// which can be used to get the next page of results in subsequent
 // requests. Acceptable values are 0 to 500, inclusive. (Default: 500)
 func (c *ProjectsAggregatedUsableSubnetworksListCall) PageSize(pageSize int64) *ProjectsAggregatedUsableSubnetworksListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
@@ -5438,8 +4925,8 @@
 }
 
 // PageToken sets the optional parameter "pageToken": Specifies a page
-// token to use. Set this to the nextPageToken returned by
-// previous list requests to get the next page of results.
+// token to use. Set this to the nextPageToken returned by previous list
+// requests to get the next page of results.
 func (c *ProjectsAggregatedUsableSubnetworksListCall) PageToken(pageToken string) *ProjectsAggregatedUsableSubnetworksListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -5482,7 +4969,7 @@
 
 func (c *ProjectsAggregatedUsableSubnetworksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5553,23 +5040,23 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "Filtering currently only supports equality on the networkProjectId and must\nbe in the form: \"networkProjectId=[PROJECTID]\", where `networkProjectId`\nis the project which owns the listed subnetworks. This defaults to the\nparent project ID.",
+	//       "description": "Filtering currently only supports equality on the networkProjectId and must be in the form: \"networkProjectId=[PROJECTID]\", where `networkProjectId` is the project which owns the listed subnetworks. This defaults to the parent project ID.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+	//       "description": "The max number of results per page that should be returned. If the number of available results is larger than `page_size`, a `next_page_token` is returned which can be used to get the next page of results in subsequent requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Specifies a page token to use. Set this to the nextPageToken returned by\nprevious list requests to get the next page of results.",
+	//       "description": "Specifies a page token to use. Set this to the nextPageToken returned by previous list requests to get the next page of results.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "The parent project where subnetworks are usable.\nSpecified in the format `projects/*`.",
+	//       "description": "The parent project where subnetworks are usable. Specified in the format `projects/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -5628,24 +5115,19 @@
 }
 
 // ProjectId sets the optional parameter "projectId": Deprecated. The
-// Google Developers Console [project ID or
-// project
-// number](https://support.google.com/cloud/answer/6158840).
-// This
-//  field has been deprecated and replaced by the name field.
+// Google Developers Console [project ID or project
+// number](https://support.google.com/cloud/answer/6158840). This field
+// has been deprecated and replaced by the name field.
 func (c *ProjectsLocationsGetServerConfigCall) ProjectId(projectId string) *ProjectsLocationsGetServerConfigCall {
 	c.urlParams_.Set("projectId", projectId)
 	return c
 }
 
 // Zone sets the optional parameter "zone": Deprecated. The name of the
-// Google Compute
-// Engine
+// Google Compute Engine
 // [zone](https://cloud.google.com/compute/docs/zones#available) to
-// return
-// operations for. This field has been deprecated and replaced by the
-// name
-// field.
+// return operations for. This field has been deprecated and replaced by
+// the name field.
 func (c *ProjectsLocationsGetServerConfigCall) Zone(zone string) *ProjectsLocationsGetServerConfigCall {
 	c.urlParams_.Set("zone", zone)
 	return c
@@ -5688,7 +5170,7 @@
 
 func (c *ProjectsLocationsGetServerConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5759,19 +5241,19 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project and location) of the server config to get,\nspecified in the format `projects/*/locations/*`.",
+	//       "description": "The name (project and location) of the server config to get, specified in the format `projects/*/locations/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) to return\noperations for. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -5833,7 +5315,7 @@
 
 func (c *ProjectsLocationsClustersCompleteIpRotationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5906,7 +5388,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster id) of the cluster to complete IP\nrotation. Specified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster id) of the cluster to complete IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -5939,24 +5421,14 @@
 }
 
 // Create: Creates a cluster, consisting of the specified number and
-// type of Google
-// Compute Engine instances.
-//
-// By default, the cluster is created in the
-// project's
-// [default
-// network](https://cloud.google.com/compute/docs/netw
-// orks-and-firewalls#networks).
-//
-// One firewall is added for the cluster. After cluster creation,
-// the Kubelet creates routes for each node to allow the containers
-// on that node to communicate with all other instances in
-// the
-// cluster.
-//
-// Finally, an entry is added to the project's global metadata
-// indicating
-// which CIDR range the cluster is using.
+// type of Google Compute Engine instances. By default, the cluster is
+// created in the project's [default
+// network](https://cloud.google.com/compute/docs/networks-and-firewalls#
+// networks). One firewall is added for the cluster. After cluster
+// creation, the Kubelet creates routes for each node to allow the
+// containers on that node to communicate with all other instances in
+// the cluster. Finally, an entry is added to the project's global
+// metadata indicating which CIDR range the cluster is using.
 func (r *ProjectsLocationsClustersService) Create(parent string, createclusterrequest *CreateClusterRequest) *ProjectsLocationsClustersCreateCall {
 	c := &ProjectsLocationsClustersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -5991,7 +5463,7 @@
 
 func (c *ProjectsLocationsClustersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6055,7 +5527,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a cluster, consisting of the specified number and type of Google\nCompute Engine instances.\n\nBy default, the cluster is created in the project's\n[default\nnetwork](https://cloud.google.com/compute/docs/networks-and-firewalls#networks).\n\nOne firewall is added for the cluster. After cluster creation,\nthe Kubelet creates routes for each node to allow the containers\non that node to communicate with all other instances in the\ncluster.\n\nFinally, an entry is added to the project's global metadata indicating\nwhich CIDR range the cluster is using.",
+	//   "description": "Creates a cluster, consisting of the specified number and type of Google Compute Engine instances. By default, the cluster is created in the project's [default network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks). One firewall is added for the cluster. After cluster creation, the Kubelet creates routes for each node to allow the containers on that node to communicate with all other instances in the cluster. Finally, an entry is added to the project's global metadata indicating which CIDR range the cluster is using.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters",
 	//   "httpMethod": "POST",
 	//   "id": "container.projects.locations.clusters.create",
@@ -6064,7 +5536,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "The parent (project and location) where the cluster will be created.\nSpecified in the format `projects/*/locations/*`.",
+	//       "description": "The parent (project and location) where the cluster will be created. Specified in the format `projects/*/locations/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
@@ -6096,17 +5568,11 @@
 }
 
 // Delete: Deletes the cluster, including the Kubernetes endpoint and
-// all worker
-// nodes.
-//
-// Firewalls and routes that were configured during cluster creation
-// are also deleted.
-//
-// Other Google Compute Engine resources that might be in use by the
-// cluster,
-// such as load balancer resources, are not deleted if they weren't
-// present
-// when the cluster was initially created.
+// all worker nodes. Firewalls and routes that were configured during
+// cluster creation are also deleted. Other Google Compute Engine
+// resources that might be in use by the cluster, such as load balancer
+// resources, are not deleted if they weren't present when the cluster
+// was initially created.
 func (r *ProjectsLocationsClustersService) Delete(name string) *ProjectsLocationsClustersDeleteCall {
 	c := &ProjectsLocationsClustersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -6114,32 +5580,27 @@
 }
 
 // ClusterId sets the optional parameter "clusterId": Deprecated. The
-// name of the cluster to delete.
-// This field has been deprecated and replaced by the name field.
+// name of the cluster to delete. This field has been deprecated and
+// replaced by the name field.
 func (c *ProjectsLocationsClustersDeleteCall) ClusterId(clusterId string) *ProjectsLocationsClustersDeleteCall {
 	c.urlParams_.Set("clusterId", clusterId)
 	return c
 }
 
 // ProjectId sets the optional parameter "projectId": Deprecated. The
-// Google Developers Console [project ID or
-// project
-// number](https://support.google.com/cloud/answer/6158840).
-// This
-//  field has been deprecated and replaced by the name field.
+// Google Developers Console [project ID or project
+// number](https://support.google.com/cloud/answer/6158840). This field
+// has been deprecated and replaced by the name field.
 func (c *ProjectsLocationsClustersDeleteCall) ProjectId(projectId string) *ProjectsLocationsClustersDeleteCall {
 	c.urlParams_.Set("projectId", projectId)
 	return c
 }
 
 // Zone sets the optional parameter "zone": Deprecated. The name of the
-// Google Compute
-// Engine
+// Google Compute Engine
 // [zone](https://cloud.google.com/compute/docs/zones#available) in
-// which the
-// cluster resides. This field has been deprecated and replaced by the
-// name
-// field.
+// which the cluster resides. This field has been deprecated and
+// replaced by the name field.
 func (c *ProjectsLocationsClustersDeleteCall) Zone(zone string) *ProjectsLocationsClustersDeleteCall {
 	c.urlParams_.Set("zone", zone)
 	return c
@@ -6172,7 +5633,7 @@
 
 func (c *ProjectsLocationsClustersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6231,7 +5692,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes the cluster, including the Kubernetes endpoint and all worker\nnodes.\n\nFirewalls and routes that were configured during cluster creation\nare also deleted.\n\nOther Google Compute Engine resources that might be in use by the cluster,\nsuch as load balancer resources, are not deleted if they weren't present\nwhen the cluster was initially created.",
+	//   "description": "Deletes the cluster, including the Kubernetes endpoint and all worker nodes. Firewalls and routes that were configured during cluster creation are also deleted. Other Google Compute Engine resources that might be in use by the cluster, such as load balancer resources, are not deleted if they weren't present when the cluster was initially created.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "container.projects.locations.clusters.delete",
@@ -6240,24 +5701,24 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster to delete.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster to delete. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "The name (project, location, cluster) of the cluster to delete.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster) of the cluster to delete. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -6292,32 +5753,27 @@
 }
 
 // ClusterId sets the optional parameter "clusterId": Deprecated. The
-// name of the cluster to retrieve.
-// This field has been deprecated and replaced by the name field.
+// name of the cluster to retrieve. This field has been deprecated and
+// replaced by the name field.
 func (c *ProjectsLocationsClustersGetCall) ClusterId(clusterId string) *ProjectsLocationsClustersGetCall {
 	c.urlParams_.Set("clusterId", clusterId)
 	return c
 }
 
 // ProjectId sets the optional parameter "projectId": Deprecated. The
-// Google Developers Console [project ID or
-// project
-// number](https://support.google.com/cloud/answer/6158840).
-// This
-//  field has been deprecated and replaced by the name field.
+// Google Developers Console [project ID or project
+// number](https://support.google.com/cloud/answer/6158840). This field
+// has been deprecated and replaced by the name field.
 func (c *ProjectsLocationsClustersGetCall) ProjectId(projectId string) *ProjectsLocationsClustersGetCall {
 	c.urlParams_.Set("projectId", projectId)
 	return c
 }
 
 // Zone sets the optional parameter "zone": Deprecated. The name of the
-// Google Compute
-// Engine
+// Google Compute Engine
 // [zone](https://cloud.google.com/compute/docs/zones#available) in
-// which the
-// cluster resides. This field has been deprecated and replaced by the
-// name
-// field.
+// which the cluster resides. This field has been deprecated and
+// replaced by the name field.
 func (c *ProjectsLocationsClustersGetCall) Zone(zone string) *ProjectsLocationsClustersGetCall {
 	c.urlParams_.Set("zone", zone)
 	return c
@@ -6360,7 +5816,7 @@
 
 func (c *ProjectsLocationsClustersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6431,24 +5887,24 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster to retrieve.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster to retrieve. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "The name (project, location, cluster) of the cluster to retrieve.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster) of the cluster to retrieve. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -6475,12 +5931,9 @@
 	header_      http.Header
 }
 
-// GetJwks: Gets the public component of the cluster signing keys
-// in
-// JSON Web Key format.
-// This API is not yet intended for general use, and is not available
-// for all
-// clusters.
+// GetJwks: Gets the public component of the cluster signing keys in
+// JSON Web Key format. This API is not yet intended for general use,
+// and is not available for all clusters.
 func (r *ProjectsLocationsClustersService) GetJwks(parent string) *ProjectsLocationsClustersGetJwksCall {
 	c := &ProjectsLocationsClustersGetJwksCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -6524,7 +5977,7 @@
 
 func (c *ProjectsLocationsClustersGetJwksCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6586,7 +6039,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the public component of the cluster signing keys in\nJSON Web Key format.\nThis API is not yet intended for general use, and is not available for all\nclusters.",
+	//   "description": "Gets the public component of the cluster signing keys in JSON Web Key format. This API is not yet intended for general use, and is not available for all clusters.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/jwks",
 	//   "httpMethod": "GET",
 	//   "id": "container.projects.locations.clusters.getJwks",
@@ -6595,7 +6048,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "The cluster (project, location, cluster id) to get keys for. Specified in\nthe format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The cluster (project, location, cluster id) to get keys for. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -6622,8 +6075,7 @@
 }
 
 // List: Lists all clusters owned by a project in either the specified
-// zone or all
-// zones.
+// zone or all zones.
 func (r *ProjectsLocationsClustersService) List(parent string) *ProjectsLocationsClustersListCall {
 	c := &ProjectsLocationsClustersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -6631,24 +6083,19 @@
 }
 
 // ProjectId sets the optional parameter "projectId": Deprecated. The
-// Google Developers Console [project ID or
-// project
-// number](https://support.google.com/cloud/answer/6158840).
-// This
-//  field has been deprecated and replaced by the parent field.
+// Google Developers Console [project ID or project
+// number](https://support.google.com/cloud/answer/6158840). This field
+// has been deprecated and replaced by the parent field.
 func (c *ProjectsLocationsClustersListCall) ProjectId(projectId string) *ProjectsLocationsClustersListCall {
 	c.urlParams_.Set("projectId", projectId)
 	return c
 }
 
 // Zone sets the optional parameter "zone": Deprecated. The name of the
-// Google Compute
-// Engine
+// Google Compute Engine
 // [zone](https://cloud.google.com/compute/docs/zones#available) in
-// which the
-// cluster resides, or "-" for all zones. This field has been deprecated
-// and
-// replaced by the parent field.
+// which the cluster resides, or "-" for all zones. This field has been
+// deprecated and replaced by the parent field.
 func (c *ProjectsLocationsClustersListCall) Zone(zone string) *ProjectsLocationsClustersListCall {
 	c.urlParams_.Set("zone", zone)
 	return c
@@ -6691,7 +6138,7 @@
 
 func (c *ProjectsLocationsClustersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6753,7 +6200,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists all clusters owned by a project in either the specified zone or all\nzones.",
+	//   "description": "Lists all clusters owned by a project in either the specified zone or all zones.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters",
 	//   "httpMethod": "GET",
 	//   "id": "container.projects.locations.clusters.list",
@@ -6762,19 +6209,19 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "The parent (project and location) where the clusters will be listed.\nSpecified in the format `projects/*/locations/*`.\nLocation \"-\" matches all zones and all regions.",
+	//       "description": "The parent (project and location) where the clusters will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the parent field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides, or \"-\" for all zones. This field has been deprecated and\nreplaced by the parent field.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides, or \"-\" for all zones. This field has been deprecated and replaced by the parent field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -6836,7 +6283,7 @@
 
 func (c *ProjectsLocationsClustersSetAddonsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6909,7 +6356,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster) of the cluster to set addons.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster) of the cluster to set addons. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -6977,7 +6424,7 @@
 
 func (c *ProjectsLocationsClustersSetLegacyAbacCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7050,7 +6497,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster id) of the cluster to set legacy abac.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster id) of the cluster to set legacy abac. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -7082,12 +6529,10 @@
 	header_             http.Header
 }
 
-// SetLocations: Sets the locations for a specific cluster.
-// Deprecated.
+// SetLocations: Sets the locations for a specific cluster. Deprecated.
 // Use
-// [projects.locations.clusters.update](https://cloud.google.com/kube
-// rnetes-engine/docs/reference/rest/v1/projects.locations.clusters/updat
-// e)
+// [projects.locations.clusters.update](https://cloud.google.com/kubernet
+// es-engine/docs/reference/rest/v1/projects.locations.clusters/update)
 // instead.
 func (r *ProjectsLocationsClustersService) SetLocations(name string, setlocationsrequest *SetLocationsRequest) *ProjectsLocationsClustersSetLocationsCall {
 	c := &ProjectsLocationsClustersSetLocationsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -7123,7 +6568,7 @@
 
 func (c *ProjectsLocationsClustersSetLocationsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7187,7 +6632,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the locations for a specific cluster.\nDeprecated. Use\n[projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/update)\ninstead.",
+	//   "description": "Sets the locations for a specific cluster. Deprecated. Use [projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/update) instead.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setLocations",
 	//   "httpMethod": "POST",
 	//   "id": "container.projects.locations.clusters.setLocations",
@@ -7196,7 +6641,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster) of the cluster to set locations.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster) of the cluster to set locations. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -7263,7 +6708,7 @@
 
 func (c *ProjectsLocationsClustersSetLoggingCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7336,7 +6781,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster) of the cluster to set logging.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster) of the cluster to set logging. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -7403,7 +6848,7 @@
 
 func (c *ProjectsLocationsClustersSetMaintenancePolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7476,7 +6921,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster id) of the cluster to set maintenance\npolicy.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster id) of the cluster to set maintenance policy. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -7509,10 +6954,8 @@
 }
 
 // SetMasterAuth: Sets master auth materials. Currently supports
-// changing the admin password
-// or a specific cluster, either via password generation or explicitly
-// setting
-// the password.
+// changing the admin password or a specific cluster, either via
+// password generation or explicitly setting the password.
 func (r *ProjectsLocationsClustersService) SetMasterAuth(name string, setmasterauthrequest *SetMasterAuthRequest) *ProjectsLocationsClustersSetMasterAuthCall {
 	c := &ProjectsLocationsClustersSetMasterAuthCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -7547,7 +6990,7 @@
 
 func (c *ProjectsLocationsClustersSetMasterAuthCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7611,7 +7054,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets master auth materials. Currently supports changing the admin password\nor a specific cluster, either via password generation or explicitly setting\nthe password.",
+	//   "description": "Sets master auth materials. Currently supports changing the admin password or a specific cluster, either via password generation or explicitly setting the password.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setMasterAuth",
 	//   "httpMethod": "POST",
 	//   "id": "container.projects.locations.clusters.setMasterAuth",
@@ -7620,7 +7063,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster) of the cluster to set auth.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster) of the cluster to set auth. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -7687,7 +7130,7 @@
 
 func (c *ProjectsLocationsClustersSetMonitoringCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7760,7 +7203,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster) of the cluster to set monitoring.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster) of the cluster to set monitoring. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -7827,7 +7270,7 @@
 
 func (c *ProjectsLocationsClustersSetNetworkPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7900,7 +7343,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster id) of the cluster to set networking\npolicy. Specified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster id) of the cluster to set networking policy. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -7967,7 +7410,7 @@
 
 func (c *ProjectsLocationsClustersSetResourceLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8040,7 +7483,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster id) of the cluster to set labels.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster id) of the cluster to set labels. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -8107,7 +7550,7 @@
 
 func (c *ProjectsLocationsClustersStartIpRotationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8180,7 +7623,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster id) of the cluster to start IP\nrotation. Specified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster id) of the cluster to start IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -8247,7 +7690,7 @@
 
 func (c *ProjectsLocationsClustersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8320,7 +7763,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster) of the cluster to update. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -8387,7 +7830,7 @@
 
 func (c *ProjectsLocationsClustersUpdateMasterCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8460,7 +7903,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster) of the cluster to update. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -8527,7 +7970,7 @@
 
 func (c *ProjectsLocationsClustersNodePoolsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8600,7 +8043,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "The parent (project, location, cluster id) where the node pool will be\ncreated. Specified in the format\n`projects/*/locations/*/clusters/*`.",
+	//       "description": "The parent (project, location, cluster id) where the node pool will be created. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -8639,40 +8082,35 @@
 }
 
 // ClusterId sets the optional parameter "clusterId": Deprecated. The
-// name of the cluster.
-// This field has been deprecated and replaced by the name field.
+// name of the cluster. This field has been deprecated and replaced by
+// the name field.
 func (c *ProjectsLocationsClustersNodePoolsDeleteCall) ClusterId(clusterId string) *ProjectsLocationsClustersNodePoolsDeleteCall {
 	c.urlParams_.Set("clusterId", clusterId)
 	return c
 }
 
 // NodePoolId sets the optional parameter "nodePoolId": Deprecated. The
-// name of the node pool to delete.
-// This field has been deprecated and replaced by the name field.
+// name of the node pool to delete. This field has been deprecated and
+// replaced by the name field.
 func (c *ProjectsLocationsClustersNodePoolsDeleteCall) NodePoolId(nodePoolId string) *ProjectsLocationsClustersNodePoolsDeleteCall {
 	c.urlParams_.Set("nodePoolId", nodePoolId)
 	return c
 }
 
 // ProjectId sets the optional parameter "projectId": Deprecated. The
-// Google Developers Console [project ID or
-// project
-// number](https://developers.google.com/console/help/new/#projec
-// tnumber).
-// This field has been deprecated and replaced by the name field.
+// Google Developers Console [project ID or project
+// number](https://developers.google.com/console/help/new/#projectnumber)
+// . This field has been deprecated and replaced by the name field.
 func (c *ProjectsLocationsClustersNodePoolsDeleteCall) ProjectId(projectId string) *ProjectsLocationsClustersNodePoolsDeleteCall {
 	c.urlParams_.Set("projectId", projectId)
 	return c
 }
 
 // Zone sets the optional parameter "zone": Deprecated. The name of the
-// Google Compute
-// Engine
+// Google Compute Engine
 // [zone](https://cloud.google.com/compute/docs/zones#available) in
-// which the
-// cluster resides. This field has been deprecated and replaced by the
-// name
-// field.
+// which the cluster resides. This field has been deprecated and
+// replaced by the name field.
 func (c *ProjectsLocationsClustersNodePoolsDeleteCall) Zone(zone string) *ProjectsLocationsClustersNodePoolsDeleteCall {
 	c.urlParams_.Set("zone", zone)
 	return c
@@ -8705,7 +8143,7 @@
 
 func (c *ProjectsLocationsClustersNodePoolsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8773,29 +8211,29 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "The name (project, location, cluster, node pool id) of the node pool to\ndelete. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+	//       "description": "The name (project, location, cluster, node pool id) of the node pool to delete. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "nodePoolId": {
-	//       "description": "Deprecated. The name of the node pool to delete.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the node pool to delete. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -8830,40 +8268,35 @@
 }
 
 // ClusterId sets the optional parameter "clusterId": Deprecated. The
-// name of the cluster.
-// This field has been deprecated and replaced by the name field.
+// name of the cluster. This field has been deprecated and replaced by
+// the name field.
 func (c *ProjectsLocationsClustersNodePoolsGetCall) ClusterId(clusterId string) *ProjectsLocationsClustersNodePoolsGetCall {
 	c.urlParams_.Set("clusterId", clusterId)
 	return c
 }
 
 // NodePoolId sets the optional parameter "nodePoolId": Deprecated. The
-// name of the node pool.
-// This field has been deprecated and replaced by the name field.
+// name of the node pool. This field has been deprecated and replaced by
+// the name field.
 func (c *ProjectsLocationsClustersNodePoolsGetCall) NodePoolId(nodePoolId string) *ProjectsLocationsClustersNodePoolsGetCall {
 	c.urlParams_.Set("nodePoolId", nodePoolId)
 	return c
 }
 
 // ProjectId sets the optional parameter "projectId": Deprecated. The
-// Google Developers Console [project ID or
-// project
-// number](https://developers.google.com/console/help/new/#projec
-// tnumber).
-// This field has been deprecated and replaced by the name field.
+// Google Developers Console [project ID or project
+// number](https://developers.google.com/console/help/new/#projectnumber)
+// . This field has been deprecated and replaced by the name field.
 func (c *ProjectsLocationsClustersNodePoolsGetCall) ProjectId(projectId string) *ProjectsLocationsClustersNodePoolsGetCall {
 	c.urlParams_.Set("projectId", projectId)
 	return c
 }
 
 // Zone sets the optional parameter "zone": Deprecated. The name of the
-// Google Compute
-// Engine
+// Google Compute Engine
 // [zone](https://cloud.google.com/compute/docs/zones#available) in
-// which the
-// cluster resides. This field has been deprecated and replaced by the
-// name
-// field.
+// which the cluster resides. This field has been deprecated and
+// replaced by the name field.
 func (c *ProjectsLocationsClustersNodePoolsGetCall) Zone(zone string) *ProjectsLocationsClustersNodePoolsGetCall {
 	c.urlParams_.Set("zone", zone)
 	return c
@@ -8906,7 +8339,7 @@
 
 func (c *ProjectsLocationsClustersNodePoolsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8977,29 +8410,29 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "The name (project, location, cluster, node pool id) of the node pool to\nget. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+	//       "description": "The name (project, location, cluster, node pool id) of the node pool to get. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "nodePoolId": {
-	//       "description": "Deprecated. The name of the node pool.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the node pool. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -9034,32 +8467,27 @@
 }
 
 // ClusterId sets the optional parameter "clusterId": Deprecated. The
-// name of the cluster.
-// This field has been deprecated and replaced by the parent field.
+// name of the cluster. This field has been deprecated and replaced by
+// the parent field.
 func (c *ProjectsLocationsClustersNodePoolsListCall) ClusterId(clusterId string) *ProjectsLocationsClustersNodePoolsListCall {
 	c.urlParams_.Set("clusterId", clusterId)
 	return c
 }
 
 // ProjectId sets the optional parameter "projectId": Deprecated. The
-// Google Developers Console [project ID or
-// project
-// number](https://developers.google.com/console/help/new/#projec
-// tnumber).
-// This field has been deprecated and replaced by the parent field.
+// Google Developers Console [project ID or project
+// number](https://developers.google.com/console/help/new/#projectnumber)
+// . This field has been deprecated and replaced by the parent field.
 func (c *ProjectsLocationsClustersNodePoolsListCall) ProjectId(projectId string) *ProjectsLocationsClustersNodePoolsListCall {
 	c.urlParams_.Set("projectId", projectId)
 	return c
 }
 
 // Zone sets the optional parameter "zone": Deprecated. The name of the
-// Google Compute
-// Engine
+// Google Compute Engine
 // [zone](https://cloud.google.com/compute/docs/zones#available) in
-// which the
-// cluster resides. This field has been deprecated and replaced by the
-// parent
-// field.
+// which the cluster resides. This field has been deprecated and
+// replaced by the parent field.
 func (c *ProjectsLocationsClustersNodePoolsListCall) Zone(zone string) *ProjectsLocationsClustersNodePoolsListCall {
 	c.urlParams_.Set("zone", zone)
 	return c
@@ -9102,7 +8530,7 @@
 
 func (c *ProjectsLocationsClustersNodePoolsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9173,24 +8601,24 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the parent field.",
+	//       "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "The parent (project, location, cluster id) where the node pools will be\nlisted. Specified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The parent (project, location, cluster id) where the node pools will be listed. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the parent field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -9217,8 +8645,7 @@
 	header_                        http.Header
 }
 
-// Rollback: Rolls back a previously Aborted or Failed NodePool
-// upgrade.
+// Rollback: Rolls back a previously Aborted or Failed NodePool upgrade.
 // This makes no changes if the last upgrade successfully completed.
 func (r *ProjectsLocationsClustersNodePoolsService) Rollback(name string, rollbacknodepoolupgraderequest *RollbackNodePoolUpgradeRequest) *ProjectsLocationsClustersNodePoolsRollbackCall {
 	c := &ProjectsLocationsClustersNodePoolsRollbackCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -9254,7 +8681,7 @@
 
 func (c *ProjectsLocationsClustersNodePoolsRollbackCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9318,7 +8745,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Rolls back a previously Aborted or Failed NodePool upgrade.\nThis makes no changes if the last upgrade successfully completed.",
+	//   "description": "Rolls back a previously Aborted or Failed NodePool upgrade. This makes no changes if the last upgrade successfully completed.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}:rollback",
 	//   "httpMethod": "POST",
 	//   "id": "container.projects.locations.clusters.nodePools.rollback",
@@ -9327,7 +8754,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster, node pool id) of the node poll to\nrollback upgrade.\nSpecified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
+	//       "description": "The name (project, location, cluster, node pool id) of the node poll to rollback upgrade. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
 	//       "required": true,
@@ -9395,7 +8822,7 @@
 
 func (c *ProjectsLocationsClustersNodePoolsSetAutoscalingCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9468,7 +8895,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster, node pool) of the node pool to set\nautoscaler settings. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+	//       "description": "The name (project, location, cluster, node pool) of the node pool to set autoscaler settings. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
 	//       "required": true,
@@ -9535,7 +8962,7 @@
 
 func (c *ProjectsLocationsClustersNodePoolsSetManagementCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9608,7 +9035,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster, node pool id) of the node pool to set\nmanagement properties. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+	//       "description": "The name (project, location, cluster, node pool id) of the node pool to set management properties. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
 	//       "required": true,
@@ -9675,7 +9102,7 @@
 
 func (c *ProjectsLocationsClustersNodePoolsSetSizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9748,7 +9175,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster, node pool id) of the node pool to set\nsize.\nSpecified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
+	//       "description": "The name (project, location, cluster, node pool id) of the node pool to set size. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
 	//       "required": true,
@@ -9816,7 +9243,7 @@
 
 func (c *ProjectsLocationsClustersNodePoolsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9889,7 +9316,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster, node pool) of the node pool to\nupdate. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+	//       "description": "The name (project, location, cluster, node pool) of the node pool to update. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
 	//       "required": true,
@@ -9922,16 +9349,10 @@
 }
 
 // GetOpenidConfiguration: Gets the OIDC discovery document for the
-// cluster.
-// See the
-// [OpenID Connect Discovery
-// 1.0
-// specification](https://openid.net/specs/openid-connect-discovery-1
-// _0.html)
-// for details.
-// This API is not yet intended for general use, and is not available
-// for all
-// clusters.
+// cluster. See the [OpenID Connect Discovery 1.0
+// specification](https://openid.net/specs/openid-connect-discovery-1_0.h
+// tml) for details. This API is not yet intended for general use, and
+// is not available for all clusters.
 func (r *ProjectsLocationsClustersWellKnownService) GetOpenidConfiguration(parent string) *ProjectsLocationsClustersWellKnownGetOpenidConfigurationCall {
 	c := &ProjectsLocationsClustersWellKnownGetOpenidConfigurationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -9975,7 +9396,7 @@
 
 func (c *ProjectsLocationsClustersWellKnownGetOpenidConfigurationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10037,7 +9458,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the OIDC discovery document for the cluster.\nSee the\n[OpenID Connect Discovery 1.0\nspecification](https://openid.net/specs/openid-connect-discovery-1_0.html)\nfor details.\nThis API is not yet intended for general use, and is not available for all\nclusters.",
+	//   "description": "Gets the OIDC discovery document for the cluster. See the [OpenID Connect Discovery 1.0 specification](https://openid.net/specs/openid-connect-discovery-1_0.html) for details. This API is not yet intended for general use, and is not available for all clusters.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/.well-known/openid-configuration",
 	//   "httpMethod": "GET",
 	//   "id": "container.projects.locations.clusters.well-known.getOpenid-configuration",
@@ -10046,7 +9467,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "The cluster (project, location, cluster id) to get the discovery document\nfor. Specified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The cluster (project, location, cluster id) to get the discovery document for. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -10107,7 +9528,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10180,7 +9601,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, operation id) of the operation to cancel.\nSpecified in the format `projects/*/locations/*/operations/*`.",
+	//       "description": "The name (project, location, operation id) of the operation to cancel. Specified in the format `projects/*/locations/*/operations/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
 	//       "required": true,
@@ -10220,32 +9641,27 @@
 }
 
 // OperationId sets the optional parameter "operationId": Deprecated.
-// The server-assigned `name` of the operation.
-// This field has been deprecated and replaced by the name field.
+// The server-assigned `name` of the operation. This field has been
+// deprecated and replaced by the name field.
 func (c *ProjectsLocationsOperationsGetCall) OperationId(operationId string) *ProjectsLocationsOperationsGetCall {
 	c.urlParams_.Set("operationId", operationId)
 	return c
 }
 
 // ProjectId sets the optional parameter "projectId": Deprecated. The
-// Google Developers Console [project ID or
-// project
-// number](https://support.google.com/cloud/answer/6158840).
-// This
-//  field has been deprecated and replaced by the name field.
+// Google Developers Console [project ID or project
+// number](https://support.google.com/cloud/answer/6158840). This field
+// has been deprecated and replaced by the name field.
 func (c *ProjectsLocationsOperationsGetCall) ProjectId(projectId string) *ProjectsLocationsOperationsGetCall {
 	c.urlParams_.Set("projectId", projectId)
 	return c
 }
 
 // Zone sets the optional parameter "zone": Deprecated. The name of the
-// Google Compute
-// Engine
+// Google Compute Engine
 // [zone](https://cloud.google.com/compute/docs/zones#available) in
-// which the
-// cluster resides. This field has been deprecated and replaced by the
-// name
-// field.
+// which the cluster resides. This field has been deprecated and
+// replaced by the name field.
 func (c *ProjectsLocationsOperationsGetCall) Zone(zone string) *ProjectsLocationsOperationsGetCall {
 	c.urlParams_.Set("zone", zone)
 	return c
@@ -10288,7 +9704,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10359,24 +9775,24 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, operation id) of the operation to get.\nSpecified in the format `projects/*/locations/*/operations/*`.",
+	//       "description": "The name (project, location, operation id) of the operation to get. Specified in the format `projects/*/locations/*/operations/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "operationId": {
-	//       "description": "Deprecated. The server-assigned `name` of the operation.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -10412,24 +9828,19 @@
 }
 
 // ProjectId sets the optional parameter "projectId": Deprecated. The
-// Google Developers Console [project ID or
-// project
-// number](https://support.google.com/cloud/answer/6158840).
-// This
-//  field has been deprecated and replaced by the parent field.
+// Google Developers Console [project ID or project
+// number](https://support.google.com/cloud/answer/6158840). This field
+// has been deprecated and replaced by the parent field.
 func (c *ProjectsLocationsOperationsListCall) ProjectId(projectId string) *ProjectsLocationsOperationsListCall {
 	c.urlParams_.Set("projectId", projectId)
 	return c
 }
 
 // Zone sets the optional parameter "zone": Deprecated. The name of the
-// Google Compute
-// Engine
+// Google Compute Engine
 // [zone](https://cloud.google.com/compute/docs/zones#available) to
-// return
-// operations for, or `-` for all zones. This field has been deprecated
-// and
-// replaced by the parent field.
+// return operations for, or `-` for all zones. This field has been
+// deprecated and replaced by the parent field.
 func (c *ProjectsLocationsOperationsListCall) Zone(zone string) *ProjectsLocationsOperationsListCall {
 	c.urlParams_.Set("zone", zone)
 	return c
@@ -10472,7 +9883,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10543,19 +9954,19 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "The parent (project and location) where the operations will be listed.\nSpecified in the format `projects/*/locations/*`.\nLocation \"-\" matches all zones and all regions.",
+	//       "description": "The parent (project and location) where the operations will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the parent field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) to return\noperations for, or `-` for all zones. This field has been deprecated and\nreplaced by the parent field.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for, or `-` for all zones. This field has been deprecated and replaced by the parent field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -10593,8 +10004,8 @@
 }
 
 // Name sets the optional parameter "name": The name (project and
-// location) of the server config to get,
-// specified in the format `projects/*/locations/*`.
+// location) of the server config to get, specified in the format
+// `projects/*/locations/*`.
 func (c *ProjectsZonesGetServerconfigCall) Name(name string) *ProjectsZonesGetServerconfigCall {
 	c.urlParams_.Set("name", name)
 	return c
@@ -10637,7 +10048,7 @@
 
 func (c *ProjectsZonesGetServerconfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10710,18 +10121,18 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project and location) of the server config to get,\nspecified in the format `projects/*/locations/*`.",
+	//       "description": "The name (project and location) of the server config to get, specified in the format `projects/*/locations/*`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) to return\noperations for. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -10788,7 +10199,7 @@
 
 func (c *ProjectsZonesClustersAddonsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10865,19 +10276,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -10947,7 +10358,7 @@
 
 func (c *ProjectsZonesClustersCompleteIpRotationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11024,19 +10435,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -11069,24 +10480,14 @@
 }
 
 // Create: Creates a cluster, consisting of the specified number and
-// type of Google
-// Compute Engine instances.
-//
-// By default, the cluster is created in the
-// project's
-// [default
-// network](https://cloud.google.com/compute/docs/netw
-// orks-and-firewalls#networks).
-//
-// One firewall is added for the cluster. After cluster creation,
-// the Kubelet creates routes for each node to allow the containers
-// on that node to communicate with all other instances in
-// the
-// cluster.
-//
-// Finally, an entry is added to the project's global metadata
-// indicating
-// which CIDR range the cluster is using.
+// type of Google Compute Engine instances. By default, the cluster is
+// created in the project's [default
+// network](https://cloud.google.com/compute/docs/networks-and-firewalls#
+// networks). One firewall is added for the cluster. After cluster
+// creation, the Kubelet creates routes for each node to allow the
+// containers on that node to communicate with all other instances in
+// the cluster. Finally, an entry is added to the project's global
+// metadata indicating which CIDR range the cluster is using.
 func (r *ProjectsZonesClustersService) Create(projectId string, zone string, createclusterrequest *CreateClusterRequest) *ProjectsZonesClustersCreateCall {
 	c := &ProjectsZonesClustersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -11122,7 +10523,7 @@
 
 func (c *ProjectsZonesClustersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11187,7 +10588,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a cluster, consisting of the specified number and type of Google\nCompute Engine instances.\n\nBy default, the cluster is created in the project's\n[default\nnetwork](https://cloud.google.com/compute/docs/networks-and-firewalls#networks).\n\nOne firewall is added for the cluster. After cluster creation,\nthe Kubelet creates routes for each node to allow the containers\non that node to communicate with all other instances in the\ncluster.\n\nFinally, an entry is added to the project's global metadata indicating\nwhich CIDR range the cluster is using.",
+	//   "description": "Creates a cluster, consisting of the specified number and type of Google Compute Engine instances. By default, the cluster is created in the project's [default network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks). One firewall is added for the cluster. After cluster creation, the Kubelet creates routes for each node to allow the containers on that node to communicate with all other instances in the cluster. Finally, an entry is added to the project's global metadata indicating which CIDR range the cluster is using.",
 	//   "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters",
 	//   "httpMethod": "POST",
 	//   "id": "container.projects.zones.clusters.create",
@@ -11197,13 +10598,13 @@
 	//   ],
 	//   "parameters": {
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the parent field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -11236,17 +10637,11 @@
 }
 
 // Delete: Deletes the cluster, including the Kubernetes endpoint and
-// all worker
-// nodes.
-//
-// Firewalls and routes that were configured during cluster creation
-// are also deleted.
-//
-// Other Google Compute Engine resources that might be in use by the
-// cluster,
-// such as load balancer resources, are not deleted if they weren't
-// present
-// when the cluster was initially created.
+// all worker nodes. Firewalls and routes that were configured during
+// cluster creation are also deleted. Other Google Compute Engine
+// resources that might be in use by the cluster, such as load balancer
+// resources, are not deleted if they weren't present when the cluster
+// was initially created.
 func (r *ProjectsZonesClustersService) Delete(projectId string, zone string, clusterId string) *ProjectsZonesClustersDeleteCall {
 	c := &ProjectsZonesClustersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -11256,8 +10651,8 @@
 }
 
 // Name sets the optional parameter "name": The name (project, location,
-// cluster) of the cluster to delete.
-// Specified in the format `projects/*/locations/*/clusters/*`.
+// cluster) of the cluster to delete. Specified in the format
+// `projects/*/locations/*/clusters/*`.
 func (c *ProjectsZonesClustersDeleteCall) Name(name string) *ProjectsZonesClustersDeleteCall {
 	c.urlParams_.Set("name", name)
 	return c
@@ -11290,7 +10685,7 @@
 
 func (c *ProjectsZonesClustersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11351,7 +10746,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes the cluster, including the Kubernetes endpoint and all worker\nnodes.\n\nFirewalls and routes that were configured during cluster creation\nare also deleted.\n\nOther Google Compute Engine resources that might be in use by the cluster,\nsuch as load balancer resources, are not deleted if they weren't present\nwhen the cluster was initially created.",
+	//   "description": "Deletes the cluster, including the Kubernetes endpoint and all worker nodes. Firewalls and routes that were configured during cluster creation are also deleted. Other Google Compute Engine resources that might be in use by the cluster, such as load balancer resources, are not deleted if they weren't present when the cluster was initially created.",
 	//   "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "container.projects.zones.clusters.delete",
@@ -11362,24 +10757,24 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster to delete.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster to delete. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "The name (project, location, cluster) of the cluster to delete.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster) of the cluster to delete. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -11419,8 +10814,8 @@
 }
 
 // Name sets the optional parameter "name": The name (project, location,
-// cluster) of the cluster to retrieve.
-// Specified in the format `projects/*/locations/*/clusters/*`.
+// cluster) of the cluster to retrieve. Specified in the format
+// `projects/*/locations/*/clusters/*`.
 func (c *ProjectsZonesClustersGetCall) Name(name string) *ProjectsZonesClustersGetCall {
 	c.urlParams_.Set("name", name)
 	return c
@@ -11463,7 +10858,7 @@
 
 func (c *ProjectsZonesClustersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11538,24 +10933,24 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster to retrieve.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster to retrieve. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "The name (project, location, cluster) of the cluster to retrieve.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster) of the cluster to retrieve. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -11623,7 +11018,7 @@
 
 func (c *ProjectsZonesClustersLegacyAbacCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11700,19 +11095,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster to update.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -11745,8 +11140,7 @@
 }
 
 // List: Lists all clusters owned by a project in either the specified
-// zone or all
-// zones.
+// zone or all zones.
 func (r *ProjectsZonesClustersService) List(projectId string, zone string) *ProjectsZonesClustersListCall {
 	c := &ProjectsZonesClustersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -11755,9 +11149,9 @@
 }
 
 // Parent sets the optional parameter "parent": The parent (project and
-// location) where the clusters will be listed.
-// Specified in the format `projects/*/locations/*`.
-// Location "-" matches all zones and all regions.
+// location) where the clusters will be listed. Specified in the format
+// `projects/*/locations/*`. Location "-" matches all zones and all
+// regions.
 func (c *ProjectsZonesClustersListCall) Parent(parent string) *ProjectsZonesClustersListCall {
 	c.urlParams_.Set("parent", parent)
 	return c
@@ -11800,7 +11194,7 @@
 
 func (c *ProjectsZonesClustersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11863,7 +11257,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists all clusters owned by a project in either the specified zone or all\nzones.",
+	//   "description": "Lists all clusters owned by a project in either the specified zone or all zones.",
 	//   "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters",
 	//   "httpMethod": "GET",
 	//   "id": "container.projects.zones.clusters.list",
@@ -11873,18 +11267,18 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "The parent (project and location) where the clusters will be listed.\nSpecified in the format `projects/*/locations/*`.\nLocation \"-\" matches all zones and all regions.",
+	//       "description": "The parent (project and location) where the clusters will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the parent field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides, or \"-\" for all zones. This field has been deprecated and\nreplaced by the parent field.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides, or \"-\" for all zones. This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -11914,12 +11308,9 @@
 	header_             http.Header
 }
 
-// Locations: Sets the locations for a specific cluster.
-// Deprecated.
-// Use
-// [projects.locations.clusters.update](https://cloud.google.com/kube
-// rnetes-engine/docs/reference/rest/v1/projects.locations.clusters/updat
-// e)
+// Locations: Sets the locations for a specific cluster. Deprecated. Use
+// [projects.locations.clusters.update](https://cloud.google.com/kubernet
+// es-engine/docs/reference/rest/v1/projects.locations.clusters/update)
 // instead.
 func (r *ProjectsZonesClustersService) Locations(projectId string, zone string, clusterId string, setlocationsrequest *SetLocationsRequest) *ProjectsZonesClustersLocationsCall {
 	c := &ProjectsZonesClustersLocationsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -11957,7 +11348,7 @@
 
 func (c *ProjectsZonesClustersLocationsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12023,7 +11414,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the locations for a specific cluster.\nDeprecated. Use\n[projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/update)\ninstead.",
+	//   "description": "Sets the locations for a specific cluster. Deprecated. Use [projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters/update) instead.",
 	//   "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/locations",
 	//   "httpMethod": "POST",
 	//   "id": "container.projects.zones.clusters.locations",
@@ -12034,19 +11425,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -12116,7 +11507,7 @@
 
 func (c *ProjectsZonesClustersLoggingCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12193,19 +11584,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -12275,7 +11666,7 @@
 
 func (c *ProjectsZonesClustersMasterCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12352,19 +11743,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -12434,7 +11825,7 @@
 
 func (c *ProjectsZonesClustersMonitoringCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12511,19 +11902,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -12593,7 +11984,7 @@
 
 func (c *ProjectsZonesClustersResourceLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12670,19 +12061,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -12752,7 +12143,7 @@
 
 func (c *ProjectsZonesClustersSetMaintenancePolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12835,13 +12226,13 @@
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).",
+	//       "description": "Required. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840).",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides.",
+	//       "description": "Required. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -12875,10 +12266,8 @@
 }
 
 // SetMasterAuth: Sets master auth materials. Currently supports
-// changing the admin password
-// or a specific cluster, either via password generation or explicitly
-// setting
-// the password.
+// changing the admin password or a specific cluster, either via
+// password generation or explicitly setting the password.
 func (r *ProjectsZonesClustersService) SetMasterAuth(projectId string, zone string, clusterId string, setmasterauthrequest *SetMasterAuthRequest) *ProjectsZonesClustersSetMasterAuthCall {
 	c := &ProjectsZonesClustersSetMasterAuthCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -12915,7 +12304,7 @@
 
 func (c *ProjectsZonesClustersSetMasterAuthCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12981,7 +12370,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets master auth materials. Currently supports changing the admin password\nor a specific cluster, either via password generation or explicitly setting\nthe password.",
+	//   "description": "Sets master auth materials. Currently supports changing the admin password or a specific cluster, either via password generation or explicitly setting the password.",
 	//   "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMasterAuth",
 	//   "httpMethod": "POST",
 	//   "id": "container.projects.zones.clusters.setMasterAuth",
@@ -12992,19 +12381,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -13074,7 +12463,7 @@
 
 func (c *ProjectsZonesClustersSetNetworkPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13151,19 +12540,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -13233,7 +12622,7 @@
 
 func (c *ProjectsZonesClustersStartIpRotationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13310,19 +12699,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -13392,7 +12781,7 @@
 
 func (c *ProjectsZonesClustersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13469,19 +12858,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -13554,7 +12943,7 @@
 
 func (c *ProjectsZonesClustersNodePoolsAutoscalingCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13633,25 +13022,25 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "nodePoolId": {
-	//       "description": "Deprecated. The name of the node pool to upgrade.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -13721,7 +13110,7 @@
 
 func (c *ProjectsZonesClustersNodePoolsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13798,19 +13187,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the parent field.",
+	//       "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the parent field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -13854,10 +13243,8 @@
 }
 
 // Name sets the optional parameter "name": The name (project, location,
-// cluster, node pool id) of the node pool to
-// delete. Specified in the
-// format
-// `projects/*/locations/*/clusters/*/nodePools/*`.
+// cluster, node pool id) of the node pool to delete. Specified in the
+// format `projects/*/locations/*/clusters/*/nodePools/*`.
 func (c *ProjectsZonesClustersNodePoolsDeleteCall) Name(name string) *ProjectsZonesClustersNodePoolsDeleteCall {
 	c.urlParams_.Set("name", name)
 	return c
@@ -13890,7 +13277,7 @@
 
 func (c *ProjectsZonesClustersNodePoolsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13964,30 +13351,30 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "The name (project, location, cluster, node pool id) of the node pool to\ndelete. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+	//       "description": "The name (project, location, cluster, node pool id) of the node pool to delete. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "nodePoolId": {
-	//       "description": "Deprecated. The name of the node pool to delete.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the node pool to delete. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -14029,10 +13416,8 @@
 }
 
 // Name sets the optional parameter "name": The name (project, location,
-// cluster, node pool id) of the node pool to
-// get. Specified in the
-// format
-// `projects/*/locations/*/clusters/*/nodePools/*`.
+// cluster, node pool id) of the node pool to get. Specified in the
+// format `projects/*/locations/*/clusters/*/nodePools/*`.
 func (c *ProjectsZonesClustersNodePoolsGetCall) Name(name string) *ProjectsZonesClustersNodePoolsGetCall {
 	c.urlParams_.Set("name", name)
 	return c
@@ -14075,7 +13460,7 @@
 
 func (c *ProjectsZonesClustersNodePoolsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14152,30 +13537,30 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "The name (project, location, cluster, node pool id) of the node pool to\nget. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+	//       "description": "The name (project, location, cluster, node pool id) of the node pool to get. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "nodePoolId": {
-	//       "description": "Deprecated. The name of the node pool.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the node pool. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -14215,8 +13600,8 @@
 }
 
 // Parent sets the optional parameter "parent": The parent (project,
-// location, cluster id) where the node pools will be
-// listed. Specified in the format `projects/*/locations/*/clusters/*`.
+// location, cluster id) where the node pools will be listed. Specified
+// in the format `projects/*/locations/*/clusters/*`.
 func (c *ProjectsZonesClustersNodePoolsListCall) Parent(parent string) *ProjectsZonesClustersNodePoolsListCall {
 	c.urlParams_.Set("parent", parent)
 	return c
@@ -14259,7 +13644,7 @@
 
 func (c *ProjectsZonesClustersNodePoolsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14334,24 +13719,24 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the parent field.",
+	//       "description": "Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "The parent (project, location, cluster id) where the node pools will be\nlisted. Specified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The parent (project, location, cluster id) where the node pools will be listed. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the parent field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -14382,8 +13767,7 @@
 	header_                        http.Header
 }
 
-// Rollback: Rolls back a previously Aborted or Failed NodePool
-// upgrade.
+// Rollback: Rolls back a previously Aborted or Failed NodePool upgrade.
 // This makes no changes if the last upgrade successfully completed.
 func (r *ProjectsZonesClustersNodePoolsService) Rollback(projectId string, zone string, clusterId string, nodePoolId string, rollbacknodepoolupgraderequest *RollbackNodePoolUpgradeRequest) *ProjectsZonesClustersNodePoolsRollbackCall {
 	c := &ProjectsZonesClustersNodePoolsRollbackCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -14422,7 +13806,7 @@
 
 func (c *ProjectsZonesClustersNodePoolsRollbackCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14489,7 +13873,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Rolls back a previously Aborted or Failed NodePool upgrade.\nThis makes no changes if the last upgrade successfully completed.",
+	//   "description": "Rolls back a previously Aborted or Failed NodePool upgrade. This makes no changes if the last upgrade successfully completed.",
 	//   "flatPath": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}:rollback",
 	//   "httpMethod": "POST",
 	//   "id": "container.projects.zones.clusters.nodePools.rollback",
@@ -14501,25 +13885,25 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster to rollback.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster to rollback. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "nodePoolId": {
-	//       "description": "Deprecated. The name of the node pool to rollback.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the node pool to rollback. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -14591,7 +13975,7 @@
 
 func (c *ProjectsZonesClustersNodePoolsSetManagementCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14670,25 +14054,25 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster to update.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "nodePoolId": {
-	//       "description": "Deprecated. The name of the node pool to update.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -14760,7 +14144,7 @@
 
 func (c *ProjectsZonesClustersNodePoolsSetSizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14839,25 +14223,25 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster to update.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "nodePoolId": {
-	//       "description": "Deprecated. The name of the node pool to update.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -14930,7 +14314,7 @@
 
 func (c *ProjectsZonesClustersNodePoolsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15009,25 +14393,25 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "nodePoolId": {
-	//       "description": "Deprecated. The name of the node pool to upgrade.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -15097,7 +14481,7 @@
 
 func (c *ProjectsZonesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15174,19 +14558,19 @@
 	//   ],
 	//   "parameters": {
 	//     "operationId": {
-	//       "description": "Deprecated. The server-assigned `name` of the operation.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\noperation resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the operation resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -15229,8 +14613,8 @@
 }
 
 // Name sets the optional parameter "name": The name (project, location,
-// operation id) of the operation to get.
-// Specified in the format `projects/*/locations/*/operations/*`.
+// operation id) of the operation to get. Specified in the format
+// `projects/*/locations/*/operations/*`.
 func (c *ProjectsZonesOperationsGetCall) Name(name string) *ProjectsZonesOperationsGetCall {
 	c.urlParams_.Set("name", name)
 	return c
@@ -15273,7 +14657,7 @@
 
 func (c *ProjectsZonesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15348,24 +14732,24 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, operation id) of the operation to get.\nSpecified in the format `projects/*/locations/*/operations/*`.",
+	//       "description": "The name (project, location, operation id) of the operation to get. Specified in the format `projects/*/locations/*/operations/*`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "operationId": {
-	//       "description": "Deprecated. The server-assigned `name` of the operation.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -15404,9 +14788,9 @@
 }
 
 // Parent sets the optional parameter "parent": The parent (project and
-// location) where the operations will be listed.
-// Specified in the format `projects/*/locations/*`.
-// Location "-" matches all zones and all regions.
+// location) where the operations will be listed. Specified in the
+// format `projects/*/locations/*`. Location "-" matches all zones and
+// all regions.
 func (c *ProjectsZonesOperationsListCall) Parent(parent string) *ProjectsZonesOperationsListCall {
 	c.urlParams_.Set("parent", parent)
 	return c
@@ -15449,7 +14833,7 @@
 
 func (c *ProjectsZonesOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15522,18 +14906,18 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "The parent (project and location) where the operations will be listed.\nSpecified in the format `projects/*/locations/*`.\nLocation \"-\" matches all zones and all regions.",
+	//       "description": "The parent (project and location) where the operations will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the parent field.",
+	//       "description": "Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) to return\noperations for, or `-` for all zones. This field has been deprecated and\nreplaced by the parent field.",
+	//       "description": "Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for, or `-` for all zones. This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
diff --git a/container/v1beta1/container-api.json b/container/v1beta1/container-api.json
index 9d98fac..6959589 100644
--- a/container/v1beta1/container-api.json
+++ b/container/v1beta1/container-api.json
@@ -121,23 +121,23 @@
                   ],
                   "parameters": {
                     "filter": {
-                      "description": "Filtering currently only supports equality on the networkProjectId and must\nbe in the form: \"networkProjectId=[PROJECTID]\", where `networkProjectId`\nis the project which owns the listed subnetworks. This defaults to the\nparent project ID.",
+                      "description": "Filtering currently only supports equality on the networkProjectId and must be in the form: \"networkProjectId=[PROJECTID]\", where `networkProjectId` is the project which owns the listed subnetworks. This defaults to the parent project ID.",
                       "location": "query",
                       "type": "string"
                     },
                     "pageSize": {
-                      "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+                      "description": "The max number of results per page that should be returned. If the number of available results is larger than `page_size`, a `next_page_token` is returned which can be used to get the next page of results in subsequent requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "Specifies a page token to use. Set this to the nextPageToken returned by\nprevious list requests to get the next page of results.",
+                      "description": "Specifies a page token to use. Set this to the nextPageToken returned by previous list requests to get the next page of results.",
                       "location": "query",
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The parent project where subnetworks are usable.\nSpecified in the format `projects/*`.",
+                      "description": "Required. The parent project where subnetworks are usable. Specified in the format `projects/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+$",
                       "required": true,
@@ -168,19 +168,19 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "The name (project and location) of the server config to get,\nspecified in the format `projects/*/locations/*`.",
+                  "description": "The name (project and location) of the server config to get, specified in the format `projects/*/locations/*`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/locations/[^/]+$",
                   "required": true,
                   "type": "string"
                 },
                 "projectId": {
-                  "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                  "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                   "location": "query",
                   "type": "string"
                 },
                 "zone": {
-                  "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) to return\noperations for. This field has been deprecated and replaced by the name\nfield.",
+                  "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for. This field has been deprecated and replaced by the name field.",
                   "location": "query",
                   "type": "string"
                 }
@@ -203,7 +203,7 @@
               ],
               "parameters": {
                 "parent": {
-                  "description": "Required. Contains the name of the resource requested.\nSpecified in the format `projects/*`.",
+                  "description": "Required. Contains the name of the resource requested. Specified in the format `projects/*`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
@@ -232,7 +232,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster id) of the cluster to complete IP\nrotation. Specified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster id) of the cluster to complete IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -251,7 +251,7 @@
                   ]
                 },
                 "create": {
-                  "description": "Creates a cluster, consisting of the specified number and type of Google\nCompute Engine instances.\n\nBy default, the cluster is created in the project's\n[default\nnetwork](https://cloud.google.com/compute/docs/networks-and-firewalls#networks).\n\nOne firewall is added for the cluster. After cluster creation,\nthe Kubelet creates routes for each node to allow the containers\non that node to communicate with all other instances in the\ncluster.\n\nFinally, an entry is added to the project's global metadata indicating\nwhich CIDR range the cluster is using.",
+                  "description": "Creates a cluster, consisting of the specified number and type of Google Compute Engine instances. By default, the cluster is created in the project's [default network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks). One firewall is added for the cluster. After cluster creation, the Kubelet creates routes for each node to allow the containers on that node to communicate with all other instances in the cluster. Finally, an entry is added to the project's global metadata indicating which CIDR range the cluster is using.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters",
                   "httpMethod": "POST",
                   "id": "container.projects.locations.clusters.create",
@@ -260,7 +260,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "The parent (project and location) where the cluster will be created.\nSpecified in the format `projects/*/locations/*`.",
+                      "description": "The parent (project and location) where the cluster will be created. Specified in the format `projects/*/locations/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -279,7 +279,7 @@
                   ]
                 },
                 "delete": {
-                  "description": "Deletes the cluster, including the Kubernetes endpoint and all worker\nnodes.\n\nFirewalls and routes that were configured during cluster creation\nare also deleted.\n\nOther Google Compute Engine resources that might be in use by the cluster,\nsuch as load balancer resources, are not deleted if they weren't present\nwhen the cluster was initially created.",
+                  "description": "Deletes the cluster, including the Kubernetes endpoint and all worker nodes. Firewalls and routes that were configured during cluster creation are also deleted. Other Google Compute Engine resources that might be in use by the cluster, such as load balancer resources, are not deleted if they weren't present when the cluster was initially created.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}",
                   "httpMethod": "DELETE",
                   "id": "container.projects.locations.clusters.delete",
@@ -288,24 +288,24 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Required. Deprecated. The name of the cluster to delete.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The name of the cluster to delete. This field has been deprecated and replaced by the name field.",
                       "location": "query",
                       "type": "string"
                     },
                     "name": {
-                      "description": "The name (project, location, cluster) of the cluster to delete.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster) of the cluster to delete. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "query",
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "query",
                       "type": "string"
                     }
@@ -328,24 +328,24 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Required. Deprecated. The name of the cluster to retrieve.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The name of the cluster to retrieve. This field has been deprecated and replaced by the name field.",
                       "location": "query",
                       "type": "string"
                     },
                     "name": {
-                      "description": "The name (project, location, cluster) of the cluster to retrieve.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster) of the cluster to retrieve. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "query",
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "query",
                       "type": "string"
                     }
@@ -359,7 +359,7 @@
                   ]
                 },
                 "getJwks": {
-                  "description": "Gets the public component of the cluster signing keys in\nJSON Web Key format.\nThis API is not yet intended for general use, and is not available for all\nclusters.",
+                  "description": "Gets the public component of the cluster signing keys in JSON Web Key format. This API is not yet intended for general use, and is not available for all clusters.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/jwks",
                   "httpMethod": "GET",
                   "id": "container.projects.locations.clusters.getJwks",
@@ -368,7 +368,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "The cluster (project, location, cluster id) to get keys for. Specified in\nthe format `projects/*/locations/*/clusters/*`.",
+                      "description": "The cluster (project, location, cluster id) to get keys for. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -381,7 +381,7 @@
                   }
                 },
                 "list": {
-                  "description": "Lists all clusters owned by a project in either the specified zone or all\nzones.",
+                  "description": "Lists all clusters owned by a project in either the specified zone or all zones.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters",
                   "httpMethod": "GET",
                   "id": "container.projects.locations.clusters.list",
@@ -390,19 +390,19 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "The parent (project and location) where the clusters will be listed.\nSpecified in the format `projects/*/locations/*`.\nLocation \"-\" matches all zones and all regions.",
+                      "description": "The parent (project and location) where the clusters will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the parent field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
                       "location": "query",
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides, or \"-\" for all zones. This field has been deprecated and\nreplaced by the parent field.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides, or \"-\" for all zones. This field has been deprecated and replaced by the parent field.",
                       "location": "query",
                       "type": "string"
                     }
@@ -425,7 +425,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster) of the cluster to set addons.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster) of the cluster to set addons. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -453,7 +453,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster id) of the cluster to set legacy abac.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster id) of the cluster to set legacy abac. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -472,7 +472,7 @@
                   ]
                 },
                 "setLocations": {
-                  "description": "Sets the locations for a specific cluster.\nDeprecated. Use\n[projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters/update)\ninstead.",
+                  "description": "Sets the locations for a specific cluster. Deprecated. Use [projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters/update) instead.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setLocations",
                   "httpMethod": "POST",
                   "id": "container.projects.locations.clusters.setLocations",
@@ -481,7 +481,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster) of the cluster to set locations.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster) of the cluster to set locations. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -509,7 +509,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster) of the cluster to set logging.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster) of the cluster to set logging. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -537,7 +537,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster id) of the cluster to set maintenance\npolicy.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster id) of the cluster to set maintenance policy. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -556,7 +556,7 @@
                   ]
                 },
                 "setMasterAuth": {
-                  "description": "Sets master auth materials. Currently supports changing the admin password\nor a specific cluster, either via password generation or explicitly setting\nthe password.",
+                  "description": "Sets master auth materials. Currently supports changing the admin password or a specific cluster, either via password generation or explicitly setting the password.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setMasterAuth",
                   "httpMethod": "POST",
                   "id": "container.projects.locations.clusters.setMasterAuth",
@@ -565,7 +565,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster) of the cluster to set auth.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster) of the cluster to set auth. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -593,7 +593,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster) of the cluster to set monitoring.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster) of the cluster to set monitoring. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -621,7 +621,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster id) of the cluster to set networking\npolicy. Specified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster id) of the cluster to set networking policy. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -649,7 +649,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster id) of the cluster to set labels.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster id) of the cluster to set labels. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -677,7 +677,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster id) of the cluster to start IP\nrotation. Specified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster id) of the cluster to start IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -705,7 +705,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster) of the cluster to update. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -733,7 +733,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster) of the cluster to update. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                       "required": true,
@@ -765,7 +765,7 @@
                       ],
                       "parameters": {
                         "parent": {
-                          "description": "The parent (project, location, cluster id) where the node pool will be\ncreated. Specified in the format\n`projects/*/locations/*/clusters/*`.",
+                          "description": "The parent (project, location, cluster id) where the node pool will be created. Specified in the format `projects/*/locations/*/clusters/*`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                           "required": true,
@@ -793,29 +793,29 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
                           "location": "query",
                           "type": "string"
                         },
                         "name": {
-                          "description": "The name (project, location, cluster, node pool id) of the node pool to\ndelete. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+                          "description": "The name (project, location, cluster, node pool id) of the node pool to delete. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
                         "nodePoolId": {
-                          "description": "Required. Deprecated. The name of the node pool to delete.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The name of the node pool to delete. This field has been deprecated and replaced by the name field.",
                           "location": "query",
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
                           "location": "query",
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                           "location": "query",
                           "type": "string"
                         }
@@ -838,29 +838,29 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
                           "location": "query",
                           "type": "string"
                         },
                         "name": {
-                          "description": "The name (project, location, cluster, node pool id) of the node pool to\nget. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+                          "description": "The name (project, location, cluster, node pool id) of the node pool to get. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
                         "nodePoolId": {
-                          "description": "Required. Deprecated. The name of the node pool.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The name of the node pool. This field has been deprecated and replaced by the name field.",
                           "location": "query",
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
                           "location": "query",
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                           "location": "query",
                           "type": "string"
                         }
@@ -883,24 +883,24 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the parent field.",
+                          "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field.",
                           "location": "query",
                           "type": "string"
                         },
                         "parent": {
-                          "description": "The parent (project, location, cluster id) where the node pools will be\nlisted. Specified in the format `projects/*/locations/*/clusters/*`.",
+                          "description": "The parent (project, location, cluster id) where the node pools will be listed. Specified in the format `projects/*/locations/*/clusters/*`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the parent field.",
+                          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field.",
                           "location": "query",
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.",
+                          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
                           "location": "query",
                           "type": "string"
                         }
@@ -914,7 +914,7 @@
                       ]
                     },
                     "rollback": {
-                      "description": "Rolls back a previously Aborted or Failed NodePool upgrade.\nThis makes no changes if the last upgrade successfully completed.",
+                      "description": "Rolls back a previously Aborted or Failed NodePool upgrade. This makes no changes if the last upgrade successfully completed.",
                       "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}:rollback",
                       "httpMethod": "POST",
                       "id": "container.projects.locations.clusters.nodePools.rollback",
@@ -923,7 +923,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "The name (project, location, cluster, node pool id) of the node poll to\nrollback upgrade.\nSpecified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
+                          "description": "The name (project, location, cluster, node pool id) of the node poll to rollback upgrade. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
                           "required": true,
@@ -951,7 +951,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "The name (project, location, cluster, node pool) of the node pool to set\nautoscaler settings. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+                          "description": "The name (project, location, cluster, node pool) of the node pool to set autoscaler settings. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
                           "required": true,
@@ -979,7 +979,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "The name (project, location, cluster, node pool id) of the node pool to set\nmanagement properties. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+                          "description": "The name (project, location, cluster, node pool id) of the node pool to set management properties. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
                           "required": true,
@@ -1007,7 +1007,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "The name (project, location, cluster, node pool id) of the node pool to set\nsize.\nSpecified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
+                          "description": "The name (project, location, cluster, node pool id) of the node pool to set size. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
                           "required": true,
@@ -1035,7 +1035,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "The name (project, location, cluster, node pool) of the node pool to\nupdate. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+                          "description": "The name (project, location, cluster, node pool) of the node pool to update. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
                           "required": true,
@@ -1058,7 +1058,7 @@
                 "well-known": {
                   "methods": {
                     "getOpenid-configuration": {
-                      "description": "Gets the OIDC discovery document for the cluster.\nSee the\n[OpenID Connect Discovery 1.0\nspecification](https://openid.net/specs/openid-connect-discovery-1_0.html)\nfor details.\nThis API is not yet intended for general use, and is not available for all\nclusters.",
+                      "description": "Gets the OIDC discovery document for the cluster. See the [OpenID Connect Discovery 1.0 specification](https://openid.net/specs/openid-connect-discovery-1_0.html) for details. This API is not yet intended for general use, and is not available for all clusters.",
                       "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/.well-known/openid-configuration",
                       "httpMethod": "GET",
                       "id": "container.projects.locations.clusters.well-known.getOpenid-configuration",
@@ -1067,7 +1067,7 @@
                       ],
                       "parameters": {
                         "parent": {
-                          "description": "The cluster (project, location, cluster id) to get the discovery document\nfor. Specified in the format `projects/*/locations/*/clusters/*`.",
+                          "description": "The cluster (project, location, cluster id) to get the discovery document for. Specified in the format `projects/*/locations/*/clusters/*`.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
                           "required": true,
@@ -1095,7 +1095,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, operation id) of the operation to cancel.\nSpecified in the format `projects/*/locations/*/operations/*`.",
+                      "description": "The name (project, location, operation id) of the operation to cancel. Specified in the format `projects/*/locations/*/operations/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                       "required": true,
@@ -1123,24 +1123,24 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, operation id) of the operation to get.\nSpecified in the format `projects/*/locations/*/operations/*`.",
+                      "description": "The name (project, location, operation id) of the operation to get. Specified in the format `projects/*/locations/*/operations/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
                       "required": true,
                       "type": "string"
                     },
                     "operationId": {
-                      "description": "Required. Deprecated. The server-assigned `name` of the operation.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field.",
                       "location": "query",
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "query",
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "query",
                       "type": "string"
                     }
@@ -1163,19 +1163,19 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "The parent (project and location) where the operations will be listed.\nSpecified in the format `projects/*/locations/*`.\nLocation \"-\" matches all zones and all regions.",
+                      "description": "The parent (project and location) where the operations will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the parent field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
                       "location": "query",
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) to return\noperations for, or `-` for all zones. This field has been deprecated and\nreplaced by the parent field.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for, or `-` for all zones. This field has been deprecated and replaced by the parent field.",
                       "location": "query",
                       "type": "string"
                     }
@@ -1205,18 +1205,18 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "The name (project and location) of the server config to get,\nspecified in the format `projects/*/locations/*`.",
+                  "description": "The name (project and location) of the server config to get, specified in the format `projects/*/locations/*`.",
                   "location": "query",
                   "type": "string"
                 },
                 "projectId": {
-                  "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                  "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                   "location": "path",
                   "required": true,
                   "type": "string"
                 },
                 "zone": {
-                  "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) to return\noperations for. This field has been deprecated and replaced by the name\nfield.",
+                  "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for. This field has been deprecated and replaced by the name field.",
                   "location": "path",
                   "required": true,
                   "type": "string"
@@ -1246,19 +1246,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1287,19 +1287,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1317,7 +1317,7 @@
                   ]
                 },
                 "create": {
-                  "description": "Creates a cluster, consisting of the specified number and type of Google\nCompute Engine instances.\n\nBy default, the cluster is created in the project's\n[default\nnetwork](https://cloud.google.com/compute/docs/networks-and-firewalls#networks).\n\nOne firewall is added for the cluster. After cluster creation,\nthe Kubelet creates routes for each node to allow the containers\non that node to communicate with all other instances in the\ncluster.\n\nFinally, an entry is added to the project's global metadata indicating\nwhich CIDR range the cluster is using.",
+                  "description": "Creates a cluster, consisting of the specified number and type of Google Compute Engine instances. By default, the cluster is created in the project's [default network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks). One firewall is added for the cluster. After cluster creation, the Kubelet creates routes for each node to allow the containers on that node to communicate with all other instances in the cluster. Finally, an entry is added to the project's global metadata indicating which CIDR range the cluster is using.",
                   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters",
                   "httpMethod": "POST",
                   "id": "container.projects.zones.clusters.create",
@@ -1327,13 +1327,13 @@
                   ],
                   "parameters": {
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the parent field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1351,7 +1351,7 @@
                   ]
                 },
                 "delete": {
-                  "description": "Deletes the cluster, including the Kubernetes endpoint and all worker\nnodes.\n\nFirewalls and routes that were configured during cluster creation\nare also deleted.\n\nOther Google Compute Engine resources that might be in use by the cluster,\nsuch as load balancer resources, are not deleted if they weren't present\nwhen the cluster was initially created.",
+                  "description": "Deletes the cluster, including the Kubernetes endpoint and all worker nodes. Firewalls and routes that were configured during cluster creation are also deleted. Other Google Compute Engine resources that might be in use by the cluster, such as load balancer resources, are not deleted if they weren't present when the cluster was initially created.",
                   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}",
                   "httpMethod": "DELETE",
                   "id": "container.projects.zones.clusters.delete",
@@ -1362,24 +1362,24 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Required. Deprecated. The name of the cluster to delete.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The name of the cluster to delete. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "name": {
-                      "description": "The name (project, location, cluster) of the cluster to delete.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster) of the cluster to delete. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "query",
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1405,24 +1405,24 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Required. Deprecated. The name of the cluster to retrieve.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The name of the cluster to retrieve. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "name": {
-                      "description": "The name (project, location, cluster) of the cluster to retrieve.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+                      "description": "The name (project, location, cluster) of the cluster to retrieve. Specified in the format `projects/*/locations/*/clusters/*`.",
                       "location": "query",
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1448,19 +1448,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Required. Deprecated. The name of the cluster to update.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1478,7 +1478,7 @@
                   ]
                 },
                 "list": {
-                  "description": "Lists all clusters owned by a project in either the specified zone or all\nzones.",
+                  "description": "Lists all clusters owned by a project in either the specified zone or all zones.",
                   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters",
                   "httpMethod": "GET",
                   "id": "container.projects.zones.clusters.list",
@@ -1488,18 +1488,18 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "The parent (project and location) where the clusters will be listed.\nSpecified in the format `projects/*/locations/*`.\nLocation \"-\" matches all zones and all regions.",
+                      "description": "The parent (project and location) where the clusters will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.",
                       "location": "query",
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the parent field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides, or \"-\" for all zones. This field has been deprecated and\nreplaced by the parent field.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides, or \"-\" for all zones. This field has been deprecated and replaced by the parent field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1514,7 +1514,7 @@
                   ]
                 },
                 "locations": {
-                  "description": "Sets the locations for a specific cluster.\nDeprecated. Use\n[projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters/update)\ninstead.",
+                  "description": "Sets the locations for a specific cluster. Deprecated. Use [projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters/update) instead.",
                   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/locations",
                   "httpMethod": "POST",
                   "id": "container.projects.zones.clusters.locations",
@@ -1525,19 +1525,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1566,19 +1566,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1607,19 +1607,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1648,19 +1648,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1689,19 +1689,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1736,13 +1736,13 @@
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).",
+                      "description": "Required. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840).",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides.",
+                      "description": "Required. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1760,7 +1760,7 @@
                   ]
                 },
                 "setMasterAuth": {
-                  "description": "Sets master auth materials. Currently supports changing the admin password\nor a specific cluster, either via password generation or explicitly setting\nthe password.",
+                  "description": "Sets master auth materials. Currently supports changing the admin password or a specific cluster, either via password generation or explicitly setting the password.",
                   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMasterAuth",
                   "httpMethod": "POST",
                   "id": "container.projects.zones.clusters.setMasterAuth",
@@ -1771,19 +1771,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1812,19 +1812,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1853,19 +1853,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1894,19 +1894,19 @@
                   ],
                   "parameters": {
                     "clusterId": {
-                      "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1940,25 +1940,25 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "nodePoolId": {
-                          "description": "Required. Deprecated. The name of the node pool to upgrade.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
@@ -1987,19 +1987,19 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the parent field.",
+                          "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the parent field.",
+                          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.",
+                          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
@@ -2029,30 +2029,30 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "name": {
-                          "description": "The name (project, location, cluster, node pool id) of the node pool to\ndelete. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+                          "description": "The name (project, location, cluster, node pool id) of the node pool to delete. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
                           "location": "query",
                           "type": "string"
                         },
                         "nodePoolId": {
-                          "description": "Required. Deprecated. The name of the node pool to delete.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The name of the node pool to delete. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
@@ -2079,30 +2079,30 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "name": {
-                          "description": "The name (project, location, cluster, node pool id) of the node pool to\nget. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+                          "description": "The name (project, location, cluster, node pool id) of the node pool to get. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
                           "location": "query",
                           "type": "string"
                         },
                         "nodePoolId": {
-                          "description": "Required. Deprecated. The name of the node pool.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The name of the node pool. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
@@ -2128,24 +2128,24 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the parent field.",
+                          "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "parent": {
-                          "description": "The parent (project, location, cluster id) where the node pools will be\nlisted. Specified in the format `projects/*/locations/*/clusters/*`.",
+                          "description": "The parent (project, location, cluster id) where the node pools will be listed. Specified in the format `projects/*/locations/*/clusters/*`.",
                           "location": "query",
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the parent field.",
+                          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.",
+                          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
@@ -2160,7 +2160,7 @@
                       ]
                     },
                     "rollback": {
-                      "description": "Rolls back a previously Aborted or Failed NodePool upgrade.\nThis makes no changes if the last upgrade successfully completed.",
+                      "description": "Rolls back a previously Aborted or Failed NodePool upgrade. This makes no changes if the last upgrade successfully completed.",
                       "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}:rollback",
                       "httpMethod": "POST",
                       "id": "container.projects.zones.clusters.nodePools.rollback",
@@ -2172,25 +2172,25 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Required. Deprecated. The name of the cluster to rollback.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The name of the cluster to rollback. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "nodePoolId": {
-                          "description": "Required. Deprecated. The name of the node pool to rollback.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The name of the node pool to rollback. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
@@ -2220,25 +2220,25 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Required. Deprecated. The name of the cluster to update.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "nodePoolId": {
-                          "description": "Required. Deprecated. The name of the node pool to update.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
@@ -2268,25 +2268,25 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Required. Deprecated. The name of the cluster to update.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "nodePoolId": {
-                          "description": "Required. Deprecated. The name of the node pool to update.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
@@ -2316,25 +2316,25 @@
                       ],
                       "parameters": {
                         "clusterId": {
-                          "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "nodePoolId": {
-                          "description": "Required. Deprecated. The name of the node pool to upgrade.\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "projectId": {
-                          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
                         },
                         "zone": {
-                          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                           "location": "path",
                           "required": true,
                           "type": "string"
@@ -2369,19 +2369,19 @@
                   ],
                   "parameters": {
                     "operationId": {
-                      "description": "Required. Deprecated. The server-assigned `name` of the operation.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\noperation resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the operation resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -2410,24 +2410,24 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name (project, location, operation id) of the operation to get.\nSpecified in the format `projects/*/locations/*/operations/*`.",
+                      "description": "The name (project, location, operation id) of the operation to get. Specified in the format `projects/*/locations/*/operations/*`.",
                       "location": "query",
                       "type": "string"
                     },
                     "operationId": {
-                      "description": "Required. Deprecated. The server-assigned `name` of the operation.\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -2452,18 +2452,18 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "The parent (project and location) where the operations will be listed.\nSpecified in the format `projects/*/locations/*`.\nLocation \"-\" matches all zones and all regions.",
+                      "description": "The parent (project and location) where the operations will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.",
                       "location": "query",
                       "type": "string"
                     },
                     "projectId": {
-                      "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the parent field.",
+                      "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "zone": {
-                      "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) to return\noperations for, or `-` for all zones. This field has been deprecated and\nreplaced by the parent field.",
+                      "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for, or `-` for all zones. This field has been deprecated and replaced by the parent field.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -2484,7 +2484,7 @@
       }
     }
   },
-  "revision": "20200724",
+  "revision": "20200805",
   "rootUrl": "https://container.googleapis.com/",
   "schemas": {
     "AcceleratorConfig": {
@@ -2497,23 +2497,23 @@
           "type": "string"
         },
         "acceleratorType": {
-          "description": "The accelerator type resource name. List of supported accelerators\n[here](https://cloud.google.com/compute/docs/gpus)",
+          "description": "The accelerator type resource name. List of supported accelerators [here](https://cloud.google.com/compute/docs/gpus)",
           "type": "string"
         }
       },
       "type": "object"
     },
     "AddonsConfig": {
-      "description": "Configuration for the addons that can be automatically spun up in the\ncluster, enabling additional functionality.",
+      "description": "Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality.",
       "id": "AddonsConfig",
       "properties": {
         "cloudRunConfig": {
           "$ref": "CloudRunConfig",
-          "description": "Configuration for the Cloud Run addon. The `IstioConfig` addon must be\nenabled in order to enable Cloud Run addon. This option can only be enabled\nat cluster creation time."
+          "description": "Configuration for the Cloud Run addon. The `IstioConfig` addon must be enabled in order to enable Cloud Run addon. This option can only be enabled at cluster creation time."
         },
         "configConnectorConfig": {
           "$ref": "ConfigConnectorConfig",
-          "description": "Configuration for the ConfigConnector add-on, a Kubernetes\nextension to manage hosted GCP services through the Kubernetes API"
+          "description": "Configuration for the ConfigConnector add-on, a Kubernetes extension to manage hosted GCP services through the Kubernetes API"
         },
         "dnsCacheConfig": {
           "$ref": "DnsCacheConfig",
@@ -2525,27 +2525,27 @@
         },
         "horizontalPodAutoscaling": {
           "$ref": "HorizontalPodAutoscaling",
-          "description": "Configuration for the horizontal pod autoscaling feature, which\nincreases or decreases the number of replica pods a replication controller\nhas based on the resource usage of the existing pods."
+          "description": "Configuration for the horizontal pod autoscaling feature, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods."
         },
         "httpLoadBalancing": {
           "$ref": "HttpLoadBalancing",
-          "description": "Configuration for the HTTP (L7) load balancing controller addon, which\nmakes it easy to set up HTTP load balancers for services in a cluster."
+          "description": "Configuration for the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster."
         },
         "istioConfig": {
           "$ref": "IstioConfig",
-          "description": "Configuration for Istio, an open platform to connect, manage, and secure\nmicroservices."
+          "description": "Configuration for Istio, an open platform to connect, manage, and secure microservices."
         },
         "kalmConfig": {
           "$ref": "KalmConfig",
-          "description": "Configuration for the KALM addon, which manages the lifecycle of k8s\napplications."
+          "description": "Configuration for the KALM addon, which manages the lifecycle of k8s applications."
         },
         "kubernetesDashboard": {
           "$ref": "KubernetesDashboard",
-          "description": "Configuration for the Kubernetes Dashboard.\nThis addon is deprecated, and will be disabled in 1.15. It is recommended\nto use the Cloud Console to manage and monitor your Kubernetes clusters,\nworkloads and applications. For more information, see:\nhttps://cloud.google.com/kubernetes-engine/docs/concepts/dashboards"
+          "description": "Configuration for the Kubernetes Dashboard. This addon is deprecated, and will be disabled in 1.15. It is recommended to use the Cloud Console to manage and monitor your Kubernetes clusters, workloads and applications. For more information, see: https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards"
         },
         "networkPolicyConfig": {
           "$ref": "NetworkPolicyConfig",
-          "description": "Configuration for NetworkPolicy. This only tracks whether the addon\nis enabled or not on the Master, it does not track whether network policy\nis enabled for the nodes."
+          "description": "Configuration for NetworkPolicy. This only tracks whether the addon is enabled or not on the Master, it does not track whether network policy is enabled for the nodes."
         }
       },
       "type": "object"
@@ -2555,33 +2555,33 @@
       "id": "AuthenticatorGroupsConfig",
       "properties": {
         "enabled": {
-          "description": "Whether this cluster should return group membership lookups\nduring authentication using a group of security groups.",
+          "description": "Whether this cluster should return group membership lookups during authentication using a group of security groups.",
           "type": "boolean"
         },
         "securityGroup": {
-          "description": "The name of the security group-of-groups to be used. Only relevant\nif enabled = true.",
+          "description": "The name of the security group-of-groups to be used. Only relevant if enabled = true.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "AutoUpgradeOptions": {
-      "description": "AutoUpgradeOptions defines the set of options for the user to control how\nthe Auto Upgrades will proceed.",
+      "description": "AutoUpgradeOptions defines the set of options for the user to control how the Auto Upgrades will proceed.",
       "id": "AutoUpgradeOptions",
       "properties": {
         "autoUpgradeStartTime": {
-          "description": "[Output only] This field is set when upgrades are about to commence\nwith the approximate start time for the upgrades, in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
+          "description": "[Output only] This field is set when upgrades are about to commence with the approximate start time for the upgrades, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
           "type": "string"
         },
         "description": {
-          "description": "[Output only] This field is set when upgrades are about to commence\nwith the description of the upgrade.",
+          "description": "[Output only] This field is set when upgrades are about to commence with the description of the upgrade.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "AutoprovisioningNodePoolDefaults": {
-      "description": "AutoprovisioningNodePoolDefaults contains defaults for a node pool created\nby NAP.",
+      "description": "AutoprovisioningNodePoolDefaults contains defaults for a node pool created by NAP.",
       "id": "AutoprovisioningNodePoolDefaults",
       "properties": {
         "management": {
@@ -2589,18 +2589,18 @@
           "description": "NodeManagement configuration for this NodePool."
         },
         "minCpuPlatform": {
-          "description": "Minimum CPU platform to be used by this instance. The instance may be\nscheduled on the specified or newer CPU platform. Applicable values are the\nfriendly names of CPU platforms, such as\n`minCpuPlatform: \"Intel Haswell\"` or\n`minCpuPlatform: \"Intel Sandy Bridge\"`. For more\ninformation, read [how to specify min CPU\nplatform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)\nTo unset the min cpu platform field pass \"automatic\"\nas field value.",
+          "description": "Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: \"Intel Haswell\"` or `minCpuPlatform: \"Intel Sandy Bridge\"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform) To unset the min cpu platform field pass \"automatic\" as field value.",
           "type": "string"
         },
         "oauthScopes": {
-          "description": "The set of Google API scopes to be made available on all of the\nnode VMs under the \"default\" service account.\n\nThe following scopes are recommended, but not required, and by default are\nnot included:\n\n* `https://www.googleapis.com/auth/compute` is required for mounting\npersistent storage on your nodes.\n* `https://www.googleapis.com/auth/devstorage.read_only` is required for\ncommunicating with **gcr.io**\n(the [Google Container\nRegistry](https://cloud.google.com/container-registry/)).\n\nIf unspecified, no scopes are added, unless Cloud Logging or Cloud\nMonitoring are enabled, in which case their required scopes will be added.",
+          "description": "The set of Google API scopes to be made available on all of the node VMs under the \"default\" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Google Container Registry](https://cloud.google.com/container-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "serviceAccount": {
-          "description": "The Google Cloud Platform Service Account to be used by the node VMs.\nSpecify the email address of the Service Account; otherwise, if no Service\nAccount is specified, the \"default\" service account is used.",
+          "description": "The Google Cloud Platform Service Account to be used by the node VMs. Specify the email address of the Service Account; otherwise, if no Service Account is specified, the \"default\" service account is used.",
           "type": "string"
         },
         "upgradeSettings": {
@@ -2641,7 +2641,7 @@
       "id": "BinaryAuthorization",
       "properties": {
         "enabled": {
-          "description": "Enable Binary Authorization for this cluster. If enabled, all container\nimages will be validated by Google Binauthz.",
+          "description": "Enable Binary Authorization for this cluster. If enabled, all container images will be validated by Google Binauthz.",
           "type": "boolean"
         }
       },
@@ -2652,19 +2652,19 @@
       "id": "CancelOperationRequest",
       "properties": {
         "name": {
-          "description": "The name (project, location, operation id) of the operation to cancel.\nSpecified in the format `projects/*/locations/*/operations/*`.",
+          "description": "The name (project, location, operation id) of the operation to cancel. Specified in the format `projects/*/locations/*/operations/*`.",
           "type": "string"
         },
         "operationId": {
-          "description": "Required. Deprecated. The server-assigned `name` of the operation.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "projectId": {
-          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\noperation resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the operation resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -2728,7 +2728,7 @@
           "description": "Configuration for Binary Authorization."
         },
         "clusterIpv4Cidr": {
-          "description": "The IP address range of the container pods in this cluster, in\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `10.96.0.0/14`). Leave blank to have\none automatically chosen or specify a `/14` block in `10.0.0.0/8`.",
+          "description": "The IP address range of the container pods in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`). Leave blank to have one automatically chosen or specify a `/14` block in `10.0.0.0/8`.",
           "type": "string"
         },
         "clusterTelemetry": {
@@ -2743,7 +2743,7 @@
           "type": "array"
         },
         "createTime": {
-          "description": "[Output only] The time the cluster was created, in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
+          "description": "[Output only] The time the cluster was created, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
           "type": "string"
         },
         "currentMasterVersion": {
@@ -2751,12 +2751,12 @@
           "type": "string"
         },
         "currentNodeCount": {
-          "description": "[Output only]  The number of nodes currently in the cluster. Deprecated.\nCall Kubernetes API directly to retrieve node information.",
+          "description": "[Output only] The number of nodes currently in the cluster. Deprecated. Call Kubernetes API directly to retrieve node information.",
           "format": "int32",
           "type": "integer"
         },
         "currentNodeVersion": {
-          "description": "[Output only] Deprecated, use\n[NodePool.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters.nodePools)\ninstead. The current version of the node software components.\nIf they are currently at multiple versions because they're in the process\nof being upgraded, this reflects the minimum version of all nodes.",
+          "description": "[Output only] Deprecated, use [NodePool.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters.nodePools) instead. The current version of the node software components. If they are currently at multiple versions because they're in the process of being upgraded, this reflects the minimum version of all nodes.",
           "type": "string"
         },
         "databaseEncryption": {
@@ -2765,34 +2765,34 @@
         },
         "defaultMaxPodsConstraint": {
           "$ref": "MaxPodsConstraint",
-          "description": "The default constraint on the maximum number of pods that can be run\nsimultaneously on a node in the node pool of this cluster. Only honored\nif cluster created with IP Alias support."
+          "description": "The default constraint on the maximum number of pods that can be run simultaneously on a node in the node pool of this cluster. Only honored if cluster created with IP Alias support."
         },
         "description": {
           "description": "An optional description of this cluster.",
           "type": "string"
         },
         "enableKubernetesAlpha": {
-          "description": "Kubernetes alpha features are enabled on this cluster. This includes alpha\nAPI groups (e.g. v1beta1) and features that may not be production ready in\nthe kubernetes version of the master and nodes.\nThe cluster has no SLA for uptime and master/node upgrades are disabled.\nAlpha enabled clusters are automatically deleted thirty days after\ncreation.",
+          "description": "Kubernetes alpha features are enabled on this cluster. This includes alpha API groups (e.g. v1beta1) and features that may not be production ready in the kubernetes version of the master and nodes. The cluster has no SLA for uptime and master/node upgrades are disabled. Alpha enabled clusters are automatically deleted thirty days after creation.",
           "type": "boolean"
         },
         "enableTpu": {
-          "description": "Enable the ability to use Cloud TPUs in this cluster.\nThis field is deprecated, use tpu_config.enabled instead.",
+          "description": "Enable the ability to use Cloud TPUs in this cluster. This field is deprecated, use tpu_config.enabled instead.",
           "type": "boolean"
         },
         "endpoint": {
-          "description": "[Output only] The IP address of this cluster's master endpoint.\nThe endpoint can be accessed from the internet at\n`https://username:password@endpoint/`.\n\nSee the `masterAuth` property of this resource for username and\npassword information.",
+          "description": "[Output only] The IP address of this cluster's master endpoint. The endpoint can be accessed from the internet at `https://username:password@endpoint/`. See the `masterAuth` property of this resource for username and password information.",
           "type": "string"
         },
         "expireTime": {
-          "description": "[Output only] The time the cluster will be automatically\ndeleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
+          "description": "[Output only] The time the cluster will be automatically deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
           "type": "string"
         },
         "initialClusterVersion": {
-          "description": "The initial Kubernetes version for this cluster.  Valid versions are those\nfound in validMasterVersions returned by getServerConfig.  The version can\nbe upgraded over time; such upgrades are reflected in\ncurrentMasterVersion and currentNodeVersion.\n\nUsers may specify either explicit versions offered by\nKubernetes Engine or version aliases, which have the following behavior:\n\n- \"latest\": picks the highest valid Kubernetes version\n- \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version\n- \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version\n- \"1.X.Y-gke.N\": picks an explicit Kubernetes version\n- \"\",\"-\": picks the default Kubernetes version",
+          "description": "The initial Kubernetes version for this cluster. Valid versions are those found in validMasterVersions returned by getServerConfig. The version can be upgraded over time; such upgrades are reflected in currentMasterVersion and currentNodeVersion. Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - \"latest\": picks the highest valid Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes version - \"\",\"-\": picks the default Kubernetes version",
           "type": "string"
         },
         "initialNodeCount": {
-          "description": "The number of nodes to create in this cluster. You must ensure that your\nCompute Engine [resource quota](https://cloud.google.com/compute/quotas)\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.\nFor requests, this field should only be used in lieu of a\n\"node_pool\" object, since this configuration (along with the\n\"node_config\") will be used to create a \"NodePool\" object with an\nauto-generated name. Do not use this and a node_pool at the same time.\n\nThis field is deprecated, use node_pool.initial_node_count instead.",
+          "description": "The number of nodes to create in this cluster. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota. For requests, this field should only be used in lieu of a \"node_pool\" object, since this configuration (along with the \"node_config\") will be used to create a \"NodePool\" object with an auto-generated name. Do not use this and a node_pool at the same time. This field is deprecated, use node_pool.initial_node_count instead.",
           "format": "int32",
           "type": "integer"
         },
@@ -2816,18 +2816,18 @@
           "description": "Configuration for the legacy ABAC authorization mode."
         },
         "location": {
-          "description": "[Output only] The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)\nor\n[region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)\nin which the cluster resides.",
+          "description": "[Output only] The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) or [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which the cluster resides.",
           "type": "string"
         },
         "locations": {
-          "description": "The list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster's nodes should be located.",
+          "description": "The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the cluster's nodes should be located.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "loggingService": {
-          "description": "The logging service the cluster should use to write logs.\nCurrently available options:\n\n* `logging.googleapis.com/kubernetes` - The Cloud Logging\nservice with a Kubernetes-native resource model\n* `logging.googleapis.com` - The legacy Cloud Logging service (no longer\n  available as of GKE 1.15).\n* `none` - no logs will be exported from the cluster.\n\nIf left as an empty string,`logging.googleapis.com/kubernetes` will be\nused for GKE 1.14+ or `logging.googleapis.com` for earlier versions.",
+          "description": "The logging service the cluster should use to write logs. Currently available options: * `logging.googleapis.com/kubernetes` - The Cloud Logging service with a Kubernetes-native resource model * `logging.googleapis.com` - The legacy Cloud Logging service (no longer available as of GKE 1.15). * `none` - no logs will be exported from the cluster. If left as an empty string,`logging.googleapis.com/kubernetes` will be used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.",
           "type": "string"
         },
         "maintenancePolicy": {
@@ -2840,26 +2840,26 @@
         },
         "masterAuth": {
           "$ref": "MasterAuth",
-          "description": "The authentication information for accessing the master endpoint.\nIf unspecified, the defaults are used:\nFor clusters before v1.12, if master_auth is unspecified, `username` will\nbe set to \"admin\", a random password will be generated, and a client\ncertificate will be issued."
+          "description": "The authentication information for accessing the master endpoint. If unspecified, the defaults are used: For clusters before v1.12, if master_auth is unspecified, `username` will be set to \"admin\", a random password will be generated, and a client certificate will be issued."
         },
         "masterAuthorizedNetworksConfig": {
           "$ref": "MasterAuthorizedNetworksConfig",
           "description": "The configuration options for master authorized networks feature."
         },
         "masterIpv4CidrBlock": {
-          "description": "The IP prefix in CIDR notation to use for the hosted master network.\nThis prefix will be used for assigning private IP addresses to the\nmaster or set of masters, as well as the ILB VIP.\nThis field is deprecated, use\nprivate_cluster_config.master_ipv4_cidr_block instead.",
+          "description": "The IP prefix in CIDR notation to use for the hosted master network. This prefix will be used for assigning private IP addresses to the master or set of masters, as well as the ILB VIP. This field is deprecated, use private_cluster_config.master_ipv4_cidr_block instead.",
           "type": "string"
         },
         "monitoringService": {
-          "description": "The monitoring service the cluster should use to write metrics.\nCurrently available options:\n\n* \"monitoring.googleapis.com/kubernetes\" - The Cloud Monitoring\nservice with a Kubernetes-native resource model\n* `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no\n  longer available as of GKE 1.15).\n* `none` - No metrics will be exported from the cluster.\n\nIf left as an empty string,`monitoring.googleapis.com/kubernetes` will be\nused for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.",
+          "description": "The monitoring service the cluster should use to write metrics. Currently available options: * \"monitoring.googleapis.com/kubernetes\" - The Cloud Monitoring service with a Kubernetes-native resource model * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no longer available as of GKE 1.15). * `none` - No metrics will be exported from the cluster. If left as an empty string,`monitoring.googleapis.com/kubernetes` will be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.",
           "type": "string"
         },
         "name": {
-          "description": "The name of this cluster. The name must be unique within this project\nand location (e.g. zone or region), and can be up to 40 characters with\nthe following restrictions:\n\n* Lowercase letters, numbers, and hyphens only.\n* Must start with a letter.\n* Must end with a number or a letter.",
+          "description": "The name of this cluster. The name must be unique within this project and location (e.g. zone or region), and can be up to 40 characters with the following restrictions: * Lowercase letters, numbers, and hyphens only. * Must start with a letter. * Must end with a number or a letter.",
           "type": "string"
         },
         "network": {
-          "description": "The name of the Google Compute Engine\n[network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)\nto which the cluster is connected. If left unspecified, the `default`\nnetwork will be used. On output this shows the network ID instead of the\nname.",
+          "description": "The name of the Google Compute Engine [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. If left unspecified, the `default` network will be used. On output this shows the network ID instead of the name.",
           "type": "string"
         },
         "networkConfig": {
@@ -2872,26 +2872,30 @@
         },
         "nodeConfig": {
           "$ref": "NodeConfig",
-          "description": "Parameters used in creating the cluster's nodes.\nFor requests, this field should only be used in lieu of a\n\"node_pool\" object, since this configuration (along with the\n\"initial_node_count\") will be used to create a \"NodePool\" object with an\nauto-generated name. Do not use this and a node_pool at the same time.\nFor responses, this field will be populated with the node configuration of\nthe first node pool. (For configuration of each node pool, see\n`node_pool.config`)\n\nIf unspecified, the defaults are used.\nThis field is deprecated, use node_pool.config instead."
+          "description": "Parameters used in creating the cluster's nodes. For requests, this field should only be used in lieu of a \"node_pool\" object, since this configuration (along with the \"initial_node_count\") will be used to create a \"NodePool\" object with an auto-generated name. Do not use this and a node_pool at the same time. For responses, this field will be populated with the node configuration of the first node pool. (For configuration of each node pool, see `node_pool.config`) If unspecified, the defaults are used. This field is deprecated, use node_pool.config instead."
         },
         "nodeIpv4CidrSize": {
-          "description": "[Output only] The size of the address space on each node for hosting\ncontainers. This is provisioned from within the `container_ipv4_cidr`\nrange. This field will only be set when cluster is in route-based network\nmode.",
+          "description": "[Output only] The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode.",
           "format": "int32",
           "type": "integer"
         },
         "nodePools": {
-          "description": "The node pools associated with this cluster.\nThis field should not be set if \"node_config\" or \"initial_node_count\" are\nspecified.",
+          "description": "The node pools associated with this cluster. This field should not be set if \"node_config\" or \"initial_node_count\" are specified.",
           "items": {
             "$ref": "NodePool"
           },
           "type": "array"
         },
+        "notificationConfig": {
+          "$ref": "NotificationConfig",
+          "description": "Notification configuration of the cluster."
+        },
         "podSecurityPolicyConfig": {
           "$ref": "PodSecurityPolicyConfig",
           "description": "Configuration for the PodSecurityPolicy feature."
         },
         "privateCluster": {
-          "description": "If this is a private cluster setup. Private clusters are clusters that, by\ndefault have no external IP addresses on the nodes and where nodes and the\nmaster communicate over private IP addresses.\nThis field is deprecated, use private_cluster_config.enable_private_nodes\ninstead.",
+          "description": "If this is a private cluster setup. Private clusters are clusters that, by default have no external IP addresses on the nodes and where nodes and the master communicate over private IP addresses. This field is deprecated, use private_cluster_config.enable_private_nodes instead.",
           "type": "boolean"
         },
         "privateClusterConfig": {
@@ -2906,19 +2910,19 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The resource labels for the cluster to use to annotate any related\nGoogle Compute Engine resources.",
+          "description": "The resource labels for the cluster to use to annotate any related Google Compute Engine resources.",
           "type": "object"
         },
         "resourceUsageExportConfig": {
           "$ref": "ResourceUsageExportConfig",
-          "description": "Configuration for exporting resource usages. Resource usage export is\ndisabled when this config unspecified."
+          "description": "Configuration for exporting resource usages. Resource usage export is disabled when this config unspecified."
         },
         "selfLink": {
           "description": "[Output only] Server-defined URL for the resource.",
           "type": "string"
         },
         "servicesIpv4Cidr": {
-          "description": "[Output only] The IP address range of the Kubernetes services in\nthis cluster, in\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `1.2.3.4/29`). Service addresses are\ntypically put in the last `/16` from the container CIDR.",
+          "description": "[Output only] The IP address range of the Kubernetes services in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.2.3.4/29`). Service addresses are typically put in the last `/16` from the container CIDR.",
           "type": "string"
         },
         "shieldedNodes": {
@@ -2939,20 +2943,20 @@
           "enumDescriptions": [
             "Not set.",
             "The PROVISIONING state indicates the cluster is being created.",
-            "The RUNNING state indicates the cluster has been created and is fully\nusable.",
-            "The RECONCILING state indicates that some work is actively being done on\nthe cluster, such as upgrading the master or node software. Details can\nbe found in the `statusMessage` field.",
+            "The RUNNING state indicates the cluster has been created and is fully usable.",
+            "The RECONCILING state indicates that some work is actively being done on the cluster, such as upgrading the master or node software. Details can be found in the `statusMessage` field.",
             "The STOPPING state indicates the cluster is being deleted.",
-            "The ERROR state indicates the cluster may be unusable. Details\ncan be found in the `statusMessage` field.",
-            "The DEGRADED state indicates the cluster requires user action to restore\nfull functionality. Details can be found in the `statusMessage` field."
+            "The ERROR state indicates the cluster may be unusable. Details can be found in the `statusMessage` field.",
+            "The DEGRADED state indicates the cluster requires user action to restore full functionality. Details can be found in the `statusMessage` field."
           ],
           "type": "string"
         },
         "statusMessage": {
-          "description": "[Output only] Additional information about the current status of this\ncluster, if available.",
+          "description": "[Output only] Additional information about the current status of this cluster, if available.",
           "type": "string"
         },
         "subnetwork": {
-          "description": "The name of the Google Compute Engine\n[subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which\nthe cluster is connected. On output this shows the subnetwork ID instead of\nthe name.",
+          "description": "The name of the Google Compute Engine [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which the cluster is connected. On output this shows the subnetwork ID instead of the name.",
           "type": "string"
         },
         "tpuConfig": {
@@ -2960,7 +2964,7 @@
           "description": "Configuration for Cloud TPU support;"
         },
         "tpuIpv4CidrBlock": {
-          "description": "[Output only] The IP address range of the Cloud TPUs in this cluster, in\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `1.2.3.4/29`).",
+          "description": "[Output only] The IP address range of the Cloud TPUs in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.2.3.4/29`).",
           "type": "string"
         },
         "verticalPodAutoscaling": {
@@ -2969,21 +2973,21 @@
         },
         "workloadIdentityConfig": {
           "$ref": "WorkloadIdentityConfig",
-          "description": "Configuration for the use of Kubernetes Service Accounts in GCP IAM\npolicies."
+          "description": "Configuration for the use of Kubernetes Service Accounts in GCP IAM policies."
         },
         "zone": {
-          "description": "[Output only] The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field is deprecated, use location instead.",
+          "description": "[Output only] The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field is deprecated, use location instead.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "ClusterAutoscaling": {
-      "description": "ClusterAutoscaling contains global, per-cluster information\nrequired by Cluster Autoscaler to automatically adjust\nthe size of the cluster and create/delete\nnode pools based on the current needs.",
+      "description": "ClusterAutoscaling contains global, per-cluster information required by Cluster Autoscaler to automatically adjust the size of the cluster and create/delete node pools based on the current needs.",
       "id": "ClusterAutoscaling",
       "properties": {
         "autoprovisioningLocations": {
-          "description": "The list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\nNodePool's nodes can be created by NAP.",
+          "description": "The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes can be created by NAP.",
           "items": {
             "type": "string"
           },
@@ -2991,7 +2995,7 @@
         },
         "autoprovisioningNodePoolDefaults": {
           "$ref": "AutoprovisioningNodePoolDefaults",
-          "description": "AutoprovisioningNodePoolDefaults contains defaults for a node pool\ncreated by NAP."
+          "description": "AutoprovisioningNodePoolDefaults contains defaults for a node pool created by NAP."
         },
         "autoscalingProfile": {
           "description": "Defines autoscaling behaviour.",
@@ -3012,7 +3016,7 @@
           "type": "boolean"
         },
         "resourceLimits": {
-          "description": "Contains global constraints regarding minimum and maximum\namount of resources in the cluster.",
+          "description": "Contains global constraints regarding minimum and maximum amount of resources in the cluster.",
           "items": {
             "$ref": "ResourceLimit"
           },
@@ -3045,7 +3049,7 @@
       "type": "object"
     },
     "ClusterUpdate": {
-      "description": "ClusterUpdate describes an update to the cluster. Exactly one update can\nbe applied to a cluster with each request, so at most one field can be\nprovided.",
+      "description": "ClusterUpdate describes an update to the cluster. Exactly one update can be applied to a cluster with each request, so at most one field can be provided.",
       "id": "ClusterUpdate",
       "properties": {
         "desiredAddonsConfig": {
@@ -3068,12 +3072,26 @@
           "$ref": "DatabaseEncryption",
           "description": "Configuration of etcd encryption."
         },
+        "desiredDatapathProvider": {
+          "description": "The desired datapath provider for the cluster.",
+          "enum": [
+            "DATAPATH_PROVIDER_UNSPECIFIED",
+            "LEGACY_DATAPATH",
+            "ADVANCED_DATAPATH"
+          ],
+          "enumDescriptions": [
+            "Default value.",
+            "Use the IPTables implementation based on kube-proxy.",
+            "Use the eBPF based data plane with additional visibility features."
+          ],
+          "type": "string"
+        },
         "desiredDefaultSnatStatus": {
           "$ref": "DefaultSnatStatus",
           "description": "The desired status of whether to disable default sNAT for this cluster."
         },
         "desiredImageType": {
-          "description": "The desired image type for the node pool.\nNOTE: Set the \"desired_node_pool\" field as well.",
+          "description": "The desired image type for the node pool. NOTE: Set the \"desired_node_pool\" field as well.",
           "type": "string"
         },
         "desiredIntraNodeVisibilityConfig": {
@@ -3081,14 +3099,14 @@
           "description": "The desired config of Intra-node visibility."
         },
         "desiredLocations": {
-          "description": "The desired list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster's nodes should be located. Changing the locations a cluster is in\nwill result in nodes being either created or removed from the cluster,\ndepending on whether locations are being added or removed.\n\nThis list must always include the cluster's primary zone.",
+          "description": "The desired list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the cluster's nodes should be located. Changing the locations a cluster is in will result in nodes being either created or removed from the cluster, depending on whether locations are being added or removed. This list must always include the cluster's primary zone.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "desiredLoggingService": {
-          "description": "The logging service the cluster should use to write logs.\nCurrently available options:\n\n* `logging.googleapis.com/kubernetes` - The Cloud Logging\nservice with a Kubernetes-native resource model\n* `logging.googleapis.com` - The legacy Cloud Logging service (no longer\n  available as of GKE 1.15).\n* `none` - no logs will be exported from the cluster.\n\nIf left as an empty string,`logging.googleapis.com/kubernetes` will be\nused for GKE 1.14+ or `logging.googleapis.com` for earlier versions.",
+          "description": "The logging service the cluster should use to write logs. Currently available options: * `logging.googleapis.com/kubernetes` - The Cloud Logging service with a Kubernetes-native resource model * `logging.googleapis.com` - The legacy Cloud Logging service (no longer available as of GKE 1.15). * `none` - no logs will be exported from the cluster. If left as an empty string,`logging.googleapis.com/kubernetes` will be used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.",
           "type": "string"
         },
         "desiredMaster": {
@@ -3100,25 +3118,29 @@
           "description": "The desired configuration options for master authorized networks feature."
         },
         "desiredMasterVersion": {
-          "description": "The Kubernetes version to change the master to. The only valid value is the\nlatest supported version.\n\nUsers may specify either explicit versions offered by\nKubernetes Engine or version aliases, which have the following behavior:\n\n- \"latest\": picks the highest valid Kubernetes version\n- \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version\n- \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version\n- \"1.X.Y-gke.N\": picks an explicit Kubernetes version\n- \"-\": picks the default Kubernetes version",
+          "description": "The Kubernetes version to change the master to. The only valid value is the latest supported version. Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - \"latest\": picks the highest valid Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes version - \"-\": picks the default Kubernetes version",
           "type": "string"
         },
         "desiredMonitoringService": {
-          "description": "The monitoring service the cluster should use to write metrics.\nCurrently available options:\n\n* \"monitoring.googleapis.com/kubernetes\" - The Cloud Monitoring\nservice with a Kubernetes-native resource model\n* `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no\n  longer available as of GKE 1.15).\n* `none` - No metrics will be exported from the cluster.\n\nIf left as an empty string,`monitoring.googleapis.com/kubernetes` will be\nused for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.",
+          "description": "The monitoring service the cluster should use to write metrics. Currently available options: * \"monitoring.googleapis.com/kubernetes\" - The Cloud Monitoring service with a Kubernetes-native resource model * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no longer available as of GKE 1.15). * `none` - No metrics will be exported from the cluster. If left as an empty string,`monitoring.googleapis.com/kubernetes` will be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.",
           "type": "string"
         },
         "desiredNodePoolAutoscaling": {
           "$ref": "NodePoolAutoscaling",
-          "description": "Autoscaler configuration for the node pool specified in\ndesired_node_pool_id. If there is only one pool in the\ncluster and desired_node_pool_id is not provided then\nthe change applies to that single node pool."
+          "description": "Autoscaler configuration for the node pool specified in desired_node_pool_id. If there is only one pool in the cluster and desired_node_pool_id is not provided then the change applies to that single node pool."
         },
         "desiredNodePoolId": {
-          "description": "The node pool to be upgraded. This field is mandatory if\n\"desired_node_version\", \"desired_image_family\",\n\"desired_node_pool_autoscaling\", or \"desired_workload_metadata_config\"\nis specified and there is more than one node pool on the cluster.",
+          "description": "The node pool to be upgraded. This field is mandatory if \"desired_node_version\", \"desired_image_family\", \"desired_node_pool_autoscaling\", or \"desired_workload_metadata_config\" is specified and there is more than one node pool on the cluster.",
           "type": "string"
         },
         "desiredNodeVersion": {
-          "description": "The Kubernetes version to change the nodes to (typically an\nupgrade).\n\nUsers may specify either explicit versions offered by\nKubernetes Engine or version aliases, which have the following behavior:\n\n- \"latest\": picks the highest valid Kubernetes version\n- \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version\n- \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version\n- \"1.X.Y-gke.N\": picks an explicit Kubernetes version\n- \"-\": picks the Kubernetes master version",
+          "description": "The Kubernetes version to change the nodes to (typically an upgrade). Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - \"latest\": picks the highest valid Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes version - \"-\": picks the Kubernetes master version",
           "type": "string"
         },
+        "desiredNotificationConfig": {
+          "$ref": "NotificationConfig",
+          "description": "The desired notification configuration."
+        },
         "desiredPodSecurityPolicyConfig": {
           "$ref": "PodSecurityPolicyConfig",
           "description": "The desired configuration options for the PodSecurityPolicy feature."
@@ -3159,19 +3181,19 @@
       "id": "CompleteIPRotationRequest",
       "properties": {
         "clusterId": {
-          "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster id) of the cluster to complete IP\nrotation. Specified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster id) of the cluster to complete IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -3193,7 +3215,7 @@
       "id": "ConsumptionMeteringConfig",
       "properties": {
         "enabled": {
-          "description": "Whether to enable consumption metering for this cluster. If enabled, a\nsecond BigQuery table will be created to hold resource consumption\nrecords.",
+          "description": "Whether to enable consumption metering for this cluster. If enabled, a second BigQuery table will be created to hold resource consumption records.",
           "type": "boolean"
         }
       },
@@ -3205,18 +3227,18 @@
       "properties": {
         "cluster": {
           "$ref": "Cluster",
-          "description": "Required. A [cluster\nresource](https://cloud.google.com/container-engine/reference/rest/v1beta1/projects.locations.clusters)"
+          "description": "Required. A [cluster resource](https://cloud.google.com/container-engine/reference/rest/v1beta1/projects.locations.clusters)"
         },
         "parent": {
-          "description": "The parent (project and location) where the cluster will be created.\nSpecified in the format `projects/*/locations/*`.",
+          "description": "The parent (project and location) where the cluster will be created. Specified in the format `projects/*/locations/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the parent field.",
+          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
           "type": "string"
         },
         "zone": {
-          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.",
+          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
           "type": "string"
         }
       },
@@ -3227,7 +3249,7 @@
       "id": "CreateNodePoolRequest",
       "properties": {
         "clusterId": {
-          "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the parent field.",
+          "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field.",
           "type": "string"
         },
         "nodePool": {
@@ -3235,15 +3257,15 @@
           "description": "Required. The node pool to create."
         },
         "parent": {
-          "description": "The parent (project, location, cluster id) where the node pool will be\ncreated. Specified in the format\n`projects/*/locations/*/clusters/*`.",
+          "description": "The parent (project, location, cluster id) where the node pool will be created. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the parent field.",
+          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field.",
           "type": "string"
         },
         "zone": {
-          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.",
+          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
           "type": "string"
         }
       },
@@ -3254,11 +3276,11 @@
       "id": "DailyMaintenanceWindow",
       "properties": {
         "duration": {
-          "description": "[Output only] Duration of the time window, automatically chosen to be\nsmallest possible in the given scenario.",
+          "description": "[Output only] Duration of the time window, automatically chosen to be smallest possible in the given scenario.",
           "type": "string"
         },
         "startTime": {
-          "description": "Time within the maintenance window to start the maintenance operations.\nIt must be in format \"HH:MM\", where HH : [00-23] and MM : [00-59] GMT.",
+          "description": "Time within the maintenance window to start the maintenance operations. It must be in format \"HH:MM\", where HH : [00-23] and MM : [00-59] GMT.",
           "type": "string"
         }
       },
@@ -3269,7 +3291,7 @@
       "id": "DatabaseEncryption",
       "properties": {
         "keyName": {
-          "description": "Name of CloudKMS key to use for the encryption of secrets in etcd.\nEx. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key",
+          "description": "Name of CloudKMS key to use for the encryption of secrets in etcd. Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key",
           "type": "string"
         },
         "state": {
@@ -3282,7 +3304,7 @@
           "enumDescriptions": [
             "Should never be set",
             "Secrets in etcd are encrypted.",
-            "Secrets in etcd are stored in plain text (at etcd level) - this is\nunrelated to Compute Engine level full disk encryption."
+            "Secrets in etcd are stored in plain text (at etcd level) - this is unrelated to Compute Engine level full disk encryption."
           ],
           "type": "string"
         }
@@ -3290,7 +3312,7 @@
       "type": "object"
     },
     "DefaultSnatStatus": {
-      "description": "DefaultSnatStatus contains the desired state of whether default sNAT should\nbe disabled on the cluster.",
+      "description": "DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster.",
       "id": "DefaultSnatStatus",
       "properties": {
         "disabled": {
@@ -3312,13 +3334,13 @@
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
     },
     "GcePersistentDiskCsiDriverConfig": {
-      "description": "Configuration for the Compute Engine PD CSI driver. This option can only be\nenabled at cluster creation time.",
+      "description": "Configuration for the Compute Engine PD CSI driver. This option can only be enabled at cluster creation time.",
       "id": "GcePersistentDiskCsiDriverConfig",
       "properties": {
         "enabled": {
@@ -3334,10 +3356,10 @@
       "properties": {
         "cacheHeader": {
           "$ref": "HttpCacheControlResponseHeader",
-          "description": "OnePlatform automatically extracts this field and uses it to set the HTTP\nCache-Control header."
+          "description": "OnePlatform automatically extracts this field and uses it to set the HTTP Cache-Control header."
         },
         "keys": {
-          "description": "The public component of the keys used by the cluster to sign token\nrequests.",
+          "description": "The public component of the keys used by the cluster to sign token requests.",
           "items": {
             "$ref": "Jwk"
           },
@@ -3347,12 +3369,12 @@
       "type": "object"
     },
     "GetOpenIDConfigResponse": {
-      "description": "GetOpenIDConfigResponse is an OIDC discovery document for the cluster.\nSee the OpenID Connect Discovery 1.0 specification for details.",
+      "description": "GetOpenIDConfigResponse is an OIDC discovery document for the cluster. See the OpenID Connect Discovery 1.0 specification for details.",
       "id": "GetOpenIDConfigResponse",
       "properties": {
         "cacheHeader": {
           "$ref": "HttpCacheControlResponseHeader",
-          "description": "OnePlatform automatically extracts this field and uses it to set the HTTP\nCache-Control header."
+          "description": "OnePlatform automatically extracts this field and uses it to set the HTTP Cache-Control header."
         },
         "claims_supported": {
           "description": "Supported claims.",
@@ -3401,11 +3423,11 @@
       "type": "object"
     },
     "HorizontalPodAutoscaling": {
-      "description": "Configuration options for the horizontal pod autoscaling feature, which\nincreases or decreases the number of replica pods a replication controller\nhas based on the resource usage of the existing pods.",
+      "description": "Configuration options for the horizontal pod autoscaling feature, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods.",
       "id": "HorizontalPodAutoscaling",
       "properties": {
         "disabled": {
-          "description": "Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.\nWhen enabled, it ensures that metrics are collected into Stackdriver\nMonitoring.",
+          "description": "Whether the Horizontal Pod Autoscaling feature is enabled in the cluster. When enabled, it ensures that metrics are collected into Stackdriver Monitoring.",
           "type": "boolean"
         }
       },
@@ -3432,11 +3454,11 @@
       "type": "object"
     },
     "HttpLoadBalancing": {
-      "description": "Configuration options for the HTTP (L7) load balancing controller addon,\nwhich makes it easy to set up HTTP load balancers for services in a cluster.",
+      "description": "Configuration options for the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster.",
       "id": "HttpLoadBalancing",
       "properties": {
         "disabled": {
-          "description": "Whether the HTTP Load Balancing controller is enabled in the cluster.\nWhen enabled, it runs a small pod in the cluster that manages the load\nbalancers.",
+          "description": "Whether the HTTP Load Balancing controller is enabled in the cluster. When enabled, it runs a small pod in the cluster that manages the load balancers.",
           "type": "boolean"
         }
       },
@@ -3447,7 +3469,7 @@
       "id": "IPAllocationPolicy",
       "properties": {
         "allowRouteOverlap": {
-          "description": "If true, allow allocation of cluster CIDR ranges that overlap with certain\nkinds of network routes. By default we do not allow cluster CIDR ranges to\nintersect with any user declared routes. With allow_route_overlap == true,\nwe allow overlapping with CIDR ranges that are larger than the cluster CIDR\nrange.\n\nIf this field is set to true, then cluster and services CIDRs must be\nfully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means:\n1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and\n   `services_ipv4_cidr_block` must be fully-specified.\n2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be\n   fully-specified.",
+          "description": "If true, allow allocation of cluster CIDR ranges that overlap with certain kinds of network routes. By default we do not allow cluster CIDR ranges to intersect with any user declared routes. With allow_route_overlap == true, we allow overlapping with CIDR ranges that are larger than the cluster CIDR range. If this field is set to true, then cluster and services CIDRs must be fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means: 1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and `services_ipv4_cidr_block` must be fully-specified. 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be fully-specified.",
           "type": "boolean"
         },
         "clusterIpv4Cidr": {
@@ -3455,15 +3477,15 @@
           "type": "string"
         },
         "clusterIpv4CidrBlock": {
-          "description": "The IP address range for the cluster pod IPs. If this field is set, then\n`cluster.cluster_ipv4_cidr` must be left blank.\n\nThis field is only applicable when `use_ip_aliases` is true.\n\nSet to blank to have a range chosen with the default size.\n\nSet to /netmask (e.g. `/14`) to have a range chosen with a specific\nnetmask.\n\nSet to a\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.\n`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range\nto use.",
+          "description": "The IP address range for the cluster pod IPs. If this field is set, then `cluster.cluster_ipv4_cidr` must be left blank. This field is only applicable when `use_ip_aliases` is true. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. `/14`) to have a range chosen with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.",
           "type": "string"
         },
         "clusterSecondaryRangeName": {
-          "description": "The name of the secondary range to be used for the cluster CIDR\nblock.  The secondary range will be used for pod IP\naddresses. This must be an existing secondary range associated\nwith the cluster subnetwork.\n\nThis field is only applicable with use_ip_aliases and\ncreate_subnetwork is false.",
+          "description": "The name of the secondary range to be used for the cluster CIDR block. The secondary range will be used for pod IP addresses. This must be an existing secondary range associated with the cluster subnetwork. This field is only applicable with use_ip_aliases and create_subnetwork is false.",
           "type": "string"
         },
         "createSubnetwork": {
-          "description": "Whether a new subnetwork will be created automatically for the cluster.\n\nThis field is only applicable when `use_ip_aliases` is true.",
+          "description": "Whether a new subnetwork will be created automatically for the cluster. This field is only applicable when `use_ip_aliases` is true.",
           "type": "boolean"
         },
         "nodeIpv4Cidr": {
@@ -3471,7 +3493,7 @@
           "type": "string"
         },
         "nodeIpv4CidrBlock": {
-          "description": "The IP address range of the instance IPs in this cluster.\n\nThis is applicable only if `create_subnetwork` is true.\n\nSet to blank to have a range chosen with the default size.\n\nSet to /netmask (e.g. `/14`) to have a range chosen with a specific\nnetmask.\n\nSet to a\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.\n`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range\nto use.",
+          "description": "The IP address range of the instance IPs in this cluster. This is applicable only if `create_subnetwork` is true. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. `/14`) to have a range chosen with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.",
           "type": "string"
         },
         "servicesIpv4Cidr": {
@@ -3479,34 +3501,34 @@
           "type": "string"
         },
         "servicesIpv4CidrBlock": {
-          "description": "The IP address range of the services IPs in this cluster. If blank, a range\nwill be automatically chosen with the default size.\n\nThis field is only applicable when `use_ip_aliases` is true.\n\nSet to blank to have a range chosen with the default size.\n\nSet to /netmask (e.g. `/14`) to have a range chosen with a specific\nnetmask.\n\nSet to a\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.\n`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range\nto use.",
+          "description": "The IP address range of the services IPs in this cluster. If blank, a range will be automatically chosen with the default size. This field is only applicable when `use_ip_aliases` is true. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. `/14`) to have a range chosen with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use.",
           "type": "string"
         },
         "servicesSecondaryRangeName": {
-          "description": "The name of the secondary range to be used as for the services\nCIDR block.  The secondary range will be used for service\nClusterIPs. This must be an existing secondary range associated\nwith the cluster subnetwork.\n\nThis field is only applicable with use_ip_aliases and\ncreate_subnetwork is false.",
+          "description": "The name of the secondary range to be used as for the services CIDR block. The secondary range will be used for service ClusterIPs. This must be an existing secondary range associated with the cluster subnetwork. This field is only applicable with use_ip_aliases and create_subnetwork is false.",
           "type": "string"
         },
         "subnetworkName": {
-          "description": "A custom subnetwork name to be used if `create_subnetwork` is true.  If\nthis field is empty, then an automatic name will be chosen for the new\nsubnetwork.",
+          "description": "A custom subnetwork name to be used if `create_subnetwork` is true. If this field is empty, then an automatic name will be chosen for the new subnetwork.",
           "type": "string"
         },
         "tpuIpv4CidrBlock": {
-          "description": "The IP address range of the Cloud TPUs in this cluster. If unspecified, a\nrange will be automatically chosen with the default size.\n\nThis field is only applicable when `use_ip_aliases` is true.\n\nIf unspecified, the range will use the default size.\n\nSet to /netmask (e.g. `/14`) to have a range chosen with a specific\nnetmask.\n\nSet to a\n[CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)\nnotation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.\n`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range\nto use.\nThis field is deprecated, use cluster.tpu_config.ipv4_cidr_block instead.",
+          "description": "The IP address range of the Cloud TPUs in this cluster. If unspecified, a range will be automatically chosen with the default size. This field is only applicable when `use_ip_aliases` is true. If unspecified, the range will use the default size. Set to /netmask (e.g. `/14`) to have a range chosen with a specific netmask. Set to a [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range to use. This field is deprecated, use cluster.tpu_config.ipv4_cidr_block instead.",
           "type": "string"
         },
         "useIpAliases": {
-          "description": "Whether alias IPs will be used for pod IPs in the cluster.\nThis is used in conjunction with use_routes. It cannot\nbe true if use_routes is true. If both use_ip_aliases and use_routes are\nfalse, then the server picks the default IP allocation mode",
+          "description": "Whether alias IPs will be used for pod IPs in the cluster. This is used in conjunction with use_routes. It cannot be true if use_routes is true. If both use_ip_aliases and use_routes are false, then the server picks the default IP allocation mode",
           "type": "boolean"
         },
         "useRoutes": {
-          "description": "Whether routes will be used for pod IPs in the cluster.\nThis is used in conjunction with use_ip_aliases. It cannot be true if\nuse_ip_aliases is true. If both use_ip_aliases and use_routes are false,\nthen the server picks the default IP allocation mode",
+          "description": "Whether routes will be used for pod IPs in the cluster. This is used in conjunction with use_ip_aliases. It cannot be true if use_ip_aliases is true. If both use_ip_aliases and use_routes are false, then the server picks the default IP allocation mode",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "IntraNodeVisibilityConfig": {
-      "description": "IntraNodeVisibilityConfig contains the desired config of the intra-node\nvisibility on this cluster.",
+      "description": "IntraNodeVisibilityConfig contains the desired config of the intra-node visibility on this cluster.",
       "id": "IntraNodeVisibilityConfig",
       "properties": {
         "enabled": {
@@ -3605,11 +3627,11 @@
       "type": "object"
     },
     "LegacyAbac": {
-      "description": "Configuration for the legacy Attribute Based Access Control authorization\nmode.",
+      "description": "Configuration for the legacy Attribute Based Access Control authorization mode.",
       "id": "LegacyAbac",
       "properties": {
         "enabled": {
-          "description": "Whether the ABAC authorizer is enabled for this cluster. When enabled,\nidentities in the system, including service accounts, nodes, and\ncontrollers, will have statically granted permissions beyond those\nprovided by the RBAC configuration or IAM.",
+          "description": "Whether the ABAC authorizer is enabled for this cluster. When enabled, identities in the system, including service accounts, nodes, and controllers, will have statically granted permissions beyond those provided by the RBAC configuration or IAM.",
           "type": "boolean"
         }
       },
@@ -3623,7 +3645,7 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The Linux kernel parameters to be applied to the nodes and all pods running\non the nodes.\n\nThe following parameters are supported.\n\nnet.core.netdev_max_backlog\nnet.core.rmem_max\nnet.core.wmem_default\nnet.core.wmem_max\nnet.core.optmem_max\nnet.core.somaxconn\nnet.ipv4.tcp_rmem\nnet.ipv4.tcp_wmem\nnet.ipv4.tcp_tw_reuse",
+          "description": "The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.netdev_max_backlog net.core.rmem_max net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse",
           "type": "object"
         }
       },
@@ -3634,14 +3656,14 @@
       "id": "ListClustersResponse",
       "properties": {
         "clusters": {
-          "description": "A list of clusters in the project in the specified zone, or\nacross all ones.",
+          "description": "A list of clusters in the project in the specified zone, or across all ones.",
           "items": {
             "$ref": "Cluster"
           },
           "type": "array"
         },
         "missingZones": {
-          "description": "If any zones are listed here, the list of clusters returned\nmay be missing those zones.",
+          "description": "If any zones are listed here, the list of clusters returned may be missing those zones.",
           "items": {
             "type": "string"
           },
@@ -3651,7 +3673,7 @@
       "type": "object"
     },
     "ListLocationsResponse": {
-      "description": "ListLocationsResponse returns the list of all GKE locations and their\nrecommendation state.",
+      "description": "ListLocationsResponse returns the list of all GKE locations and their recommendation state.",
       "id": "ListLocationsResponse",
       "properties": {
         "locations": {
@@ -3662,7 +3684,7 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "Only return ListLocationsResponse that occur after the page_token. This\nvalue should be populated from the ListLocationsResponse.next_page_token if\nthat response token was set (which happens when listing more Locations than\nfit in a single ListLocationsResponse).",
+          "description": "Only return ListLocationsResponse that occur after the page_token. This value should be populated from the ListLocationsResponse.next_page_token if that response token was set (which happens when listing more Locations than fit in a single ListLocationsResponse).",
           "type": "string"
         }
       },
@@ -3687,7 +3709,7 @@
       "id": "ListOperationsResponse",
       "properties": {
         "missingZones": {
-          "description": "If any zones are listed here, the list of operations returned\nmay be missing the operations from those zones.",
+          "description": "If any zones are listed here, the list of operations returned may be missing the operations from those zones.",
           "items": {
             "type": "string"
           },
@@ -3704,11 +3726,11 @@
       "type": "object"
     },
     "ListUsableSubnetworksResponse": {
-      "description": "ListUsableSubnetworksResponse is the response of\nListUsableSubnetworksRequest.",
+      "description": "ListUsableSubnetworksResponse is the response of ListUsableSubnetworksRequest.",
       "id": "ListUsableSubnetworksResponse",
       "properties": {
         "nextPageToken": {
-          "description": "This token allows you to get the next page of results for list requests.\nIf the number of results is larger than `page_size`, use the\n`next_page_token` as a value for the query parameter `page_token` in the\nnext request. The value will become empty when there are no more pages.",
+          "description": "This token allows you to get the next page of results for list requests. If the number of results is larger than `page_size`, use the `next_page_token` as a value for the query parameter `page_token` in the next request. The value will become empty when there are no more pages.",
           "type": "string"
         },
         "subnetworks": {
@@ -3722,11 +3744,11 @@
       "type": "object"
     },
     "Location": {
-      "description": "Location returns the location name, and if the location is recommended\nfor GKE cluster scheduling.",
+      "description": "Location returns the location name, and if the location is recommended for GKE cluster scheduling.",
       "id": "Location",
       "properties": {
         "name": {
-          "description": "Contains the name of the resource requested.\nSpecified in the format `projects/*/locations/*`.",
+          "description": "Contains the name of the resource requested. Specified in the format `projects/*/locations/*`.",
           "type": "string"
         },
         "recommended": {
@@ -3734,7 +3756,7 @@
           "type": "boolean"
         },
         "type": {
-          "description": "Contains the type of location this Location is for.\nRegional or Zonal.",
+          "description": "Contains the type of location this Location is for. Regional or Zonal.",
           "enum": [
             "LOCATION_TYPE_UNSPECIFIED",
             "ZONE",
@@ -3755,7 +3777,7 @@
       "id": "MaintenancePolicy",
       "properties": {
         "resourceVersion": {
-          "description": "A hash identifying the version of this policy, so that updates to fields of\nthe policy won't accidentally undo intermediate changes (and so that users\nof the API unaware of some fields won't accidentally remove other fields).\nMake a `get()` request to the cluster to get the current\nresource version and include it with requests to set the policy.",
+          "description": "A hash identifying the version of this policy, so that updates to fields of the policy won't accidentally undo intermediate changes (and so that users of the API unaware of some fields won't accidentally remove other fields). Make a `get()` request to the cluster to get the current resource version and include it with requests to set the policy.",
           "type": "string"
         },
         "window": {
@@ -3777,12 +3799,12 @@
           "additionalProperties": {
             "$ref": "TimeWindow"
           },
-          "description": "Exceptions to maintenance window. Non-emergency maintenance should not\noccur in these windows.",
+          "description": "Exceptions to maintenance window. Non-emergency maintenance should not occur in these windows.",
           "type": "object"
         },
         "recurringWindow": {
           "$ref": "RecurringTimeWindow",
-          "description": "RecurringWindow specifies some number of recurring time periods for\nmaintenance to occur. The time windows may be overlapping. If no\nmaintenance windows are set, maintenance can occur at any time."
+          "description": "RecurringWindow specifies some number of recurring time periods for maintenance to occur. The time windows may be overlapping. If no maintenance windows are set, maintenance can occur at any time."
         }
       },
       "type": "object"
@@ -3794,41 +3816,41 @@
       "type": "object"
     },
     "MasterAuth": {
-      "description": "The authentication information for accessing the master endpoint.\nAuthentication can be done using HTTP basic auth or using client\ncertificates.",
+      "description": "The authentication information for accessing the master endpoint. Authentication can be done using HTTP basic auth or using client certificates.",
       "id": "MasterAuth",
       "properties": {
         "clientCertificate": {
-          "description": "[Output only] Base64-encoded public certificate used by clients to\nauthenticate to the cluster endpoint.",
+          "description": "[Output only] Base64-encoded public certificate used by clients to authenticate to the cluster endpoint.",
           "type": "string"
         },
         "clientCertificateConfig": {
           "$ref": "ClientCertificateConfig",
-          "description": "Configuration for client certificate authentication on the cluster. For\nclusters before v1.12, if no configuration is specified, a client\ncertificate is issued."
+          "description": "Configuration for client certificate authentication on the cluster. For clusters before v1.12, if no configuration is specified, a client certificate is issued."
         },
         "clientKey": {
-          "description": "[Output only] Base64-encoded private key used by clients to authenticate\nto the cluster endpoint.",
+          "description": "[Output only] Base64-encoded private key used by clients to authenticate to the cluster endpoint.",
           "type": "string"
         },
         "clusterCaCertificate": {
           "type": "string"
         },
         "password": {
-          "description": "The password to use for HTTP basic authentication to the master endpoint.\nBecause the master endpoint is open to the Internet, you should create a\nstrong password.  If a password is provided for cluster creation, username\nmust be non-empty.",
+          "description": "The password to use for HTTP basic authentication to the master endpoint. Because the master endpoint is open to the Internet, you should create a strong password. If a password is provided for cluster creation, username must be non-empty.",
           "type": "string"
         },
         "username": {
-          "description": "The username to use for HTTP basic authentication to the master endpoint.\nFor clusters v1.6.0 and later, basic authentication can be disabled by\nleaving username unspecified (or setting it to the empty string).",
+          "description": "The username to use for HTTP basic authentication to the master endpoint. For clusters v1.6.0 and later, basic authentication can be disabled by leaving username unspecified (or setting it to the empty string).",
           "type": "string"
         }
       },
       "type": "object"
     },
     "MasterAuthorizedNetworksConfig": {
-      "description": "Configuration options for the master authorized networks feature. Enabled\nmaster authorized networks will disallow all external traffic to access\nKubernetes master through HTTPS except traffic from the given CIDR blocks,\nGoogle Compute Engine Public IPs and Google Prod IPs.",
+      "description": "Configuration options for the master authorized networks feature. Enabled master authorized networks will disallow all external traffic to access Kubernetes master through HTTPS except traffic from the given CIDR blocks, Google Compute Engine Public IPs and Google Prod IPs.",
       "id": "MasterAuthorizedNetworksConfig",
       "properties": {
         "cidrBlocks": {
-          "description": "cidr_blocks define up to 10 external networks that could access\nKubernetes master through HTTPS.",
+          "description": "cidr_blocks define up to 10 external networks that could access Kubernetes master through HTTPS.",
           "items": {
             "$ref": "CidrBlock"
           },
@@ -3882,27 +3904,41 @@
       "description": "NetworkConfig reports the relative names of network \u0026 subnetwork.",
       "id": "NetworkConfig",
       "properties": {
+        "datapathProvider": {
+          "description": "The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation.",
+          "enum": [
+            "DATAPATH_PROVIDER_UNSPECIFIED",
+            "LEGACY_DATAPATH",
+            "ADVANCED_DATAPATH"
+          ],
+          "enumDescriptions": [
+            "Default value.",
+            "Use the IPTables implementation based on kube-proxy.",
+            "Use the eBPF based data plane with additional visibility features."
+          ],
+          "type": "string"
+        },
         "defaultSnatStatus": {
           "$ref": "DefaultSnatStatus",
-          "description": "Whether the cluster disables default in-node sNAT rules. In-node sNAT rules\nwill be disabled when default_snat_status is disabled. When disabled is set\nto false, default IP masquerade rules will be applied to the nodes to\nprevent sNAT on cluster internal traffic."
+          "description": "Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic."
         },
         "enableIntraNodeVisibility": {
-          "description": "Whether Intra-node visibility is enabled for this cluster.\nThis makes same node pod to pod traffic visible for VPC network.",
+          "description": "Whether Intra-node visibility is enabled for this cluster. This makes same node pod to pod traffic visible for VPC network.",
           "type": "boolean"
         },
         "network": {
-          "description": "Output only. The relative name of the Google Compute Engine\nnetwork(https://cloud.google.com/compute/docs/networks-and-firewalls#networks)\nto which the cluster is connected. Example:\nprojects/my-project/global/networks/my-network",
+          "description": "Output only. The relative name of the Google Compute Engine network(https://cloud.google.com/compute/docs/networks-and-firewalls#networks) to which the cluster is connected. Example: projects/my-project/global/networks/my-network",
           "type": "string"
         },
         "subnetwork": {
-          "description": "Output only. The relative name of the Google Compute Engine\n[subnetwork](https://cloud.google.com/compute/docs/vpc) to which the\ncluster is connected. Example:\nprojects/my-project/regions/us-central1/subnetworks/my-subnet",
+          "description": "Output only. The relative name of the Google Compute Engine [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the cluster is connected. Example: projects/my-project/regions/us-central1/subnetworks/my-subnet",
           "type": "string"
         }
       },
       "type": "object"
     },
     "NetworkPolicy": {
-      "description": "Configuration options for the NetworkPolicy feature.\nhttps://kubernetes.io/docs/concepts/services-networking/networkpolicies/",
+      "description": "Configuration options for the NetworkPolicy feature. https://kubernetes.io/docs/concepts/services-networking/networkpolicies/",
       "id": "NetworkPolicy",
       "properties": {
         "enabled": {
@@ -3925,7 +3961,7 @@
       "type": "object"
     },
     "NetworkPolicyConfig": {
-      "description": "Configuration for NetworkPolicy. This only tracks whether the addon\nis enabled or not on the Master, it does not track whether network policy\nis enabled for the nodes.",
+      "description": "Configuration for NetworkPolicy. This only tracks whether the addon is enabled or not on the Master, it does not track whether network policy is enabled for the nodes.",
       "id": "NetworkPolicyConfig",
       "properties": {
         "disabled": {
@@ -3940,27 +3976,27 @@
       "id": "NodeConfig",
       "properties": {
         "accelerators": {
-          "description": "A list of hardware accelerators to be attached to each node.\nSee https://cloud.google.com/compute/docs/gpus for more information about\nsupport for GPUs.",
+          "description": "A list of hardware accelerators to be attached to each node. See https://cloud.google.com/compute/docs/gpus for more information about support for GPUs.",
           "items": {
             "$ref": "AcceleratorConfig"
           },
           "type": "array"
         },
         "bootDiskKmsKey": {
-          "description": "\nThe Customer Managed Encryption Key used to encrypt the boot disk attached\nto each node in the node pool. This should be of the form\nprojects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].\nFor more information about protecting resources with Cloud KMS Keys please\nsee:\nhttps://cloud.google.com/compute/docs/disks/customer-managed-encryption",
+          "description": " The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: https://cloud.google.com/compute/docs/disks/customer-managed-encryption",
           "type": "string"
         },
         "diskSizeGb": {
-          "description": "Size of the disk attached to each node, specified in GB.\nThe smallest allowed disk size is 10GB.\n\nIf unspecified, the default disk size is 100GB.",
+          "description": "Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB.",
           "format": "int32",
           "type": "integer"
         },
         "diskType": {
-          "description": "Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd')\n\nIf unspecified, the default disk type is 'pd-standard'",
+          "description": "Type of the disk attached to each node (e.g. 'pd-standard' or 'pd-ssd') If unspecified, the default disk type is 'pd-standard'",
           "type": "string"
         },
         "imageType": {
-          "description": "The image type to use for this node. Note that for a given image type,\nthe latest version of it will be used.",
+          "description": "The image type to use for this node. Note that for a given image type, the latest version of it will be used.",
           "type": "string"
         },
         "kubeletConfig": {
@@ -3971,7 +4007,7 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The map of Kubernetes labels (key/value pairs) to be applied to each node.\nThese will added in addition to any default label(s) that\nKubernetes may apply to the node.\nIn case of conflict in label keys, the applied set may differ depending on\nthe Kubernetes version -- it's best to assume the behavior is undefined\nand conflicts should be avoided.\nFor more information, including usage and the valid values, see:\nhttps://kubernetes.io/docs/concepts/overview/working-with-objects/labels/",
+          "description": "The map of Kubernetes labels (key/value pairs) to be applied to each node. These will added in addition to any default label(s) that Kubernetes may apply to the node. In case of conflict in label keys, the applied set may differ depending on the Kubernetes version -- it's best to assume the behavior is undefined and conflicts should be avoided. For more information, including usage and the valid values, see: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/",
           "type": "object"
         },
         "linuxNodeConfig": {
@@ -3979,50 +4015,50 @@
           "description": "Parameters that can be configured on Linux nodes."
         },
         "localSsdCount": {
-          "description": "The number of local SSD disks to be attached to the node.\n\nThe limit for this value is dependent upon the maximum number of\ndisks available on a machine per zone. See:\nhttps://cloud.google.com/compute/docs/disks/local-ssd\nfor more information.",
+          "description": "The number of local SSD disks to be attached to the node. The limit for this value is dependent upon the maximum number of disks available on a machine per zone. See: https://cloud.google.com/compute/docs/disks/local-ssd for more information.",
           "format": "int32",
           "type": "integer"
         },
         "machineType": {
-          "description": "The name of a Google Compute Engine [machine\ntype](https://cloud.google.com/compute/docs/machine-types) (e.g.\n`n1-standard-1`).\n\nIf unspecified, the default machine type is\n`n1-standard-1`.",
+          "description": "The name of a Google Compute Engine [machine type](https://cloud.google.com/compute/docs/machine-types). If unspecified, the default machine type is `e2-medium`.",
           "type": "string"
         },
         "metadata": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The metadata key/value pairs assigned to instances in the cluster.\n\nKeys must conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 bytes\nin length. These are reflected as part of a URL in the metadata server.\nAdditionally, to avoid ambiguity, keys must not conflict with any other\nmetadata keys for the project or be one of the reserved keys:\n - \"cluster-location\"\n - \"cluster-name\"\n - \"cluster-uid\"\n - \"configure-sh\"\n - \"containerd-configure-sh\"\n - \"enable-oslogin\"\n - \"gci-ensure-gke-docker\"\n - \"gci-metrics-enabled\"\n - \"gci-update-strategy\"\n - \"instance-template\"\n - \"kube-env\"\n - \"startup-script\"\n - \"user-data\"\n - \"disable-address-manager\"\n - \"windows-startup-script-ps1\"\n - \"common-psm1\"\n - \"k8s-node-setup-psm1\"\n - \"install-ssh-psm1\"\n - \"user-profile-psm1\"\n - \"serial-port-logging-enable\"\n\nValues are free-form strings, and only have meaning as interpreted by\nthe image running in the instance. The only restriction placed on them is\nthat each value's size must be less than or equal to 32 KB.\n\nThe total size of all keys and values must be less than 512 KB.",
+          "description": "The metadata key/value pairs assigned to instances in the cluster. Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 bytes in length. These are reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project or be one of the reserved keys: - \"cluster-location\" - \"cluster-name\" - \"cluster-uid\" - \"configure-sh\" - \"containerd-configure-sh\" - \"enable-oslogin\" - \"gci-ensure-gke-docker\" - \"gci-metrics-enabled\" - \"gci-update-strategy\" - \"instance-template\" - \"kube-env\" - \"startup-script\" - \"user-data\" - \"disable-address-manager\" - \"windows-startup-script-ps1\" - \"common-psm1\" - \"k8s-node-setup-psm1\" - \"install-ssh-psm1\" - \"user-profile-psm1\" - \"serial-port-logging-enable\" Values are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on them is that each value's size must be less than or equal to 32 KB. The total size of all keys and values must be less than 512 KB.",
           "type": "object"
         },
         "minCpuPlatform": {
-          "description": "Minimum CPU platform to be used by this instance. The instance may be\nscheduled on the specified or newer CPU platform. Applicable values are the\nfriendly names of CPU platforms, such as\n`minCpuPlatform: \"Intel Haswell\"` or\n`minCpuPlatform: \"Intel Sandy Bridge\"`. For more\ninformation, read [how to specify min CPU\nplatform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)",
+          "description": "Minimum CPU platform to be used by this instance. The instance may be scheduled on the specified or newer CPU platform. Applicable values are the friendly names of CPU platforms, such as `minCpuPlatform: \"Intel Haswell\"` or `minCpuPlatform: \"Intel Sandy Bridge\"`. For more information, read [how to specify min CPU platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform)",
           "type": "string"
         },
         "nodeGroup": {
-          "description": "Setting this field will assign instances of this\npool to run on the specified node group. This is useful for running\nworkloads on [sole tenant\nnodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).",
+          "description": "Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).",
           "type": "string"
         },
         "oauthScopes": {
-          "description": "The set of Google API scopes to be made available on all of the\nnode VMs under the \"default\" service account.\n\nThe following scopes are recommended, but not required, and by default are\nnot included:\n\n* `https://www.googleapis.com/auth/compute` is required for mounting\npersistent storage on your nodes.\n* `https://www.googleapis.com/auth/devstorage.read_only` is required for\ncommunicating with **gcr.io**\n(the [Google Container\nRegistry](https://cloud.google.com/container-registry/)).\n\nIf unspecified, no scopes are added, unless Cloud Logging or Cloud\nMonitoring are enabled, in which case their required scopes will be added.",
+          "description": "The set of Google API scopes to be made available on all of the node VMs under the \"default\" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Google Container Registry](https://cloud.google.com/container-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "preemptible": {
-          "description": "Whether the nodes are created as preemptible VM instances. See:\nhttps://cloud.google.com/compute/docs/instances/preemptible for more\ninforamtion about preemptible VM instances.",
+          "description": "Whether the nodes are created as preemptible VM instances. See: https://cloud.google.com/compute/docs/instances/preemptible for more inforamtion about preemptible VM instances.",
           "type": "boolean"
         },
         "reservationAffinity": {
           "$ref": "ReservationAffinity",
-          "description": "The optional reservation affinity. Setting this field will apply\nthe specified [Zonal Compute\nReservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)\nto this node pool."
+          "description": "The optional reservation affinity. Setting this field will apply the specified [Zonal Compute Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) to this node pool."
         },
         "sandboxConfig": {
           "$ref": "SandboxConfig",
           "description": "Sandbox configuration for this node."
         },
         "serviceAccount": {
-          "description": "The Google Cloud Platform Service Account to be used by the node VMs.\nSpecify the email address of the Service Account; otherwise, if no Service\nAccount is specified, the \"default\" service account is used.",
+          "description": "The Google Cloud Platform Service Account to be used by the node VMs. Specify the email address of the Service Account; otherwise, if no Service Account is specified, the \"default\" service account is used.",
           "type": "string"
         },
         "shieldedInstanceConfig": {
@@ -4030,14 +4066,14 @@
           "description": "Shielded Instance options."
         },
         "tags": {
-          "description": "The list of instance tags applied to all nodes. Tags are used to identify\nvalid sources or targets for network firewalls and are specified by\nthe client during cluster or node pool creation. Each tag within the list\nmust comply with RFC1035.",
+          "description": "The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during cluster or node pool creation. Each tag within the list must comply with RFC1035.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "taints": {
-          "description": "List of kubernetes taints to be applied to each node.\n\nFor more information, including usage and the valid values, see:\nhttps://kubernetes.io/docs/concepts/configuration/taint-and-toleration/",
+          "description": "List of kubernetes taints to be applied to each node. For more information, including usage and the valid values, see: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/",
           "items": {
             "$ref": "NodeTaint"
           },
@@ -4055,22 +4091,22 @@
       "id": "NodeKubeletConfig",
       "properties": {
         "cpuCfsQuota": {
-          "description": "Enable CPU CFS quota enforcement for containers that specify CPU limits.\n\nIf this option is enabled, kubelet uses CFS quota\n(https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to\nenforce container CPU limits. Otherwise, CPU limits will not be enforced at\nall.\n\nDisable this option to mitigate CPU throttling problems while still having\nyour pods to be in Guaranteed QoS class by specifying the CPU limits.\n\nThe default value is 'true' if unspecified.",
+          "description": "Enable CPU CFS quota enforcement for containers that specify CPU limits. If this option is enabled, kubelet uses CFS quota (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to enforce container CPU limits. Otherwise, CPU limits will not be enforced at all. Disable this option to mitigate CPU throttling problems while still having your pods to be in Guaranteed QoS class by specifying the CPU limits. The default value is 'true' if unspecified.",
           "type": "boolean"
         },
         "cpuCfsQuotaPeriod": {
-          "description": "Set the CPU CFS quota period value 'cpu.cfs_period_us'.\n\nThe string must be a sequence of decimal numbers, each with optional\nfraction and a unit suffix, such as \"300ms\".\nValid time units are \"ns\", \"us\" (or \"µs\"), \"ms\", \"s\", \"m\", \"h\".\nThe value must be a positive duration.",
+          "description": "Set the CPU CFS quota period value 'cpu.cfs_period_us'. The string must be a sequence of decimal numbers, each with optional fraction and a unit suffix, such as \"300ms\". Valid time units are \"ns\", \"us\" (or \"µs\"), \"ms\", \"s\", \"m\", \"h\". The value must be a positive duration.",
           "type": "string"
         },
         "cpuManagerPolicy": {
-          "description": "Control the CPU management policy on the node.\nSee\nhttps://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/\n\nThe following values are allowed.\n  - \"none\": the default, which represents the existing scheduling behavior.\n  - \"static\": allows pods with certain resource characteristics to be\n              granted increased CPU affinity and exclusivity on the node.",
+          "description": "Control the CPU management policy on the node. See https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ The following values are allowed. - \"none\": the default, which represents the existing scheduling behavior. - \"static\": allows pods with certain resource characteristics to be granted increased CPU affinity and exclusivity on the node.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "NodeManagement": {
-      "description": "NodeManagement defines the set of node management services turned on for the\nnode pool.",
+      "description": "NodeManagement defines the set of node management services turned on for the node pool.",
       "id": "NodeManagement",
       "properties": {
         "autoRepair": {
@@ -4089,12 +4125,12 @@
       "type": "object"
     },
     "NodePool": {
-      "description": "NodePool contains the name and configuration for a cluster's node pool.\nNode pools are a set of nodes (i.e. VM's), with a common configuration and\nspecification, under the control of the cluster master. They may have a set\nof Kubernetes labels applied to them, which may be used to reference them\nduring pod scheduling. They may also be resized up or down, to accommodate\nthe workload.",
+      "description": "NodePool contains the name and configuration for a cluster's node pool. Node pools are a set of nodes (i.e. VM's), with a common configuration and specification, under the control of the cluster master. They may have a set of Kubernetes labels applied to them, which may be used to reference them during pod scheduling. They may also be resized up or down, to accommodate the workload.",
       "id": "NodePool",
       "properties": {
         "autoscaling": {
           "$ref": "NodePoolAutoscaling",
-          "description": "Autoscaler configuration for this NodePool. Autoscaler is enabled\nonly if a valid configuration is present."
+          "description": "Autoscaler configuration for this NodePool. Autoscaler is enabled only if a valid configuration is present."
         },
         "conditions": {
           "description": "Which conditions caused the current node pool state.",
@@ -4108,19 +4144,19 @@
           "description": "The node configuration of the pool."
         },
         "initialNodeCount": {
-          "description": "The initial node count for the pool. You must ensure that your\nCompute Engine [resource quota](https://cloud.google.com/compute/quotas)\nis sufficient for this number of instances. You must also have available\nfirewall and routes quota.",
+          "description": "The initial node count for the pool. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota.",
           "format": "int32",
           "type": "integer"
         },
         "instanceGroupUrls": {
-          "description": "[Output only] The resource URLs of the [managed instance\ngroups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)\nassociated with this node pool.",
+          "description": "[Output only] The resource URLs of the [managed instance groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances) associated with this node pool.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "locations": {
-          "description": "The list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\nNodePool's nodes should be located.",
+          "description": "The list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the NodePool's nodes should be located.",
           "items": {
             "type": "string"
           },
@@ -4132,7 +4168,7 @@
         },
         "maxPodsConstraint": {
           "$ref": "MaxPodsConstraint",
-          "description": "The constraint on the maximum number of pods that can be run\nsimultaneously on a node in the node pool."
+          "description": "The constraint on the maximum number of pods that can be run simultaneously on a node in the node pool."
         },
         "name": {
           "description": "The name of the node pool.",
@@ -4161,16 +4197,16 @@
           "enumDescriptions": [
             "Not set.",
             "The PROVISIONING state indicates the node pool is being created.",
-            "The RUNNING state indicates the node pool has been created\nand is fully usable.",
-            "The RUNNING_WITH_ERROR state indicates the node pool has been created\nand is partially usable. Some error state has occurred and some\nfunctionality may be impaired. Customer may need to reissue a request\nor trigger a new update.",
-            "The RECONCILING state indicates that some work is actively being done on\nthe node pool, such as upgrading node software. Details can\nbe found in the `statusMessage` field.",
+            "The RUNNING state indicates the node pool has been created and is fully usable.",
+            "The RUNNING_WITH_ERROR state indicates the node pool has been created and is partially usable. Some error state has occurred and some functionality may be impaired. Customer may need to reissue a request or trigger a new update.",
+            "The RECONCILING state indicates that some work is actively being done on the node pool, such as upgrading node software. Details can be found in the `statusMessage` field.",
             "The STOPPING state indicates the node pool is being deleted.",
-            "The ERROR state indicates the node pool may be unusable. Details\ncan be found in the `statusMessage` field."
+            "The ERROR state indicates the node pool may be unusable. Details can be found in the `statusMessage` field."
           ],
           "type": "string"
         },
         "statusMessage": {
-          "description": "[Output only] Additional information about the current status of this\nnode pool instance, if available.",
+          "description": "[Output only] Additional information about the current status of this node pool instance, if available.",
           "type": "string"
         },
         "upgradeSettings": {
@@ -4185,7 +4221,7 @@
       "type": "object"
     },
     "NodePoolAutoscaling": {
-      "description": "NodePoolAutoscaling contains information required by cluster autoscaler to\nadjust the size of the node pool to the current cluster usage.",
+      "description": "NodePoolAutoscaling contains information required by cluster autoscaler to adjust the size of the node pool to the current cluster usage.",
       "id": "NodePoolAutoscaling",
       "properties": {
         "autoprovisioned": {
@@ -4197,12 +4233,12 @@
           "type": "boolean"
         },
         "maxNodeCount": {
-          "description": "Maximum number of nodes in the NodePool. Must be \u003e= min_node_count. There\nhas to enough quota to scale up the cluster.",
+          "description": "Maximum number of nodes in the NodePool. Must be \u003e= min_node_count. There has to enough quota to scale up the cluster.",
           "format": "int32",
           "type": "integer"
         },
         "minNodeCount": {
-          "description": "Minimum number of nodes in the NodePool. Must be \u003e= 1 and \u003c=\nmax_node_count.",
+          "description": "Minimum number of nodes in the NodePool. Must be \u003e= 1 and \u003c= max_node_count.",
           "format": "int32",
           "type": "integer"
         }
@@ -4210,7 +4246,7 @@
       "type": "object"
     },
     "NodeTaint": {
-      "description": "Kubernetes taint is comprised of three fields: key, value, and effect. Effect\ncan only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.\n\nSee\n[here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)\nfor more information, including usage and the valid values.",
+      "description": "Kubernetes taint is comprised of three fields: key, value, and effect. Effect can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute. See [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration) for more information, including usage and the valid values.",
       "id": "NodeTaint",
       "properties": {
         "effect": {
@@ -4240,12 +4276,23 @@
       },
       "type": "object"
     },
+    "NotificationConfig": {
+      "description": "NotificationConfig is the configuration of notifications.",
+      "id": "NotificationConfig",
+      "properties": {
+        "pubsub": {
+          "$ref": "PubSub",
+          "description": "Notification config for Pub/Sub."
+        }
+      },
+      "type": "object"
+    },
     "Operation": {
-      "description": "This operation resource represents operations that may have happened or are\nhappening on the cluster. All fields are output only.",
+      "description": "This operation resource represents operations that may have happened or are happening on the cluster. All fields are output only.",
       "id": "Operation",
       "properties": {
         "clusterConditions": {
-          "description": "Which conditions caused the current cluster state.",
+          "description": "Which conditions caused the current cluster state. Deprecated. Use field error instead.",
           "items": {
             "$ref": "StatusCondition"
           },
@@ -4256,11 +4303,15 @@
           "type": "string"
         },
         "endTime": {
-          "description": "[Output only] The time the operation completed, in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
+          "description": "[Output only] The time the operation completed, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
           "type": "string"
         },
+        "error": {
+          "$ref": "Status",
+          "description": "The error result of the operation in case of failure."
+        },
         "location": {
-          "description": "[Output only] The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)\nor\n[region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)\nin which the cluster resides.",
+          "description": "[Output only] The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) or [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available) in which the cluster resides.",
           "type": "string"
         },
         "name": {
@@ -4268,7 +4319,7 @@
           "type": "string"
         },
         "nodepoolConditions": {
-          "description": "Which conditions caused the current node pool state.",
+          "description": "Which conditions caused the current node pool state. Deprecated. Use field error instead.",
           "items": {
             "$ref": "StatusCondition"
           },
@@ -4318,14 +4369,15 @@
         },
         "progress": {
           "$ref": "OperationProgress",
-          "description": "Output only. [Output only] Progress information for an operation."
+          "description": "Output only. [Output only] Progress information for an operation.",
+          "readOnly": true
         },
         "selfLink": {
           "description": "Server-defined URL for the resource.",
           "type": "string"
         },
         "startTime": {
-          "description": "[Output only] The time the operation started, in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
+          "description": "[Output only] The time the operation started, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
           "type": "string"
         },
         "status": {
@@ -4347,7 +4399,8 @@
           "type": "string"
         },
         "statusMessage": {
-          "description": "Output only. If an error has occurred, a textual description of the error.",
+          "description": "Output only. If an error has occurred, a textual description of the error. Deprecated. Use field error instead.",
+          "readOnly": true,
           "type": "string"
         },
         "targetLink": {
@@ -4355,7 +4408,7 @@
           "type": "string"
         },
         "zone": {
-          "description": "The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\noperation is taking place. This field is deprecated, use location instead.",
+          "description": "The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the operation is taking place. This field is deprecated, use location instead.",
           "type": "string"
         }
       },
@@ -4366,14 +4419,14 @@
       "id": "OperationProgress",
       "properties": {
         "metrics": {
-          "description": "Progress metric bundle, for example:\n  metrics: [{name: \"nodes done\",     int_value: 15},\n            {name: \"nodes total\",    int_value: 32}]\nor\n  metrics: [{name: \"progress\",       double_value: 0.56},\n            {name: \"progress scale\", double_value: 1.0}]",
+          "description": "Progress metric bundle, for example: metrics: [{name: \"nodes done\", int_value: 15}, {name: \"nodes total\", int_value: 32}] or metrics: [{name: \"progress\", double_value: 0.56}, {name: \"progress scale\", double_value: 1.0}]",
           "items": {
             "$ref": "Metric"
           },
           "type": "array"
         },
         "name": {
-          "description": "A non-parameterized string describing an operation stage.\nUnset for single-stage operations.",
+          "description": "A non-parameterized string describing an operation stage. Unset for single-stage operations.",
           "type": "string"
         },
         "stages": {
@@ -4384,7 +4437,7 @@
           "type": "array"
         },
         "status": {
-          "description": "Status of an operation stage.\nUnset for single-stage operations.",
+          "description": "Status of an operation stage. Unset for single-stage operations.",
           "enum": [
             "STATUS_UNSPECIFIED",
             "PENDING",
@@ -4409,7 +4462,7 @@
       "id": "PodSecurityPolicyConfig",
       "properties": {
         "enabled": {
-          "description": "Enable the PodSecurityPolicy controller for this cluster. If enabled, pods\nmust be valid under a PodSecurityPolicy to be created.",
+          "description": "Enable the PodSecurityPolicy controller for this cluster. If enabled, pods must be valid under a PodSecurityPolicy to be created.",
           "type": "boolean"
         }
       },
@@ -4424,7 +4477,7 @@
           "type": "boolean"
         },
         "enablePrivateNodes": {
-          "description": "Whether nodes have internal IP addresses only. If enabled, all nodes are\ngiven only RFC 1918 private addresses and communicate with the master via\nprivate networking.",
+          "description": "Whether nodes have internal IP addresses only. If enabled, all nodes are given only RFC 1918 private addresses and communicate with the master via private networking.",
           "type": "boolean"
         },
         "masterGlobalAccessConfig": {
@@ -4432,7 +4485,7 @@
           "description": "Controls master global access settings."
         },
         "masterIpv4CidrBlock": {
-          "description": "The IP range in CIDR notation to use for the hosted master network. This\nrange will be used for assigning internal IP addresses to the master or\nset of masters, as well as the ILB VIP. This range must not overlap with\nany other ranges in use within the cluster's network.",
+          "description": "The IP range in CIDR notation to use for the hosted master network. This range will be used for assigning internal IP addresses to the master or set of masters, as well as the ILB VIP. This range must not overlap with any other ranges in use within the cluster's network.",
           "type": "string"
         },
         "peeringName": {
@@ -4461,12 +4514,27 @@
       },
       "type": "object"
     },
+    "PubSub": {
+      "description": "Pub/Sub specific notification config.",
+      "id": "PubSub",
+      "properties": {
+        "enabled": {
+          "description": "Enable notifications for Pub/Sub.",
+          "type": "boolean"
+        },
+        "topic": {
+          "description": "The desired Pub/Sub topic to which notifications will be sent by GKE. Format is `projects/{project}/topics/{topic}`.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "RecurringTimeWindow": {
       "description": "Represents an arbitrary window of time that recurs.",
       "id": "RecurringTimeWindow",
       "properties": {
         "recurrence": {
-          "description": "An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how\nthis window reccurs. They go on for the span of time between the start and\nend time.\n\nFor example, to have something repeat every weekday, you'd use:\n`FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR`\n\nTo repeat some window daily (equivalent to the DailyMaintenanceWindow):\n`FREQ=DAILY`\n\nFor the first weekend of every month:\n`FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU`\n\nThis specifies how frequently the window starts. Eg, if you wanted to have\na 9-5 UTC-4 window every weekday, you'd use something like:\n```\nstart time = 2019-01-01T09:00:00-0400\nend time = 2019-01-01T17:00:00-0400\nrecurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR\n```\n\nWindows can span multiple days. Eg, to make the window encompass every\nweekend from midnight Saturday till the last minute of Sunday UTC:\n```\nstart time = 2019-01-05T00:00:00Z\nend time = 2019-01-07T23:59:00Z\nrecurrence = FREQ=WEEKLY;BYDAY=SA\n```\n\nNote the start and end time's specific dates are largely arbitrary except\nto specify duration of the window and when it first starts.\nThe FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.",
+          "description": "An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how this window reccurs. They go on for the span of time between the start and end time. For example, to have something repeat every weekday, you'd use: `FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR` To repeat some window daily (equivalent to the DailyMaintenanceWindow): `FREQ=DAILY` For the first weekend of every month: `FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU` This specifies how frequently the window starts. Eg, if you wanted to have a 9-5 UTC-4 window every weekday, you'd use something like: ``` start time = 2019-01-01T09:00:00-0400 end time = 2019-01-01T17:00:00-0400 recurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR ``` Windows can span multiple days. Eg, to make the window encompass every weekend from midnight Saturday till the last minute of Sunday UTC: ``` start time = 2019-01-05T00:00:00Z end time = 2019-01-07T23:59:00Z recurrence = FREQ=WEEKLY;BYDAY=SA ``` Note the start and end time's specific dates are largely arbitrary except to specify duration of the window and when it first starts. The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.",
           "type": "string"
         },
         "window": {
@@ -4477,7 +4545,7 @@
       "type": "object"
     },
     "ReleaseChannel": {
-      "description": "ReleaseChannel indicates which release channel a cluster is\nsubscribed to. Release channels are arranged in order of risk.\n\nWhen a cluster is subscribed to a release channel, Google maintains\nboth the master version and the node version. Node auto-upgrade\ndefaults to true and cannot be disabled.",
+      "description": "ReleaseChannel indicates which release channel a cluster is subscribed to. Release channels are arranged in order of risk. When a cluster is subscribed to a release channel, Google maintains both the master version and the node version. Node auto-upgrade defaults to true and cannot be disabled.",
       "id": "ReleaseChannel",
       "properties": {
         "channel": {
@@ -4490,9 +4558,9 @@
           ],
           "enumDescriptions": [
             "No channel specified.",
-            "RAPID channel is offered on an early access basis for customers who want\nto test new releases.\n\nWARNING: Versions available in the RAPID Channel may be subject to\nunresolved issues with no known workaround and are not subject to any\nSLAs.",
-            "Clusters subscribed to REGULAR receive versions that are considered GA\nquality. REGULAR is intended for production users who want to take\nadvantage of new features.",
-            "Clusters subscribed to STABLE receive versions that are known to be\nstable and reliable in production."
+            "RAPID channel is offered on an early access basis for customers who want to test new releases. WARNING: Versions available in the RAPID Channel may be subject to unresolved issues with no known workaround and are not subject to any SLAs.",
+            "Clusters subscribed to REGULAR receive versions that are considered GA quality. REGULAR is intended for production users who want to take advantage of new features.",
+            "Clusters subscribed to STABLE receive versions that are known to be stable and reliable in production."
           ],
           "type": "string"
         }
@@ -4504,7 +4572,7 @@
       "id": "ReleaseChannelConfig",
       "properties": {
         "availableVersions": {
-          "description": "Deprecated.\nThis field has been deprecated and replaced with the valid_versions\nfield.",
+          "description": "Deprecated. This field has been deprecated and replaced with the valid_versions field.",
           "items": {
             "$ref": "AvailableVersion"
           },
@@ -4520,9 +4588,9 @@
           ],
           "enumDescriptions": [
             "No channel specified.",
-            "RAPID channel is offered on an early access basis for customers who want\nto test new releases.\n\nWARNING: Versions available in the RAPID Channel may be subject to\nunresolved issues with no known workaround and are not subject to any\nSLAs.",
-            "Clusters subscribed to REGULAR receive versions that are considered GA\nquality. REGULAR is intended for production users who want to take\nadvantage of new features.",
-            "Clusters subscribed to STABLE receive versions that are known to be\nstable and reliable in production."
+            "RAPID channel is offered on an early access basis for customers who want to test new releases. WARNING: Versions available in the RAPID Channel may be subject to unresolved issues with no known workaround and are not subject to any SLAs.",
+            "Clusters subscribed to REGULAR receive versions that are considered GA quality. REGULAR is intended for production users who want to take advantage of new features.",
+            "Clusters subscribed to STABLE receive versions that are known to be stable and reliable in production."
           ],
           "type": "string"
         },
@@ -4541,7 +4609,7 @@
       "type": "object"
     },
     "ReservationAffinity": {
-      "description": "[ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)\nis the configuration of desired reservation which instances could take\ncapacity from.",
+      "description": "[ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources) is the configuration of desired reservation which instances could take capacity from.",
       "id": "ReservationAffinity",
       "properties": {
         "consumeReservationType": {
@@ -4556,12 +4624,12 @@
             "Default value. This should not be used.",
             "Do not consume from any reserved capacity.",
             "Consume any reservation available.",
-            "Must consume from a specific reservation. Must specify key value fields\nfor specifying the reservations."
+            "Must consume from a specific reservation. Must specify key value fields for specifying the reservations."
           ],
           "type": "string"
         },
         "key": {
-          "description": "Corresponds to the label key of a reservation resource. To target a\nSPECIFIC_RESERVATION by name, specify \"googleapis.com/reservation-name\" as\nthe key and specify the name of your reservation as its value.",
+          "description": "Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify \"googleapis.com/reservation-name\" as the key and specify the name of your reservation as its value.",
           "type": "string"
         },
         "values": {
@@ -4575,7 +4643,7 @@
       "type": "object"
     },
     "ResourceLimit": {
-      "description": "Contains information about amount of some resource in the cluster.\nFor memory, value should be in GB.",
+      "description": "Contains information about amount of some resource in the cluster. For memory, value should be in GB.",
       "id": "ResourceLimit",
       "properties": {
         "maximum": {
@@ -4608,34 +4676,34 @@
           "description": "Configuration to enable resource consumption metering."
         },
         "enableNetworkEgressMetering": {
-          "description": "Whether to enable network egress metering for this cluster. If enabled, a\ndaemonset will be created in the cluster to meter network egress traffic.",
+          "description": "Whether to enable network egress metering for this cluster. If enabled, a daemonset will be created in the cluster to meter network egress traffic.",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "RollbackNodePoolUpgradeRequest": {
-      "description": "RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed\nNodePool upgrade. This will be an no-op if the last upgrade successfully\ncompleted.",
+      "description": "RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed NodePool upgrade. This will be an no-op if the last upgrade successfully completed.",
       "id": "RollbackNodePoolUpgradeRequest",
       "properties": {
         "clusterId": {
-          "description": "Required. Deprecated. The name of the cluster to rollback.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The name of the cluster to rollback. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster, node pool id) of the node poll to\nrollback upgrade.\nSpecified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
+          "description": "The name (project, location, cluster, node pool id) of the node poll to rollback upgrade. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
           "type": "string"
         },
         "nodePoolId": {
-          "description": "Required. Deprecated. The name of the node pool to rollback.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The name of the node pool to rollback. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "projectId": {
-          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -4713,45 +4781,45 @@
       "properties": {
         "addonsConfig": {
           "$ref": "AddonsConfig",
-          "description": "Required. The desired configurations for the various addons available to run in the\ncluster."
+          "description": "Required. The desired configurations for the various addons available to run in the cluster."
         },
         "clusterId": {
-          "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster) of the cluster to set addons.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster) of the cluster to set addons. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "SetLabelsRequest": {
-      "description": "SetLabelsRequest sets the Google Cloud Platform labels on a Google Container\nEngine cluster, which will in turn set them for Google Compute Engine\nresources used by that cluster",
+      "description": "SetLabelsRequest sets the Google Cloud Platform labels on a Google Container Engine cluster, which will in turn set them for Google Compute Engine resources used by that cluster",
       "id": "SetLabelsRequest",
       "properties": {
         "clusterId": {
-          "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "labelFingerprint": {
-          "description": "Required. The fingerprint of the previous set of labels for this resource,\nused to detect conflicts. The fingerprint is initially generated by\nKubernetes Engine and changes after every request to modify or update\nlabels. You must always provide an up-to-date fingerprint hash when\nupdating or changing labels. Make a `get()` request to the\nresource to get the latest fingerprint.",
+          "description": "Required. The fingerprint of the previous set of labels for this resource, used to detect conflicts. The fingerprint is initially generated by Kubernetes Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash when updating or changing labels. Make a `get()` request to the resource to get the latest fingerprint.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster id) of the cluster to set labels.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster id) of the cluster to set labels. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "resourceLabels": {
@@ -4762,18 +4830,18 @@
           "type": "object"
         },
         "zone": {
-          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "SetLegacyAbacRequest": {
-      "description": "SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for\na cluster.",
+      "description": "SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for a cluster.",
       "id": "SetLegacyAbacRequest",
       "properties": {
         "clusterId": {
-          "description": "Required. Deprecated. The name of the cluster to update.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "enabled": {
@@ -4781,15 +4849,15 @@
           "type": "boolean"
         },
         "name": {
-          "description": "The name (project, location, cluster id) of the cluster to set legacy abac.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster id) of the cluster to set legacy abac. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -4800,26 +4868,26 @@
       "id": "SetLocationsRequest",
       "properties": {
         "clusterId": {
-          "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "locations": {
-          "description": "Required. The desired list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster's nodes should be located. Changing the locations a cluster is in\nwill result in nodes being either created or removed from the cluster,\ndepending on whether locations are being added or removed.\n\nThis list must always include the cluster's primary zone.",
+          "description": "Required. The desired list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the cluster's nodes should be located. Changing the locations a cluster is in will result in nodes being either created or removed from the cluster, depending on whether locations are being added or removed. This list must always include the cluster's primary zone.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "name": {
-          "description": "The name (project, location, cluster) of the cluster to set locations.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster) of the cluster to set locations. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -4830,23 +4898,23 @@
       "id": "SetLoggingServiceRequest",
       "properties": {
         "clusterId": {
-          "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "loggingService": {
-          "description": "Required. The logging service the cluster should use to write logs.\nCurrently available options:\n\n* `logging.googleapis.com/kubernetes` - The Cloud Logging\nservice with a Kubernetes-native resource model\n* `logging.googleapis.com` - The legacy Cloud Logging service (no longer\n  available as of GKE 1.15).\n* `none` - no logs will be exported from the cluster.\n\nIf left as an empty string,`logging.googleapis.com/kubernetes` will be\nused for GKE 1.14+ or `logging.googleapis.com` for earlier versions.",
+          "description": "Required. The logging service the cluster should use to write logs. Currently available options: * `logging.googleapis.com/kubernetes` - The Cloud Logging service with a Kubernetes-native resource model * `logging.googleapis.com` - The legacy Cloud Logging service (no longer available as of GKE 1.15). * `none` - no logs will be exported from the cluster. If left as an empty string,`logging.googleapis.com/kubernetes` will be used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster) of the cluster to set logging.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster) of the cluster to set logging. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -4862,18 +4930,18 @@
         },
         "maintenancePolicy": {
           "$ref": "MaintenancePolicy",
-          "description": "Required. The maintenance policy to be set for the cluster. An empty field\nclears the existing maintenance policy."
+          "description": "Required. The maintenance policy to be set for the cluster. An empty field clears the existing maintenance policy."
         },
         "name": {
-          "description": "The name (project, location, cluster id) of the cluster to set maintenance\npolicy.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster id) of the cluster to set maintenance policy. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Required. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).",
+          "description": "Required. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840).",
           "type": "string"
         },
         "zone": {
-          "description": "Required. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides.",
+          "description": "Required. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides.",
           "type": "string"
         }
       },
@@ -4895,20 +4963,20 @@
             "Operation is unknown and will error out.",
             "Set the password to a user generated value.",
             "Generate a new password and set it to that.",
-            "Set the username.  If an empty username is provided, basic authentication\nis disabled for the cluster.  If a non-empty username is provided, basic\nauthentication is enabled, with either a provided password or a generated\none."
+            "Set the username. If an empty username is provided, basic authentication is disabled for the cluster. If a non-empty username is provided, basic authentication is enabled, with either a provided password or a generated one."
           ],
           "type": "string"
         },
         "clusterId": {
-          "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster) of the cluster to set auth.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster) of the cluster to set auth. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "update": {
@@ -4916,7 +4984,7 @@
           "description": "Required. A description of the update."
         },
         "zone": {
-          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -4927,23 +4995,23 @@
       "id": "SetMonitoringServiceRequest",
       "properties": {
         "clusterId": {
-          "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "monitoringService": {
-          "description": "Required. The monitoring service the cluster should use to write metrics.\nCurrently available options:\n\n* \"monitoring.googleapis.com/kubernetes\" - The Cloud Monitoring\nservice with a Kubernetes-native resource model\n* `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no\n  longer available as of GKE 1.15).\n* `none` - No metrics will be exported from the cluster.\n\nIf left as an empty string,`monitoring.googleapis.com/kubernetes` will be\nused for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.",
+          "description": "Required. The monitoring service the cluster should use to write metrics. Currently available options: * \"monitoring.googleapis.com/kubernetes\" - The Cloud Monitoring service with a Kubernetes-native resource model * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no longer available as of GKE 1.15). * `none` - No metrics will be exported from the cluster. If left as an empty string,`monitoring.googleapis.com/kubernetes` will be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster) of the cluster to set monitoring.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster) of the cluster to set monitoring. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -4954,11 +5022,11 @@
       "id": "SetNetworkPolicyRequest",
       "properties": {
         "clusterId": {
-          "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster id) of the cluster to set networking\npolicy. Specified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster id) of the cluster to set networking policy. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "networkPolicy": {
@@ -4966,11 +5034,11 @@
           "description": "Required. Configuration options for the NetworkPolicy feature."
         },
         "projectId": {
-          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -4985,34 +5053,34 @@
           "description": "Required. Autoscaling configuration for the node pool."
         },
         "clusterId": {
-          "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster, node pool) of the node pool to set\nautoscaler settings. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+          "description": "The name (project, location, cluster, node pool) of the node pool to set autoscaler settings. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
           "type": "string"
         },
         "nodePoolId": {
-          "description": "Required. Deprecated. The name of the node pool to upgrade.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "projectId": {
-          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "SetNodePoolManagementRequest": {
-      "description": "SetNodePoolManagementRequest sets the node management properties of a node\npool.",
+      "description": "SetNodePoolManagementRequest sets the node management properties of a node pool.",
       "id": "SetNodePoolManagementRequest",
       "properties": {
         "clusterId": {
-          "description": "Required. Deprecated. The name of the cluster to update.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "management": {
@@ -5020,34 +5088,34 @@
           "description": "Required. NodeManagement configuration for the node pool."
         },
         "name": {
-          "description": "The name (project, location, cluster, node pool id) of the node pool to set\nmanagement properties. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+          "description": "The name (project, location, cluster, node pool id) of the node pool to set management properties. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
           "type": "string"
         },
         "nodePoolId": {
-          "description": "Required. Deprecated. The name of the node pool to update.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "projectId": {
-          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "SetNodePoolSizeRequest": {
-      "description": "SetNodePoolSizeRequest sets the size a node\npool.",
+      "description": "SetNodePoolSizeRequest sets the size a node pool.",
       "id": "SetNodePoolSizeRequest",
       "properties": {
         "clusterId": {
-          "description": "Required. Deprecated. The name of the cluster to update.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster, node pool id) of the node pool to set\nsize.\nSpecified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
+          "description": "The name (project, location, cluster, node pool id) of the node pool to set size. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
           "type": "string"
         },
         "nodeCount": {
@@ -5056,15 +5124,15 @@
           "type": "integer"
         },
         "nodePoolId": {
-          "description": "Required. Deprecated. The name of the node pool to update.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "projectId": {
-          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -5075,11 +5143,11 @@
       "id": "ShieldedInstanceConfig",
       "properties": {
         "enableIntegrityMonitoring": {
-          "description": "Defines whether the instance has integrity monitoring enabled.\n\nEnables monitoring and attestation of the boot integrity of the instance.\nThe attestation is performed against the integrity policy baseline. This\nbaseline is initially derived from the implicitly trusted boot image when\nthe instance is created.",
+          "description": "Defines whether the instance has integrity monitoring enabled. Enables monitoring and attestation of the boot integrity of the instance. The attestation is performed against the integrity policy baseline. This baseline is initially derived from the implicitly trusted boot image when the instance is created.",
           "type": "boolean"
         },
         "enableSecureBoot": {
-          "description": "Defines whether the instance has Secure Boot enabled.\n\nSecure Boot helps ensure that the system only runs authentic software by\nverifying the digital signature of all boot components, and halting the\nboot process if signature verification fails.",
+          "description": "Defines whether the instance has Secure Boot enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails.",
           "type": "boolean"
         }
       },
@@ -5097,19 +5165,19 @@
       "type": "object"
     },
     "StartIPRotationRequest": {
-      "description": "StartIPRotationRequest creates a new IP for the cluster and then performs\na node upgrade on each node pool to point to the new IP.",
+      "description": "StartIPRotationRequest creates a new IP for the cluster and then performs a node upgrade on each node pool to point to the new IP.",
       "id": "StartIPRotationRequest",
       "properties": {
         "clusterId": {
-          "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster id) of the cluster to start IP\nrotation. Specified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster id) of the cluster to start IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "rotateCredentials": {
@@ -5117,18 +5185,87 @@
           "type": "boolean"
         },
         "zone": {
-          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "Status": {
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "id": "Status",
+      "properties": {
+        "code": {
+          "description": "The status code, which should be an enum value of google.rpc.Code.",
+          "format": "int32",
+          "type": "integer"
+        },
+        "details": {
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
+          "items": {
+            "additionalProperties": {
+              "description": "Properties of the object. Contains field @type with type URL.",
+              "type": "any"
+            },
+            "type": "object"
+          },
+          "type": "array"
+        },
+        "message": {
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "StatusCondition": {
-      "description": "StatusCondition describes why a cluster or a node pool has a certain status\n(e.g., ERROR or DEGRADED).",
+      "description": "StatusCondition describes why a cluster or a node pool has a certain status (e.g., ERROR or DEGRADED).",
       "id": "StatusCondition",
       "properties": {
+        "canonicalCode": {
+          "description": "Canonical code of the condition.",
+          "enum": [
+            "OK",
+            "CANCELLED",
+            "UNKNOWN",
+            "INVALID_ARGUMENT",
+            "DEADLINE_EXCEEDED",
+            "NOT_FOUND",
+            "ALREADY_EXISTS",
+            "PERMISSION_DENIED",
+            "UNAUTHENTICATED",
+            "RESOURCE_EXHAUSTED",
+            "FAILED_PRECONDITION",
+            "ABORTED",
+            "OUT_OF_RANGE",
+            "UNIMPLEMENTED",
+            "INTERNAL",
+            "UNAVAILABLE",
+            "DATA_LOSS"
+          ],
+          "enumDescriptions": [
+            "Not an error; returned on success HTTP Mapping: 200 OK",
+            "The operation was cancelled, typically by the caller. HTTP Mapping: 499 Client Closed Request",
+            "Unknown error. For example, this error may be returned when a `Status` value received from another address space belongs to an error space that is not known in this address space. Also errors raised by APIs that do not return enough error information may be converted to this error. HTTP Mapping: 500 Internal Server Error",
+            "The client specified an invalid argument. Note that this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments that are problematic regardless of the state of the system (e.g., a malformed file name). HTTP Mapping: 400 Bad Request",
+            "The deadline expired before the operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire. HTTP Mapping: 504 Gateway Timeout",
+            "Some requested entity (e.g., file or directory) was not found. Note to server developers: if a request is denied for an entire class of users, such as gradual feature rollout or undocumented allowlist, `NOT_FOUND` may be used. If a request is denied for some users within a class of users, such as user-based access control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404 Not Found",
+            "The entity that a client attempted to create (e.g., file or directory) already exists. HTTP Mapping: 409 Conflict",
+            "The caller does not have permission to execute the specified operation. `PERMISSION_DENIED` must not be used for rejections caused by exhausting some resource (use `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED` must not be used if the caller can not be identified (use `UNAUTHENTICATED` instead for those errors). This error code does not imply the request is valid or the requested entity exists or satisfies other pre-conditions. HTTP Mapping: 403 Forbidden",
+            "The request does not have valid authentication credentials for the operation. HTTP Mapping: 401 Unauthorized",
+            "Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space. HTTP Mapping: 429 Too Many Requests",
+            "The operation was rejected because the system is not in a state required for the operation's execution. For example, the directory to be deleted is non-empty, an rmdir operation is applied to a non-directory, etc. Service implementors can use the following guidelines to decide between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can retry just the failing call. (b) Use `ABORTED` if the client should retry at a higher level (e.g., when a client-specified test-and-set fails, indicating the client should restart a read-modify-write sequence). (c) Use `FAILED_PRECONDITION` if the client should not retry until the system state has been explicitly fixed. E.g., if an \"rmdir\" fails because the directory is non-empty, `FAILED_PRECONDITION` should be returned since the client should not retry unless the files are deleted from the directory. HTTP Mapping: 400 Bad Request",
+            "The operation was aborted, typically due to a concurrency issue such as a sequencer check failure or transaction abort. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 409 Conflict",
+            "The operation was attempted past the valid range. E.g., seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error indicates a problem that may be fixed if the system state changes. For example, a 32-bit file system will generate `INVALID_ARGUMENT` if asked to read at an offset that is not in the range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to read from an offset past the current file size. There is a fair bit of overlap between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific error) when it applies so that callers who are iterating through a space can easily look for an `OUT_OF_RANGE` error to detect when they are done. HTTP Mapping: 400 Bad Request",
+            "The operation is not implemented or is not supported/enabled in this service. HTTP Mapping: 501 Not Implemented",
+            "Internal errors. This means that some invariants expected by the underlying system have been broken. This error code is reserved for serious errors. HTTP Mapping: 500 Internal Server Error",
+            "The service is currently unavailable. This is most likely a transient condition, which can be corrected by retrying with a backoff. Note that it is not always safe to retry non-idempotent operations. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 503 Service Unavailable",
+            "Unrecoverable data loss or corruption. HTTP Mapping: 500 Internal Server Error"
+          ],
+          "type": "string"
+        },
         "code": {
-          "description": "Machine-friendly representation of the condition",
+          "description": "Machine-friendly representation of the condition Deprecated. Use canonical_code instead.",
           "enum": [
             "UNKNOWN",
             "GCE_STOCKOUT",
@@ -5139,11 +5276,11 @@
           ],
           "enumDescriptions": [
             "UNKNOWN indicates a generic condition.",
-            "GCE_STOCKOUT indicates that Google Compute Engine resources are\ntemporarily unavailable.",
-            "GKE_SERVICE_ACCOUNT_DELETED indicates that the user deleted their robot\nservice account.",
+            "GCE_STOCKOUT indicates that Google Compute Engine resources are temporarily unavailable.",
+            "GKE_SERVICE_ACCOUNT_DELETED indicates that the user deleted their robot service account.",
             "Google Compute Engine quota was exceeded.",
             "Cluster state was manually changed by an SRE due to a system logic error.",
-            "Unable to perform an encrypt operation against the CloudKMS key used for\netcd level encryption.\nMore codes TBA"
+            "Unable to perform an encrypt operation against the CloudKMS key used for etcd level encryption. More codes TBA"
           ],
           "type": "string"
         },
@@ -5159,7 +5296,7 @@
       "id": "TimeWindow",
       "properties": {
         "endTime": {
-          "description": "The time that the window ends. The end time should take place after the\nstart time.",
+          "description": "The time that the window ends. The end time should take place after the start time.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -5195,15 +5332,15 @@
       "id": "UpdateClusterRequest",
       "properties": {
         "clusterId": {
-          "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster) of the cluster to update. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "update": {
@@ -5211,7 +5348,7 @@
           "description": "Required. A description of the update."
         },
         "zone": {
-          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -5222,23 +5359,23 @@
       "id": "UpdateMasterRequest",
       "properties": {
         "clusterId": {
-          "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "masterVersion": {
-          "description": "Required. The Kubernetes version to change the master to.\n\nUsers may specify either explicit versions offered by\nKubernetes Engine or version aliases, which have the following behavior:\n\n- \"latest\": picks the highest valid Kubernetes version\n- \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version\n- \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version\n- \"1.X.Y-gke.N\": picks an explicit Kubernetes version\n- \"-\": picks the default Kubernetes version",
+          "description": "Required. The Kubernetes version to change the master to. Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - \"latest\": picks the highest valid Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes version - \"-\": picks the default Kubernetes version",
           "type": "string"
         },
         "name": {
-          "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+          "description": "The name (project, location, cluster) of the cluster to update. Specified in the format `projects/*/locations/*/clusters/*`.",
           "type": "string"
         },
         "projectId": {
-          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "zone": {
-          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
           "type": "string"
         }
       },
@@ -5249,7 +5386,7 @@
       "id": "UpdateNodePoolRequest",
       "properties": {
         "clusterId": {
-          "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "imageType": {
@@ -5265,26 +5402,26 @@
           "description": "Parameters that can be configured on Linux nodes."
         },
         "locations": {
-          "description": "The desired list of Google Compute Engine\n[zones](https://cloud.google.com/compute/docs/zones#available) in which the\nnode pool's nodes should be located. Changing the locations for a node pool\nwill result in nodes being either created or removed from the node pool,\ndepending on whether locations are being added or removed.",
+          "description": "The desired list of Google Compute Engine [zones](https://cloud.google.com/compute/docs/zones#available) in which the node pool's nodes should be located. Changing the locations for a node pool will result in nodes being either created or removed from the node pool, depending on whether locations are being added or removed.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "name": {
-          "description": "The name (project, location, cluster, node pool) of the node pool to\nupdate. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+          "description": "The name (project, location, cluster, node pool) of the node pool to update. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
           "type": "string"
         },
         "nodePoolId": {
-          "description": "Required. Deprecated. The name of the node pool to upgrade.\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "nodeVersion": {
-          "description": "Required. The Kubernetes version to change the nodes to (typically an\nupgrade).\n\nUsers may specify either explicit versions offered by Kubernetes Engine or\nversion aliases, which have the following behavior:\n\n- \"latest\": picks the highest valid Kubernetes version\n- \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version\n- \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version\n- \"1.X.Y-gke.N\": picks an explicit Kubernetes version\n- \"-\": picks the Kubernetes master version",
+          "description": "Required. The Kubernetes version to change the nodes to (typically an upgrade). Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - \"latest\": picks the highest valid Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes version - \"-\": picks the Kubernetes master version",
           "type": "string"
         },
         "projectId": {
-          "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+          "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
           "type": "string"
         },
         "upgradeSettings": {
@@ -5296,23 +5433,65 @@
           "description": "The desired workload metadata config for the node pool."
         },
         "zone": {
-          "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+          "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "UpgradeEvent": {
+      "description": "UpgradeEvent is a notification sent to customers by the cluster server when a resource is upgrading.",
+      "id": "UpgradeEvent",
+      "properties": {
+        "currentVersion": {
+          "description": "Required. The current version before the upgrade.",
+          "type": "string"
+        },
+        "operation": {
+          "description": "Required. The operation associated with this upgrade.",
+          "type": "string"
+        },
+        "operationStartTime": {
+          "description": "Required. The time when the operation was started.",
+          "format": "google-datetime",
+          "type": "string"
+        },
+        "resource": {
+          "description": "Optional. Optional relative path to the resource. For example in node pool upgrades, the relative path of the node pool.",
+          "type": "string"
+        },
+        "resourceType": {
+          "description": "Required. The resource type that is upgrading.",
+          "enum": [
+            "UPGRADE_RESOURCE_TYPE_UNSPECIFIED",
+            "MASTER",
+            "NODE_POOL"
+          ],
+          "enumDescriptions": [
+            "Default value. This shouldn't be used.",
+            "Master / control plane",
+            "Node pool"
+          ],
+          "type": "string"
+        },
+        "targetVersion": {
+          "description": "Required. The target version for the upgrade.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "UpgradeSettings": {
-      "description": "These upgrade settings control the level of parallelism and the level of\ndisruption caused by an upgrade.\n\nmaxUnavailable controls the number of nodes that can be simultaneously\nunavailable.\n\nmaxSurge controls the number of additional nodes that can be added to the\nnode pool temporarily for the time of the upgrade to increase the number of\navailable nodes.\n\n(maxUnavailable + maxSurge) determines the level of parallelism (how many\nnodes are being upgraded at the same time).\n\nNote: upgrades inevitably introduce some disruption since workloads need to\nbe moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,\nthis holds true. (Disruption stays within the limits of\nPodDisruptionBudget, if it is configured.)\n\nConsider a hypothetical node pool with 5 nodes having maxSurge=2,\nmaxUnavailable=1. This means the upgrade process upgrades 3 nodes\nsimultaneously. It creates 2 additional (upgraded) nodes, then it brings\ndown 3 old (not yet upgraded) nodes at the same time. This ensures that\nthere are always at least 4 nodes available.",
+      "description": "These upgrade settings control the level of parallelism and the level of disruption caused by an upgrade. maxUnavailable controls the number of nodes that can be simultaneously unavailable. maxSurge controls the number of additional nodes that can be added to the node pool temporarily for the time of the upgrade to increase the number of available nodes. (maxUnavailable + maxSurge) determines the level of parallelism (how many nodes are being upgraded at the same time). Note: upgrades inevitably introduce some disruption since workloads need to be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0, this holds true. (Disruption stays within the limits of PodDisruptionBudget, if it is configured.) Consider a hypothetical node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This means the upgrade process upgrades 3 nodes simultaneously. It creates 2 additional (upgraded) nodes, then it brings down 3 old (not yet upgraded) nodes at the same time. This ensures that there are always at least 4 nodes available.",
       "id": "UpgradeSettings",
       "properties": {
         "maxSurge": {
-          "description": "The maximum number of nodes that can be created beyond the current size\nof the node pool during the upgrade process.",
+          "description": "The maximum number of nodes that can be created beyond the current size of the node pool during the upgrade process.",
           "format": "int32",
           "type": "integer"
         },
         "maxUnavailable": {
-          "description": "The maximum number of nodes that can be simultaneously unavailable during\nthe upgrade process. A node is considered available if its status is\nReady.",
+          "description": "The maximum number of nodes that can be simultaneously unavailable during the upgrade process. A node is considered available if its status is Ready.",
           "format": "int32",
           "type": "integer"
         }
@@ -5320,7 +5499,7 @@
       "type": "object"
     },
     "UsableSubnetwork": {
-      "description": "UsableSubnetwork resource returns the subnetwork name, its associated network\nand the primary CIDR range.",
+      "description": "UsableSubnetwork resource returns the subnetwork name, its associated network and the primary CIDR range.",
       "id": "UsableSubnetwork",
       "properties": {
         "ipCidrRange": {
@@ -5328,7 +5507,7 @@
           "type": "string"
         },
         "network": {
-          "description": "Network Name.\nExample: projects/my-project/global/networks/my-network",
+          "description": "Network Name. Example: projects/my-project/global/networks/my-network",
           "type": "string"
         },
         "secondaryIpRanges": {
@@ -5339,11 +5518,11 @@
           "type": "array"
         },
         "statusMessage": {
-          "description": "A human readable status message representing the reasons for cases where\nthe caller cannot use the secondary ranges under the subnet. For example if\nthe secondary_ip_ranges is empty due to a permission issue, an insufficient\npermission message will be given by status_message.",
+          "description": "A human readable status message representing the reasons for cases where the caller cannot use the secondary ranges under the subnet. For example if the secondary_ip_ranges is empty due to a permission issue, an insufficient permission message will be given by status_message.",
           "type": "string"
         },
         "subnetwork": {
-          "description": "Subnetwork Name.\nExample: projects/my-project/regions/us-central1/subnetworks/my-subnet",
+          "description": "Subnetwork Name. Example: projects/my-project/regions/us-central1/subnetworks/my-subnet",
           "type": "string"
         }
       },
@@ -5358,7 +5537,7 @@
           "type": "string"
         },
         "rangeName": {
-          "description": "The name associated with this subnetwork secondary range, used when adding\nan alias IP range to a VM instance.",
+          "description": "The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance.",
           "type": "string"
         },
         "status": {
@@ -5373,9 +5552,9 @@
           "enumDescriptions": [
             "UNKNOWN is the zero value of the Status enum. It's not a valid status.",
             "UNUSED denotes that this range is unclaimed by any cluster.",
-            "IN_USE_SERVICE denotes that this range is claimed by a cluster for\nservices. It cannot be used for other clusters.",
-            "IN_USE_SHAREABLE_POD denotes this range was created by the network admin\nand is currently claimed by a cluster for pods. It can only be used by\nother clusters as a pod range.",
-            "IN_USE_MANAGED_POD denotes this range was created by GKE and is claimed\nfor pods. It cannot be used for other clusters."
+            "IN_USE_SERVICE denotes that this range is claimed by a cluster for services. It cannot be used for other clusters.",
+            "IN_USE_SHAREABLE_POD denotes this range was created by the network admin and is currently claimed by a cluster for pods. It can only be used by other clusters as a pod range.",
+            "IN_USE_MANAGED_POD denotes this range was created by GKE and is claimed for pods. It cannot be used for other clusters."
           ],
           "type": "string"
         }
@@ -5383,7 +5562,7 @@
       "type": "object"
     },
     "VerticalPodAutoscaling": {
-      "description": "VerticalPodAutoscaling contains global, per-cluster information\nrequired by Vertical Pod Autoscaler to automatically adjust\nthe resources of pods controlled by it.",
+      "description": "VerticalPodAutoscaling contains global, per-cluster information required by Vertical Pod Autoscaler to automatically adjust the resources of pods controlled by it.",
       "id": "VerticalPodAutoscaling",
       "properties": {
         "enabled": {
@@ -5394,7 +5573,7 @@
       "type": "object"
     },
     "WorkloadIdentityConfig": {
-      "description": "Configuration for the use of Kubernetes Service Accounts in GCP IAM\npolicies.",
+      "description": "Configuration for the use of Kubernetes Service Accounts in GCP IAM policies.",
       "id": "WorkloadIdentityConfig",
       "properties": {
         "identityNamespace": {
@@ -5413,11 +5592,11 @@
       "type": "object"
     },
     "WorkloadMetadataConfig": {
-      "description": "WorkloadMetadataConfig defines the metadata configuration to expose to\nworkloads on the node pool.",
+      "description": "WorkloadMetadataConfig defines the metadata configuration to expose to workloads on the node pool.",
       "id": "WorkloadMetadataConfig",
       "properties": {
         "mode": {
-          "description": "Mode is the configuration for how to expose metadata to workloads running\non the node pool.",
+          "description": "Mode is the configuration for how to expose metadata to workloads running on the node pool.",
           "enum": [
             "MODE_UNSPECIFIED",
             "GCE_METADATA",
@@ -5426,12 +5605,12 @@
           "enumDescriptions": [
             "Not set.",
             "Expose all Compute Engine metadata to pods.",
-            "Run the GKE Metadata Server on this node. The GKE Metadata Server exposes\na metadata API to workloads that is compatible with the V1 Compute\nMetadata APIs exposed by the Compute Engine and App Engine Metadata\nServers. This feature can only be enabled if Workload Identity is enabled\nat the cluster level."
+            "Run the GKE Metadata Server on this node. The GKE Metadata Server exposes a metadata API to workloads that is compatible with the V1 Compute Metadata APIs exposed by the Compute Engine and App Engine Metadata Servers. This feature can only be enabled if Workload Identity is enabled at the cluster level."
           ],
           "type": "string"
         },
         "nodeMetadata": {
-          "description": "NodeMetadata is the configuration for how to expose metadata to the\nworkloads running on the node.",
+          "description": "NodeMetadata is the configuration for how to expose metadata to the workloads running on the node.",
           "enum": [
             "UNSPECIFIED",
             "SECURE",
@@ -5440,9 +5619,9 @@
           ],
           "enumDescriptions": [
             "Not set.",
-            "Prevent workloads not in hostNetwork from accessing certain VM metadata,\nspecifically kube-env, which contains Kubelet credentials, and the\ninstance identity token.\n\nMetadata concealment is a temporary security solution available while the\nbootstrapping process for cluster nodes is being redesigned with\nsignificant security improvements.  This feature is scheduled to be\ndeprecated in the future and later removed.",
+            "Prevent workloads not in hostNetwork from accessing certain VM metadata, specifically kube-env, which contains Kubelet credentials, and the instance identity token. Metadata concealment is a temporary security solution available while the bootstrapping process for cluster nodes is being redesigned with significant security improvements. This feature is scheduled to be deprecated in the future and later removed.",
             "Expose all VM metadata to pods.",
-            "Run the GKE Metadata Server on this node. The GKE Metadata Server exposes\na metadata API to workloads that is compatible with the V1 Compute\nMetadata APIs exposed by the Compute Engine and App Engine Metadata\nServers. This feature can only be enabled if Workload Identity is enabled\nat the cluster level."
+            "Run the GKE Metadata Server on this node. The GKE Metadata Server exposes a metadata API to workloads that is compatible with the V1 Compute Metadata APIs exposed by the Compute Engine and App Engine Metadata Servers. This feature can only be enabled if Workload Identity is enabled at the cluster level."
           ],
           "type": "string"
         }
diff --git a/container/v1beta1/container-gen.go b/container/v1beta1/container-gen.go
index b380111..bc74f69 100644
--- a/container/v1beta1/container-gen.go
+++ b/container/v1beta1/container-gen.go
@@ -284,8 +284,7 @@
 	AcceleratorCount int64 `json:"acceleratorCount,omitempty,string"`
 
 	// AcceleratorType: The accelerator type resource name. List of
-	// supported
-	// accelerators
+	// supported accelerators
 	// [here](https://cloud.google.com/compute/docs/gpus)
 	AcceleratorType string `json:"acceleratorType,omitempty"`
 
@@ -314,19 +313,16 @@
 }
 
 // AddonsConfig: Configuration for the addons that can be automatically
-// spun up in the
-// cluster, enabling additional functionality.
+// spun up in the cluster, enabling additional functionality.
 type AddonsConfig struct {
 	// CloudRunConfig: Configuration for the Cloud Run addon. The
-	// `IstioConfig` addon must be
-	// enabled in order to enable Cloud Run addon. This option can only be
-	// enabled
-	// at cluster creation time.
+	// `IstioConfig` addon must be enabled in order to enable Cloud Run
+	// addon. This option can only be enabled at cluster creation time.
 	CloudRunConfig *CloudRunConfig `json:"cloudRunConfig,omitempty"`
 
 	// ConfigConnectorConfig: Configuration for the ConfigConnector add-on,
-	// a Kubernetes
-	// extension to manage hosted GCP services through the Kubernetes API
+	// a Kubernetes extension to manage hosted GCP services through the
+	// Kubernetes API
 	ConfigConnectorConfig *ConfigConnectorConfig `json:"configConnectorConfig,omitempty"`
 
 	// DnsCacheConfig: Configuration for NodeLocalDNS, a dns cache running
@@ -338,44 +334,34 @@
 	GcePersistentDiskCsiDriverConfig *GcePersistentDiskCsiDriverConfig `json:"gcePersistentDiskCsiDriverConfig,omitempty"`
 
 	// HorizontalPodAutoscaling: Configuration for the horizontal pod
-	// autoscaling feature, which
-	// increases or decreases the number of replica pods a replication
-	// controller
-	// has based on the resource usage of the existing pods.
+	// autoscaling feature, which increases or decreases the number of
+	// replica pods a replication controller has based on the resource usage
+	// of the existing pods.
 	HorizontalPodAutoscaling *HorizontalPodAutoscaling `json:"horizontalPodAutoscaling,omitempty"`
 
 	// HttpLoadBalancing: Configuration for the HTTP (L7) load balancing
-	// controller addon, which
-	// makes it easy to set up HTTP load balancers for services in a
-	// cluster.
+	// controller addon, which makes it easy to set up HTTP load balancers
+	// for services in a cluster.
 	HttpLoadBalancing *HttpLoadBalancing `json:"httpLoadBalancing,omitempty"`
 
 	// IstioConfig: Configuration for Istio, an open platform to connect,
-	// manage, and secure
-	// microservices.
+	// manage, and secure microservices.
 	IstioConfig *IstioConfig `json:"istioConfig,omitempty"`
 
 	// KalmConfig: Configuration for the KALM addon, which manages the
-	// lifecycle of k8s
-	// applications.
+	// lifecycle of k8s applications.
 	KalmConfig *KalmConfig `json:"kalmConfig,omitempty"`
 
-	// KubernetesDashboard: Configuration for the Kubernetes Dashboard.
-	// This addon is deprecated, and will be disabled in 1.15. It is
-	// recommended
+	// KubernetesDashboard: Configuration for the Kubernetes Dashboard. This
+	// addon is deprecated, and will be disabled in 1.15. It is recommended
 	// to use the Cloud Console to manage and monitor your Kubernetes
-	// clusters,
-	// workloads and applications. For more information,
-	// see:
-	// https://cloud.google.com/kubernetes-engine/docs/concepts/dashboar
-	// ds
+	// clusters, workloads and applications. For more information, see:
+	// https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
 	KubernetesDashboard *KubernetesDashboard `json:"kubernetesDashboard,omitempty"`
 
 	// NetworkPolicyConfig: Configuration for NetworkPolicy. This only
-	// tracks whether the addon
-	// is enabled or not on the Master, it does not track whether network
-	// policy
-	// is enabled for the nodes.
+	// tracks whether the addon is enabled or not on the Master, it does not
+	// track whether network policy is enabled for the nodes.
 	NetworkPolicyConfig *NetworkPolicyConfig `json:"networkPolicyConfig,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CloudRunConfig") to
@@ -405,14 +391,12 @@
 // AuthenticatorGroupsConfig: Configuration for returning group
 // information from authenticators.
 type AuthenticatorGroupsConfig struct {
-	// Enabled: Whether this cluster should return group membership
-	// lookups
+	// Enabled: Whether this cluster should return group membership lookups
 	// during authentication using a group of security groups.
 	Enabled bool `json:"enabled,omitempty"`
 
 	// SecurityGroup: The name of the security group-of-groups to be used.
-	// Only relevant
-	// if enabled = true.
+	// Only relevant if enabled = true.
 	SecurityGroup string `json:"securityGroup,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Enabled") to
@@ -439,19 +423,16 @@
 }
 
 // AutoUpgradeOptions: AutoUpgradeOptions defines the set of options for
-// the user to control how
-// the Auto Upgrades will proceed.
+// the user to control how the Auto Upgrades will proceed.
 type AutoUpgradeOptions struct {
 	// AutoUpgradeStartTime: [Output only] This field is set when upgrades
-	// are about to commence
-	// with the approximate start time for the upgrades,
-	// in
-	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+	// are about to commence with the approximate start time for the
+	// upgrades, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text
+	// format.
 	AutoUpgradeStartTime string `json:"autoUpgradeStartTime,omitempty"`
 
 	// Description: [Output only] This field is set when upgrades are about
-	// to commence
-	// with the description of the upgrade.
+	// to commence with the description of the upgrade.
 	Description string `json:"description,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -480,57 +461,38 @@
 }
 
 // AutoprovisioningNodePoolDefaults: AutoprovisioningNodePoolDefaults
-// contains defaults for a node pool created
-// by NAP.
+// contains defaults for a node pool created by NAP.
 type AutoprovisioningNodePoolDefaults struct {
 	// Management: NodeManagement configuration for this NodePool.
 	Management *NodeManagement `json:"management,omitempty"`
 
 	// MinCpuPlatform: Minimum CPU platform to be used by this instance. The
-	// instance may be
-	// scheduled on the specified or newer CPU platform. Applicable values
-	// are the
-	// friendly names of CPU platforms, such as
-	// `minCpuPlatform: "Intel Haswell" or
-	// `minCpuPlatform: "Intel Sandy Bridge". For more
-	// information, read [how to specify min
-	// CPU
-	// platform](https://cloud.google.com/compute/docs/instances/specify-
-	// min-cpu-platform)
-	// To unset the min cpu platform field pass "automatic"
-	// as field value.
+	// instance may be scheduled on the specified or newer CPU platform.
+	// Applicable values are the friendly names of CPU platforms, such as
+	// `minCpuPlatform: "Intel Haswell" or `minCpuPlatform: "Intel Sandy
+	// Bridge". For more information, read [how to specify min CPU
+	// platform](https://cloud.google.com/compute/docs/instances/specify-min-
+	// cpu-platform) To unset the min cpu platform field pass "automatic" as
+	// field value.
 	MinCpuPlatform string `json:"minCpuPlatform,omitempty"`
 
 	// OauthScopes: The set of Google API scopes to be made available on all
-	// of the
-	// node VMs under the "default" service account.
-	//
-	// The following scopes are recommended, but not required, and by
-	// default are
-	// not included:
-	//
-	// * `https://www.googleapis.com/auth/compute` is required for
-	// mounting
-	// persistent storage on your nodes.
-	// * `https://www.googleapis.com/auth/devstorage.read_only` is required
-	// for
-	// communicating with **gcr.io**
-	// (the [Google
-	// Container
-	// Registry](https://cloud.google.com/container-registry/)).
-	//
-	// I
-	// f unspecified, no scopes are added, unless Cloud Logging or
-	// Cloud
+	// of the node VMs under the "default" service account. The following
+	// scopes are recommended, but not required, and by default are not
+	// included: * `https://www.googleapis.com/auth/compute` is required for
+	// mounting persistent storage on your nodes. *
+	// `https://www.googleapis.com/auth/devstorage.read_only` is required
+	// for communicating with **gcr.io** (the [Google Container
+	// Registry](https://cloud.google.com/container-registry/)). If
+	// unspecified, no scopes are added, unless Cloud Logging or Cloud
 	// Monitoring are enabled, in which case their required scopes will be
 	// added.
 	OauthScopes []string `json:"oauthScopes,omitempty"`
 
 	// ServiceAccount: The Google Cloud Platform Service Account to be used
-	// by the node VMs.
-	// Specify the email address of the Service Account; otherwise, if no
-	// Service
-	// Account is specified, the "default" service account is used.
+	// by the node VMs. Specify the email address of the Service Account;
+	// otherwise, if no Service Account is specified, the "default" service
+	// account is used.
 	ServiceAccount string `json:"serviceAccount,omitempty"`
 
 	// UpgradeSettings: Upgrade settings control disruption and speed of the
@@ -623,8 +585,7 @@
 // BinaryAuthorization: Configuration for Binary Authorization.
 type BinaryAuthorization struct {
 	// Enabled: Enable Binary Authorization for this cluster. If enabled,
-	// all container
-	// images will be validated by Google Binauthz.
+	// all container images will be validated by Google Binauthz.
 	Enabled bool `json:"enabled,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Enabled") to
@@ -654,30 +615,25 @@
 // operation.
 type CancelOperationRequest struct {
 	// Name: The name (project, location, operation id) of the operation to
-	// cancel.
-	// Specified in the format `projects/*/locations/*/operations/*`.
+	// cancel. Specified in the format
+	// `projects/*/locations/*/operations/*`.
 	Name string `json:"name,omitempty"`
 
 	// OperationId: Required. Deprecated. The server-assigned `name` of the
-	// operation.
-	// This field has been deprecated and replaced by the name field.
+	// operation. This field has been deprecated and replaced by the name
+	// field.
 	OperationId string `json:"operationId,omitempty"`
 
 	// ProjectId: Required. Deprecated. The Google Developers Console
-	// [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840). This field
+	// has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Required. Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Required. Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// operation resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the operation resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Name") to
@@ -811,12 +767,10 @@
 	BinaryAuthorization *BinaryAuthorization `json:"binaryAuthorization,omitempty"`
 
 	// ClusterIpv4Cidr: The IP address range of the container pods in this
-	// cluster,
-	// in
+	// cluster, in
 	// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-	//
-	// notation (e.g. `10.96.0.0/14`). Leave blank to have
-	// one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
+	// notation (e.g. `10.96.0.0/14`). Leave blank to have one automatically
+	// chosen or specify a `/14` block in `10.0.0.0/8`.
 	ClusterIpv4Cidr string `json:"clusterIpv4Cidr,omitempty"`
 
 	// ClusterTelemetry: Telemetry integration for the cluster.
@@ -825,8 +779,7 @@
 	// Conditions: Which conditions caused the current cluster state.
 	Conditions []*StatusCondition `json:"conditions,omitempty"`
 
-	// CreateTime: [Output only] The time the cluster was created,
-	// in
+	// CreateTime: [Output only] The time the cluster was created, in
 	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
 	CreateTime string `json:"createTime,omitempty"`
 
@@ -834,104 +787,77 @@
 	// the master endpoint.
 	CurrentMasterVersion string `json:"currentMasterVersion,omitempty"`
 
-	// CurrentNodeCount: [Output only]  The number of nodes currently in the
-	// cluster. Deprecated.
-	// Call Kubernetes API directly to retrieve node information.
+	// CurrentNodeCount: [Output only] The number of nodes currently in the
+	// cluster. Deprecated. Call Kubernetes API directly to retrieve node
+	// information.
 	CurrentNodeCount int64 `json:"currentNodeCount,omitempty"`
 
-	// CurrentNodeVersion: [Output only] Deprecated,
-	// use
-	// [NodePool.version](https://cloud.google.com/kubernetes-engine/docs
-	// /reference/rest/v1beta1/projects.locations.clusters.nodePools)
-	// instead
-	// . The current version of the node software components.
-	// If they are currently at multiple versions because they're in the
-	// process
-	// of being upgraded, this reflects the minimum version of all nodes.
+	// CurrentNodeVersion: [Output only] Deprecated, use
+	// [NodePool.version](https://cloud.google.com/kubernetes-engine/docs/ref
+	// erence/rest/v1beta1/projects.locations.clusters.nodePools) instead.
+	// The current version of the node software components. If they are
+	// currently at multiple versions because they're in the process of
+	// being upgraded, this reflects the minimum version of all nodes.
 	CurrentNodeVersion string `json:"currentNodeVersion,omitempty"`
 
 	// DatabaseEncryption: Configuration of etcd encryption.
 	DatabaseEncryption *DatabaseEncryption `json:"databaseEncryption,omitempty"`
 
 	// DefaultMaxPodsConstraint: The default constraint on the maximum
-	// number of pods that can be run
-	// simultaneously on a node in the node pool of this cluster. Only
-	// honored
-	// if cluster created with IP Alias support.
+	// number of pods that can be run simultaneously on a node in the node
+	// pool of this cluster. Only honored if cluster created with IP Alias
+	// support.
 	DefaultMaxPodsConstraint *MaxPodsConstraint `json:"defaultMaxPodsConstraint,omitempty"`
 
 	// Description: An optional description of this cluster.
 	Description string `json:"description,omitempty"`
 
 	// EnableKubernetesAlpha: Kubernetes alpha features are enabled on this
-	// cluster. This includes alpha
-	// API groups (e.g. v1beta1) and features that may not be production
-	// ready in
-	// the kubernetes version of the master and nodes.
-	// The cluster has no SLA for uptime and master/node upgrades are
-	// disabled.
-	// Alpha enabled clusters are automatically deleted thirty days
-	// after
-	// creation.
+	// cluster. This includes alpha API groups (e.g. v1beta1) and features
+	// that may not be production ready in the kubernetes version of the
+	// master and nodes. The cluster has no SLA for uptime and master/node
+	// upgrades are disabled. Alpha enabled clusters are automatically
+	// deleted thirty days after creation.
 	EnableKubernetesAlpha bool `json:"enableKubernetesAlpha,omitempty"`
 
-	// EnableTpu: Enable the ability to use Cloud TPUs in this cluster.
-	// This field is deprecated, use tpu_config.enabled instead.
+	// EnableTpu: Enable the ability to use Cloud TPUs in this cluster. This
+	// field is deprecated, use tpu_config.enabled instead.
 	EnableTpu bool `json:"enableTpu,omitempty"`
 
 	// Endpoint: [Output only] The IP address of this cluster's master
-	// endpoint.
-	// The endpoint can be accessed from the internet
-	// at
-	// `https://username:password@endpoint/`.
-	//
-	// See the `masterAuth` property of this resource for username
-	// and
-	// password information.
+	// endpoint. The endpoint can be accessed from the internet at
+	// `https://username:password@endpoint/`. See the `masterAuth` property
+	// of this resource for username and password information.
 	Endpoint string `json:"endpoint,omitempty"`
 
-	// ExpireTime: [Output only] The time the cluster will be
-	// automatically
+	// ExpireTime: [Output only] The time the cluster will be automatically
 	// deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text
 	// format.
 	ExpireTime string `json:"expireTime,omitempty"`
 
 	// InitialClusterVersion: The initial Kubernetes version for this
-	// cluster.  Valid versions are those
-	// found in validMasterVersions returned by getServerConfig.  The
-	// version can
-	// be upgraded over time; such upgrades are reflected
-	// in
-	// currentMasterVersion and currentNodeVersion.
-	//
-	// Users may specify either explicit versions offered by
-	// Kubernetes Engine or version aliases, which have the following
-	// behavior:
-	//
-	// - "latest": picks the highest valid Kubernetes version
-	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X
-	// version
-	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
-	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
-	// - "","-": picks the default Kubernetes version
+	// cluster. Valid versions are those found in validMasterVersions
+	// returned by getServerConfig. The version can be upgraded over time;
+	// such upgrades are reflected in currentMasterVersion and
+	// currentNodeVersion. Users may specify either explicit versions
+	// offered by Kubernetes Engine or version aliases, which have the
+	// following behavior: - "latest": picks the highest valid Kubernetes
+	// version - "1.X": picks the highest valid patch+gke.N patch in the 1.X
+	// version - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y
+	// version - "1.X.Y-gke.N": picks an explicit Kubernetes version -
+	// "","-": picks the default Kubernetes version
 	InitialClusterVersion string `json:"initialClusterVersion,omitempty"`
 
 	// InitialNodeCount: The number of nodes to create in this cluster. You
-	// must ensure that your
-	// Compute Engine [resource
-	// quota](https://cloud.google.com/compute/quotas)
-	// is sufficient for this number of instances. You must also have
-	// available
-	// firewall and routes quota.
-	// For requests, this field should only be used in lieu of a
-	// "node_pool" object, since this configuration (along with
-	// the
-	// "node_config") will be used to create a "NodePool" object with
-	// an
+	// must ensure that your Compute Engine [resource
+	// quota](https://cloud.google.com/compute/quotas) is sufficient for
+	// this number of instances. You must also have available firewall and
+	// routes quota. For requests, this field should only be used in lieu of
+	// a "node_pool" object, since this configuration (along with the
+	// "node_config") will be used to create a "NodePool" object with an
 	// auto-generated name. Do not use this and a node_pool at the same
-	// time.
-	//
-	// This field is deprecated, use node_pool.initial_node_count instead.
+	// time. This field is deprecated, use node_pool.initial_node_count
+	// instead.
 	InitialNodeCount int64 `json:"initialNodeCount,omitempty"`
 
 	// InstanceGroupUrls: Deprecated. Use node_pools.instance_group_urls.
@@ -947,37 +873,26 @@
 	// LegacyAbac: Configuration for the legacy ABAC authorization mode.
 	LegacyAbac *LegacyAbac `json:"legacyAbac,omitempty"`
 
-	// Location: [Output only] The name of the Google Compute
-	// Engine
-	// [zone](https://cloud.google.com/compute/docs/regions-zones/regi
-	// ons-zones#available)
-	// or
-	// [region](https://cloud.google.com/compute/docs
-	// /regions-zones/regions-zones#available)
-	// in which the cluster resides.
+	// Location: [Output only] The name of the Google Compute Engine
+	// [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zon
+	// es#available) or
+	// [region](https://cloud.google.com/compute/docs/regions-zones/regions-z
+	// ones#available) in which the cluster resides.
 	Location string `json:"location,omitempty"`
 
-	// Locations: The list of Google Compute
-	// Engine
+	// Locations: The list of Google Compute Engine
 	// [zones](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster's nodes should be located.
+	// which the cluster's nodes should be located.
 	Locations []string `json:"locations,omitempty"`
 
 	// LoggingService: The logging service the cluster should use to write
-	// logs.
-	// Currently available options:
-	//
-	// * `logging.googleapis.com/kubernetes` - The Cloud Logging
-	// service with a Kubernetes-native resource model
-	// * `logging.googleapis.com` - The legacy Cloud Logging service (no
-	// longer
-	//   available as of GKE 1.15).
-	// * `none` - no logs will be exported from the cluster.
-	//
-	// If left as an empty string,`logging.googleapis.com/kubernetes` will
-	// be
-	// used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
+	// logs. Currently available options: *
+	// `logging.googleapis.com/kubernetes` - The Cloud Logging service with
+	// a Kubernetes-native resource model * `logging.googleapis.com` - The
+	// legacy Cloud Logging service (no longer available as of GKE 1.15). *
+	// `none` - no logs will be exported from the cluster. If left as an
+	// empty string,`logging.googleapis.com/kubernetes` will be used for GKE
+	// 1.14+ or `logging.googleapis.com` for earlier versions.
 	LoggingService string `json:"loggingService,omitempty"`
 
 	// MaintenancePolicy: Configure the maintenance policy for this cluster.
@@ -987,12 +902,9 @@
 	Master *Master `json:"master,omitempty"`
 
 	// MasterAuth: The authentication information for accessing the master
-	// endpoint.
-	// If unspecified, the defaults are used:
-	// For clusters before v1.12, if master_auth is unspecified, `username`
-	// will
-	// be set to "admin", a random password will be generated, and a
-	// client
+	// endpoint. If unspecified, the defaults are used: For clusters before
+	// v1.12, if master_auth is unspecified, `username` will be set to
+	// "admin", a random password will be generated, and a client
 	// certificate will be issued.
 	MasterAuth *MasterAuth `json:"masterAuth,omitempty"`
 
@@ -1001,53 +913,35 @@
 	MasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `json:"masterAuthorizedNetworksConfig,omitempty"`
 
 	// MasterIpv4CidrBlock: The IP prefix in CIDR notation to use for the
-	// hosted master network.
-	// This prefix will be used for assigning private IP addresses to
-	// the
-	// master or set of masters, as well as the ILB VIP.
-	// This field is deprecated,
-	// use
+	// hosted master network. This prefix will be used for assigning private
+	// IP addresses to the master or set of masters, as well as the ILB VIP.
+	// This field is deprecated, use
 	// private_cluster_config.master_ipv4_cidr_block instead.
 	MasterIpv4CidrBlock string `json:"masterIpv4CidrBlock,omitempty"`
 
 	// MonitoringService: The monitoring service the cluster should use to
-	// write metrics.
-	// Currently available options:
-	//
-	// * "monitoring.googleapis.com/kubernetes" - The Cloud
-	// Monitoring
-	// service with a Kubernetes-native resource model
-	// * `monitoring.googleapis.com` - The legacy Cloud Monitoring service
-	// (no
-	//   longer available as of GKE 1.15).
-	// * `none` - No metrics will be exported from the cluster.
-	//
-	// If left as an empty string,`monitoring.googleapis.com/kubernetes`
-	// will be
-	// used for GKE 1.14+ or `monitoring.googleapis.com` for earlier
+	// write metrics. Currently available options: *
+	// "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring service
+	// with a Kubernetes-native resource model * `monitoring.googleapis.com`
+	// - The legacy Cloud Monitoring service (no longer available as of GKE
+	// 1.15). * `none` - No metrics will be exported from the cluster. If
+	// left as an empty string,`monitoring.googleapis.com/kubernetes` will
+	// be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier
 	// versions.
 	MonitoringService string `json:"monitoringService,omitempty"`
 
 	// Name: The name of this cluster. The name must be unique within this
-	// project
-	// and location (e.g. zone or region), and can be up to 40 characters
-	// with
-	// the following restrictions:
-	//
-	// * Lowercase letters, numbers, and hyphens only.
-	// * Must start with a letter.
-	// * Must end with a number or a letter.
+	// project and location (e.g. zone or region), and can be up to 40
+	// characters with the following restrictions: * Lowercase letters,
+	// numbers, and hyphens only. * Must start with a letter. * Must end
+	// with a number or a letter.
 	Name string `json:"name,omitempty"`
 
-	// Network: The name of the Google Compute
-	// Engine
-	// [network](https://cloud.google.com/compute/docs/networks-and-fi
-	// rewalls#networks)
-	// to which the cluster is connected. If left unspecified, the
-	// `default`
-	// network will be used. On output this shows the network ID instead of
-	// the
-	// name.
+	// Network: The name of the Google Compute Engine
+	// [network](https://cloud.google.com/compute/docs/networks-and-firewalls
+	// #networks) to which the cluster is connected. If left unspecified,
+	// the `default` network will be used. On output this shows the network
+	// ID instead of the name.
 	Network string `json:"network,omitempty"`
 
 	// NetworkConfig: Configuration for cluster networking.
@@ -1056,51 +950,40 @@
 	// NetworkPolicy: Configuration options for the NetworkPolicy feature.
 	NetworkPolicy *NetworkPolicy `json:"networkPolicy,omitempty"`
 
-	// NodeConfig: Parameters used in creating the cluster's nodes.
-	// For requests, this field should only be used in lieu of a
-	// "node_pool" object, since this configuration (along with
-	// the
+	// NodeConfig: Parameters used in creating the cluster's nodes. For
+	// requests, this field should only be used in lieu of a "node_pool"
+	// object, since this configuration (along with the
 	// "initial_node_count") will be used to create a "NodePool" object with
-	// an
-	// auto-generated name. Do not use this and a node_pool at the same
-	// time.
-	// For responses, this field will be populated with the node
-	// configuration of
-	// the first node pool. (For configuration of each node pool,
-	// see
-	// `node_pool.config`)
-	//
-	// If unspecified, the defaults are used.
+	// an auto-generated name. Do not use this and a node_pool at the same
+	// time. For responses, this field will be populated with the node
+	// configuration of the first node pool. (For configuration of each node
+	// pool, see `node_pool.config`) If unspecified, the defaults are used.
 	// This field is deprecated, use node_pool.config instead.
 	NodeConfig *NodeConfig `json:"nodeConfig,omitempty"`
 
 	// NodeIpv4CidrSize: [Output only] The size of the address space on each
-	// node for hosting
-	// containers. This is provisioned from within the
-	// `container_ipv4_cidr`
-	// range. This field will only be set when cluster is in route-based
-	// network
-	// mode.
+	// node for hosting containers. This is provisioned from within the
+	// `container_ipv4_cidr` range. This field will only be set when cluster
+	// is in route-based network mode.
 	NodeIpv4CidrSize int64 `json:"nodeIpv4CidrSize,omitempty"`
 
-	// NodePools: The node pools associated with this cluster.
-	// This field should not be set if "node_config" or "initial_node_count"
-	// are
+	// NodePools: The node pools associated with this cluster. This field
+	// should not be set if "node_config" or "initial_node_count" are
 	// specified.
 	NodePools []*NodePool `json:"nodePools,omitempty"`
 
+	// NotificationConfig: Notification configuration of the cluster.
+	NotificationConfig *NotificationConfig `json:"notificationConfig,omitempty"`
+
 	// PodSecurityPolicyConfig: Configuration for the PodSecurityPolicy
 	// feature.
 	PodSecurityPolicyConfig *PodSecurityPolicyConfig `json:"podSecurityPolicyConfig,omitempty"`
 
 	// PrivateCluster: If this is a private cluster setup. Private clusters
-	// are clusters that, by
-	// default have no external IP addresses on the nodes and where nodes
-	// and the
-	// master communicate over private IP addresses.
-	// This field is deprecated, use
-	// private_cluster_config.enable_private_nodes
-	// instead.
+	// are clusters that, by default have no external IP addresses on the
+	// nodes and where nodes and the master communicate over private IP
+	// addresses. This field is deprecated, use
+	// private_cluster_config.enable_private_nodes instead.
 	PrivateCluster bool `json:"privateCluster,omitempty"`
 
 	// PrivateClusterConfig: Configuration for private cluster.
@@ -1110,26 +993,22 @@
 	ReleaseChannel *ReleaseChannel `json:"releaseChannel,omitempty"`
 
 	// ResourceLabels: The resource labels for the cluster to use to
-	// annotate any related
-	// Google Compute Engine resources.
+	// annotate any related Google Compute Engine resources.
 	ResourceLabels map[string]string `json:"resourceLabels,omitempty"`
 
 	// ResourceUsageExportConfig: Configuration for exporting resource
-	// usages. Resource usage export is
-	// disabled when this config unspecified.
+	// usages. Resource usage export is disabled when this config
+	// unspecified.
 	ResourceUsageExportConfig *ResourceUsageExportConfig `json:"resourceUsageExportConfig,omitempty"`
 
 	// SelfLink: [Output only] Server-defined URL for the resource.
 	SelfLink string `json:"selfLink,omitempty"`
 
 	// ServicesIpv4Cidr: [Output only] The IP address range of the
-	// Kubernetes services in
-	// this cluster,
-	// in
+	// Kubernetes services in this cluster, in
 	// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-	//
-	// notation (e.g. `1.2.3.4/29`). Service addresses are
-	// typically put in the last `/16` from the container CIDR.
+	// notation (e.g. `1.2.3.4/29`). Service addresses are typically put in
+	// the last `/16` from the container CIDR.
 	ServicesIpv4Cidr string `json:"servicesIpv4Cidr,omitempty"`
 
 	// ShieldedNodes: Shielded Nodes configuration.
@@ -1142,46 +1021,35 @@
 	//   "PROVISIONING" - The PROVISIONING state indicates the cluster is
 	// being created.
 	//   "RUNNING" - The RUNNING state indicates the cluster has been
-	// created and is fully
-	// usable.
+	// created and is fully usable.
 	//   "RECONCILING" - The RECONCILING state indicates that some work is
-	// actively being done on
-	// the cluster, such as upgrading the master or node software. Details
-	// can
-	// be found in the `statusMessage` field.
+	// actively being done on the cluster, such as upgrading the master or
+	// node software. Details can be found in the `statusMessage` field.
 	//   "STOPPING" - The STOPPING state indicates the cluster is being
 	// deleted.
 	//   "ERROR" - The ERROR state indicates the cluster may be unusable.
-	// Details
-	// can be found in the `statusMessage` field.
+	// Details can be found in the `statusMessage` field.
 	//   "DEGRADED" - The DEGRADED state indicates the cluster requires user
-	// action to restore
-	// full functionality. Details can be found in the `statusMessage`
-	// field.
+	// action to restore full functionality. Details can be found in the
+	// `statusMessage` field.
 	Status string `json:"status,omitempty"`
 
 	// StatusMessage: [Output only] Additional information about the current
-	// status of this
-	// cluster, if available.
+	// status of this cluster, if available.
 	StatusMessage string `json:"statusMessage,omitempty"`
 
-	// Subnetwork: The name of the Google Compute
-	// Engine
-	// [subnetwork](https://cloud.google.com/compute/docs/subnetworks)
-	//  to which
-	// the cluster is connected. On output this shows the subnetwork ID
-	// instead of
-	// the name.
+	// Subnetwork: The name of the Google Compute Engine
+	// [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to
+	// which the cluster is connected. On output this shows the subnetwork
+	// ID instead of the name.
 	Subnetwork string `json:"subnetwork,omitempty"`
 
 	// TpuConfig: Configuration for Cloud TPU support;
 	TpuConfig *TpuConfig `json:"tpuConfig,omitempty"`
 
 	// TpuIpv4CidrBlock: [Output only] The IP address range of the Cloud
-	// TPUs in this cluster,
-	// in
+	// TPUs in this cluster, in
 	// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-	//
 	// notation (e.g. `1.2.3.4/29`).
 	TpuIpv4CidrBlock string `json:"tpuIpv4CidrBlock,omitempty"`
 
@@ -1190,15 +1058,13 @@
 	VerticalPodAutoscaling *VerticalPodAutoscaling `json:"verticalPodAutoscaling,omitempty"`
 
 	// WorkloadIdentityConfig: Configuration for the use of Kubernetes
-	// Service Accounts in GCP IAM
-	// policies.
+	// Service Accounts in GCP IAM policies.
 	WorkloadIdentityConfig *WorkloadIdentityConfig `json:"workloadIdentityConfig,omitempty"`
 
-	// Zone: [Output only] The name of the Google Compute
-	// Engine
+	// Zone: [Output only] The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field is deprecated, use location instead.
+	// which the cluster resides. This field is deprecated, use location
+	// instead.
 	Zone string `json:"zone,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1229,21 +1095,17 @@
 }
 
 // ClusterAutoscaling: ClusterAutoscaling contains global, per-cluster
-// information
-// required by Cluster Autoscaler to automatically adjust
-// the size of the cluster and create/delete
-// node pools based on the current needs.
+// information required by Cluster Autoscaler to automatically adjust
+// the size of the cluster and create/delete node pools based on the
+// current needs.
 type ClusterAutoscaling struct {
-	// AutoprovisioningLocations: The list of Google Compute
-	// Engine
+	// AutoprovisioningLocations: The list of Google Compute Engine
 	// [zones](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// NodePool's nodes can be created by NAP.
+	// which the NodePool's nodes can be created by NAP.
 	AutoprovisioningLocations []string `json:"autoprovisioningLocations,omitempty"`
 
 	// AutoprovisioningNodePoolDefaults: AutoprovisioningNodePoolDefaults
-	// contains defaults for a node pool
-	// created by NAP.
+	// contains defaults for a node pool created by NAP.
 	AutoprovisioningNodePoolDefaults *AutoprovisioningNodePoolDefaults `json:"autoprovisioningNodePoolDefaults,omitempty"`
 
 	// AutoscalingProfile: Defines autoscaling behaviour.
@@ -1260,8 +1122,7 @@
 	EnableNodeAutoprovisioning bool `json:"enableNodeAutoprovisioning,omitempty"`
 
 	// ResourceLimits: Contains global constraints regarding minimum and
-	// maximum
-	// amount of resources in the cluster.
+	// maximum amount of resources in the cluster.
 	ResourceLimits []*ResourceLimit `json:"resourceLimits,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -1324,10 +1185,8 @@
 }
 
 // ClusterUpdate: ClusterUpdate describes an update to the cluster.
-// Exactly one update can
-// be applied to a cluster with each request, so at most one field can
-// be
-// provided.
+// Exactly one update can be applied to a cluster with each request, so
+// at most one field can be provided.
 type ClusterUpdate struct {
 	// DesiredAddonsConfig: Configurations for the various addons available
 	// to run in the cluster.
@@ -1347,45 +1206,45 @@
 	// DesiredDatabaseEncryption: Configuration of etcd encryption.
 	DesiredDatabaseEncryption *DatabaseEncryption `json:"desiredDatabaseEncryption,omitempty"`
 
+	// DesiredDatapathProvider: The desired datapath provider for the
+	// cluster.
+	//
+	// Possible values:
+	//   "DATAPATH_PROVIDER_UNSPECIFIED" - Default value.
+	//   "LEGACY_DATAPATH" - Use the IPTables implementation based on
+	// kube-proxy.
+	//   "ADVANCED_DATAPATH" - Use the eBPF based data plane with additional
+	// visibility features.
+	DesiredDatapathProvider string `json:"desiredDatapathProvider,omitempty"`
+
 	// DesiredDefaultSnatStatus: The desired status of whether to disable
 	// default sNAT for this cluster.
 	DesiredDefaultSnatStatus *DefaultSnatStatus `json:"desiredDefaultSnatStatus,omitempty"`
 
-	// DesiredImageType: The desired image type for the node pool.
-	// NOTE: Set the "desired_node_pool" field as well.
+	// DesiredImageType: The desired image type for the node pool. NOTE: Set
+	// the "desired_node_pool" field as well.
 	DesiredImageType string `json:"desiredImageType,omitempty"`
 
 	// DesiredIntraNodeVisibilityConfig: The desired config of Intra-node
 	// visibility.
 	DesiredIntraNodeVisibilityConfig *IntraNodeVisibilityConfig `json:"desiredIntraNodeVisibilityConfig,omitempty"`
 
-	// DesiredLocations: The desired list of Google Compute
-	// Engine
+	// DesiredLocations: The desired list of Google Compute Engine
 	// [zones](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster's nodes should be located. Changing the locations a cluster
-	// is in
-	// will result in nodes being either created or removed from the
-	// cluster,
-	// depending on whether locations are being added or removed.
-	//
-	// This list must always include the cluster's primary zone.
+	// which the cluster's nodes should be located. Changing the locations a
+	// cluster is in will result in nodes being either created or removed
+	// from the cluster, depending on whether locations are being added or
+	// removed. This list must always include the cluster's primary zone.
 	DesiredLocations []string `json:"desiredLocations,omitempty"`
 
 	// DesiredLoggingService: The logging service the cluster should use to
-	// write logs.
-	// Currently available options:
-	//
-	// * `logging.googleapis.com/kubernetes` - The Cloud Logging
-	// service with a Kubernetes-native resource model
-	// * `logging.googleapis.com` - The legacy Cloud Logging service (no
-	// longer
-	//   available as of GKE 1.15).
-	// * `none` - no logs will be exported from the cluster.
-	//
-	// If left as an empty string,`logging.googleapis.com/kubernetes` will
-	// be
-	// used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
+	// write logs. Currently available options: *
+	// `logging.googleapis.com/kubernetes` - The Cloud Logging service with
+	// a Kubernetes-native resource model * `logging.googleapis.com` - The
+	// legacy Cloud Logging service (no longer available as of GKE 1.15). *
+	// `none` - no logs will be exported from the cluster. If left as an
+	// empty string,`logging.googleapis.com/kubernetes` will be used for GKE
+	// 1.14+ or `logging.googleapis.com` for earlier versions.
 	DesiredLoggingService string `json:"desiredLoggingService,omitempty"`
 
 	// DesiredMaster: Configuration for master components.
@@ -1396,71 +1255,53 @@
 	DesiredMasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `json:"desiredMasterAuthorizedNetworksConfig,omitempty"`
 
 	// DesiredMasterVersion: The Kubernetes version to change the master to.
-	// The only valid value is the
-	// latest supported version.
-	//
-	// Users may specify either explicit versions offered by
-	// Kubernetes Engine or version aliases, which have the following
-	// behavior:
-	//
-	// - "latest": picks the highest valid Kubernetes version
-	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X
+	// The only valid value is the latest supported version. Users may
+	// specify either explicit versions offered by Kubernetes Engine or
+	// version aliases, which have the following behavior: - "latest": picks
+	// the highest valid Kubernetes version - "1.X": picks the highest valid
+	// patch+gke.N patch in the 1.X version - "1.X.Y": picks the highest
+	// valid gke.N patch in the 1.X.Y version - "1.X.Y-gke.N": picks an
+	// explicit Kubernetes version - "-": picks the default Kubernetes
 	// version
-	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
-	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
-	// - "-": picks the default Kubernetes version
 	DesiredMasterVersion string `json:"desiredMasterVersion,omitempty"`
 
 	// DesiredMonitoringService: The monitoring service the cluster should
-	// use to write metrics.
-	// Currently available options:
-	//
-	// * "monitoring.googleapis.com/kubernetes" - The Cloud
-	// Monitoring
-	// service with a Kubernetes-native resource model
-	// * `monitoring.googleapis.com` - The legacy Cloud Monitoring service
-	// (no
-	//   longer available as of GKE 1.15).
-	// * `none` - No metrics will be exported from the cluster.
-	//
-	// If left as an empty string,`monitoring.googleapis.com/kubernetes`
-	// will be
-	// used for GKE 1.14+ or `monitoring.googleapis.com` for earlier
+	// use to write metrics. Currently available options: *
+	// "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring service
+	// with a Kubernetes-native resource model * `monitoring.googleapis.com`
+	// - The legacy Cloud Monitoring service (no longer available as of GKE
+	// 1.15). * `none` - No metrics will be exported from the cluster. If
+	// left as an empty string,`monitoring.googleapis.com/kubernetes` will
+	// be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier
 	// versions.
 	DesiredMonitoringService string `json:"desiredMonitoringService,omitempty"`
 
 	// DesiredNodePoolAutoscaling: Autoscaler configuration for the node
-	// pool specified in
-	// desired_node_pool_id. If there is only one pool in the
-	// cluster and desired_node_pool_id is not provided then
-	// the change applies to that single node pool.
+	// pool specified in desired_node_pool_id. If there is only one pool in
+	// the cluster and desired_node_pool_id is not provided then the change
+	// applies to that single node pool.
 	DesiredNodePoolAutoscaling *NodePoolAutoscaling `json:"desiredNodePoolAutoscaling,omitempty"`
 
 	// DesiredNodePoolId: The node pool to be upgraded. This field is
-	// mandatory if
-	// "desired_node_version",
-	// "desired_image_family",
+	// mandatory if "desired_node_version", "desired_image_family",
 	// "desired_node_pool_autoscaling", or
-	// "desired_workload_metadata_config"
-	// is specified and there is more than one node pool on the cluster.
+	// "desired_workload_metadata_config" is specified and there is more
+	// than one node pool on the cluster.
 	DesiredNodePoolId string `json:"desiredNodePoolId,omitempty"`
 
 	// DesiredNodeVersion: The Kubernetes version to change the nodes to
-	// (typically an
-	// upgrade).
-	//
-	// Users may specify either explicit versions offered by
-	// Kubernetes Engine or version aliases, which have the following
-	// behavior:
-	//
-	// - "latest": picks the highest valid Kubernetes version
-	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X
-	// version
-	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
-	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
-	// - "-": picks the Kubernetes master version
+	// (typically an upgrade). Users may specify either explicit versions
+	// offered by Kubernetes Engine or version aliases, which have the
+	// following behavior: - "latest": picks the highest valid Kubernetes
+	// version - "1.X": picks the highest valid patch+gke.N patch in the 1.X
+	// version - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y
+	// version - "1.X.Y-gke.N": picks an explicit Kubernetes version - "-":
+	// picks the Kubernetes master version
 	DesiredNodeVersion string `json:"desiredNodeVersion,omitempty"`
 
+	// DesiredNotificationConfig: The desired notification configuration.
+	DesiredNotificationConfig *NotificationConfig `json:"desiredNotificationConfig,omitempty"`
+
 	// DesiredPodSecurityPolicyConfig: The desired configuration options for
 	// the PodSecurityPolicy feature.
 	DesiredPodSecurityPolicyConfig *PodSecurityPolicyConfig `json:"desiredPodSecurityPolicyConfig,omitempty"`
@@ -1516,31 +1357,25 @@
 // CompleteIPRotationRequest: CompleteIPRotationRequest moves the
 // cluster master back into single-IP mode.
 type CompleteIPRotationRequest struct {
-	// ClusterId: Required. Deprecated. The name of the cluster.
-	// This field has been deprecated and replaced by the name field.
+	// ClusterId: Required. Deprecated. The name of the cluster. This field
+	// has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// Name: The name (project, location, cluster id) of the cluster to
-	// complete IP
-	// rotation. Specified in the format
+	// complete IP rotation. Specified in the format
 	// `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Required. Deprecated. The Google Developers Console
-	// [project ID or
-	// project
-	// number](https://developers.google.com/console/help/new/#projec
-	// tnumber).
-	// This field has been deprecated and replaced by the name field.
+	// [project ID or project
+	// number](https://developers.google.com/console/help/new/#projectnumber)
+	// . This field has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Required. Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Required. Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -1599,10 +1434,8 @@
 // metering.
 type ConsumptionMeteringConfig struct {
 	// Enabled: Whether to enable consumption metering for this cluster. If
-	// enabled, a
-	// second BigQuery table will be created to hold resource
-	// consumption
-	// records.
+	// enabled, a second BigQuery table will be created to hold resource
+	// consumption records.
 	Enabled bool `json:"enabled,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Enabled") to
@@ -1630,32 +1463,25 @@
 
 // CreateClusterRequest: CreateClusterRequest creates a cluster.
 type CreateClusterRequest struct {
-	// Cluster: Required. A
-	// [cluster
-	// resource](https://cloud.google.com/container-engine/reference
-	// /rest/v1beta1/projects.locations.clusters)
+	// Cluster: Required. A [cluster
+	// resource](https://cloud.google.com/container-engine/reference/rest/v1b
+	// eta1/projects.locations.clusters)
 	Cluster *Cluster `json:"cluster,omitempty"`
 
 	// Parent: The parent (project and location) where the cluster will be
-	// created.
-	// Specified in the format `projects/*/locations/*`.
+	// created. Specified in the format `projects/*/locations/*`.
 	Parent string `json:"parent,omitempty"`
 
 	// ProjectId: Required. Deprecated. The Google Developers Console
-	// [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the parent field.
+	// [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840). This field
+	// has been deprecated and replaced by the parent field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Required. Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Required. Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// parent
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the parent field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Cluster") to
@@ -1684,34 +1510,28 @@
 // CreateNodePoolRequest: CreateNodePoolRequest creates a node pool for
 // a cluster.
 type CreateNodePoolRequest struct {
-	// ClusterId: Required. Deprecated. The name of the cluster.
-	// This field has been deprecated and replaced by the parent field.
+	// ClusterId: Required. Deprecated. The name of the cluster. This field
+	// has been deprecated and replaced by the parent field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// NodePool: Required. The node pool to create.
 	NodePool *NodePool `json:"nodePool,omitempty"`
 
 	// Parent: The parent (project, location, cluster id) where the node
-	// pool will be
-	// created. Specified in the format
+	// pool will be created. Specified in the format
 	// `projects/*/locations/*/clusters/*`.
 	Parent string `json:"parent,omitempty"`
 
 	// ProjectId: Required. Deprecated. The Google Developers Console
-	// [project ID or
-	// project
-	// number](https://developers.google.com/console/help/new/#projec
-	// tnumber).
-	// This field has been deprecated and replaced by the parent field.
+	// [project ID or project
+	// number](https://developers.google.com/console/help/new/#projectnumber)
+	// . This field has been deprecated and replaced by the parent field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Required. Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Required. Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// parent
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the parent field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -1741,14 +1561,12 @@
 // operations.
 type DailyMaintenanceWindow struct {
 	// Duration: [Output only] Duration of the time window, automatically
-	// chosen to be
-	// smallest possible in the given scenario.
+	// chosen to be smallest possible in the given scenario.
 	Duration string `json:"duration,omitempty"`
 
 	// StartTime: Time within the maintenance window to start the
-	// maintenance operations.
-	// It must be in format "HH:MM", where HH : [00-23] and MM : [00-59]
-	// GMT.
+	// maintenance operations. It must be in format "HH:MM", where HH :
+	// [00-23] and MM : [00-59] GMT.
 	StartTime string `json:"startTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Duration") to
@@ -1777,8 +1595,7 @@
 // DatabaseEncryption: Configuration of etcd encryption.
 type DatabaseEncryption struct {
 	// KeyName: Name of CloudKMS key to use for the encryption of secrets in
-	// etcd.
-	// Ex.
+	// etcd. Ex.
 	// projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-ke
 	// y
 	KeyName string `json:"keyName,omitempty"`
@@ -1789,8 +1606,8 @@
 	//   "UNKNOWN" - Should never be set
 	//   "ENCRYPTED" - Secrets in etcd are encrypted.
 	//   "DECRYPTED" - Secrets in etcd are stored in plain text (at etcd
-	// level) - this is
-	// unrelated to Compute Engine level full disk encryption.
+	// level) - this is unrelated to Compute Engine level full disk
+	// encryption.
 	State string `json:"state,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "KeyName") to
@@ -1817,8 +1634,7 @@
 }
 
 // DefaultSnatStatus: DefaultSnatStatus contains the desired state of
-// whether default sNAT should
-// be disabled on the cluster.
+// whether default sNAT should be disabled on the cluster.
 type DefaultSnatStatus struct {
 	// Disabled: Disables cluster default sNAT rules.
 	Disabled bool `json:"disabled,omitempty"`
@@ -1875,17 +1691,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -1893,8 +1703,8 @@
 }
 
 // GcePersistentDiskCsiDriverConfig: Configuration for the Compute
-// Engine PD CSI driver. This option can only be
-// enabled at cluster creation time.
+// Engine PD CSI driver. This option can only be enabled at cluster
+// creation time.
 type GcePersistentDiskCsiDriverConfig struct {
 	// Enabled: Whether the Compute Engine PD CSI driver is enabled for this
 	// cluster.
@@ -1927,13 +1737,11 @@
 // Key Set as specififed in rfc 7517
 type GetJSONWebKeysResponse struct {
 	// CacheHeader: OnePlatform automatically extracts this field and uses
-	// it to set the HTTP
-	// Cache-Control header.
+	// it to set the HTTP Cache-Control header.
 	CacheHeader *HttpCacheControlResponseHeader `json:"cacheHeader,omitempty"`
 
 	// Keys: The public component of the keys used by the cluster to sign
-	// token
-	// requests.
+	// token requests.
 	Keys []*Jwk `json:"keys,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1964,12 +1772,11 @@
 }
 
 // GetOpenIDConfigResponse: GetOpenIDConfigResponse is an OIDC discovery
-// document for the cluster.
-// See the OpenID Connect Discovery 1.0 specification for details.
+// document for the cluster. See the OpenID Connect Discovery 1.0
+// specification for details.
 type GetOpenIDConfigResponse struct {
 	// CacheHeader: OnePlatform automatically extracts this field and uses
-	// it to set the HTTP
-	// Cache-Control header.
+	// it to set the HTTP Cache-Control header.
 	CacheHeader *HttpCacheControlResponseHeader `json:"cacheHeader,omitempty"`
 
 	// ClaimsSupported: Supported claims.
@@ -2022,16 +1829,13 @@
 }
 
 // HorizontalPodAutoscaling: Configuration options for the horizontal
-// pod autoscaling feature, which
-// increases or decreases the number of replica pods a replication
-// controller
-// has based on the resource usage of the existing pods.
+// pod autoscaling feature, which increases or decreases the number of
+// replica pods a replication controller has based on the resource usage
+// of the existing pods.
 type HorizontalPodAutoscaling struct {
 	// Disabled: Whether the Horizontal Pod Autoscaling feature is enabled
-	// in the cluster.
-	// When enabled, it ensures that metrics are collected into
-	// Stackdriver
-	// Monitoring.
+	// in the cluster. When enabled, it ensures that metrics are collected
+	// into Stackdriver Monitoring.
 	Disabled bool `json:"disabled,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Disabled") to
@@ -2093,15 +1897,12 @@
 }
 
 // HttpLoadBalancing: Configuration options for the HTTP (L7) load
-// balancing controller addon,
-// which makes it easy to set up HTTP load balancers for services in a
-// cluster.
+// balancing controller addon, which makes it easy to set up HTTP load
+// balancers for services in a cluster.
 type HttpLoadBalancing struct {
 	// Disabled: Whether the HTTP Load Balancing controller is enabled in
-	// the cluster.
-	// When enabled, it runs a small pod in the cluster that manages the
-	// load
-	// balancers.
+	// the cluster. When enabled, it runs a small pod in the cluster that
+	// manages the load balancers.
 	Disabled bool `json:"disabled,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Disabled") to
@@ -2131,23 +1932,16 @@
 // allocated in the cluster.
 type IPAllocationPolicy struct {
 	// AllowRouteOverlap: If true, allow allocation of cluster CIDR ranges
-	// that overlap with certain
-	// kinds of network routes. By default we do not allow cluster CIDR
-	// ranges to
-	// intersect with any user declared routes. With allow_route_overlap ==
-	// true,
-	// we allow overlapping with CIDR ranges that are larger than the
-	// cluster CIDR
-	// range.
-	//
-	// If this field is set to true, then cluster and services CIDRs must
-	// be
-	// fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means:
-	// 1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and
-	//    `services_ipv4_cidr_block` must be fully-specified.
-	// 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse
-	// be
-	//    fully-specified.
+	// that overlap with certain kinds of network routes. By default we do
+	// not allow cluster CIDR ranges to intersect with any user declared
+	// routes. With allow_route_overlap == true, we allow overlapping with
+	// CIDR ranges that are larger than the cluster CIDR range. If this
+	// field is set to true, then cluster and services CIDRs must be
+	// fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means: 1)
+	// When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and
+	// `services_ipv4_cidr_block` must be fully-specified. 2) When
+	// `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be
+	// fully-specified.
 	AllowRouteOverlap bool `json:"allowRouteOverlap,omitempty"`
 
 	// ClusterIpv4Cidr: This field is deprecated, use
@@ -2155,68 +1949,41 @@
 	ClusterIpv4Cidr string `json:"clusterIpv4Cidr,omitempty"`
 
 	// ClusterIpv4CidrBlock: The IP address range for the cluster pod IPs.
-	// If this field is set, then
-	// `cluster.cluster_ipv4_cidr` must be left blank.
-	//
-	// This field is only applicable when `use_ip_aliases` is true.
-	//
-	// Set to blank to have a range chosen with the default size.
-	//
-	// Set to /netmask (e.g. `/14`) to have a range chosen with a
-	// specific
-	// netmask.
-	//
-	// Set to
-	// a
+	// If this field is set, then `cluster.cluster_ipv4_cidr` must be left
+	// blank. This field is only applicable when `use_ip_aliases` is true.
+	// Set to blank to have a range chosen with the default size. Set to
+	// /netmask (e.g. `/14`) to have a range chosen with a specific netmask.
+	// Set to a
 	// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-	//
 	// notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks
-	// (e.g.
-	// `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific
-	// range
-	// to use.
+	// (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a
+	// specific range to use.
 	ClusterIpv4CidrBlock string `json:"clusterIpv4CidrBlock,omitempty"`
 
 	// ClusterSecondaryRangeName: The name of the secondary range to be used
-	// for the cluster CIDR
-	// block.  The secondary range will be used for pod IP
-	// addresses. This must be an existing secondary range associated
-	// with the cluster subnetwork.
-	//
-	// This field is only applicable with use_ip_aliases
-	// and
-	// create_subnetwork is false.
+	// for the cluster CIDR block. The secondary range will be used for pod
+	// IP addresses. This must be an existing secondary range associated
+	// with the cluster subnetwork. This field is only applicable with
+	// use_ip_aliases and create_subnetwork is false.
 	ClusterSecondaryRangeName string `json:"clusterSecondaryRangeName,omitempty"`
 
 	// CreateSubnetwork: Whether a new subnetwork will be created
-	// automatically for the cluster.
-	//
-	// This field is only applicable when `use_ip_aliases` is true.
+	// automatically for the cluster. This field is only applicable when
+	// `use_ip_aliases` is true.
 	CreateSubnetwork bool `json:"createSubnetwork,omitempty"`
 
 	// NodeIpv4Cidr: This field is deprecated, use node_ipv4_cidr_block.
 	NodeIpv4Cidr string `json:"nodeIpv4Cidr,omitempty"`
 
 	// NodeIpv4CidrBlock: The IP address range of the instance IPs in this
-	// cluster.
-	//
-	// This is applicable only if `create_subnetwork` is true.
-	//
-	// Set to blank to have a range chosen with the default size.
-	//
-	// Set to /netmask (e.g. `/14`) to have a range chosen with a
-	// specific
-	// netmask.
-	//
-	// Set to
-	// a
+	// cluster. This is applicable only if `create_subnetwork` is true. Set
+	// to blank to have a range chosen with the default size. Set to
+	// /netmask (e.g. `/14`) to have a range chosen with a specific netmask.
+	// Set to a
 	// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-	//
 	// notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks
-	// (e.g.
-	// `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific
-	// range
-	// to use.
+	// (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a
+	// specific range to use.
 	NodeIpv4CidrBlock string `json:"nodeIpv4CidrBlock,omitempty"`
 
 	// ServicesIpv4Cidr: This field is deprecated, use
@@ -2224,86 +1991,52 @@
 	ServicesIpv4Cidr string `json:"servicesIpv4Cidr,omitempty"`
 
 	// ServicesIpv4CidrBlock: The IP address range of the services IPs in
-	// this cluster. If blank, a range
-	// will be automatically chosen with the default size.
-	//
-	// This field is only applicable when `use_ip_aliases` is true.
-	//
-	// Set to blank to have a range chosen with the default size.
-	//
-	// Set to /netmask (e.g. `/14`) to have a range chosen with a
-	// specific
-	// netmask.
-	//
-	// Set to
-	// a
+	// this cluster. If blank, a range will be automatically chosen with the
+	// default size. This field is only applicable when `use_ip_aliases` is
+	// true. Set to blank to have a range chosen with the default size. Set
+	// to /netmask (e.g. `/14`) to have a range chosen with a specific
+	// netmask. Set to a
 	// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-	//
 	// notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks
-	// (e.g.
-	// `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific
-	// range
-	// to use.
+	// (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a
+	// specific range to use.
 	ServicesIpv4CidrBlock string `json:"servicesIpv4CidrBlock,omitempty"`
 
 	// ServicesSecondaryRangeName: The name of the secondary range to be
-	// used as for the services
-	// CIDR block.  The secondary range will be used for service
-	// ClusterIPs. This must be an existing secondary range associated
-	// with the cluster subnetwork.
-	//
-	// This field is only applicable with use_ip_aliases
-	// and
-	// create_subnetwork is false.
+	// used as for the services CIDR block. The secondary range will be used
+	// for service ClusterIPs. This must be an existing secondary range
+	// associated with the cluster subnetwork. This field is only applicable
+	// with use_ip_aliases and create_subnetwork is false.
 	ServicesSecondaryRangeName string `json:"servicesSecondaryRangeName,omitempty"`
 
 	// SubnetworkName: A custom subnetwork name to be used if
-	// `create_subnetwork` is true.  If
-	// this field is empty, then an automatic name will be chosen for the
-	// new
-	// subnetwork.
+	// `create_subnetwork` is true. If this field is empty, then an
+	// automatic name will be chosen for the new subnetwork.
 	SubnetworkName string `json:"subnetworkName,omitempty"`
 
 	// TpuIpv4CidrBlock: The IP address range of the Cloud TPUs in this
-	// cluster. If unspecified, a
-	// range will be automatically chosen with the default size.
-	//
-	// This field is only applicable when `use_ip_aliases` is true.
-	//
-	// If unspecified, the range will use the default size.
-	//
-	// Set to /netmask (e.g. `/14`) to have a range chosen with a
-	// specific
-	// netmask.
-	//
-	// Set to
-	// a
+	// cluster. If unspecified, a range will be automatically chosen with
+	// the default size. This field is only applicable when `use_ip_aliases`
+	// is true. If unspecified, the range will use the default size. Set to
+	// /netmask (e.g. `/14`) to have a range chosen with a specific netmask.
+	// Set to a
 	// [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-	//
 	// notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks
-	// (e.g.
-	// `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific
-	// range
-	// to use.
-	// This field is deprecated, use cluster.tpu_config.ipv4_cidr_block
-	// instead.
+	// (e.g. `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a
+	// specific range to use. This field is deprecated, use
+	// cluster.tpu_config.ipv4_cidr_block instead.
 	TpuIpv4CidrBlock string `json:"tpuIpv4CidrBlock,omitempty"`
 
 	// UseIpAliases: Whether alias IPs will be used for pod IPs in the
-	// cluster.
-	// This is used in conjunction with use_routes. It cannot
-	// be true if use_routes is true. If both use_ip_aliases and use_routes
-	// are
+	// cluster. This is used in conjunction with use_routes. It cannot be
+	// true if use_routes is true. If both use_ip_aliases and use_routes are
 	// false, then the server picks the default IP allocation mode
 	UseIpAliases bool `json:"useIpAliases,omitempty"`
 
-	// UseRoutes: Whether routes will be used for pod IPs in the
-	// cluster.
-	// This is used in conjunction with use_ip_aliases. It cannot be true
-	// if
+	// UseRoutes: Whether routes will be used for pod IPs in the cluster.
+	// This is used in conjunction with use_ip_aliases. It cannot be true if
 	// use_ip_aliases is true. If both use_ip_aliases and use_routes are
-	// false,
-	// then the server picks the default IP allocation mode
+	// false, then the server picks the default IP allocation mode
 	UseRoutes bool `json:"useRoutes,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AllowRouteOverlap")
@@ -2331,8 +2064,7 @@
 }
 
 // IntraNodeVisibilityConfig: IntraNodeVisibilityConfig contains the
-// desired config of the intra-node
-// visibility on this cluster.
+// desired config of the intra-node visibility on this cluster.
 type IntraNodeVisibilityConfig struct {
 	// Enabled: Enables intra node visibility for this cluster.
 	Enabled bool `json:"enabled,omitempty"`
@@ -2505,16 +2237,12 @@
 }
 
 // LegacyAbac: Configuration for the legacy Attribute Based Access
-// Control authorization
-// mode.
+// Control authorization mode.
 type LegacyAbac struct {
 	// Enabled: Whether the ABAC authorizer is enabled for this cluster.
-	// When enabled,
-	// identities in the system, including service accounts, nodes,
-	// and
-	// controllers, will have statically granted permissions beyond
-	// those
-	// provided by the RBAC configuration or IAM.
+	// When enabled, identities in the system, including service accounts,
+	// nodes, and controllers, will have statically granted permissions
+	// beyond those provided by the RBAC configuration or IAM.
 	Enabled bool `json:"enabled,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Enabled") to
@@ -2543,22 +2271,10 @@
 // LinuxNodeConfig: Parameters that can be configured on Linux nodes.
 type LinuxNodeConfig struct {
 	// Sysctls: The Linux kernel parameters to be applied to the nodes and
-	// all pods running
-	// on the nodes.
-	//
-	// The following parameters are
-	// supported.
-	//
-	// net.core.netdev_max_backlog
-	// net.core.rmem_max
-	// net.core.wme
-	// m_default
-	// net.core.wmem_max
-	// net.core.optmem_max
-	// net.core.somaxconn
-	// net
-	// .ipv4.tcp_rmem
-	// net.ipv4.tcp_wmem
+	// all pods running on the nodes. The following parameters are
+	// supported. net.core.netdev_max_backlog net.core.rmem_max
+	// net.core.wmem_default net.core.wmem_max net.core.optmem_max
+	// net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem
 	// net.ipv4.tcp_tw_reuse
 	Sysctls map[string]string `json:"sysctls,omitempty"`
 
@@ -2588,14 +2304,12 @@
 // ListClustersResponse: ListClustersResponse is the result of
 // ListClustersRequest.
 type ListClustersResponse struct {
-	// Clusters: A list of clusters in the project in the specified zone,
-	// or
+	// Clusters: A list of clusters in the project in the specified zone, or
 	// across all ones.
 	Clusters []*Cluster `json:"clusters,omitempty"`
 
 	// MissingZones: If any zones are listed here, the list of clusters
-	// returned
-	// may be missing those zones.
+	// returned may be missing those zones.
 	MissingZones []string `json:"missingZones,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2626,19 +2340,16 @@
 }
 
 // ListLocationsResponse: ListLocationsResponse returns the list of all
-// GKE locations and their
-// recommendation state.
+// GKE locations and their recommendation state.
 type ListLocationsResponse struct {
 	// Locations: A full list of GKE locations.
 	Locations []*Location `json:"locations,omitempty"`
 
 	// NextPageToken: Only return ListLocationsResponse that occur after the
-	// page_token. This
-	// value should be populated from the
-	// ListLocationsResponse.next_page_token if
-	// that response token was set (which happens when listing more
-	// Locations than
-	// fit in a single ListLocationsResponse).
+	// page_token. This value should be populated from the
+	// ListLocationsResponse.next_page_token if that response token was set
+	// (which happens when listing more Locations than fit in a single
+	// ListLocationsResponse).
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2705,8 +2416,7 @@
 // ListOperationsRequest.
 type ListOperationsResponse struct {
 	// MissingZones: If any zones are listed here, the list of operations
-	// returned
-	// may be missing the operations from those zones.
+	// returned may be missing the operations from those zones.
 	MissingZones []string `json:"missingZones,omitempty"`
 
 	// Operations: A list of operations in the project in the specified
@@ -2741,17 +2451,13 @@
 }
 
 // ListUsableSubnetworksResponse: ListUsableSubnetworksResponse is the
-// response of
-// ListUsableSubnetworksRequest.
+// response of ListUsableSubnetworksRequest.
 type ListUsableSubnetworksResponse struct {
 	// NextPageToken: This token allows you to get the next page of results
-	// for list requests.
-	// If the number of results is larger than `page_size`, use
-	// the
-	// `next_page_token` as a value for the query parameter `page_token` in
-	// the
-	// next request. The value will become empty when there are no more
-	// pages.
+	// for list requests. If the number of results is larger than
+	// `page_size`, use the `next_page_token` as a value for the query
+	// parameter `page_token` in the next request. The value will become
+	// empty when there are no more pages.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Subnetworks: A list of usable subnetworks in the specified network
@@ -2786,19 +2492,18 @@
 }
 
 // Location: Location returns the location name, and if the location is
-// recommended
-// for GKE cluster scheduling.
+// recommended for GKE cluster scheduling.
 type Location struct {
-	// Name: Contains the name of the resource requested.
-	// Specified in the format `projects/*/locations/*`.
+	// Name: Contains the name of the resource requested. Specified in the
+	// format `projects/*/locations/*`.
 	Name string `json:"name,omitempty"`
 
 	// Recommended: Whether the location is recomended for GKE cluster
 	// scheduling.
 	Recommended bool `json:"recommended,omitempty"`
 
-	// Type: Contains the type of location this Location is for.
-	// Regional or Zonal.
+	// Type: Contains the type of location this Location is for. Regional or
+	// Zonal.
 	//
 	// Possible values:
 	//   "LOCATION_TYPE_UNSPECIFIED" - LOCATION_TYPE_UNSPECIFIED means the
@@ -2834,13 +2539,11 @@
 // to be used for the cluster.
 type MaintenancePolicy struct {
 	// ResourceVersion: A hash identifying the version of this policy, so
-	// that updates to fields of
-	// the policy won't accidentally undo intermediate changes (and so that
-	// users
-	// of the API unaware of some fields won't accidentally remove other
-	// fields).
-	// Make a `get()` request to the cluster to get the current
-	// resource version and include it with requests to set the policy.
+	// that updates to fields of the policy won't accidentally undo
+	// intermediate changes (and so that users of the API unaware of some
+	// fields won't accidentally remove other fields). Make a `get()`
+	// request to the cluster to get the current resource version and
+	// include it with requests to set the policy.
 	ResourceVersion string `json:"resourceVersion,omitempty"`
 
 	// Window: Specifies the maintenance window in which maintenance may be
@@ -2879,15 +2582,13 @@
 	DailyMaintenanceWindow *DailyMaintenanceWindow `json:"dailyMaintenanceWindow,omitempty"`
 
 	// MaintenanceExclusions: Exceptions to maintenance window.
-	// Non-emergency maintenance should not
-	// occur in these windows.
+	// Non-emergency maintenance should not occur in these windows.
 	MaintenanceExclusions map[string]TimeWindow `json:"maintenanceExclusions,omitempty"`
 
 	// RecurringWindow: RecurringWindow specifies some number of recurring
-	// time periods for
-	// maintenance to occur. The time windows may be overlapping. If
-	// no
-	// maintenance windows are set, maintenance can occur at any time.
+	// time periods for maintenance to occur. The time windows may be
+	// overlapping. If no maintenance windows are set, maintenance can occur
+	// at any time.
 	RecurringWindow *RecurringTimeWindow `json:"recurringWindow,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -2920,44 +2621,34 @@
 }
 
 // MasterAuth: The authentication information for accessing the master
-// endpoint.
-// Authentication can be done using HTTP basic auth or using
-// client
-// certificates.
+// endpoint. Authentication can be done using HTTP basic auth or using
+// client certificates.
 type MasterAuth struct {
 	// ClientCertificate: [Output only] Base64-encoded public certificate
-	// used by clients to
-	// authenticate to the cluster endpoint.
+	// used by clients to authenticate to the cluster endpoint.
 	ClientCertificate string `json:"clientCertificate,omitempty"`
 
 	// ClientCertificateConfig: Configuration for client certificate
-	// authentication on the cluster. For
-	// clusters before v1.12, if no configuration is specified, a
-	// client
-	// certificate is issued.
+	// authentication on the cluster. For clusters before v1.12, if no
+	// configuration is specified, a client certificate is issued.
 	ClientCertificateConfig *ClientCertificateConfig `json:"clientCertificateConfig,omitempty"`
 
 	// ClientKey: [Output only] Base64-encoded private key used by clients
-	// to authenticate
-	// to the cluster endpoint.
+	// to authenticate to the cluster endpoint.
 	ClientKey string `json:"clientKey,omitempty"`
 
 	ClusterCaCertificate string `json:"clusterCaCertificate,omitempty"`
 
 	// Password: The password to use for HTTP basic authentication to the
-	// master endpoint.
-	// Because the master endpoint is open to the Internet, you should
-	// create a
-	// strong password.  If a password is provided for cluster creation,
-	// username
-	// must be non-empty.
+	// master endpoint. Because the master endpoint is open to the Internet,
+	// you should create a strong password. If a password is provided for
+	// cluster creation, username must be non-empty.
 	Password string `json:"password,omitempty"`
 
 	// Username: The username to use for HTTP basic authentication to the
-	// master endpoint.
-	// For clusters v1.6.0 and later, basic authentication can be disabled
-	// by
-	// leaving username unspecified (or setting it to the empty string).
+	// master endpoint. For clusters v1.6.0 and later, basic authentication
+	// can be disabled by leaving username unspecified (or setting it to the
+	// empty string).
 	Username string `json:"username,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClientCertificate")
@@ -2985,16 +2676,13 @@
 }
 
 // MasterAuthorizedNetworksConfig: Configuration options for the master
-// authorized networks feature. Enabled
-// master authorized networks will disallow all external traffic to
-// access
-// Kubernetes master through HTTPS except traffic from the given CIDR
-// blocks,
-// Google Compute Engine Public IPs and Google Prod IPs.
+// authorized networks feature. Enabled master authorized networks will
+// disallow all external traffic to access Kubernetes master through
+// HTTPS except traffic from the given CIDR blocks, Google Compute
+// Engine Public IPs and Google Prod IPs.
 type MasterAuthorizedNetworksConfig struct {
 	// CidrBlocks: cidr_blocks define up to 10 external networks that could
-	// access
-	// Kubernetes master through HTTPS.
+	// access Kubernetes master through HTTPS.
 	CidrBlocks []*CidrBlock `json:"cidrBlocks,omitempty"`
 
 	// Enabled: Whether or not master authorized networks is enabled.
@@ -3107,47 +2795,50 @@
 // NetworkConfig: NetworkConfig reports the relative names of network &
 // subnetwork.
 type NetworkConfig struct {
+	// DatapathProvider: The desired datapath provider for this cluster. By
+	// default, uses the IPTables-based kube-proxy implementation.
+	//
+	// Possible values:
+	//   "DATAPATH_PROVIDER_UNSPECIFIED" - Default value.
+	//   "LEGACY_DATAPATH" - Use the IPTables implementation based on
+	// kube-proxy.
+	//   "ADVANCED_DATAPATH" - Use the eBPF based data plane with additional
+	// visibility features.
+	DatapathProvider string `json:"datapathProvider,omitempty"`
+
 	// DefaultSnatStatus: Whether the cluster disables default in-node sNAT
-	// rules. In-node sNAT rules
-	// will be disabled when default_snat_status is disabled. When disabled
-	// is set
-	// to false, default IP masquerade rules will be applied to the nodes
-	// to
-	// prevent sNAT on cluster internal traffic.
+	// rules. In-node sNAT rules will be disabled when default_snat_status
+	// is disabled. When disabled is set to false, default IP masquerade
+	// rules will be applied to the nodes to prevent sNAT on cluster
+	// internal traffic.
 	DefaultSnatStatus *DefaultSnatStatus `json:"defaultSnatStatus,omitempty"`
 
 	// EnableIntraNodeVisibility: Whether Intra-node visibility is enabled
-	// for this cluster.
-	// This makes same node pod to pod traffic visible for VPC network.
+	// for this cluster. This makes same node pod to pod traffic visible for
+	// VPC network.
 	EnableIntraNodeVisibility bool `json:"enableIntraNodeVisibility,omitempty"`
 
-	// Network: Output only. The relative name of the Google Compute
-	// Engine
-	// network(https://cloud.google.com/compute/docs/networks-and-fire
-	// walls#networks)
-	// to which the cluster is connected.
-	// Example:
+	// Network: Output only. The relative name of the Google Compute Engine
+	// network(https://cloud.google.com/compute/docs/networks-and-firewalls#n
+	// etworks) to which the cluster is connected. Example:
 	// projects/my-project/global/networks/my-network
 	Network string `json:"network,omitempty"`
 
 	// Subnetwork: Output only. The relative name of the Google Compute
-	// Engine
-	// [subnetwork](https://cloud.google.com/compute/docs/vpc) to which
-	// the
-	// cluster is connected.
-	// Example:
+	// Engine [subnetwork](https://cloud.google.com/compute/docs/vpc) to
+	// which the cluster is connected. Example:
 	// projects/my-project/regions/us-central1/subnetworks/my-subnet
 	Subnetwork string `json:"subnetwork,omitempty"`
 
-	// ForceSendFields is a list of field names (e.g. "DefaultSnatStatus")
-	// to unconditionally include in API requests. By default, fields with
+	// ForceSendFields is a list of field names (e.g. "DatapathProvider") to
+	// unconditionally include in API requests. By default, fields with
 	// empty values are omitted from API requests. However, any non-pointer,
 	// non-interface field appearing in ForceSendFields will be sent to the
 	// server regardless of whether the field is empty or not. This may be
 	// used to include empty fields in Patch requests.
 	ForceSendFields []string `json:"-"`
 
-	// NullFields is a list of field names (e.g. "DefaultSnatStatus") to
+	// NullFields is a list of field names (e.g. "DatapathProvider") to
 	// include in API requests with the JSON null value. By default, fields
 	// with empty values are omitted from API requests. However, any field
 	// with an empty value appearing in NullFields will be sent to the
@@ -3163,10 +2854,8 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// NetworkPolicy: Configuration options for the NetworkPolicy
-// feature.
-// https://kubernetes.io/docs/concepts/services-networking/netwo
-// rkpolicies/
+// NetworkPolicy: Configuration options for the NetworkPolicy feature.
+// https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
 type NetworkPolicy struct {
 	// Enabled: Whether network policy is enabled on the cluster.
 	Enabled bool `json:"enabled,omitempty"`
@@ -3202,10 +2891,8 @@
 }
 
 // NetworkPolicyConfig: Configuration for NetworkPolicy. This only
-// tracks whether the addon
-// is enabled or not on the Master, it does not track whether network
-// policy
-// is enabled for the nodes.
+// tracks whether the addon is enabled or not on the Master, it does not
+// track whether network policy is enabled for the nodes.
 type NetworkPolicyConfig struct {
 	// Disabled: Whether NetworkPolicy is enabled for this cluster.
 	Disabled bool `json:"disabled,omitempty"`
@@ -3236,218 +2923,140 @@
 // NodeConfig: Parameters that describe the nodes in a cluster.
 type NodeConfig struct {
 	// Accelerators: A list of hardware accelerators to be attached to each
-	// node.
-	// See https://cloud.google.com/compute/docs/gpus for more information
-	// about
-	// support for GPUs.
+	// node. See https://cloud.google.com/compute/docs/gpus for more
+	// information about support for GPUs.
 	Accelerators []*AcceleratorConfig `json:"accelerators,omitempty"`
 
-	// BootDiskKmsKey:
-	// The Customer Managed Encryption Key used to encrypt the boot disk
-	// attached
-	// to each node in the node pool. This should be of the
-	// form
-	// projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAM
-	// E]/cryptoKeys/[KEY_NAME].
-	// For more information about protecting resources with Cloud KMS Keys
-	// please
-	// see:
-	// https://cloud.google.com/compute/docs/disks/customer-manag
-	// ed-encryption
+	// BootDiskKmsKey:  The Customer Managed Encryption Key used to encrypt
+	// the boot disk attached to each node in the node pool. This should be
+	// of the form
+	// projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cr
+	// yptoKeys/[KEY_NAME]. For more information about protecting resources
+	// with Cloud KMS Keys please see:
+	// https://cloud.google.com/compute/docs/disks/customer-managed-encryption
 	BootDiskKmsKey string `json:"bootDiskKmsKey,omitempty"`
 
-	// DiskSizeGb: Size of the disk attached to each node, specified in
-	// GB.
-	// The smallest allowed disk size is 10GB.
-	//
-	// If unspecified, the default disk size is 100GB.
+	// DiskSizeGb: Size of the disk attached to each node, specified in GB.
+	// The smallest allowed disk size is 10GB. If unspecified, the default
+	// disk size is 100GB.
 	DiskSizeGb int64 `json:"diskSizeGb,omitempty"`
 
 	// DiskType: Type of the disk attached to each node (e.g. 'pd-standard'
-	// or 'pd-ssd')
-	//
-	// If unspecified, the default disk type is 'pd-standard'
+	// or 'pd-ssd') If unspecified, the default disk type is 'pd-standard'
 	DiskType string `json:"diskType,omitempty"`
 
 	// ImageType: The image type to use for this node. Note that for a given
-	// image type,
-	// the latest version of it will be used.
+	// image type, the latest version of it will be used.
 	ImageType string `json:"imageType,omitempty"`
 
 	// KubeletConfig: Node kubelet configs.
 	KubeletConfig *NodeKubeletConfig `json:"kubeletConfig,omitempty"`
 
 	// Labels: The map of Kubernetes labels (key/value pairs) to be applied
-	// to each node.
-	// These will added in addition to any default label(s) that
-	// Kubernetes may apply to the node.
-	// In case of conflict in label keys, the applied set may differ
-	// depending on
-	// the Kubernetes version -- it's best to assume the behavior is
-	// undefined
-	// and conflicts should be avoided.
-	// For more information, including usage and the valid values,
-	// see:
-	// https://kubernetes.io/docs/concepts/overview/working-with-objects
-	// /labels/
+	// to each node. These will added in addition to any default label(s)
+	// that Kubernetes may apply to the node. In case of conflict in label
+	// keys, the applied set may differ depending on the Kubernetes version
+	// -- it's best to assume the behavior is undefined and conflicts should
+	// be avoided. For more information, including usage and the valid
+	// values, see:
+	// https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// LinuxNodeConfig: Parameters that can be configured on Linux nodes.
 	LinuxNodeConfig *LinuxNodeConfig `json:"linuxNodeConfig,omitempty"`
 
 	// LocalSsdCount: The number of local SSD disks to be attached to the
-	// node.
-	//
-	// The limit for this value is dependent upon the maximum number
-	// of
-	// disks available on a machine per zone.
-	// See:
-	// https://cloud.google.com/compute/docs/disks/local-ssd
-	// for more information.
+	// node. The limit for this value is dependent upon the maximum number
+	// of disks available on a machine per zone. See:
+	// https://cloud.google.com/compute/docs/disks/local-ssd for more
+	// information.
 	LocalSsdCount int64 `json:"localSsdCount,omitempty"`
 
-	// MachineType: The name of a Google Compute Engine
-	// [machine
-	// type](https://cloud.google.com/compute/docs/machine-types)
-	// (e.g.
-	// `n1-standard-1`).
-	//
-	// If unspecified, the default machine type is
-	// `n1-standard-1`.
+	// MachineType: The name of a Google Compute Engine [machine
+	// type](https://cloud.google.com/compute/docs/machine-types). If
+	// unspecified, the default machine type is `e2-medium`.
 	MachineType string `json:"machineType,omitempty"`
 
 	// Metadata: The metadata key/value pairs assigned to instances in the
-	// cluster.
-	//
-	// Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128
-	// bytes
-	// in length. These are reflected as part of a URL in the metadata
-	// server.
-	// Additionally, to avoid ambiguity, keys must not conflict with any
-	// other
-	// metadata keys for the project or be one of the reserved keys:
-	//  - "cluster-location"
-	//  - "cluster-name"
-	//  - "cluster-uid"
-	//  - "configure-sh"
-	//  - "containerd-configure-sh"
-	//  - "enable-oslogin"
-	//  - "gci-ensure-gke-docker"
-	//  - "gci-metrics-enabled"
-	//  - "gci-update-strategy"
-	//  - "instance-template"
-	//  - "kube-env"
-	//  - "startup-script"
-	//  - "user-data"
-	//  - "disable-address-manager"
-	//  - "windows-startup-script-ps1"
-	//  - "common-psm1"
-	//  - "k8s-node-setup-psm1"
-	//  - "install-ssh-psm1"
-	//  - "user-profile-psm1"
-	//  - "serial-port-logging-enable"
-	//
-	// Values are free-form strings, and only have meaning as interpreted
-	// by
-	// the image running in the instance. The only restriction placed on
-	// them is
-	// that each value's size must be less than or equal to 32 KB.
-	//
-	// The total size of all keys and values must be less than 512 KB.
+	// cluster. Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less
+	// than 128 bytes in length. These are reflected as part of a URL in the
+	// metadata server. Additionally, to avoid ambiguity, keys must not
+	// conflict with any other metadata keys for the project or be one of
+	// the reserved keys: - "cluster-location" - "cluster-name" -
+	// "cluster-uid" - "configure-sh" - "containerd-configure-sh" -
+	// "enable-oslogin" - "gci-ensure-gke-docker" - "gci-metrics-enabled" -
+	// "gci-update-strategy" - "instance-template" - "kube-env" -
+	// "startup-script" - "user-data" - "disable-address-manager" -
+	// "windows-startup-script-ps1" - "common-psm1" - "k8s-node-setup-psm1"
+	// - "install-ssh-psm1" - "user-profile-psm1" -
+	// "serial-port-logging-enable" Values are free-form strings, and only
+	// have meaning as interpreted by the image running in the instance. The
+	// only restriction placed on them is that each value's size must be
+	// less than or equal to 32 KB. The total size of all keys and values
+	// must be less than 512 KB.
 	Metadata map[string]string `json:"metadata,omitempty"`
 
 	// MinCpuPlatform: Minimum CPU platform to be used by this instance. The
-	// instance may be
-	// scheduled on the specified or newer CPU platform. Applicable values
-	// are the
-	// friendly names of CPU platforms, such as
-	// `minCpuPlatform: "Intel Haswell" or
-	// `minCpuPlatform: "Intel Sandy Bridge". For more
-	// information, read [how to specify min
-	// CPU
-	// platform](https://cloud.google.com/compute/docs/instances/specify-
-	// min-cpu-platform)
+	// instance may be scheduled on the specified or newer CPU platform.
+	// Applicable values are the friendly names of CPU platforms, such as
+	// `minCpuPlatform: "Intel Haswell" or `minCpuPlatform: "Intel Sandy
+	// Bridge". For more information, read [how to specify min CPU
+	// platform](https://cloud.google.com/compute/docs/instances/specify-min-
+	// cpu-platform)
 	MinCpuPlatform string `json:"minCpuPlatform,omitempty"`
 
-	// NodeGroup: Setting this field will assign instances of this
-	// pool to run on the specified node group. This is useful for
-	// running
-	// workloads on [sole
-	// tenant
-	// nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-
-	// nodes).
+	// NodeGroup: Setting this field will assign instances of this pool to
+	// run on the specified node group. This is useful for running workloads
+	// on [sole tenant
+	// nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).
 	NodeGroup string `json:"nodeGroup,omitempty"`
 
 	// OauthScopes: The set of Google API scopes to be made available on all
-	// of the
-	// node VMs under the "default" service account.
-	//
-	// The following scopes are recommended, but not required, and by
-	// default are
-	// not included:
-	//
-	// * `https://www.googleapis.com/auth/compute` is required for
-	// mounting
-	// persistent storage on your nodes.
-	// * `https://www.googleapis.com/auth/devstorage.read_only` is required
-	// for
-	// communicating with **gcr.io**
-	// (the [Google
-	// Container
-	// Registry](https://cloud.google.com/container-registry/)).
-	//
-	// I
-	// f unspecified, no scopes are added, unless Cloud Logging or
-	// Cloud
+	// of the node VMs under the "default" service account. The following
+	// scopes are recommended, but not required, and by default are not
+	// included: * `https://www.googleapis.com/auth/compute` is required for
+	// mounting persistent storage on your nodes. *
+	// `https://www.googleapis.com/auth/devstorage.read_only` is required
+	// for communicating with **gcr.io** (the [Google Container
+	// Registry](https://cloud.google.com/container-registry/)). If
+	// unspecified, no scopes are added, unless Cloud Logging or Cloud
 	// Monitoring are enabled, in which case their required scopes will be
 	// added.
 	OauthScopes []string `json:"oauthScopes,omitempty"`
 
 	// Preemptible: Whether the nodes are created as preemptible VM
-	// instances.
-	// See:
-	// https://cloud.google.com/compute/docs/instances/preemptible for
-	// more
+	// instances. See:
+	// https://cloud.google.com/compute/docs/instances/preemptible for more
 	// inforamtion about preemptible VM instances.
 	Preemptible bool `json:"preemptible,omitempty"`
 
 	// ReservationAffinity: The optional reservation affinity. Setting this
-	// field will apply
-	// the specified [Zonal
-	// Compute
-	// Reservation](https://cloud.google.com/compute/docs/instances/r
-	// eserving-zonal-resources)
-	// to this node pool.
+	// field will apply the specified [Zonal Compute
+	// Reservation](https://cloud.google.com/compute/docs/instances/reserving
+	// -zonal-resources) to this node pool.
 	ReservationAffinity *ReservationAffinity `json:"reservationAffinity,omitempty"`
 
 	// SandboxConfig: Sandbox configuration for this node.
 	SandboxConfig *SandboxConfig `json:"sandboxConfig,omitempty"`
 
 	// ServiceAccount: The Google Cloud Platform Service Account to be used
-	// by the node VMs.
-	// Specify the email address of the Service Account; otherwise, if no
-	// Service
-	// Account is specified, the "default" service account is used.
+	// by the node VMs. Specify the email address of the Service Account;
+	// otherwise, if no Service Account is specified, the "default" service
+	// account is used.
 	ServiceAccount string `json:"serviceAccount,omitempty"`
 
 	// ShieldedInstanceConfig: Shielded Instance options.
 	ShieldedInstanceConfig *ShieldedInstanceConfig `json:"shieldedInstanceConfig,omitempty"`
 
 	// Tags: The list of instance tags applied to all nodes. Tags are used
-	// to identify
-	// valid sources or targets for network firewalls and are specified
-	// by
-	// the client during cluster or node pool creation. Each tag within the
-	// list
-	// must comply with RFC1035.
+	// to identify valid sources or targets for network firewalls and are
+	// specified by the client during cluster or node pool creation. Each
+	// tag within the list must comply with RFC1035.
 	Tags []string `json:"tags,omitempty"`
 
-	// Taints: List of kubernetes taints to be applied to each node.
-	//
-	// For more information, including usage and the valid values,
-	// see:
-	// https://kubernetes.io/docs/concepts/configuration/taint-and-toler
-	// ation/
+	// Taints: List of kubernetes taints to be applied to each node. For
+	// more information, including usage and the valid values, see:
+	// https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
 	Taints []*NodeTaint `json:"taints,omitempty"`
 
 	// WorkloadMetadataConfig: The workload metadata configuration for this
@@ -3480,46 +3089,24 @@
 // NodeKubeletConfig: Node kubelet configs.
 type NodeKubeletConfig struct {
 	// CpuCfsQuota: Enable CPU CFS quota enforcement for containers that
-	// specify CPU limits.
-	//
-	// If this option is enabled, kubelet uses CFS
-	// quota
-	// (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.tx
-	// t) to
+	// specify CPU limits. If this option is enabled, kubelet uses CFS quota
+	// (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to
 	// enforce container CPU limits. Otherwise, CPU limits will not be
-	// enforced at
-	// all.
-	//
-	// Disable this option to mitigate CPU throttling problems while still
-	// having
-	// your pods to be in Guaranteed QoS class by specifying the CPU
-	// limits.
-	//
-	// The default value is 'true' if unspecified.
+	// enforced at all. Disable this option to mitigate CPU throttling
+	// problems while still having your pods to be in Guaranteed QoS class
+	// by specifying the CPU limits. The default value is 'true' if
+	// unspecified.
 	CpuCfsQuota bool `json:"cpuCfsQuota,omitempty"`
 
 	// CpuCfsQuotaPeriod: Set the CPU CFS quota period value
-	// 'cpu.cfs_period_us'.
-	//
-	// The string must be a sequence of decimal numbers, each with
-	// optional
-	// fraction and a unit suffix, such as "300ms".
-	// Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
-	// The value must be a positive duration.
+	// 'cpu.cfs_period_us'. The string must be a sequence of decimal
+	// numbers, each with optional fraction and a unit suffix, such as
+	// "300ms". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m",
+	// "h". The value must be a positive duration.
 	CpuCfsQuotaPeriod string `json:"cpuCfsQuotaPeriod,omitempty"`
 
-	// CpuManagerPolicy: Control the CPU management policy on the
-	// node.
-	// See
-	// https://kubernetes.io/docs/tasks/administer-cluster/cpu-mana
-	// gement-policies/
-	//
-	// The following values are allowed.
-	//   - "none": the default, which represents the existing scheduling
-	// behavior.
-	//   - "static": allows pods with certain resource characteristics to
-	// be
-	//               granted increased CPU affinity and exclusivity on the
+	// CpuManagerPolicy: Control the CPU management policy on the node. See
+	// https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ The following values are allowed. - "none": the default, which represents the existing scheduling behavior. - "static": allows pods with certain resource characteristics to be granted increased CPU affinity and exclusivity on the
 	// node.
 	CpuManagerPolicy string `json:"cpuManagerPolicy,omitempty"`
 
@@ -3547,8 +3134,7 @@
 }
 
 // NodeManagement: NodeManagement defines the set of node management
-// services turned on for the
-// node pool.
+// services turned on for the node pool.
 type NodeManagement struct {
 	// AutoRepair: Whether the nodes will be automatically repaired.
 	AutoRepair bool `json:"autoRepair,omitempty"`
@@ -3583,20 +3169,14 @@
 }
 
 // NodePool: NodePool contains the name and configuration for a
-// cluster's node pool.
-// Node pools are a set of nodes (i.e. VM's), with a common
-// configuration and
-// specification, under the control of the cluster master. They may have
-// a set
-// of Kubernetes labels applied to them, which may be used to reference
-// them
-// during pod scheduling. They may also be resized up or down, to
-// accommodate
-// the workload.
+// cluster's node pool. Node pools are a set of nodes (i.e. VM's), with
+// a common configuration and specification, under the control of the
+// cluster master. They may have a set of Kubernetes labels applied to
+// them, which may be used to reference them during pod scheduling. They
+// may also be resized up or down, to accommodate the workload.
 type NodePool struct {
 	// Autoscaling: Autoscaler configuration for this NodePool. Autoscaler
-	// is enabled
-	// only if a valid configuration is present.
+	// is enabled only if a valid configuration is present.
 	Autoscaling *NodePoolAutoscaling `json:"autoscaling,omitempty"`
 
 	// Conditions: Which conditions caused the current node pool state.
@@ -3606,34 +3186,28 @@
 	Config *NodeConfig `json:"config,omitempty"`
 
 	// InitialNodeCount: The initial node count for the pool. You must
-	// ensure that your
-	// Compute Engine [resource
-	// quota](https://cloud.google.com/compute/quotas)
-	// is sufficient for this number of instances. You must also have
-	// available
-	// firewall and routes quota.
+	// ensure that your Compute Engine [resource
+	// quota](https://cloud.google.com/compute/quotas) is sufficient for
+	// this number of instances. You must also have available firewall and
+	// routes quota.
 	InitialNodeCount int64 `json:"initialNodeCount,omitempty"`
 
 	// InstanceGroupUrls: [Output only] The resource URLs of the [managed
 	// instance
-	// groups](https://cloud.google.com/compute/docs/instance-groups
-	// /creating-groups-of-managed-instances)
-	// associated with this node pool.
+	// groups](https://cloud.google.com/compute/docs/instance-groups/creating
+	// -groups-of-managed-instances) associated with this node pool.
 	InstanceGroupUrls []string `json:"instanceGroupUrls,omitempty"`
 
-	// Locations: The list of Google Compute
-	// Engine
+	// Locations: The list of Google Compute Engine
 	// [zones](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// NodePool's nodes should be located.
+	// which the NodePool's nodes should be located.
 	Locations []string `json:"locations,omitempty"`
 
 	// Management: NodeManagement configuration for this NodePool.
 	Management *NodeManagement `json:"management,omitempty"`
 
 	// MaxPodsConstraint: The constraint on the maximum number of pods that
-	// can be run
-	// simultaneously on a node in the node pool.
+	// can be run simultaneously on a node in the node pool.
 	MaxPodsConstraint *MaxPodsConstraint `json:"maxPodsConstraint,omitempty"`
 
 	// Name: The name of the node pool.
@@ -3653,29 +3227,22 @@
 	//   "PROVISIONING" - The PROVISIONING state indicates the node pool is
 	// being created.
 	//   "RUNNING" - The RUNNING state indicates the node pool has been
-	// created
-	// and is fully usable.
+	// created and is fully usable.
 	//   "RUNNING_WITH_ERROR" - The RUNNING_WITH_ERROR state indicates the
-	// node pool has been created
-	// and is partially usable. Some error state has occurred and
-	// some
-	// functionality may be impaired. Customer may need to reissue a
-	// request
-	// or trigger a new update.
+	// node pool has been created and is partially usable. Some error state
+	// has occurred and some functionality may be impaired. Customer may
+	// need to reissue a request or trigger a new update.
 	//   "RECONCILING" - The RECONCILING state indicates that some work is
-	// actively being done on
-	// the node pool, such as upgrading node software. Details can
-	// be found in the `statusMessage` field.
+	// actively being done on the node pool, such as upgrading node
+	// software. Details can be found in the `statusMessage` field.
 	//   "STOPPING" - The STOPPING state indicates the node pool is being
 	// deleted.
 	//   "ERROR" - The ERROR state indicates the node pool may be unusable.
-	// Details
-	// can be found in the `statusMessage` field.
+	// Details can be found in the `statusMessage` field.
 	Status string `json:"status,omitempty"`
 
 	// StatusMessage: [Output only] Additional information about the current
-	// status of this
-	// node pool instance, if available.
+	// status of this node pool instance, if available.
 	StatusMessage string `json:"statusMessage,omitempty"`
 
 	// UpgradeSettings: Upgrade settings control disruption and speed of the
@@ -3713,8 +3280,8 @@
 }
 
 // NodePoolAutoscaling: NodePoolAutoscaling contains information
-// required by cluster autoscaler to
-// adjust the size of the node pool to the current cluster usage.
+// required by cluster autoscaler to adjust the size of the node pool to
+// the current cluster usage.
 type NodePoolAutoscaling struct {
 	// Autoprovisioned: Can this node pool be deleted automatically.
 	Autoprovisioned bool `json:"autoprovisioned,omitempty"`
@@ -3723,13 +3290,11 @@
 	Enabled bool `json:"enabled,omitempty"`
 
 	// MaxNodeCount: Maximum number of nodes in the NodePool. Must be >=
-	// min_node_count. There
-	// has to enough quota to scale up the cluster.
+	// min_node_count. There has to enough quota to scale up the cluster.
 	MaxNodeCount int64 `json:"maxNodeCount,omitempty"`
 
 	// MinNodeCount: Minimum number of nodes in the NodePool. Must be >= 1
-	// and <=
-	// max_node_count.
+	// and <= max_node_count.
 	MinNodeCount int64 `json:"minNodeCount,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Autoprovisioned") to
@@ -3757,14 +3322,10 @@
 }
 
 // NodeTaint: Kubernetes taint is comprised of three fields: key, value,
-// and effect. Effect
-// can only be one of three types:  NoSchedule, PreferNoSchedule or
-// NoExecute.
-//
-// See
-// [here](https://kubernetes.io/docs/concepts/configurati
-// on/taint-and-toleration)
-// for more information, including usage and the valid values.
+// and effect. Effect can only be one of three types: NoSchedule,
+// PreferNoSchedule or NoExecute. See
+// [here](https://kubernetes.io/docs/concepts/configuration/taint-and-tol
+// eration) for more information, including usage and the valid values.
 type NodeTaint struct {
 	// Effect: Effect for taint.
 	//
@@ -3804,36 +3365,65 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// NotificationConfig: NotificationConfig is the configuration of
+// notifications.
+type NotificationConfig struct {
+	// Pubsub: Notification config for Pub/Sub.
+	Pubsub *PubSub `json:"pubsub,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "Pubsub") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "Pubsub") to include in API
+	// requests with the JSON null value. By default, fields with empty
+	// values are omitted from API requests. However, any field with an
+	// empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *NotificationConfig) MarshalJSON() ([]byte, error) {
+	type NoMethod NotificationConfig
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // Operation: This operation resource represents operations that may
-// have happened or are
-// happening on the cluster. All fields are output only.
+// have happened or are happening on the cluster. All fields are output
+// only.
 type Operation struct {
 	// ClusterConditions: Which conditions caused the current cluster state.
+	// Deprecated. Use field error instead.
 	ClusterConditions []*StatusCondition `json:"clusterConditions,omitempty"`
 
 	// Detail: Detailed operation progress, if available.
 	Detail string `json:"detail,omitempty"`
 
-	// EndTime: [Output only] The time the operation completed,
-	// in
+	// EndTime: [Output only] The time the operation completed, in
 	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
 	EndTime string `json:"endTime,omitempty"`
 
-	// Location: [Output only] The name of the Google Compute
-	// Engine
-	// [zone](https://cloud.google.com/compute/docs/regions-zones/regi
-	// ons-zones#available)
-	// or
-	// [region](https://cloud.google.com/compute/docs
-	// /regions-zones/regions-zones#available)
-	// in which the cluster resides.
+	// Error: The error result of the operation in case of failure.
+	Error *Status `json:"error,omitempty"`
+
+	// Location: [Output only] The name of the Google Compute Engine
+	// [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zon
+	// es#available) or
+	// [region](https://cloud.google.com/compute/docs/regions-zones/regions-z
+	// ones#available) in which the cluster resides.
 	Location string `json:"location,omitempty"`
 
 	// Name: The server-assigned ID for the operation.
 	Name string `json:"name,omitempty"`
 
 	// NodepoolConditions: Which conditions caused the current node pool
-	// state.
+	// state. Deprecated. Use field error instead.
 	NodepoolConditions []*StatusCondition `json:"nodepoolConditions,omitempty"`
 
 	// OperationType: The operation type.
@@ -3865,8 +3455,7 @@
 	// SelfLink: Server-defined URL for the resource.
 	SelfLink string `json:"selfLink,omitempty"`
 
-	// StartTime: [Output only] The time the operation started,
-	// in
+	// StartTime: [Output only] The time the operation started, in
 	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
 	StartTime string `json:"startTime,omitempty"`
 
@@ -3881,18 +3470,16 @@
 	Status string `json:"status,omitempty"`
 
 	// StatusMessage: Output only. If an error has occurred, a textual
-	// description of the error.
+	// description of the error. Deprecated. Use field error instead.
 	StatusMessage string `json:"statusMessage,omitempty"`
 
 	// TargetLink: Server-defined URL for the target of the operation.
 	TargetLink string `json:"targetLink,omitempty"`
 
-	// Zone: The name of the Google Compute
-	// Engine
+	// Zone: The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// operation is taking place. This field is deprecated, use location
-	// instead.
+	// which the operation is taking place. This field is deprecated, use
+	// location instead.
 	Zone string `json:"zone,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -3926,23 +3513,21 @@
 // OperationProgress: Information about operation (or operation stage)
 // progress.
 type OperationProgress struct {
-	// Metrics: Progress metric bundle, for example:
-	//   metrics: [{name: "nodes done",     int_value: 15},
-	//             {name: "nodes total",    int_value: 32}]
-	// or
-	//   metrics: [{name: "progress",       double_value: 0.56},
-	//             {name: "progress scale", double_value: 1.0}]
+	// Metrics: Progress metric bundle, for example: metrics: [{name: "nodes
+	// done", int_value: 15}, {name: "nodes total", int_value: 32}] or
+	// metrics: [{name: "progress", double_value: 0.56}, {name: "progress
+	// scale", double_value: 1.0}]
 	Metrics []*Metric `json:"metrics,omitempty"`
 
-	// Name: A non-parameterized string describing an operation stage.
-	// Unset for single-stage operations.
+	// Name: A non-parameterized string describing an operation stage. Unset
+	// for single-stage operations.
 	Name string `json:"name,omitempty"`
 
 	// Stages: Substages of an operation or a stage.
 	Stages []*OperationProgress `json:"stages,omitempty"`
 
-	// Status: Status of an operation stage.
-	// Unset for single-stage operations.
+	// Status: Status of an operation stage. Unset for single-stage
+	// operations.
 	//
 	// Possible values:
 	//   "STATUS_UNSPECIFIED" - Not set.
@@ -3979,8 +3564,7 @@
 // feature.
 type PodSecurityPolicyConfig struct {
 	// Enabled: Enable the PodSecurityPolicy controller for this cluster. If
-	// enabled, pods
-	// must be valid under a PodSecurityPolicy to be created.
+	// enabled, pods must be valid under a PodSecurityPolicy to be created.
 	Enabled bool `json:"enabled,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Enabled") to
@@ -4013,22 +3597,18 @@
 	EnablePrivateEndpoint bool `json:"enablePrivateEndpoint,omitempty"`
 
 	// EnablePrivateNodes: Whether nodes have internal IP addresses only. If
-	// enabled, all nodes are
-	// given only RFC 1918 private addresses and communicate with the master
-	// via
-	// private networking.
+	// enabled, all nodes are given only RFC 1918 private addresses and
+	// communicate with the master via private networking.
 	EnablePrivateNodes bool `json:"enablePrivateNodes,omitempty"`
 
 	// MasterGlobalAccessConfig: Controls master global access settings.
 	MasterGlobalAccessConfig *PrivateClusterMasterGlobalAccessConfig `json:"masterGlobalAccessConfig,omitempty"`
 
 	// MasterIpv4CidrBlock: The IP range in CIDR notation to use for the
-	// hosted master network. This
-	// range will be used for assigning internal IP addresses to the master
-	// or
-	// set of masters, as well as the ILB VIP. This range must not overlap
-	// with
-	// any other ranges in use within the cluster's network.
+	// hosted master network. This range will be used for assigning internal
+	// IP addresses to the master or set of masters, as well as the ILB VIP.
+	// This range must not overlap with any other ranges in use within the
+	// cluster's network.
 	MasterIpv4CidrBlock string `json:"masterIpv4CidrBlock,omitempty"`
 
 	// PeeringName: Output only. The peering name in the customer VPC used
@@ -4097,50 +3677,60 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// PubSub: Pub/Sub specific notification config.
+type PubSub struct {
+	// Enabled: Enable notifications for Pub/Sub.
+	Enabled bool `json:"enabled,omitempty"`
+
+	// Topic: The desired Pub/Sub topic to which notifications will be sent
+	// by GKE. Format is `projects/{project}/topics/{topic}`.
+	Topic string `json:"topic,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "Enabled") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "Enabled") to include in
+	// API requests with the JSON null value. By default, fields with empty
+	// values are omitted from API requests. However, any field with an
+	// empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *PubSub) MarshalJSON() ([]byte, error) {
+	type NoMethod PubSub
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // RecurringTimeWindow: Represents an arbitrary window of time that
 // recurs.
 type RecurringTimeWindow struct {
 	// Recurrence: An RRULE
-	// (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how
-	// this window reccurs. They go on for the span of time between the
-	// start and
-	// end time.
-	//
-	// For example, to have something repeat every weekday, you'd
-	// use:
-	// `FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR`
-	//
-	// To repeat some window daily (equivalent to the
-	// DailyMaintenanceWindow):
-	// `FREQ=DAILY`
-	//
-	// For the first weekend of every
-	// month:
-	// `FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU`
-	//
+	// (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how this
+	// window reccurs. They go on for the span of time between the start and
+	// end time. For example, to have something repeat every weekday, you'd
+	// use: `FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR` To repeat some window daily
+	// (equivalent to the DailyMaintenanceWindow): `FREQ=DAILY` For the
+	// first weekend of every month: `FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU`
 	// This specifies how frequently the window starts. Eg, if you wanted to
-	// have
-	// a 9-5 UTC-4 window every weekday, you'd use something like:
-	// ```
-	// start time = 2019-01-01T09:00:00-0400
-	// end time = 2019-01-01T17:00:00-0400
-	// recurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
-	// ```
-	//
-	// Windows can span multiple days. Eg, to make the window encompass
-	// every
-	// weekend from midnight Saturday till the last minute of Sunday
-	// UTC:
-	// ```
-	// start time = 2019-01-05T00:00:00Z
-	// end time = 2019-01-07T23:59:00Z
-	// recurrence = FREQ=WEEKLY;BYDAY=SA
-	// ```
-	//
-	// Note the start and end time's specific dates are largely arbitrary
-	// except
-	// to specify duration of the window and when it first starts.
-	// The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.
+	// have a 9-5 UTC-4 window every weekday, you'd use something like: ```
+	// start time = 2019-01-01T09:00:00-0400 end time =
+	// 2019-01-01T17:00:00-0400 recurrence =
+	// FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR ``` Windows can span multiple days.
+	// Eg, to make the window encompass every weekend from midnight Saturday
+	// till the last minute of Sunday UTC: ``` start time =
+	// 2019-01-05T00:00:00Z end time = 2019-01-07T23:59:00Z recurrence =
+	// FREQ=WEEKLY;BYDAY=SA ``` Note the start and end time's specific dates
+	// are largely arbitrary except to specify duration of the window and
+	// when it first starts. The FREQ values of HOURLY, MINUTELY, and
+	// SECONDLY are not supported.
 	Recurrence string `json:"recurrence,omitempty"`
 
 	// Window: The window of the first recurrence.
@@ -4170,14 +3760,10 @@
 }
 
 // ReleaseChannel: ReleaseChannel indicates which release channel a
-// cluster is
-// subscribed to. Release channels are arranged in order of risk.
-//
-// When a cluster is subscribed to a release channel, Google
-// maintains
-// both the master version and the node version. Node
-// auto-upgrade
-// defaults to true and cannot be disabled.
+// cluster is subscribed to. Release channels are arranged in order of
+// risk. When a cluster is subscribed to a release channel, Google
+// maintains both the master version and the node version. Node
+// auto-upgrade defaults to true and cannot be disabled.
 type ReleaseChannel struct {
 	// Channel: channel specifies which release channel the cluster is
 	// subscribed to.
@@ -4185,22 +3771,14 @@
 	// Possible values:
 	//   "UNSPECIFIED" - No channel specified.
 	//   "RAPID" - RAPID channel is offered on an early access basis for
-	// customers who want
-	// to test new releases.
-	//
-	// WARNING: Versions available in the RAPID Channel may be subject
-	// to
-	// unresolved issues with no known workaround and are not subject to
-	// any
-	// SLAs.
+	// customers who want to test new releases. WARNING: Versions available
+	// in the RAPID Channel may be subject to unresolved issues with no
+	// known workaround and are not subject to any SLAs.
 	//   "REGULAR" - Clusters subscribed to REGULAR receive versions that
-	// are considered GA
-	// quality. REGULAR is intended for production users who want to
-	// take
-	// advantage of new features.
+	// are considered GA quality. REGULAR is intended for production users
+	// who want to take advantage of new features.
 	//   "STABLE" - Clusters subscribed to STABLE receive versions that are
-	// known to be
-	// stable and reliable in production.
+	// known to be stable and reliable in production.
 	Channel string `json:"channel,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Channel") to
@@ -4229,10 +3807,8 @@
 // ReleaseChannelConfig: ReleaseChannelConfig exposes configuration for
 // a release channel.
 type ReleaseChannelConfig struct {
-	// AvailableVersions: Deprecated.
-	// This field has been deprecated and replaced with the
-	// valid_versions
-	// field.
+	// AvailableVersions: Deprecated. This field has been deprecated and
+	// replaced with the valid_versions field.
 	AvailableVersions []*AvailableVersion `json:"availableVersions,omitempty"`
 
 	// Channel: The release channel this configuration applies to.
@@ -4240,22 +3816,14 @@
 	// Possible values:
 	//   "UNSPECIFIED" - No channel specified.
 	//   "RAPID" - RAPID channel is offered on an early access basis for
-	// customers who want
-	// to test new releases.
-	//
-	// WARNING: Versions available in the RAPID Channel may be subject
-	// to
-	// unresolved issues with no known workaround and are not subject to
-	// any
-	// SLAs.
+	// customers who want to test new releases. WARNING: Versions available
+	// in the RAPID Channel may be subject to unresolved issues with no
+	// known workaround and are not subject to any SLAs.
 	//   "REGULAR" - Clusters subscribed to REGULAR receive versions that
-	// are considered GA
-	// quality. REGULAR is intended for production users who want to
-	// take
-	// advantage of new features.
+	// are considered GA quality. REGULAR is intended for production users
+	// who want to take advantage of new features.
 	//   "STABLE" - Clusters subscribed to STABLE receive versions that are
-	// known to be
-	// stable and reliable in production.
+	// known to be stable and reliable in production.
 	Channel string `json:"channel,omitempty"`
 
 	// DefaultVersion: The default version for newly created clusters on the
@@ -4291,10 +3859,8 @@
 
 // ReservationAffinity:
 // [ReservationAffinity](https://cloud.google.com/compute/docs/instances/
-// reserving-zonal-resources)
-// is the configuration of desired reservation which instances could
-// take
-// capacity from.
+// reserving-zonal-resources) is the configuration of desired
+// reservation which instances could take capacity from.
 type ReservationAffinity struct {
 	// ConsumeReservationType: Corresponds to the type of reservation
 	// consumption.
@@ -4304,15 +3870,13 @@
 	//   "NO_RESERVATION" - Do not consume from any reserved capacity.
 	//   "ANY_RESERVATION" - Consume any reservation available.
 	//   "SPECIFIC_RESERVATION" - Must consume from a specific reservation.
-	// Must specify key value fields
-	// for specifying the reservations.
+	// Must specify key value fields for specifying the reservations.
 	ConsumeReservationType string `json:"consumeReservationType,omitempty"`
 
 	// Key: Corresponds to the label key of a reservation resource. To
-	// target a
-	// SPECIFIC_RESERVATION by name, specify
-	// "googleapis.com/reservation-name" as
-	// the key and specify the name of your reservation as its value.
+	// target a SPECIFIC_RESERVATION by name, specify
+	// "googleapis.com/reservation-name" as the key and specify the name of
+	// your reservation as its value.
 	Key string `json:"key,omitempty"`
 
 	// Values: Corresponds to the label value(s) of reservation resource(s).
@@ -4344,8 +3908,7 @@
 }
 
 // ResourceLimit: Contains information about amount of some resource in
-// the cluster.
-// For memory, value should be in GB.
+// the cluster. For memory, value should be in GB.
 type ResourceLimit struct {
 	// Maximum: Maximum amount of the resource in the cluster.
 	Maximum int64 `json:"maximum,omitempty,string"`
@@ -4391,9 +3954,8 @@
 	ConsumptionMeteringConfig *ConsumptionMeteringConfig `json:"consumptionMeteringConfig,omitempty"`
 
 	// EnableNetworkEgressMetering: Whether to enable network egress
-	// metering for this cluster. If enabled, a
-	// daemonset will be created in the cluster to meter network egress
-	// traffic.
+	// metering for this cluster. If enabled, a daemonset will be created in
+	// the cluster to meter network egress traffic.
 	EnableNetworkEgressMetering bool `json:"enableNetworkEgressMetering,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "BigqueryDestination")
@@ -4421,43 +3983,33 @@
 }
 
 // RollbackNodePoolUpgradeRequest: RollbackNodePoolUpgradeRequest
-// rollbacks the previously Aborted or Failed
-// NodePool upgrade. This will be an no-op if the last upgrade
-// successfully
-// completed.
+// rollbacks the previously Aborted or Failed NodePool upgrade. This
+// will be an no-op if the last upgrade successfully completed.
 type RollbackNodePoolUpgradeRequest struct {
-	// ClusterId: Required. Deprecated. The name of the cluster to
-	// rollback.
+	// ClusterId: Required. Deprecated. The name of the cluster to rollback.
 	// This field has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// Name: The name (project, location, cluster, node pool id) of the node
-	// poll to
-	// rollback upgrade.
-	// Specified in the format
+	// poll to rollback upgrade. Specified in the format
 	// `projects/*/locations/*/clusters/*/nodePools/*`.
 	Name string `json:"name,omitempty"`
 
 	// NodePoolId: Required. Deprecated. The name of the node pool to
-	// rollback.
-	// This field has been deprecated and replaced by the name field.
+	// rollback. This field has been deprecated and replaced by the name
+	// field.
 	NodePoolId string `json:"nodePoolId,omitempty"`
 
 	// ProjectId: Required. Deprecated. The Google Developers Console
-	// [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840). This field
+	// has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Required. Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Required. Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -4573,35 +4125,27 @@
 // with the cluster.
 type SetAddonsConfigRequest struct {
 	// AddonsConfig: Required. The desired configurations for the various
-	// addons available to run in the
-	// cluster.
+	// addons available to run in the cluster.
 	AddonsConfig *AddonsConfig `json:"addonsConfig,omitempty"`
 
-	// ClusterId: Required. Deprecated. The name of the cluster to
-	// upgrade.
+	// ClusterId: Required. Deprecated. The name of the cluster to upgrade.
 	// This field has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// Name: The name (project, location, cluster) of the cluster to set
-	// addons.
-	// Specified in the format `projects/*/locations/*/clusters/*`.
+	// addons. Specified in the format `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Required. Deprecated. The Google Developers Console
-	// [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840). This field
+	// has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Required. Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Required. Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AddonsConfig") to
@@ -4628,50 +4172,38 @@
 }
 
 // SetLabelsRequest: SetLabelsRequest sets the Google Cloud Platform
-// labels on a Google Container
-// Engine cluster, which will in turn set them for Google Compute
-// Engine
-// resources used by that cluster
+// labels on a Google Container Engine cluster, which will in turn set
+// them for Google Compute Engine resources used by that cluster
 type SetLabelsRequest struct {
-	// ClusterId: Required. Deprecated. The name of the cluster.
-	// This field has been deprecated and replaced by the name field.
+	// ClusterId: Required. Deprecated. The name of the cluster. This field
+	// has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// LabelFingerprint: Required. The fingerprint of the previous set of
-	// labels for this resource,
-	// used to detect conflicts. The fingerprint is initially generated
-	// by
-	// Kubernetes Engine and changes after every request to modify or
-	// update
-	// labels. You must always provide an up-to-date fingerprint hash
-	// when
-	// updating or changing labels. Make a `get()` request to the
-	// resource to get the latest fingerprint.
+	// labels for this resource, used to detect conflicts. The fingerprint
+	// is initially generated by Kubernetes Engine and changes after every
+	// request to modify or update labels. You must always provide an
+	// up-to-date fingerprint hash when updating or changing labels. Make a
+	// `get()` request to the resource to get the latest fingerprint.
 	LabelFingerprint string `json:"labelFingerprint,omitempty"`
 
 	// Name: The name (project, location, cluster id) of the cluster to set
-	// labels.
-	// Specified in the format `projects/*/locations/*/clusters/*`.
+	// labels. Specified in the format `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Required. Deprecated. The Google Developers Console
-	// [project ID or
-	// project
-	// number](https://developers.google.com/console/help/new/#projec
-	// tnumber).
-	// This field has been deprecated and replaced by the name field.
+	// [project ID or project
+	// number](https://developers.google.com/console/help/new/#projectnumber)
+	// . This field has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
 	// ResourceLabels: Required. The labels to set for that cluster.
 	ResourceLabels map[string]string `json:"resourceLabels,omitempty"`
 
-	// Zone: Required. Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Required. Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -4698,11 +4230,9 @@
 }
 
 // SetLegacyAbacRequest: SetLegacyAbacRequest enables or disables the
-// ABAC authorization mechanism for
-// a cluster.
+// ABAC authorization mechanism for a cluster.
 type SetLegacyAbacRequest struct {
-	// ClusterId: Required. Deprecated. The name of the cluster to
-	// update.
+	// ClusterId: Required. Deprecated. The name of the cluster to update.
 	// This field has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
@@ -4711,25 +4241,20 @@
 	Enabled bool `json:"enabled,omitempty"`
 
 	// Name: The name (project, location, cluster id) of the cluster to set
-	// legacy abac.
-	// Specified in the format `projects/*/locations/*/clusters/*`.
+	// legacy abac. Specified in the format
+	// `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Required. Deprecated. The Google Developers Console
-	// [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840). This field
+	// has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Required. Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Required. Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -4758,44 +4283,33 @@
 // SetLocationsRequest: SetLocationsRequest sets the locations of the
 // cluster.
 type SetLocationsRequest struct {
-	// ClusterId: Required. Deprecated. The name of the cluster to
-	// upgrade.
+	// ClusterId: Required. Deprecated. The name of the cluster to upgrade.
 	// This field has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
-	// Locations: Required. The desired list of Google Compute
-	// Engine
+	// Locations: Required. The desired list of Google Compute Engine
 	// [zones](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster's nodes should be located. Changing the locations a cluster
-	// is in
-	// will result in nodes being either created or removed from the
-	// cluster,
-	// depending on whether locations are being added or removed.
-	//
-	// This list must always include the cluster's primary zone.
+	// which the cluster's nodes should be located. Changing the locations a
+	// cluster is in will result in nodes being either created or removed
+	// from the cluster, depending on whether locations are being added or
+	// removed. This list must always include the cluster's primary zone.
 	Locations []string `json:"locations,omitempty"`
 
 	// Name: The name (project, location, cluster) of the cluster to set
-	// locations.
-	// Specified in the format `projects/*/locations/*/clusters/*`.
+	// locations. Specified in the format
+	// `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Required. Deprecated. The Google Developers Console
-	// [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840). This field
+	// has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Required. Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Required. Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -4824,47 +4338,34 @@
 // SetLoggingServiceRequest: SetLoggingServiceRequest sets the logging
 // service of a cluster.
 type SetLoggingServiceRequest struct {
-	// ClusterId: Required. Deprecated. The name of the cluster to
-	// upgrade.
+	// ClusterId: Required. Deprecated. The name of the cluster to upgrade.
 	// This field has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// LoggingService: Required. The logging service the cluster should use
-	// to write logs.
-	// Currently available options:
-	//
-	// * `logging.googleapis.com/kubernetes` - The Cloud Logging
-	// service with a Kubernetes-native resource model
-	// * `logging.googleapis.com` - The legacy Cloud Logging service (no
-	// longer
-	//   available as of GKE 1.15).
-	// * `none` - no logs will be exported from the cluster.
-	//
-	// If left as an empty string,`logging.googleapis.com/kubernetes` will
-	// be
-	// used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
+	// to write logs. Currently available options: *
+	// `logging.googleapis.com/kubernetes` - The Cloud Logging service with
+	// a Kubernetes-native resource model * `logging.googleapis.com` - The
+	// legacy Cloud Logging service (no longer available as of GKE 1.15). *
+	// `none` - no logs will be exported from the cluster. If left as an
+	// empty string,`logging.googleapis.com/kubernetes` will be used for GKE
+	// 1.14+ or `logging.googleapis.com` for earlier versions.
 	LoggingService string `json:"loggingService,omitempty"`
 
 	// Name: The name (project, location, cluster) of the cluster to set
-	// logging.
-	// Specified in the format `projects/*/locations/*/clusters/*`.
+	// logging. Specified in the format `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Required. Deprecated. The Google Developers Console
-	// [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840). This field
+	// has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Required. Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Required. Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -4897,26 +4398,21 @@
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// MaintenancePolicy: Required. The maintenance policy to be set for the
-	// cluster. An empty field
-	// clears the existing maintenance policy.
+	// cluster. An empty field clears the existing maintenance policy.
 	MaintenancePolicy *MaintenancePolicy `json:"maintenancePolicy,omitempty"`
 
 	// Name: The name (project, location, cluster id) of the cluster to set
-	// maintenance
-	// policy.
-	// Specified in the format `projects/*/locations/*/clusters/*`.
+	// maintenance policy. Specified in the format
+	// `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Required. The Google Developers Console [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
+	// project number](https://support.google.com/cloud/answer/6158840).
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Required. The name of the Google Compute
-	// Engine
+	// Zone: Required. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides.
+	// which the cluster resides.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -4952,43 +4448,33 @@
 	//   "UNKNOWN" - Operation is unknown and will error out.
 	//   "SET_PASSWORD" - Set the password to a user generated value.
 	//   "GENERATE_PASSWORD" - Generate a new password and set it to that.
-	//   "SET_USERNAME" - Set the username.  If an empty username is
-	// provided, basic authentication
-	// is disabled for the cluster.  If a non-empty username is provided,
-	// basic
-	// authentication is enabled, with either a provided password or a
-	// generated
-	// one.
+	//   "SET_USERNAME" - Set the username. If an empty username is
+	// provided, basic authentication is disabled for the cluster. If a
+	// non-empty username is provided, basic authentication is enabled, with
+	// either a provided password or a generated one.
 	Action string `json:"action,omitempty"`
 
-	// ClusterId: Required. Deprecated. The name of the cluster to
-	// upgrade.
+	// ClusterId: Required. Deprecated. The name of the cluster to upgrade.
 	// This field has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// Name: The name (project, location, cluster) of the cluster to set
-	// auth.
-	// Specified in the format `projects/*/locations/*/clusters/*`.
+	// auth. Specified in the format `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Required. Deprecated. The Google Developers Console
-	// [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840). This field
+	// has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
 	// Update: Required. A description of the update.
 	Update *MasterAuth `json:"update,omitempty"`
 
-	// Zone: Required. Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Required. Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Action") to
@@ -5017,49 +4503,36 @@
 // SetMonitoringServiceRequest: SetMonitoringServiceRequest sets the
 // monitoring service of a cluster.
 type SetMonitoringServiceRequest struct {
-	// ClusterId: Required. Deprecated. The name of the cluster to
-	// upgrade.
+	// ClusterId: Required. Deprecated. The name of the cluster to upgrade.
 	// This field has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// MonitoringService: Required. The monitoring service the cluster
-	// should use to write metrics.
-	// Currently available options:
-	//
-	// * "monitoring.googleapis.com/kubernetes" - The Cloud
-	// Monitoring
-	// service with a Kubernetes-native resource model
-	// * `monitoring.googleapis.com` - The legacy Cloud Monitoring service
-	// (no
-	//   longer available as of GKE 1.15).
-	// * `none` - No metrics will be exported from the cluster.
-	//
-	// If left as an empty string,`monitoring.googleapis.com/kubernetes`
-	// will be
-	// used for GKE 1.14+ or `monitoring.googleapis.com` for earlier
+	// should use to write metrics. Currently available options: *
+	// "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring service
+	// with a Kubernetes-native resource model * `monitoring.googleapis.com`
+	// - The legacy Cloud Monitoring service (no longer available as of GKE
+	// 1.15). * `none` - No metrics will be exported from the cluster. If
+	// left as an empty string,`monitoring.googleapis.com/kubernetes` will
+	// be used for GKE 1.14+ or `monitoring.googleapis.com` for earlier
 	// versions.
 	MonitoringService string `json:"monitoringService,omitempty"`
 
 	// Name: The name (project, location, cluster) of the cluster to set
-	// monitoring.
-	// Specified in the format `projects/*/locations/*/clusters/*`.
+	// monitoring. Specified in the format
+	// `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Required. Deprecated. The Google Developers Console
-	// [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840). This field
+	// has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Required. Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Required. Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -5088,13 +4561,13 @@
 // SetNetworkPolicyRequest: SetNetworkPolicyRequest enables/disables
 // network policy for a cluster.
 type SetNetworkPolicyRequest struct {
-	// ClusterId: Required. Deprecated. The name of the cluster.
-	// This field has been deprecated and replaced by the name field.
+	// ClusterId: Required. Deprecated. The name of the cluster. This field
+	// has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// Name: The name (project, location, cluster id) of the cluster to set
-	// networking
-	// policy. Specified in the format `projects/*/locations/*/clusters/*`.
+	// networking policy. Specified in the format
+	// `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// NetworkPolicy: Required. Configuration options for the NetworkPolicy
@@ -5102,20 +4575,15 @@
 	NetworkPolicy *NetworkPolicy `json:"networkPolicy,omitempty"`
 
 	// ProjectId: Required. Deprecated. The Google Developers Console
-	// [project ID or
-	// project
-	// number](https://developers.google.com/console/help/new/#projec
-	// tnumber).
-	// This field has been deprecated and replaced by the name field.
+	// [project ID or project
+	// number](https://developers.google.com/console/help/new/#projectnumber)
+	// . This field has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Required. Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Required. Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -5147,38 +4615,30 @@
 	// Autoscaling: Required. Autoscaling configuration for the node pool.
 	Autoscaling *NodePoolAutoscaling `json:"autoscaling,omitempty"`
 
-	// ClusterId: Required. Deprecated. The name of the cluster to
-	// upgrade.
+	// ClusterId: Required. Deprecated. The name of the cluster to upgrade.
 	// This field has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// Name: The name (project, location, cluster, node pool) of the node
-	// pool to set
-	// autoscaler settings. Specified in the
-	// format
+	// pool to set autoscaler settings. Specified in the format
 	// `projects/*/locations/*/clusters/*/nodePools/*`.
 	Name string `json:"name,omitempty"`
 
 	// NodePoolId: Required. Deprecated. The name of the node pool to
-	// upgrade.
-	// This field has been deprecated and replaced by the name field.
+	// upgrade. This field has been deprecated and replaced by the name
+	// field.
 	NodePoolId string `json:"nodePoolId,omitempty"`
 
 	// ProjectId: Required. Deprecated. The Google Developers Console
-	// [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840). This field
+	// has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Required. Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Required. Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Autoscaling") to
@@ -5205,11 +4665,9 @@
 }
 
 // SetNodePoolManagementRequest: SetNodePoolManagementRequest sets the
-// node management properties of a node
-// pool.
+// node management properties of a node pool.
 type SetNodePoolManagementRequest struct {
-	// ClusterId: Required. Deprecated. The name of the cluster to
-	// update.
+	// ClusterId: Required. Deprecated. The name of the cluster to update.
 	// This field has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
@@ -5217,32 +4675,25 @@
 	Management *NodeManagement `json:"management,omitempty"`
 
 	// Name: The name (project, location, cluster, node pool id) of the node
-	// pool to set
-	// management properties. Specified in the
-	// format
+	// pool to set management properties. Specified in the format
 	// `projects/*/locations/*/clusters/*/nodePools/*`.
 	Name string `json:"name,omitempty"`
 
 	// NodePoolId: Required. Deprecated. The name of the node pool to
-	// update.
-	// This field has been deprecated and replaced by the name field.
+	// update. This field has been deprecated and replaced by the name
+	// field.
 	NodePoolId string `json:"nodePoolId,omitempty"`
 
 	// ProjectId: Required. Deprecated. The Google Developers Console
-	// [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840). This field
+	// has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Required. Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Required. Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -5268,19 +4719,15 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// SetNodePoolSizeRequest: SetNodePoolSizeRequest sets the size a
-// node
+// SetNodePoolSizeRequest: SetNodePoolSizeRequest sets the size a node
 // pool.
 type SetNodePoolSizeRequest struct {
-	// ClusterId: Required. Deprecated. The name of the cluster to
-	// update.
+	// ClusterId: Required. Deprecated. The name of the cluster to update.
 	// This field has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// Name: The name (project, location, cluster, node pool id) of the node
-	// pool to set
-	// size.
-	// Specified in the format
+	// pool to set size. Specified in the format
 	// `projects/*/locations/*/clusters/*/nodePools/*`.
 	Name string `json:"name,omitempty"`
 
@@ -5288,25 +4735,20 @@
 	NodeCount int64 `json:"nodeCount,omitempty"`
 
 	// NodePoolId: Required. Deprecated. The name of the node pool to
-	// update.
-	// This field has been deprecated and replaced by the name field.
+	// update. This field has been deprecated and replaced by the name
+	// field.
 	NodePoolId string `json:"nodePoolId,omitempty"`
 
 	// ProjectId: Required. Deprecated. The Google Developers Console
-	// [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840). This field
+	// has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Required. Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Required. Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -5335,25 +4777,16 @@
 // ShieldedInstanceConfig: A set of Shielded Instance options.
 type ShieldedInstanceConfig struct {
 	// EnableIntegrityMonitoring: Defines whether the instance has integrity
-	// monitoring enabled.
-	//
-	// Enables monitoring and attestation of the boot integrity of the
-	// instance.
-	// The attestation is performed against the integrity policy baseline.
-	// This
-	// baseline is initially derived from the implicitly trusted boot image
-	// when
-	// the instance is created.
+	// monitoring enabled. Enables monitoring and attestation of the boot
+	// integrity of the instance. The attestation is performed against the
+	// integrity policy baseline. This baseline is initially derived from
+	// the implicitly trusted boot image when the instance is created.
 	EnableIntegrityMonitoring bool `json:"enableIntegrityMonitoring,omitempty"`
 
 	// EnableSecureBoot: Defines whether the instance has Secure Boot
-	// enabled.
-	//
-	// Secure Boot helps ensure that the system only runs authentic software
-	// by
-	// verifying the digital signature of all boot components, and halting
-	// the
-	// boot process if signature verification fails.
+	// enabled. Secure Boot helps ensure that the system only runs authentic
+	// software by verifying the digital signature of all boot components,
+	// and halting the boot process if signature verification fails.
 	EnableSecureBoot bool `json:"enableSecureBoot,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -5411,37 +4844,31 @@
 }
 
 // StartIPRotationRequest: StartIPRotationRequest creates a new IP for
-// the cluster and then performs
-// a node upgrade on each node pool to point to the new IP.
+// the cluster and then performs a node upgrade on each node pool to
+// point to the new IP.
 type StartIPRotationRequest struct {
-	// ClusterId: Required. Deprecated. The name of the cluster.
-	// This field has been deprecated and replaced by the name field.
+	// ClusterId: Required. Deprecated. The name of the cluster. This field
+	// has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// Name: The name (project, location, cluster id) of the cluster to
-	// start IP
-	// rotation. Specified in the format
+	// start IP rotation. Specified in the format
 	// `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Required. Deprecated. The Google Developers Console
-	// [project ID or
-	// project
-	// number](https://developers.google.com/console/help/new/#projec
-	// tnumber).
-	// This field has been deprecated and replaced by the name field.
+	// [project ID or project
+	// number](https://developers.google.com/console/help/new/#projectnumber)
+	// . This field has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
 	// RotateCredentials: Whether to rotate credentials during IP rotation.
 	RotateCredentials bool `json:"rotateCredentials,omitempty"`
 
-	// Zone: Required. Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Required. Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -5467,30 +4894,25 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// StatusCondition: StatusCondition describes why a cluster or a node
-// pool has a certain status
-// (e.g., ERROR or DEGRADED).
-type StatusCondition struct {
-	// Code: Machine-friendly representation of the condition
-	//
-	// Possible values:
-	//   "UNKNOWN" - UNKNOWN indicates a generic condition.
-	//   "GCE_STOCKOUT" - GCE_STOCKOUT indicates that Google Compute Engine
-	// resources are
-	// temporarily unavailable.
-	//   "GKE_SERVICE_ACCOUNT_DELETED" - GKE_SERVICE_ACCOUNT_DELETED
-	// indicates that the user deleted their robot
-	// service account.
-	//   "GCE_QUOTA_EXCEEDED" - Google Compute Engine quota was exceeded.
-	//   "SET_BY_OPERATOR" - Cluster state was manually changed by an SRE
-	// due to a system logic error.
-	//   "CLOUD_KMS_KEY_ERROR" - Unable to perform an encrypt operation
-	// against the CloudKMS key used for
-	// etcd level encryption.
-	// More codes TBA
-	Code string `json:"code,omitempty"`
+// Status: The `Status` type defines a logical error model that is
+// suitable for different programming environments, including REST APIs
+// and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each
+// `Status` message contains three pieces of data: error code, error
+// message, and error details. You can find out more about this error
+// model and how to work with it in the [API Design
+// Guide](https://cloud.google.com/apis/design/errors).
+type Status struct {
+	// Code: The status code, which should be an enum value of
+	// google.rpc.Code.
+	Code int64 `json:"code,omitempty"`
 
-	// Message: Human-friendly representation of the condition
+	// Details: A list of messages that carry the error details. There is a
+	// common set of message types for APIs to use.
+	Details []googleapi.RawMessage `json:"details,omitempty"`
+
+	// Message: 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.
 	Message string `json:"message,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Code") to
@@ -5510,6 +4932,144 @@
 	NullFields []string `json:"-"`
 }
 
+func (s *Status) MarshalJSON() ([]byte, error) {
+	type NoMethod Status
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// StatusCondition: StatusCondition describes why a cluster or a node
+// pool has a certain status (e.g., ERROR or DEGRADED).
+type StatusCondition struct {
+	// CanonicalCode: Canonical code of the condition.
+	//
+	// Possible values:
+	//   "OK" - Not an error; returned on success HTTP Mapping: 200 OK
+	//   "CANCELLED" - The operation was cancelled, typically by the caller.
+	// HTTP Mapping: 499 Client Closed Request
+	//   "UNKNOWN" - Unknown error. For example, this error may be returned
+	// when a `Status` value received from another address space belongs to
+	// an error space that is not known in this address space. Also errors
+	// raised by APIs that do not return enough error information may be
+	// converted to this error. HTTP Mapping: 500 Internal Server Error
+	//   "INVALID_ARGUMENT" - The client specified an invalid argument. Note
+	// that this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT`
+	// indicates arguments that are problematic regardless of the state of
+	// the system (e.g., a malformed file name). HTTP Mapping: 400 Bad
+	// Request
+	//   "DEADLINE_EXCEEDED" - The deadline expired before the operation
+	// could complete. For operations that change the state of the system,
+	// this error may be returned even if the operation has completed
+	// successfully. For example, a successful response from a server could
+	// have been delayed long enough for the deadline to expire. HTTP
+	// Mapping: 504 Gateway Timeout
+	//   "NOT_FOUND" - Some requested entity (e.g., file or directory) was
+	// not found. Note to server developers: if a request is denied for an
+	// entire class of users, such as gradual feature rollout or
+	// undocumented allowlist, `NOT_FOUND` may be used. If a request is
+	// denied for some users within a class of users, such as user-based
+	// access control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404
+	// Not Found
+	//   "ALREADY_EXISTS" - The entity that a client attempted to create
+	// (e.g., file or directory) already exists. HTTP Mapping: 409 Conflict
+	//   "PERMISSION_DENIED" - The caller does not have permission to
+	// execute the specified operation. `PERMISSION_DENIED` must not be used
+	// for rejections caused by exhausting some resource (use
+	// `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED`
+	// must not be used if the caller can not be identified (use
+	// `UNAUTHENTICATED` instead for those errors). This error code does not
+	// imply the request is valid or the requested entity exists or
+	// satisfies other pre-conditions. HTTP Mapping: 403 Forbidden
+	//   "UNAUTHENTICATED" - The request does not have valid authentication
+	// credentials for the operation. HTTP Mapping: 401 Unauthorized
+	//   "RESOURCE_EXHAUSTED" - Some resource has been exhausted, perhaps a
+	// per-user quota, or perhaps the entire file system is out of space.
+	// HTTP Mapping: 429 Too Many Requests
+	//   "FAILED_PRECONDITION" - The operation was rejected because the
+	// system is not in a state required for the operation's execution. For
+	// example, the directory to be deleted is non-empty, an rmdir operation
+	// is applied to a non-directory, etc. Service implementors can use the
+	// following guidelines to decide between `FAILED_PRECONDITION`,
+	// `ABORTED`, and `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can
+	// retry just the failing call. (b) Use `ABORTED` if the client should
+	// retry at a higher level (e.g., when a client-specified test-and-set
+	// fails, indicating the client should restart a read-modify-write
+	// sequence). (c) Use `FAILED_PRECONDITION` if the client should not
+	// retry until the system state has been explicitly fixed. E.g., if an
+	// "rmdir" fails because the directory is non-empty,
+	// `FAILED_PRECONDITION` should be returned since the client should not
+	// retry unless the files are deleted from the directory. HTTP Mapping:
+	// 400 Bad Request
+	//   "ABORTED" - The operation was aborted, typically due to a
+	// concurrency issue such as a sequencer check failure or transaction
+	// abort. See the guidelines above for deciding between
+	// `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping:
+	// 409 Conflict
+	//   "OUT_OF_RANGE" - The operation was attempted past the valid range.
+	// E.g., seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`,
+	// this error indicates a problem that may be fixed if the system state
+	// changes. For example, a 32-bit file system will generate
+	// `INVALID_ARGUMENT` if asked to read at an offset that is not in the
+	// range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to
+	// read from an offset past the current file size. There is a fair bit
+	// of overlap between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We
+	// recommend using `OUT_OF_RANGE` (the more specific error) when it
+	// applies so that callers who are iterating through a space can easily
+	// look for an `OUT_OF_RANGE` error to detect when they are done. HTTP
+	// Mapping: 400 Bad Request
+	//   "UNIMPLEMENTED" - The operation is not implemented or is not
+	// supported/enabled in this service. HTTP Mapping: 501 Not Implemented
+	//   "INTERNAL" - Internal errors. This means that some invariants
+	// expected by the underlying system have been broken. This error code
+	// is reserved for serious errors. HTTP Mapping: 500 Internal Server
+	// Error
+	//   "UNAVAILABLE" - The service is currently unavailable. This is most
+	// likely a transient condition, which can be corrected by retrying with
+	// a backoff. Note that it is not always safe to retry non-idempotent
+	// operations. See the guidelines above for deciding between
+	// `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping:
+	// 503 Service Unavailable
+	//   "DATA_LOSS" - Unrecoverable data loss or corruption. HTTP Mapping:
+	// 500 Internal Server Error
+	CanonicalCode string `json:"canonicalCode,omitempty"`
+
+	// Code: Machine-friendly representation of the condition Deprecated.
+	// Use canonical_code instead.
+	//
+	// Possible values:
+	//   "UNKNOWN" - UNKNOWN indicates a generic condition.
+	//   "GCE_STOCKOUT" - GCE_STOCKOUT indicates that Google Compute Engine
+	// resources are temporarily unavailable.
+	//   "GKE_SERVICE_ACCOUNT_DELETED" - GKE_SERVICE_ACCOUNT_DELETED
+	// indicates that the user deleted their robot service account.
+	//   "GCE_QUOTA_EXCEEDED" - Google Compute Engine quota was exceeded.
+	//   "SET_BY_OPERATOR" - Cluster state was manually changed by an SRE
+	// due to a system logic error.
+	//   "CLOUD_KMS_KEY_ERROR" - Unable to perform an encrypt operation
+	// against the CloudKMS key used for etcd level encryption. More codes
+	// TBA
+	Code string `json:"code,omitempty"`
+
+	// Message: Human-friendly representation of the condition
+	Message string `json:"message,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "CanonicalCode") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "CanonicalCode") to include
+	// in API requests with the JSON null value. By default, fields with
+	// empty values are omitted from API requests. However, any field with
+	// an empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
 func (s *StatusCondition) MarshalJSON() ([]byte, error) {
 	type NoMethod StatusCondition
 	raw := NoMethod(*s)
@@ -5519,8 +5079,7 @@
 // TimeWindow: Represents an arbitrary window of time.
 type TimeWindow struct {
 	// EndTime: The time that the window ends. The end time should take
-	// place after the
-	// start time.
+	// place after the start time.
 	EndTime string `json:"endTime,omitempty"`
 
 	// StartTime: The time that the window first starts.
@@ -5587,34 +5146,27 @@
 // UpdateClusterRequest: UpdateClusterRequest updates the settings of a
 // cluster.
 type UpdateClusterRequest struct {
-	// ClusterId: Required. Deprecated. The name of the cluster to
-	// upgrade.
+	// ClusterId: Required. Deprecated. The name of the cluster to upgrade.
 	// This field has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
-	// Name: The name (project, location, cluster) of the cluster to
-	// update.
+	// Name: The name (project, location, cluster) of the cluster to update.
 	// Specified in the format `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Required. Deprecated. The Google Developers Console
-	// [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840). This field
+	// has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
 	// Update: Required. A description of the update.
 	Update *ClusterUpdate `json:"update,omitempty"`
 
-	// Zone: Required. Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Required. Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -5643,46 +5195,34 @@
 // UpdateMasterRequest: UpdateMasterRequest updates the master of the
 // cluster.
 type UpdateMasterRequest struct {
-	// ClusterId: Required. Deprecated. The name of the cluster to
-	// upgrade.
+	// ClusterId: Required. Deprecated. The name of the cluster to upgrade.
 	// This field has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
 	// MasterVersion: Required. The Kubernetes version to change the master
-	// to.
-	//
-	// Users may specify either explicit versions offered by
-	// Kubernetes Engine or version aliases, which have the following
-	// behavior:
-	//
-	// - "latest": picks the highest valid Kubernetes version
-	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X
-	// version
-	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
-	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
-	// - "-": picks the default Kubernetes version
+	// to. Users may specify either explicit versions offered by Kubernetes
+	// Engine or version aliases, which have the following behavior: -
+	// "latest": picks the highest valid Kubernetes version - "1.X": picks
+	// the highest valid patch+gke.N patch in the 1.X version - "1.X.Y":
+	// picks the highest valid gke.N patch in the 1.X.Y version -
+	// "1.X.Y-gke.N": picks an explicit Kubernetes version - "-": picks the
+	// default Kubernetes version
 	MasterVersion string `json:"masterVersion,omitempty"`
 
-	// Name: The name (project, location, cluster) of the cluster to
-	// update.
+	// Name: The name (project, location, cluster) of the cluster to update.
 	// Specified in the format `projects/*/locations/*/clusters/*`.
 	Name string `json:"name,omitempty"`
 
 	// ProjectId: Required. Deprecated. The Google Developers Console
-	// [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840). This field
+	// has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
-	// Zone: Required. Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Required. Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -5711,8 +5251,7 @@
 // UpdateNodePoolRequest: SetNodePoolVersionRequest updates the version
 // of a node pool.
 type UpdateNodePoolRequest struct {
-	// ClusterId: Required. Deprecated. The name of the cluster to
-	// upgrade.
+	// ClusterId: Required. Deprecated. The name of the cluster to upgrade.
 	// This field has been deprecated and replaced by the name field.
 	ClusterId string `json:"clusterId,omitempty"`
 
@@ -5725,51 +5264,38 @@
 	// LinuxNodeConfig: Parameters that can be configured on Linux nodes.
 	LinuxNodeConfig *LinuxNodeConfig `json:"linuxNodeConfig,omitempty"`
 
-	// Locations: The desired list of Google Compute
-	// Engine
+	// Locations: The desired list of Google Compute Engine
 	// [zones](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// node pool's nodes should be located. Changing the locations for a
-	// node pool
-	// will result in nodes being either created or removed from the node
-	// pool,
-	// depending on whether locations are being added or removed.
+	// which the node pool's nodes should be located. Changing the locations
+	// for a node pool will result in nodes being either created or removed
+	// from the node pool, depending on whether locations are being added or
+	// removed.
 	Locations []string `json:"locations,omitempty"`
 
 	// Name: The name (project, location, cluster, node pool) of the node
-	// pool to
-	// update. Specified in the
-	// format
+	// pool to update. Specified in the format
 	// `projects/*/locations/*/clusters/*/nodePools/*`.
 	Name string `json:"name,omitempty"`
 
 	// NodePoolId: Required. Deprecated. The name of the node pool to
-	// upgrade.
-	// This field has been deprecated and replaced by the name field.
+	// upgrade. This field has been deprecated and replaced by the name
+	// field.
 	NodePoolId string `json:"nodePoolId,omitempty"`
 
 	// NodeVersion: Required. The Kubernetes version to change the nodes to
-	// (typically an
-	// upgrade).
-	//
-	// Users may specify either explicit versions offered by Kubernetes
-	// Engine or
-	// version aliases, which have the following behavior:
-	//
-	// - "latest": picks the highest valid Kubernetes version
-	// - "1.X": picks the highest valid patch+gke.N patch in the 1.X
-	// version
-	// - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
-	// - "1.X.Y-gke.N": picks an explicit Kubernetes version
-	// - "-": picks the Kubernetes master version
+	// (typically an upgrade). Users may specify either explicit versions
+	// offered by Kubernetes Engine or version aliases, which have the
+	// following behavior: - "latest": picks the highest valid Kubernetes
+	// version - "1.X": picks the highest valid patch+gke.N patch in the 1.X
+	// version - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y
+	// version - "1.X.Y-gke.N": picks an explicit Kubernetes version - "-":
+	// picks the Kubernetes master version
 	NodeVersion string `json:"nodeVersion,omitempty"`
 
 	// ProjectId: Required. Deprecated. The Google Developers Console
-	// [project ID or
-	// project
-	// number](https://support.google.com/cloud/answer/6158840).
-	// This
-	//  field has been deprecated and replaced by the name field.
+	// [project ID or project
+	// number](https://support.google.com/cloud/answer/6158840). This field
+	// has been deprecated and replaced by the name field.
 	ProjectId string `json:"projectId,omitempty"`
 
 	// UpgradeSettings: Upgrade settings control disruption and speed of the
@@ -5780,13 +5306,10 @@
 	// node pool.
 	WorkloadMetadataConfig *WorkloadMetadataConfig `json:"workloadMetadataConfig,omitempty"`
 
-	// Zone: Required. Deprecated. The name of the Google Compute
-	// Engine
+	// Zone: Required. Deprecated. The name of the Google Compute Engine
 	// [zone](https://cloud.google.com/compute/docs/zones#available) in
-	// which the
-	// cluster resides. This field has been deprecated and replaced by the
-	// name
-	// field.
+	// which the cluster resides. This field has been deprecated and
+	// replaced by the name field.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClusterId") to
@@ -5812,52 +5335,84 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// UpgradeEvent: UpgradeEvent is a notification sent to customers by the
+// cluster server when a resource is upgrading.
+type UpgradeEvent struct {
+	// CurrentVersion: Required. The current version before the upgrade.
+	CurrentVersion string `json:"currentVersion,omitempty"`
+
+	// Operation: Required. The operation associated with this upgrade.
+	Operation string `json:"operation,omitempty"`
+
+	// OperationStartTime: Required. The time when the operation was
+	// started.
+	OperationStartTime string `json:"operationStartTime,omitempty"`
+
+	// Resource: Optional. Optional relative path to the resource. For
+	// example in node pool upgrades, the relative path of the node pool.
+	Resource string `json:"resource,omitempty"`
+
+	// ResourceType: Required. The resource type that is upgrading.
+	//
+	// Possible values:
+	//   "UPGRADE_RESOURCE_TYPE_UNSPECIFIED" - Default value. This shouldn't
+	// be used.
+	//   "MASTER" - Master / control plane
+	//   "NODE_POOL" - Node pool
+	ResourceType string `json:"resourceType,omitempty"`
+
+	// TargetVersion: Required. The target version for the upgrade.
+	TargetVersion string `json:"targetVersion,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "CurrentVersion") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "CurrentVersion") to
+	// include in API requests with the JSON null value. By default, fields
+	// with empty values are omitted from API requests. However, any field
+	// with an empty value appearing in NullFields will be sent to the
+	// server as null. It is an error if a field in this list has a
+	// non-empty value. This may be used to include null fields in Patch
+	// requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *UpgradeEvent) MarshalJSON() ([]byte, error) {
+	type NoMethod UpgradeEvent
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // UpgradeSettings: These upgrade settings control the level of
-// parallelism and the level of
-// disruption caused by an upgrade.
-//
+// parallelism and the level of disruption caused by an upgrade.
 // maxUnavailable controls the number of nodes that can be
-// simultaneously
-// unavailable.
-//
-// maxSurge controls the number of additional nodes that can be added to
-// the
-// node pool temporarily for the time of the upgrade to increase the
-// number of
-// available nodes.
-//
+// simultaneously unavailable. maxSurge controls the number of
+// additional nodes that can be added to the node pool temporarily for
+// the time of the upgrade to increase the number of available nodes.
 // (maxUnavailable + maxSurge) determines the level of parallelism (how
-// many
-// nodes are being upgraded at the same time).
-//
-// Note: upgrades inevitably introduce some disruption since workloads
-// need to
-// be moved from old nodes to new, upgraded ones. Even if
-// maxUnavailable=0,
-// this holds true. (Disruption stays within the limits
-// of
-// PodDisruptionBudget, if it is configured.)
-//
-// Consider a hypothetical node pool with 5 nodes having
-// maxSurge=2,
-// maxUnavailable=1. This means the upgrade process upgrades 3
-// nodes
-// simultaneously. It creates 2 additional (upgraded) nodes, then it
-// brings
-// down 3 old (not yet upgraded) nodes at the same time. This ensures
-// that
-// there are always at least 4 nodes available.
+// many nodes are being upgraded at the same time). Note: upgrades
+// inevitably introduce some disruption since workloads need to be moved
+// from old nodes to new, upgraded ones. Even if maxUnavailable=0, this
+// holds true. (Disruption stays within the limits of
+// PodDisruptionBudget, if it is configured.) Consider a hypothetical
+// node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This
+// means the upgrade process upgrades 3 nodes simultaneously. It creates
+// 2 additional (upgraded) nodes, then it brings down 3 old (not yet
+// upgraded) nodes at the same time. This ensures that there are always
+// at least 4 nodes available.
 type UpgradeSettings struct {
 	// MaxSurge: The maximum number of nodes that can be created beyond the
-	// current size
-	// of the node pool during the upgrade process.
+	// current size of the node pool during the upgrade process.
 	MaxSurge int64 `json:"maxSurge,omitempty"`
 
 	// MaxUnavailable: The maximum number of nodes that can be
-	// simultaneously unavailable during
-	// the upgrade process. A node is considered available if its status
-	// is
-	// Ready.
+	// simultaneously unavailable during the upgrade process. A node is
+	// considered available if its status is Ready.
 	MaxUnavailable int64 `json:"maxUnavailable,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "MaxSurge") to
@@ -5884,31 +5439,27 @@
 }
 
 // UsableSubnetwork: UsableSubnetwork resource returns the subnetwork
-// name, its associated network
-// and the primary CIDR range.
+// name, its associated network and the primary CIDR range.
 type UsableSubnetwork struct {
 	// IpCidrRange: The range of internal addresses that are owned by this
 	// subnetwork.
 	IpCidrRange string `json:"ipCidrRange,omitempty"`
 
-	// Network: Network Name.
-	// Example: projects/my-project/global/networks/my-network
+	// Network: Network Name. Example:
+	// projects/my-project/global/networks/my-network
 	Network string `json:"network,omitempty"`
 
 	// SecondaryIpRanges: Secondary IP ranges.
 	SecondaryIpRanges []*UsableSubnetworkSecondaryRange `json:"secondaryIpRanges,omitempty"`
 
 	// StatusMessage: A human readable status message representing the
-	// reasons for cases where
-	// the caller cannot use the secondary ranges under the subnet. For
-	// example if
-	// the secondary_ip_ranges is empty due to a permission issue, an
-	// insufficient
-	// permission message will be given by status_message.
+	// reasons for cases where the caller cannot use the secondary ranges
+	// under the subnet. For example if the secondary_ip_ranges is empty due
+	// to a permission issue, an insufficient permission message will be
+	// given by status_message.
 	StatusMessage string `json:"statusMessage,omitempty"`
 
-	// Subnetwork: Subnetwork Name.
-	// Example:
+	// Subnetwork: Subnetwork Name. Example:
 	// projects/my-project/regions/us-central1/subnetworks/my-subnet
 	Subnetwork string `json:"subnetwork,omitempty"`
 
@@ -5943,8 +5494,7 @@
 	IpCidrRange string `json:"ipCidrRange,omitempty"`
 
 	// RangeName: The name associated with this subnetwork secondary range,
-	// used when adding
-	// an alias IP range to a VM instance.
+	// used when adding an alias IP range to a VM instance.
 	RangeName string `json:"rangeName,omitempty"`
 
 	// Status: This field is to determine the status of the secondary range
@@ -5956,16 +5506,15 @@
 	//   "UNUSED" - UNUSED denotes that this range is unclaimed by any
 	// cluster.
 	//   "IN_USE_SERVICE" - IN_USE_SERVICE denotes that this range is
-	// claimed by a cluster for
-	// services. It cannot be used for other clusters.
+	// claimed by a cluster for services. It cannot be used for other
+	// clusters.
 	//   "IN_USE_SHAREABLE_POD" - IN_USE_SHAREABLE_POD denotes this range
-	// was created by the network admin
-	// and is currently claimed by a cluster for pods. It can only be used
-	// by
-	// other clusters as a pod range.
+	// was created by the network admin and is currently claimed by a
+	// cluster for pods. It can only be used by other clusters as a pod
+	// range.
 	//   "IN_USE_MANAGED_POD" - IN_USE_MANAGED_POD denotes this range was
-	// created by GKE and is claimed
-	// for pods. It cannot be used for other clusters.
+	// created by GKE and is claimed for pods. It cannot be used for other
+	// clusters.
 	Status string `json:"status,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "IpCidrRange") to
@@ -5992,9 +5541,8 @@
 }
 
 // VerticalPodAutoscaling: VerticalPodAutoscaling contains global,
-// per-cluster information
-// required by Vertical Pod Autoscaler to automatically adjust
-// the resources of pods controlled by it.
+// per-cluster information required by Vertical Pod Autoscaler to
+// automatically adjust the resources of pods controlled by it.
 type VerticalPodAutoscaling struct {
 	// Enabled: Enables vertical pod autoscaling.
 	Enabled bool `json:"enabled,omitempty"`
@@ -6023,8 +5571,7 @@
 }
 
 // WorkloadIdentityConfig: Configuration for the use of Kubernetes
-// Service Accounts in GCP IAM
-// policies.
+// Service Accounts in GCP IAM policies.
 type WorkloadIdentityConfig struct {
 	// IdentityNamespace: IAM Identity Namespace to attach all Kubernetes
 	// Service Accounts to.
@@ -6063,56 +5610,39 @@
 }
 
 // WorkloadMetadataConfig: WorkloadMetadataConfig defines the metadata
-// configuration to expose to
-// workloads on the node pool.
+// configuration to expose to workloads on the node pool.
 type WorkloadMetadataConfig struct {
 	// Mode: Mode is the configuration for how to expose metadata to
-	// workloads running
-	// on the node pool.
+	// workloads running on the node pool.
 	//
 	// Possible values:
 	//   "MODE_UNSPECIFIED" - Not set.
 	//   "GCE_METADATA" - Expose all Compute Engine metadata to pods.
 	//   "GKE_METADATA" - Run the GKE Metadata Server on this node. The GKE
-	// Metadata Server exposes
-	// a metadata API to workloads that is compatible with the V1
-	// Compute
-	// Metadata APIs exposed by the Compute Engine and App Engine
-	// Metadata
-	// Servers. This feature can only be enabled if Workload Identity is
-	// enabled
-	// at the cluster level.
+	// Metadata Server exposes a metadata API to workloads that is
+	// compatible with the V1 Compute Metadata APIs exposed by the Compute
+	// Engine and App Engine Metadata Servers. This feature can only be
+	// enabled if Workload Identity is enabled at the cluster level.
 	Mode string `json:"mode,omitempty"`
 
 	// NodeMetadata: NodeMetadata is the configuration for how to expose
-	// metadata to the
-	// workloads running on the node.
+	// metadata to the workloads running on the node.
 	//
 	// Possible values:
 	//   "UNSPECIFIED" - Not set.
 	//   "SECURE" - Prevent workloads not in hostNetwork from accessing
-	// certain VM metadata,
-	// specifically kube-env, which contains Kubelet credentials, and
-	// the
-	// instance identity token.
-	//
-	// Metadata concealment is a temporary security solution available while
-	// the
-	// bootstrapping process for cluster nodes is being redesigned
-	// with
-	// significant security improvements.  This feature is scheduled to
-	// be
-	// deprecated in the future and later removed.
+	// certain VM metadata, specifically kube-env, which contains Kubelet
+	// credentials, and the instance identity token. Metadata concealment is
+	// a temporary security solution available while the bootstrapping
+	// process for cluster nodes is being redesigned with significant
+	// security improvements. This feature is scheduled to be deprecated in
+	// the future and later removed.
 	//   "EXPOSE" - Expose all VM metadata to pods.
 	//   "GKE_METADATA_SERVER" - Run the GKE Metadata Server on this node.
-	// The GKE Metadata Server exposes
-	// a metadata API to workloads that is compatible with the V1
-	// Compute
-	// Metadata APIs exposed by the Compute Engine and App Engine
-	// Metadata
-	// Servers. This feature can only be enabled if Workload Identity is
-	// enabled
-	// at the cluster level.
+	// The GKE Metadata Server exposes a metadata API to workloads that is
+	// compatible with the V1 Compute Metadata APIs exposed by the Compute
+	// Engine and App Engine Metadata Servers. This feature can only be
+	// enabled if Workload Identity is enabled at the cluster level.
 	NodeMetadata string `json:"nodeMetadata,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Mode") to
@@ -6158,11 +5688,9 @@
 }
 
 // Filter sets the optional parameter "filter": Filtering currently only
-// supports equality on the networkProjectId and must
-// be in the form: "networkProjectId=[PROJECTID]", where
-// `networkProjectId`
-// is the project which owns the listed subnetworks. This defaults to
-// the
+// supports equality on the networkProjectId and must be in the form:
+// "networkProjectId=[PROJECTID]", where `networkProjectId` is the
+// project which owns the listed subnetworks. This defaults to the
 // parent project ID.
 func (c *ProjectsAggregatedUsableSubnetworksListCall) Filter(filter string) *ProjectsAggregatedUsableSubnetworksListCall {
 	c.urlParams_.Set("filter", filter)
@@ -6170,11 +5698,9 @@
 }
 
 // PageSize sets the optional parameter "pageSize": The max number of
-// results per page that should be returned. If the number
-// of available results is larger than `page_size`, a `next_page_token`
-// is
-// returned which can be used to get the next page of results in
-// subsequent
+// results per page that should be returned. If the number of available
+// results is larger than `page_size`, a `next_page_token` is returned
+// which can be used to get the next page of results in subsequent
 // requests. Acceptable values are 0 to 500, inclusive. (Default: 500)
 func (c *ProjectsAggregatedUsableSubnetworksListCall) PageSize(pageSize int64) *ProjectsAggregatedUsableSubnetworksListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
@@ -6182,8 +5708,8 @@
 }
 
 // PageToken sets the optional parameter "pageToken": Specifies a page
-// token to use. Set this to the nextPageToken returned by
-// previous list requests to get the next page of results.
+// token to use. Set this to the nextPageToken returned by previous list
+// requests to get the next page of results.
 func (c *ProjectsAggregatedUsableSubnetworksListCall) PageToken(pageToken string) *ProjectsAggregatedUsableSubnetworksListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -6226,7 +5752,7 @@
 
 func (c *ProjectsAggregatedUsableSubnetworksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6297,23 +5823,23 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "Filtering currently only supports equality on the networkProjectId and must\nbe in the form: \"networkProjectId=[PROJECTID]\", where `networkProjectId`\nis the project which owns the listed subnetworks. This defaults to the\nparent project ID.",
+	//       "description": "Filtering currently only supports equality on the networkProjectId and must be in the form: \"networkProjectId=[PROJECTID]\", where `networkProjectId` is the project which owns the listed subnetworks. This defaults to the parent project ID.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "The max number of results per page that should be returned. If the number\nof available results is larger than `page_size`, a `next_page_token` is\nreturned which can be used to get the next page of results in subsequent\nrequests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
+	//       "description": "The max number of results per page that should be returned. If the number of available results is larger than `page_size`, a `next_page_token` is returned which can be used to get the next page of results in subsequent requests. Acceptable values are 0 to 500, inclusive. (Default: 500)",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Specifies a page token to use. Set this to the nextPageToken returned by\nprevious list requests to get the next page of results.",
+	//       "description": "Specifies a page token to use. Set this to the nextPageToken returned by previous list requests to get the next page of results.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The parent project where subnetworks are usable.\nSpecified in the format `projects/*`.",
+	//       "description": "Required. The parent project where subnetworks are usable. Specified in the format `projects/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -6372,24 +5898,19 @@
 }
 
 // ProjectId sets the optional parameter "projectId": Required.
-// Deprecated. The Google Developers Console [project ID or
-// project
-// number](https://support.google.com/cloud/answer/6158840).
-// This
-//  field has been deprecated and replaced by the name field.
+// Deprecated. The Google Developers Console [project ID or project
+// number](https://support.google.com/cloud/answer/6158840). This field
+// has been deprecated and replaced by the name field.
 func (c *ProjectsLocationsGetServerConfigCall) ProjectId(projectId string) *ProjectsLocationsGetServerConfigCall {
 	c.urlParams_.Set("projectId", projectId)
 	return c
 }
 
 // Zone sets the optional parameter "zone": Required. Deprecated. The
-// name of the Google Compute
-// Engine
+// name of the Google Compute Engine
 // [zone](https://cloud.google.com/compute/docs/zones#available) to
-// return
-// operations for. This field has been deprecated and replaced by the
-// name
-// field.
+// return operations for. This field has been deprecated and replaced by
+// the name field.
 func (c *ProjectsLocationsGetServerConfigCall) Zone(zone string) *ProjectsLocationsGetServerConfigCall {
 	c.urlParams_.Set("zone", zone)
 	return c
@@ -6432,7 +5953,7 @@
 
 func (c *ProjectsLocationsGetServerConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6503,19 +6024,19 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project and location) of the server config to get,\nspecified in the format `projects/*/locations/*`.",
+	//       "description": "The name (project and location) of the server config to get, specified in the format `projects/*/locations/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) to return\noperations for. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -6586,7 +6107,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6657,7 +6178,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. Contains the name of the resource requested.\nSpecified in the format `projects/*`.",
+	//       "description": "Required. Contains the name of the resource requested. Specified in the format `projects/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -6721,7 +6242,7 @@
 
 func (c *ProjectsLocationsClustersCompleteIpRotationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6794,7 +6315,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster id) of the cluster to complete IP\nrotation. Specified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster id) of the cluster to complete IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -6827,24 +6348,14 @@
 }
 
 // Create: Creates a cluster, consisting of the specified number and
-// type of Google
-// Compute Engine instances.
-//
-// By default, the cluster is created in the
-// project's
-// [default
-// network](https://cloud.google.com/compute/docs/netw
-// orks-and-firewalls#networks).
-//
-// One firewall is added for the cluster. After cluster creation,
-// the Kubelet creates routes for each node to allow the containers
-// on that node to communicate with all other instances in
-// the
-// cluster.
-//
-// Finally, an entry is added to the project's global metadata
-// indicating
-// which CIDR range the cluster is using.
+// type of Google Compute Engine instances. By default, the cluster is
+// created in the project's [default
+// network](https://cloud.google.com/compute/docs/networks-and-firewalls#
+// networks). One firewall is added for the cluster. After cluster
+// creation, the Kubelet creates routes for each node to allow the
+// containers on that node to communicate with all other instances in
+// the cluster. Finally, an entry is added to the project's global
+// metadata indicating which CIDR range the cluster is using.
 func (r *ProjectsLocationsClustersService) Create(parent string, createclusterrequest *CreateClusterRequest) *ProjectsLocationsClustersCreateCall {
 	c := &ProjectsLocationsClustersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -6879,7 +6390,7 @@
 
 func (c *ProjectsLocationsClustersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6943,7 +6454,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a cluster, consisting of the specified number and type of Google\nCompute Engine instances.\n\nBy default, the cluster is created in the project's\n[default\nnetwork](https://cloud.google.com/compute/docs/networks-and-firewalls#networks).\n\nOne firewall is added for the cluster. After cluster creation,\nthe Kubelet creates routes for each node to allow the containers\non that node to communicate with all other instances in the\ncluster.\n\nFinally, an entry is added to the project's global metadata indicating\nwhich CIDR range the cluster is using.",
+	//   "description": "Creates a cluster, consisting of the specified number and type of Google Compute Engine instances. By default, the cluster is created in the project's [default network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks). One firewall is added for the cluster. After cluster creation, the Kubelet creates routes for each node to allow the containers on that node to communicate with all other instances in the cluster. Finally, an entry is added to the project's global metadata indicating which CIDR range the cluster is using.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters",
 	//   "httpMethod": "POST",
 	//   "id": "container.projects.locations.clusters.create",
@@ -6952,7 +6463,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "The parent (project and location) where the cluster will be created.\nSpecified in the format `projects/*/locations/*`.",
+	//       "description": "The parent (project and location) where the cluster will be created. Specified in the format `projects/*/locations/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
@@ -6984,17 +6495,11 @@
 }
 
 // Delete: Deletes the cluster, including the Kubernetes endpoint and
-// all worker
-// nodes.
-//
-// Firewalls and routes that were configured during cluster creation
-// are also deleted.
-//
-// Other Google Compute Engine resources that might be in use by the
-// cluster,
-// such as load balancer resources, are not deleted if they weren't
-// present
-// when the cluster was initially created.
+// all worker nodes. Firewalls and routes that were configured during
+// cluster creation are also deleted. Other Google Compute Engine
+// resources that might be in use by the cluster, such as load balancer
+// resources, are not deleted if they weren't present when the cluster
+// was initially created.
 func (r *ProjectsLocationsClustersService) Delete(name string) *ProjectsLocationsClustersDeleteCall {
 	c := &ProjectsLocationsClustersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -7002,32 +6507,27 @@
 }
 
 // ClusterId sets the optional parameter "clusterId": Required.
-// Deprecated. The name of the cluster to delete.
-// This field has been deprecated and replaced by the name field.
+// Deprecated. The name of the cluster to delete. This field has been
+// deprecated and replaced by the name field.
 func (c *ProjectsLocationsClustersDeleteCall) ClusterId(clusterId string) *ProjectsLocationsClustersDeleteCall {
 	c.urlParams_.Set("clusterId", clusterId)
 	return c
 }
 
 // ProjectId sets the optional parameter "projectId": Required.
-// Deprecated. The Google Developers Console [project ID or
-// project
-// number](https://support.google.com/cloud/answer/6158840).
-// This
-//  field has been deprecated and replaced by the name field.
+// Deprecated. The Google Developers Console [project ID or project
+// number](https://support.google.com/cloud/answer/6158840). This field
+// has been deprecated and replaced by the name field.
 func (c *ProjectsLocationsClustersDeleteCall) ProjectId(projectId string) *ProjectsLocationsClustersDeleteCall {
 	c.urlParams_.Set("projectId", projectId)
 	return c
 }
 
 // Zone sets the optional parameter "zone": Required. Deprecated. The
-// name of the Google Compute
-// Engine
+// name of the Google Compute Engine
 // [zone](https://cloud.google.com/compute/docs/zones#available) in
-// which the
-// cluster resides. This field has been deprecated and replaced by the
-// name
-// field.
+// which the cluster resides. This field has been deprecated and
+// replaced by the name field.
 func (c *ProjectsLocationsClustersDeleteCall) Zone(zone string) *ProjectsLocationsClustersDeleteCall {
 	c.urlParams_.Set("zone", zone)
 	return c
@@ -7060,7 +6560,7 @@
 
 func (c *ProjectsLocationsClustersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7119,7 +6619,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes the cluster, including the Kubernetes endpoint and all worker\nnodes.\n\nFirewalls and routes that were configured during cluster creation\nare also deleted.\n\nOther Google Compute Engine resources that might be in use by the cluster,\nsuch as load balancer resources, are not deleted if they weren't present\nwhen the cluster was initially created.",
+	//   "description": "Deletes the cluster, including the Kubernetes endpoint and all worker nodes. Firewalls and routes that were configured during cluster creation are also deleted. Other Google Compute Engine resources that might be in use by the cluster, such as load balancer resources, are not deleted if they weren't present when the cluster was initially created.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "container.projects.locations.clusters.delete",
@@ -7128,24 +6628,24 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster to delete.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster to delete. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "The name (project, location, cluster) of the cluster to delete.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster) of the cluster to delete. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -7180,32 +6680,27 @@
 }
 
 // ClusterId sets the optional parameter "clusterId": Required.
-// Deprecated. The name of the cluster to retrieve.
-// This field has been deprecated and replaced by the name field.
+// Deprecated. The name of the cluster to retrieve. This field has been
+// deprecated and replaced by the name field.
 func (c *ProjectsLocationsClustersGetCall) ClusterId(clusterId string) *ProjectsLocationsClustersGetCall {
 	c.urlParams_.Set("clusterId", clusterId)
 	return c
 }
 
 // ProjectId sets the optional parameter "projectId": Required.
-// Deprecated. The Google Developers Console [project ID or
-// project
-// number](https://support.google.com/cloud/answer/6158840).
-// This
-//  field has been deprecated and replaced by the name field.
+// Deprecated. The Google Developers Console [project ID or project
+// number](https://support.google.com/cloud/answer/6158840). This field
+// has been deprecated and replaced by the name field.
 func (c *ProjectsLocationsClustersGetCall) ProjectId(projectId string) *ProjectsLocationsClustersGetCall {
 	c.urlParams_.Set("projectId", projectId)
 	return c
 }
 
 // Zone sets the optional parameter "zone": Required. Deprecated. The
-// name of the Google Compute
-// Engine
+// name of the Google Compute Engine
 // [zone](https://cloud.google.com/compute/docs/zones#available) in
-// which the
-// cluster resides. This field has been deprecated and replaced by the
-// name
-// field.
+// which the cluster resides. This field has been deprecated and
+// replaced by the name field.
 func (c *ProjectsLocationsClustersGetCall) Zone(zone string) *ProjectsLocationsClustersGetCall {
 	c.urlParams_.Set("zone", zone)
 	return c
@@ -7248,7 +6743,7 @@
 
 func (c *ProjectsLocationsClustersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7319,24 +6814,24 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster to retrieve.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster to retrieve. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "The name (project, location, cluster) of the cluster to retrieve.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster) of the cluster to retrieve. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -7363,12 +6858,9 @@
 	header_      http.Header
 }
 
-// GetJwks: Gets the public component of the cluster signing keys
-// in
-// JSON Web Key format.
-// This API is not yet intended for general use, and is not available
-// for all
-// clusters.
+// GetJwks: Gets the public component of the cluster signing keys in
+// JSON Web Key format. This API is not yet intended for general use,
+// and is not available for all clusters.
 func (r *ProjectsLocationsClustersService) GetJwks(parent string) *ProjectsLocationsClustersGetJwksCall {
 	c := &ProjectsLocationsClustersGetJwksCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -7412,7 +6904,7 @@
 
 func (c *ProjectsLocationsClustersGetJwksCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7474,7 +6966,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the public component of the cluster signing keys in\nJSON Web Key format.\nThis API is not yet intended for general use, and is not available for all\nclusters.",
+	//   "description": "Gets the public component of the cluster signing keys in JSON Web Key format. This API is not yet intended for general use, and is not available for all clusters.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/jwks",
 	//   "httpMethod": "GET",
 	//   "id": "container.projects.locations.clusters.getJwks",
@@ -7483,7 +6975,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "The cluster (project, location, cluster id) to get keys for. Specified in\nthe format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The cluster (project, location, cluster id) to get keys for. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -7510,8 +7002,7 @@
 }
 
 // List: Lists all clusters owned by a project in either the specified
-// zone or all
-// zones.
+// zone or all zones.
 func (r *ProjectsLocationsClustersService) List(parent string) *ProjectsLocationsClustersListCall {
 	c := &ProjectsLocationsClustersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -7519,24 +7010,19 @@
 }
 
 // ProjectId sets the optional parameter "projectId": Required.
-// Deprecated. The Google Developers Console [project ID or
-// project
-// number](https://support.google.com/cloud/answer/6158840).
-// This
-//  field has been deprecated and replaced by the parent field.
+// Deprecated. The Google Developers Console [project ID or project
+// number](https://support.google.com/cloud/answer/6158840). This field
+// has been deprecated and replaced by the parent field.
 func (c *ProjectsLocationsClustersListCall) ProjectId(projectId string) *ProjectsLocationsClustersListCall {
 	c.urlParams_.Set("projectId", projectId)
 	return c
 }
 
 // Zone sets the optional parameter "zone": Required. Deprecated. The
-// name of the Google Compute
-// Engine
+// name of the Google Compute Engine
 // [zone](https://cloud.google.com/compute/docs/zones#available) in
-// which the
-// cluster resides, or "-" for all zones. This field has been deprecated
-// and
-// replaced by the parent field.
+// which the cluster resides, or "-" for all zones. This field has been
+// deprecated and replaced by the parent field.
 func (c *ProjectsLocationsClustersListCall) Zone(zone string) *ProjectsLocationsClustersListCall {
 	c.urlParams_.Set("zone", zone)
 	return c
@@ -7579,7 +7065,7 @@
 
 func (c *ProjectsLocationsClustersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7641,7 +7127,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists all clusters owned by a project in either the specified zone or all\nzones.",
+	//   "description": "Lists all clusters owned by a project in either the specified zone or all zones.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters",
 	//   "httpMethod": "GET",
 	//   "id": "container.projects.locations.clusters.list",
@@ -7650,19 +7136,19 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "The parent (project and location) where the clusters will be listed.\nSpecified in the format `projects/*/locations/*`.\nLocation \"-\" matches all zones and all regions.",
+	//       "description": "The parent (project and location) where the clusters will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the parent field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides, or \"-\" for all zones. This field has been deprecated and\nreplaced by the parent field.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides, or \"-\" for all zones. This field has been deprecated and replaced by the parent field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -7724,7 +7210,7 @@
 
 func (c *ProjectsLocationsClustersSetAddonsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7797,7 +7283,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster) of the cluster to set addons.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster) of the cluster to set addons. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -7865,7 +7351,7 @@
 
 func (c *ProjectsLocationsClustersSetLegacyAbacCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7938,7 +7424,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster id) of the cluster to set legacy abac.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster id) of the cluster to set legacy abac. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -7970,13 +7456,11 @@
 	header_             http.Header
 }
 
-// SetLocations: Sets the locations for a specific cluster.
-// Deprecated.
+// SetLocations: Sets the locations for a specific cluster. Deprecated.
 // Use
-// [projects.locations.clusters.update](https://cloud.google.com/kube
-// rnetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters/
-// update)
-// instead.
+// [projects.locations.clusters.update](https://cloud.google.com/kubernet
+// es-engine/docs/reference/rest/v1beta1/projects.locations.clusters/upda
+// te) instead.
 func (r *ProjectsLocationsClustersService) SetLocations(name string, setlocationsrequest *SetLocationsRequest) *ProjectsLocationsClustersSetLocationsCall {
 	c := &ProjectsLocationsClustersSetLocationsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -8011,7 +7495,7 @@
 
 func (c *ProjectsLocationsClustersSetLocationsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8075,7 +7559,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the locations for a specific cluster.\nDeprecated. Use\n[projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters/update)\ninstead.",
+	//   "description": "Sets the locations for a specific cluster. Deprecated. Use [projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters/update) instead.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setLocations",
 	//   "httpMethod": "POST",
 	//   "id": "container.projects.locations.clusters.setLocations",
@@ -8084,7 +7568,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster) of the cluster to set locations.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster) of the cluster to set locations. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -8151,7 +7635,7 @@
 
 func (c *ProjectsLocationsClustersSetLoggingCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8224,7 +7708,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster) of the cluster to set logging.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster) of the cluster to set logging. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -8291,7 +7775,7 @@
 
 func (c *ProjectsLocationsClustersSetMaintenancePolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8364,7 +7848,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster id) of the cluster to set maintenance\npolicy.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster id) of the cluster to set maintenance policy. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -8397,10 +7881,8 @@
 }
 
 // SetMasterAuth: Sets master auth materials. Currently supports
-// changing the admin password
-// or a specific cluster, either via password generation or explicitly
-// setting
-// the password.
+// changing the admin password or a specific cluster, either via
+// password generation or explicitly setting the password.
 func (r *ProjectsLocationsClustersService) SetMasterAuth(name string, setmasterauthrequest *SetMasterAuthRequest) *ProjectsLocationsClustersSetMasterAuthCall {
 	c := &ProjectsLocationsClustersSetMasterAuthCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -8435,7 +7917,7 @@
 
 func (c *ProjectsLocationsClustersSetMasterAuthCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8499,7 +7981,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets master auth materials. Currently supports changing the admin password\nor a specific cluster, either via password generation or explicitly setting\nthe password.",
+	//   "description": "Sets master auth materials. Currently supports changing the admin password or a specific cluster, either via password generation or explicitly setting the password.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:setMasterAuth",
 	//   "httpMethod": "POST",
 	//   "id": "container.projects.locations.clusters.setMasterAuth",
@@ -8508,7 +7990,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster) of the cluster to set auth.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster) of the cluster to set auth. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -8575,7 +8057,7 @@
 
 func (c *ProjectsLocationsClustersSetMonitoringCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8648,7 +8130,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster) of the cluster to set monitoring.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster) of the cluster to set monitoring. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -8715,7 +8197,7 @@
 
 func (c *ProjectsLocationsClustersSetNetworkPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8788,7 +8270,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster id) of the cluster to set networking\npolicy. Specified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster id) of the cluster to set networking policy. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -8855,7 +8337,7 @@
 
 func (c *ProjectsLocationsClustersSetResourceLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8928,7 +8410,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster id) of the cluster to set labels.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster id) of the cluster to set labels. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -8995,7 +8477,7 @@
 
 func (c *ProjectsLocationsClustersStartIpRotationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9068,7 +8550,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster id) of the cluster to start IP\nrotation. Specified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster id) of the cluster to start IP rotation. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -9135,7 +8617,7 @@
 
 func (c *ProjectsLocationsClustersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9208,7 +8690,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster) of the cluster to update. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -9275,7 +8757,7 @@
 
 func (c *ProjectsLocationsClustersUpdateMasterCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9348,7 +8830,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster) of the cluster to update.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster) of the cluster to update. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -9415,7 +8897,7 @@
 
 func (c *ProjectsLocationsClustersNodePoolsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9488,7 +8970,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "The parent (project, location, cluster id) where the node pool will be\ncreated. Specified in the format\n`projects/*/locations/*/clusters/*`.",
+	//       "description": "The parent (project, location, cluster id) where the node pool will be created. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -9527,40 +9009,35 @@
 }
 
 // ClusterId sets the optional parameter "clusterId": Required.
-// Deprecated. The name of the cluster.
-// This field has been deprecated and replaced by the name field.
+// Deprecated. The name of the cluster. This field has been deprecated
+// and replaced by the name field.
 func (c *ProjectsLocationsClustersNodePoolsDeleteCall) ClusterId(clusterId string) *ProjectsLocationsClustersNodePoolsDeleteCall {
 	c.urlParams_.Set("clusterId", clusterId)
 	return c
 }
 
 // NodePoolId sets the optional parameter "nodePoolId": Required.
-// Deprecated. The name of the node pool to delete.
-// This field has been deprecated and replaced by the name field.
+// Deprecated. The name of the node pool to delete. This field has been
+// deprecated and replaced by the name field.
 func (c *ProjectsLocationsClustersNodePoolsDeleteCall) NodePoolId(nodePoolId string) *ProjectsLocationsClustersNodePoolsDeleteCall {
 	c.urlParams_.Set("nodePoolId", nodePoolId)
 	return c
 }
 
 // ProjectId sets the optional parameter "projectId": Required.
-// Deprecated. The Google Developers Console [project ID or
-// project
-// number](https://developers.google.com/console/help/new/#projec
-// tnumber).
-// This field has been deprecated and replaced by the name field.
+// Deprecated. The Google Developers Console [project ID or project
+// number](https://developers.google.com/console/help/new/#projectnumber)
+// . This field has been deprecated and replaced by the name field.
 func (c *ProjectsLocationsClustersNodePoolsDeleteCall) ProjectId(projectId string) *ProjectsLocationsClustersNodePoolsDeleteCall {
 	c.urlParams_.Set("projectId", projectId)
 	return c
 }
 
 // Zone sets the optional parameter "zone": Required. Deprecated. The
-// name of the Google Compute
-// Engine
+// name of the Google Compute Engine
 // [zone](https://cloud.google.com/compute/docs/zones#available) in
-// which the
-// cluster resides. This field has been deprecated and replaced by the
-// name
-// field.
+// which the cluster resides. This field has been deprecated and
+// replaced by the name field.
 func (c *ProjectsLocationsClustersNodePoolsDeleteCall) Zone(zone string) *ProjectsLocationsClustersNodePoolsDeleteCall {
 	c.urlParams_.Set("zone", zone)
 	return c
@@ -9593,7 +9070,7 @@
 
 func (c *ProjectsLocationsClustersNodePoolsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9661,29 +9138,29 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "The name (project, location, cluster, node pool id) of the node pool to\ndelete. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+	//       "description": "The name (project, location, cluster, node pool id) of the node pool to delete. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "nodePoolId": {
-	//       "description": "Required. Deprecated. The name of the node pool to delete.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the node pool to delete. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -9718,40 +9195,35 @@
 }
 
 // ClusterId sets the optional parameter "clusterId": Required.
-// Deprecated. The name of the cluster.
-// This field has been deprecated and replaced by the name field.
+// Deprecated. The name of the cluster. This field has been deprecated
+// and replaced by the name field.
 func (c *ProjectsLocationsClustersNodePoolsGetCall) ClusterId(clusterId string) *ProjectsLocationsClustersNodePoolsGetCall {
 	c.urlParams_.Set("clusterId", clusterId)
 	return c
 }
 
 // NodePoolId sets the optional parameter "nodePoolId": Required.
-// Deprecated. The name of the node pool.
-// This field has been deprecated and replaced by the name field.
+// Deprecated. The name of the node pool. This field has been deprecated
+// and replaced by the name field.
 func (c *ProjectsLocationsClustersNodePoolsGetCall) NodePoolId(nodePoolId string) *ProjectsLocationsClustersNodePoolsGetCall {
 	c.urlParams_.Set("nodePoolId", nodePoolId)
 	return c
 }
 
 // ProjectId sets the optional parameter "projectId": Required.
-// Deprecated. The Google Developers Console [project ID or
-// project
-// number](https://developers.google.com/console/help/new/#projec
-// tnumber).
-// This field has been deprecated and replaced by the name field.
+// Deprecated. The Google Developers Console [project ID or project
+// number](https://developers.google.com/console/help/new/#projectnumber)
+// . This field has been deprecated and replaced by the name field.
 func (c *ProjectsLocationsClustersNodePoolsGetCall) ProjectId(projectId string) *ProjectsLocationsClustersNodePoolsGetCall {
 	c.urlParams_.Set("projectId", projectId)
 	return c
 }
 
 // Zone sets the optional parameter "zone": Required. Deprecated. The
-// name of the Google Compute
-// Engine
+// name of the Google Compute Engine
 // [zone](https://cloud.google.com/compute/docs/zones#available) in
-// which the
-// cluster resides. This field has been deprecated and replaced by the
-// name
-// field.
+// which the cluster resides. This field has been deprecated and
+// replaced by the name field.
 func (c *ProjectsLocationsClustersNodePoolsGetCall) Zone(zone string) *ProjectsLocationsClustersNodePoolsGetCall {
 	c.urlParams_.Set("zone", zone)
 	return c
@@ -9794,7 +9266,7 @@
 
 func (c *ProjectsLocationsClustersNodePoolsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9865,29 +9337,29 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "The name (project, location, cluster, node pool id) of the node pool to\nget. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+	//       "description": "The name (project, location, cluster, node pool id) of the node pool to get. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "nodePoolId": {
-	//       "description": "Required. Deprecated. The name of the node pool.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the node pool. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -9922,32 +9394,27 @@
 }
 
 // ClusterId sets the optional parameter "clusterId": Required.
-// Deprecated. The name of the cluster.
-// This field has been deprecated and replaced by the parent field.
+// Deprecated. The name of the cluster. This field has been deprecated
+// and replaced by the parent field.
 func (c *ProjectsLocationsClustersNodePoolsListCall) ClusterId(clusterId string) *ProjectsLocationsClustersNodePoolsListCall {
 	c.urlParams_.Set("clusterId", clusterId)
 	return c
 }
 
 // ProjectId sets the optional parameter "projectId": Required.
-// Deprecated. The Google Developers Console [project ID or
-// project
-// number](https://developers.google.com/console/help/new/#projec
-// tnumber).
-// This field has been deprecated and replaced by the parent field.
+// Deprecated. The Google Developers Console [project ID or project
+// number](https://developers.google.com/console/help/new/#projectnumber)
+// . This field has been deprecated and replaced by the parent field.
 func (c *ProjectsLocationsClustersNodePoolsListCall) ProjectId(projectId string) *ProjectsLocationsClustersNodePoolsListCall {
 	c.urlParams_.Set("projectId", projectId)
 	return c
 }
 
 // Zone sets the optional parameter "zone": Required. Deprecated. The
-// name of the Google Compute
-// Engine
+// name of the Google Compute Engine
 // [zone](https://cloud.google.com/compute/docs/zones#available) in
-// which the
-// cluster resides. This field has been deprecated and replaced by the
-// parent
-// field.
+// which the cluster resides. This field has been deprecated and
+// replaced by the parent field.
 func (c *ProjectsLocationsClustersNodePoolsListCall) Zone(zone string) *ProjectsLocationsClustersNodePoolsListCall {
 	c.urlParams_.Set("zone", zone)
 	return c
@@ -9990,7 +9457,7 @@
 
 func (c *ProjectsLocationsClustersNodePoolsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10061,24 +9528,24 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the parent field.",
+	//       "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "The parent (project, location, cluster id) where the node pools will be\nlisted. Specified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The parent (project, location, cluster id) where the node pools will be listed. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the parent field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -10105,8 +9572,7 @@
 	header_                        http.Header
 }
 
-// Rollback: Rolls back a previously Aborted or Failed NodePool
-// upgrade.
+// Rollback: Rolls back a previously Aborted or Failed NodePool upgrade.
 // This makes no changes if the last upgrade successfully completed.
 func (r *ProjectsLocationsClustersNodePoolsService) Rollback(name string, rollbacknodepoolupgraderequest *RollbackNodePoolUpgradeRequest) *ProjectsLocationsClustersNodePoolsRollbackCall {
 	c := &ProjectsLocationsClustersNodePoolsRollbackCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -10142,7 +9608,7 @@
 
 func (c *ProjectsLocationsClustersNodePoolsRollbackCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10206,7 +9672,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Rolls back a previously Aborted or Failed NodePool upgrade.\nThis makes no changes if the last upgrade successfully completed.",
+	//   "description": "Rolls back a previously Aborted or Failed NodePool upgrade. This makes no changes if the last upgrade successfully completed.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}:rollback",
 	//   "httpMethod": "POST",
 	//   "id": "container.projects.locations.clusters.nodePools.rollback",
@@ -10215,7 +9681,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster, node pool id) of the node poll to\nrollback upgrade.\nSpecified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
+	//       "description": "The name (project, location, cluster, node pool id) of the node poll to rollback upgrade. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
 	//       "required": true,
@@ -10283,7 +9749,7 @@
 
 func (c *ProjectsLocationsClustersNodePoolsSetAutoscalingCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10356,7 +9822,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster, node pool) of the node pool to set\nautoscaler settings. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+	//       "description": "The name (project, location, cluster, node pool) of the node pool to set autoscaler settings. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
 	//       "required": true,
@@ -10423,7 +9889,7 @@
 
 func (c *ProjectsLocationsClustersNodePoolsSetManagementCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10496,7 +9962,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster, node pool id) of the node pool to set\nmanagement properties. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+	//       "description": "The name (project, location, cluster, node pool id) of the node pool to set management properties. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
 	//       "required": true,
@@ -10563,7 +10029,7 @@
 
 func (c *ProjectsLocationsClustersNodePoolsSetSizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10636,7 +10102,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster, node pool id) of the node pool to set\nsize.\nSpecified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
+	//       "description": "The name (project, location, cluster, node pool id) of the node pool to set size. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
 	//       "required": true,
@@ -10704,7 +10170,7 @@
 
 func (c *ProjectsLocationsClustersNodePoolsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10777,7 +10243,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, cluster, node pool) of the node pool to\nupdate. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+	//       "description": "The name (project, location, cluster, node pool) of the node pool to update. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$",
 	//       "required": true,
@@ -10810,16 +10276,10 @@
 }
 
 // GetOpenidConfiguration: Gets the OIDC discovery document for the
-// cluster.
-// See the
-// [OpenID Connect Discovery
-// 1.0
-// specification](https://openid.net/specs/openid-connect-discovery-1
-// _0.html)
-// for details.
-// This API is not yet intended for general use, and is not available
-// for all
-// clusters.
+// cluster. See the [OpenID Connect Discovery 1.0
+// specification](https://openid.net/specs/openid-connect-discovery-1_0.h
+// tml) for details. This API is not yet intended for general use, and
+// is not available for all clusters.
 func (r *ProjectsLocationsClustersWellKnownService) GetOpenidConfiguration(parent string) *ProjectsLocationsClustersWellKnownGetOpenidConfigurationCall {
 	c := &ProjectsLocationsClustersWellKnownGetOpenidConfigurationCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -10863,7 +10323,7 @@
 
 func (c *ProjectsLocationsClustersWellKnownGetOpenidConfigurationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10925,7 +10385,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the OIDC discovery document for the cluster.\nSee the\n[OpenID Connect Discovery 1.0\nspecification](https://openid.net/specs/openid-connect-discovery-1_0.html)\nfor details.\nThis API is not yet intended for general use, and is not available for all\nclusters.",
+	//   "description": "Gets the OIDC discovery document for the cluster. See the [OpenID Connect Discovery 1.0 specification](https://openid.net/specs/openid-connect-discovery-1_0.html) for details. This API is not yet intended for general use, and is not available for all clusters.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/.well-known/openid-configuration",
 	//   "httpMethod": "GET",
 	//   "id": "container.projects.locations.clusters.well-known.getOpenid-configuration",
@@ -10934,7 +10394,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "The cluster (project, location, cluster id) to get the discovery document\nfor. Specified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The cluster (project, location, cluster id) to get the discovery document for. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$",
 	//       "required": true,
@@ -10995,7 +10455,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11068,7 +10528,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, operation id) of the operation to cancel.\nSpecified in the format `projects/*/locations/*/operations/*`.",
+	//       "description": "The name (project, location, operation id) of the operation to cancel. Specified in the format `projects/*/locations/*/operations/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
 	//       "required": true,
@@ -11108,32 +10568,27 @@
 }
 
 // OperationId sets the optional parameter "operationId": Required.
-// Deprecated. The server-assigned `name` of the operation.
-// This field has been deprecated and replaced by the name field.
+// Deprecated. The server-assigned `name` of the operation. This field
+// has been deprecated and replaced by the name field.
 func (c *ProjectsLocationsOperationsGetCall) OperationId(operationId string) *ProjectsLocationsOperationsGetCall {
 	c.urlParams_.Set("operationId", operationId)
 	return c
 }
 
 // ProjectId sets the optional parameter "projectId": Required.
-// Deprecated. The Google Developers Console [project ID or
-// project
-// number](https://support.google.com/cloud/answer/6158840).
-// This
-//  field has been deprecated and replaced by the name field.
+// Deprecated. The Google Developers Console [project ID or project
+// number](https://support.google.com/cloud/answer/6158840). This field
+// has been deprecated and replaced by the name field.
 func (c *ProjectsLocationsOperationsGetCall) ProjectId(projectId string) *ProjectsLocationsOperationsGetCall {
 	c.urlParams_.Set("projectId", projectId)
 	return c
 }
 
 // Zone sets the optional parameter "zone": Required. Deprecated. The
-// name of the Google Compute
-// Engine
+// name of the Google Compute Engine
 // [zone](https://cloud.google.com/compute/docs/zones#available) in
-// which the
-// cluster resides. This field has been deprecated and replaced by the
-// name
-// field.
+// which the cluster resides. This field has been deprecated and
+// replaced by the name field.
 func (c *ProjectsLocationsOperationsGetCall) Zone(zone string) *ProjectsLocationsOperationsGetCall {
 	c.urlParams_.Set("zone", zone)
 	return c
@@ -11176,7 +10631,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11247,24 +10702,24 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, operation id) of the operation to get.\nSpecified in the format `projects/*/locations/*/operations/*`.",
+	//       "description": "The name (project, location, operation id) of the operation to get. Specified in the format `projects/*/locations/*/operations/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "operationId": {
-	//       "description": "Required. Deprecated. The server-assigned `name` of the operation.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -11300,24 +10755,19 @@
 }
 
 // ProjectId sets the optional parameter "projectId": Required.
-// Deprecated. The Google Developers Console [project ID or
-// project
-// number](https://support.google.com/cloud/answer/6158840).
-// This
-//  field has been deprecated and replaced by the parent field.
+// Deprecated. The Google Developers Console [project ID or project
+// number](https://support.google.com/cloud/answer/6158840). This field
+// has been deprecated and replaced by the parent field.
 func (c *ProjectsLocationsOperationsListCall) ProjectId(projectId string) *ProjectsLocationsOperationsListCall {
 	c.urlParams_.Set("projectId", projectId)
 	return c
 }
 
 // Zone sets the optional parameter "zone": Required. Deprecated. The
-// name of the Google Compute
-// Engine
+// name of the Google Compute Engine
 // [zone](https://cloud.google.com/compute/docs/zones#available) to
-// return
-// operations for, or `-` for all zones. This field has been deprecated
-// and
-// replaced by the parent field.
+// return operations for, or `-` for all zones. This field has been
+// deprecated and replaced by the parent field.
 func (c *ProjectsLocationsOperationsListCall) Zone(zone string) *ProjectsLocationsOperationsListCall {
 	c.urlParams_.Set("zone", zone)
 	return c
@@ -11360,7 +10810,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11431,19 +10881,19 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "The parent (project and location) where the operations will be listed.\nSpecified in the format `projects/*/locations/*`.\nLocation \"-\" matches all zones and all regions.",
+	//       "description": "The parent (project and location) where the operations will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the parent field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) to return\noperations for, or `-` for all zones. This field has been deprecated and\nreplaced by the parent field.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for, or `-` for all zones. This field has been deprecated and replaced by the parent field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -11481,8 +10931,8 @@
 }
 
 // Name sets the optional parameter "name": The name (project and
-// location) of the server config to get,
-// specified in the format `projects/*/locations/*`.
+// location) of the server config to get, specified in the format
+// `projects/*/locations/*`.
 func (c *ProjectsZonesGetServerconfigCall) Name(name string) *ProjectsZonesGetServerconfigCall {
 	c.urlParams_.Set("name", name)
 	return c
@@ -11525,7 +10975,7 @@
 
 func (c *ProjectsZonesGetServerconfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11598,18 +11048,18 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project and location) of the server config to get,\nspecified in the format `projects/*/locations/*`.",
+	//       "description": "The name (project and location) of the server config to get, specified in the format `projects/*/locations/*`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) to return\noperations for. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -11676,7 +11126,7 @@
 
 func (c *ProjectsZonesClustersAddonsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11753,19 +11203,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -11835,7 +11285,7 @@
 
 func (c *ProjectsZonesClustersCompleteIpRotationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11912,19 +11362,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -11957,24 +11407,14 @@
 }
 
 // Create: Creates a cluster, consisting of the specified number and
-// type of Google
-// Compute Engine instances.
-//
-// By default, the cluster is created in the
-// project's
-// [default
-// network](https://cloud.google.com/compute/docs/netw
-// orks-and-firewalls#networks).
-//
-// One firewall is added for the cluster. After cluster creation,
-// the Kubelet creates routes for each node to allow the containers
-// on that node to communicate with all other instances in
-// the
-// cluster.
-//
-// Finally, an entry is added to the project's global metadata
-// indicating
-// which CIDR range the cluster is using.
+// type of Google Compute Engine instances. By default, the cluster is
+// created in the project's [default
+// network](https://cloud.google.com/compute/docs/networks-and-firewalls#
+// networks). One firewall is added for the cluster. After cluster
+// creation, the Kubelet creates routes for each node to allow the
+// containers on that node to communicate with all other instances in
+// the cluster. Finally, an entry is added to the project's global
+// metadata indicating which CIDR range the cluster is using.
 func (r *ProjectsZonesClustersService) Create(projectId string, zone string, createclusterrequest *CreateClusterRequest) *ProjectsZonesClustersCreateCall {
 	c := &ProjectsZonesClustersCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -12010,7 +11450,7 @@
 
 func (c *ProjectsZonesClustersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12075,7 +11515,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a cluster, consisting of the specified number and type of Google\nCompute Engine instances.\n\nBy default, the cluster is created in the project's\n[default\nnetwork](https://cloud.google.com/compute/docs/networks-and-firewalls#networks).\n\nOne firewall is added for the cluster. After cluster creation,\nthe Kubelet creates routes for each node to allow the containers\non that node to communicate with all other instances in the\ncluster.\n\nFinally, an entry is added to the project's global metadata indicating\nwhich CIDR range the cluster is using.",
+	//   "description": "Creates a cluster, consisting of the specified number and type of Google Compute Engine instances. By default, the cluster is created in the project's [default network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks). One firewall is added for the cluster. After cluster creation, the Kubelet creates routes for each node to allow the containers on that node to communicate with all other instances in the cluster. Finally, an entry is added to the project's global metadata indicating which CIDR range the cluster is using.",
 	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters",
 	//   "httpMethod": "POST",
 	//   "id": "container.projects.zones.clusters.create",
@@ -12085,13 +11525,13 @@
 	//   ],
 	//   "parameters": {
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the parent field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -12124,17 +11564,11 @@
 }
 
 // Delete: Deletes the cluster, including the Kubernetes endpoint and
-// all worker
-// nodes.
-//
-// Firewalls and routes that were configured during cluster creation
-// are also deleted.
-//
-// Other Google Compute Engine resources that might be in use by the
-// cluster,
-// such as load balancer resources, are not deleted if they weren't
-// present
-// when the cluster was initially created.
+// all worker nodes. Firewalls and routes that were configured during
+// cluster creation are also deleted. Other Google Compute Engine
+// resources that might be in use by the cluster, such as load balancer
+// resources, are not deleted if they weren't present when the cluster
+// was initially created.
 func (r *ProjectsZonesClustersService) Delete(projectId string, zone string, clusterId string) *ProjectsZonesClustersDeleteCall {
 	c := &ProjectsZonesClustersDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -12144,8 +11578,8 @@
 }
 
 // Name sets the optional parameter "name": The name (project, location,
-// cluster) of the cluster to delete.
-// Specified in the format `projects/*/locations/*/clusters/*`.
+// cluster) of the cluster to delete. Specified in the format
+// `projects/*/locations/*/clusters/*`.
 func (c *ProjectsZonesClustersDeleteCall) Name(name string) *ProjectsZonesClustersDeleteCall {
 	c.urlParams_.Set("name", name)
 	return c
@@ -12178,7 +11612,7 @@
 
 func (c *ProjectsZonesClustersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12239,7 +11673,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes the cluster, including the Kubernetes endpoint and all worker\nnodes.\n\nFirewalls and routes that were configured during cluster creation\nare also deleted.\n\nOther Google Compute Engine resources that might be in use by the cluster,\nsuch as load balancer resources, are not deleted if they weren't present\nwhen the cluster was initially created.",
+	//   "description": "Deletes the cluster, including the Kubernetes endpoint and all worker nodes. Firewalls and routes that were configured during cluster creation are also deleted. Other Google Compute Engine resources that might be in use by the cluster, such as load balancer resources, are not deleted if they weren't present when the cluster was initially created.",
 	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "container.projects.zones.clusters.delete",
@@ -12250,24 +11684,24 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster to delete.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster to delete. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "The name (project, location, cluster) of the cluster to delete.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster) of the cluster to delete. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -12307,8 +11741,8 @@
 }
 
 // Name sets the optional parameter "name": The name (project, location,
-// cluster) of the cluster to retrieve.
-// Specified in the format `projects/*/locations/*/clusters/*`.
+// cluster) of the cluster to retrieve. Specified in the format
+// `projects/*/locations/*/clusters/*`.
 func (c *ProjectsZonesClustersGetCall) Name(name string) *ProjectsZonesClustersGetCall {
 	c.urlParams_.Set("name", name)
 	return c
@@ -12351,7 +11785,7 @@
 
 func (c *ProjectsZonesClustersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12426,24 +11860,24 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster to retrieve.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster to retrieve. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "The name (project, location, cluster) of the cluster to retrieve.\nSpecified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The name (project, location, cluster) of the cluster to retrieve. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -12511,7 +11945,7 @@
 
 func (c *ProjectsZonesClustersLegacyAbacCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12588,19 +12022,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster to update.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -12633,8 +12067,7 @@
 }
 
 // List: Lists all clusters owned by a project in either the specified
-// zone or all
-// zones.
+// zone or all zones.
 func (r *ProjectsZonesClustersService) List(projectId string, zone string) *ProjectsZonesClustersListCall {
 	c := &ProjectsZonesClustersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -12643,9 +12076,9 @@
 }
 
 // Parent sets the optional parameter "parent": The parent (project and
-// location) where the clusters will be listed.
-// Specified in the format `projects/*/locations/*`.
-// Location "-" matches all zones and all regions.
+// location) where the clusters will be listed. Specified in the format
+// `projects/*/locations/*`. Location "-" matches all zones and all
+// regions.
 func (c *ProjectsZonesClustersListCall) Parent(parent string) *ProjectsZonesClustersListCall {
 	c.urlParams_.Set("parent", parent)
 	return c
@@ -12688,7 +12121,7 @@
 
 func (c *ProjectsZonesClustersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12751,7 +12184,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists all clusters owned by a project in either the specified zone or all\nzones.",
+	//   "description": "Lists all clusters owned by a project in either the specified zone or all zones.",
 	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters",
 	//   "httpMethod": "GET",
 	//   "id": "container.projects.zones.clusters.list",
@@ -12761,18 +12194,18 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "The parent (project and location) where the clusters will be listed.\nSpecified in the format `projects/*/locations/*`.\nLocation \"-\" matches all zones and all regions.",
+	//       "description": "The parent (project and location) where the clusters will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the parent field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides, or \"-\" for all zones. This field has been deprecated and\nreplaced by the parent field.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides, or \"-\" for all zones. This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -12802,13 +12235,10 @@
 	header_             http.Header
 }
 
-// Locations: Sets the locations for a specific cluster.
-// Deprecated.
-// Use
-// [projects.locations.clusters.update](https://cloud.google.com/kube
-// rnetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters/
-// update)
-// instead.
+// Locations: Sets the locations for a specific cluster. Deprecated. Use
+// [projects.locations.clusters.update](https://cloud.google.com/kubernet
+// es-engine/docs/reference/rest/v1beta1/projects.locations.clusters/upda
+// te) instead.
 func (r *ProjectsZonesClustersService) Locations(projectId string, zone string, clusterId string, setlocationsrequest *SetLocationsRequest) *ProjectsZonesClustersLocationsCall {
 	c := &ProjectsZonesClustersLocationsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -12845,7 +12275,7 @@
 
 func (c *ProjectsZonesClustersLocationsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12911,7 +12341,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the locations for a specific cluster.\nDeprecated. Use\n[projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters/update)\ninstead.",
+	//   "description": "Sets the locations for a specific cluster. Deprecated. Use [projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters/update) instead.",
 	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/locations",
 	//   "httpMethod": "POST",
 	//   "id": "container.projects.zones.clusters.locations",
@@ -12922,19 +12352,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -13004,7 +12434,7 @@
 
 func (c *ProjectsZonesClustersLoggingCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13081,19 +12511,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -13163,7 +12593,7 @@
 
 func (c *ProjectsZonesClustersMasterCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13240,19 +12670,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -13322,7 +12752,7 @@
 
 func (c *ProjectsZonesClustersMonitoringCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13399,19 +12829,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -13481,7 +12911,7 @@
 
 func (c *ProjectsZonesClustersResourceLabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13558,19 +12988,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -13640,7 +13070,7 @@
 
 func (c *ProjectsZonesClustersSetMaintenancePolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13723,13 +13153,13 @@
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).",
+	//       "description": "Required. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840).",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides.",
+	//       "description": "Required. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -13763,10 +13193,8 @@
 }
 
 // SetMasterAuth: Sets master auth materials. Currently supports
-// changing the admin password
-// or a specific cluster, either via password generation or explicitly
-// setting
-// the password.
+// changing the admin password or a specific cluster, either via
+// password generation or explicitly setting the password.
 func (r *ProjectsZonesClustersService) SetMasterAuth(projectId string, zone string, clusterId string, setmasterauthrequest *SetMasterAuthRequest) *ProjectsZonesClustersSetMasterAuthCall {
 	c := &ProjectsZonesClustersSetMasterAuthCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -13803,7 +13231,7 @@
 
 func (c *ProjectsZonesClustersSetMasterAuthCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13869,7 +13297,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets master auth materials. Currently supports changing the admin password\nor a specific cluster, either via password generation or explicitly setting\nthe password.",
+	//   "description": "Sets master auth materials. Currently supports changing the admin password or a specific cluster, either via password generation or explicitly setting the password.",
 	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}:setMasterAuth",
 	//   "httpMethod": "POST",
 	//   "id": "container.projects.zones.clusters.setMasterAuth",
@@ -13880,19 +13308,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -13962,7 +13390,7 @@
 
 func (c *ProjectsZonesClustersSetNetworkPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14039,19 +13467,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -14121,7 +13549,7 @@
 
 func (c *ProjectsZonesClustersStartIpRotationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14198,19 +13626,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -14280,7 +13708,7 @@
 
 func (c *ProjectsZonesClustersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14357,19 +13785,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -14441,7 +13869,7 @@
 
 func (c *ProjectsZonesClustersNodePoolsAutoscalingCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14520,25 +13948,25 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "nodePoolId": {
-	//       "description": "Required. Deprecated. The name of the node pool to upgrade.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -14608,7 +14036,7 @@
 
 func (c *ProjectsZonesClustersNodePoolsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14685,19 +14113,19 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the parent field.",
+	//       "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the parent field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -14741,10 +14169,8 @@
 }
 
 // Name sets the optional parameter "name": The name (project, location,
-// cluster, node pool id) of the node pool to
-// delete. Specified in the
-// format
-// `projects/*/locations/*/clusters/*/nodePools/*`.
+// cluster, node pool id) of the node pool to delete. Specified in the
+// format `projects/*/locations/*/clusters/*/nodePools/*`.
 func (c *ProjectsZonesClustersNodePoolsDeleteCall) Name(name string) *ProjectsZonesClustersNodePoolsDeleteCall {
 	c.urlParams_.Set("name", name)
 	return c
@@ -14777,7 +14203,7 @@
 
 func (c *ProjectsZonesClustersNodePoolsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14851,30 +14277,30 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "The name (project, location, cluster, node pool id) of the node pool to\ndelete. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+	//       "description": "The name (project, location, cluster, node pool id) of the node pool to delete. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "nodePoolId": {
-	//       "description": "Required. Deprecated. The name of the node pool to delete.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the node pool to delete. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -14916,10 +14342,8 @@
 }
 
 // Name sets the optional parameter "name": The name (project, location,
-// cluster, node pool id) of the node pool to
-// get. Specified in the
-// format
-// `projects/*/locations/*/clusters/*/nodePools/*`.
+// cluster, node pool id) of the node pool to get. Specified in the
+// format `projects/*/locations/*/clusters/*/nodePools/*`.
 func (c *ProjectsZonesClustersNodePoolsGetCall) Name(name string) *ProjectsZonesClustersNodePoolsGetCall {
 	c.urlParams_.Set("name", name)
 	return c
@@ -14962,7 +14386,7 @@
 
 func (c *ProjectsZonesClustersNodePoolsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15039,30 +14463,30 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "The name (project, location, cluster, node pool id) of the node pool to\nget. Specified in the format\n`projects/*/locations/*/clusters/*/nodePools/*`.",
+	//       "description": "The name (project, location, cluster, node pool id) of the node pool to get. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "nodePoolId": {
-	//       "description": "Required. Deprecated. The name of the node pool.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the node pool. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -15102,8 +14526,8 @@
 }
 
 // Parent sets the optional parameter "parent": The parent (project,
-// location, cluster id) where the node pools will be
-// listed. Specified in the format `projects/*/locations/*/clusters/*`.
+// location, cluster id) where the node pools will be listed. Specified
+// in the format `projects/*/locations/*/clusters/*`.
 func (c *ProjectsZonesClustersNodePoolsListCall) Parent(parent string) *ProjectsZonesClustersNodePoolsListCall {
 	c.urlParams_.Set("parent", parent)
 	return c
@@ -15146,7 +14570,7 @@
 
 func (c *ProjectsZonesClustersNodePoolsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15221,24 +14645,24 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster.\nThis field has been deprecated and replaced by the parent field.",
+	//       "description": "Required. Deprecated. The name of the cluster. This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "The parent (project, location, cluster id) where the node pools will be\nlisted. Specified in the format `projects/*/locations/*/clusters/*`.",
+	//       "description": "The parent (project, location, cluster id) where the node pools will be listed. Specified in the format `projects/*/locations/*/clusters/*`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://developers.google.com/console/help/new/#projectnumber).\nThis field has been deprecated and replaced by the parent field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber). This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the parent\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -15269,8 +14693,7 @@
 	header_                        http.Header
 }
 
-// Rollback: Rolls back a previously Aborted or Failed NodePool
-// upgrade.
+// Rollback: Rolls back a previously Aborted or Failed NodePool upgrade.
 // This makes no changes if the last upgrade successfully completed.
 func (r *ProjectsZonesClustersNodePoolsService) Rollback(projectId string, zone string, clusterId string, nodePoolId string, rollbacknodepoolupgraderequest *RollbackNodePoolUpgradeRequest) *ProjectsZonesClustersNodePoolsRollbackCall {
 	c := &ProjectsZonesClustersNodePoolsRollbackCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -15309,7 +14732,7 @@
 
 func (c *ProjectsZonesClustersNodePoolsRollbackCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15376,7 +14799,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Rolls back a previously Aborted or Failed NodePool upgrade.\nThis makes no changes if the last upgrade successfully completed.",
+	//   "description": "Rolls back a previously Aborted or Failed NodePool upgrade. This makes no changes if the last upgrade successfully completed.",
 	//   "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}:rollback",
 	//   "httpMethod": "POST",
 	//   "id": "container.projects.zones.clusters.nodePools.rollback",
@@ -15388,25 +14811,25 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster to rollback.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster to rollback. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "nodePoolId": {
-	//       "description": "Required. Deprecated. The name of the node pool to rollback.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the node pool to rollback. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -15478,7 +14901,7 @@
 
 func (c *ProjectsZonesClustersNodePoolsSetManagementCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15557,25 +14980,25 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster to update.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "nodePoolId": {
-	//       "description": "Required. Deprecated. The name of the node pool to update.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -15647,7 +15070,7 @@
 
 func (c *ProjectsZonesClustersNodePoolsSetSizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15726,25 +15149,25 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster to update.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster to update. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "nodePoolId": {
-	//       "description": "Required. Deprecated. The name of the node pool to update.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the node pool to update. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -15817,7 +15240,7 @@
 
 func (c *ProjectsZonesClustersNodePoolsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15896,25 +15319,25 @@
 	//   ],
 	//   "parameters": {
 	//     "clusterId": {
-	//       "description": "Required. Deprecated. The name of the cluster to upgrade.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the cluster to upgrade. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "nodePoolId": {
-	//       "description": "Required. Deprecated. The name of the node pool to upgrade.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The name of the node pool to upgrade. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -15984,7 +15407,7 @@
 
 func (c *ProjectsZonesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16061,19 +15484,19 @@
 	//   ],
 	//   "parameters": {
 	//     "operationId": {
-	//       "description": "Required. Deprecated. The server-assigned `name` of the operation.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\noperation resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the operation resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -16116,8 +15539,8 @@
 }
 
 // Name sets the optional parameter "name": The name (project, location,
-// operation id) of the operation to get.
-// Specified in the format `projects/*/locations/*/operations/*`.
+// operation id) of the operation to get. Specified in the format
+// `projects/*/locations/*/operations/*`.
 func (c *ProjectsZonesOperationsGetCall) Name(name string) *ProjectsZonesOperationsGetCall {
 	c.urlParams_.Set("name", name)
 	return c
@@ -16160,7 +15583,7 @@
 
 func (c *ProjectsZonesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16235,24 +15658,24 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name (project, location, operation id) of the operation to get.\nSpecified in the format `projects/*/locations/*/operations/*`.",
+	//       "description": "The name (project, location, operation id) of the operation to get. Specified in the format `projects/*/locations/*/operations/*`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "operationId": {
-	//       "description": "Required. Deprecated. The server-assigned `name` of the operation.\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The server-assigned `name` of the operation. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the name field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) in which the\ncluster resides. This field has been deprecated and replaced by the name\nfield.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) in which the cluster resides. This field has been deprecated and replaced by the name field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -16291,9 +15714,9 @@
 }
 
 // Parent sets the optional parameter "parent": The parent (project and
-// location) where the operations will be listed.
-// Specified in the format `projects/*/locations/*`.
-// Location "-" matches all zones and all regions.
+// location) where the operations will be listed. Specified in the
+// format `projects/*/locations/*`. Location "-" matches all zones and
+// all regions.
 func (c *ProjectsZonesOperationsListCall) Parent(parent string) *ProjectsZonesOperationsListCall {
 	c.urlParams_.Set("parent", parent)
 	return c
@@ -16336,7 +15759,7 @@
 
 func (c *ProjectsZonesOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16409,18 +15832,18 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "The parent (project and location) where the operations will be listed.\nSpecified in the format `projects/*/locations/*`.\nLocation \"-\" matches all zones and all regions.",
+	//       "description": "The parent (project and location) where the operations will be listed. Specified in the format `projects/*/locations/*`. Location \"-\" matches all zones and all regions.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project\nnumber](https://support.google.com/cloud/answer/6158840).\nThis field has been deprecated and replaced by the parent field.",
+	//       "description": "Required. Deprecated. The Google Developers Console [project ID or project number](https://support.google.com/cloud/answer/6158840). This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "zone": {
-	//       "description": "Required. Deprecated. The name of the Google Compute Engine\n[zone](https://cloud.google.com/compute/docs/zones#available) to return\noperations for, or `-` for all zones. This field has been deprecated and\nreplaced by the parent field.",
+	//       "description": "Required. Deprecated. The name of the Google Compute Engine [zone](https://cloud.google.com/compute/docs/zones#available) to return operations for, or `-` for all zones. This field has been deprecated and replaced by the parent field.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
diff --git a/containeranalysis/v1alpha1/containeranalysis-gen.go b/containeranalysis/v1alpha1/containeranalysis-gen.go
index 73ac0a9..502cd98 100644
--- a/containeranalysis/v1alpha1/containeranalysis-gen.go
+++ b/containeranalysis/v1alpha1/containeranalysis-gen.go
@@ -3347,7 +3347,7 @@
 
 func (c *ProjectsNotesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3495,7 +3495,7 @@
 
 func (c *ProjectsNotesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3636,7 +3636,7 @@
 
 func (c *ProjectsNotesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3782,7 +3782,7 @@
 
 func (c *ProjectsNotesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3958,7 +3958,7 @@
 
 func (c *ProjectsNotesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4142,7 +4142,7 @@
 
 func (c *ProjectsNotesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4299,7 +4299,7 @@
 
 func (c *ProjectsNotesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4447,7 +4447,7 @@
 
 func (c *ProjectsNotesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4618,7 +4618,7 @@
 
 func (c *ProjectsNotesOccurrencesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4798,7 +4798,7 @@
 
 func (c *ProjectsOccurrencesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4942,7 +4942,7 @@
 
 func (c *ProjectsOccurrencesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5083,7 +5083,7 @@
 
 func (c *ProjectsOccurrencesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5229,7 +5229,7 @@
 
 func (c *ProjectsOccurrencesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5378,7 +5378,7 @@
 
 func (c *ProjectsOccurrencesGetNotesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5529,7 +5529,7 @@
 
 func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5729,7 +5729,7 @@
 
 func (c *ProjectsOccurrencesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5940,7 +5940,7 @@
 
 func (c *ProjectsOccurrencesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6097,7 +6097,7 @@
 
 func (c *ProjectsOccurrencesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6245,7 +6245,7 @@
 
 func (c *ProjectsOccurrencesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6385,7 +6385,7 @@
 
 func (c *ProjectsOperationsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6527,7 +6527,7 @@
 
 func (c *ProjectsOperationsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6676,7 +6676,7 @@
 
 func (c *ProjectsScanConfigsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6840,7 +6840,7 @@
 
 func (c *ProjectsScanConfigsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7019,7 +7019,7 @@
 
 func (c *ProjectsScanConfigsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7179,7 +7179,7 @@
 
 func (c *ProvidersNotesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7327,7 +7327,7 @@
 
 func (c *ProvidersNotesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7468,7 +7468,7 @@
 
 func (c *ProvidersNotesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7614,7 +7614,7 @@
 
 func (c *ProvidersNotesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7790,7 +7790,7 @@
 
 func (c *ProvidersNotesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7974,7 +7974,7 @@
 
 func (c *ProvidersNotesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8131,7 +8131,7 @@
 
 func (c *ProvidersNotesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8279,7 +8279,7 @@
 
 func (c *ProvidersNotesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8450,7 +8450,7 @@
 
 func (c *ProvidersNotesOccurrencesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/containeranalysis/v1beta1/containeranalysis-gen.go b/containeranalysis/v1beta1/containeranalysis-gen.go
index 93e76e2..cbb38fb 100644
--- a/containeranalysis/v1beta1/containeranalysis-gen.go
+++ b/containeranalysis/v1beta1/containeranalysis-gen.go
@@ -3902,7 +3902,7 @@
 
 func (c *ProjectsNotesBatchCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4049,7 +4049,7 @@
 
 func (c *ProjectsNotesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4192,7 +4192,7 @@
 
 func (c *ProjectsNotesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4333,7 +4333,7 @@
 
 func (c *ProjectsNotesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4473,7 +4473,7 @@
 
 func (c *ProjectsNotesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4643,7 +4643,7 @@
 
 func (c *ProjectsNotesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4822,7 +4822,7 @@
 
 func (c *ProjectsNotesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4973,7 +4973,7 @@
 
 func (c *ProjectsNotesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5117,7 +5117,7 @@
 
 func (c *ProjectsNotesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5288,7 +5288,7 @@
 
 func (c *ProjectsNotesOccurrencesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5460,7 +5460,7 @@
 
 func (c *ProjectsOccurrencesBatchCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5600,7 +5600,7 @@
 
 func (c *ProjectsOccurrencesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5740,7 +5740,7 @@
 
 func (c *ProjectsOccurrencesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5881,7 +5881,7 @@
 
 func (c *ProjectsOccurrencesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6021,7 +6021,7 @@
 
 func (c *ProjectsOccurrencesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6172,7 +6172,7 @@
 
 func (c *ProjectsOccurrencesGetNotesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6323,7 +6323,7 @@
 
 func (c *ProjectsOccurrencesGetVulnerabilitySummaryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6493,7 +6493,7 @@
 
 func (c *ProjectsOccurrencesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6672,7 +6672,7 @@
 
 func (c *ProjectsOccurrencesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6823,7 +6823,7 @@
 
 func (c *ProjectsOccurrencesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6967,7 +6967,7 @@
 
 func (c *ProjectsOccurrencesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7116,7 +7116,7 @@
 
 func (c *ProjectsScanConfigsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7281,7 +7281,7 @@
 
 func (c *ProjectsScanConfigsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7453,7 +7453,7 @@
 
 func (c *ProjectsScanConfigsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/content/v2.1/content-gen.go b/content/v2.1/content-gen.go
index 748bce3..343f37c 100644
--- a/content/v2.1/content-gen.go
+++ b/content/v2.1/content-gen.go
@@ -13616,7 +13616,7 @@
 
 func (c *AccountsAuthinfoCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13744,7 +13744,7 @@
 
 func (c *AccountsClaimwebsiteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13888,7 +13888,7 @@
 
 func (c *AccountsCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14019,7 +14019,7 @@
 
 func (c *AccountsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14160,7 +14160,7 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14316,7 +14316,7 @@
 
 func (c *AccountsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14458,7 +14458,7 @@
 
 func (c *AccountsLinkCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14648,7 +14648,7 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14859,7 +14859,7 @@
 
 func (c *AccountsListlinksCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15037,7 +15037,7 @@
 
 func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15188,7 +15188,7 @@
 
 func (c *AccountsUpdatelabelsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15335,7 +15335,7 @@
 
 func (c *AccountstatusesCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15480,7 +15480,7 @@
 
 func (c *AccountstatusesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15662,7 +15662,7 @@
 
 func (c *AccountstatusesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15833,7 +15833,7 @@
 
 func (c *AccounttaxCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15968,7 +15968,7 @@
 
 func (c *AccounttaxGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16135,7 +16135,7 @@
 
 func (c *AccounttaxListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16304,7 +16304,7 @@
 
 func (c *AccounttaxUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16451,7 +16451,7 @@
 
 func (c *DatafeedsCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16576,7 +16576,7 @@
 
 func (c *DatafeedsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16689,7 +16689,7 @@
 
 func (c *DatafeedsFetchnowCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16841,7 +16841,7 @@
 
 func (c *DatafeedsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16985,7 +16985,7 @@
 
 func (c *DatafeedsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17148,7 +17148,7 @@
 
 func (c *DatafeedsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17318,7 +17318,7 @@
 
 func (c *DatafeedsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17465,7 +17465,7 @@
 
 func (c *DatafeedstatusesCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17622,7 +17622,7 @@
 
 func (c *DatafeedstatusesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17799,7 +17799,7 @@
 
 func (c *DatafeedstatusesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17964,7 +17964,7 @@
 
 func (c *LiasettingsCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18099,7 +18099,7 @@
 
 func (c *LiasettingsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18254,7 +18254,7 @@
 
 func (c *LiasettingsGetaccessiblegmbaccountsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18423,7 +18423,7 @@
 
 func (c *LiasettingsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18597,7 +18597,7 @@
 
 func (c *LiasettingsListposdataprovidersCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18719,7 +18719,7 @@
 
 func (c *LiasettingsRequestgmbaccessCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18870,7 +18870,7 @@
 
 func (c *LiasettingsRequestinventoryverificationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19025,7 +19025,7 @@
 
 func (c *LiasettingsSetinventoryverificationcontactCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19212,7 +19212,7 @@
 
 func (c *LiasettingsSetposdataproviderCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19374,7 +19374,7 @@
 
 func (c *LiasettingsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19521,7 +19521,7 @@
 
 func (c *LocalinventoryCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19649,7 +19649,7 @@
 
 func (c *LocalinventoryInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19799,7 +19799,7 @@
 
 func (c *OrderinvoicesCreatechargeinvoiceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19954,7 +19954,7 @@
 
 func (c *OrderinvoicesCreaterefundinvoiceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20136,7 +20136,7 @@
 
 func (c *OrderreportsListdisbursementsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20350,7 +20350,7 @@
 
 func (c *OrderreportsListtransactionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20539,7 +20539,7 @@
 
 func (c *OrderreturnsAcknowledgeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20697,7 +20697,7 @@
 
 func (c *OrderreturnsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20974,7 +20974,7 @@
 
 func (c *OrderreturnsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21232,7 +21232,7 @@
 
 func (c *OrderreturnsProcessCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21381,7 +21381,7 @@
 
 func (c *OrdersAcknowledgeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21529,7 +21529,7 @@
 
 func (c *OrdersAdvancetestorderCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21670,7 +21670,7 @@
 
 func (c *OrdersCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21819,7 +21819,7 @@
 
 func (c *OrdersCancellineitemCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21969,7 +21969,7 @@
 
 func (c *OrdersCanceltestorderbycustomerCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22117,7 +22117,7 @@
 
 func (c *OrdersCreatetestorderCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22258,7 +22258,7 @@
 
 func (c *OrdersCreatetestreturnCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22416,7 +22416,7 @@
 
 func (c *OrdersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22569,7 +22569,7 @@
 
 func (c *OrdersGetbymerchantorderidCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22731,7 +22731,7 @@
 
 func (c *OrdersGettestordertemplateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22906,7 +22906,7 @@
 
 func (c *OrdersInstorerefundlineitemCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23140,7 +23140,7 @@
 
 func (c *OrdersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23360,7 +23360,7 @@
 
 func (c *OrdersRefunditemCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23509,7 +23509,7 @@
 
 func (c *OrdersRefundorderCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23658,7 +23658,7 @@
 
 func (c *OrdersRejectreturnlineitemCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23815,7 +23815,7 @@
 
 func (c *OrdersReturnrefundlineitemCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23970,7 +23970,7 @@
 
 func (c *OrdersSetlineitemmetadataCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24120,7 +24120,7 @@
 
 func (c *OrdersShiplineitemsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24270,7 +24270,7 @@
 
 func (c *OrdersUpdatelineitemshippingdetailsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24422,7 +24422,7 @@
 
 func (c *OrdersUpdatemerchantorderidCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24573,7 +24573,7 @@
 
 func (c *OrdersUpdateshipmentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24718,7 +24718,7 @@
 
 func (c *PosCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24844,7 +24844,7 @@
 
 func (c *PosDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24977,7 +24977,7 @@
 
 func (c *PosGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25130,7 +25130,7 @@
 
 func (c *PosInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25280,7 +25280,7 @@
 
 func (c *PosInventoryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25439,7 +25439,7 @@
 
 func (c *PosListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25584,7 +25584,7 @@
 
 func (c *PosSaleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25731,7 +25731,7 @@
 
 func (c *ProductsCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25862,7 +25862,7 @@
 
 func (c *ProductsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25990,7 +25990,7 @@
 
 func (c *ProductsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26141,7 +26141,7 @@
 
 func (c *ProductsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26312,7 +26312,7 @@
 
 func (c *ProductsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26477,7 +26477,7 @@
 
 func (c *ProductstatusesCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26621,7 +26621,7 @@
 
 func (c *ProductstatusesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26802,7 +26802,7 @@
 
 func (c *ProductstatusesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26984,7 +26984,7 @@
 
 func (c *PubsubnotificationsettingsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27120,7 +27120,7 @@
 
 func (c *PubsubnotificationsettingsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27258,7 +27258,7 @@
 
 func (c *RegionalinventoryCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27387,7 +27387,7 @@
 
 func (c *RegionalinventoryInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27533,7 +27533,7 @@
 
 func (c *ReturnaddressCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27658,7 +27658,7 @@
 
 func (c *ReturnaddressDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27780,7 +27780,7 @@
 
 func (c *ReturnaddressGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27922,7 +27922,7 @@
 
 func (c *ReturnaddressInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28092,7 +28092,7 @@
 
 func (c *ReturnaddressListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28262,7 +28262,7 @@
 
 func (c *ReturnpolicyCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28387,7 +28387,7 @@
 
 func (c *ReturnpolicyDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28509,7 +28509,7 @@
 
 func (c *ReturnpolicyGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28651,7 +28651,7 @@
 
 func (c *ReturnpolicyInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28799,7 +28799,7 @@
 
 func (c *ReturnpolicyListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28944,7 +28944,7 @@
 
 func (c *SettlementreportsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29128,7 +29128,7 @@
 
 func (c *SettlementreportsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29339,7 +29339,7 @@
 
 func (c *SettlementtransactionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29519,7 +29519,7 @@
 
 func (c *ShippingsettingsCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29655,7 +29655,7 @@
 
 func (c *ShippingsettingsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29808,7 +29808,7 @@
 
 func (c *ShippingsettingsGetsupportedcarriersCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29953,7 +29953,7 @@
 
 func (c *ShippingsettingsGetsupportedholidaysCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30099,7 +30099,7 @@
 
 func (c *ShippingsettingsGetsupportedpickupservicesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30260,7 +30260,7 @@
 
 func (c *ShippingsettingsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30429,7 +30429,7 @@
 
 func (c *ShippingsettingsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/content/v2/content-gen.go b/content/v2/content-gen.go
index 0afd9a5..2e42c40 100644
--- a/content/v2/content-gen.go
+++ b/content/v2/content-gen.go
@@ -12835,7 +12835,7 @@
 
 func (c *AccountsAuthinfoCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12963,7 +12963,7 @@
 
 func (c *AccountsClaimwebsiteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13115,7 +13115,7 @@
 
 func (c *AccountsCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13261,7 +13261,7 @@
 
 func (c *AccountsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13395,7 +13395,7 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13546,7 +13546,7 @@
 
 func (c *AccountsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13693,7 +13693,7 @@
 
 func (c *AccountsLinkCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13864,7 +13864,7 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14041,7 +14041,7 @@
 
 func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14193,7 +14193,7 @@
 
 func (c *AccountstatusesCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14338,7 +14338,7 @@
 
 func (c *AccountstatusesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14520,7 +14520,7 @@
 
 func (c *AccountstatusesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14699,7 +14699,7 @@
 
 func (c *AccounttaxCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14841,7 +14841,7 @@
 
 func (c *AccounttaxGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15008,7 +15008,7 @@
 
 func (c *AccounttaxListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15185,7 +15185,7 @@
 
 func (c *AccounttaxUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15345,7 +15345,7 @@
 
 func (c *DatafeedsCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15485,7 +15485,7 @@
 
 func (c *DatafeedsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15611,7 +15611,7 @@
 
 func (c *DatafeedsFetchnowCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15768,7 +15768,7 @@
 
 func (c *DatafeedsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15920,7 +15920,7 @@
 
 func (c *DatafeedsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16088,7 +16088,7 @@
 
 func (c *DatafeedsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16266,7 +16266,7 @@
 
 func (c *DatafeedsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16418,7 +16418,7 @@
 
 func (c *DatafeedstatusesCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16575,7 +16575,7 @@
 
 func (c *DatafeedstatusesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16752,7 +16752,7 @@
 
 func (c *DatafeedstatusesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16926,7 +16926,7 @@
 
 func (c *InventoryCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17070,7 +17070,7 @@
 
 func (c *InventorySetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17237,7 +17237,7 @@
 
 func (c *LiasettingsCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17379,7 +17379,7 @@
 
 func (c *LiasettingsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17534,7 +17534,7 @@
 
 func (c *LiasettingsGetaccessiblegmbaccountsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17703,7 +17703,7 @@
 
 func (c *LiasettingsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17877,7 +17877,7 @@
 
 func (c *LiasettingsListposdataprovidersCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17999,7 +17999,7 @@
 
 func (c *LiasettingsRequestgmbaccessCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18150,7 +18150,7 @@
 
 func (c *LiasettingsRequestinventoryverificationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18305,7 +18305,7 @@
 
 func (c *LiasettingsSetinventoryverificationcontactCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18492,7 +18492,7 @@
 
 func (c *LiasettingsSetposdataproviderCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18662,7 +18662,7 @@
 
 func (c *LiasettingsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18818,7 +18818,7 @@
 
 func (c *OrderinvoicesCreatechargeinvoiceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18973,7 +18973,7 @@
 
 func (c *OrderinvoicesCreaterefundinvoiceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19155,7 +19155,7 @@
 
 func (c *OrderreportsListdisbursementsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19369,7 +19369,7 @@
 
 func (c *OrderreportsListtransactionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19567,7 +19567,7 @@
 
 func (c *OrderreturnsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19761,7 +19761,7 @@
 
 func (c *OrderreturnsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19952,7 +19952,7 @@
 
 func (c *OrdersAcknowledgeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20100,7 +20100,7 @@
 
 func (c *OrdersAdvancetestorderCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20241,7 +20241,7 @@
 
 func (c *OrdersCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20390,7 +20390,7 @@
 
 func (c *OrdersCancellineitemCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20540,7 +20540,7 @@
 
 func (c *OrdersCanceltestorderbycustomerCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20688,7 +20688,7 @@
 
 func (c *OrdersCreatetestorderCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20829,7 +20829,7 @@
 
 func (c *OrdersCreatetestreturnCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20975,7 +20975,7 @@
 
 func (c *OrdersCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21110,7 +21110,7 @@
 
 func (c *OrdersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21263,7 +21263,7 @@
 
 func (c *OrdersGetbymerchantorderidCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21425,7 +21425,7 @@
 
 func (c *OrdersGettestordertemplateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21598,7 +21598,7 @@
 
 func (c *OrdersInstorerefundlineitemCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21832,7 +21832,7 @@
 
 func (c *OrdersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22052,7 +22052,7 @@
 
 func (c *OrdersRefundCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22201,7 +22201,7 @@
 
 func (c *OrdersRejectreturnlineitemCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22351,7 +22351,7 @@
 
 func (c *OrdersReturnlineitemCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22507,7 +22507,7 @@
 
 func (c *OrdersReturnrefundlineitemCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22662,7 +22662,7 @@
 
 func (c *OrdersSetlineitemmetadataCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22812,7 +22812,7 @@
 
 func (c *OrdersShiplineitemsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22962,7 +22962,7 @@
 
 func (c *OrdersUpdatelineitemshippingdetailsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23114,7 +23114,7 @@
 
 func (c *OrdersUpdatemerchantorderidCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23265,7 +23265,7 @@
 
 func (c *OrdersUpdateshipmentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23418,7 +23418,7 @@
 
 func (c *PosCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23559,7 +23559,7 @@
 
 func (c *PosDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23697,7 +23697,7 @@
 
 func (c *PosGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23858,7 +23858,7 @@
 
 func (c *PosInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24021,7 +24021,7 @@
 
 func (c *PosInventoryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24185,7 +24185,7 @@
 
 func (c *PosListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24338,7 +24338,7 @@
 
 func (c *PosSaleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24498,7 +24498,7 @@
 
 func (c *ProductsCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24637,7 +24637,7 @@
 
 func (c *ProductsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24764,7 +24764,7 @@
 
 func (c *ProductsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24916,7 +24916,7 @@
 
 func (c *ProductsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25095,7 +25095,7 @@
 
 func (c *ProductsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25273,7 +25273,7 @@
 
 func (c *ProductstatusesCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25432,7 +25432,7 @@
 
 func (c *ProductstatusesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25635,7 +25635,7 @@
 
 func (c *ProductstatusesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25824,7 +25824,7 @@
 
 func (c *ShippingsettingsCustombatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25967,7 +25967,7 @@
 
 func (c *ShippingsettingsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26120,7 +26120,7 @@
 
 func (c *ShippingsettingsGetsupportedcarriersCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26265,7 +26265,7 @@
 
 func (c *ShippingsettingsGetsupportedholidaysCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26411,7 +26411,7 @@
 
 func (c *ShippingsettingsGetsupportedpickupservicesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26572,7 +26572,7 @@
 
 func (c *ShippingsettingsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26749,7 +26749,7 @@
 
 func (c *ShippingsettingsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/customsearch/v1/customsearch-gen.go b/customsearch/v1/customsearch-gen.go
index fe3bf58..f032ec4 100644
--- a/customsearch/v1/customsearch-gen.go
+++ b/customsearch/v1/customsearch-gen.go
@@ -1747,7 +1747,7 @@
 
 func (c *CseListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2515,7 +2515,7 @@
 
 func (c *CseSiterestrictListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/datacatalog/v1beta1/datacatalog-api.json b/datacatalog/v1beta1/datacatalog-api.json
index 33c5c14..4471250 100644
--- a/datacatalog/v1beta1/datacatalog-api.json
+++ b/datacatalog/v1beta1/datacatalog-api.json
@@ -12,7 +12,7 @@
   "baseUrl": "https://datacatalog.googleapis.com/",
   "batchPath": "batch",
   "canonicalName": "Data Catalog",
-  "description": "A fully managed and highly scalable data discovery and metadata management service.\n",
+  "description": "A fully managed and highly scalable data discovery and metadata management service. ",
   "discoveryVersion": "v1",
   "documentationLink": "https://cloud.google.com/data-catalog/docs/",
   "fullyEncodeReservedExpansion": true,
@@ -108,7 +108,7 @@
     "catalog": {
       "methods": {
         "search": {
-          "description": "Searches Data Catalog for multiple resources like entries, tags that\nmatch a query.\n\nThis is a custom method\n(https://cloud.google.com/apis/design/custom_methods) and does not return\nthe complete resource, only the resource identifier and high level\nfields. Clients can subsequentally call `Get` methods.\n\nNote that Data Catalog search queries do not guarantee full recall. Query\nresults that match your query may not be returned, even in subsequent\nresult pages. Also note that results returned (and not returned) can vary\nacross repeated search queries.\n\nSee [Data Catalog Search\nSyntax](https://cloud.google.com/data-catalog/docs/how-to/search-reference)\nfor more information.",
+          "description": "Searches Data Catalog for multiple resources like entries, tags that match a query. This is a custom method (https://cloud.google.com/apis/design/custom_methods) and does not return the complete resource, only the resource identifier and high level fields. Clients can subsequentally call `Get` methods. Note that Data Catalog search queries do not guarantee full recall. Query results that match your query may not be returned, even in subsequent result pages. Also note that results returned (and not returned) can vary across repeated search queries. See [Data Catalog Search Syntax](https://cloud.google.com/data-catalog/docs/how-to/search-reference) for more information.",
           "flatPath": "v1beta1/catalog:search",
           "httpMethod": "POST",
           "id": "datacatalog.catalog.search",
@@ -130,19 +130,19 @@
     "entries": {
       "methods": {
         "lookup": {
-          "description": "Get an entry by target resource name. This method allows clients to use\nthe resource name from the source Google Cloud Platform service to get the\nData Catalog Entry.",
+          "description": "Get an entry by target resource name. This method allows clients to use the resource name from the source Google Cloud Platform service to get the Data Catalog Entry.",
           "flatPath": "v1beta1/entries:lookup",
           "httpMethod": "GET",
           "id": "datacatalog.entries.lookup",
           "parameterOrder": [],
           "parameters": {
             "linkedResource": {
-              "description": "The full name of the Google Cloud Platform resource the Data Catalog\nentry represents. See:\nhttps://cloud.google.com/apis/design/resource_names#full_resource_name.\nFull names are case-sensitive.\n\nExamples:\n\n * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId\n * //pubsub.googleapis.com/projects/projectId/topics/topicId",
+              "description": "The full name of the Google Cloud Platform resource the Data Catalog entry represents. See: https://cloud.google.com/apis/design/resource_names#full_resource_name. Full names are case-sensitive. Examples: * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId * //pubsub.googleapis.com/projects/projectId/topics/topicId",
               "location": "query",
               "type": "string"
             },
             "sqlResource": {
-              "description": "The SQL name of the entry. SQL names are case-sensitive.\n\nExamples:\n\n  * `pubsub.project_id.topic_id`\n  * ``pubsub.project_id.`topic.id.with.dots` ``\n  * `bigquery.table.project_id.dataset_id.table_id`\n  * `bigquery.dataset.project_id.dataset_id`\n  * `datacatalog.entry.project_id.location_id.entry_group_id.entry_id`\n\n`*_id`s shoud satisfy the standard SQL rules for identifiers.\nhttps://cloud.google.com/bigquery/docs/reference/standard-sql/lexical.",
+              "description": "The SQL name of the entry. SQL names are case-sensitive. Examples: * `pubsub.project_id.topic_id` * ``pubsub.project_id.`topic.id.with.dots` `` * `bigquery.table.project_id.dataset_id.table_id` * `bigquery.dataset.project_id.dataset_id` * `datacatalog.entry.project_id.location_id.entry_group_id.entry_id` `*_id`s shoud satisfy the standard SQL rules for identifiers. https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical.",
               "location": "query",
               "type": "string"
             }
@@ -164,7 +164,7 @@
             "entryGroups": {
               "methods": {
                 "create": {
-                  "description": "A maximum of 10,000 entry groups may be created per organization across all\nlocations.\n\nUsers should enable the Data Catalog API in the project identified by\nthe `parent` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
+                  "description": "A maximum of 10,000 entry groups may be created per organization across all locations. Users should enable the Data Catalog API in the project identified by the `parent` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups",
                   "httpMethod": "POST",
                   "id": "datacatalog.projects.locations.entryGroups.create",
@@ -173,12 +173,12 @@
                   ],
                   "parameters": {
                     "entryGroupId": {
-                      "description": "Required. The id of the entry group to create.\nThe id must begin with a letter or underscore, contain only English\nletters, numbers and underscores, and be at most 64 characters.",
+                      "description": "Required. The id of the entry group to create. The id must begin with a letter or underscore, contain only English letters, numbers and underscores, and be at most 64 characters.",
                       "location": "query",
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The name of the project this entry group is in. Example:\n\n* projects/{project_id}/locations/{location}\n\nNote that this EntryGroup and its child resources may not actually be\nstored in the location in this name.",
+                      "description": "Required. The name of the project this entry group is in. Example: * projects/{project_id}/locations/{location} Note that this EntryGroup and its child resources may not actually be stored in the location in this name.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -197,7 +197,7 @@
                   ]
                 },
                 "delete": {
-                  "description": "Deletes an EntryGroup. Only entry groups that do not contain entries can be\ndeleted. Users should enable the Data Catalog API in the project\nidentified by the `name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
+                  "description": "Deletes an EntryGroup. Only entry groups that do not contain entries can be deleted. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}",
                   "httpMethod": "DELETE",
                   "id": "datacatalog.projects.locations.entryGroups.delete",
@@ -211,7 +211,7 @@
                       "type": "boolean"
                     },
                     "name": {
-                      "description": "Required. The name of the entry group. For example,\n`projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`.",
+                      "description": "Required. The name of the entry group. For example, `projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                       "required": true,
@@ -236,7 +236,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The name of the entry group. For example,\n`projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`.",
+                      "description": "Required. The name of the entry group. For example, `projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                       "required": true,
@@ -258,7 +258,7 @@
                   ]
                 },
                 "getIamPolicy": {
-                  "description": "Gets the access control policy for a resource. A `NOT_FOUND` error\nis returned if the resource does not exist. An empty policy is returned\nif the resource exists but does not have a policy set on it.\n\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nCallers must have following Google IAM permission\n  - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag\n    templates.\n  - `datacatalog.entries.getIamPolicy` to get policies on entries.\n  - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.",
+                  "description": "Gets the access control policy for a resource. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entries.getIamPolicy` to get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:getIamPolicy",
                   "httpMethod": "POST",
                   "id": "datacatalog.projects.locations.entryGroups.getIamPolicy",
@@ -267,7 +267,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                       "required": true,
@@ -295,18 +295,18 @@
                   ],
                   "parameters": {
                     "pageSize": {
-                      "description": "Optional. The maximum number of items to return. Default is 10. Max limit is 1000.\nThrows an invalid argument for `page_size \u003e 1000`.",
+                      "description": "Optional. The maximum number of items to return. Default is 10. Max limit is 1000. Throws an invalid argument for `page_size \u003e 1000`.",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "Optional. Token that specifies which page is requested. If empty, the first page is\nreturned.",
+                      "description": "Optional. Token that specifies which page is requested. If empty, the first page is returned.",
                       "location": "query",
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The name of the location that contains the entry groups, which can be\nprovided in URL format. Example:\n\n* projects/{project_id}/locations/{location}",
+                      "description": "Required. The name of the location that contains the entry groups, which can be provided in URL format. Example: * projects/{project_id}/locations/{location}",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -322,7 +322,7 @@
                   ]
                 },
                 "patch": {
-                  "description": "Updates an EntryGroup. The user should enable the Data Catalog API in the\nproject identified by the `entry_group.name` parameter (see [Data Catalog\nResource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
+                  "description": "Updates an EntryGroup. The user should enable the Data Catalog API in the project identified by the `entry_group.name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}",
                   "httpMethod": "PATCH",
                   "id": "datacatalog.projects.locations.entryGroups.patch",
@@ -331,14 +331,14 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The resource name of the entry group in URL format. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}\n\nNote that this EntryGroup and its child resources may not actually be\nstored in the location in this name.",
+                      "description": "The resource name of the entry group in URL format. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} Note that this EntryGroup and its child resources may not actually be stored in the location in this name.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                       "required": true,
                       "type": "string"
                     },
                     "updateMask": {
-                      "description": "The fields to update on the entry group. If absent or empty, all modifiable\nfields are updated.",
+                      "description": "The fields to update on the entry group. If absent or empty, all modifiable fields are updated.",
                       "format": "google-fieldmask",
                       "location": "query",
                       "type": "string"
@@ -356,7 +356,7 @@
                   ]
                 },
                 "setIamPolicy": {
-                  "description": "Sets the access control policy for a resource. Replaces any existing\npolicy.\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nCallers must have following Google IAM permission\n  - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag\n    templates.\n  - `datacatalog.entries.setIamPolicy` to set policies on entries.\n  - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups.",
+                  "description": "Sets the access control policy for a resource. Replaces any existing policy. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag templates. - `datacatalog.entries.setIamPolicy` to set policies on entries. - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:setIamPolicy",
                   "httpMethod": "POST",
                   "id": "datacatalog.projects.locations.entryGroups.setIamPolicy",
@@ -365,7 +365,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                       "required": true,
@@ -384,7 +384,7 @@
                   ]
                 },
                 "testIamPermissions": {
-                  "description": "Returns the caller's permissions on a resource.\nIf the resource does not exist, an empty set of permissions is returned\n(We don't return a `NOT_FOUND` error).\n\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nA caller is not required to have Google IAM permission to make this\nrequest.",
+                  "description": "Returns the caller's permissions on a resource. If the resource does not exist, an empty set of permissions is returned (We don't return a `NOT_FOUND` error). Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. A caller is not required to have Google IAM permission to make this request.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:testIamPermissions",
                   "httpMethod": "POST",
                   "id": "datacatalog.projects.locations.entryGroups.testIamPermissions",
@@ -393,7 +393,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                       "required": true,
@@ -416,7 +416,7 @@
                 "entries": {
                   "methods": {
                     "create": {
-                      "description": "Creates an entry. Only entries of 'FILESET' type or user-specified type can\nbe created.\n\nUsers should enable the Data Catalog API in the project identified by\nthe `parent` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).\n\nA maximum of 100,000 entries may be created per entry group.",
+                      "description": "Creates an entry. Only entries of 'FILESET' type or user-specified type can be created. Users should enable the Data Catalog API in the project identified by the `parent` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information). A maximum of 100,000 entries may be created per entry group.",
                       "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries",
                       "httpMethod": "POST",
                       "id": "datacatalog.projects.locations.entryGroups.entries.create",
@@ -430,7 +430,7 @@
                           "type": "string"
                         },
                         "parent": {
-                          "description": "Required. The name of the entry group this entry is in. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}\n\nNote that this Entry and its child resources may not actually be stored in\nthe location in this name.",
+                          "description": "Required. The name of the entry group this entry is in. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} Note that this Entry and its child resources may not actually be stored in the location in this name.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                           "required": true,
@@ -449,7 +449,7 @@
                       ]
                     },
                     "delete": {
-                      "description": "Deletes an existing entry. Only entries created through\nCreateEntry\nmethod can be deleted.\nUsers should enable the Data Catalog API in the project identified by\nthe `name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
+                      "description": "Deletes an existing entry. Only entries created through CreateEntry method can be deleted. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
                       "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}",
                       "httpMethod": "DELETE",
                       "id": "datacatalog.projects.locations.entryGroups.entries.delete",
@@ -458,7 +458,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. The name of the entry. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
+                          "description": "Required. The name of the entry. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
                           "required": true,
@@ -483,7 +483,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. The name of the entry. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
+                          "description": "Required. The name of the entry. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
                           "required": true,
@@ -499,7 +499,7 @@
                       ]
                     },
                     "getIamPolicy": {
-                      "description": "Gets the access control policy for a resource. A `NOT_FOUND` error\nis returned if the resource does not exist. An empty policy is returned\nif the resource exists but does not have a policy set on it.\n\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nCallers must have following Google IAM permission\n  - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag\n    templates.\n  - `datacatalog.entries.getIamPolicy` to get policies on entries.\n  - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.",
+                      "description": "Gets the access control policy for a resource. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entries.getIamPolicy` to get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.",
                       "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:getIamPolicy",
                       "httpMethod": "POST",
                       "id": "datacatalog.projects.locations.entryGroups.entries.getIamPolicy",
@@ -508,7 +508,7 @@
                       ],
                       "parameters": {
                         "resource": {
-                          "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                          "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
                           "required": true,
@@ -536,25 +536,25 @@
                       ],
                       "parameters": {
                         "pageSize": {
-                          "description": "The maximum number of items to return. Default is 10. Max limit is 1000.\nThrows an invalid argument for `page_size \u003e 1000`.",
+                          "description": "The maximum number of items to return. Default is 10. Max limit is 1000. Throws an invalid argument for `page_size \u003e 1000`.",
                           "format": "int32",
                           "location": "query",
                           "type": "integer"
                         },
                         "pageToken": {
-                          "description": "Token that specifies which page is requested. If empty, the first page is\nreturned.",
+                          "description": "Token that specifies which page is requested. If empty, the first page is returned.",
                           "location": "query",
                           "type": "string"
                         },
                         "parent": {
-                          "description": "Required. The name of the entry group that contains the entries, which can\nbe provided in URL format. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}",
+                          "description": "Required. The name of the entry group that contains the entries, which can be provided in URL format. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
                         "readMask": {
-                          "description": "The fields to return for each Entry. If not set or empty, all\nfields are returned.\nFor example, setting read_mask to contain only one path \"name\" will cause\nListEntries to return a list of Entries with only \"name\" field.",
+                          "description": "The fields to return for each Entry. If not set or empty, all fields are returned. For example, setting read_mask to contain only one path \"name\" will cause ListEntries to return a list of Entries with only \"name\" field.",
                           "format": "google-fieldmask",
                           "location": "query",
                           "type": "string"
@@ -569,7 +569,7 @@
                       ]
                     },
                     "patch": {
-                      "description": "Updates an existing entry.\nUsers should enable the Data Catalog API in the project identified by\nthe `entry.name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
+                      "description": "Updates an existing entry. Users should enable the Data Catalog API in the project identified by the `entry.name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
                       "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}",
                       "httpMethod": "PATCH",
                       "id": "datacatalog.projects.locations.entryGroups.entries.patch",
@@ -578,14 +578,14 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "The Data Catalog resource name of the entry in URL format. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}\n\nNote that this Entry and its child resources may not actually be stored in\nthe location in this name.",
+                          "description": "The Data Catalog resource name of the entry in URL format. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} Note that this Entry and its child resources may not actually be stored in the location in this name.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
                         "updateMask": {
-                          "description": "The fields to update on the entry. If absent or empty, all modifiable\nfields are updated.\n\nThe following fields are modifiable:\n* For entries with type `DATA_STREAM`:\n   * `schema`\n* For entries with type `FILESET`\n   * `schema`\n   * `display_name`\n   * `description`\n   * `gcs_fileset_spec`\n   * `gcs_fileset_spec.file_patterns`\n* For entries with `user_specified_type`\n   * `schema`\n   * `display_name`\n   * `description`\n   * user_specified_type\n   * user_specified_system\n   * linked_resource\n   * source_system_timestamps",
+                          "description": "The fields to update on the entry. If absent or empty, all modifiable fields are updated. The following fields are modifiable: * For entries with type `DATA_STREAM`: * `schema` * For entries with type `FILESET` * `schema` * `display_name` * `description` * `gcs_fileset_spec` * `gcs_fileset_spec.file_patterns` * For entries with `user_specified_type` * `schema` * `display_name` * `description` * user_specified_type * user_specified_system * linked_resource * source_system_timestamps",
                           "format": "google-fieldmask",
                           "location": "query",
                           "type": "string"
@@ -603,7 +603,7 @@
                       ]
                     },
                     "testIamPermissions": {
-                      "description": "Returns the caller's permissions on a resource.\nIf the resource does not exist, an empty set of permissions is returned\n(We don't return a `NOT_FOUND` error).\n\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nA caller is not required to have Google IAM permission to make this\nrequest.",
+                      "description": "Returns the caller's permissions on a resource. If the resource does not exist, an empty set of permissions is returned (We don't return a `NOT_FOUND` error). Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. A caller is not required to have Google IAM permission to make this request.",
                       "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:testIamPermissions",
                       "httpMethod": "POST",
                       "id": "datacatalog.projects.locations.entryGroups.entries.testIamPermissions",
@@ -612,7 +612,7 @@
                       ],
                       "parameters": {
                         "resource": {
-                          "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                          "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
                           "required": true,
@@ -635,7 +635,7 @@
                     "tags": {
                       "methods": {
                         "create": {
-                          "description": "Creates a tag on an Entry.\nNote: The project identified by the `parent` parameter for the\n[tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters)\nand the\n[tag\ntemplate](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters)\nused to create the tag must be from the same organization.",
+                          "description": "Creates a tag on an Entry. Note: The project identified by the `parent` parameter for the [tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be from the same organization.",
                           "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags",
                           "httpMethod": "POST",
                           "id": "datacatalog.projects.locations.entryGroups.entries.tags.create",
@@ -644,7 +644,7 @@
                           ],
                           "parameters": {
                             "parent": {
-                              "description": "Required. The name of the resource to attach this tag to. Tags can be attached to\nEntries. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}\n\nNote that this Tag and its child resources may not actually be stored in\nthe location in this name.",
+                              "description": "Required. The name of the resource to attach this tag to. Tags can be attached to Entries. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} Note that this Tag and its child resources may not actually be stored in the location in this name.",
                               "location": "path",
                               "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
                               "required": true,
@@ -672,7 +672,7 @@
                           ],
                           "parameters": {
                             "name": {
-                              "description": "Required. The name of the tag to delete. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}",
+                              "description": "Required. The name of the tag to delete. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}",
                               "location": "path",
                               "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+/tags/[^/]+$",
                               "required": true,
@@ -703,12 +703,12 @@
                               "type": "integer"
                             },
                             "pageToken": {
-                              "description": "Token that specifies which page is requested. If empty, the first page is\nreturned.",
+                              "description": "Token that specifies which page is requested. If empty, the first page is returned.",
                               "location": "query",
                               "type": "string"
                             },
                             "parent": {
-                              "description": "Required. The name of the Data Catalog resource to list the tags of. The resource\ncould be an Entry or an\nEntryGroup.\n\nExamples:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
+                              "description": "Required. The name of the Data Catalog resource to list the tags of. The resource could be an Entry or an EntryGroup. Examples: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
                               "location": "path",
                               "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
                               "required": true,
@@ -733,14 +733,14 @@
                           ],
                           "parameters": {
                             "name": {
-                              "description": "The resource name of the tag in URL format. Example:\n\n* projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}\n\nwhere `tag_id` is a system-generated identifier.\nNote that this Tag may not actually be stored in the location in this name.",
+                              "description": "The resource name of the tag in URL format. Example: * projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id} where `tag_id` is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.",
                               "location": "path",
                               "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+/tags/[^/]+$",
                               "required": true,
                               "type": "string"
                             },
                             "updateMask": {
-                              "description": "The fields to update on the Tag. If absent or empty, all modifiable fields\nare updated. Currently the only modifiable field is the field `fields`.",
+                              "description": "The fields to update on the Tag. If absent or empty, all modifiable fields are updated. Currently the only modifiable field is the field `fields`.",
                               "format": "google-fieldmask",
                               "location": "query",
                               "type": "string"
@@ -764,7 +764,7 @@
                 "tags": {
                   "methods": {
                     "create": {
-                      "description": "Creates a tag on an Entry.\nNote: The project identified by the `parent` parameter for the\n[tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters)\nand the\n[tag\ntemplate](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters)\nused to create the tag must be from the same organization.",
+                      "description": "Creates a tag on an Entry. Note: The project identified by the `parent` parameter for the [tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be from the same organization.",
                       "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags",
                       "httpMethod": "POST",
                       "id": "datacatalog.projects.locations.entryGroups.tags.create",
@@ -773,7 +773,7 @@
                       ],
                       "parameters": {
                         "parent": {
-                          "description": "Required. The name of the resource to attach this tag to. Tags can be attached to\nEntries. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}\n\nNote that this Tag and its child resources may not actually be stored in\nthe location in this name.",
+                          "description": "Required. The name of the resource to attach this tag to. Tags can be attached to Entries. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} Note that this Tag and its child resources may not actually be stored in the location in this name.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                           "required": true,
@@ -801,7 +801,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. The name of the tag to delete. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}",
+                          "description": "Required. The name of the tag to delete. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/tags/[^/]+$",
                           "required": true,
@@ -832,12 +832,12 @@
                           "type": "integer"
                         },
                         "pageToken": {
-                          "description": "Token that specifies which page is requested. If empty, the first page is\nreturned.",
+                          "description": "Token that specifies which page is requested. If empty, the first page is returned.",
                           "location": "query",
                           "type": "string"
                         },
                         "parent": {
-                          "description": "Required. The name of the Data Catalog resource to list the tags of. The resource\ncould be an Entry or an\nEntryGroup.\n\nExamples:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
+                          "description": "Required. The name of the Data Catalog resource to list the tags of. The resource could be an Entry or an EntryGroup. Examples: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
                           "required": true,
@@ -862,14 +862,14 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "The resource name of the tag in URL format. Example:\n\n* projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}\n\nwhere `tag_id` is a system-generated identifier.\nNote that this Tag may not actually be stored in the location in this name.",
+                          "description": "The resource name of the tag in URL format. Example: * projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id} where `tag_id` is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/tags/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
                         "updateMask": {
-                          "description": "The fields to update on the Tag. If absent or empty, all modifiable fields\nare updated. Currently the only modifiable field is the field `fields`.",
+                          "description": "The fields to update on the Tag. If absent or empty, all modifiable fields are updated. Currently the only modifiable field is the field `fields`.",
                           "format": "google-fieldmask",
                           "location": "query",
                           "type": "string"
@@ -893,7 +893,7 @@
             "tagTemplates": {
               "methods": {
                 "create": {
-                  "description": "Creates a tag template. The user should enable the Data Catalog API in\nthe project identified by the `parent` parameter (see [Data Catalog\nResource\nProject](https://cloud.google.com/data-catalog/docs/concepts/resource-project)\nfor more information).",
+                  "description": "Creates a tag template. The user should enable the Data Catalog API in the project identified by the `parent` parameter (see [Data Catalog Resource Project](https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates",
                   "httpMethod": "POST",
                   "id": "datacatalog.projects.locations.tagTemplates.create",
@@ -902,7 +902,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Required. The name of the project and the template location\n[region](https://cloud.google.com/data-catalog/docs/concepts/regions.\n\nExample:\n\n* projects/{project_id}/locations/us-central1",
+                      "description": "Required. The name of the project and the template location [region](https://cloud.google.com/data-catalog/docs/concepts/regions. Example: * projects/{project_id}/locations/us-central1",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -926,7 +926,7 @@
                   ]
                 },
                 "delete": {
-                  "description": "Deletes a tag template and all tags using the template.\nUsers should enable the Data Catalog API in the project identified by\nthe `name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
+                  "description": "Deletes a tag template and all tags using the template. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}",
                   "httpMethod": "DELETE",
                   "id": "datacatalog.projects.locations.tagTemplates.delete",
@@ -935,12 +935,12 @@
                   ],
                   "parameters": {
                     "force": {
-                      "description": "Required. Currently, this field must always be set to `true`.\nThis confirms the deletion of any possible tags using this template.\n`force = false` will be supported in the future.",
+                      "description": "Required. Currently, this field must always be set to `true`. This confirms the deletion of any possible tags using this template. `force = false` will be supported in the future.",
                       "location": "query",
                       "type": "boolean"
                     },
                     "name": {
-                      "description": "Required. The name of the tag template to delete. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}",
+                      "description": "Required. The name of the tag template to delete. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
                       "required": true,
@@ -965,7 +965,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The name of the tag template. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}",
+                      "description": "Required. The name of the tag template. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
                       "required": true,
@@ -981,7 +981,7 @@
                   ]
                 },
                 "getIamPolicy": {
-                  "description": "Gets the access control policy for a resource. A `NOT_FOUND` error\nis returned if the resource does not exist. An empty policy is returned\nif the resource exists but does not have a policy set on it.\n\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nCallers must have following Google IAM permission\n  - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag\n    templates.\n  - `datacatalog.entries.getIamPolicy` to get policies on entries.\n  - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.",
+                  "description": "Gets the access control policy for a resource. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entries.getIamPolicy` to get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:getIamPolicy",
                   "httpMethod": "POST",
                   "id": "datacatalog.projects.locations.tagTemplates.getIamPolicy",
@@ -990,7 +990,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
                       "required": true,
@@ -1009,7 +1009,7 @@
                   ]
                 },
                 "patch": {
-                  "description": "Updates a tag template. This method cannot be used to update the fields of\na template. The tag template fields are represented as separate resources\nand should be updated using their own create/update/delete methods.\nUsers should enable the Data Catalog API in the project identified by\nthe `tag_template.name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
+                  "description": "Updates a tag template. This method cannot be used to update the fields of a template. The tag template fields are represented as separate resources and should be updated using their own create/update/delete methods. Users should enable the Data Catalog API in the project identified by the `tag_template.name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}",
                   "httpMethod": "PATCH",
                   "id": "datacatalog.projects.locations.tagTemplates.patch",
@@ -1018,14 +1018,14 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The resource name of the tag template in URL format. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}\n\nNote that this TagTemplate and its child resources may not actually be\nstored in the location in this name.",
+                      "description": "The resource name of the tag template in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} Note that this TagTemplate and its child resources may not actually be stored in the location in this name.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
                       "required": true,
                       "type": "string"
                     },
                     "updateMask": {
-                      "description": "The field mask specifies the parts of the template to overwrite.\n\nAllowed fields:\n\n  * `display_name`\n\nIf absent or empty, all of the allowed fields above will be updated.",
+                      "description": "The field mask specifies the parts of the template to overwrite. Allowed fields: * `display_name` If absent or empty, all of the allowed fields above will be updated.",
                       "format": "google-fieldmask",
                       "location": "query",
                       "type": "string"
@@ -1043,7 +1043,7 @@
                   ]
                 },
                 "setIamPolicy": {
-                  "description": "Sets the access control policy for a resource. Replaces any existing\npolicy.\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nCallers must have following Google IAM permission\n  - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag\n    templates.\n  - `datacatalog.entries.setIamPolicy` to set policies on entries.\n  - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups.",
+                  "description": "Sets the access control policy for a resource. Replaces any existing policy. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag templates. - `datacatalog.entries.setIamPolicy` to set policies on entries. - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:setIamPolicy",
                   "httpMethod": "POST",
                   "id": "datacatalog.projects.locations.tagTemplates.setIamPolicy",
@@ -1052,7 +1052,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
                       "required": true,
@@ -1071,7 +1071,7 @@
                   ]
                 },
                 "testIamPermissions": {
-                  "description": "Returns the caller's permissions on a resource.\nIf the resource does not exist, an empty set of permissions is returned\n(We don't return a `NOT_FOUND` error).\n\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nA caller is not required to have Google IAM permission to make this\nrequest.",
+                  "description": "Returns the caller's permissions on a resource. If the resource does not exist, an empty set of permissions is returned (We don't return a `NOT_FOUND` error). Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. A caller is not required to have Google IAM permission to make this request.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:testIamPermissions",
                   "httpMethod": "POST",
                   "id": "datacatalog.projects.locations.tagTemplates.testIamPermissions",
@@ -1080,7 +1080,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
                       "required": true,
@@ -1103,7 +1103,7 @@
                 "fields": {
                   "methods": {
                     "create": {
-                      "description": "Creates a field in a tag template. The user should enable the Data Catalog\nAPI in the project identified by the `parent` parameter (see\n[Data Catalog Resource\nProject](https://cloud.google.com/data-catalog/docs/concepts/resource-project)\nfor more information).",
+                      "description": "Creates a field in a tag template. The user should enable the Data Catalog API in the project identified by the `parent` parameter (see [Data Catalog Resource Project](https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
                       "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields",
                       "httpMethod": "POST",
                       "id": "datacatalog.projects.locations.tagTemplates.fields.create",
@@ -1112,14 +1112,14 @@
                       ],
                       "parameters": {
                         "parent": {
-                          "description": "Required. The name of the project and the template location\n[region](https://cloud.google.com/data-catalog/docs/concepts/regions).\n\nExample:\n\n* projects/{project_id}/locations/us-central1/tagTemplates/{tag_template_id}",
+                          "description": "Required. The name of the project and the template location [region](https://cloud.google.com/data-catalog/docs/concepts/regions). Example: * projects/{project_id}/locations/us-central1/tagTemplates/{tag_template_id}",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
                         "tagTemplateFieldId": {
-                          "description": "Required. The ID of the tag template field to create.\nField ids can contain letters (both uppercase and lowercase), numbers\n(0-9), underscores (_) and dashes (-). Field IDs must be at least 1\ncharacter long and at most 128 characters long. Field IDs must also be\nunique within their template.",
+                          "description": "Required. The ID of the tag template field to create. Field ids can contain letters (both uppercase and lowercase), numbers (0-9), underscores (_) and dashes (-). Field IDs must be at least 1 character long and at most 128 characters long. Field IDs must also be unique within their template.",
                           "location": "query",
                           "type": "string"
                         }
@@ -1136,7 +1136,7 @@
                       ]
                     },
                     "delete": {
-                      "description": "Deletes a field in a tag template and all uses of that field.\nUsers should enable the Data Catalog API in the project identified by\nthe `name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
+                      "description": "Deletes a field in a tag template and all uses of that field. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
                       "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}",
                       "httpMethod": "DELETE",
                       "id": "datacatalog.projects.locations.tagTemplates.fields.delete",
@@ -1145,12 +1145,12 @@
                       ],
                       "parameters": {
                         "force": {
-                          "description": "Required. Currently, this field must always be set to `true`.\nThis confirms the deletion of this field from any tags using this field.\n`force = false` will be supported in the future.",
+                          "description": "Required. Currently, this field must always be set to `true`. This confirms the deletion of this field from any tags using this field. `force = false` will be supported in the future.",
                           "location": "query",
                           "type": "boolean"
                         },
                         "name": {
-                          "description": "Required. The name of the tag template field to delete. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}",
+                          "description": "Required. The name of the tag template field to delete. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$",
                           "required": true,
@@ -1166,7 +1166,7 @@
                       ]
                     },
                     "patch": {
-                      "description": "Updates a field in a tag template. This method cannot be used to update the\nfield type. Users should enable the Data Catalog API in the project\nidentified by the `name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
+                      "description": "Updates a field in a tag template. This method cannot be used to update the field type. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
                       "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}",
                       "httpMethod": "PATCH",
                       "id": "datacatalog.projects.locations.tagTemplates.fields.patch",
@@ -1175,14 +1175,14 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. The name of the tag template field. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}",
+                          "description": "Required. The name of the tag template field. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
                         "updateMask": {
-                          "description": "Optional. The field mask specifies the parts of the template to be updated.\nAllowed fields:\n\n  * `display_name`\n  * `type.enum_type`\n  * `is_required`\n\nIf `update_mask` is not set or empty, all of the allowed fields above will\nbe updated.\n\nWhen updating an enum type, the provided values will be merged with the\nexisting values. Therefore, enum values can only be added, existing enum\nvalues cannot be deleted nor renamed. Updating a template field from\noptional to required is NOT allowed.",
+                          "description": "Optional. The field mask specifies the parts of the template to be updated. Allowed fields: * `display_name` * `type.enum_type` * `is_required` If `update_mask` is not set or empty, all of the allowed fields above will be updated. When updating an enum type, the provided values will be merged with the existing values. Therefore, enum values can only be added, existing enum values cannot be deleted nor renamed. Updating a template field from optional to required is NOT allowed.",
                           "format": "google-fieldmask",
                           "location": "query",
                           "type": "string"
@@ -1200,7 +1200,7 @@
                       ]
                     },
                     "rename": {
-                      "description": "Renames a field in a tag template. The user should enable the Data Catalog\nAPI in the project identified by the `name` parameter (see [Data Catalog\nResource\nProject](https://cloud.google.com/data-catalog/docs/concepts/resource-project)\nfor more information).",
+                      "description": "Renames a field in a tag template. The user should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project](https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
                       "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}:rename",
                       "httpMethod": "POST",
                       "id": "datacatalog.projects.locations.tagTemplates.fields.rename",
@@ -1209,7 +1209,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. The name of the tag template. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}",
+                          "description": "Required. The name of the tag template. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$",
                           "required": true,
@@ -1232,7 +1232,7 @@
                     "enumValues": {
                       "methods": {
                         "rename": {
-                          "description": "Renames an enum value in a tag template. The enum values have to be unique\nwithin one enum field. Thus, an enum value cannot be renamed with a name\nused in any other enum value within the same enum field.",
+                          "description": "Renames an enum value in a tag template. The enum values have to be unique within one enum field. Thus, an enum value cannot be renamed with a name used in any other enum value within the same enum field.",
                           "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}/enumValues/{enumValuesId}:rename",
                           "httpMethod": "POST",
                           "id": "datacatalog.projects.locations.tagTemplates.fields.enumValues.rename",
@@ -1241,7 +1241,7 @@
                           ],
                           "parameters": {
                             "name": {
-                              "description": "Required. The name of the enum field value. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}/enumValues/{enum_value_display_name}",
+                              "description": "Required. The name of the enum field value. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}/enumValues/{enum_value_display_name}",
                               "location": "path",
                               "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+/enumValues/[^/]+$",
                               "required": true,
@@ -1296,7 +1296,7 @@
                   ]
                 },
                 "delete": {
-                  "description": "Deletes a taxonomy. This operation will also delete all\npolicy tags in this taxonomy along with their associated policies.",
+                  "description": "Deletes a taxonomy. This operation will also delete all policy tags in this taxonomy along with their associated policies.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}",
                   "httpMethod": "DELETE",
                   "id": "datacatalog.projects.locations.taxonomies.delete",
@@ -1305,7 +1305,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. Resource name of the taxonomy to be deleted. All policy tags in\nthis taxonomy will also be deleted.",
+                      "description": "Required. Resource name of the taxonomy to be deleted. All policy tags in this taxonomy will also be deleted.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
                       "required": true,
@@ -1321,7 +1321,7 @@
                   ]
                 },
                 "export": {
-                  "description": "Exports all taxonomies and their policy tags in a project.\n\nThis method generates SerializedTaxonomy protos with nested policy tags\nthat can be used as an input for future ImportTaxonomies calls.",
+                  "description": "Exports all taxonomies and their policy tags in a project. This method generates SerializedTaxonomy protos with nested policy tags that can be used as an input for future ImportTaxonomies calls.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies:export",
                   "httpMethod": "GET",
                   "id": "datacatalog.projects.locations.taxonomies.export",
@@ -1330,7 +1330,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Required. Resource name of the project that taxonomies to be exported\nwill share.",
+                      "description": "Required. Resource name of the project that taxonomies to be exported will share.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -1391,7 +1391,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
                       "required": true,
@@ -1410,7 +1410,7 @@
                   ]
                 },
                 "import": {
-                  "description": "Imports all taxonomies and their policy tags to a project as new\ntaxonomies.\n\nThis method provides a bulk taxonomy / policy tag creation using nested\nproto structure.",
+                  "description": "Imports all taxonomies and their policy tags to a project as new taxonomies. This method provides a bulk taxonomy / policy tag creation using nested proto structure.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies:import",
                   "httpMethod": "POST",
                   "id": "datacatalog.projects.locations.taxonomies.import",
@@ -1438,7 +1438,7 @@
                   ]
                 },
                 "list": {
-                  "description": "Lists all taxonomies in a project in a particular location that the caller\nhas permission to view.",
+                  "description": "Lists all taxonomies in a project in a particular location that the caller has permission to view.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies",
                   "httpMethod": "GET",
                   "id": "datacatalog.projects.locations.taxonomies.list",
@@ -1447,13 +1447,13 @@
                   ],
                   "parameters": {
                     "pageSize": {
-                      "description": "The maximum number of items to return. Must be a value between 1 and 1000.\nIf not set, defaults to 50.",
+                      "description": "The maximum number of items to return. Must be a value between 1 and 1000. If not set, defaults to 50.",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "The next_page_token value returned from a previous list request, if any. If\nnot set, defaults to an empty string.",
+                      "description": "The next_page_token value returned from a previous list request, if any. If not set, defaults to an empty string.",
                       "location": "query",
                       "type": "string"
                     },
@@ -1483,14 +1483,14 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Output only. Resource name of this taxonomy, whose format is:\n\"projects/{project_number}/locations/{location_id}/taxonomies/{id}\".",
+                      "description": "Output only. Resource name of this taxonomy, whose format is: \"projects/{project_number}/locations/{location_id}/taxonomies/{id}\".",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
                       "required": true,
                       "type": "string"
                     },
                     "updateMask": {
-                      "description": "The update mask applies to the resource. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf not set, defaults to all of the fields that are allowed to update.",
+                      "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If not set, defaults to all of the fields that are allowed to update.",
                       "format": "google-fieldmask",
                       "location": "query",
                       "type": "string"
@@ -1517,7 +1517,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
                       "required": true,
@@ -1536,7 +1536,7 @@
                   ]
                 },
                 "testIamPermissions": {
-                  "description": "Returns the permissions that a caller has on the specified taxonomy or\npolicy tag.",
+                  "description": "Returns the permissions that a caller has on the specified taxonomy or policy tag.",
                   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}:testIamPermissions",
                   "httpMethod": "POST",
                   "id": "datacatalog.projects.locations.taxonomies.testIamPermissions",
@@ -1545,7 +1545,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                      "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
                       "required": true,
@@ -1605,7 +1605,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. Resource name of the policy tag to be deleted. All of its descendant\npolicy tags will also be deleted.",
+                          "description": "Required. Resource name of the policy tag to be deleted. All of its descendant policy tags will also be deleted.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
                           "required": true,
@@ -1655,7 +1655,7 @@
                       ],
                       "parameters": {
                         "resource": {
-                          "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                          "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
                           "required": true,
@@ -1683,13 +1683,13 @@
                       ],
                       "parameters": {
                         "pageSize": {
-                          "description": "The maximum number of items to return. Must be a value between 1 and 1000.\nIf not set, defaults to 50.",
+                          "description": "The maximum number of items to return. Must be a value between 1 and 1000. If not set, defaults to 50.",
                           "format": "int32",
                           "location": "query",
                           "type": "integer"
                         },
                         "pageToken": {
-                          "description": "The next_page_token value returned from a previous List request, if any. If\nnot set, defaults to an empty string.",
+                          "description": "The next_page_token value returned from a previous List request, if any. If not set, defaults to an empty string.",
                           "location": "query",
                           "type": "string"
                         },
@@ -1719,14 +1719,14 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Output only. Resource name of this policy tag, whose format is:\n\"projects/{project_number}/locations/{location_id}/taxonomies/{taxonomy_id}/policyTags/{id}\".",
+                          "description": "Output only. Resource name of this policy tag, whose format is: \"projects/{project_number}/locations/{location_id}/taxonomies/{taxonomy_id}/policyTags/{id}\".",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
                         "updateMask": {
-                          "description": "The update mask applies to the resource. Only display_name, description and\nparent_policy_tag can be updated and thus can be listed in the mask. If\nupdate_mask is not provided, all allowed fields (i.e. display_name,\ndescription and parent) will be updated. For more information including the\n`FieldMask` definition, see\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf not set, defaults to all of the fields that are allowed to update.",
+                          "description": "The update mask applies to the resource. Only display_name, description and parent_policy_tag can be updated and thus can be listed in the mask. If update_mask is not provided, all allowed fields (i.e. display_name, description and parent) will be updated. For more information including the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If not set, defaults to all of the fields that are allowed to update.",
                           "format": "google-fieldmask",
                           "location": "query",
                           "type": "string"
@@ -1753,7 +1753,7 @@
                       ],
                       "parameters": {
                         "resource": {
-                          "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+                          "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
                           "required": true,
@@ -1772,7 +1772,7 @@
                       ]
                     },
                     "testIamPermissions": {
-                      "description": "Returns the permissions that a caller has on the specified taxonomy or\npolicy tag.",
+                      "description": "Returns the permissions that a caller has on the specified taxonomy or policy tag.",
                       "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}:testIamPermissions",
                       "httpMethod": "POST",
                       "id": "datacatalog.projects.locations.taxonomies.policyTags.testIamPermissions",
@@ -1781,7 +1781,7 @@
                       ],
                       "parameters": {
                         "resource": {
-                          "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                          "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
                           "required": true,
@@ -1808,7 +1808,7 @@
       }
     }
   },
-  "revision": "20200728",
+  "revision": "20200810",
   "rootUrl": "https://datacatalog.googleapis.com/",
   "schemas": {
     "Binding": {
@@ -1817,46 +1817,46 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
     },
     "Expr": {
-      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
+      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
       "id": "Expr",
       "properties": {
         "description": {
-          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
+          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
           "type": "string"
         },
         "expression": {
-          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
+          "description": "Textual representation of an expression in Common Expression Language syntax.",
           "type": "string"
         },
         "location": {
-          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
+          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
           "type": "string"
         },
         "title": {
-          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
+          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
           "type": "string"
         }
       },
@@ -1868,7 +1868,7 @@
       "properties": {
         "options": {
           "$ref": "GetPolicyOptions",
-          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`."
+          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`."
         }
       },
       "type": "object"
@@ -1878,7 +1878,7 @@
       "id": "GetPolicyOptions",
       "properties": {
         "requestedPolicyVersion": {
-          "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -1886,20 +1886,23 @@
       "type": "object"
     },
     "GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec": {
-      "description": "Spec for a group of BigQuery tables with name pattern `[prefix]YYYYMMDD`.\nContext:\nhttps://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding",
+      "description": "Spec for a group of BigQuery tables with name pattern `[prefix]YYYYMMDD`. Context: https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding",
       "id": "GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec",
       "properties": {
         "dataset": {
-          "description": "Output only. The Data Catalog resource name of the dataset entry the current table\nbelongs to, for example,\n`projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.",
+          "description": "Output only. The Data Catalog resource name of the dataset entry the current table belongs to, for example, `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.",
+          "readOnly": true,
           "type": "string"
         },
         "shardCount": {
           "description": "Output only. Total number of shards.",
           "format": "int64",
+          "readOnly": true,
           "type": "string"
         },
         "tablePrefix": {
-          "description": "Output only. The table name prefix of the shards. The name of any given shard is\n`[table_prefix]YYYYMMDD`, for example, for shard `MyTable20180101`, the\n`table_prefix` is `MyTable`.",
+          "description": "Output only. The table name prefix of the shards. The name of any given shard is `[table_prefix]YYYYMMDD`, for example, for shard `MyTable20180101`, the `table_prefix` is `MyTable`.",
+          "readOnly": true,
           "type": "string"
         }
       },
@@ -1923,21 +1926,22 @@
             "BigQuery native table.",
             "BigQuery materialized view."
           ],
+          "readOnly": true,
           "type": "string"
         },
         "tableSpec": {
           "$ref": "GoogleCloudDatacatalogV1beta1TableSpec",
-          "description": "Spec of a BigQuery table. This field should only be populated if\n`table_source_type` is `BIGQUERY_TABLE`."
+          "description": "Spec of a BigQuery table. This field should only be populated if `table_source_type` is `BIGQUERY_TABLE`."
         },
         "viewSpec": {
           "$ref": "GoogleCloudDatacatalogV1beta1ViewSpec",
-          "description": "Table view specification. This field should only be populated if\n`table_source_type` is `BIGQUERY_VIEW`."
+          "description": "Table view specification. This field should only be populated if `table_source_type` is `BIGQUERY_VIEW`."
         }
       },
       "type": "object"
     },
     "GoogleCloudDatacatalogV1beta1ColumnSchema": {
-      "description": "Representation of a column within a schema. Columns could be nested inside\nother columns.",
+      "description": "Representation of a column within a schema. Columns could be nested inside other columns.",
       "id": "GoogleCloudDatacatalogV1beta1ColumnSchema",
       "properties": {
         "column": {
@@ -1949,7 +1953,7 @@
           "type": "string"
         },
         "mode": {
-          "description": "Optional. A column's mode indicates whether the values in this column are required,\nnullable, etc. Only `NULLABLE`, `REQUIRED` and `REPEATED` are supported.\nDefault mode is `NULLABLE`.",
+          "description": "Optional. A column's mode indicates whether the values in this column are required, nullable, etc. Only `NULLABLE`, `REQUIRED` and `REPEATED` are supported. Default mode is `NULLABLE`.",
           "type": "string"
         },
         "subcolumns": {
@@ -1967,31 +1971,31 @@
       "type": "object"
     },
     "GoogleCloudDatacatalogV1beta1Entry": {
-      "description": "Entry Metadata. \nA Data Catalog Entry resource represents another resource in Google\nCloud Platform (such as a BigQuery dataset or a Pub/Sub topic), or\noutside of Google Cloud Platform. Clients can use the `linked_resource` field\nin the Entry resource to refer to the original resource ID of the source\nsystem.\n\nAn Entry resource contains resource details, such as its schema. An Entry can\nalso be used to attach flexible metadata, such as a\nTag.",
+      "description": "Entry Metadata. A Data Catalog Entry resource represents another resource in Google Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic), or outside of Google Cloud Platform. Clients can use the `linked_resource` field in the Entry resource to refer to the original resource ID of the source system. An Entry resource contains resource details, such as its schema. An Entry can also be used to attach flexible metadata, such as a Tag.",
       "id": "GoogleCloudDatacatalogV1beta1Entry",
       "properties": {
         "bigqueryDateShardedSpec": {
           "$ref": "GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec",
-          "description": "Specification for a group of BigQuery tables with name pattern\n`[prefix]YYYYMMDD`. Context:\nhttps://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding."
+          "description": "Specification for a group of BigQuery tables with name pattern `[prefix]YYYYMMDD`. Context: https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding."
         },
         "bigqueryTableSpec": {
           "$ref": "GoogleCloudDatacatalogV1beta1BigQueryTableSpec",
-          "description": "Specification that applies to a BigQuery table. This is only valid on\nentries of type `TABLE`."
+          "description": "Specification that applies to a BigQuery table. This is only valid on entries of type `TABLE`."
         },
         "description": {
-          "description": "Entry description, which can consist of several sentences or paragraphs\nthat describe entry contents. Default value is an empty string.",
+          "description": "Entry description, which can consist of several sentences or paragraphs that describe entry contents. Default value is an empty string.",
           "type": "string"
         },
         "displayName": {
-          "description": "Display information such as title and description. A short name to identify\nthe entry, for example, \"Analytics Data - Jan 2011\". Default value is an\nempty string.",
+          "description": "Display information such as title and description. A short name to identify the entry, for example, \"Analytics Data - Jan 2011\". Default value is an empty string.",
           "type": "string"
         },
         "gcsFilesetSpec": {
           "$ref": "GoogleCloudDatacatalogV1beta1GcsFilesetSpec",
-          "description": "Specification that applies to a Cloud Storage fileset. This is only valid\non entries of type FILESET."
+          "description": "Specification that applies to a Cloud Storage fileset. This is only valid on entries of type FILESET."
         },
         "integratedSystem": {
-          "description": "Output only. This field indicates the entry's source system that Data Catalog\nintegrates with, such as BigQuery or Pub/Sub.",
+          "description": "Output only. This field indicates the entry's source system that Data Catalog integrates with, such as BigQuery or Pub/Sub.",
           "enum": [
             "INTEGRATED_SYSTEM_UNSPECIFIED",
             "BIGQUERY",
@@ -2002,14 +2006,15 @@
             "BigQuery.",
             "Cloud Pub/Sub."
           ],
+          "readOnly": true,
           "type": "string"
         },
         "linkedResource": {
-          "description": "The resource this metadata entry refers to.\n\nFor Google Cloud Platform resources, `linked_resource` is the [full name of\nthe\nresource](https://cloud.google.com/apis/design/resource_names#full_resource_name).\nFor example, the `linked_resource` for a table resource from BigQuery is:\n\n* //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId\n\nOutput only when Entry is of type in the EntryType enum. For entries with\nuser_specified_type, this field is optional and defaults to an empty\nstring.",
+          "description": "The resource this metadata entry refers to. For Google Cloud Platform resources, `linked_resource` is the [full name of the resource](https://cloud.google.com/apis/design/resource_names#full_resource_name). For example, the `linked_resource` for a table resource from BigQuery is: * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId Output only when Entry is of type in the EntryType enum. For entries with user_specified_type, this field is optional and defaults to an empty string.",
           "type": "string"
         },
         "name": {
-          "description": "The Data Catalog resource name of the entry in URL format. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}\n\nNote that this Entry and its child resources may not actually be stored in\nthe location in this name.",
+          "description": "The Data Catalog resource name of the entry in URL format. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} Note that this Entry and its child resources may not actually be stored in the location in this name.",
           "type": "string"
         },
         "schema": {
@@ -2018,10 +2023,11 @@
         },
         "sourceSystemTimestamps": {
           "$ref": "GoogleCloudDatacatalogV1beta1SystemTimestamps",
-          "description": "Output only. Timestamps about the underlying resource, not about this Data Catalog\nentry. Output only when Entry is of type in the EntryType enum. For entries\nwith user_specified_type, this field is optional and defaults to an empty\ntimestamp."
+          "description": "Output only. Timestamps about the underlying resource, not about this Data Catalog entry. Output only when Entry is of type in the EntryType enum. For entries with user_specified_type, this field is optional and defaults to an empty timestamp.",
+          "readOnly": true
         },
         "type": {
-          "description": "The type of the entry.\nOnly used for Entries with types in the EntryType enum.",
+          "description": "The type of the entry. Only used for Entries with types in the EntryType enum.",
           "enum": [
             "ENTRY_TYPE_UNSPECIFIED",
             "TABLE",
@@ -2031,49 +2037,50 @@
           ],
           "enumDescriptions": [
             "Default unknown type.",
-            "Output only. The type of entry that has a GoogleSQL schema, including\nlogical views.",
-            "Output only. The type of models.\nhttps://cloud.google.com/bigquery-ml/docs/bigqueryml-intro",
-            "Output only. An entry type which is used for streaming entries. Example:\nPub/Sub topic.",
-            "An entry type which is a set of files or objects. Example:\nCloud Storage fileset."
+            "Output only. The type of entry that has a GoogleSQL schema, including logical views.",
+            "Output only. The type of models. https://cloud.google.com/bigquery-ml/docs/bigqueryml-intro",
+            "Output only. An entry type which is used for streaming entries. Example: Pub/Sub topic.",
+            "An entry type which is a set of files or objects. Example: Cloud Storage fileset."
           ],
           "type": "string"
         },
         "userSpecifiedSystem": {
-          "description": "This field indicates the entry's source system that Data Catalog does not\nintegrate with. `user_specified_system` strings must begin with a letter\nor underscore and can only contain letters, numbers, and underscores; are\ncase insensitive; must be at least 1 character and at most 64 characters\nlong.",
+          "description": "This field indicates the entry's source system that Data Catalog does not integrate with. `user_specified_system` strings must begin with a letter or underscore and can only contain letters, numbers, and underscores; are case insensitive; must be at least 1 character and at most 64 characters long.",
           "type": "string"
         },
         "userSpecifiedType": {
-          "description": "Entry type if it does not fit any of the input-allowed values listed in\n`EntryType` enum above. When creating an entry, users should check the\nenum values first, if nothing matches the entry to be created, then\nprovide a custom value, for example \"my_special_type\".\n`user_specified_type` strings must begin with a letter or underscore and\ncan only contain letters, numbers, and underscores; are case insensitive;\nmust be at least 1 character and at most 64 characters long.\n\nCurrently, only FILESET enum value is allowed. All other entries created\nthrough Data Catalog must use `user_specified_type`.",
+          "description": "Entry type if it does not fit any of the input-allowed values listed in `EntryType` enum above. When creating an entry, users should check the enum values first, if nothing matches the entry to be created, then provide a custom value, for example \"my_special_type\". `user_specified_type` strings must begin with a letter or underscore and can only contain letters, numbers, and underscores; are case insensitive; must be at least 1 character and at most 64 characters long. Currently, only FILESET enum value is allowed. All other entries created through Data Catalog must use `user_specified_type`.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleCloudDatacatalogV1beta1EntryGroup": {
-      "description": "EntryGroup Metadata. \nAn EntryGroup resource represents a logical grouping of zero or more\nData Catalog Entry resources.",
+      "description": "EntryGroup Metadata. An EntryGroup resource represents a logical grouping of zero or more Data Catalog Entry resources.",
       "id": "GoogleCloudDatacatalogV1beta1EntryGroup",
       "properties": {
         "dataCatalogTimestamps": {
           "$ref": "GoogleCloudDatacatalogV1beta1SystemTimestamps",
-          "description": "Output only. Timestamps about this EntryGroup. Default value is empty timestamps."
+          "description": "Output only. Timestamps about this EntryGroup. Default value is empty timestamps.",
+          "readOnly": true
         },
         "description": {
-          "description": "Entry group description, which can consist of several sentences or\nparagraphs that describe entry group contents. Default value is an empty\nstring.",
+          "description": "Entry group description, which can consist of several sentences or paragraphs that describe entry group contents. Default value is an empty string.",
           "type": "string"
         },
         "displayName": {
-          "description": "A short name to identify the entry group, for example,\n\"analytics data - jan 2011\". Default value is an empty string.",
+          "description": "A short name to identify the entry group, for example, \"analytics data - jan 2011\". Default value is an empty string.",
           "type": "string"
         },
         "name": {
-          "description": "The resource name of the entry group in URL format. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}\n\nNote that this EntryGroup and its child resources may not actually be\nstored in the location in this name.",
+          "description": "The resource name of the entry group in URL format. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} Note that this EntryGroup and its child resources may not actually be stored in the location in this name.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse": {
-      "description": "Response message for\nExportTaxonomies.",
+      "description": "Response message for ExportTaxonomies.",
       "id": "GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse",
       "properties": {
         "taxonomies": {
@@ -2118,7 +2125,7 @@
       "id": "GoogleCloudDatacatalogV1beta1FieldTypeEnumType",
       "properties": {
         "allowedValues": {
-          "description": "The set of allowed values for this enum. This set must not be empty, the\ndisplay names of the values in this set must not be empty and the display\nnames of the values must be case-insensitively unique within this set.\nThe order of items in this list is preserved. This field can be used to\nRequired on create; optional on update. The set of allowed values for\nthis enum. This set must not be empty, the display names of the values in\nthis set must not be empty and the display names of the values must be\ncase-insensitively unique within this set. Currently, enum values can\nonly be added to the list of allowed values. Deletion and renaming of\nenum values are not supported. Can have up to 500 allowed values.",
+          "description": "The set of allowed values for this enum. This set must not be empty, the display names of the values in this set must not be empty and the display names of the values must be case-insensitively unique within this set. The order of items in this list is preserved. This field can be used to Required on create; optional on update. The set of allowed values for this enum. This set must not be empty, the display names of the values in this set must not be empty and the display names of the values must be case-insensitively unique within this set. Currently, enum values can only be added to the list of allowed values. Deletion and renaming of enum values are not supported. Can have up to 500 allowed values.",
           "items": {
             "$ref": "GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue"
           },
@@ -2147,11 +2154,13 @@
         },
         "gcsTimestamps": {
           "$ref": "GoogleCloudDatacatalogV1beta1SystemTimestamps",
-          "description": "Output only. Timestamps about the Cloud Storage file."
+          "description": "Output only. Timestamps about the Cloud Storage file.",
+          "readOnly": true
         },
         "sizeBytes": {
           "description": "Output only. The size of the file, in bytes.",
           "format": "int64",
+          "readOnly": true,
           "type": "string"
         }
       },
@@ -2162,24 +2171,25 @@
       "id": "GoogleCloudDatacatalogV1beta1GcsFilesetSpec",
       "properties": {
         "filePatterns": {
-          "description": "Required. Patterns to identify a set of files in Google Cloud Storage.\nSee [Cloud Storage\ndocumentation](https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames)\nfor more information. Note that bucket wildcards are currently not\nsupported.\n\nExamples of valid file_patterns:\n\n * `gs://bucket_name/dir/*`: matches all files within `bucket_name/dir`\n                             directory.\n * `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir`\n                              spanning all subdirectories.\n * `gs://bucket_name/file*`: matches files prefixed by `file` in\n                             `bucket_name`\n * `gs://bucket_name/??.txt`: matches files with two characters followed by\n                              `.txt` in `bucket_name`\n * `gs://bucket_name/[aeiou].txt`: matches files that contain a single\n                                   vowel character followed by `.txt` in\n                                   `bucket_name`\n * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ...\n                                 or `m` followed by `.txt` in `bucket_name`\n * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match\n                             `a/*/b` pattern, such as `a/c/b`, `a/d/b`\n * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt`\n\nYou can combine wildcards to provide more powerful matches, for example:\n\n * `gs://bucket_name/[a-m]??.j*g`",
+          "description": "Required. Patterns to identify a set of files in Google Cloud Storage. See [Cloud Storage documentation](https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames) for more information. Note that bucket wildcards are currently not supported. Examples of valid file_patterns: * `gs://bucket_name/dir/*`: matches all files within `bucket_name/dir` directory. * `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir` spanning all subdirectories. * `gs://bucket_name/file*`: matches files prefixed by `file` in `bucket_name` * `gs://bucket_name/??.txt`: matches files with two characters followed by `.txt` in `bucket_name` * `gs://bucket_name/[aeiou].txt`: matches files that contain a single vowel character followed by `.txt` in `bucket_name` * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ... or `m` followed by `.txt` in `bucket_name` * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match `a/*/b` pattern, such as `a/c/b`, `a/d/b` * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt` You can combine wildcards to provide more powerful matches, for example: * `gs://bucket_name/[a-m]??.j*g`",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "sampleGcsFileSpecs": {
-          "description": "Output only. Sample files contained in this fileset, not all files contained in this\nfileset are represented here.",
+          "description": "Output only. Sample files contained in this fileset, not all files contained in this fileset are represented here.",
           "items": {
             "$ref": "GoogleCloudDatacatalogV1beta1GcsFileSpec"
           },
+          "readOnly": true,
           "type": "array"
         }
       },
       "type": "object"
     },
     "GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest": {
-      "description": "Request message for\nImportTaxonomies.",
+      "description": "Request message for ImportTaxonomies.",
       "id": "GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest",
       "properties": {
         "inlineSource": {
@@ -2190,7 +2200,7 @@
       "type": "object"
     },
     "GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse": {
-      "description": "Response message for\nImportTaxonomies.",
+      "description": "Response message for ImportTaxonomies.",
       "id": "GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse",
       "properties": {
         "taxonomies": {
@@ -2218,7 +2228,7 @@
       "type": "object"
     },
     "GoogleCloudDatacatalogV1beta1ListEntriesResponse": {
-      "description": "Response message for\nListEntries.",
+      "description": "Response message for ListEntries.",
       "id": "GoogleCloudDatacatalogV1beta1ListEntriesResponse",
       "properties": {
         "entries": {
@@ -2229,14 +2239,14 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "Token to retrieve the next page of results. It is set to empty if no items\nremain in results.",
+          "description": "Token to retrieve the next page of results. It is set to empty if no items remain in results.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse": {
-      "description": "Response message for\nListEntryGroups.",
+      "description": "Response message for ListEntryGroups.",
       "id": "GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse",
       "properties": {
         "entryGroups": {
@@ -2247,18 +2257,18 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "Token to retrieve the next page of results. It is set to empty if no items\nremain in results.",
+          "description": "Token to retrieve the next page of results. It is set to empty if no items remain in results.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse": {
-      "description": "Response message for\nListPolicyTags.",
+      "description": "Response message for ListPolicyTags.",
       "id": "GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "Token used to retrieve the next page of results, or empty if there are no\nmore results in the list.",
+          "description": "Token used to retrieve the next page of results, or empty if there are no more results in the list.",
           "type": "string"
         },
         "policyTags": {
@@ -2272,11 +2282,11 @@
       "type": "object"
     },
     "GoogleCloudDatacatalogV1beta1ListTagsResponse": {
-      "description": "Response message for\nListTags.",
+      "description": "Response message for ListTags.",
       "id": "GoogleCloudDatacatalogV1beta1ListTagsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "Token to retrieve the next page of results. It is set to empty if no items\nremain in results.",
+          "description": "Token to retrieve the next page of results. It is set to empty if no items remain in results.",
           "type": "string"
         },
         "tags": {
@@ -2290,11 +2300,11 @@
       "type": "object"
     },
     "GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse": {
-      "description": "Response message for\nListTaxonomies.",
+      "description": "Response message for ListTaxonomies.",
       "id": "GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse",
       "properties": {
         "nextPageToken": {
-          "description": "Token used to retrieve the next page of results, or empty if there are no\nmore results in the list.",
+          "description": "Token used to retrieve the next page of results, or empty if there are no more results in the list.",
           "type": "string"
         },
         "taxonomies": {
@@ -2308,7 +2318,7 @@
       "type": "object"
     },
     "GoogleCloudDatacatalogV1beta1PolicyTag": {
-      "description": "Denotes one policy tag in a taxonomy (e.g. ssn). Policy Tags can be defined\nin a hierarchy. For example, consider the following hierarchy:\nGeolocation -\u0026gt; (LatLong, City, ZipCode). PolicyTag \"Geolocation\"\ncontains three child policy tags: \"LatLong\", \"City\", and \"ZipCode\".",
+      "description": "Denotes one policy tag in a taxonomy (e.g. ssn). Policy Tags can be defined in a hierarchy. For example, consider the following hierarchy: Geolocation -\u003e (LatLong, City, ZipCode). PolicyTag \"Geolocation\" contains three child policy tags: \"LatLong\", \"City\", and \"ZipCode\".",
       "id": "GoogleCloudDatacatalogV1beta1PolicyTag",
       "properties": {
         "childPolicyTags": {
@@ -2316,29 +2326,31 @@
           "items": {
             "type": "string"
           },
+          "readOnly": true,
           "type": "array"
         },
         "description": {
-          "description": "Description of this policy tag. It must: contain only unicode characters,\ntabs, newlines, carriage returns and page breaks; and be at most 2000 bytes\nlong when encoded in UTF-8. If not set, defaults to an empty description.\nIf not set, defaults to an empty description.",
+          "description": "Description of this policy tag. It must: contain only unicode characters, tabs, newlines, carriage returns and page breaks; and be at most 2000 bytes long when encoded in UTF-8. If not set, defaults to an empty description. If not set, defaults to an empty description.",
           "type": "string"
         },
         "displayName": {
-          "description": "Required. User defined name of this policy tag. It must: be unique within the parent\ntaxonomy; contain only unicode letters, numbers, underscores, dashes and\nspaces; not start or end with spaces; and be at most 200 bytes long when\nencoded in UTF-8.",
+          "description": "Required. User defined name of this policy tag. It must: be unique within the parent taxonomy; contain only unicode letters, numbers, underscores, dashes and spaces; not start or end with spaces; and be at most 200 bytes long when encoded in UTF-8.",
           "type": "string"
         },
         "name": {
-          "description": "Output only. Resource name of this policy tag, whose format is:\n\"projects/{project_number}/locations/{location_id}/taxonomies/{taxonomy_id}/policyTags/{id}\".",
+          "description": "Output only. Resource name of this policy tag, whose format is: \"projects/{project_number}/locations/{location_id}/taxonomies/{taxonomy_id}/policyTags/{id}\".",
+          "readOnly": true,
           "type": "string"
         },
         "parentPolicyTag": {
-          "description": "Resource name of this policy tag's parent policy tag (e.g. for the\n\"LatLong\" policy tag in the example above, this field contains the\nresource name of the \"Geolocation\" policy tag). If empty, it means this\npolicy tag is a top level policy tag (e.g. this field is empty for the\n\"Geolocation\" policy tag in the example above). If not set, defaults to an\nempty string.",
+          "description": "Resource name of this policy tag's parent policy tag (e.g. for the \"LatLong\" policy tag in the example above, this field contains the resource name of the \"Geolocation\" policy tag). If empty, it means this policy tag is a top level policy tag (e.g. this field is empty for the \"Geolocation\" policy tag in the example above). If not set, defaults to an empty string.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest": {
-      "description": "Request message for\nRenameTagTemplateFieldEnumValue.",
+      "description": "Request message for RenameTagTemplateFieldEnumValue.",
       "id": "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest",
       "properties": {
         "newEnumValueDisplayName": {
@@ -2349,7 +2361,7 @@
       "type": "object"
     },
     "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest": {
-      "description": "Request message for\nRenameTagTemplateField.",
+      "description": "Request message for RenameTagTemplateField.",
       "id": "GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest",
       "properties": {
         "newTagTemplateFieldId": {
@@ -2364,7 +2376,7 @@
       "id": "GoogleCloudDatacatalogV1beta1Schema",
       "properties": {
         "columns": {
-          "description": "Required. Schema of columns. A maximum of 10,000 columns and sub-columns can be\nspecified.",
+          "description": "Required. Schema of columns. A maximum of 10,000 columns and sub-columns can be specified.",
           "items": {
             "$ref": "GoogleCloudDatacatalogV1beta1ColumnSchema"
           },
@@ -2374,29 +2386,29 @@
       "type": "object"
     },
     "GoogleCloudDatacatalogV1beta1SearchCatalogRequest": {
-      "description": "Request message for\nSearchCatalog.",
+      "description": "Request message for SearchCatalog.",
       "id": "GoogleCloudDatacatalogV1beta1SearchCatalogRequest",
       "properties": {
         "orderBy": {
-          "description": "Specifies the ordering of results, currently supported case-sensitive\nchoices are:\n\n  * `relevance`, only supports descending\n  * `last_modified_timestamp [asc|desc]`, defaults to descending if not\n    specified\n\nIf not specified, defaults to `relevance` descending.",
+          "description": "Specifies the ordering of results, currently supported case-sensitive choices are: * `relevance`, only supports descending * `last_modified_timestamp [asc|desc]`, defaults to descending if not specified If not specified, defaults to `relevance` descending.",
           "type": "string"
         },
         "pageSize": {
-          "description": "Number of results in the search page. If \u003c=0 then defaults to 10. Max limit\nfor page_size is 1000. Throws an invalid argument for page_size \u003e 1000.",
+          "description": "Number of results in the search page. If \u003c=0 then defaults to 10. Max limit for page_size is 1000. Throws an invalid argument for page_size \u003e 1000.",
           "format": "int32",
           "type": "integer"
         },
         "pageToken": {
-          "description": "Optional. Pagination token returned in an earlier\nSearchCatalogResponse.next_page_token, which\nindicates that this is a continuation of a prior\nSearchCatalogRequest\ncall, and that the system should return the next page of data. If empty,\nthe first page is returned.",
+          "description": "Optional. Pagination token returned in an earlier SearchCatalogResponse.next_page_token, which indicates that this is a continuation of a prior SearchCatalogRequest call, and that the system should return the next page of data. If empty, the first page is returned.",
           "type": "string"
         },
         "query": {
-          "description": "Required. The query string in search query syntax. The query must be non-empty.\n\nQuery strings can be simple as \"x\" or more qualified as:\n\n* name:x\n* column:x\n* description:y\n\nNote: Query tokens need to have a minimum of 3 characters for substring\nmatching to work correctly. See [Data Catalog Search\nSyntax](https://cloud.google.com/data-catalog/docs/how-to/search-reference)\nfor more information.",
+          "description": "Optional. The query string in search query syntax. An empty query string will result in all data assets (in the specified scope) that the user has access to. Query strings can be simple as \"x\" or more qualified as: * name:x * column:x * description:y Note: Query tokens need to have a minimum of 3 characters for substring matching to work correctly. See [Data Catalog Search Syntax](https://cloud.google.com/data-catalog/docs/how-to/search-reference) for more information.",
           "type": "string"
         },
         "scope": {
           "$ref": "GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope",
-          "description": "Required. The scope of this search request. A `scope` that has empty\n`include_org_ids`, `include_project_ids` AND false\n`include_gcp_public_datasets` is considered invalid. Data Catalog will\nreturn an error in such a case."
+          "description": "Required. The scope of this search request. A `scope` that has empty `include_org_ids`, `include_project_ids` AND false `include_gcp_public_datasets` is considered invalid. Data Catalog will return an error in such a case."
         }
       },
       "type": "object"
@@ -2406,25 +2418,25 @@
       "id": "GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope",
       "properties": {
         "includeGcpPublicDatasets": {
-          "description": "If `true`, include Google Cloud Platform (GCP) public datasets in the\nsearch results. Info on GCP public datasets is available at\nhttps://cloud.google.com/public-datasets/. By default, GCP public\ndatasets are excluded.",
+          "description": "If `true`, include Google Cloud Platform (GCP) public datasets in the search results. Info on GCP public datasets is available at https://cloud.google.com/public-datasets/. By default, GCP public datasets are excluded.",
           "type": "boolean"
         },
         "includeOrgIds": {
-          "description": "The list of organization IDs to search within. To find your organization\nID, follow instructions in\nhttps://cloud.google.com/resource-manager/docs/creating-managing-organization.",
+          "description": "The list of organization IDs to search within. To find your organization ID, follow instructions in https://cloud.google.com/resource-manager/docs/creating-managing-organization.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "includeProjectIds": {
-          "description": "The list of project IDs to search within. To learn more about the\ndistinction between project names/IDs/numbers, go to\nhttps://cloud.google.com/docs/overview/#projects.",
+          "description": "The list of project IDs to search within. To learn more about the distinction between project names/IDs/numbers, go to https://cloud.google.com/docs/overview/#projects.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "restrictedLocations": {
-          "description": "Optional. The list of locations to search within.\n1. If empty, search will be performed in all locations;\n2. If any of the locations are NOT in the valid locations list, error\nwill be returned;\n3. Otherwise, search only the given locations for matching results.\nTypical usage is to leave this field empty. When a location is\nunreachable as returned in the `SearchCatalogResponse.unreachable` field,\nusers can repeat the search request with this parameter set to get\nadditional information on the error.\n\nValid locations:\n * asia-east1\n * asia-east2\n * asia-northeast1\n * asia-northeast2\n * asia-northeast3\n * asia-south1\n * asia-southeast1\n * australia-southeast1\n * eu\n * europe-north1\n * europe-west1\n * europe-west2\n * europe-west3\n * europe-west4\n * europe-west6\n * global\n * northamerica-northeast1\n * southamerica-east1\n * us\n * us-central1\n * us-east1\n * us-east4\n * us-west1\n * us-west2",
+          "description": "Optional. The list of locations to search within. 1. If empty, search will be performed in all locations; 2. If any of the locations are NOT in the valid locations list, error will be returned; 3. Otherwise, search only the given locations for matching results. Typical usage is to leave this field empty. When a location is unreachable as returned in the `SearchCatalogResponse.unreachable` field, users can repeat the search request with this parameter set to get additional information on the error. Valid locations: * asia-east1 * asia-east2 * asia-northeast1 * asia-northeast2 * asia-northeast3 * asia-south1 * asia-southeast1 * australia-southeast1 * eu * europe-north1 * europe-west1 * europe-west2 * europe-west3 * europe-west4 * europe-west6 * global * northamerica-northeast1 * southamerica-east1 * us * us-central1 * us-east1 * us-east4 * us-west1 * us-west2",
           "items": {
             "type": "string"
           },
@@ -2434,7 +2446,7 @@
       "type": "object"
     },
     "GoogleCloudDatacatalogV1beta1SearchCatalogResponse": {
-      "description": "Response message for\nSearchCatalog.",
+      "description": "Response message for SearchCatalog.",
       "id": "GoogleCloudDatacatalogV1beta1SearchCatalogResponse",
       "properties": {
         "nextPageToken": {
@@ -2449,7 +2461,7 @@
           "type": "array"
         },
         "unreachable": {
-          "description": "Unreachable locations. Search result does not include data from those\nlocations. Users can get additional information on the error by repeating\nthe search request with a more restrictive parameter -- setting the value\nfor `SearchDataCatalogRequest.scope.include_locations`.",
+          "description": "Unreachable locations. Search result does not include data from those locations. Users can get additional information on the error by repeating the search request with a more restrictive parameter -- setting the value for `SearchDataCatalogRequest.scope.include_locations`.",
           "items": {
             "type": "string"
           },
@@ -2459,23 +2471,23 @@
       "type": "object"
     },
     "GoogleCloudDatacatalogV1beta1SearchCatalogResult": {
-      "description": "A result that appears in the response of a search request. Each result\ncaptures details of one entry that matches the search.",
+      "description": "A result that appears in the response of a search request. Each result captures details of one entry that matches the search.",
       "id": "GoogleCloudDatacatalogV1beta1SearchCatalogResult",
       "properties": {
         "linkedResource": {
-          "description": "The full name of the cloud resource the entry belongs to. See:\nhttps://cloud.google.com/apis/design/resource_names#full_resource_name.\nExample:\n\n * `//bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId`",
+          "description": "The full name of the cloud resource the entry belongs to. See: https://cloud.google.com/apis/design/resource_names#full_resource_name. Example: * `//bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId`",
           "type": "string"
         },
         "relativeResourceName": {
-          "description": "The relative resource name of the resource in URL format.\nExamples:\n\n * `projects/{project_id}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}`\n * `projects/{project_id}/tagTemplates/{tag_template_id}`",
+          "description": "The relative resource name of the resource in URL format. Examples: * `projects/{project_id}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}` * `projects/{project_id}/tagTemplates/{tag_template_id}`",
           "type": "string"
         },
         "searchResultSubtype": {
-          "description": "Sub-type of the search result. This is a dot-delimited description of the\nresource's full type, and is the same as the value callers would provide in\nthe \"type\" search facet.  Examples: `entry.table`, `entry.dataStream`,\n`tagTemplate`.",
+          "description": "Sub-type of the search result. This is a dot-delimited description of the resource's full type, and is the same as the value callers would provide in the \"type\" search facet. Examples: `entry.table`, `entry.dataStream`, `tagTemplate`.",
           "type": "string"
         },
         "searchResultType": {
-          "description": "Type of the search result. This field can be used to determine which Get\nmethod to call to fetch the full resource.",
+          "description": "Type of the search result. This field can be used to determine which Get method to call to fetch the full resource.",
           "enum": [
             "SEARCH_RESULT_TYPE_UNSPECIFIED",
             "ENTRY",
@@ -2505,7 +2517,7 @@
           "type": "array"
         },
         "description": {
-          "description": "Description of the serialized policy tag. The length of the\ndescription is limited to 2000 bytes when encoded in UTF-8. If not set,\ndefaults to an empty description.",
+          "description": "Description of the serialized policy tag. The length of the description is limited to 2000 bytes when encoded in UTF-8. If not set, defaults to an empty description.",
           "type": "string"
         },
         "displayName": {
@@ -2513,18 +2525,18 @@
           "type": "string"
         },
         "policyTag": {
-          "description": "Resource name of the policy tag.\n\nThis field will be ignored when calling ImportTaxonomies.",
+          "description": "Resource name of the policy tag. This field will be ignored when calling ImportTaxonomies.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleCloudDatacatalogV1beta1SerializedTaxonomy": {
-      "description": "Message capturing a taxonomy and its policy tag hierarchy as a nested proto.\nUsed for taxonomy import/export and mutation.",
+      "description": "Message capturing a taxonomy and its policy tag hierarchy as a nested proto. Used for taxonomy import/export and mutation.",
       "id": "GoogleCloudDatacatalogV1beta1SerializedTaxonomy",
       "properties": {
         "description": {
-          "description": "Description of the serialized taxonomy. The length of the\ndescription is limited to 2000 bytes when encoded in UTF-8. If not set,\ndefaults to an empty description.",
+          "description": "Description of the serialized taxonomy. The length of the description is limited to 2000 bytes when encoded in UTF-8. If not set, defaults to an empty description.",
           "type": "string"
         },
         "displayName": {
@@ -2551,8 +2563,9 @@
           "type": "string"
         },
         "expireTime": {
-          "description": "Output only. The expiration time of the resource within the given system.\nCurrently only apllicable to BigQuery resources.",
+          "description": "Output only. The expiration time of the resource within the given system. Currently only apllicable to BigQuery resources.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "updateTime": {
@@ -2568,44 +2581,46 @@
       "id": "GoogleCloudDatacatalogV1beta1TableSpec",
       "properties": {
         "groupedEntry": {
-          "description": "Output only. If the table is a dated shard, i.e., with name pattern `[prefix]YYYYMMDD`,\n`grouped_entry` is the Data Catalog resource name of the date sharded\ngrouped entry, for example,\n`projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.\nOtherwise, `grouped_entry` is empty.",
+          "description": "Output only. If the table is a dated shard, i.e., with name pattern `[prefix]YYYYMMDD`, `grouped_entry` is the Data Catalog resource name of the date sharded grouped entry, for example, `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`. Otherwise, `grouped_entry` is empty.",
+          "readOnly": true,
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleCloudDatacatalogV1beta1Tag": {
-      "description": "Tags are used to attach custom metadata to Data Catalog resources. Tags\nconform to the specifications within their tag template.\n\nSee [Data Catalog\nIAM](https://cloud.google.com/data-catalog/docs/concepts/iam) for information\non the permissions needed to create or view tags.",
+      "description": "Tags are used to attach custom metadata to Data Catalog resources. Tags conform to the specifications within their tag template. See [Data Catalog IAM](https://cloud.google.com/data-catalog/docs/concepts/iam) for information on the permissions needed to create or view tags.",
       "id": "GoogleCloudDatacatalogV1beta1Tag",
       "properties": {
         "column": {
-          "description": "Resources like Entry can have schemas associated with them. This scope\nallows users to attach tags to an individual column based on that schema.\n\nFor attaching a tag to a nested column, use `.` to separate the column\nnames. Example:\n\n* `outer_column.inner_column`",
+          "description": "Resources like Entry can have schemas associated with them. This scope allows users to attach tags to an individual column based on that schema. For attaching a tag to a nested column, use `.` to separate the column names. Example: * `outer_column.inner_column`",
           "type": "string"
         },
         "fields": {
           "additionalProperties": {
             "$ref": "GoogleCloudDatacatalogV1beta1TagField"
           },
-          "description": "Required. This maps the ID of a tag field to the value of and additional information\nabout that field. Valid field IDs are defined by the tag's template. A tag\nmust have at least 1 field and at most 500 fields.",
+          "description": "Required. This maps the ID of a tag field to the value of and additional information about that field. Valid field IDs are defined by the tag's template. A tag must have at least 1 field and at most 500 fields.",
           "type": "object"
         },
         "name": {
-          "description": "The resource name of the tag in URL format. Example:\n\n* projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}\n\nwhere `tag_id` is a system-generated identifier.\nNote that this Tag may not actually be stored in the location in this name.",
+          "description": "The resource name of the tag in URL format. Example: * projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id} where `tag_id` is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.",
           "type": "string"
         },
         "template": {
-          "description": "Required. The resource name of the tag template that this tag uses. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}\n\nThis field cannot be modified after creation.",
+          "description": "Required. The resource name of the tag template that this tag uses. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} This field cannot be modified after creation.",
           "type": "string"
         },
         "templateDisplayName": {
           "description": "Output only. The display name of the tag template.",
+          "readOnly": true,
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleCloudDatacatalogV1beta1TagField": {
-      "description": "Contains the value and supporting information for a field within\na Tag.",
+      "description": "Contains the value and supporting information for a field within a Tag.",
       "id": "GoogleCloudDatacatalogV1beta1TagField",
       "properties": {
         "boolValue": {
@@ -2614,6 +2629,7 @@
         },
         "displayName": {
           "description": "Output only. The display name of this field.",
+          "readOnly": true,
           "type": "string"
         },
         "doubleValue": {
@@ -2623,11 +2639,12 @@
         },
         "enumValue": {
           "$ref": "GoogleCloudDatacatalogV1beta1TagFieldEnumValue",
-          "description": "Holds the value for a tag field with enum type. This value must be\none of the allowed values in the definition of this enum."
+          "description": "Holds the value for a tag field with enum type. This value must be one of the allowed values in the definition of this enum."
         },
         "order": {
-          "description": "Output only. The order of this field with respect to other fields in this tag. It can be\nset in Tag. For\nexample, a higher value can indicate a more important field. The value can\nbe negative. Multiple fields can have the same order, and field orders\nwithin a tag do not have to be sequential.",
+          "description": "Output only. The order of this field with respect to other fields in this tag. It can be set in Tag. For example, a higher value can indicate a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential.",
           "format": "int32",
+          "readOnly": true,
           "type": "integer"
         },
         "stringValue": {
@@ -2654,7 +2671,7 @@
       "type": "object"
     },
     "GoogleCloudDatacatalogV1beta1TagTemplate": {
-      "description": "A tag template defines a tag, which can have one or more typed fields.\nThe template is used to create and attach the tag to GCP resources.\n[Tag template\nroles](https://cloud.google.com/iam/docs/understanding-roles#data-catalog-roles)\nprovide permissions to create, edit, and use the template. See, for example,\nthe [TagTemplate\nUser](https://cloud.google.com/data-catalog/docs/how-to/template-user) role,\nwhich includes permission to use the tag template to tag resources.",
+      "description": "A tag template defines a tag, which can have one or more typed fields. The template is used to create and attach the tag to GCP resources. [Tag template roles](https://cloud.google.com/iam/docs/understanding-roles#data-catalog-roles) provide permissions to create, edit, and use the template. See, for example, the [TagTemplate User](https://cloud.google.com/data-catalog/docs/how-to/template-user) role, which includes permission to use the tag template to tag resources.",
       "id": "GoogleCloudDatacatalogV1beta1TagTemplate",
       "properties": {
         "displayName": {
@@ -2665,11 +2682,11 @@
           "additionalProperties": {
             "$ref": "GoogleCloudDatacatalogV1beta1TagTemplateField"
           },
-          "description": "Required. Map of tag template field IDs to the settings for the field.\nThis map is an exhaustive list of the allowed fields. This map must contain\nat least one field and at most 500 fields.\n\nThe keys to this map are tag template field IDs. Field IDs can contain\nletters (both uppercase and lowercase), numbers (0-9) and underscores (_).\nField IDs must be at least 1 character long and at most\n64 characters long. Field IDs must start with a letter or underscore.",
+          "description": "Required. Map of tag template field IDs to the settings for the field. This map is an exhaustive list of the allowed fields. This map must contain at least one field and at most 500 fields. The keys to this map are tag template field IDs. Field IDs can contain letters (both uppercase and lowercase), numbers (0-9) and underscores (_). Field IDs must be at least 1 character long and at most 64 characters long. Field IDs must start with a letter or underscore.",
           "type": "object"
         },
         "name": {
-          "description": "The resource name of the tag template in URL format. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}\n\nNote that this TagTemplate and its child resources may not actually be\nstored in the location in this name.",
+          "description": "The resource name of the tag template in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} Note that this TagTemplate and its child resources may not actually be stored in the location in this name.",
           "type": "string"
         }
       },
@@ -2688,11 +2705,12 @@
           "type": "boolean"
         },
         "name": {
-          "description": "Output only. The resource name of the tag template field in URL format. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template}/fields/{field}\n\nNote that this TagTemplateField may not actually be stored in the location\nin this name.",
+          "description": "Output only. The resource name of the tag template field in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template}/fields/{field} Note that this TagTemplateField may not actually be stored in the location in this name.",
+          "readOnly": true,
           "type": "string"
         },
         "order": {
-          "description": "The order of this field with respect to other fields in this tag\ntemplate.  A higher value indicates a more important field. The value can\nbe negative. Multiple fields can have the same order, and field orders\nwithin a tag do not have to be sequential.",
+          "description": "The order of this field with respect to other fields in this tag template. A higher value indicates a more important field. The value can be negative. Multiple fields can have the same order, and field orders within a tag do not have to be sequential.",
           "format": "int32",
           "type": "integer"
         },
@@ -2704,34 +2722,39 @@
       "type": "object"
     },
     "GoogleCloudDatacatalogV1beta1Taxonomy": {
-      "description": "A taxonomy is a collection of policy tags that classify data along a common\naxis. For instance a data *sensitivity* taxonomy could contain policy tags\ndenoting PII such as age, zipcode, and SSN. A data *origin* taxonomy could\ncontain policy tags to distinguish user data, employee data, partner data,\npublic data.",
+      "description": "A taxonomy is a collection of policy tags that classify data along a common axis. For instance a data *sensitivity* taxonomy could contain policy tags denoting PII such as age, zipcode, and SSN. A data *origin* taxonomy could contain policy tags to distinguish user data, employee data, partner data, public data.",
       "id": "GoogleCloudDatacatalogV1beta1Taxonomy",
       "properties": {
         "activatedPolicyTypes": {
-          "description": "Optional. A list of policy types that are activated for this taxonomy. If not set,\ndefaults to an empty list.",
+          "description": "Optional. A list of policy types that are activated for this taxonomy. If not set, defaults to an empty list.",
           "enumDescriptions": [
             "Unspecified policy type.",
-            "Fine grained access control policy, which enables access control on\ntagged resources."
+            "Fine grained access control policy, which enables access control on tagged resources."
           ],
           "items": {
             "enum": [
               "POLICY_TYPE_UNSPECIFIED",
               "FINE_GRAINED_ACCESS_CONTROL"
             ],
+            "enumDescriptions": [
+              "Unspecified policy type.",
+              "Fine grained access control policy, which enables access control on tagged resources."
+            ],
             "type": "string"
           },
           "type": "array"
         },
         "description": {
-          "description": "Optional. Description of this taxonomy. It must: contain only unicode characters,\ntabs, newlines, carriage returns and page breaks; and be at most 2000 bytes\nlong when encoded in UTF-8. If not set, defaults to an empty description.",
+          "description": "Optional. Description of this taxonomy. It must: contain only unicode characters, tabs, newlines, carriage returns and page breaks; and be at most 2000 bytes long when encoded in UTF-8. If not set, defaults to an empty description.",
           "type": "string"
         },
         "displayName": {
-          "description": "Required. User defined name of this taxonomy. It must: contain only unicode letters,\nnumbers, underscores, dashes and spaces; not start or end with spaces; and\nbe at most 200 bytes long when encoded in UTF-8.",
+          "description": "Required. User defined name of this taxonomy. It must: contain only unicode letters, numbers, underscores, dashes and spaces; not start or end with spaces; and be at most 200 bytes long when encoded in UTF-8.",
           "type": "string"
         },
         "name": {
-          "description": "Output only. Resource name of this taxonomy, whose format is:\n\"projects/{project_number}/locations/{location_id}/taxonomies/{id}\".",
+          "description": "Output only. Resource name of this taxonomy, whose format is: \"projects/{project_number}/locations/{location_id}/taxonomies/{id}\".",
+          "readOnly": true,
           "type": "string"
         }
       },
@@ -2743,29 +2766,30 @@
       "properties": {
         "viewQuery": {
           "description": "Output only. The query that defines the table view.",
+          "readOnly": true,
           "type": "string"
         }
       },
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\n            \"user:eve@example.com\"\n          ],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "bindings": {
-          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
+          "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.",
           "items": {
             "$ref": "Binding"
           },
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
           "format": "byte",
           "type": "string"
         },
         "version": {
-          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -2778,7 +2802,7 @@
       "properties": {
         "policy": {
           "$ref": "Policy",
-          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
+          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them."
         }
       },
       "type": "object"
@@ -2788,7 +2812,7 @@
       "id": "TestIamPermissionsRequest",
       "properties": {
         "permissions": {
-          "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
+          "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
           "items": {
             "type": "string"
           },
@@ -2802,7 +2826,7 @@
       "id": "TestIamPermissionsResponse",
       "properties": {
         "permissions": {
-          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
+          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
           "items": {
             "type": "string"
           },
diff --git a/datacatalog/v1beta1/datacatalog-gen.go b/datacatalog/v1beta1/datacatalog-gen.go
index 681e970..65da99f 100644
--- a/datacatalog/v1beta1/datacatalog-gen.go
+++ b/datacatalog/v1beta1/datacatalog-gen.go
@@ -290,95 +290,53 @@
 
 // Binding: Associates `members` with a `role`.
 type Binding struct {
-	// Condition: The condition that is associated with this binding.
-	//
-	// If the condition evaluates to `true`, then this binding applies to
-	// the
-	// current request.
-	//
-	// If the condition evaluates to `false`, then this binding does not
-	// apply to
-	// the current request. However, a different role binding might grant
-	// the same
-	// role to one or more of the members in this binding.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// Condition: The condition that is associated with this binding. If the
+	// condition evaluates to `true`, then this binding applies to the
+	// current request. If the condition evaluates to `false`, then this
+	// binding does not apply to the current request. However, a different
+	// role binding might grant the same role to one or more of the members
+	// in this binding. To learn which resources support conditions in their
+	// IAM policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	Condition *Expr `json:"condition,omitempty"`
 
 	// Members: Specifies the identities requesting access for a Cloud
-	// Platform resource.
-	// `members` can have the following values:
-	//
-	// * `allUsers`: A special identifier that represents anyone who is
-	//    on the internet; with or without a Google account.
-	//
-	// * `allAuthenticatedUsers`: A special identifier that represents
-	// anyone
-	//    who is authenticated with a Google account or a service
-	// account.
-	//
-	// * `user:{emailid}`: An email address that represents a specific
-	// Google
-	//    account. For example, `alice@example.com` .
-	//
-	//
-	// * `serviceAccount:{emailid}`: An email address that represents a
-	// service
-	//    account. For example,
-	// `my-other-app@appspot.gserviceaccount.com`.
-	//
-	// * `group:{emailid}`: An email address that represents a Google
-	// group.
-	//    For example, `admins@example.com`.
-	//
-	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a user that has been recently deleted.
-	// For
-	//    example, `alice@example.com?uid=123456789012345678901`. If the
-	// user is
-	//    recovered, this value reverts to `user:{emailid}` and the
-	// recovered user
-	//    retains the role in the binding.
-	//
-	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
-	// (plus
-	//    unique identifier) representing a service account that has been
-	// recently
-	//    deleted. For example,
-	//
+	// Platform resource. `members` can have the following values: *
+	// `allUsers`: A special identifier that represents anyone who is on the
+	// internet; with or without a Google account. *
+	// `allAuthenticatedUsers`: A special identifier that represents anyone
+	// who is authenticated with a Google account or a service account. *
+	// `user:{emailid}`: An email address that represents a specific Google
+	// account. For example, `alice@example.com` . *
+	// `serviceAccount:{emailid}`: An email address that represents a
+	// service account. For example,
+	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
+	// email address that represents a Google group. For example,
+	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
+	// email address (plus unique identifier) representing a user that has
+	// been recently deleted. For example,
+	// `alice@example.com?uid=123456789012345678901`. If the user is
+	// recovered, this value reverts to `user:{emailid}` and the recovered
+	// user retains the role in the binding. *
+	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
+	// (plus unique identifier) representing a service account that has been
+	// recently deleted. For example,
 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
-	//
-	//    If the service account is undeleted, this value reverts to
-	//    `serviceAccount:{emailid}` and the undeleted service account
-	// retains the
-	//    role in the binding.
-	//
-	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a Google group that has been recently
-	//    deleted. For example,
-	// `admins@example.com?uid=123456789012345678901`. If
-	//    the group is recovered, this value reverts to `group:{emailid}`
-	// and the
-	//    recovered group retains the role in the binding.
-	//
-	//
-	// * `domain:{domain}`: The G Suite domain (primary) that represents all
-	// the
-	//    users of that domain. For example, `google.com` or
-	// `example.com`.
-	//
-	//
+	// If the service account is undeleted, this value reverts to
+	// `serviceAccount:{emailid}` and the undeleted service account retains
+	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
+	// An email address (plus unique identifier) representing a Google group
+	// that has been recently deleted. For example,
+	// `admins@example.com?uid=123456789012345678901`. If the group is
+	// recovered, this value reverts to `group:{emailid}` and the recovered
+	// group retains the role in the binding. * `domain:{domain}`: The G
+	// Suite domain (primary) that represents all the users of that domain.
+	// For example, `google.com` or `example.com`.
 	Members []string `json:"members,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`.
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -405,17 +363,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -423,65 +375,40 @@
 }
 
 // Expr: Represents a textual expression in the Common Expression
-// Language (CEL)
-// syntax. CEL is a C-like expression language. The syntax and semantics
-// of CEL
-// are documented at https://github.com/google/cel-spec.
-//
-// Example (Comparison):
-//
-//     title: "Summary size limit"
-//     description: "Determines if a summary is less than 100 chars"
-//     expression: "document.summary.size() < 100"
-//
-// Example (Equality):
-//
-//     title: "Requestor is owner"
-//     description: "Determines if requestor is the document owner"
-//     expression: "document.owner ==
-// request.auth.claims.email"
-//
-// Example (Logic):
-//
-//     title: "Public documents"
-//     description: "Determine whether the document should be publicly
-// visible"
-//     expression: "document.type != 'private' && document.type !=
-// 'internal'"
-//
-// Example (Data Manipulation):
-//
-//     title: "Notification string"
-//     description: "Create a notification string with a timestamp."
-//     expression: "'New message received at ' +
-// string(document.create_time)"
-//
-// The exact variables and functions that may be referenced within an
-// expression
-// are determined by the service that evaluates it. See the
-// service
-// documentation for additional information.
+// Language (CEL) syntax. CEL is a C-like expression language. The
+// syntax and semantics of CEL are documented at
+// https://github.com/google/cel-spec. Example (Comparison): title:
+// "Summary size limit" description: "Determines if a summary is less
+// than 100 chars" expression: "document.summary.size() < 100" Example
+// (Equality): title: "Requestor is owner" description: "Determines if
+// requestor is the document owner" expression: "document.owner ==
+// request.auth.claims.email" Example (Logic): title: "Public documents"
+// description: "Determine whether the document should be publicly
+// visible" expression: "document.type != 'private' && document.type !=
+// 'internal'" Example (Data Manipulation): title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' +
+// string(document.create_time)" The exact variables and functions that
+// may be referenced within an expression are determined by the service
+// that evaluates it. See the service documentation for additional
+// information.
 type Expr struct {
 	// Description: Optional. Description of the expression. This is a
-	// longer text which
-	// describes the expression, e.g. when hovered over it in a UI.
+	// longer text which describes the expression, e.g. when hovered over it
+	// in a UI.
 	Description string `json:"description,omitempty"`
 
 	// Expression: Textual representation of an expression in Common
-	// Expression Language
-	// syntax.
+	// Expression Language syntax.
 	Expression string `json:"expression,omitempty"`
 
 	// Location: Optional. String indicating the location of the expression
-	// for error
-	// reporting, e.g. a file name and a position in the file.
+	// for error reporting, e.g. a file name and a position in the file.
 	Location string `json:"location,omitempty"`
 
 	// Title: Optional. Title for the expression, i.e. a short string
-	// describing
-	// its purpose. This can be used e.g. in UIs which allow to enter
-	// the
-	// expression.
+	// describing its purpose. This can be used e.g. in UIs which allow to
+	// enter the expression.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -510,8 +437,7 @@
 // GetIamPolicyRequest: Request message for `GetIamPolicy` method.
 type GetIamPolicyRequest struct {
 	// Options: OPTIONAL: A `GetPolicyOptions` object for specifying options
-	// to
-	// `GetIamPolicy`.
+	// to `GetIamPolicy`.
 	Options *GetPolicyOptions `json:"options,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Options") to
@@ -540,24 +466,14 @@
 // GetPolicyOptions: Encapsulates settings provided to GetIamPolicy.
 type GetPolicyOptions struct {
 	// RequestedPolicyVersion: Optional. The policy format version to be
-	// returned.
-	//
-	// Valid values are 0, 1, and 3. Requests specifying an invalid value
-	// will be
-	// rejected.
-	//
-	// Requests for policies with any conditional bindings must specify
-	// version 3.
-	// Policies without any conditional bindings may specify any valid value
-	// or
-	// leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// returned. Valid values are 0, 1, and 3. Requests specifying an
+	// invalid value will be rejected. Requests for policies with any
+	// conditional bindings must specify version 3. Policies without any
+	// conditional bindings may specify any valid value or leave the field
+	// unset. To learn which resources support conditions in their IAM
+	// policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	RequestedPolicyVersion int64 `json:"requestedPolicyVersion,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -586,28 +502,22 @@
 }
 
 // GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec: Spec for a
-// group of BigQuery tables with name pattern
-// `[prefix]YYYYMMDD`.
+// group of BigQuery tables with name pattern `[prefix]YYYYMMDD`.
 // Context:
-// https://cloud.google.com/bigquery/docs/pa
-// rtitioned-tables#partitioning_versus_sharding
+// https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding
 type GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec struct {
 	// Dataset: Output only. The Data Catalog resource name of the dataset
-	// entry the current table
-	// belongs to, for
-	// example,
-	// `projects/{project_id}/locations/{location}/entrygroups/{entr
-	// y_group_id}/entries/{entry_id}`.
+	// entry the current table belongs to, for example,
+	// `projects/{project_id}/locations/{location}/entrygroups/{entry_group_i
+	// d}/entries/{entry_id}`.
 	Dataset string `json:"dataset,omitempty"`
 
 	// ShardCount: Output only. Total number of shards.
 	ShardCount int64 `json:"shardCount,omitempty,string"`
 
 	// TablePrefix: Output only. The table name prefix of the shards. The
-	// name of any given shard is
-	// `[table_prefix]YYYYMMDD`, for example, for shard `MyTable20180101`,
-	// the
-	// `table_prefix` is `MyTable`.
+	// name of any given shard is `[table_prefix]YYYYMMDD`, for example, for
+	// shard `MyTable20180101`, the `table_prefix` is `MyTable`.
 	TablePrefix string `json:"tablePrefix,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Dataset") to
@@ -646,13 +556,11 @@
 	TableSourceType string `json:"tableSourceType,omitempty"`
 
 	// TableSpec: Spec of a BigQuery table. This field should only be
-	// populated if
-	// `table_source_type` is `BIGQUERY_TABLE`.
+	// populated if `table_source_type` is `BIGQUERY_TABLE`.
 	TableSpec *GoogleCloudDatacatalogV1beta1TableSpec `json:"tableSpec,omitempty"`
 
 	// ViewSpec: Table view specification. This field should only be
-	// populated if
-	// `table_source_type` is `BIGQUERY_VIEW`.
+	// populated if `table_source_type` is `BIGQUERY_VIEW`.
 	ViewSpec *GoogleCloudDatacatalogV1beta1ViewSpec `json:"viewSpec,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "TableSourceType") to
@@ -680,8 +588,7 @@
 }
 
 // GoogleCloudDatacatalogV1beta1ColumnSchema: Representation of a column
-// within a schema. Columns could be nested inside
-// other columns.
+// within a schema. Columns could be nested inside other columns.
 type GoogleCloudDatacatalogV1beta1ColumnSchema struct {
 	// Column: Required. Name of the column.
 	Column string `json:"column,omitempty"`
@@ -691,10 +598,8 @@
 	Description string `json:"description,omitempty"`
 
 	// Mode: Optional. A column's mode indicates whether the values in this
-	// column are required,
-	// nullable, etc. Only `NULLABLE`, `REQUIRED` and `REPEATED` are
-	// supported.
-	// Default mode is `NULLABLE`.
+	// column are required, nullable, etc. Only `NULLABLE`, `REQUIRED` and
+	// `REPEATED` are supported. Default mode is `NULLABLE`.
 	Mode string `json:"mode,omitempty"`
 
 	// Subcolumns: Optional. Schema of sub-columns. A column can have zero
@@ -727,55 +632,41 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GoogleCloudDatacatalogV1beta1Entry: Entry Metadata.
-// A Data Catalog Entry resource represents another resource in
-// Google
-// Cloud Platform (such as a BigQuery dataset or a Pub/Sub topic),
-// or
-// outside of Google Cloud Platform. Clients can use the
-// `linked_resource` field
-// in the Entry resource to refer to the original resource ID of the
-// source
-// system.
-//
-// An Entry resource contains resource details, such as its schema. An
-// Entry can
-// also be used to attach flexible metadata, such as a
-// Tag.
+// GoogleCloudDatacatalogV1beta1Entry: Entry Metadata. A Data Catalog
+// Entry resource represents another resource in Google Cloud Platform
+// (such as a BigQuery dataset or a Pub/Sub topic), or outside of Google
+// Cloud Platform. Clients can use the `linked_resource` field in the
+// Entry resource to refer to the original resource ID of the source
+// system. An Entry resource contains resource details, such as its
+// schema. An Entry can also be used to attach flexible metadata, such
+// as a Tag.
 type GoogleCloudDatacatalogV1beta1Entry struct {
 	// BigqueryDateShardedSpec: Specification for a group of BigQuery tables
-	// with name pattern
-	// `[prefix]YYYYMMDD`.
-	// Context:
-	// https://cloud.google.com/bigquery/docs/partitioned-tables#par
-	// titioning_versus_sharding.
+	// with name pattern `[prefix]YYYYMMDD`. Context:
+	// https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding.
 	BigqueryDateShardedSpec *GoogleCloudDatacatalogV1beta1BigQueryDateShardedSpec `json:"bigqueryDateShardedSpec,omitempty"`
 
 	// BigqueryTableSpec: Specification that applies to a BigQuery table.
-	// This is only valid on
-	// entries of type `TABLE`.
+	// This is only valid on entries of type `TABLE`.
 	BigqueryTableSpec *GoogleCloudDatacatalogV1beta1BigQueryTableSpec `json:"bigqueryTableSpec,omitempty"`
 
 	// Description: Entry description, which can consist of several
-	// sentences or paragraphs
-	// that describe entry contents. Default value is an empty string.
+	// sentences or paragraphs that describe entry contents. Default value
+	// is an empty string.
 	Description string `json:"description,omitempty"`
 
 	// DisplayName: Display information such as title and description. A
-	// short name to identify
-	// the entry, for example, "Analytics Data - Jan 2011". Default value is
-	// an
-	// empty string.
+	// short name to identify the entry, for example, "Analytics Data - Jan
+	// 2011". Default value is an empty string.
 	DisplayName string `json:"displayName,omitempty"`
 
 	// GcsFilesetSpec: Specification that applies to a Cloud Storage
-	// fileset. This is only valid
-	// on entries of type FILESET.
+	// fileset. This is only valid on entries of type FILESET.
 	GcsFilesetSpec *GoogleCloudDatacatalogV1beta1GcsFilesetSpec `json:"gcsFilesetSpec,omitempty"`
 
 	// IntegratedSystem: Output only. This field indicates the entry's
-	// source system that Data Catalog
-	// integrates with, such as BigQuery or Pub/Sub.
+	// source system that Data Catalog integrates with, such as BigQuery or
+	// Pub/Sub.
 	//
 	// Possible values:
 	//   "INTEGRATED_SYSTEM_UNSPECIFIED" - Default unknown system.
@@ -783,38 +674,23 @@
 	//   "CLOUD_PUBSUB" - Cloud Pub/Sub.
 	IntegratedSystem string `json:"integratedSystem,omitempty"`
 
-	// LinkedResource: The resource this metadata entry refers to.
-	//
-	// For Google Cloud Platform resources, `linked_resource` is the [full
-	// name
-	// of
-	// the
-	// resource](https://cloud.google.com/apis/design/resource_names#f
-	// ull_resource_name).
-	// For example, the `linked_resource` for a table resource from BigQuery
-	// is:
-	//
-	// *
+	// LinkedResource: The resource this metadata entry refers to. For
+	// Google Cloud Platform resources, `linked_resource` is the [full name
+	// of the
+	// resource](https://cloud.google.com/apis/design/resource_names#full_res
+	// ource_name). For example, the `linked_resource` for a table resource
+	// from BigQuery is: *
 	// //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables
-	// /tableId
-	//
-	// Output only when Entry is of type in the EntryType enum. For entries
-	// with
-	// user_specified_type, this field is optional and defaults to an
-	// empty
-	// string.
+	// /tableId Output only when Entry is of type in the EntryType enum. For
+	// entries with user_specified_type, this field is optional and defaults
+	// to an empty string.
 	LinkedResource string `json:"linkedResource,omitempty"`
 
 	// Name: The Data Catalog resource name of the entry in URL format.
-	// Example:
-	//
-	// *
+	// Example: *
 	// projects/{project_id}/locations/{location}/entryGroups/{entry_group_id
-	// }/entries/{entry_id}
-	//
-	// Note that this Entry and its child resources may not actually be
-	// stored in
-	// the location in this name.
+	// }/entries/{entry_id} Note that this Entry and its child resources may
+	// not actually be stored in the location in this name.
 	Name string `json:"name,omitempty"`
 
 	// Schema: Schema of the entry. An entry might not have any schema
@@ -822,62 +698,44 @@
 	Schema *GoogleCloudDatacatalogV1beta1Schema `json:"schema,omitempty"`
 
 	// SourceSystemTimestamps: Output only. Timestamps about the underlying
-	// resource, not about this Data Catalog
-	// entry. Output only when Entry is of type in the EntryType enum. For
-	// entries
-	// with user_specified_type, this field is optional and defaults to an
-	// empty
+	// resource, not about this Data Catalog entry. Output only when Entry
+	// is of type in the EntryType enum. For entries with
+	// user_specified_type, this field is optional and defaults to an empty
 	// timestamp.
 	SourceSystemTimestamps *GoogleCloudDatacatalogV1beta1SystemTimestamps `json:"sourceSystemTimestamps,omitempty"`
 
-	// Type: The type of the entry.
-	// Only used for Entries with types in the EntryType enum.
+	// Type: The type of the entry. Only used for Entries with types in the
+	// EntryType enum.
 	//
 	// Possible values:
 	//   "ENTRY_TYPE_UNSPECIFIED" - Default unknown type.
 	//   "TABLE" - Output only. The type of entry that has a GoogleSQL
-	// schema, including
-	// logical views.
-	//   "MODEL" - Output only. The type of
-	// models.
+	// schema, including logical views.
+	//   "MODEL" - Output only. The type of models.
 	// https://cloud.google.com/bigquery-ml/docs/bigqueryml-intro
 	//   "DATA_STREAM" - Output only. An entry type which is used for
-	// streaming entries. Example:
-	// Pub/Sub topic.
+	// streaming entries. Example: Pub/Sub topic.
 	//   "FILESET" - An entry type which is a set of files or objects.
-	// Example:
-	// Cloud Storage fileset.
+	// Example: Cloud Storage fileset.
 	Type string `json:"type,omitempty"`
 
 	// UserSpecifiedSystem: This field indicates the entry's source system
-	// that Data Catalog does not
-	// integrate with. `user_specified_system` strings must begin with a
-	// letter
-	// or underscore and can only contain letters, numbers, and underscores;
-	// are
-	// case insensitive; must be at least 1 character and at most 64
-	// characters
-	// long.
+	// that Data Catalog does not integrate with. `user_specified_system`
+	// strings must begin with a letter or underscore and can only contain
+	// letters, numbers, and underscores; are case insensitive; must be at
+	// least 1 character and at most 64 characters long.
 	UserSpecifiedSystem string `json:"userSpecifiedSystem,omitempty"`
 
 	// UserSpecifiedType: Entry type if it does not fit any of the
-	// input-allowed values listed in
-	// `EntryType` enum above. When creating an entry, users should check
-	// the
-	// enum values first, if nothing matches the entry to be created,
-	// then
-	// provide a custom value, for example
-	// "my_special_type".
-	// `user_specified_type` strings must begin with a letter or underscore
-	// and
-	// can only contain letters, numbers, and underscores; are case
-	// insensitive;
-	// must be at least 1 character and at most 64 characters
-	// long.
-	//
-	// Currently, only FILESET enum value is allowed. All other entries
-	// created
-	// through Data Catalog must use `user_specified_type`.
+	// input-allowed values listed in `EntryType` enum above. When creating
+	// an entry, users should check the enum values first, if nothing
+	// matches the entry to be created, then provide a custom value, for
+	// example "my_special_type". `user_specified_type` strings must begin
+	// with a letter or underscore and can only contain letters, numbers,
+	// and underscores; are case insensitive; must be at least 1 character
+	// and at most 64 characters long. Currently, only FILESET enum value is
+	// allowed. All other entries created through Data Catalog must use
+	// `user_specified_type`.
 	UserSpecifiedType string `json:"userSpecifiedType,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -909,9 +767,8 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GoogleCloudDatacatalogV1beta1EntryGroup: EntryGroup Metadata.
-// An EntryGroup resource represents a logical grouping of zero or
-// more
+// GoogleCloudDatacatalogV1beta1EntryGroup: EntryGroup Metadata. An
+// EntryGroup resource represents a logical grouping of zero or more
 // Data Catalog Entry resources.
 type GoogleCloudDatacatalogV1beta1EntryGroup struct {
 	// DataCatalogTimestamps: Output only. Timestamps about this EntryGroup.
@@ -919,26 +776,18 @@
 	DataCatalogTimestamps *GoogleCloudDatacatalogV1beta1SystemTimestamps `json:"dataCatalogTimestamps,omitempty"`
 
 	// Description: Entry group description, which can consist of several
-	// sentences or
-	// paragraphs that describe entry group contents. Default value is an
-	// empty
-	// string.
+	// sentences or paragraphs that describe entry group contents. Default
+	// value is an empty string.
 	Description string `json:"description,omitempty"`
 
-	// DisplayName: A short name to identify the entry group, for
-	// example,
+	// DisplayName: A short name to identify the entry group, for example,
 	// "analytics data - jan 2011". Default value is an empty string.
 	DisplayName string `json:"displayName,omitempty"`
 
-	// Name: The resource name of the entry group in URL format. Example:
-	//
-	// *
+	// Name: The resource name of the entry group in URL format. Example: *
 	// projects/{project_id}/locations/{location}/entryGroups/{entry_group_id
-	// }
-	//
-	// Note that this EntryGroup and its child resources may not actually
-	// be
-	// stored in the location in this name.
+	// } Note that this EntryGroup and its child resources may not actually
+	// be stored in the location in this name.
 	Name string `json:"name,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -971,8 +820,7 @@
 }
 
 // GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse: Response
-// message for
-// ExportTaxonomies.
+// message for ExportTaxonomies.
 type GoogleCloudDatacatalogV1beta1ExportTaxonomiesResponse struct {
 	// Taxonomies: List of taxonomies and policy tags in a tree structure.
 	Taxonomies []*GoogleCloudDatacatalogV1beta1SerializedTaxonomy `json:"taxonomies,omitempty"`
@@ -1044,24 +892,16 @@
 
 type GoogleCloudDatacatalogV1beta1FieldTypeEnumType struct {
 	// AllowedValues: The set of allowed values for this enum. This set must
-	// not be empty, the
+	// not be empty, the display names of the values in this set must not be
+	// empty and the display names of the values must be case-insensitively
+	// unique within this set. The order of items in this list is preserved.
+	// This field can be used to Required on create; optional on update. The
+	// set of allowed values for this enum. This set must not be empty, the
 	// display names of the values in this set must not be empty and the
-	// display
-	// names of the values must be case-insensitively unique within this
-	// set.
-	// The order of items in this list is preserved. This field can be used
-	// to
-	// Required on create; optional on update. The set of allowed values
-	// for
-	// this enum. This set must not be empty, the display names of the
-	// values in
-	// this set must not be empty and the display names of the values must
-	// be
-	// case-insensitively unique within this set. Currently, enum values
-	// can
-	// only be added to the list of allowed values. Deletion and renaming
-	// of
-	// enum values are not supported. Can have up to 500 allowed values.
+	// display names of the values must be case-insensitively unique within
+	// this set. Currently, enum values can only be added to the list of
+	// allowed values. Deletion and renaming of enum values are not
+	// supported. Can have up to 500 allowed values.
 	AllowedValues []*GoogleCloudDatacatalogV1beta1FieldTypeEnumTypeEnumValue `json:"allowedValues,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AllowedValues") to
@@ -1155,52 +995,30 @@
 // Storage fileset entry.
 type GoogleCloudDatacatalogV1beta1GcsFilesetSpec struct {
 	// FilePatterns: Required. Patterns to identify a set of files in Google
-	// Cloud Storage.
-	// See [Cloud
-	// Storage
-	// documentation](https://cloud.google.com/storage/docs/gsutil/ad
-	// dlhelp/WildcardNames)
-	// for more information. Note that bucket wildcards are currently
-	// not
-	// supported.
-	//
-	// Examples of valid file_patterns:
-	//
-	//  * `gs://bucket_name/dir/*`: matches all files within
-	// `bucket_name/dir`
-	//                              directory.
-	//  * `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir`
-	//                               spanning all subdirectories.
-	//  * `gs://bucket_name/file*`: matches files prefixed by `file` in
-	//                              `bucket_name`
-	//  * `gs://bucket_name/??.txt`: matches files with two characters
-	// followed by
-	//                               `.txt` in `bucket_name`
-	//  * `gs://bucket_name/[aeiou].txt`: matches files that contain a
-	// single
-	//                                    vowel character followed by `.txt`
-	// in
-	//                                    `bucket_name`
-	//  * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`,
-	// ...
-	//                                  or `m` followed by `.txt` in
-	// `bucket_name`
-	//  * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that
-	// match
-	//                              `a/*/b` pattern, such as `a/c/b`,
-	// `a/d/b`
-	//  * `gs://another_bucket/a.txt`: matches
-	// `gs://another_bucket/a.txt`
-	//
-	// You can combine wildcards to provide more powerful matches, for
-	// example:
-	//
-	//  * `gs://bucket_name/[a-m]??.j*g`
+	// Cloud Storage. See [Cloud Storage
+	// documentation](https://cloud.google.com/storage/docs/gsutil/addlhelp/W
+	// ildcardNames) for more information. Note that bucket wildcards are
+	// currently not supported. Examples of valid file_patterns: *
+	// `gs://bucket_name/dir/*`: matches all files within `bucket_name/dir`
+	// directory. * `gs://bucket_name/dir/**`: matches all files in
+	// `bucket_name/dir` spanning all subdirectories. *
+	// `gs://bucket_name/file*`: matches files prefixed by `file` in
+	// `bucket_name` * `gs://bucket_name/??.txt`: matches files with two
+	// characters followed by `.txt` in `bucket_name` *
+	// `gs://bucket_name/[aeiou].txt`: matches files that contain a single
+	// vowel character followed by `.txt` in `bucket_name` *
+	// `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`,
+	// ... or `m` followed by `.txt` in `bucket_name` *
+	// `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that
+	// match `a/*/b` pattern, such as `a/c/b`, `a/d/b` *
+	// `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt` You
+	// can combine wildcards to provide more powerful matches, for example:
+	// * `gs://bucket_name/[a-m]??.j*g`
 	FilePatterns []string `json:"filePatterns,omitempty"`
 
 	// SampleGcsFileSpecs: Output only. Sample files contained in this
-	// fileset, not all files contained in this
-	// fileset are represented here.
+	// fileset, not all files contained in this fileset are represented
+	// here.
 	SampleGcsFileSpecs []*GoogleCloudDatacatalogV1beta1GcsFileSpec `json:"sampleGcsFileSpecs,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "FilePatterns") to
@@ -1227,8 +1045,7 @@
 }
 
 // GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest: Request message
-// for
-// ImportTaxonomies.
+// for ImportTaxonomies.
 type GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest struct {
 	// InlineSource: Inline source used for taxonomies to be imported.
 	InlineSource *GoogleCloudDatacatalogV1beta1InlineSource `json:"inlineSource,omitempty"`
@@ -1257,8 +1074,7 @@
 }
 
 // GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse: Response
-// message for
-// ImportTaxonomies.
+// message for ImportTaxonomies.
 type GoogleCloudDatacatalogV1beta1ImportTaxonomiesResponse struct {
 	// Taxonomies: Taxonomies that were imported.
 	Taxonomies []*GoogleCloudDatacatalogV1beta1Taxonomy `json:"taxonomies,omitempty"`
@@ -1320,15 +1136,13 @@
 }
 
 // GoogleCloudDatacatalogV1beta1ListEntriesResponse: Response message
-// for
-// ListEntries.
+// for ListEntries.
 type GoogleCloudDatacatalogV1beta1ListEntriesResponse struct {
 	// Entries: Entry details.
 	Entries []*GoogleCloudDatacatalogV1beta1Entry `json:"entries,omitempty"`
 
 	// NextPageToken: Token to retrieve the next page of results. It is set
-	// to empty if no items
-	// remain in results.
+	// to empty if no items remain in results.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1359,15 +1173,13 @@
 }
 
 // GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse: Response
-// message for
-// ListEntryGroups.
+// message for ListEntryGroups.
 type GoogleCloudDatacatalogV1beta1ListEntryGroupsResponse struct {
 	// EntryGroups: EntryGroup details.
 	EntryGroups []*GoogleCloudDatacatalogV1beta1EntryGroup `json:"entryGroups,omitempty"`
 
 	// NextPageToken: Token to retrieve the next page of results. It is set
-	// to empty if no items
-	// remain in results.
+	// to empty if no items remain in results.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1398,12 +1210,10 @@
 }
 
 // GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse: Response message
-// for
-// ListPolicyTags.
+// for ListPolicyTags.
 type GoogleCloudDatacatalogV1beta1ListPolicyTagsResponse struct {
 	// NextPageToken: Token used to retrieve the next page of results, or
-	// empty if there are no
-	// more results in the list.
+	// empty if there are no more results in the list.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// PolicyTags: The policy tags that are in the requested taxonomy.
@@ -1436,13 +1246,11 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GoogleCloudDatacatalogV1beta1ListTagsResponse: Response message
-// for
+// GoogleCloudDatacatalogV1beta1ListTagsResponse: Response message for
 // ListTags.
 type GoogleCloudDatacatalogV1beta1ListTagsResponse struct {
 	// NextPageToken: Token to retrieve the next page of results. It is set
-	// to empty if no items
-	// remain in results.
+	// to empty if no items remain in results.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Tags: Tag details.
@@ -1476,12 +1284,10 @@
 }
 
 // GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse: Response message
-// for
-// ListTaxonomies.
+// for ListTaxonomies.
 type GoogleCloudDatacatalogV1beta1ListTaxonomiesResponse struct {
 	// NextPageToken: Token used to retrieve the next page of results, or
-	// empty if there are no
-	// more results in the list.
+	// empty if there are no more results in the list.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Taxonomies: Taxonomies that the project contains.
@@ -1515,52 +1321,39 @@
 }
 
 // GoogleCloudDatacatalogV1beta1PolicyTag: Denotes one policy tag in a
-// taxonomy (e.g. ssn). Policy Tags can be defined
-// in a hierarchy. For example, consider the following
-// hierarchy:
-// Geolocation -&gt; (LatLong, City, ZipCode). PolicyTag
-// "Geolocation"
-// contains three child policy tags: "LatLong", "City", and "ZipCode".
+// taxonomy (e.g. ssn). Policy Tags can be defined in a hierarchy. For
+// example, consider the following hierarchy: Geolocation -> (LatLong,
+// City, ZipCode). PolicyTag "Geolocation" contains three child policy
+// tags: "LatLong", "City", and "ZipCode".
 type GoogleCloudDatacatalogV1beta1PolicyTag struct {
 	// ChildPolicyTags: Output only. Resource names of child policy tags of
 	// this policy tag.
 	ChildPolicyTags []string `json:"childPolicyTags,omitempty"`
 
 	// Description: Description of this policy tag. It must: contain only
-	// unicode characters,
-	// tabs, newlines, carriage returns and page breaks; and be at most 2000
-	// bytes
-	// long when encoded in UTF-8. If not set, defaults to an empty
+	// unicode characters, tabs, newlines, carriage returns and page breaks;
+	// and be at most 2000 bytes long when encoded in UTF-8. If not set,
+	// defaults to an empty description. If not set, defaults to an empty
 	// description.
-	// If not set, defaults to an empty description.
 	Description string `json:"description,omitempty"`
 
 	// DisplayName: Required. User defined name of this policy tag. It must:
-	// be unique within the parent
-	// taxonomy; contain only unicode letters, numbers, underscores, dashes
-	// and
-	// spaces; not start or end with spaces; and be at most 200 bytes long
-	// when
-	// encoded in UTF-8.
+	// be unique within the parent taxonomy; contain only unicode letters,
+	// numbers, underscores, dashes and spaces; not start or end with
+	// spaces; and be at most 200 bytes long when encoded in UTF-8.
 	DisplayName string `json:"displayName,omitempty"`
 
-	// Name: Output only. Resource name of this policy tag, whose format
-	// is:
-	// "projects/{project_number}/locations/{location_id}/taxonomies/{tax
-	// onomy_id}/policyTags/{id}".
+	// Name: Output only. Resource name of this policy tag, whose format is:
+	// "projects/{project_number}/locations/{location_id}/taxonomies/{taxonom
+	// y_id}/policyTags/{id}".
 	Name string `json:"name,omitempty"`
 
 	// ParentPolicyTag: Resource name of this policy tag's parent policy tag
-	// (e.g. for the
-	// "LatLong" policy tag in the example above, this field contains
-	// the
-	// resource name of the "Geolocation" policy tag). If empty, it means
-	// this
-	// policy tag is a top level policy tag (e.g. this field is empty for
-	// the
-	// "Geolocation" policy tag in the example above). If not set, defaults
-	// to an
-	// empty string.
+	// (e.g. for the "LatLong" policy tag in the example above, this field
+	// contains the resource name of the "Geolocation" policy tag). If
+	// empty, it means this policy tag is a top level policy tag (e.g. this
+	// field is empty for the "Geolocation" policy tag in the example
+	// above). If not set, defaults to an empty string.
 	ParentPolicyTag string `json:"parentPolicyTag,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1592,8 +1385,7 @@
 }
 
 // GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest:
-// Request message for
-// RenameTagTemplateFieldEnumValue.
+// Request message for RenameTagTemplateFieldEnumValue.
 type GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest struct {
 	// NewEnumValueDisplayName: Required. The new display name of the enum
 	// value. For example, `my_new_enum_value`.
@@ -1625,8 +1417,7 @@
 }
 
 // GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest: Request
-// message for
-// RenameTagTemplateField.
+// message for RenameTagTemplateField.
 type GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest struct {
 	// NewTagTemplateFieldId: Required. The new ID of this tag template
 	// field. For example, `my_new_field`.
@@ -1661,8 +1452,7 @@
 // BigQuery, GoogleSQL, Avro schema).
 type GoogleCloudDatacatalogV1beta1Schema struct {
 	// Columns: Required. Schema of columns. A maximum of 10,000 columns and
-	// sub-columns can be
-	// specified.
+	// sub-columns can be specified.
 	Columns []*GoogleCloudDatacatalogV1beta1ColumnSchema `json:"columns,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Columns") to
@@ -1689,63 +1479,40 @@
 }
 
 // GoogleCloudDatacatalogV1beta1SearchCatalogRequest: Request message
-// for
-// SearchCatalog.
+// for SearchCatalog.
 type GoogleCloudDatacatalogV1beta1SearchCatalogRequest struct {
 	// OrderBy: Specifies the ordering of results, currently supported
-	// case-sensitive
-	// choices are:
-	//
-	//   * `relevance`, only supports descending
-	//   * `last_modified_timestamp [asc|desc]`, defaults to descending if
-	// not
-	//     specified
-	//
-	// If not specified, defaults to `relevance` descending.
+	// case-sensitive choices are: * `relevance`, only supports descending *
+	// `last_modified_timestamp [asc|desc]`, defaults to descending if not
+	// specified If not specified, defaults to `relevance` descending.
 	OrderBy string `json:"orderBy,omitempty"`
 
 	// PageSize: Number of results in the search page. If <=0 then defaults
-	// to 10. Max limit
-	// for page_size is 1000. Throws an invalid argument for page_size >
-	// 1000.
+	// to 10. Max limit for page_size is 1000. Throws an invalid argument
+	// for page_size > 1000.
 	PageSize int64 `json:"pageSize,omitempty"`
 
-	// PageToken: Optional. Pagination token returned in an
-	// earlier
-	// SearchCatalogResponse.next_page_token, which
-	// indicates that this is a continuation of a
-	// prior
-	// SearchCatalogRequest
-	// call, and that the system should return the next page of data. If
-	// empty,
-	// the first page is returned.
+	// PageToken: Optional. Pagination token returned in an earlier
+	// SearchCatalogResponse.next_page_token, which indicates that this is a
+	// continuation of a prior SearchCatalogRequest call, and that the
+	// system should return the next page of data. If empty, the first page
+	// is returned.
 	PageToken string `json:"pageToken,omitempty"`
 
-	// Query: Required. The query string in search query syntax. The query
-	// must be non-empty.
-	//
-	// Query strings can be simple as "x" or more qualified as:
-	//
-	// * name:x
-	// * column:x
-	// * description:y
-	//
-	// Note: Query tokens need to have a minimum of 3 characters for
-	// substring
-	// matching to work correctly. See [Data Catalog
-	// Search
-	// Syntax](https://cloud.google.com/data-catalog/docs/how-to/searc
-	// h-reference)
-	// for more information.
+	// Query: Optional. The query string in search query syntax. An empty
+	// query string will result in all data assets (in the specified scope)
+	// that the user has access to. Query strings can be simple as "x" or
+	// more qualified as: * name:x * column:x * description:y Note: Query
+	// tokens need to have a minimum of 3 characters for substring matching
+	// to work correctly. See [Data Catalog Search
+	// Syntax](https://cloud.google.com/data-catalog/docs/how-to/search-refer
+	// ence) for more information.
 	Query string `json:"query,omitempty"`
 
 	// Scope: Required. The scope of this search request. A `scope` that has
-	// empty
-	// `include_org_ids`, `include_project_ids` AND
-	// false
+	// empty `include_org_ids`, `include_project_ids` AND false
 	// `include_gcp_public_datasets` is considered invalid. Data Catalog
-	// will
-	// return an error in such a case.
+	// will return an error in such a case.
 	Scope *GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope `json:"scope,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "OrderBy") to
@@ -1775,70 +1542,35 @@
 // that select the subspace used for query matching.
 type GoogleCloudDatacatalogV1beta1SearchCatalogRequestScope struct {
 	// IncludeGcpPublicDatasets: If `true`, include Google Cloud Platform
-	// (GCP) public datasets in the
-	// search results. Info on GCP public datasets is available
-	// at
-	// https://cloud.google.com/public-datasets/. By default, GCP
-	// public
-	// datasets are excluded.
+	// (GCP) public datasets in the search results. Info on GCP public
+	// datasets is available at https://cloud.google.com/public-datasets/.
+	// By default, GCP public datasets are excluded.
 	IncludeGcpPublicDatasets bool `json:"includeGcpPublicDatasets,omitempty"`
 
 	// IncludeOrgIds: The list of organization IDs to search within. To find
-	// your organization
-	// ID, follow instructions
-	// in
-	// https://cloud.google.com/resource-manager/docs/creating-managing-or
-	// ganization.
+	// your organization ID, follow instructions in
+	// https://cloud.google.com/resource-manager/docs/creating-managing-organization.
 	IncludeOrgIds []string `json:"includeOrgIds,omitempty"`
 
 	// IncludeProjectIds: The list of project IDs to search within. To learn
-	// more about the
-	// distinction between project names/IDs/numbers, go
-	// to
+	// more about the distinction between project names/IDs/numbers, go to
 	// https://cloud.google.com/docs/overview/#projects.
 	IncludeProjectIds []string `json:"includeProjectIds,omitempty"`
 
 	// RestrictedLocations: Optional. The list of locations to search
-	// within.
-	// 1. If empty, search will be performed in all locations;
-	// 2. If any of the locations are NOT in the valid locations list,
-	// error
-	// will be returned;
-	// 3. Otherwise, search only the given locations for matching
-	// results.
-	// Typical usage is to leave this field empty. When a location
-	// is
-	// unreachable as returned in the `SearchCatalogResponse.unreachable`
-	// field,
-	// users can repeat the search request with this parameter set to
-	// get
-	// additional information on the error.
-	//
-	// Valid locations:
-	//  * asia-east1
-	//  * asia-east2
-	//  * asia-northeast1
-	//  * asia-northeast2
-	//  * asia-northeast3
-	//  * asia-south1
-	//  * asia-southeast1
-	//  * australia-southeast1
-	//  * eu
-	//  * europe-north1
-	//  * europe-west1
-	//  * europe-west2
-	//  * europe-west3
-	//  * europe-west4
-	//  * europe-west6
-	//  * global
-	//  * northamerica-northeast1
-	//  * southamerica-east1
-	//  * us
-	//  * us-central1
-	//  * us-east1
-	//  * us-east4
-	//  * us-west1
-	//  * us-west2
+	// within. 1. If empty, search will be performed in all locations; 2. If
+	// any of the locations are NOT in the valid locations list, error will
+	// be returned; 3. Otherwise, search only the given locations for
+	// matching results. Typical usage is to leave this field empty. When a
+	// location is unreachable as returned in the
+	// `SearchCatalogResponse.unreachable` field, users can repeat the
+	// search request with this parameter set to get additional information
+	// on the error. Valid locations: * asia-east1 * asia-east2 *
+	// asia-northeast1 * asia-northeast2 * asia-northeast3 * asia-south1 *
+	// asia-southeast1 * australia-southeast1 * eu * europe-north1 *
+	// europe-west1 * europe-west2 * europe-west3 * europe-west4 *
+	// europe-west6 * global * northamerica-northeast1 * southamerica-east1
+	// * us * us-central1 * us-east1 * us-east4 * us-west1 * us-west2
 	RestrictedLocations []string `json:"restrictedLocations,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -1867,8 +1599,7 @@
 }
 
 // GoogleCloudDatacatalogV1beta1SearchCatalogResponse: Response message
-// for
-// SearchCatalog.
+// for SearchCatalog.
 type GoogleCloudDatacatalogV1beta1SearchCatalogResponse struct {
 	// NextPageToken: The token that can be used to retrieve the next page
 	// of results.
@@ -1878,12 +1609,10 @@
 	Results []*GoogleCloudDatacatalogV1beta1SearchCatalogResult `json:"results,omitempty"`
 
 	// Unreachable: Unreachable locations. Search result does not include
-	// data from those
-	// locations. Users can get additional information on the error by
-	// repeating
-	// the search request with a more restrictive parameter -- setting the
-	// value
-	// for `SearchDataCatalogRequest.scope.include_locations`.
+	// data from those locations. Users can get additional information on
+	// the error by repeating the search request with a more restrictive
+	// parameter -- setting the value for
+	// `SearchDataCatalogRequest.scope.include_locations`.
 	Unreachable []string `json:"unreachable,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1914,43 +1643,31 @@
 }
 
 // GoogleCloudDatacatalogV1beta1SearchCatalogResult: A result that
-// appears in the response of a search request. Each result
-// captures details of one entry that matches the search.
+// appears in the response of a search request. Each result captures
+// details of one entry that matches the search.
 type GoogleCloudDatacatalogV1beta1SearchCatalogResult struct {
 	// LinkedResource: The full name of the cloud resource the entry belongs
-	// to.
-	// See:
-	// https://cloud.google.com/apis/design/resource_names#full_resource
-	// _name.
-	// Example:
-	//
-	//  *
+	// to. See:
+	// https://cloud.google.com/apis/design/resource_names#full_resource_name. Example: *
 	// `//bigquery.googleapis.com/projects/projectId/datasets/datasetId/table
 	// s/tableId`
 	LinkedResource string `json:"linkedResource,omitempty"`
 
 	// RelativeResourceName: The relative resource name of the resource in
-	// URL format.
-	// Examples:
-	//
-	//  *
+	// URL format. Examples: *
 	// `projects/{project_id}/locations/{location_id}/entryGroups/{entry_grou
-	// p_id}/entries/{entry_id}`
-	//  * `projects/{project_id}/tagTemplates/{tag_template_id}`
+	// p_id}/entries/{entry_id}` *
+	// `projects/{project_id}/tagTemplates/{tag_template_id}`
 	RelativeResourceName string `json:"relativeResourceName,omitempty"`
 
 	// SearchResultSubtype: Sub-type of the search result. This is a
-	// dot-delimited description of the
-	// resource's full type, and is the same as the value callers would
-	// provide in
-	// the "type" search facet.  Examples: `entry.table`,
-	// `entry.dataStream`,
-	// `tagTemplate`.
+	// dot-delimited description of the resource's full type, and is the
+	// same as the value callers would provide in the "type" search facet.
+	// Examples: `entry.table`, `entry.dataStream`, `tagTemplate`.
 	SearchResultSubtype string `json:"searchResultSubtype,omitempty"`
 
 	// SearchResultType: Type of the search result. This field can be used
-	// to determine which Get
-	// method to call to fetch the full resource.
+	// to determine which Get method to call to fetch the full resource.
 	//
 	// Possible values:
 	//   "SEARCH_RESULT_TYPE_UNSPECIFIED" - Default unknown type.
@@ -1990,19 +1707,16 @@
 	ChildPolicyTags []*GoogleCloudDatacatalogV1beta1SerializedPolicyTag `json:"childPolicyTags,omitempty"`
 
 	// Description: Description of the serialized policy tag. The length of
-	// the
-	// description is limited to 2000 bytes when encoded in UTF-8. If not
-	// set,
-	// defaults to an empty description.
+	// the description is limited to 2000 bytes when encoded in UTF-8. If
+	// not set, defaults to an empty description.
 	Description string `json:"description,omitempty"`
 
 	// DisplayName: Required. Display name of the policy tag. Max 200 bytes
 	// when encoded in UTF-8.
 	DisplayName string `json:"displayName,omitempty"`
 
-	// PolicyTag: Resource name of the policy tag.
-	//
-	// This field will be ignored when calling ImportTaxonomies.
+	// PolicyTag: Resource name of the policy tag. This field will be
+	// ignored when calling ImportTaxonomies.
 	PolicyTag string `json:"policyTag,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ChildPolicyTags") to
@@ -2030,14 +1744,12 @@
 }
 
 // GoogleCloudDatacatalogV1beta1SerializedTaxonomy: Message capturing a
-// taxonomy and its policy tag hierarchy as a nested proto.
-// Used for taxonomy import/export and mutation.
+// taxonomy and its policy tag hierarchy as a nested proto. Used for
+// taxonomy import/export and mutation.
 type GoogleCloudDatacatalogV1beta1SerializedTaxonomy struct {
 	// Description: Description of the serialized taxonomy. The length of
-	// the
-	// description is limited to 2000 bytes when encoded in UTF-8. If not
-	// set,
-	// defaults to an empty description.
+	// the description is limited to 2000 bytes when encoded in UTF-8. If
+	// not set, defaults to an empty description.
 	Description string `json:"description,omitempty"`
 
 	// DisplayName: Required. Display name of the taxonomy. Max 200 bytes
@@ -2079,8 +1791,7 @@
 	CreateTime string `json:"createTime,omitempty"`
 
 	// ExpireTime: Output only. The expiration time of the resource within
-	// the given system.
-	// Currently only apllicable to BigQuery resources.
+	// the given system. Currently only apllicable to BigQuery resources.
 	ExpireTime string `json:"expireTime,omitempty"`
 
 	// UpdateTime: The last-modified time of the resource within the given
@@ -2113,14 +1824,10 @@
 // GoogleCloudDatacatalogV1beta1TableSpec: Normal BigQuery table spec.
 type GoogleCloudDatacatalogV1beta1TableSpec struct {
 	// GroupedEntry: Output only. If the table is a dated shard, i.e., with
-	// name pattern `[prefix]YYYYMMDD`,
-	// `grouped_entry` is the Data Catalog resource name of the date
-	// sharded
-	// grouped entry, for
-	// example,
-	// `projects/{project_id}/locations/{location}/entrygroups/{entr
-	// y_group_id}/entries/{entry_id}`.
-	// Otherwise, `grouped_entry` is empty.
+	// name pattern `[prefix]YYYYMMDD`, `grouped_entry` is the Data Catalog
+	// resource name of the date sharded grouped entry, for example,
+	// `projects/{project_id}/locations/{location}/entrygroups/{entry_group_i
+	// d}/entries/{entry_id}`. Otherwise, `grouped_entry` is empty.
 	GroupedEntry string `json:"groupedEntry,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "GroupedEntry") to
@@ -2147,53 +1854,34 @@
 }
 
 // GoogleCloudDatacatalogV1beta1Tag: Tags are used to attach custom
-// metadata to Data Catalog resources. Tags
-// conform to the specifications within their tag template.
-//
-// See [Data
-// Catalog
+// metadata to Data Catalog resources. Tags conform to the
+// specifications within their tag template. See [Data Catalog
 // IAM](https://cloud.google.com/data-catalog/docs/concepts/iam) for
-// information
-// on the permissions needed to create or view tags.
+// information on the permissions needed to create or view tags.
 type GoogleCloudDatacatalogV1beta1Tag struct {
 	// Column: Resources like Entry can have schemas associated with them.
-	// This scope
-	// allows users to attach tags to an individual column based on that
-	// schema.
-	//
-	// For attaching a tag to a nested column, use `.` to separate the
-	// column
-	// names. Example:
-	//
-	// * `outer_column.inner_column`
+	// This scope allows users to attach tags to an individual column based
+	// on that schema. For attaching a tag to a nested column, use `.` to
+	// separate the column names. Example: * `outer_column.inner_column`
 	Column string `json:"column,omitempty"`
 
 	// Fields: Required. This maps the ID of a tag field to the value of and
-	// additional information
-	// about that field. Valid field IDs are defined by the tag's template.
-	// A tag
-	// must have at least 1 field and at most 500 fields.
+	// additional information about that field. Valid field IDs are defined
+	// by the tag's template. A tag must have at least 1 field and at most
+	// 500 fields.
 	Fields map[string]GoogleCloudDatacatalogV1beta1TagField `json:"fields,omitempty"`
 
-	// Name: The resource name of the tag in URL format. Example:
-	//
-	// *
+	// Name: The resource name of the tag in URL format. Example: *
 	// projects/{project_id}/locations/{location}/entrygroups/{entry_group_id
-	// }/entries/{entry_id}/tags/{tag_id}
-	//
-	// where `tag_id` is a system-generated identifier.
-	// Note that this Tag may not actually be stored in the location in this
-	// name.
+	// }/entries/{entry_id}/tags/{tag_id} where `tag_id` is a
+	// system-generated identifier. Note that this Tag may not actually be
+	// stored in the location in this name.
 	Name string `json:"name,omitempty"`
 
 	// Template: Required. The resource name of the tag template that this
-	// tag uses. Example:
-	//
-	// *
+	// tag uses. Example: *
 	// projects/{project_id}/locations/{location}/tagTemplates/{tag_template_
-	// id}
-	//
-	// This field cannot be modified after creation.
+	// id} This field cannot be modified after creation.
 	Template string `json:"template,omitempty"`
 
 	// TemplateDisplayName: Output only. The display name of the tag
@@ -2228,8 +1916,7 @@
 }
 
 // GoogleCloudDatacatalogV1beta1TagField: Contains the value and
-// supporting information for a field within
-// a Tag.
+// supporting information for a field within a Tag.
 type GoogleCloudDatacatalogV1beta1TagField struct {
 	// BoolValue: Holds the value for a tag field with boolean type.
 	BoolValue bool `json:"boolValue,omitempty"`
@@ -2241,18 +1928,14 @@
 	DoubleValue float64 `json:"doubleValue,omitempty"`
 
 	// EnumValue: Holds the value for a tag field with enum type. This value
-	// must be
-	// one of the allowed values in the definition of this enum.
+	// must be one of the allowed values in the definition of this enum.
 	EnumValue *GoogleCloudDatacatalogV1beta1TagFieldEnumValue `json:"enumValue,omitempty"`
 
 	// Order: Output only. The order of this field with respect to other
-	// fields in this tag. It can be
-	// set in Tag. For
-	// example, a higher value can indicate a more important field. The
-	// value can
-	// be negative. Multiple fields can have the same order, and field
-	// orders
-	// within a tag do not have to be sequential.
+	// fields in this tag. It can be set in Tag. For example, a higher value
+	// can indicate a more important field. The value can be negative.
+	// Multiple fields can have the same order, and field orders within a
+	// tag do not have to be sequential.
 	Order int64 `json:"order,omitempty"`
 
 	// StringValue: Holds the value for a tag field with string type.
@@ -2327,49 +2010,32 @@
 }
 
 // GoogleCloudDatacatalogV1beta1TagTemplate: A tag template defines a
-// tag, which can have one or more typed fields.
-// The template is used to create and attach the tag to GCP
+// tag, which can have one or more typed fields. The template is used to
+// create and attach the tag to GCP resources. [Tag template
+// roles](https://cloud.google.com/iam/docs/understanding-roles#data-cata
+// log-roles) provide permissions to create, edit, and use the template.
+// See, for example, the [TagTemplate
+// User](https://cloud.google.com/data-catalog/docs/how-to/template-user)
+//  role, which includes permission to use the tag template to tag
 // resources.
-// [Tag
-// template
-// roles](https://cloud.google.com/iam/docs/understanding-roles#
-// data-catalog-roles)
-// provide permissions to create, edit, and use the template. See, for
-// example,
-// the
-// [TagTemplate
-// User](https://cloud.google.com/data-catalog/docs/how-to/t
-// emplate-user) role,
-// which includes permission to use the tag template to tag resources.
 type GoogleCloudDatacatalogV1beta1TagTemplate struct {
 	// DisplayName: The display name for this template. Defaults to an empty
 	// string.
 	DisplayName string `json:"displayName,omitempty"`
 
 	// Fields: Required. Map of tag template field IDs to the settings for
-	// the field.
-	// This map is an exhaustive list of the allowed fields. This map must
-	// contain
-	// at least one field and at most 500 fields.
-	//
-	// The keys to this map are tag template field IDs. Field IDs can
-	// contain
-	// letters (both uppercase and lowercase), numbers (0-9) and underscores
-	// (_).
-	// Field IDs must be at least 1 character long and at most
-	// 64 characters long. Field IDs must start with a letter or underscore.
+	// the field. This map is an exhaustive list of the allowed fields. This
+	// map must contain at least one field and at most 500 fields. The keys
+	// to this map are tag template field IDs. Field IDs can contain letters
+	// (both uppercase and lowercase), numbers (0-9) and underscores (_).
+	// Field IDs must be at least 1 character long and at most 64 characters
+	// long. Field IDs must start with a letter or underscore.
 	Fields map[string]GoogleCloudDatacatalogV1beta1TagTemplateField `json:"fields,omitempty"`
 
-	// Name: The resource name of the tag template in URL format.
-	// Example:
-	//
-	// *
+	// Name: The resource name of the tag template in URL format. Example: *
 	// projects/{project_id}/locations/{location}/tagTemplates/{tag_template_
-	// id}
-	//
-	// Note that this TagTemplate and its child resources may not actually
-	// be
-	// stored in the location in this name.
+	// id} Note that this TagTemplate and its child resources may not
+	// actually be stored in the location in this name.
 	Name string `json:"name,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2410,24 +2076,16 @@
 	IsRequired bool `json:"isRequired,omitempty"`
 
 	// Name: Output only. The resource name of the tag template field in URL
-	// format. Example:
-	//
-	// *
+	// format. Example: *
 	// projects/{project_id}/locations/{location}/tagTemplates/{tag_template}
-	// /fields/{field}
-	//
-	// Note that this TagTemplateField may not actually be stored in the
-	// location
-	// in this name.
+	// /fields/{field} Note that this TagTemplateField may not actually be
+	// stored in the location in this name.
 	Name string `json:"name,omitempty"`
 
 	// Order: The order of this field with respect to other fields in this
-	// tag
-	// template.  A higher value indicates a more important field. The value
-	// can
-	// be negative. Multiple fields can have the same order, and field
-	// orders
-	// within a tag do not have to be sequential.
+	// tag template. A higher value indicates a more important field. The
+	// value can be negative. Multiple fields can have the same order, and
+	// field orders within a tag do not have to be sequential.
 	Order int64 `json:"order,omitempty"`
 
 	// Type: Required. The type of value this tag field can contain.
@@ -2461,45 +2119,35 @@
 }
 
 // GoogleCloudDatacatalogV1beta1Taxonomy: A taxonomy is a collection of
-// policy tags that classify data along a common
-// axis. For instance a data *sensitivity* taxonomy could contain policy
-// tags
-// denoting PII such as age, zipcode, and SSN. A data *origin* taxonomy
-// could
-// contain policy tags to distinguish user data, employee data, partner
-// data,
+// policy tags that classify data along a common axis. For instance a
+// data *sensitivity* taxonomy could contain policy tags denoting PII
+// such as age, zipcode, and SSN. A data *origin* taxonomy could contain
+// policy tags to distinguish user data, employee data, partner data,
 // public data.
 type GoogleCloudDatacatalogV1beta1Taxonomy struct {
 	// ActivatedPolicyTypes: Optional. A list of policy types that are
-	// activated for this taxonomy. If not set,
-	// defaults to an empty list.
+	// activated for this taxonomy. If not set, defaults to an empty list.
 	//
 	// Possible values:
 	//   "POLICY_TYPE_UNSPECIFIED" - Unspecified policy type.
 	//   "FINE_GRAINED_ACCESS_CONTROL" - Fine grained access control policy,
-	// which enables access control on
-	// tagged resources.
+	// which enables access control on tagged resources.
 	ActivatedPolicyTypes []string `json:"activatedPolicyTypes,omitempty"`
 
 	// Description: Optional. Description of this taxonomy. It must: contain
-	// only unicode characters,
-	// tabs, newlines, carriage returns and page breaks; and be at most 2000
-	// bytes
-	// long when encoded in UTF-8. If not set, defaults to an empty
-	// description.
+	// only unicode characters, tabs, newlines, carriage returns and page
+	// breaks; and be at most 2000 bytes long when encoded in UTF-8. If not
+	// set, defaults to an empty description.
 	Description string `json:"description,omitempty"`
 
 	// DisplayName: Required. User defined name of this taxonomy. It must:
-	// contain only unicode letters,
-	// numbers, underscores, dashes and spaces; not start or end with
-	// spaces; and
-	// be at most 200 bytes long when encoded in UTF-8.
+	// contain only unicode letters, numbers, underscores, dashes and
+	// spaces; not start or end with spaces; and be at most 200 bytes long
+	// when encoded in UTF-8.
 	DisplayName string `json:"displayName,omitempty"`
 
-	// Name: Output only. Resource name of this taxonomy, whose format
-	// is:
-	// "projects/{project_number}/locations/{location_id}/taxonomies/{id}
-	// ".
+	// Name: Output only. Resource name of this taxonomy, whose format is:
+	// "projects/{project_number}/locations/{location_id}/taxonomies/{id}".
 	Name string `json:"name,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2560,150 +2208,73 @@
 }
 
 // Policy: An Identity and Access Management (IAM) policy, which
-// specifies access
-// controls for Google Cloud resources.
-//
-//
-// A `Policy` is a collection of `bindings`. A `binding` binds one or
-// more
-// `members` to a single `role`. Members can be user accounts, service
-// accounts,
+// specifies access controls for Google Cloud resources. A `Policy` is a
+// collection of `bindings`. A `binding` binds one or more `members` to
+// a single `role`. Members can be user accounts, service accounts,
 // Google groups, and domains (such as G Suite). A `role` is a named
-// list of
-// permissions; each `role` can be an IAM predefined role or a
-// user-created
-// custom role.
-//
-// For some types of Google Cloud resources, a `binding` can also
-// specify a
-// `condition`, which is a logical expression that allows access to a
-// resource
-// only if the expression evaluates to `true`. A condition can add
-// constraints
-// based on attributes of the request, the resource, or both. To learn
-// which
-// resources support conditions in their IAM policies, see the
-// [IAM
+// list of permissions; each `role` can be an IAM predefined role or a
+// user-created custom role. For some types of Google Cloud resources, a
+// `binding` can also specify a `condition`, which is a logical
+// expression that allows access to a resource only if the expression
+// evaluates to `true`. A condition can add constraints based on
+// attributes of the request, the resource, or both. To learn which
+// resources support conditions in their IAM policies, see the [IAM
 // documentation](https://cloud.google.com/iam/help/conditions/resource-p
-// olicies).
-//
-// **JSON example:**
-//
-//     {
-//       "bindings": [
-//         {
-//           "role": "roles/resourcemanager.organizationAdmin",
-//           "members": [
-//             "user:mike@example.com",
-//             "group:admins@example.com",
-//             "domain:google.com",
-//
-// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
-//           ]
-//         },
-//         {
-//           "role": "roles/resourcemanager.organizationViewer",
-//           "members": [
-//             "user:eve@example.com"
-//           ],
-//           "condition": {
-//             "title": "expirable access",
-//             "description": "Does not grant access after Sep 2020",
-//             "expression": "request.time <
-// timestamp('2020-10-01T00:00:00.000Z')",
-//           }
-//         }
-//       ],
-//       "etag": "BwWWja0YfJA=",
-//       "version": 3
-//     }
-//
-// **YAML example:**
-//
-//     bindings:
-//     - members:
-//       - user:mike@example.com
-//       - group:admins@example.com
-//       - domain:google.com
-//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
-//       role: roles/resourcemanager.organizationAdmin
-//     - members:
-//       - user:eve@example.com
-//       role: roles/resourcemanager.organizationViewer
-//       condition:
-//         title: expirable access
-//         description: Does not grant access after Sep 2020
-//         expression: request.time <
-// timestamp('2020-10-01T00:00:00.000Z')
-//     - etag: BwWWja0YfJA=
-//     - version: 3
-//
-// For a description of IAM and its features, see the
-// [IAM documentation](https://cloud.google.com/iam/docs/).
+// olicies). **JSON example:** { "bindings": [ { "role":
+// "roles/resourcemanager.organizationAdmin", "members": [
+// "user:mike@example.com", "group:admins@example.com",
+// "domain:google.com",
+// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
+// "role": "roles/resourcemanager.organizationViewer", "members": [
+// "user:eve@example.com" ], "condition": { "title": "expirable access",
+// "description": "Does not grant access after Sep 2020", "expression":
+// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
+// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
+// members: - user:mike@example.com - group:admins@example.com -
+// domain:google.com -
+// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
+// roles/resourcemanager.organizationAdmin - members: -
+// user:eve@example.com role: roles/resourcemanager.organizationViewer
+// condition: title: expirable access description: Does not grant access
+// after Sep 2020 expression: request.time <
+// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
+// 3 For a description of IAM and its features, see the [IAM
+// documentation](https://cloud.google.com/iam/docs/).
 type Policy struct {
 	// Bindings: Associates a list of `members` to a `role`. Optionally, may
-	// specify a
-	// `condition` that determines how and when the `bindings` are applied.
-	// Each
-	// of the `bindings` must contain at least one member.
+	// specify a `condition` that determines how and when the `bindings` are
+	// applied. Each of the `bindings` must contain at least one member.
 	Bindings []*Binding `json:"bindings,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a policy from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform policy updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `getIamPolicy`,
-	// and
-	// systems are expected to put that etag in the request to
-	// `setIamPolicy` to
-	// ensure that their change will be applied to the same version of the
-	// policy.
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
+	// help prevent simultaneous updates of a policy from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform policy updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `getIamPolicy`, and systems are expected to put that etag in the
+	// request to `setIamPolicy` to ensure that their change will be applied
+	// to the same version of the policy. **Important:** If you use IAM
+	// Conditions, you must include the `etag` field whenever you call
+	// `setIamPolicy`. If you omit this field, then IAM allows you to
+	// overwrite a version `3` policy with a version `1` policy, and all of
 	// the conditions in the version `3` policy are lost.
 	Etag string `json:"etag,omitempty"`
 
-	// Version: Specifies the format of the policy.
-	//
-	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
-	// value
-	// are rejected.
-	//
+	// Version: Specifies the format of the policy. Valid values are `0`,
+	// `1`, and `3`. Requests that specify an invalid value are rejected.
 	// Any operation that affects conditional role bindings must specify
-	// version
-	// `3`. This requirement applies to the following operations:
-	//
-	// * Getting a policy that includes a conditional role binding
-	// * Adding a conditional role binding to a policy
-	// * Changing a conditional role binding in a policy
-	// * Removing any role binding, with or without a condition, from a
-	// policy
-	//   that includes conditions
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
-	// the conditions in the version `3` policy are lost.
-	//
-	// If a policy does not include any conditions, operations on that
-	// policy may
-	// specify any valid version or leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see the
-	// [IAM
+	// version `3`. This requirement applies to the following operations: *
+	// Getting a policy that includes a conditional role binding * Adding a
+	// conditional role binding to a policy * Changing a conditional role
+	// binding in a policy * Removing any role binding, with or without a
+	// condition, from a policy that includes conditions **Important:** If
+	// you use IAM Conditions, you must include the `etag` field whenever
+	// you call `setIamPolicy`. If you omit this field, then IAM allows you
+	// to overwrite a version `3` policy with a version `1` policy, and all
+	// of the conditions in the version `3` policy are lost. If a policy
+	// does not include any conditions, operations on that policy may
+	// specify any valid version or leave the field unset. To learn which
+	// resources support conditions in their IAM policies, see the [IAM
 	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
 	// olicies).
 	Version int64 `json:"version,omitempty"`
@@ -2738,11 +2309,9 @@
 // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
 type SetIamPolicyRequest struct {
 	// Policy: REQUIRED: The complete policy to be applied to the
-	// `resource`. The size of
-	// the policy is limited to a few 10s of KB. An empty policy is a
-	// valid policy but certain Cloud Platform services (such as
-	// Projects)
-	// might reject them.
+	// `resource`. The size of the policy is limited to a few 10s of KB. An
+	// empty policy is a valid policy but certain Cloud Platform services
+	// (such as Projects) might reject them.
 	Policy *Policy `json:"policy,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Policy") to
@@ -2772,11 +2341,8 @@
 // method.
 type TestIamPermissionsRequest struct {
 	// Permissions: The set of permissions to check for the `resource`.
-	// Permissions with
-	// wildcards (such as '*' or 'storage.*') are not allowed. For
-	// more
-	// information see
-	// [IAM
+	// Permissions with wildcards (such as '*' or 'storage.*') are not
+	// allowed. For more information see [IAM
 	// Overview](https://cloud.google.com/iam/docs/overview#permissions).
 	Permissions []string `json:"permissions,omitempty"`
 
@@ -2807,8 +2373,7 @@
 // method.
 type TestIamPermissionsResponse struct {
 	// Permissions: A subset of `TestPermissionsRequest.permissions` that
-	// the caller is
-	// allowed.
+	// the caller is allowed.
 	Permissions []string `json:"permissions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2849,30 +2414,16 @@
 }
 
 // Search: Searches Data Catalog for multiple resources like entries,
-// tags that
-// match a query.
-//
-// This is a custom
-// method
+// tags that match a query. This is a custom method
 // (https://cloud.google.com/apis/design/custom_methods) and does not
-// return
-// the complete resource, only the resource identifier and high
-// level
-// fields. Clients can subsequentally call `Get` methods.
-//
-// Note that Data Catalog search queries do not guarantee full recall.
-// Query
-// results that match your query may not be returned, even in
-// subsequent
+// return the complete resource, only the resource identifier and high
+// level fields. Clients can subsequentally call `Get` methods. Note
+// that Data Catalog search queries do not guarantee full recall. Query
+// results that match your query may not be returned, even in subsequent
 // result pages. Also note that results returned (and not returned) can
-// vary
-// across repeated search queries.
-//
-// See [Data Catalog
-// Search
-// Syntax](https://cloud.google.com/data-catalog/docs/how-to/searc
-// h-reference)
-// for more information.
+// vary across repeated search queries. See [Data Catalog Search
+// Syntax](https://cloud.google.com/data-catalog/docs/how-to/search-refer
+// ence) for more information.
 func (r *CatalogService) Search(googleclouddatacatalogv1beta1searchcatalogrequest *GoogleCloudDatacatalogV1beta1SearchCatalogRequest) *CatalogSearchCall {
 	c := &CatalogSearchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.googleclouddatacatalogv1beta1searchcatalogrequest = googleclouddatacatalogv1beta1searchcatalogrequest
@@ -2906,7 +2457,7 @@
 
 func (c *CatalogSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2969,7 +2520,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Searches Data Catalog for multiple resources like entries, tags that\nmatch a query.\n\nThis is a custom method\n(https://cloud.google.com/apis/design/custom_methods) and does not return\nthe complete resource, only the resource identifier and high level\nfields. Clients can subsequentally call `Get` methods.\n\nNote that Data Catalog search queries do not guarantee full recall. Query\nresults that match your query may not be returned, even in subsequent\nresult pages. Also note that results returned (and not returned) can vary\nacross repeated search queries.\n\nSee [Data Catalog Search\nSyntax](https://cloud.google.com/data-catalog/docs/how-to/search-reference)\nfor more information.",
+	//   "description": "Searches Data Catalog for multiple resources like entries, tags that match a query. This is a custom method (https://cloud.google.com/apis/design/custom_methods) and does not return the complete resource, only the resource identifier and high level fields. Clients can subsequentally call `Get` methods. Note that Data Catalog search queries do not guarantee full recall. Query results that match your query may not be returned, even in subsequent result pages. Also note that results returned (and not returned) can vary across repeated search queries. See [Data Catalog Search Syntax](https://cloud.google.com/data-catalog/docs/how-to/search-reference) for more information.",
 	//   "flatPath": "v1beta1/catalog:search",
 	//   "httpMethod": "POST",
 	//   "id": "datacatalog.catalog.search",
@@ -3021,51 +2572,32 @@
 }
 
 // Lookup: Get an entry by target resource name. This method allows
-// clients to use
-// the resource name from the source Google Cloud Platform service to
-// get the
-// Data Catalog Entry.
+// clients to use the resource name from the source Google Cloud
+// Platform service to get the Data Catalog Entry.
 func (r *EntriesService) Lookup() *EntriesLookupCall {
 	c := &EntriesLookupCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	return c
 }
 
 // LinkedResource sets the optional parameter "linkedResource": The full
-// name of the Google Cloud Platform resource the Data Catalog
-// entry represents.
-// See:
-// https://cloud.google.com/apis/design/resource_names#full_resource
-// _name.
-// Full names are case-sensitive.
-//
-// Examples:
-//
-//  *
-// //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables
-// /tableId
-//  * //pubsub.googleapis.com/projects/projectId/topics/topicId
+// name of the Google Cloud Platform resource the Data Catalog entry
+// represents. See:
+// https://cloud.google.com/apis/design/resource_names#full_resource_name. Full names are case-sensitive. Examples: * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId *
+// //pubsub.googleapis.com/projects/projectId/topics/topicId
 func (c *EntriesLookupCall) LinkedResource(linkedResource string) *EntriesLookupCall {
 	c.urlParams_.Set("linkedResource", linkedResource)
 	return c
 }
 
 // SqlResource sets the optional parameter "sqlResource": The SQL name
-// of the entry. SQL names are case-sensitive.
-//
-// Examples:
-//
-//   * `pubsub.project_id.topic_id`
-//   * ``pubsub.project_id.`topic.id.with.dots` ``
-//   * `bigquery.table.project_id.dataset_id.table_id`
-//   * `bigquery.dataset.project_id.dataset_id`
-//   *
+// of the entry. SQL names are case-sensitive. Examples: *
+// `pubsub.project_id.topic_id` *
+// ``pubsub.project_id.`topic.id.with.dots` `` *
+// `bigquery.table.project_id.dataset_id.table_id` *
+// `bigquery.dataset.project_id.dataset_id` *
 // `datacatalog.entry.project_id.location_id.entry_group_id.entry_id`
-//
-// `*
-// _id`s shoud satisfy the standard SQL rules for
-// identifiers.
-// https://cloud.google.com/bigquery/docs/reference/standard
-// -sql/lexical.
+// `*_id`s shoud satisfy the standard SQL rules for identifiers.
+// https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical.
 func (c *EntriesLookupCall) SqlResource(sqlResource string) *EntriesLookupCall {
 	c.urlParams_.Set("sqlResource", sqlResource)
 	return c
@@ -3108,7 +2640,7 @@
 
 func (c *EntriesLookupCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3168,19 +2700,19 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Get an entry by target resource name. This method allows clients to use\nthe resource name from the source Google Cloud Platform service to get the\nData Catalog Entry.",
+	//   "description": "Get an entry by target resource name. This method allows clients to use the resource name from the source Google Cloud Platform service to get the Data Catalog Entry.",
 	//   "flatPath": "v1beta1/entries:lookup",
 	//   "httpMethod": "GET",
 	//   "id": "datacatalog.entries.lookup",
 	//   "parameterOrder": [],
 	//   "parameters": {
 	//     "linkedResource": {
-	//       "description": "The full name of the Google Cloud Platform resource the Data Catalog\nentry represents. See:\nhttps://cloud.google.com/apis/design/resource_names#full_resource_name.\nFull names are case-sensitive.\n\nExamples:\n\n * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId\n * //pubsub.googleapis.com/projects/projectId/topics/topicId",
+	//       "description": "The full name of the Google Cloud Platform resource the Data Catalog entry represents. See: https://cloud.google.com/apis/design/resource_names#full_resource_name. Full names are case-sensitive. Examples: * //bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId * //pubsub.googleapis.com/projects/projectId/topics/topicId",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "sqlResource": {
-	//       "description": "The SQL name of the entry. SQL names are case-sensitive.\n\nExamples:\n\n  * `pubsub.project_id.topic_id`\n  * ``pubsub.project_id.`topic.id.with.dots` ``\n  * `bigquery.table.project_id.dataset_id.table_id`\n  * `bigquery.dataset.project_id.dataset_id`\n  * `datacatalog.entry.project_id.location_id.entry_group_id.entry_id`\n\n`*_id`s shoud satisfy the standard SQL rules for identifiers.\nhttps://cloud.google.com/bigquery/docs/reference/standard-sql/lexical.",
+	//       "description": "The SQL name of the entry. SQL names are case-sensitive. Examples: * `pubsub.project_id.topic_id` * ``pubsub.project_id.`topic.id.with.dots` `` * `bigquery.table.project_id.dataset_id.table_id` * `bigquery.dataset.project_id.dataset_id` * `datacatalog.entry.project_id.location_id.entry_group_id.entry_id` `*_id`s shoud satisfy the standard SQL rules for identifiers. https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -3208,16 +2740,11 @@
 }
 
 // Create: A maximum of 10,000 entry groups may be created per
-// organization across all
-// locations.
-//
-// Users should enable the Data Catalog API in the project identified
-// by
-// the `parent` parameter (see [Data Catalog Resource
-// Project]
-// (https://cloud.google.com/data-catalog/docs/concepts/resource
-// -project) for
-// more information).
+// organization across all locations. Users should enable the Data
+// Catalog API in the project identified by the `parent` parameter (see
+// [Data Catalog Resource Project]
+// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
+//  for more information).
 func (r *ProjectsLocationsEntryGroupsService) Create(parent string, googleclouddatacatalogv1beta1entrygroup *GoogleCloudDatacatalogV1beta1EntryGroup) *ProjectsLocationsEntryGroupsCreateCall {
 	c := &ProjectsLocationsEntryGroupsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -3226,10 +2753,9 @@
 }
 
 // EntryGroupId sets the optional parameter "entryGroupId": Required.
-// The id of the entry group to create.
-// The id must begin with a letter or underscore, contain only
-// English
-// letters, numbers and underscores, and be at most 64 characters.
+// The id of the entry group to create. The id must begin with a letter
+// or underscore, contain only English letters, numbers and underscores,
+// and be at most 64 characters.
 func (c *ProjectsLocationsEntryGroupsCreateCall) EntryGroupId(entryGroupId string) *ProjectsLocationsEntryGroupsCreateCall {
 	c.urlParams_.Set("entryGroupId", entryGroupId)
 	return c
@@ -3262,7 +2788,7 @@
 
 func (c *ProjectsLocationsEntryGroupsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3327,7 +2853,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "A maximum of 10,000 entry groups may be created per organization across all\nlocations.\n\nUsers should enable the Data Catalog API in the project identified by\nthe `parent` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
+	//   "description": "A maximum of 10,000 entry groups may be created per organization across all locations. Users should enable the Data Catalog API in the project identified by the `parent` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups",
 	//   "httpMethod": "POST",
 	//   "id": "datacatalog.projects.locations.entryGroups.create",
@@ -3336,12 +2862,12 @@
 	//   ],
 	//   "parameters": {
 	//     "entryGroupId": {
-	//       "description": "Required. The id of the entry group to create.\nThe id must begin with a letter or underscore, contain only English\nletters, numbers and underscores, and be at most 64 characters.",
+	//       "description": "Required. The id of the entry group to create. The id must begin with a letter or underscore, contain only English letters, numbers and underscores, and be at most 64 characters.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The name of the project this entry group is in. Example:\n\n* projects/{project_id}/locations/{location}\n\nNote that this EntryGroup and its child resources may not actually be\nstored in the location in this name.",
+	//       "description": "Required. The name of the project this entry group is in. Example: * projects/{project_id}/locations/{location} Note that this EntryGroup and its child resources may not actually be stored in the location in this name.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
@@ -3373,14 +2899,11 @@
 }
 
 // Delete: Deletes an EntryGroup. Only entry groups that do not contain
-// entries can be
-// deleted. Users should enable the Data Catalog API in the
-// project
-// identified by the `name` parameter (see [Data Catalog Resource
-// Project]
-// (https://cloud.google.com/data-catalog/docs/concepts/resource
-// -project) for
-// more information).
+// entries can be deleted. Users should enable the Data Catalog API in
+// the project identified by the `name` parameter (see [Data Catalog
+// Resource Project]
+// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
+//  for more information).
 func (r *ProjectsLocationsEntryGroupsService) Delete(name string) *ProjectsLocationsEntryGroupsDeleteCall {
 	c := &ProjectsLocationsEntryGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3421,7 +2944,7 @@
 
 func (c *ProjectsLocationsEntryGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3480,7 +3003,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes an EntryGroup. Only entry groups that do not contain entries can be\ndeleted. Users should enable the Data Catalog API in the project\nidentified by the `name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
+	//   "description": "Deletes an EntryGroup. Only entry groups that do not contain entries can be deleted. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "datacatalog.projects.locations.entryGroups.delete",
@@ -3494,7 +3017,7 @@
 	//       "type": "boolean"
 	//     },
 	//     "name": {
-	//       "description": "Required. The name of the entry group. For example,\n`projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`.",
+	//       "description": "Required. The name of the entry group. For example, `projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
 	//       "required": true,
@@ -3574,7 +3097,7 @@
 
 func (c *ProjectsLocationsEntryGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3646,7 +3169,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the entry group. For example,\n`projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`.",
+	//       "description": "Required. The name of the entry group. For example, `projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
 	//       "required": true,
@@ -3682,27 +3205,16 @@
 }
 
 // GetIamPolicy: Gets the access control policy for a resource. A
-// `NOT_FOUND` error
-// is returned if the resource does not exist. An empty policy is
-// returned
-// if the resource exists but does not have a policy set on
-// it.
-//
-// Supported resources are:
-//   - Tag templates.
-//   - Entries.
-//   - Entry groups.
-// Note, this method cannot be used to manage policies for BigQuery,
-// Pub/Sub
-// and any external Google Cloud Platform resources synced to Data
-// Catalog.
-//
-// Callers must have following Google IAM permission
-//   - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag
-//     templates.
-//   - `datacatalog.entries.getIamPolicy` to get policies on entries.
-//   - `datacatalog.entryGroups.getIamPolicy` to get policies on entry
-// groups.
+// `NOT_FOUND` error is returned if the resource does not exist. An
+// empty policy is returned if the resource exists but does not have a
+// policy set on it. Supported resources are: - Tag templates. -
+// Entries. - Entry groups. Note, this method cannot be used to manage
+// policies for BigQuery, Pub/Sub and any external Google Cloud Platform
+// resources synced to Data Catalog. Callers must have following Google
+// IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get
+// policies on tag templates. - `datacatalog.entries.getIamPolicy` to
+// get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to
+// get policies on entry groups.
 func (r *ProjectsLocationsEntryGroupsService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsEntryGroupsGetIamPolicyCall {
 	c := &ProjectsLocationsEntryGroupsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -3737,7 +3249,7 @@
 
 func (c *ProjectsLocationsEntryGroupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3801,7 +3313,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for a resource. A `NOT_FOUND` error\nis returned if the resource does not exist. An empty policy is returned\nif the resource exists but does not have a policy set on it.\n\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nCallers must have following Google IAM permission\n  - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag\n    templates.\n  - `datacatalog.entries.getIamPolicy` to get policies on entries.\n  - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.",
+	//   "description": "Gets the access control policy for a resource. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entries.getIamPolicy` to get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:getIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "datacatalog.projects.locations.entryGroups.getIamPolicy",
@@ -3810,7 +3322,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
 	//       "required": true,
@@ -3850,16 +3362,15 @@
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
-// of items to return. Default is 10. Max limit is 1000.
-// Throws an invalid argument for `page_size > 1000`.
+// of items to return. Default is 10. Max limit is 1000. Throws an
+// invalid argument for `page_size > 1000`.
 func (c *ProjectsLocationsEntryGroupsListCall) PageSize(pageSize int64) *ProjectsLocationsEntryGroupsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token that
-// specifies which page is requested. If empty, the first page
-// is
+// specifies which page is requested. If empty, the first page is
 // returned.
 func (c *ProjectsLocationsEntryGroupsListCall) PageToken(pageToken string) *ProjectsLocationsEntryGroupsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
@@ -3903,7 +3414,7 @@
 
 func (c *ProjectsLocationsEntryGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3976,18 +3487,18 @@
 	//   ],
 	//   "parameters": {
 	//     "pageSize": {
-	//       "description": "Optional. The maximum number of items to return. Default is 10. Max limit is 1000.\nThrows an invalid argument for `page_size \u003e 1000`.",
+	//       "description": "Optional. The maximum number of items to return. Default is 10. Max limit is 1000. Throws an invalid argument for `page_size \u003e 1000`.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Optional. Token that specifies which page is requested. If empty, the first page is\nreturned.",
+	//       "description": "Optional. Token that specifies which page is requested. If empty, the first page is returned.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The name of the location that contains the entry groups, which can be\nprovided in URL format. Example:\n\n* projects/{project_id}/locations/{location}",
+	//       "description": "Required. The name of the location that contains the entry groups, which can be provided in URL format. Example: * projects/{project_id}/locations/{location}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
@@ -4038,14 +3549,10 @@
 }
 
 // Patch: Updates an EntryGroup. The user should enable the Data Catalog
-// API in the
-// project identified by the `entry_group.name` parameter (see [Data
-// Catalog
-// Resource
-// Project]
-// (https://cloud.google.com/data-catalog/docs/concepts/resource
-// -project) for
-// more information).
+// API in the project identified by the `entry_group.name` parameter
+// (see [Data Catalog Resource Project]
+// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
+//  for more information).
 func (r *ProjectsLocationsEntryGroupsService) Patch(name string, googleclouddatacatalogv1beta1entrygroup *GoogleCloudDatacatalogV1beta1EntryGroup) *ProjectsLocationsEntryGroupsPatchCall {
 	c := &ProjectsLocationsEntryGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4054,8 +3561,8 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": The fields to
-// update on the entry group. If absent or empty, all modifiable
-// fields are updated.
+// update on the entry group. If absent or empty, all modifiable fields
+// are updated.
 func (c *ProjectsLocationsEntryGroupsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsEntryGroupsPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
 	return c
@@ -4088,7 +3595,7 @@
 
 func (c *ProjectsLocationsEntryGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4153,7 +3660,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates an EntryGroup. The user should enable the Data Catalog API in the\nproject identified by the `entry_group.name` parameter (see [Data Catalog\nResource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
+	//   "description": "Updates an EntryGroup. The user should enable the Data Catalog API in the project identified by the `entry_group.name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}",
 	//   "httpMethod": "PATCH",
 	//   "id": "datacatalog.projects.locations.entryGroups.patch",
@@ -4162,14 +3669,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The resource name of the entry group in URL format. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}\n\nNote that this EntryGroup and its child resources may not actually be\nstored in the location in this name.",
+	//       "description": "The resource name of the entry group in URL format. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} Note that this EntryGroup and its child resources may not actually be stored in the location in this name.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "The fields to update on the entry group. If absent or empty, all modifiable\nfields are updated.",
+	//       "description": "The fields to update on the entry group. If absent or empty, all modifiable fields are updated.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -4201,23 +3708,14 @@
 }
 
 // SetIamPolicy: Sets the access control policy for a resource. Replaces
-// any existing
-// policy.
-// Supported resources are:
-//   - Tag templates.
-//   - Entries.
-//   - Entry groups.
-// Note, this method cannot be used to manage policies for BigQuery,
-// Pub/Sub
-// and any external Google Cloud Platform resources synced to Data
-// Catalog.
-//
-// Callers must have following Google IAM permission
-//   - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag
-//     templates.
-//   - `datacatalog.entries.setIamPolicy` to set policies on entries.
-//   - `datacatalog.entryGroups.setIamPolicy` to set policies on entry
-// groups.
+// any existing policy. Supported resources are: - Tag templates. -
+// Entries. - Entry groups. Note, this method cannot be used to manage
+// policies for BigQuery, Pub/Sub and any external Google Cloud Platform
+// resources synced to Data Catalog. Callers must have following Google
+// IAM permission - `datacatalog.tagTemplates.setIamPolicy` to set
+// policies on tag templates. - `datacatalog.entries.setIamPolicy` to
+// set policies on entries. - `datacatalog.entryGroups.setIamPolicy` to
+// set policies on entry groups.
 func (r *ProjectsLocationsEntryGroupsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsEntryGroupsSetIamPolicyCall {
 	c := &ProjectsLocationsEntryGroupsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -4252,7 +3750,7 @@
 
 func (c *ProjectsLocationsEntryGroupsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4316,7 +3814,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the access control policy for a resource. Replaces any existing\npolicy.\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nCallers must have following Google IAM permission\n  - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag\n    templates.\n  - `datacatalog.entries.setIamPolicy` to set policies on entries.\n  - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups.",
+	//   "description": "Sets the access control policy for a resource. Replaces any existing policy. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag templates. - `datacatalog.entries.setIamPolicy` to set policies on entries. - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "datacatalog.projects.locations.entryGroups.setIamPolicy",
@@ -4325,7 +3823,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
 	//       "required": true,
@@ -4357,23 +3855,13 @@
 	header_                   http.Header
 }
 
-// TestIamPermissions: Returns the caller's permissions on a
-// resource.
+// TestIamPermissions: Returns the caller's permissions on a resource.
 // If the resource does not exist, an empty set of permissions is
-// returned
-// (We don't return a `NOT_FOUND` error).
-//
-// Supported resources are:
-//   - Tag templates.
-//   - Entries.
-//   - Entry groups.
-// Note, this method cannot be used to manage policies for BigQuery,
-// Pub/Sub
-// and any external Google Cloud Platform resources synced to Data
-// Catalog.
-//
-// A caller is not required to have Google IAM permission to make
-// this
+// returned (We don't return a `NOT_FOUND` error). Supported resources
+// are: - Tag templates. - Entries. - Entry groups. Note, this method
+// cannot be used to manage policies for BigQuery, Pub/Sub and any
+// external Google Cloud Platform resources synced to Data Catalog. A
+// caller is not required to have Google IAM permission to make this
 // request.
 func (r *ProjectsLocationsEntryGroupsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsEntryGroupsTestIamPermissionsCall {
 	c := &ProjectsLocationsEntryGroupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -4409,7 +3897,7 @@
 
 func (c *ProjectsLocationsEntryGroupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4473,7 +3961,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns the caller's permissions on a resource.\nIf the resource does not exist, an empty set of permissions is returned\n(We don't return a `NOT_FOUND` error).\n\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nA caller is not required to have Google IAM permission to make this\nrequest.",
+	//   "description": "Returns the caller's permissions on a resource. If the resource does not exist, an empty set of permissions is returned (We don't return a `NOT_FOUND` error). Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. A caller is not required to have Google IAM permission to make this request.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "datacatalog.projects.locations.entryGroups.testIamPermissions",
@@ -4482,7 +3970,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
 	//       "required": true,
@@ -4515,18 +4003,12 @@
 }
 
 // Create: Creates an entry. Only entries of 'FILESET' type or
-// user-specified type can
-// be created.
-//
-// Users should enable the Data Catalog API in the project identified
-// by
-// the `parent` parameter (see [Data Catalog Resource
-// Project]
-// (https://cloud.google.com/data-catalog/docs/concepts/resource
-// -project) for
-// more information).
-//
-// A maximum of 100,000 entries may be created per entry group.
+// user-specified type can be created. Users should enable the Data
+// Catalog API in the project identified by the `parent` parameter (see
+// [Data Catalog Resource Project]
+// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
+//  for more information). A maximum of 100,000 entries may be created
+// per entry group.
 func (r *ProjectsLocationsEntryGroupsEntriesService) Create(parent string, googleclouddatacatalogv1beta1entry *GoogleCloudDatacatalogV1beta1Entry) *ProjectsLocationsEntryGroupsEntriesCreateCall {
 	c := &ProjectsLocationsEntryGroupsEntriesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -4568,7 +4050,7 @@
 
 func (c *ProjectsLocationsEntryGroupsEntriesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4633,7 +4115,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates an entry. Only entries of 'FILESET' type or user-specified type can\nbe created.\n\nUsers should enable the Data Catalog API in the project identified by\nthe `parent` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).\n\nA maximum of 100,000 entries may be created per entry group.",
+	//   "description": "Creates an entry. Only entries of 'FILESET' type or user-specified type can be created. Users should enable the Data Catalog API in the project identified by the `parent` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information). A maximum of 100,000 entries may be created per entry group.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries",
 	//   "httpMethod": "POST",
 	//   "id": "datacatalog.projects.locations.entryGroups.entries.create",
@@ -4647,7 +4129,7 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The name of the entry group this entry is in. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}\n\nNote that this Entry and its child resources may not actually be stored in\nthe location in this name.",
+	//       "description": "Required. The name of the entry group this entry is in. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} Note that this Entry and its child resources may not actually be stored in the location in this name.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
 	//       "required": true,
@@ -4678,17 +4160,12 @@
 	header_    http.Header
 }
 
-// Delete: Deletes an existing entry. Only entries created
-// through
-// CreateEntry
-// method can be deleted.
-// Users should enable the Data Catalog API in the project identified
-// by
-// the `name` parameter (see [Data Catalog Resource
-// Project]
-// (https://cloud.google.com/data-catalog/docs/concepts/resource
-// -project) for
-// more information).
+// Delete: Deletes an existing entry. Only entries created through
+// CreateEntry method can be deleted. Users should enable the Data
+// Catalog API in the project identified by the `name` parameter (see
+// [Data Catalog Resource Project]
+// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
+//  for more information).
 func (r *ProjectsLocationsEntryGroupsEntriesService) Delete(name string) *ProjectsLocationsEntryGroupsEntriesDeleteCall {
 	c := &ProjectsLocationsEntryGroupsEntriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4722,7 +4199,7 @@
 
 func (c *ProjectsLocationsEntryGroupsEntriesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4781,7 +4258,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes an existing entry. Only entries created through\nCreateEntry\nmethod can be deleted.\nUsers should enable the Data Catalog API in the project identified by\nthe `name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
+	//   "description": "Deletes an existing entry. Only entries created through CreateEntry method can be deleted. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "datacatalog.projects.locations.entryGroups.entries.delete",
@@ -4790,7 +4267,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the entry. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
+	//       "description": "Required. The name of the entry. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
 	//       "required": true,
@@ -4863,7 +4340,7 @@
 
 func (c *ProjectsLocationsEntryGroupsEntriesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4935,7 +4412,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the entry. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
+	//       "description": "Required. The name of the entry. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
 	//       "required": true,
@@ -4965,27 +4442,16 @@
 }
 
 // GetIamPolicy: Gets the access control policy for a resource. A
-// `NOT_FOUND` error
-// is returned if the resource does not exist. An empty policy is
-// returned
-// if the resource exists but does not have a policy set on
-// it.
-//
-// Supported resources are:
-//   - Tag templates.
-//   - Entries.
-//   - Entry groups.
-// Note, this method cannot be used to manage policies for BigQuery,
-// Pub/Sub
-// and any external Google Cloud Platform resources synced to Data
-// Catalog.
-//
-// Callers must have following Google IAM permission
-//   - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag
-//     templates.
-//   - `datacatalog.entries.getIamPolicy` to get policies on entries.
-//   - `datacatalog.entryGroups.getIamPolicy` to get policies on entry
-// groups.
+// `NOT_FOUND` error is returned if the resource does not exist. An
+// empty policy is returned if the resource exists but does not have a
+// policy set on it. Supported resources are: - Tag templates. -
+// Entries. - Entry groups. Note, this method cannot be used to manage
+// policies for BigQuery, Pub/Sub and any external Google Cloud Platform
+// resources synced to Data Catalog. Callers must have following Google
+// IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get
+// policies on tag templates. - `datacatalog.entries.getIamPolicy` to
+// get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to
+// get policies on entry groups.
 func (r *ProjectsLocationsEntryGroupsEntriesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall {
 	c := &ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -5020,7 +4486,7 @@
 
 func (c *ProjectsLocationsEntryGroupsEntriesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5084,7 +4550,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for a resource. A `NOT_FOUND` error\nis returned if the resource does not exist. An empty policy is returned\nif the resource exists but does not have a policy set on it.\n\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nCallers must have following Google IAM permission\n  - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag\n    templates.\n  - `datacatalog.entries.getIamPolicy` to get policies on entries.\n  - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.",
+	//   "description": "Gets the access control policy for a resource. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entries.getIamPolicy` to get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:getIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "datacatalog.projects.locations.entryGroups.entries.getIamPolicy",
@@ -5093,7 +4559,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
 	//       "required": true,
@@ -5133,16 +4599,15 @@
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
-// of items to return. Default is 10. Max limit is 1000.
-// Throws an invalid argument for `page_size > 1000`.
+// of items to return. Default is 10. Max limit is 1000. Throws an
+// invalid argument for `page_size > 1000`.
 func (c *ProjectsLocationsEntryGroupsEntriesListCall) PageSize(pageSize int64) *ProjectsLocationsEntryGroupsEntriesListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Token that
-// specifies which page is requested. If empty, the first page
-// is
+// specifies which page is requested. If empty, the first page is
 // returned.
 func (c *ProjectsLocationsEntryGroupsEntriesListCall) PageToken(pageToken string) *ProjectsLocationsEntryGroupsEntriesListCall {
 	c.urlParams_.Set("pageToken", pageToken)
@@ -5150,10 +4615,8 @@
 }
 
 // ReadMask sets the optional parameter "readMask": The fields to return
-// for each Entry. If not set or empty, all
-// fields are returned.
-// For example, setting read_mask to contain only one path "name" will
-// cause
+// for each Entry. If not set or empty, all fields are returned. For
+// example, setting read_mask to contain only one path "name" will cause
 // ListEntries to return a list of Entries with only "name" field.
 func (c *ProjectsLocationsEntryGroupsEntriesListCall) ReadMask(readMask string) *ProjectsLocationsEntryGroupsEntriesListCall {
 	c.urlParams_.Set("readMask", readMask)
@@ -5197,7 +4660,7 @@
 
 func (c *ProjectsLocationsEntryGroupsEntriesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5270,25 +4733,25 @@
 	//   ],
 	//   "parameters": {
 	//     "pageSize": {
-	//       "description": "The maximum number of items to return. Default is 10. Max limit is 1000.\nThrows an invalid argument for `page_size \u003e 1000`.",
+	//       "description": "The maximum number of items to return. Default is 10. Max limit is 1000. Throws an invalid argument for `page_size \u003e 1000`.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Token that specifies which page is requested. If empty, the first page is\nreturned.",
+	//       "description": "Token that specifies which page is requested. If empty, the first page is returned.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The name of the entry group that contains the entries, which can\nbe provided in URL format. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}",
+	//       "description": "Required. The name of the entry group that contains the entries, which can be provided in URL format. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "readMask": {
-	//       "description": "The fields to return for each Entry. If not set or empty, all\nfields are returned.\nFor example, setting read_mask to contain only one path \"name\" will cause\nListEntries to return a list of Entries with only \"name\" field.",
+	//       "description": "The fields to return for each Entry. If not set or empty, all fields are returned. For example, setting read_mask to contain only one path \"name\" will cause ListEntries to return a list of Entries with only \"name\" field.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -5337,14 +4800,11 @@
 	header_                            http.Header
 }
 
-// Patch: Updates an existing entry.
-// Users should enable the Data Catalog API in the project identified
-// by
-// the `entry.name` parameter (see [Data Catalog Resource
-// Project]
-// (https://cloud.google.com/data-catalog/docs/concepts/resource
-// -project) for
-// more information).
+// Patch: Updates an existing entry. Users should enable the Data
+// Catalog API in the project identified by the `entry.name` parameter
+// (see [Data Catalog Resource Project]
+// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
+//  for more information).
 func (r *ProjectsLocationsEntryGroupsEntriesService) Patch(name string, googleclouddatacatalogv1beta1entry *GoogleCloudDatacatalogV1beta1Entry) *ProjectsLocationsEntryGroupsEntriesPatchCall {
 	c := &ProjectsLocationsEntryGroupsEntriesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -5353,26 +4813,14 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": The fields to
-// update on the entry. If absent or empty, all modifiable
-// fields are updated.
-//
-// The following fields are modifiable:
-// * For entries with type `DATA_STREAM`:
-//    * `schema`
-// * For entries with type `FILESET`
-//    * `schema`
-//    * `display_name`
-//    * `description`
-//    * `gcs_fileset_spec`
-//    * `gcs_fileset_spec.file_patterns`
-// * For entries with `user_specified_type`
-//    * `schema`
-//    * `display_name`
-//    * `description`
-//    * user_specified_type
-//    * user_specified_system
-//    * linked_resource
-//    * source_system_timestamps
+// update on the entry. If absent or empty, all modifiable fields are
+// updated. The following fields are modifiable: * For entries with type
+// `DATA_STREAM`: * `schema` * For entries with type `FILESET` *
+// `schema` * `display_name` * `description` * `gcs_fileset_spec` *
+// `gcs_fileset_spec.file_patterns` * For entries with
+// `user_specified_type` * `schema` * `display_name` * `description` *
+// user_specified_type * user_specified_system * linked_resource *
+// source_system_timestamps
 func (c *ProjectsLocationsEntryGroupsEntriesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsEntryGroupsEntriesPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
 	return c
@@ -5405,7 +4853,7 @@
 
 func (c *ProjectsLocationsEntryGroupsEntriesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5470,7 +4918,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates an existing entry.\nUsers should enable the Data Catalog API in the project identified by\nthe `entry.name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
+	//   "description": "Updates an existing entry. Users should enable the Data Catalog API in the project identified by the `entry.name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}",
 	//   "httpMethod": "PATCH",
 	//   "id": "datacatalog.projects.locations.entryGroups.entries.patch",
@@ -5479,14 +4927,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The Data Catalog resource name of the entry in URL format. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}\n\nNote that this Entry and its child resources may not actually be stored in\nthe location in this name.",
+	//       "description": "The Data Catalog resource name of the entry in URL format. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} Note that this Entry and its child resources may not actually be stored in the location in this name.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "The fields to update on the entry. If absent or empty, all modifiable\nfields are updated.\n\nThe following fields are modifiable:\n* For entries with type `DATA_STREAM`:\n   * `schema`\n* For entries with type `FILESET`\n   * `schema`\n   * `display_name`\n   * `description`\n   * `gcs_fileset_spec`\n   * `gcs_fileset_spec.file_patterns`\n* For entries with `user_specified_type`\n   * `schema`\n   * `display_name`\n   * `description`\n   * user_specified_type\n   * user_specified_system\n   * linked_resource\n   * source_system_timestamps",
+	//       "description": "The fields to update on the entry. If absent or empty, all modifiable fields are updated. The following fields are modifiable: * For entries with type `DATA_STREAM`: * `schema` * For entries with type `FILESET` * `schema` * `display_name` * `description` * `gcs_fileset_spec` * `gcs_fileset_spec.file_patterns` * For entries with `user_specified_type` * `schema` * `display_name` * `description` * user_specified_type * user_specified_system * linked_resource * source_system_timestamps",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -5517,23 +4965,13 @@
 	header_                   http.Header
 }
 
-// TestIamPermissions: Returns the caller's permissions on a
-// resource.
+// TestIamPermissions: Returns the caller's permissions on a resource.
 // If the resource does not exist, an empty set of permissions is
-// returned
-// (We don't return a `NOT_FOUND` error).
-//
-// Supported resources are:
-//   - Tag templates.
-//   - Entries.
-//   - Entry groups.
-// Note, this method cannot be used to manage policies for BigQuery,
-// Pub/Sub
-// and any external Google Cloud Platform resources synced to Data
-// Catalog.
-//
-// A caller is not required to have Google IAM permission to make
-// this
+// returned (We don't return a `NOT_FOUND` error). Supported resources
+// are: - Tag templates. - Entries. - Entry groups. Note, this method
+// cannot be used to manage policies for BigQuery, Pub/Sub and any
+// external Google Cloud Platform resources synced to Data Catalog. A
+// caller is not required to have Google IAM permission to make this
 // request.
 func (r *ProjectsLocationsEntryGroupsEntriesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall {
 	c := &ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -5569,7 +5007,7 @@
 
 func (c *ProjectsLocationsEntryGroupsEntriesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5633,7 +5071,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns the caller's permissions on a resource.\nIf the resource does not exist, an empty set of permissions is returned\n(We don't return a `NOT_FOUND` error).\n\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nA caller is not required to have Google IAM permission to make this\nrequest.",
+	//   "description": "Returns the caller's permissions on a resource. If the resource does not exist, an empty set of permissions is returned (We don't return a `NOT_FOUND` error). Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. A caller is not required to have Google IAM permission to make this request.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "datacatalog.projects.locations.entryGroups.entries.testIamPermissions",
@@ -5642,7 +5080,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
 	//       "required": true,
@@ -5674,19 +5112,14 @@
 	header_                          http.Header
 }
 
-// Create: Creates a tag on an Entry.
-// Note: The project identified by the `parent` parameter for
-// the
-// [tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1
-// beta1/projects.locations.entryGroups.entries.tags/create#path-paramete
-// rs)
-// and
-// the
-// [tag
-// template](https://cloud.google.com/data-catalog/docs/referenc
-// e/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters)
-//
-// used to create the tag must be from the same organization.
+// Create: Creates a tag on an Entry. Note: The project identified by
+// the `parent` parameter for the
+// [tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta
+// 1/projects.locations.entryGroups.entries.tags/create#path-parameters)
+// and the [tag
+// template](https://cloud.google.com/data-catalog/docs/reference/rest/v1
+// beta1/projects.locations.tagTemplates/create#path-parameters) used to
+// create the tag must be from the same organization.
 func (r *ProjectsLocationsEntryGroupsEntriesTagsService) Create(parent string, googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag) *ProjectsLocationsEntryGroupsEntriesTagsCreateCall {
 	c := &ProjectsLocationsEntryGroupsEntriesTagsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -5721,7 +5154,7 @@
 
 func (c *ProjectsLocationsEntryGroupsEntriesTagsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5785,7 +5218,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a tag on an Entry.\nNote: The project identified by the `parent` parameter for the\n[tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters)\nand the\n[tag\ntemplate](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters)\nused to create the tag must be from the same organization.",
+	//   "description": "Creates a tag on an Entry. Note: The project identified by the `parent` parameter for the [tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be from the same organization.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/entries/{entriesId}/tags",
 	//   "httpMethod": "POST",
 	//   "id": "datacatalog.projects.locations.entryGroups.entries.tags.create",
@@ -5794,7 +5227,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The name of the resource to attach this tag to. Tags can be attached to\nEntries. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}\n\nNote that this Tag and its child resources may not actually be stored in\nthe location in this name.",
+	//       "description": "Required. The name of the resource to attach this tag to. Tags can be attached to Entries. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} Note that this Tag and its child resources may not actually be stored in the location in this name.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
 	//       "required": true,
@@ -5859,7 +5292,7 @@
 
 func (c *ProjectsLocationsEntryGroupsEntriesTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5927,7 +5360,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the tag to delete. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}",
+	//       "description": "Required. The name of the tag to delete. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+/tags/[^/]+$",
 	//       "required": true,
@@ -5971,8 +5404,7 @@
 }
 
 // PageToken sets the optional parameter "pageToken": Token that
-// specifies which page is requested. If empty, the first page
-// is
+// specifies which page is requested. If empty, the first page is
 // returned.
 func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) PageToken(pageToken string) *ProjectsLocationsEntryGroupsEntriesTagsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
@@ -6016,7 +5448,7 @@
 
 func (c *ProjectsLocationsEntryGroupsEntriesTagsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6095,12 +5527,12 @@
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Token that specifies which page is requested. If empty, the first page is\nreturned.",
+	//       "description": "Token that specifies which page is requested. If empty, the first page is returned.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The name of the Data Catalog resource to list the tags of. The resource\ncould be an Entry or an\nEntryGroup.\n\nExamples:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
+	//       "description": "Required. The name of the Data Catalog resource to list the tags of. The resource could be an Entry or an EntryGroup. Examples: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+$",
 	//       "required": true,
@@ -6159,9 +5591,8 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": The fields to
-// update on the Tag. If absent or empty, all modifiable fields
-// are updated. Currently the only modifiable field is the field
-// `fields`.
+// update on the Tag. If absent or empty, all modifiable fields are
+// updated. Currently the only modifiable field is the field `fields`.
 func (c *ProjectsLocationsEntryGroupsEntriesTagsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsEntryGroupsEntriesTagsPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
 	return c
@@ -6194,7 +5625,7 @@
 
 func (c *ProjectsLocationsEntryGroupsEntriesTagsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6267,14 +5698,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The resource name of the tag in URL format. Example:\n\n* projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}\n\nwhere `tag_id` is a system-generated identifier.\nNote that this Tag may not actually be stored in the location in this name.",
+	//       "description": "The resource name of the tag in URL format. Example: * projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id} where `tag_id` is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/entries/[^/]+/tags/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "The fields to update on the Tag. If absent or empty, all modifiable fields\nare updated. Currently the only modifiable field is the field `fields`.",
+	//       "description": "The fields to update on the Tag. If absent or empty, all modifiable fields are updated. Currently the only modifiable field is the field `fields`.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -6305,19 +5736,14 @@
 	header_                          http.Header
 }
 
-// Create: Creates a tag on an Entry.
-// Note: The project identified by the `parent` parameter for
-// the
-// [tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1
-// beta1/projects.locations.entryGroups.entries.tags/create#path-paramete
-// rs)
-// and
-// the
-// [tag
-// template](https://cloud.google.com/data-catalog/docs/referenc
-// e/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters)
-//
-// used to create the tag must be from the same organization.
+// Create: Creates a tag on an Entry. Note: The project identified by
+// the `parent` parameter for the
+// [tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta
+// 1/projects.locations.entryGroups.entries.tags/create#path-parameters)
+// and the [tag
+// template](https://cloud.google.com/data-catalog/docs/reference/rest/v1
+// beta1/projects.locations.tagTemplates/create#path-parameters) used to
+// create the tag must be from the same organization.
 func (r *ProjectsLocationsEntryGroupsTagsService) Create(parent string, googleclouddatacatalogv1beta1tag *GoogleCloudDatacatalogV1beta1Tag) *ProjectsLocationsEntryGroupsTagsCreateCall {
 	c := &ProjectsLocationsEntryGroupsTagsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -6352,7 +5778,7 @@
 
 func (c *ProjectsLocationsEntryGroupsTagsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6416,7 +5842,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a tag on an Entry.\nNote: The project identified by the `parent` parameter for the\n[tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters)\nand the\n[tag\ntemplate](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters)\nused to create the tag must be from the same organization.",
+	//   "description": "Creates a tag on an Entry. Note: The project identified by the `parent` parameter for the [tag](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.entryGroups.entries.tags/create#path-parameters) and the [tag template](https://cloud.google.com/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create#path-parameters) used to create the tag must be from the same organization.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/entryGroups/{entryGroupsId}/tags",
 	//   "httpMethod": "POST",
 	//   "id": "datacatalog.projects.locations.entryGroups.tags.create",
@@ -6425,7 +5851,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The name of the resource to attach this tag to. Tags can be attached to\nEntries. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}\n\nNote that this Tag and its child resources may not actually be stored in\nthe location in this name.",
+	//       "description": "Required. The name of the resource to attach this tag to. Tags can be attached to Entries. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id} Note that this Tag and its child resources may not actually be stored in the location in this name.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
 	//       "required": true,
@@ -6490,7 +5916,7 @@
 
 func (c *ProjectsLocationsEntryGroupsTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6558,7 +5984,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the tag to delete. Example:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}",
+	//       "description": "Required. The name of the tag to delete. Example: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/tags/[^/]+$",
 	//       "required": true,
@@ -6602,8 +6028,7 @@
 }
 
 // PageToken sets the optional parameter "pageToken": Token that
-// specifies which page is requested. If empty, the first page
-// is
+// specifies which page is requested. If empty, the first page is
 // returned.
 func (c *ProjectsLocationsEntryGroupsTagsListCall) PageToken(pageToken string) *ProjectsLocationsEntryGroupsTagsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
@@ -6647,7 +6072,7 @@
 
 func (c *ProjectsLocationsEntryGroupsTagsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6726,12 +6151,12 @@
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Token that specifies which page is requested. If empty, the first page is\nreturned.",
+	//       "description": "Token that specifies which page is requested. If empty, the first page is returned.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The name of the Data Catalog resource to list the tags of. The resource\ncould be an Entry or an\nEntryGroup.\n\nExamples:\n\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}\n* projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
+	//       "description": "Required. The name of the Data Catalog resource to list the tags of. The resource could be an Entry or an EntryGroup. Examples: * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id} * projects/{project_id}/locations/{location}/entryGroups/{entry_group_id}/entries/{entry_id}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+$",
 	//       "required": true,
@@ -6790,9 +6215,8 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": The fields to
-// update on the Tag. If absent or empty, all modifiable fields
-// are updated. Currently the only modifiable field is the field
-// `fields`.
+// update on the Tag. If absent or empty, all modifiable fields are
+// updated. Currently the only modifiable field is the field `fields`.
 func (c *ProjectsLocationsEntryGroupsTagsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsEntryGroupsTagsPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
 	return c
@@ -6825,7 +6249,7 @@
 
 func (c *ProjectsLocationsEntryGroupsTagsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6898,14 +6322,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The resource name of the tag in URL format. Example:\n\n* projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id}\n\nwhere `tag_id` is a system-generated identifier.\nNote that this Tag may not actually be stored in the location in this name.",
+	//       "description": "The resource name of the tag in URL format. Example: * projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}/tags/{tag_id} where `tag_id` is a system-generated identifier. Note that this Tag may not actually be stored in the location in this name.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/entryGroups/[^/]+/tags/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "The fields to update on the Tag. If absent or empty, all modifiable fields\nare updated. Currently the only modifiable field is the field `fields`.",
+	//       "description": "The fields to update on the Tag. If absent or empty, all modifiable fields are updated. Currently the only modifiable field is the field `fields`.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -6937,13 +6361,10 @@
 }
 
 // Create: Creates a tag template. The user should enable the Data
-// Catalog API in
-// the project identified by the `parent` parameter (see [Data
-// Catalog
-// Resource
-// Project](https://cloud.google.com/data-catalog/docs/c
-// oncepts/resource-project)
-// for more information).
+// Catalog API in the project identified by the `parent` parameter (see
+// [Data Catalog Resource
+// Project](https://cloud.google.com/data-catalog/docs/concepts/resource-
+// project) for more information).
 func (r *ProjectsLocationsTagTemplatesService) Create(parent string, googleclouddatacatalogv1beta1tagtemplate *GoogleCloudDatacatalogV1beta1TagTemplate) *ProjectsLocationsTagTemplatesCreateCall {
 	c := &ProjectsLocationsTagTemplatesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -6985,7 +6406,7 @@
 
 func (c *ProjectsLocationsTagTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7051,7 +6472,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a tag template. The user should enable the Data Catalog API in\nthe project identified by the `parent` parameter (see [Data Catalog\nResource\nProject](https://cloud.google.com/data-catalog/docs/concepts/resource-project)\nfor more information).",
+	//   "description": "Creates a tag template. The user should enable the Data Catalog API in the project identified by the `parent` parameter (see [Data Catalog Resource Project](https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates",
 	//   "httpMethod": "POST",
 	//   "id": "datacatalog.projects.locations.tagTemplates.create",
@@ -7060,7 +6481,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The name of the project and the template location\n[region](https://cloud.google.com/data-catalog/docs/concepts/regions.\n\nExample:\n\n* projects/{project_id}/locations/us-central1",
+	//       "description": "Required. The name of the project and the template location [region](https://cloud.google.com/data-catalog/docs/concepts/regions. Example: * projects/{project_id}/locations/us-central1",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
@@ -7096,14 +6517,11 @@
 	header_    http.Header
 }
 
-// Delete: Deletes a tag template and all tags using the template.
-// Users should enable the Data Catalog API in the project identified
-// by
-// the `name` parameter (see [Data Catalog Resource
-// Project]
-// (https://cloud.google.com/data-catalog/docs/concepts/resource
-// -project) for
-// more information).
+// Delete: Deletes a tag template and all tags using the template. Users
+// should enable the Data Catalog API in the project identified by the
+// `name` parameter (see [Data Catalog Resource Project]
+// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
+//  for more information).
 func (r *ProjectsLocationsTagTemplatesService) Delete(name string) *ProjectsLocationsTagTemplatesDeleteCall {
 	c := &ProjectsLocationsTagTemplatesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -7111,10 +6529,9 @@
 }
 
 // Force sets the optional parameter "force": Required. Currently, this
-// field must always be set to `true`.
-// This confirms the deletion of any possible tags using this
-// template.
-// `force = false` will be supported in the future.
+// field must always be set to `true`. This confirms the deletion of any
+// possible tags using this template. `force = false` will be supported
+// in the future.
 func (c *ProjectsLocationsTagTemplatesDeleteCall) Force(force bool) *ProjectsLocationsTagTemplatesDeleteCall {
 	c.urlParams_.Set("force", fmt.Sprint(force))
 	return c
@@ -7147,7 +6564,7 @@
 
 func (c *ProjectsLocationsTagTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7206,7 +6623,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a tag template and all tags using the template.\nUsers should enable the Data Catalog API in the project identified by\nthe `name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
+	//   "description": "Deletes a tag template and all tags using the template. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "datacatalog.projects.locations.tagTemplates.delete",
@@ -7215,12 +6632,12 @@
 	//   ],
 	//   "parameters": {
 	//     "force": {
-	//       "description": "Required. Currently, this field must always be set to `true`.\nThis confirms the deletion of any possible tags using this template.\n`force = false` will be supported in the future.",
+	//       "description": "Required. Currently, this field must always be set to `true`. This confirms the deletion of any possible tags using this template. `force = false` will be supported in the future.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
 	//     "name": {
-	//       "description": "Required. The name of the tag template to delete. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}",
+	//       "description": "Required. The name of the tag template to delete. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
 	//       "required": true,
@@ -7293,7 +6710,7 @@
 
 func (c *ProjectsLocationsTagTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7366,7 +6783,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the tag template. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}",
+	//       "description": "Required. The name of the tag template. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
 	//       "required": true,
@@ -7396,27 +6813,16 @@
 }
 
 // GetIamPolicy: Gets the access control policy for a resource. A
-// `NOT_FOUND` error
-// is returned if the resource does not exist. An empty policy is
-// returned
-// if the resource exists but does not have a policy set on
-// it.
-//
-// Supported resources are:
-//   - Tag templates.
-//   - Entries.
-//   - Entry groups.
-// Note, this method cannot be used to manage policies for BigQuery,
-// Pub/Sub
-// and any external Google Cloud Platform resources synced to Data
-// Catalog.
-//
-// Callers must have following Google IAM permission
-//   - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag
-//     templates.
-//   - `datacatalog.entries.getIamPolicy` to get policies on entries.
-//   - `datacatalog.entryGroups.getIamPolicy` to get policies on entry
-// groups.
+// `NOT_FOUND` error is returned if the resource does not exist. An
+// empty policy is returned if the resource exists but does not have a
+// policy set on it. Supported resources are: - Tag templates. -
+// Entries. - Entry groups. Note, this method cannot be used to manage
+// policies for BigQuery, Pub/Sub and any external Google Cloud Platform
+// resources synced to Data Catalog. Callers must have following Google
+// IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get
+// policies on tag templates. - `datacatalog.entries.getIamPolicy` to
+// get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to
+// get policies on entry groups.
 func (r *ProjectsLocationsTagTemplatesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsLocationsTagTemplatesGetIamPolicyCall {
 	c := &ProjectsLocationsTagTemplatesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -7451,7 +6857,7 @@
 
 func (c *ProjectsLocationsTagTemplatesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7515,7 +6921,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for a resource. A `NOT_FOUND` error\nis returned if the resource does not exist. An empty policy is returned\nif the resource exists but does not have a policy set on it.\n\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nCallers must have following Google IAM permission\n  - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag\n    templates.\n  - `datacatalog.entries.getIamPolicy` to get policies on entries.\n  - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.",
+	//   "description": "Gets the access control policy for a resource. A `NOT_FOUND` error is returned if the resource does not exist. An empty policy is returned if the resource exists but does not have a policy set on it. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.getIamPolicy` to get policies on tag templates. - `datacatalog.entries.getIamPolicy` to get policies on entries. - `datacatalog.entryGroups.getIamPolicy` to get policies on entry groups.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:getIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "datacatalog.projects.locations.tagTemplates.getIamPolicy",
@@ -7524,7 +6930,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
 	//       "required": true,
@@ -7557,18 +6963,13 @@
 }
 
 // Patch: Updates a tag template. This method cannot be used to update
-// the fields of
-// a template. The tag template fields are represented as separate
-// resources
-// and should be updated using their own create/update/delete
-// methods.
-// Users should enable the Data Catalog API in the project identified
-// by
-// the `tag_template.name` parameter (see [Data Catalog Resource
-// Project]
-// (https://cloud.google.com/data-catalog/docs/concepts/resource
-// -project) for
-// more information).
+// the fields of a template. The tag template fields are represented as
+// separate resources and should be updated using their own
+// create/update/delete methods. Users should enable the Data Catalog
+// API in the project identified by the `tag_template.name` parameter
+// (see [Data Catalog Resource Project]
+// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
+//  for more information).
 func (r *ProjectsLocationsTagTemplatesService) Patch(name string, googleclouddatacatalogv1beta1tagtemplate *GoogleCloudDatacatalogV1beta1TagTemplate) *ProjectsLocationsTagTemplatesPatchCall {
 	c := &ProjectsLocationsTagTemplatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -7577,13 +6978,9 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": The field mask
-// specifies the parts of the template to overwrite.
-//
-// Allowed fields:
-//
-//   * `display_name`
-//
-// If absent or empty, all of the allowed fields above will be updated.
+// specifies the parts of the template to overwrite. Allowed fields: *
+// `display_name` If absent or empty, all of the allowed fields above
+// will be updated.
 func (c *ProjectsLocationsTagTemplatesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsTagTemplatesPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
 	return c
@@ -7616,7 +7013,7 @@
 
 func (c *ProjectsLocationsTagTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7682,7 +7079,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates a tag template. This method cannot be used to update the fields of\na template. The tag template fields are represented as separate resources\nand should be updated using their own create/update/delete methods.\nUsers should enable the Data Catalog API in the project identified by\nthe `tag_template.name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
+	//   "description": "Updates a tag template. This method cannot be used to update the fields of a template. The tag template fields are represented as separate resources and should be updated using their own create/update/delete methods. Users should enable the Data Catalog API in the project identified by the `tag_template.name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}",
 	//   "httpMethod": "PATCH",
 	//   "id": "datacatalog.projects.locations.tagTemplates.patch",
@@ -7691,14 +7088,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The resource name of the tag template in URL format. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}\n\nNote that this TagTemplate and its child resources may not actually be\nstored in the location in this name.",
+	//       "description": "The resource name of the tag template in URL format. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id} Note that this TagTemplate and its child resources may not actually be stored in the location in this name.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "The field mask specifies the parts of the template to overwrite.\n\nAllowed fields:\n\n  * `display_name`\n\nIf absent or empty, all of the allowed fields above will be updated.",
+	//       "description": "The field mask specifies the parts of the template to overwrite. Allowed fields: * `display_name` If absent or empty, all of the allowed fields above will be updated.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -7730,23 +7127,14 @@
 }
 
 // SetIamPolicy: Sets the access control policy for a resource. Replaces
-// any existing
-// policy.
-// Supported resources are:
-//   - Tag templates.
-//   - Entries.
-//   - Entry groups.
-// Note, this method cannot be used to manage policies for BigQuery,
-// Pub/Sub
-// and any external Google Cloud Platform resources synced to Data
-// Catalog.
-//
-// Callers must have following Google IAM permission
-//   - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag
-//     templates.
-//   - `datacatalog.entries.setIamPolicy` to set policies on entries.
-//   - `datacatalog.entryGroups.setIamPolicy` to set policies on entry
-// groups.
+// any existing policy. Supported resources are: - Tag templates. -
+// Entries. - Entry groups. Note, this method cannot be used to manage
+// policies for BigQuery, Pub/Sub and any external Google Cloud Platform
+// resources synced to Data Catalog. Callers must have following Google
+// IAM permission - `datacatalog.tagTemplates.setIamPolicy` to set
+// policies on tag templates. - `datacatalog.entries.setIamPolicy` to
+// set policies on entries. - `datacatalog.entryGroups.setIamPolicy` to
+// set policies on entry groups.
 func (r *ProjectsLocationsTagTemplatesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsLocationsTagTemplatesSetIamPolicyCall {
 	c := &ProjectsLocationsTagTemplatesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -7781,7 +7169,7 @@
 
 func (c *ProjectsLocationsTagTemplatesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7845,7 +7233,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the access control policy for a resource. Replaces any existing\npolicy.\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nCallers must have following Google IAM permission\n  - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag\n    templates.\n  - `datacatalog.entries.setIamPolicy` to set policies on entries.\n  - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups.",
+	//   "description": "Sets the access control policy for a resource. Replaces any existing policy. Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. Callers must have following Google IAM permission - `datacatalog.tagTemplates.setIamPolicy` to set policies on tag templates. - `datacatalog.entries.setIamPolicy` to set policies on entries. - `datacatalog.entryGroups.setIamPolicy` to set policies on entry groups.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "datacatalog.projects.locations.tagTemplates.setIamPolicy",
@@ -7854,7 +7242,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
 	//       "required": true,
@@ -7886,23 +7274,13 @@
 	header_                   http.Header
 }
 
-// TestIamPermissions: Returns the caller's permissions on a
-// resource.
+// TestIamPermissions: Returns the caller's permissions on a resource.
 // If the resource does not exist, an empty set of permissions is
-// returned
-// (We don't return a `NOT_FOUND` error).
-//
-// Supported resources are:
-//   - Tag templates.
-//   - Entries.
-//   - Entry groups.
-// Note, this method cannot be used to manage policies for BigQuery,
-// Pub/Sub
-// and any external Google Cloud Platform resources synced to Data
-// Catalog.
-//
-// A caller is not required to have Google IAM permission to make
-// this
+// returned (We don't return a `NOT_FOUND` error). Supported resources
+// are: - Tag templates. - Entries. - Entry groups. Note, this method
+// cannot be used to manage policies for BigQuery, Pub/Sub and any
+// external Google Cloud Platform resources synced to Data Catalog. A
+// caller is not required to have Google IAM permission to make this
 // request.
 func (r *ProjectsLocationsTagTemplatesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsTagTemplatesTestIamPermissionsCall {
 	c := &ProjectsLocationsTagTemplatesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -7938,7 +7316,7 @@
 
 func (c *ProjectsLocationsTagTemplatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8002,7 +7380,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns the caller's permissions on a resource.\nIf the resource does not exist, an empty set of permissions is returned\n(We don't return a `NOT_FOUND` error).\n\nSupported resources are:\n  - Tag templates.\n  - Entries.\n  - Entry groups.\nNote, this method cannot be used to manage policies for BigQuery, Pub/Sub\nand any external Google Cloud Platform resources synced to Data Catalog.\n\nA caller is not required to have Google IAM permission to make this\nrequest.",
+	//   "description": "Returns the caller's permissions on a resource. If the resource does not exist, an empty set of permissions is returned (We don't return a `NOT_FOUND` error). Supported resources are: - Tag templates. - Entries. - Entry groups. Note, this method cannot be used to manage policies for BigQuery, Pub/Sub and any external Google Cloud Platform resources synced to Data Catalog. A caller is not required to have Google IAM permission to make this request.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "datacatalog.projects.locations.tagTemplates.testIamPermissions",
@@ -8011,7 +7389,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
 	//       "required": true,
@@ -8044,13 +7422,10 @@
 }
 
 // Create: Creates a field in a tag template. The user should enable the
-// Data Catalog
-// API in the project identified by the `parent` parameter (see
-// [Data Catalog
-// Resource
-// Project](https://cloud.google.com/data-catalog/docs/concepts/
-// resource-project)
-// for more information).
+// Data Catalog API in the project identified by the `parent` parameter
+// (see [Data Catalog Resource
+// Project](https://cloud.google.com/data-catalog/docs/concepts/resource-
+// project) for more information).
 func (r *ProjectsLocationsTagTemplatesFieldsService) Create(parent string, googleclouddatacatalogv1beta1tagtemplatefield *GoogleCloudDatacatalogV1beta1TagTemplateField) *ProjectsLocationsTagTemplatesFieldsCreateCall {
 	c := &ProjectsLocationsTagTemplatesFieldsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -8059,14 +7434,11 @@
 }
 
 // TagTemplateFieldId sets the optional parameter "tagTemplateFieldId":
-// Required. The ID of the tag template field to create.
-// Field ids can contain letters (both uppercase and lowercase),
-// numbers
-// (0-9), underscores (_) and dashes (-). Field IDs must be at least
-// 1
+// Required. The ID of the tag template field to create. Field ids can
+// contain letters (both uppercase and lowercase), numbers (0-9),
+// underscores (_) and dashes (-). Field IDs must be at least 1
 // character long and at most 128 characters long. Field IDs must also
-// be
-// unique within their template.
+// be unique within their template.
 func (c *ProjectsLocationsTagTemplatesFieldsCreateCall) TagTemplateFieldId(tagTemplateFieldId string) *ProjectsLocationsTagTemplatesFieldsCreateCall {
 	c.urlParams_.Set("tagTemplateFieldId", tagTemplateFieldId)
 	return c
@@ -8099,7 +7471,7 @@
 
 func (c *ProjectsLocationsTagTemplatesFieldsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8165,7 +7537,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a field in a tag template. The user should enable the Data Catalog\nAPI in the project identified by the `parent` parameter (see\n[Data Catalog Resource\nProject](https://cloud.google.com/data-catalog/docs/concepts/resource-project)\nfor more information).",
+	//   "description": "Creates a field in a tag template. The user should enable the Data Catalog API in the project identified by the `parent` parameter (see [Data Catalog Resource Project](https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields",
 	//   "httpMethod": "POST",
 	//   "id": "datacatalog.projects.locations.tagTemplates.fields.create",
@@ -8174,14 +7546,14 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The name of the project and the template location\n[region](https://cloud.google.com/data-catalog/docs/concepts/regions).\n\nExample:\n\n* projects/{project_id}/locations/us-central1/tagTemplates/{tag_template_id}",
+	//       "description": "Required. The name of the project and the template location [region](https://cloud.google.com/data-catalog/docs/concepts/regions). Example: * projects/{project_id}/locations/us-central1/tagTemplates/{tag_template_id}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "tagTemplateFieldId": {
-	//       "description": "Required. The ID of the tag template field to create.\nField ids can contain letters (both uppercase and lowercase), numbers\n(0-9), underscores (_) and dashes (-). Field IDs must be at least 1\ncharacter long and at most 128 characters long. Field IDs must also be\nunique within their template.",
+	//       "description": "Required. The ID of the tag template field to create. Field ids can contain letters (both uppercase and lowercase), numbers (0-9), underscores (_) and dashes (-). Field IDs must be at least 1 character long and at most 128 characters long. Field IDs must also be unique within their template.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -8210,15 +7582,11 @@
 	header_    http.Header
 }
 
-// Delete: Deletes a field in a tag template and all uses of that
-// field.
-// Users should enable the Data Catalog API in the project identified
-// by
-// the `name` parameter (see [Data Catalog Resource
-// Project]
-// (https://cloud.google.com/data-catalog/docs/concepts/resource
-// -project) for
-// more information).
+// Delete: Deletes a field in a tag template and all uses of that field.
+// Users should enable the Data Catalog API in the project identified by
+// the `name` parameter (see [Data Catalog Resource Project]
+// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
+//  for more information).
 func (r *ProjectsLocationsTagTemplatesFieldsService) Delete(name string) *ProjectsLocationsTagTemplatesFieldsDeleteCall {
 	c := &ProjectsLocationsTagTemplatesFieldsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -8226,10 +7594,9 @@
 }
 
 // Force sets the optional parameter "force": Required. Currently, this
-// field must always be set to `true`.
-// This confirms the deletion of this field from any tags using this
-// field.
-// `force = false` will be supported in the future.
+// field must always be set to `true`. This confirms the deletion of
+// this field from any tags using this field. `force = false` will be
+// supported in the future.
 func (c *ProjectsLocationsTagTemplatesFieldsDeleteCall) Force(force bool) *ProjectsLocationsTagTemplatesFieldsDeleteCall {
 	c.urlParams_.Set("force", fmt.Sprint(force))
 	return c
@@ -8262,7 +7629,7 @@
 
 func (c *ProjectsLocationsTagTemplatesFieldsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8321,7 +7688,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a field in a tag template and all uses of that field.\nUsers should enable the Data Catalog API in the project identified by\nthe `name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
+	//   "description": "Deletes a field in a tag template and all uses of that field. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "datacatalog.projects.locations.tagTemplates.fields.delete",
@@ -8330,12 +7697,12 @@
 	//   ],
 	//   "parameters": {
 	//     "force": {
-	//       "description": "Required. Currently, this field must always be set to `true`.\nThis confirms the deletion of this field from any tags using this field.\n`force = false` will be supported in the future.",
+	//       "description": "Required. Currently, this field must always be set to `true`. This confirms the deletion of this field from any tags using this field. `force = false` will be supported in the future.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
 	//     "name": {
-	//       "description": "Required. The name of the tag template field to delete. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}",
+	//       "description": "Required. The name of the tag template field to delete. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$",
 	//       "required": true,
@@ -8365,14 +7732,11 @@
 }
 
 // Patch: Updates a field in a tag template. This method cannot be used
-// to update the
-// field type. Users should enable the Data Catalog API in the
-// project
-// identified by the `name` parameter (see [Data Catalog Resource
-// Project]
-// (https://cloud.google.com/data-catalog/docs/concepts/resource
-// -project) for
-// more information).
+// to update the field type. Users should enable the Data Catalog API in
+// the project identified by the `name` parameter (see [Data Catalog
+// Resource Project]
+// (https://cloud.google.com/data-catalog/docs/concepts/resource-project)
+//  for more information).
 func (r *ProjectsLocationsTagTemplatesFieldsService) Patch(name string, googleclouddatacatalogv1beta1tagtemplatefield *GoogleCloudDatacatalogV1beta1TagTemplateField) *ProjectsLocationsTagTemplatesFieldsPatchCall {
 	c := &ProjectsLocationsTagTemplatesFieldsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -8381,24 +7745,13 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": The field mask
-// specifies the parts of the template to be updated.
-// Allowed fields:
-//
-//   * `display_name`
-//   * `type.enum_type`
-//   * `is_required`
-//
-// If `update_mask` is not set or empty, all of the allowed fields above
-// will
-// be updated.
-//
+// specifies the parts of the template to be updated. Allowed fields: *
+// `display_name` * `type.enum_type` * `is_required` If `update_mask` is
+// not set or empty, all of the allowed fields above will be updated.
 // When updating an enum type, the provided values will be merged with
-// the
-// existing values. Therefore, enum values can only be added, existing
-// enum
-// values cannot be deleted nor renamed. Updating a template field
-// from
-// optional to required is NOT allowed.
+// the existing values. Therefore, enum values can only be added,
+// existing enum values cannot be deleted nor renamed. Updating a
+// template field from optional to required is NOT allowed.
 func (c *ProjectsLocationsTagTemplatesFieldsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsTagTemplatesFieldsPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
 	return c
@@ -8431,7 +7784,7 @@
 
 func (c *ProjectsLocationsTagTemplatesFieldsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8497,7 +7850,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates a field in a tag template. This method cannot be used to update the\nfield type. Users should enable the Data Catalog API in the project\nidentified by the `name` parameter (see [Data Catalog Resource Project]\n(https://cloud.google.com/data-catalog/docs/concepts/resource-project) for\nmore information).",
+	//   "description": "Updates a field in a tag template. This method cannot be used to update the field type. Users should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project] (https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}",
 	//   "httpMethod": "PATCH",
 	//   "id": "datacatalog.projects.locations.tagTemplates.fields.patch",
@@ -8506,14 +7859,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the tag template field. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}",
+	//       "description": "Required. The name of the tag template field. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "Optional. The field mask specifies the parts of the template to be updated.\nAllowed fields:\n\n  * `display_name`\n  * `type.enum_type`\n  * `is_required`\n\nIf `update_mask` is not set or empty, all of the allowed fields above will\nbe updated.\n\nWhen updating an enum type, the provided values will be merged with the\nexisting values. Therefore, enum values can only be added, existing enum\nvalues cannot be deleted nor renamed. Updating a template field from\noptional to required is NOT allowed.",
+	//       "description": "Optional. The field mask specifies the parts of the template to be updated. Allowed fields: * `display_name` * `type.enum_type` * `is_required` If `update_mask` is not set or empty, all of the allowed fields above will be updated. When updating an enum type, the provided values will be merged with the existing values. Therefore, enum values can only be added, existing enum values cannot be deleted nor renamed. Updating a template field from optional to required is NOT allowed.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -8545,13 +7898,10 @@
 }
 
 // Rename: Renames a field in a tag template. The user should enable the
-// Data Catalog
-// API in the project identified by the `name` parameter (see [Data
-// Catalog
-// Resource
-// Project](https://cloud.google.com/data-catalog/docs/c
-// oncepts/resource-project)
-// for more information).
+// Data Catalog API in the project identified by the `name` parameter
+// (see [Data Catalog Resource
+// Project](https://cloud.google.com/data-catalog/docs/concepts/resource-
+// project) for more information).
 func (r *ProjectsLocationsTagTemplatesFieldsService) Rename(name string, googleclouddatacatalogv1beta1renametagtemplatefieldrequest *GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldRequest) *ProjectsLocationsTagTemplatesFieldsRenameCall {
 	c := &ProjectsLocationsTagTemplatesFieldsRenameCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -8586,7 +7936,7 @@
 
 func (c *ProjectsLocationsTagTemplatesFieldsRenameCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8652,7 +8002,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Renames a field in a tag template. The user should enable the Data Catalog\nAPI in the project identified by the `name` parameter (see [Data Catalog\nResource\nProject](https://cloud.google.com/data-catalog/docs/concepts/resource-project)\nfor more information).",
+	//   "description": "Renames a field in a tag template. The user should enable the Data Catalog API in the project identified by the `name` parameter (see [Data Catalog Resource Project](https://cloud.google.com/data-catalog/docs/concepts/resource-project) for more information).",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}:rename",
 	//   "httpMethod": "POST",
 	//   "id": "datacatalog.projects.locations.tagTemplates.fields.rename",
@@ -8661,7 +8011,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the tag template. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}",
+	//       "description": "Required. The name of the tag template. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+$",
 	//       "required": true,
@@ -8694,10 +8044,9 @@
 }
 
 // Rename: Renames an enum value in a tag template. The enum values have
-// to be unique
-// within one enum field. Thus, an enum value cannot be renamed with a
-// name
-// used in any other enum value within the same enum field.
+// to be unique within one enum field. Thus, an enum value cannot be
+// renamed with a name used in any other enum value within the same enum
+// field.
 func (r *ProjectsLocationsTagTemplatesFieldsEnumValuesService) Rename(name string, googleclouddatacatalogv1beta1renametagtemplatefieldenumvaluerequest *GoogleCloudDatacatalogV1beta1RenameTagTemplateFieldEnumValueRequest) *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall {
 	c := &ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -8732,7 +8081,7 @@
 
 func (c *ProjectsLocationsTagTemplatesFieldsEnumValuesRenameCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8798,7 +8147,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Renames an enum value in a tag template. The enum values have to be unique\nwithin one enum field. Thus, an enum value cannot be renamed with a name\nused in any other enum value within the same enum field.",
+	//   "description": "Renames an enum value in a tag template. The enum values have to be unique within one enum field. Thus, an enum value cannot be renamed with a name used in any other enum value within the same enum field.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tagTemplates/{tagTemplatesId}/fields/{fieldsId}/enumValues/{enumValuesId}:rename",
 	//   "httpMethod": "POST",
 	//   "id": "datacatalog.projects.locations.tagTemplates.fields.enumValues.rename",
@@ -8807,7 +8156,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the enum field value. Example:\n\n* projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}/enumValues/{enum_value_display_name}",
+	//       "description": "Required. The name of the enum field value. Example: * projects/{project_id}/locations/{location}/tagTemplates/{tag_template_id}/fields/{tag_template_field_id}/enumValues/{enum_value_display_name}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/tagTemplates/[^/]+/fields/[^/]+/enumValues/[^/]+$",
 	//       "required": true,
@@ -8874,7 +8223,7 @@
 
 func (c *ProjectsLocationsTaxonomiesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8979,8 +8328,7 @@
 	header_    http.Header
 }
 
-// Delete: Deletes a taxonomy. This operation will also delete
-// all
+// Delete: Deletes a taxonomy. This operation will also delete all
 // policy tags in this taxonomy along with their associated policies.
 func (r *ProjectsLocationsTaxonomiesService) Delete(name string) *ProjectsLocationsTaxonomiesDeleteCall {
 	c := &ProjectsLocationsTaxonomiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -9015,7 +8363,7 @@
 
 func (c *ProjectsLocationsTaxonomiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9074,7 +8422,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a taxonomy. This operation will also delete all\npolicy tags in this taxonomy along with their associated policies.",
+	//   "description": "Deletes a taxonomy. This operation will also delete all policy tags in this taxonomy along with their associated policies.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "datacatalog.projects.locations.taxonomies.delete",
@@ -9083,7 +8431,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. Resource name of the taxonomy to be deleted. All policy tags in\nthis taxonomy will also be deleted.",
+	//       "description": "Required. Resource name of the taxonomy to be deleted. All policy tags in this taxonomy will also be deleted.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
 	//       "required": true,
@@ -9112,12 +8460,9 @@
 	header_      http.Header
 }
 
-// Export: Exports all taxonomies and their policy tags in a
-// project.
-//
+// Export: Exports all taxonomies and their policy tags in a project.
 // This method generates SerializedTaxonomy protos with nested policy
-// tags
-// that can be used as an input for future ImportTaxonomies calls.
+// tags that can be used as an input for future ImportTaxonomies calls.
 func (r *ProjectsLocationsTaxonomiesService) Export(parent string) *ProjectsLocationsTaxonomiesExportCall {
 	c := &ProjectsLocationsTaxonomiesExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -9175,7 +8520,7 @@
 
 func (c *ProjectsLocationsTaxonomiesExportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9239,7 +8584,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Exports all taxonomies and their policy tags in a project.\n\nThis method generates SerializedTaxonomy protos with nested policy tags\nthat can be used as an input for future ImportTaxonomies calls.",
+	//   "description": "Exports all taxonomies and their policy tags in a project. This method generates SerializedTaxonomy protos with nested policy tags that can be used as an input for future ImportTaxonomies calls.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies:export",
 	//   "httpMethod": "GET",
 	//   "id": "datacatalog.projects.locations.taxonomies.export",
@@ -9248,7 +8593,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. Resource name of the project that taxonomies to be exported\nwill share.",
+	//       "description": "Required. Resource name of the project that taxonomies to be exported will share.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
@@ -9332,7 +8677,7 @@
 
 func (c *ProjectsLocationsTaxonomiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9468,7 +8813,7 @@
 
 func (c *ProjectsLocationsTaxonomiesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9541,7 +8886,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
 	//       "required": true,
@@ -9574,12 +8919,8 @@
 }
 
 // Import: Imports all taxonomies and their policy tags to a project as
-// new
-// taxonomies.
-//
-// This method provides a bulk taxonomy / policy tag creation using
-// nested
-// proto structure.
+// new taxonomies. This method provides a bulk taxonomy / policy tag
+// creation using nested proto structure.
 func (r *ProjectsLocationsTaxonomiesService) Import(parent string, googleclouddatacatalogv1beta1importtaxonomiesrequest *GoogleCloudDatacatalogV1beta1ImportTaxonomiesRequest) *ProjectsLocationsTaxonomiesImportCall {
 	c := &ProjectsLocationsTaxonomiesImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -9614,7 +8955,7 @@
 
 func (c *ProjectsLocationsTaxonomiesImportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9680,7 +9021,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Imports all taxonomies and their policy tags to a project as new\ntaxonomies.\n\nThis method provides a bulk taxonomy / policy tag creation using nested\nproto structure.",
+	//   "description": "Imports all taxonomies and their policy tags to a project as new taxonomies. This method provides a bulk taxonomy / policy tag creation using nested proto structure.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies:import",
 	//   "httpMethod": "POST",
 	//   "id": "datacatalog.projects.locations.taxonomies.import",
@@ -9722,8 +9063,7 @@
 }
 
 // List: Lists all taxonomies in a project in a particular location that
-// the caller
-// has permission to view.
+// the caller has permission to view.
 func (r *ProjectsLocationsTaxonomiesService) List(parent string) *ProjectsLocationsTaxonomiesListCall {
 	c := &ProjectsLocationsTaxonomiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -9731,8 +9071,8 @@
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
-// of items to return. Must be a value between 1 and 1000.
-// If not set, defaults to 50.
+// of items to return. Must be a value between 1 and 1000. If not set,
+// defaults to 50.
 func (c *ProjectsLocationsTaxonomiesListCall) PageSize(pageSize int64) *ProjectsLocationsTaxonomiesListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
@@ -9740,8 +9080,7 @@
 
 // PageToken sets the optional parameter "pageToken": The
 // next_page_token value returned from a previous list request, if any.
-// If
-// not set, defaults to an empty string.
+// If not set, defaults to an empty string.
 func (c *ProjectsLocationsTaxonomiesListCall) PageToken(pageToken string) *ProjectsLocationsTaxonomiesListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -9784,7 +9123,7 @@
 
 func (c *ProjectsLocationsTaxonomiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9848,7 +9187,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists all taxonomies in a project in a particular location that the caller\nhas permission to view.",
+	//   "description": "Lists all taxonomies in a project in a particular location that the caller has permission to view.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies",
 	//   "httpMethod": "GET",
 	//   "id": "datacatalog.projects.locations.taxonomies.list",
@@ -9857,13 +9196,13 @@
 	//   ],
 	//   "parameters": {
 	//     "pageSize": {
-	//       "description": "The maximum number of items to return. Must be a value between 1 and 1000.\nIf not set, defaults to 50.",
+	//       "description": "The maximum number of items to return. Must be a value between 1 and 1000. If not set, defaults to 50.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "The next_page_token value returned from a previous list request, if any. If\nnot set, defaults to an empty string.",
+	//       "description": "The next_page_token value returned from a previous list request, if any. If not set, defaults to an empty string.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -9927,12 +9266,9 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": The update mask
-// applies to the resource. For the `FieldMask`
-// definition,
-// see
-// https://developers.google.com/protocol-buffers/docs/re
-// ference/google.protobuf#fieldmask
-// If not set, defaults to all of the fields that are allowed to update.
+// applies to the resource. For the `FieldMask` definition, see
+// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If not set, defaults to all of the fields that are allowed to
+// update.
 func (c *ProjectsLocationsTaxonomiesPatchCall) UpdateMask(updateMask string) *ProjectsLocationsTaxonomiesPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
 	return c
@@ -9965,7 +9301,7 @@
 
 func (c *ProjectsLocationsTaxonomiesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10039,14 +9375,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Output only. Resource name of this taxonomy, whose format is:\n\"projects/{project_number}/locations/{location_id}/taxonomies/{id}\".",
+	//       "description": "Output only. Resource name of this taxonomy, whose format is: \"projects/{project_number}/locations/{location_id}/taxonomies/{id}\".",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "The update mask applies to the resource. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf not set, defaults to all of the fields that are allowed to update.",
+	//       "description": "The update mask applies to the resource. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If not set, defaults to all of the fields that are allowed to update.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -10112,7 +9448,7 @@
 
 func (c *ProjectsLocationsTaxonomiesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10185,7 +9521,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
 	//       "required": true,
@@ -10218,8 +9554,7 @@
 }
 
 // TestIamPermissions: Returns the permissions that a caller has on the
-// specified taxonomy or
-// policy tag.
+// specified taxonomy or policy tag.
 func (r *ProjectsLocationsTaxonomiesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsTaxonomiesTestIamPermissionsCall {
 	c := &ProjectsLocationsTaxonomiesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -10254,7 +9589,7 @@
 
 func (c *ProjectsLocationsTaxonomiesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10318,7 +9653,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns the permissions that a caller has on the specified taxonomy or\npolicy tag.",
+	//   "description": "Returns the permissions that a caller has on the specified taxonomy or policy tag.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "datacatalog.projects.locations.taxonomies.testIamPermissions",
@@ -10327,7 +9662,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+$",
 	//       "required": true,
@@ -10394,7 +9729,7 @@
 
 func (c *ProjectsLocationsTaxonomiesPolicyTagsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10534,7 +9869,7 @@
 
 func (c *ProjectsLocationsTaxonomiesPolicyTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10602,7 +9937,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. Resource name of the policy tag to be deleted. All of its descendant\npolicy tags will also be deleted.",
+	//       "description": "Required. Resource name of the policy tag to be deleted. All of its descendant policy tags will also be deleted.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
 	//       "required": true,
@@ -10675,7 +10010,7 @@
 
 func (c *ProjectsLocationsTaxonomiesPolicyTagsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10811,7 +10146,7 @@
 
 func (c *ProjectsLocationsTaxonomiesPolicyTagsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10884,7 +10219,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
 	//       "required": true,
@@ -10924,8 +10259,8 @@
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
-// of items to return. Must be a value between 1 and 1000.
-// If not set, defaults to 50.
+// of items to return. Must be a value between 1 and 1000. If not set,
+// defaults to 50.
 func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) PageSize(pageSize int64) *ProjectsLocationsTaxonomiesPolicyTagsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
@@ -10933,8 +10268,7 @@
 
 // PageToken sets the optional parameter "pageToken": The
 // next_page_token value returned from a previous List request, if any.
-// If
-// not set, defaults to an empty string.
+// If not set, defaults to an empty string.
 func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) PageToken(pageToken string) *ProjectsLocationsTaxonomiesPolicyTagsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -10977,7 +10311,7 @@
 
 func (c *ProjectsLocationsTaxonomiesPolicyTagsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11050,13 +10384,13 @@
 	//   ],
 	//   "parameters": {
 	//     "pageSize": {
-	//       "description": "The maximum number of items to return. Must be a value between 1 and 1000.\nIf not set, defaults to 50.",
+	//       "description": "The maximum number of items to return. Must be a value between 1 and 1000. If not set, defaults to 50.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "The next_page_token value returned from a previous List request, if any. If\nnot set, defaults to an empty string.",
+	//       "description": "The next_page_token value returned from a previous List request, if any. If not set, defaults to an empty string.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -11120,19 +10454,13 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": The update mask
-// applies to the resource. Only display_name, description
-// and
+// applies to the resource. Only display_name, description and
 // parent_policy_tag can be updated and thus can be listed in the mask.
-// If
-// update_mask is not provided, all allowed fields (i.e.
-// display_name,
-// description and parent) will be updated. For more information
-// including the
-// `FieldMask` definition,
-// see
-// https://developers.google.com/protocol-buffers/docs/reference/goog
-// le.protobuf#fieldmask
-// If not set, defaults to all of the fields that are allowed to update.
+// If update_mask is not provided, all allowed fields (i.e.
+// display_name, description and parent) will be updated. For more
+// information including the `FieldMask` definition, see
+// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If not set, defaults to all of the fields that are allowed to
+// update.
 func (c *ProjectsLocationsTaxonomiesPolicyTagsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsTaxonomiesPolicyTagsPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
 	return c
@@ -11165,7 +10493,7 @@
 
 func (c *ProjectsLocationsTaxonomiesPolicyTagsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11239,14 +10567,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Output only. Resource name of this policy tag, whose format is:\n\"projects/{project_number}/locations/{location_id}/taxonomies/{taxonomy_id}/policyTags/{id}\".",
+	//       "description": "Output only. Resource name of this policy tag, whose format is: \"projects/{project_number}/locations/{location_id}/taxonomies/{taxonomy_id}/policyTags/{id}\".",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "The update mask applies to the resource. Only display_name, description and\nparent_policy_tag can be updated and thus can be listed in the mask. If\nupdate_mask is not provided, all allowed fields (i.e. display_name,\ndescription and parent) will be updated. For more information including the\n`FieldMask` definition, see\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf not set, defaults to all of the fields that are allowed to update.",
+	//       "description": "The update mask applies to the resource. Only display_name, description and parent_policy_tag can be updated and thus can be listed in the mask. If update_mask is not provided, all allowed fields (i.e. display_name, description and parent) will be updated. For more information including the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If not set, defaults to all of the fields that are allowed to update.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -11312,7 +10640,7 @@
 
 func (c *ProjectsLocationsTaxonomiesPolicyTagsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11385,7 +10713,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
 	//       "required": true,
@@ -11418,8 +10746,7 @@
 }
 
 // TestIamPermissions: Returns the permissions that a caller has on the
-// specified taxonomy or
-// policy tag.
+// specified taxonomy or policy tag.
 func (r *ProjectsLocationsTaxonomiesPolicyTagsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall {
 	c := &ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -11454,7 +10781,7 @@
 
 func (c *ProjectsLocationsTaxonomiesPolicyTagsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11518,7 +10845,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns the permissions that a caller has on the specified taxonomy or\npolicy tag.",
+	//   "description": "Returns the permissions that a caller has on the specified taxonomy or policy tag.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/taxonomies/{taxonomiesId}/policyTags/{policyTagsId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "datacatalog.projects.locations.taxonomies.policyTags.testIamPermissions",
@@ -11527,7 +10854,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+/taxonomies/[^/]+/policyTags/[^/]+$",
 	//       "required": true,
diff --git a/dataflow/v1b3/dataflow-api.json b/dataflow/v1b3/dataflow-api.json
index 82ffc1f..72bc245 100644
--- a/dataflow/v1b3/dataflow-api.json
+++ b/dataflow/v1b3/dataflow-api.json
@@ -186,7 +186,7 @@
         "catalogTemplates": {
           "methods": {
             "commit": {
-              "description": "Creates a new TemplateVersion (Important: not new Template) entry in the\nspanner table. Requires project_id and display_name (template).",
+              "description": "Creates a new TemplateVersion (Important: not new Template) entry in the spanner table. Requires project_id and display_name (template).",
               "flatPath": "v1b3/projects/{projectsId}/catalogTemplates/{catalogTemplatesId}:commit",
               "httpMethod": "POST",
               "id": "dataflow.projects.catalogTemplates.commit",
@@ -195,7 +195,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "The location of the template, name includes project_id and display_name.\n\nCommit using project_id(pid1) and display_name(tid1).\n  Format: projects/{pid1}/catalogTemplates/{tid1}",
+                  "description": "The location of the template, name includes project_id and display_name. Commit using project_id(pid1) and display_name(tid1). Format: projects/{pid1}/catalogTemplates/{tid1}",
                   "location": "path",
                   "pattern": "^projects/[^/]+/catalogTemplates/[^/]+$",
                   "required": true,
@@ -224,7 +224,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "name includes project_id and display_name.\n\nDelete by project_id(pid1) and display_name(tid1).\n  Format: projects/{pid1}/catalogTemplates/{tid1}",
+                  "description": "name includes project_id and display_name. Delete by project_id(pid1) and display_name(tid1). Format: projects/{pid1}/catalogTemplates/{tid1}",
                   "location": "path",
                   "pattern": "^projects/[^/]+/catalogTemplates/[^/]+$",
                   "required": true,
@@ -241,7 +241,7 @@
               ]
             },
             "get": {
-              "description": "Get TemplateVersion using project_id and display_name with an optional\nversion_id field. Get latest (has tag \"latest\") TemplateVersion if\nversion_id not set.",
+              "description": "Get TemplateVersion using project_id and display_name with an optional version_id field. Get latest (has tag \"latest\") TemplateVersion if version_id not set.",
               "flatPath": "v1b3/projects/{projectsId}/catalogTemplates/{catalogTemplatesId}",
               "httpMethod": "GET",
               "id": "dataflow.projects.catalogTemplates.get",
@@ -250,7 +250,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Resource name includes project_id and display_name. version_id is optional.\nGet the latest TemplateVersion if version_id not set.\n\nGet by project_id(pid1) and display_name(tid1):\n  Format: projects/{pid1}/catalogTemplates/{tid1}\n\nGet by project_id(pid1), display_name(tid1), and version_id(vid1):\n  Format: projects/{pid1}/catalogTemplates/{tid1@vid}",
+                  "description": "Resource name includes project_id and display_name. version_id is optional. Get the latest TemplateVersion if version_id not set. Get by project_id(pid1) and display_name(tid1): Format: projects/{pid1}/catalogTemplates/{tid1} Get by project_id(pid1), display_name(tid1), and version_id(vid1): Format: projects/{pid1}/catalogTemplates/{tid1@vid}",
                   "location": "path",
                   "pattern": "^projects/[^/]+/catalogTemplates/[^/]+$",
                   "required": true,
@@ -267,7 +267,7 @@
               ]
             },
             "label": {
-              "description": "Updates the label of the TemplateVersion. Label can be duplicated in\nTemplate, so either add or remove the label in the TemplateVersion.",
+              "description": "Updates the label of the TemplateVersion. Label can be duplicated in Template, so either add or remove the label in the TemplateVersion.",
               "flatPath": "v1b3/projects/{projectsId}/catalogTemplates/{catalogTemplatesId}:label",
               "httpMethod": "POST",
               "id": "dataflow.projects.catalogTemplates.label",
@@ -276,7 +276,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Resource name includes project_id, display_name, and version_id.\n\nUpdates by project_id(pid1), display_name(tid1), and version_id(vid1):\n  Format: projects/{pid1}/catalogTemplates/{tid1@vid}",
+                  "description": "Resource name includes project_id, display_name, and version_id. Updates by project_id(pid1), display_name(tid1), and version_id(vid1): Format: projects/{pid1}/catalogTemplates/{tid1@vid}",
                   "location": "path",
                   "pattern": "^projects/[^/]+/catalogTemplates/[^/]+$",
                   "required": true,
@@ -296,7 +296,7 @@
               ]
             },
             "tag": {
-              "description": "Updates the tag of the TemplateVersion, and tag is unique in Template.\nIf tag exists in another TemplateVersion in the Template, updates the tag\nto this TemplateVersion will remove it from the old TemplateVersion and add\nit to this TemplateVersion. If request is remove_only (remove_only = true),\nremove the tag from this TemplateVersion.",
+              "description": "Updates the tag of the TemplateVersion, and tag is unique in Template. If tag exists in another TemplateVersion in the Template, updates the tag to this TemplateVersion will remove it from the old TemplateVersion and add it to this TemplateVersion. If request is remove_only (remove_only = true), remove the tag from this TemplateVersion.",
               "flatPath": "v1b3/projects/{projectsId}/catalogTemplates/{catalogTemplatesId}:tag",
               "httpMethod": "POST",
               "id": "dataflow.projects.catalogTemplates.tag",
@@ -305,7 +305,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Resource name includes project_id, display_name, and version_id.\n\nUpdates by project_id(pid1), display_name(tid1), and version_id(vid1):\n  Format: projects/{pid1}/catalogTemplates/{tid1@vid}",
+                  "description": "Resource name includes project_id, display_name, and version_id. Updates by project_id(pid1), display_name(tid1), and version_id(vid1): Format: projects/{pid1}/catalogTemplates/{tid1@vid}",
                   "location": "path",
                   "pattern": "^projects/[^/]+/catalogTemplates/[^/]+$",
                   "required": true,
@@ -329,7 +329,7 @@
             "templateVersions": {
               "methods": {
                 "create": {
-                  "description": "Creates a new Template with TemplateVersion. Requires\nproject_id(projects) and template display_name(catalogTemplates).\nThe template display_name is set by the user.",
+                  "description": "Creates a new Template with TemplateVersion. Requires project_id(projects) and template display_name(catalogTemplates). The template display_name is set by the user.",
                   "flatPath": "v1b3/projects/{projectsId}/catalogTemplates/{catalogTemplatesId}/templateVersions",
                   "httpMethod": "POST",
                   "id": "dataflow.projects.catalogTemplates.templateVersions.create",
@@ -338,7 +338,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "The parent project and template that the TemplateVersion will be created\nunder.\n\nCreate using project_id(pid1) and display_name(tid1).\n  Format: projects/{pid1}/catalogTemplates/{tid1}",
+                      "description": "The parent project and template that the TemplateVersion will be created under. Create using project_id(pid1) and display_name(tid1). Format: projects/{pid1}/catalogTemplates/{tid1}",
                       "location": "path",
                       "pattern": "^projects/[^/]+/catalogTemplates/[^/]+$",
                       "required": true,
@@ -380,22 +380,28 @@
                     "TERMINATED",
                     "ACTIVE"
                   ],
+                  "enumDescriptions": [
+                    "The filter isn't specified, or is unknown. This returns all jobs ordered on descending `JobUuid`.",
+                    "Returns all running jobs first ordered on creation timestamp, then returns all terminated jobs ordered on the termination timestamp.",
+                    "Filters the jobs that have a terminated state, ordered on the termination timestamp. Example terminated states: `JOB_STATE_STOPPED`, `JOB_STATE_UPDATED`, `JOB_STATE_DRAINED`, etc.",
+                    "Filters the jobs that are running ordered on the creation timestamp."
+                  ],
                   "location": "query",
                   "type": "string"
                 },
                 "location": {
-                  "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains this job.",
+                  "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains this job.",
                   "location": "query",
                   "type": "string"
                 },
                 "pageSize": {
-                  "description": "If there are many jobs, limit response to at most this many.\nThe actual number of jobs returned will be the lesser of max_responses\nand an unspecified server-defined limit.",
+                  "description": "If there are many jobs, limit response to at most this many. The actual number of jobs returned will be the lesser of max_responses and an unspecified server-defined limit.",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "Set this to the 'next_page_token' field of a previous response\nto request additional results in a long list.",
+                  "description": "Set this to the 'next_page_token' field of a previous response to request additional results in a long list.",
                   "location": "query",
                   "type": "string"
                 },
@@ -413,6 +419,12 @@
                     "JOB_VIEW_ALL",
                     "JOB_VIEW_DESCRIPTION"
                   ],
+                  "enumDescriptions": [
+                    "The job view to return isn't specified, or is unknown. Responses will contain at least the `JOB_VIEW_SUMMARY` information, and may contain additional information.",
+                    "Request summary information only: Project ID, Job ID, job name, job type, job status, start/end time, and Cloud SDK version details.",
+                    "Request all information available for this job.",
+                    "Request summary info and limited job description data for steps, labels and environment."
+                  ],
                   "location": "query",
                   "type": "string"
                 }
@@ -429,7 +441,7 @@
               ]
             },
             "create": {
-              "description": "Creates a Cloud Dataflow job.\n\nTo create a job, we recommend using `projects.locations.jobs.create` with a\n[regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using\n`projects.jobs.create` is not recommended, as your job will always start\nin `us-central1`.",
+              "description": "Creates a Cloud Dataflow job. To create a job, we recommend using `projects.locations.jobs.create` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.create` is not recommended, as your job will always start in `us-central1`.",
               "flatPath": "v1b3/projects/{projectId}/jobs",
               "httpMethod": "POST",
               "id": "dataflow.projects.jobs.create",
@@ -438,7 +450,7 @@
               ],
               "parameters": {
                 "location": {
-                  "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains this job.",
+                  "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains this job.",
                   "location": "query",
                   "type": "string"
                 },
@@ -461,6 +473,12 @@
                     "JOB_VIEW_ALL",
                     "JOB_VIEW_DESCRIPTION"
                   ],
+                  "enumDescriptions": [
+                    "The job view to return isn't specified, or is unknown. Responses will contain at least the `JOB_VIEW_SUMMARY` information, and may contain additional information.",
+                    "Request summary information only: Project ID, Job ID, job name, job type, job status, start/end time, and Cloud SDK version details.",
+                    "Request all information available for this job.",
+                    "Request summary info and limited job description data for steps, labels and environment."
+                  ],
                   "location": "query",
                   "type": "string"
                 }
@@ -480,7 +498,7 @@
               ]
             },
             "get": {
-              "description": "Gets the state of the specified Cloud Dataflow job.\n\nTo get the state of a job, we recommend using `projects.locations.jobs.get`\nwith a [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using\n`projects.jobs.get` is not recommended, as you can only get the state of\njobs that are running in `us-central1`.",
+              "description": "Gets the state of the specified Cloud Dataflow job. To get the state of a job, we recommend using `projects.locations.jobs.get` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.get` is not recommended, as you can only get the state of jobs that are running in `us-central1`.",
               "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}",
               "httpMethod": "GET",
               "id": "dataflow.projects.jobs.get",
@@ -496,7 +514,7 @@
                   "type": "string"
                 },
                 "location": {
-                  "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains this job.",
+                  "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains this job.",
                   "location": "query",
                   "type": "string"
                 },
@@ -514,6 +532,12 @@
                     "JOB_VIEW_ALL",
                     "JOB_VIEW_DESCRIPTION"
                   ],
+                  "enumDescriptions": [
+                    "The job view to return isn't specified, or is unknown. Responses will contain at least the `JOB_VIEW_SUMMARY` information, and may contain additional information.",
+                    "Request summary information only: Project ID, Job ID, job name, job type, job status, start/end time, and Cloud SDK version details.",
+                    "Request all information available for this job.",
+                    "Request summary info and limited job description data for steps, labels and environment."
+                  ],
                   "location": "query",
                   "type": "string"
                 }
@@ -530,7 +554,7 @@
               ]
             },
             "getMetrics": {
-              "description": "Request the job status.\n\nTo request the status of a job, we recommend using\n`projects.locations.jobs.getMetrics` with a [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using\n`projects.jobs.getMetrics` is not recommended, as you can only request the\nstatus of jobs that are running in `us-central1`.",
+              "description": "Request the job status. To request the status of a job, we recommend using `projects.locations.jobs.getMetrics` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.getMetrics` is not recommended, as you can only request the status of jobs that are running in `us-central1`.",
               "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}/metrics",
               "httpMethod": "GET",
               "id": "dataflow.projects.jobs.getMetrics",
@@ -540,13 +564,13 @@
               ],
               "parameters": {
                 "jobId": {
-                  "description": "The job to get messages for.",
+                  "description": "The job to get metrics for.",
                   "location": "path",
                   "required": true,
                   "type": "string"
                 },
                 "location": {
-                  "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains the job specified by job_id.",
+                  "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the job specified by job_id.",
                   "location": "query",
                   "type": "string"
                 },
@@ -557,7 +581,7 @@
                   "type": "string"
                 },
                 "startTime": {
-                  "description": "Return only metric data that has changed since this time.\nDefault is to return all information about all metrics for the job.",
+                  "description": "Return only metric data that has changed since this time. Default is to return all information about all metrics for the job.",
                   "format": "google-datetime",
                   "location": "query",
                   "type": "string"
@@ -575,7 +599,7 @@
               ]
             },
             "list": {
-              "description": "List the jobs of a project.\n\nTo list the jobs of a project in a region, we recommend using\n`projects.locations.jobs.list` with a [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). To\nlist the all jobs across all regions, use `projects.jobs.aggregated`. Using\n`projects.jobs.list` is not recommended, as you can only get the list of\njobs that are running in `us-central1`.",
+              "description": "List the jobs of a project. To list the jobs of a project in a region, we recommend using `projects.locations.jobs.list` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). To list the all jobs across all regions, use `projects.jobs.aggregated`. Using `projects.jobs.list` is not recommended, as you can only get the list of jobs that are running in `us-central1`.",
               "flatPath": "v1b3/projects/{projectId}/jobs",
               "httpMethod": "GET",
               "id": "dataflow.projects.jobs.list",
@@ -591,22 +615,28 @@
                     "TERMINATED",
                     "ACTIVE"
                   ],
+                  "enumDescriptions": [
+                    "The filter isn't specified, or is unknown. This returns all jobs ordered on descending `JobUuid`.",
+                    "Returns all running jobs first ordered on creation timestamp, then returns all terminated jobs ordered on the termination timestamp.",
+                    "Filters the jobs that have a terminated state, ordered on the termination timestamp. Example terminated states: `JOB_STATE_STOPPED`, `JOB_STATE_UPDATED`, `JOB_STATE_DRAINED`, etc.",
+                    "Filters the jobs that are running ordered on the creation timestamp."
+                  ],
                   "location": "query",
                   "type": "string"
                 },
                 "location": {
-                  "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains this job.",
+                  "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains this job.",
                   "location": "query",
                   "type": "string"
                 },
                 "pageSize": {
-                  "description": "If there are many jobs, limit response to at most this many.\nThe actual number of jobs returned will be the lesser of max_responses\nand an unspecified server-defined limit.",
+                  "description": "If there are many jobs, limit response to at most this many. The actual number of jobs returned will be the lesser of max_responses and an unspecified server-defined limit.",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "Set this to the 'next_page_token' field of a previous response\nto request additional results in a long list.",
+                  "description": "Set this to the 'next_page_token' field of a previous response to request additional results in a long list.",
                   "location": "query",
                   "type": "string"
                 },
@@ -624,6 +654,12 @@
                     "JOB_VIEW_ALL",
                     "JOB_VIEW_DESCRIPTION"
                   ],
+                  "enumDescriptions": [
+                    "The job view to return isn't specified, or is unknown. Responses will contain at least the `JOB_VIEW_SUMMARY` information, and may contain additional information.",
+                    "Request summary information only: Project ID, Job ID, job name, job type, job status, start/end time, and Cloud SDK version details.",
+                    "Request all information available for this job.",
+                    "Request summary info and limited job description data for steps, labels and environment."
+                  ],
                   "location": "query",
                   "type": "string"
                 }
@@ -677,7 +713,7 @@
               ]
             },
             "update": {
-              "description": "Updates the state of an existing Cloud Dataflow job.\n\nTo update the state of an existing job, we recommend using\n`projects.locations.jobs.update` with a [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using\n`projects.jobs.update` is not recommended, as you can only update the state\nof jobs that are running in `us-central1`.",
+              "description": "Updates the state of an existing Cloud Dataflow job. To update the state of an existing job, we recommend using `projects.locations.jobs.update` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.update` is not recommended, as you can only update the state of jobs that are running in `us-central1`.",
               "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}",
               "httpMethod": "PUT",
               "id": "dataflow.projects.jobs.update",
@@ -693,7 +729,7 @@
                   "type": "string"
                 },
                 "location": {
-                  "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains this job.",
+                  "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains this job.",
                   "location": "query",
                   "type": "string"
                 },
@@ -801,7 +837,7 @@
             "messages": {
               "methods": {
                 "list": {
-                  "description": "Request the job status.\n\nTo request the status of a job, we recommend using\n`projects.locations.jobs.messages.list` with a [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using\n`projects.jobs.messages.list` is not recommended, as you can only request\nthe status of jobs that are running in `us-central1`.",
+                  "description": "Request the job status. To request the status of a job, we recommend using `projects.locations.jobs.messages.list` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.messages.list` is not recommended, as you can only request the status of jobs that are running in `us-central1`.",
                   "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}/messages",
                   "httpMethod": "GET",
                   "id": "dataflow.projects.jobs.messages.list",
@@ -811,7 +847,7 @@
                   ],
                   "parameters": {
                     "endTime": {
-                      "description": "Return only messages with timestamps \u003c end_time. The default is now\n(i.e. return up to the latest messages available).",
+                      "description": "Return only messages with timestamps \u003c end_time. The default is now (i.e. return up to the latest messages available).",
                       "format": "google-datetime",
                       "location": "query",
                       "type": "string"
@@ -823,7 +859,7 @@
                       "type": "string"
                     },
                     "location": {
-                      "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains the job specified by job_id.",
+                      "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the job specified by job_id.",
                       "location": "query",
                       "type": "string"
                     },
@@ -837,17 +873,25 @@
                         "JOB_MESSAGE_WARNING",
                         "JOB_MESSAGE_ERROR"
                       ],
+                      "enumDescriptions": [
+                        "The message importance isn't specified, or is unknown.",
+                        "The message is at the 'debug' level: typically only useful for software engineers working on the code the job is running. Typically, Dataflow pipeline runners do not display log messages at this level by default.",
+                        "The message is at the 'detailed' level: somewhat verbose, but potentially useful to users. Typically, Dataflow pipeline runners do not display log messages at this level by default. These messages are displayed by default in the Dataflow monitoring UI.",
+                        "The message is at the 'basic' level: useful for keeping track of the execution of a Dataflow pipeline. Typically, Dataflow pipeline runners display log messages at this level by default, and these messages are displayed by default in the Dataflow monitoring UI.",
+                        "The message is at the 'warning' level: indicating a condition pertaining to a job which may require human intervention. Typically, Dataflow pipeline runners display log messages at this level by default, and these messages are displayed by default in the Dataflow monitoring UI.",
+                        "The message is at the 'error' level: indicating a condition preventing a job from succeeding. Typically, Dataflow pipeline runners display log messages at this level by default, and these messages are displayed by default in the Dataflow monitoring UI."
+                      ],
                       "location": "query",
                       "type": "string"
                     },
                     "pageSize": {
-                      "description": "If specified, determines the maximum number of messages to\nreturn.  If unspecified, the service may choose an appropriate\ndefault, or may return an arbitrarily large number of results.",
+                      "description": "If specified, determines the maximum number of messages to return. If unspecified, the service may choose an appropriate default, or may return an arbitrarily large number of results.",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "If supplied, this should be the value of next_page_token returned\nby an earlier call. This will cause the next page of results to\nbe returned.",
+                      "description": "If supplied, this should be the value of next_page_token returned by an earlier call. This will cause the next page of results to be returned.",
                       "location": "query",
                       "type": "string"
                     },
@@ -858,7 +902,7 @@
                       "type": "string"
                     },
                     "startTime": {
-                      "description": "If specified, return only messages with timestamps \u003e= start_time.\nThe default is the job creation time (i.e. beginning of messages).",
+                      "description": "If specified, return only messages with timestamps \u003e= start_time. The default is the job creation time (i.e. beginning of messages).",
                       "format": "google-datetime",
                       "location": "query",
                       "type": "string"
@@ -970,7 +1014,7 @@
               ],
               "parameters": {
                 "location": {
-                  "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains the job.",
+                  "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the job.",
                   "location": "path",
                   "required": true,
                   "type": "string"
@@ -1011,7 +1055,7 @@
                   ],
                   "parameters": {
                     "location": {
-                      "description": "Required. The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to\nwhich to direct the request. E.g., us-central1, us-west1.",
+                      "description": "Required. The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to which to direct the request. E.g., us-central1, us-west1.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1042,7 +1086,7 @@
             "jobs": {
               "methods": {
                 "create": {
-                  "description": "Creates a Cloud Dataflow job.\n\nTo create a job, we recommend using `projects.locations.jobs.create` with a\n[regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using\n`projects.jobs.create` is not recommended, as your job will always start\nin `us-central1`.",
+                  "description": "Creates a Cloud Dataflow job. To create a job, we recommend using `projects.locations.jobs.create` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.create` is not recommended, as your job will always start in `us-central1`.",
                   "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs",
                   "httpMethod": "POST",
                   "id": "dataflow.projects.locations.jobs.create",
@@ -1052,7 +1096,7 @@
                   ],
                   "parameters": {
                     "location": {
-                      "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains this job.",
+                      "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains this job.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1076,6 +1120,12 @@
                         "JOB_VIEW_ALL",
                         "JOB_VIEW_DESCRIPTION"
                       ],
+                      "enumDescriptions": [
+                        "The job view to return isn't specified, or is unknown. Responses will contain at least the `JOB_VIEW_SUMMARY` information, and may contain additional information.",
+                        "Request summary information only: Project ID, Job ID, job name, job type, job status, start/end time, and Cloud SDK version details.",
+                        "Request all information available for this job.",
+                        "Request summary info and limited job description data for steps, labels and environment."
+                      ],
                       "location": "query",
                       "type": "string"
                     }
@@ -1095,7 +1145,7 @@
                   ]
                 },
                 "get": {
-                  "description": "Gets the state of the specified Cloud Dataflow job.\n\nTo get the state of a job, we recommend using `projects.locations.jobs.get`\nwith a [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using\n`projects.jobs.get` is not recommended, as you can only get the state of\njobs that are running in `us-central1`.",
+                  "description": "Gets the state of the specified Cloud Dataflow job. To get the state of a job, we recommend using `projects.locations.jobs.get` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.get` is not recommended, as you can only get the state of jobs that are running in `us-central1`.",
                   "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}",
                   "httpMethod": "GET",
                   "id": "dataflow.projects.locations.jobs.get",
@@ -1112,7 +1162,7 @@
                       "type": "string"
                     },
                     "location": {
-                      "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains this job.",
+                      "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains this job.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1131,6 +1181,12 @@
                         "JOB_VIEW_ALL",
                         "JOB_VIEW_DESCRIPTION"
                       ],
+                      "enumDescriptions": [
+                        "The job view to return isn't specified, or is unknown. Responses will contain at least the `JOB_VIEW_SUMMARY` information, and may contain additional information.",
+                        "Request summary information only: Project ID, Job ID, job name, job type, job status, start/end time, and Cloud SDK version details.",
+                        "Request all information available for this job.",
+                        "Request summary info and limited job description data for steps, labels and environment."
+                      ],
                       "location": "query",
                       "type": "string"
                     }
@@ -1146,8 +1202,49 @@
                     "https://www.googleapis.com/auth/userinfo.email"
                   ]
                 },
+                "getExecutionDetails": {
+                  "description": "Request detailed information about the execution status of the job. EXPERIMENTAL. This API is subject to change or removal without notice.",
+                  "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/executionDetails",
+                  "httpMethod": "GET",
+                  "id": "dataflow.projects.locations.jobs.getExecutionDetails",
+                  "parameterOrder": [
+                    "projectId",
+                    "location",
+                    "jobId"
+                  ],
+                  "parameters": {
+                    "jobId": {
+                      "description": "The job to get execution details for.",
+                      "location": "path",
+                      "required": true,
+                      "type": "string"
+                    },
+                    "location": {
+                      "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the job specified by job_id.",
+                      "location": "path",
+                      "required": true,
+                      "type": "string"
+                    },
+                    "projectId": {
+                      "description": "A project id.",
+                      "location": "path",
+                      "required": true,
+                      "type": "string"
+                    }
+                  },
+                  "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/executionDetails",
+                  "response": {
+                    "$ref": "JobExecutionDetails"
+                  },
+                  "scopes": [
+                    "https://www.googleapis.com/auth/cloud-platform",
+                    "https://www.googleapis.com/auth/compute",
+                    "https://www.googleapis.com/auth/compute.readonly",
+                    "https://www.googleapis.com/auth/userinfo.email"
+                  ]
+                },
                 "getMetrics": {
-                  "description": "Request the job status.\n\nTo request the status of a job, we recommend using\n`projects.locations.jobs.getMetrics` with a [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using\n`projects.jobs.getMetrics` is not recommended, as you can only request the\nstatus of jobs that are running in `us-central1`.",
+                  "description": "Request the job status. To request the status of a job, we recommend using `projects.locations.jobs.getMetrics` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.getMetrics` is not recommended, as you can only request the status of jobs that are running in `us-central1`.",
                   "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/metrics",
                   "httpMethod": "GET",
                   "id": "dataflow.projects.locations.jobs.getMetrics",
@@ -1158,13 +1255,13 @@
                   ],
                   "parameters": {
                     "jobId": {
-                      "description": "The job to get messages for.",
+                      "description": "The job to get metrics for.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "location": {
-                      "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains the job specified by job_id.",
+                      "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the job specified by job_id.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1176,7 +1273,7 @@
                       "type": "string"
                     },
                     "startTime": {
-                      "description": "Return only metric data that has changed since this time.\nDefault is to return all information about all metrics for the job.",
+                      "description": "Return only metric data that has changed since this time. Default is to return all information about all metrics for the job.",
                       "format": "google-datetime",
                       "location": "query",
                       "type": "string"
@@ -1194,7 +1291,7 @@
                   ]
                 },
                 "list": {
-                  "description": "List the jobs of a project.\n\nTo list the jobs of a project in a region, we recommend using\n`projects.locations.jobs.list` with a [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). To\nlist the all jobs across all regions, use `projects.jobs.aggregated`. Using\n`projects.jobs.list` is not recommended, as you can only get the list of\njobs that are running in `us-central1`.",
+                  "description": "List the jobs of a project. To list the jobs of a project in a region, we recommend using `projects.locations.jobs.list` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). To list the all jobs across all regions, use `projects.jobs.aggregated`. Using `projects.jobs.list` is not recommended, as you can only get the list of jobs that are running in `us-central1`.",
                   "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs",
                   "httpMethod": "GET",
                   "id": "dataflow.projects.locations.jobs.list",
@@ -1211,23 +1308,29 @@
                         "TERMINATED",
                         "ACTIVE"
                       ],
+                      "enumDescriptions": [
+                        "The filter isn't specified, or is unknown. This returns all jobs ordered on descending `JobUuid`.",
+                        "Returns all running jobs first ordered on creation timestamp, then returns all terminated jobs ordered on the termination timestamp.",
+                        "Filters the jobs that have a terminated state, ordered on the termination timestamp. Example terminated states: `JOB_STATE_STOPPED`, `JOB_STATE_UPDATED`, `JOB_STATE_DRAINED`, etc.",
+                        "Filters the jobs that are running ordered on the creation timestamp."
+                      ],
                       "location": "query",
                       "type": "string"
                     },
                     "location": {
-                      "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains this job.",
+                      "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains this job.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "pageSize": {
-                      "description": "If there are many jobs, limit response to at most this many.\nThe actual number of jobs returned will be the lesser of max_responses\nand an unspecified server-defined limit.",
+                      "description": "If there are many jobs, limit response to at most this many. The actual number of jobs returned will be the lesser of max_responses and an unspecified server-defined limit.",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "Set this to the 'next_page_token' field of a previous response\nto request additional results in a long list.",
+                      "description": "Set this to the 'next_page_token' field of a previous response to request additional results in a long list.",
                       "location": "query",
                       "type": "string"
                     },
@@ -1245,6 +1348,12 @@
                         "JOB_VIEW_ALL",
                         "JOB_VIEW_DESCRIPTION"
                       ],
+                      "enumDescriptions": [
+                        "The job view to return isn't specified, or is unknown. Responses will contain at least the `JOB_VIEW_SUMMARY` information, and may contain additional information.",
+                        "Request summary information only: Project ID, Job ID, job name, job type, job status, start/end time, and Cloud SDK version details.",
+                        "Request all information available for this job.",
+                        "Request summary info and limited job description data for steps, labels and environment."
+                      ],
                       "location": "query",
                       "type": "string"
                     }
@@ -1305,7 +1414,7 @@
                   ]
                 },
                 "update": {
-                  "description": "Updates the state of an existing Cloud Dataflow job.\n\nTo update the state of an existing job, we recommend using\n`projects.locations.jobs.update` with a [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using\n`projects.jobs.update` is not recommended, as you can only update the state\nof jobs that are running in `us-central1`.",
+                  "description": "Updates the state of an existing Cloud Dataflow job. To update the state of an existing job, we recommend using `projects.locations.jobs.update` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.update` is not recommended, as you can only update the state of jobs that are running in `us-central1`.",
                   "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}",
                   "httpMethod": "PUT",
                   "id": "dataflow.projects.locations.jobs.update",
@@ -1322,7 +1431,7 @@
                       "type": "string"
                     },
                     "location": {
-                      "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains this job.",
+                      "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains this job.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1370,7 +1479,7 @@
                           "type": "string"
                         },
                         "location": {
-                          "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains the job specified by job_id.",
+                          "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the job specified by job_id.",
                           "location": "path",
                           "required": true,
                           "type": "string"
@@ -1414,7 +1523,7 @@
                           "type": "string"
                         },
                         "location": {
-                          "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains the job specified by job_id.",
+                          "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the job specified by job_id.",
                           "location": "path",
                           "required": true,
                           "type": "string"
@@ -1445,7 +1554,7 @@
                 "messages": {
                   "methods": {
                     "list": {
-                      "description": "Request the job status.\n\nTo request the status of a job, we recommend using\n`projects.locations.jobs.messages.list` with a [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using\n`projects.jobs.messages.list` is not recommended, as you can only request\nthe status of jobs that are running in `us-central1`.",
+                      "description": "Request the job status. To request the status of a job, we recommend using `projects.locations.jobs.messages.list` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.messages.list` is not recommended, as you can only request the status of jobs that are running in `us-central1`.",
                       "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/messages",
                       "httpMethod": "GET",
                       "id": "dataflow.projects.locations.jobs.messages.list",
@@ -1456,7 +1565,7 @@
                       ],
                       "parameters": {
                         "endTime": {
-                          "description": "Return only messages with timestamps \u003c end_time. The default is now\n(i.e. return up to the latest messages available).",
+                          "description": "Return only messages with timestamps \u003c end_time. The default is now (i.e. return up to the latest messages available).",
                           "format": "google-datetime",
                           "location": "query",
                           "type": "string"
@@ -1468,7 +1577,7 @@
                           "type": "string"
                         },
                         "location": {
-                          "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains the job specified by job_id.",
+                          "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the job specified by job_id.",
                           "location": "path",
                           "required": true,
                           "type": "string"
@@ -1483,17 +1592,25 @@
                             "JOB_MESSAGE_WARNING",
                             "JOB_MESSAGE_ERROR"
                           ],
+                          "enumDescriptions": [
+                            "The message importance isn't specified, or is unknown.",
+                            "The message is at the 'debug' level: typically only useful for software engineers working on the code the job is running. Typically, Dataflow pipeline runners do not display log messages at this level by default.",
+                            "The message is at the 'detailed' level: somewhat verbose, but potentially useful to users. Typically, Dataflow pipeline runners do not display log messages at this level by default. These messages are displayed by default in the Dataflow monitoring UI.",
+                            "The message is at the 'basic' level: useful for keeping track of the execution of a Dataflow pipeline. Typically, Dataflow pipeline runners display log messages at this level by default, and these messages are displayed by default in the Dataflow monitoring UI.",
+                            "The message is at the 'warning' level: indicating a condition pertaining to a job which may require human intervention. Typically, Dataflow pipeline runners display log messages at this level by default, and these messages are displayed by default in the Dataflow monitoring UI.",
+                            "The message is at the 'error' level: indicating a condition preventing a job from succeeding. Typically, Dataflow pipeline runners display log messages at this level by default, and these messages are displayed by default in the Dataflow monitoring UI."
+                          ],
                           "location": "query",
                           "type": "string"
                         },
                         "pageSize": {
-                          "description": "If specified, determines the maximum number of messages to\nreturn.  If unspecified, the service may choose an appropriate\ndefault, or may return an arbitrarily large number of results.",
+                          "description": "If specified, determines the maximum number of messages to return. If unspecified, the service may choose an appropriate default, or may return an arbitrarily large number of results.",
                           "format": "int32",
                           "location": "query",
                           "type": "integer"
                         },
                         "pageToken": {
-                          "description": "If supplied, this should be the value of next_page_token returned\nby an earlier call. This will cause the next page of results to\nbe returned.",
+                          "description": "If supplied, this should be the value of next_page_token returned by an earlier call. This will cause the next page of results to be returned.",
                           "location": "query",
                           "type": "string"
                         },
@@ -1504,7 +1621,7 @@
                           "type": "string"
                         },
                         "startTime": {
-                          "description": "If specified, return only messages with timestamps \u003e= start_time.\nThe default is the job creation time (i.e. beginning of messages).",
+                          "description": "If specified, return only messages with timestamps \u003e= start_time. The default is the job creation time (i.e. beginning of messages).",
                           "format": "google-datetime",
                           "location": "query",
                           "type": "string"
@@ -1568,6 +1685,81 @@
                     }
                   }
                 },
+                "stages": {
+                  "methods": {
+                    "getExecutionDetails": {
+                      "description": "Request detailed information about the execution status of a stage of the job. EXPERIMENTAL. This API is subject to change or removal without notice.",
+                      "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/stages/{stageId}/executionDetails",
+                      "httpMethod": "GET",
+                      "id": "dataflow.projects.locations.jobs.stages.getExecutionDetails",
+                      "parameterOrder": [
+                        "projectId",
+                        "location",
+                        "jobId",
+                        "stageId"
+                      ],
+                      "parameters": {
+                        "endTime": {
+                          "description": "Upper time bound of work items to include, by start time.",
+                          "format": "google-datetime",
+                          "location": "query",
+                          "type": "string"
+                        },
+                        "jobId": {
+                          "description": "The job to get execution details for.",
+                          "location": "path",
+                          "required": true,
+                          "type": "string"
+                        },
+                        "location": {
+                          "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the job specified by job_id.",
+                          "location": "path",
+                          "required": true,
+                          "type": "string"
+                        },
+                        "pageSize": {
+                          "description": "If specified, determines the maximum number of work items to return. If unspecified, the service may choose an appropriate default, or may return an arbitrarily large number of results.",
+                          "format": "int32",
+                          "location": "query",
+                          "type": "integer"
+                        },
+                        "pageToken": {
+                          "description": "If supplied, this should be the value of next_page_token returned by an earlier call. This will cause the next page of results to be returned.",
+                          "location": "query",
+                          "type": "string"
+                        },
+                        "projectId": {
+                          "description": "A project id.",
+                          "location": "path",
+                          "required": true,
+                          "type": "string"
+                        },
+                        "stageId": {
+                          "description": "The stage for which to fetch information.",
+                          "location": "path",
+                          "required": true,
+                          "type": "string"
+                        },
+                        "startTime": {
+                          "description": "Lower time bound of work items to include, by start time.",
+                          "format": "google-datetime",
+                          "location": "query",
+                          "type": "string"
+                        }
+                      },
+                      "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/stages/{stageId}/executionDetails",
+                      "response": {
+                        "$ref": "StageExecutionDetails"
+                      },
+                      "scopes": [
+                        "https://www.googleapis.com/auth/cloud-platform",
+                        "https://www.googleapis.com/auth/compute",
+                        "https://www.googleapis.com/auth/compute.readonly",
+                        "https://www.googleapis.com/auth/userinfo.email"
+                      ]
+                    }
+                  }
+                },
                 "workItems": {
                   "methods": {
                     "lease": {
@@ -1588,7 +1780,7 @@
                           "type": "string"
                         },
                         "location": {
-                          "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains the WorkItem's job.",
+                          "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the WorkItem's job.",
                           "location": "path",
                           "required": true,
                           "type": "string"
@@ -1632,7 +1824,7 @@
                           "type": "string"
                         },
                         "location": {
-                          "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains the WorkItem's job.",
+                          "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the WorkItem's job.",
                           "location": "path",
                           "required": true,
                           "type": "string"
@@ -1790,7 +1982,7 @@
             "sql": {
               "methods": {
                 "validate": {
-                  "description": "Validates a GoogleSQL query for Cloud Dataflow syntax. Will always\nconfirm the given query parses correctly, and if able to look up\nschema information from DataCatalog, will validate that the query\nanalyzes properly as well.",
+                  "description": "Validates a GoogleSQL query for Cloud Dataflow syntax. Will always confirm the given query parses correctly, and if able to look up schema information from DataCatalog, will validate that the query analyzes properly as well.",
                   "flatPath": "v1b3/projects/{projectId}/locations/{location}/sql:validate",
                   "httpMethod": "GET",
                   "id": "dataflow.projects.locations.sql.validate",
@@ -1800,7 +1992,7 @@
                   ],
                   "parameters": {
                     "location": {
-                      "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to\nwhich to direct the request.",
+                      "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to which to direct the request.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1841,7 +2033,7 @@
                   ],
                   "parameters": {
                     "location": {
-                      "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to\nwhich to direct the request.",
+                      "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to which to direct the request.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1878,12 +2070,12 @@
                   ],
                   "parameters": {
                     "gcsPath": {
-                      "description": "Required. A Cloud Storage path to the template from which to\ncreate the job.\nMust be valid Cloud Storage URL, beginning with 'gs://'.",
+                      "description": "Required. A Cloud Storage path to the template from which to create the job. Must be valid Cloud Storage URL, beginning with 'gs://'.",
                       "location": "query",
                       "type": "string"
                     },
                     "location": {
-                      "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to\nwhich to direct the request.",
+                      "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to which to direct the request.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1899,6 +2091,9 @@
                       "enum": [
                         "METADATA_ONLY"
                       ],
+                      "enumDescriptions": [
+                        "Template view that retrieves only the metadata associated with the template."
+                      ],
                       "location": "query",
                       "type": "string"
                     }
@@ -1925,22 +2120,22 @@
                   ],
                   "parameters": {
                     "dynamicTemplate.gcsPath": {
-                      "description": "Path to dynamic template spec file on GCS.\nThe file must be a Json serialized DynamicTemplateFieSpec object.",
+                      "description": "Path to dynamic template spec file on GCS. The file must be a Json serialized DynamicTemplateFieSpec object.",
                       "location": "query",
                       "type": "string"
                     },
                     "dynamicTemplate.stagingLocation": {
-                      "description": "Cloud Storage path for staging dependencies.\nMust be a valid Cloud Storage URL, beginning with `gs://`.",
+                      "description": "Cloud Storage path for staging dependencies. Must be a valid Cloud Storage URL, beginning with `gs://`.",
                       "location": "query",
                       "type": "string"
                     },
                     "gcsPath": {
-                      "description": "A Cloud Storage path to the template from which to create\nthe job.\nMust be valid Cloud Storage URL, beginning with 'gs://'.",
+                      "description": "A Cloud Storage path to the template from which to create the job. Must be valid Cloud Storage URL, beginning with 'gs://'.",
                       "location": "query",
                       "type": "string"
                     },
                     "location": {
-                      "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to\nwhich to direct the request.",
+                      "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to which to direct the request.",
                       "location": "path",
                       "required": true,
                       "type": "string"
@@ -1952,7 +2147,7 @@
                       "type": "string"
                     },
                     "validateOnly": {
-                      "description": "If true, the request is validated but not actually executed.\nDefaults to false.",
+                      "description": "If true, the request is validated but not actually executed. Defaults to false.",
                       "location": "query",
                       "type": "boolean"
                     }
@@ -2058,7 +2253,7 @@
         "templateVersions": {
           "methods": {
             "list": {
-              "description": "List TemplateVersions using project_id and an optional display_name field.\nList all the TemplateVersions in the Template if display set.\nList all the TemplateVersions in the Project if display_name not set.",
+              "description": "List TemplateVersions using project_id and an optional display_name field. List all the TemplateVersions in the Template if display set. List all the TemplateVersions in the Project if display_name not set.",
               "flatPath": "v1b3/projects/{projectsId}/templateVersions",
               "httpMethod": "GET",
               "id": "dataflow.projects.templateVersions.list",
@@ -2073,12 +2268,12 @@
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "The page token, received from a previous ListTemplateVersions call.\nProvide this to retrieve the subsequent page.",
+                  "description": "The page token, received from a previous ListTemplateVersions call. Provide this to retrieve the subsequent page.",
                   "location": "query",
                   "type": "string"
                 },
                 "parent": {
-                  "description": "parent includes project_id, and display_name is optional.\n\nList by project_id(pid1) and display_name(tid1).\n  Format: projects/{pid1}/catalogTemplates/{tid1}\n\nList by project_id(pid1).\n  Format: projects/{pid1}",
+                  "description": "parent includes project_id, and display_name is optional. List by project_id(pid1) and display_name(tid1). Format: projects/{pid1}/catalogTemplates/{tid1} List by project_id(pid1). Format: projects/{pid1}",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
@@ -2138,12 +2333,12 @@
               ],
               "parameters": {
                 "gcsPath": {
-                  "description": "Required. A Cloud Storage path to the template from which to\ncreate the job.\nMust be valid Cloud Storage URL, beginning with 'gs://'.",
+                  "description": "Required. A Cloud Storage path to the template from which to create the job. Must be valid Cloud Storage URL, beginning with 'gs://'.",
                   "location": "query",
                   "type": "string"
                 },
                 "location": {
-                  "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to\nwhich to direct the request.",
+                  "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to which to direct the request.",
                   "location": "query",
                   "type": "string"
                 },
@@ -2158,6 +2353,9 @@
                   "enum": [
                     "METADATA_ONLY"
                   ],
+                  "enumDescriptions": [
+                    "Template view that retrieves only the metadata associated with the template."
+                  ],
                   "location": "query",
                   "type": "string"
                 }
@@ -2183,22 +2381,22 @@
               ],
               "parameters": {
                 "dynamicTemplate.gcsPath": {
-                  "description": "Path to dynamic template spec file on GCS.\nThe file must be a Json serialized DynamicTemplateFieSpec object.",
+                  "description": "Path to dynamic template spec file on GCS. The file must be a Json serialized DynamicTemplateFieSpec object.",
                   "location": "query",
                   "type": "string"
                 },
                 "dynamicTemplate.stagingLocation": {
-                  "description": "Cloud Storage path for staging dependencies.\nMust be a valid Cloud Storage URL, beginning with `gs://`.",
+                  "description": "Cloud Storage path for staging dependencies. Must be a valid Cloud Storage URL, beginning with `gs://`.",
                   "location": "query",
                   "type": "string"
                 },
                 "gcsPath": {
-                  "description": "A Cloud Storage path to the template from which to create\nthe job.\nMust be valid Cloud Storage URL, beginning with 'gs://'.",
+                  "description": "A Cloud Storage path to the template from which to create the job. Must be valid Cloud Storage URL, beginning with 'gs://'.",
                   "location": "query",
                   "type": "string"
                 },
                 "location": {
-                  "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to\nwhich to direct the request.",
+                  "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to which to direct the request.",
                   "location": "query",
                   "type": "string"
                 },
@@ -2209,7 +2407,7 @@
                   "type": "string"
                 },
                 "validateOnly": {
-                  "description": "If true, the request is validated but not actually executed.\nDefaults to false.",
+                  "description": "If true, the request is validated but not actually executed. Defaults to false.",
                   "location": "query",
                   "type": "boolean"
                 }
@@ -2233,7 +2431,7 @@
       }
     }
   },
-  "revision": "20200713",
+  "revision": "20200805",
   "rootUrl": "https://dataflow.googleapis.com/",
   "schemas": {
     "ApproximateProgress": {
@@ -2263,10 +2461,10 @@
       "properties": {
         "consumedParallelism": {
           "$ref": "ReportedParallelism",
-          "description": "Total amount of parallelism in the portion of input of this task that has\nalready been consumed and is no longer active. In the first two examples\nabove (see remaining_parallelism), the value should be 29 or 2\nrespectively.  The sum of remaining_parallelism and consumed_parallelism\nshould equal the total amount of parallelism in this work item.  If\nspecified, must be finite."
+          "description": "Total amount of parallelism in the portion of input of this task that has already been consumed and is no longer active. In the first two examples above (see remaining_parallelism), the value should be 29 or 2 respectively. The sum of remaining_parallelism and consumed_parallelism should equal the total amount of parallelism in this work item. If specified, must be finite."
         },
         "fractionConsumed": {
-          "description": "Completion as fraction of the input consumed, from 0.0 (beginning, nothing\nconsumed), to 1.0 (end of the input, entire input consumed).",
+          "description": "Completion as fraction of the input consumed, from 0.0 (beginning, nothing consumed), to 1.0 (end of the input, entire input consumed).",
           "format": "double",
           "type": "number"
         },
@@ -2276,7 +2474,7 @@
         },
         "remainingParallelism": {
           "$ref": "ReportedParallelism",
-          "description": "Total amount of parallelism in the input of this task that remains,\n(i.e. can be delegated to this task and any new tasks via dynamic\nsplitting). Always at least 1 for non-finished work items and 0 for\nfinished.\n\n\"Amount of parallelism\" refers to how many non-empty parts of the input\ncan be read in parallel. This does not necessarily equal number\nof records. An input that can be read in parallel down to the\nindividual records is called \"perfectly splittable\".\nAn example of non-perfectly parallelizable input is a block-compressed\nfile format where a block of records has to be read as a whole,\nbut different blocks can be read in parallel.\n\nExamples:\n* If we are processing record #30 (starting at 1) out of 50 in a perfectly\n  splittable 50-record input, this value should be 21 (20 remaining + 1\n  current).\n* If we are reading through block 3 in a block-compressed file consisting\n  of 5 blocks, this value should be 3 (since blocks 4 and 5 can be\n  processed in parallel by new tasks via dynamic splitting and the current\n  task remains processing block 3).\n* If we are reading through the last block in a block-compressed file,\n  or reading or processing the last record in a perfectly splittable\n  input, this value should be 1, because apart from the current task, no\n  additional remainder can be split off."
+          "description": "Total amount of parallelism in the input of this task that remains, (i.e. can be delegated to this task and any new tasks via dynamic splitting). Always at least 1 for non-finished work items and 0 for finished. \"Amount of parallelism\" refers to how many non-empty parts of the input can be read in parallel. This does not necessarily equal number of records. An input that can be read in parallel down to the individual records is called \"perfectly splittable\". An example of non-perfectly parallelizable input is a block-compressed file format where a block of records has to be read as a whole, but different blocks can be read in parallel. Examples: * If we are processing record #30 (starting at 1) out of 50 in a perfectly splittable 50-record input, this value should be 21 (20 remaining + 1 current). * If we are reading through block 3 in a block-compressed file consisting of 5 blocks, this value should be 3 (since blocks 4 and 5 can be processed in parallel by new tasks via dynamic splitting and the current task remains processing block 3). * If we are reading through the last block in a block-compressed file, or reading or processing the last record in a perfectly splittable input, this value should be 1, because apart from the current task, no additional remainder can be split off."
         }
       },
       "type": "object"
@@ -2286,12 +2484,12 @@
       "id": "ApproximateSplitRequest",
       "properties": {
         "fractionConsumed": {
-          "description": "A fraction at which to split the work item, from 0.0 (beginning of the\ninput) to 1.0 (end of the input).",
+          "description": "A fraction at which to split the work item, from 0.0 (beginning of the input) to 1.0 (end of the input).",
           "format": "double",
           "type": "number"
         },
         "fractionOfRemainder": {
-          "description": "The fraction of the remainder of work to split the work item at, from 0.0\n(split at the current position) to 1.0 (end of the input).",
+          "description": "The fraction of the remainder of work to split the work item at, from 0.0 (split at the current position) to 1.0 (end of the input).",
           "format": "double",
           "type": "number"
         },
@@ -2322,7 +2520,7 @@
       "type": "object"
     },
     "AutoscalingEvent": {
-      "description": "A structured message reporting an autoscaling decision made by the Dataflow\nservice.",
+      "description": "A structured message reporting an autoscaling decision made by the Dataflow service.",
       "id": "AutoscalingEvent",
       "properties": {
         "currentNumWorkers": {
@@ -2332,7 +2530,7 @@
         },
         "description": {
           "$ref": "StructuredMessage",
-          "description": "A message describing why the system decided to adjust the current\nnumber of workers, why it failed, or why the system decided to\nnot make any changes to the number of workers."
+          "description": "A message describing why the system decided to adjust the current number of workers, why it failed, or why the system decided to not make any changes to the number of workers."
         },
         "eventType": {
           "description": "The type of autoscaling event to report.",
@@ -2344,11 +2542,11 @@
             "NO_CHANGE"
           ],
           "enumDescriptions": [
-            "Default type for the enum.  Value should never be returned.",
-            "The TARGET_NUM_WORKERS_CHANGED type should be used when the target\nworker pool size has changed at the start of an actuation. An event\nshould always be specified as TARGET_NUM_WORKERS_CHANGED if it reflects\na change in the target_num_workers.",
-            "The CURRENT_NUM_WORKERS_CHANGED type should be used when actual worker\npool size has been changed, but the target_num_workers has not changed.",
-            "The ACTUATION_FAILURE type should be used when we want to report\nan error to the user indicating why the current number of workers\nin the pool could not be changed.\nDisplayed in the current status and history widgets.",
-            "Used when we want to report to the user a reason why we are\nnot currently adjusting the number of workers.\nShould specify both target_num_workers, current_num_workers and a\ndecision_message."
+            "Default type for the enum. Value should never be returned.",
+            "The TARGET_NUM_WORKERS_CHANGED type should be used when the target worker pool size has changed at the start of an actuation. An event should always be specified as TARGET_NUM_WORKERS_CHANGED if it reflects a change in the target_num_workers.",
+            "The CURRENT_NUM_WORKERS_CHANGED type should be used when actual worker pool size has been changed, but the target_num_workers has not changed.",
+            "The ACTUATION_FAILURE type should be used when we want to report an error to the user indicating why the current number of workers in the pool could not be changed. Displayed in the current status and history widgets.",
+            "Used when we want to report to the user a reason why we are not currently adjusting the number of workers. Should specify both target_num_workers, current_num_workers and a decision_message."
           ],
           "type": "string"
         },
@@ -2358,12 +2556,12 @@
           "type": "string"
         },
         "time": {
-          "description": "The time this event was emitted to indicate a new target or current\nnum_workers value.",
+          "description": "The time this event was emitted to indicate a new target or current num_workers value.",
           "format": "google-datetime",
           "type": "string"
         },
         "workerPool": {
-          "description": "A short and friendly name for the worker pool this event refers to,\npopulated from the value of PoolStageRelation::user_pool_name.",
+          "description": "A short and friendly name for the worker pool this event refers to, populated from the value of PoolStageRelation::user_pool_name.",
           "type": "string"
         }
       },
@@ -2442,7 +2640,7 @@
       "id": "CPUTime",
       "properties": {
         "rate": {
-          "description": "Average CPU utilization rate (% non-idle cpu / second) since previous\nsample.",
+          "description": "Average CPU utilization rate (% non-idle cpu / second) since previous sample.",
           "format": "double",
           "type": "number"
         },
@@ -2452,7 +2650,7 @@
           "type": "string"
         },
         "totalMs": {
-          "description": "Total active CPU time across all cores (ie., non-idle) in milliseconds\nsince start-up.",
+          "description": "Total active CPU time across all cores (ie., non-idle) in milliseconds since start-up.",
           "format": "uint64",
           "type": "string"
         }
@@ -2471,7 +2669,7 @@
       "type": "object"
     },
     "ComponentSource": {
-      "description": "Description of an interstitial value between transforms in an execution\nstage.",
+      "description": "Description of an interstitial value between transforms in an execution stage.",
       "id": "ComponentSource",
       "properties": {
         "name": {
@@ -2479,7 +2677,7 @@
           "type": "string"
         },
         "originalTransformOrCollection": {
-          "description": "User name for the original user transform or collection with which this\nsource is most closely associated.",
+          "description": "User name for the original user transform or collection with which this source is most closely associated.",
           "type": "string"
         },
         "userName": {
@@ -2498,7 +2696,7 @@
           "type": "string"
         },
         "originalTransform": {
-          "description": "User name for the original user transform with which this transform is\nmost closely associated.",
+          "description": "User name for the original user transform with which this transform is most closely associated.",
           "type": "string"
         },
         "userName": {
@@ -2552,7 +2750,7 @@
       "type": "object"
     },
     "ConcatPosition": {
-      "description": "A position that encapsulates an inner position and an index for the inner\nposition. A ConcatPosition can be used by a reader of a source that\nencapsulates a set of other sources.",
+      "description": "A position that encapsulates an inner position and an index for the inner position. A ConcatPosition can be used by a reader of a source that encapsulates a set of other sources.",
       "id": "ConcatPosition",
       "properties": {
         "index": {
@@ -2654,7 +2852,7 @@
       "type": "object"
     },
     "CounterStructuredName": {
-      "description": "Identifies a counter within a per-job namespace. Counters whose structured\nnames are the same get merged into a single value for the job.",
+      "description": "Identifies a counter within a per-job namespace. Counters whose structured names are the same get merged into a single value for the job.",
       "id": "CounterStructuredName",
       "properties": {
         "componentStepName": {
@@ -2666,12 +2864,12 @@
           "type": "string"
         },
         "inputIndex": {
-          "description": "Index of an input collection that's being read from/written to as a side\ninput.\nThe index identifies a step's side inputs starting by 1 (e.g. the first\nside input has input_index 1, the third has input_index 3).\nSide inputs are identified by a pair of (original_step_name, input_index).\nThis field helps uniquely identify them.",
+          "description": "Index of an input collection that's being read from/written to as a side input. The index identifies a step's side inputs starting by 1 (e.g. the first side input has input_index 1, the third has input_index 3). Side inputs are identified by a pair of (original_step_name, input_index). This field helps uniquely identify them.",
           "format": "int32",
           "type": "integer"
         },
         "name": {
-          "description": "Counter name. Not necessarily globally-unique, but unique within the\ncontext of the other fields.\nRequired.",
+          "description": "Counter name. Not necessarily globally-unique, but unique within the context of the other fields. Required.",
           "type": "string"
         },
         "origin": {
@@ -2691,11 +2889,11 @@
           "type": "string"
         },
         "originalRequestingStepName": {
-          "description": "The step name requesting an operation, such as GBK.\nI.e. the ParDo causing a read/write from shuffle to occur, or a\nread from side inputs.",
+          "description": "The step name requesting an operation, such as GBK. I.e. the ParDo causing a read/write from shuffle to occur, or a read from side inputs.",
           "type": "string"
         },
         "originalStepName": {
-          "description": "System generated name of the original step in the user's graph, before\noptimization.",
+          "description": "System generated name of the original step in the user's graph, before optimization.",
           "type": "string"
         },
         "portion": {
@@ -2720,7 +2918,7 @@
       "type": "object"
     },
     "CounterStructuredNameAndMetadata": {
-      "description": "A single message which encapsulates structured name and metadata for a given\ncounter.",
+      "description": "A single message which encapsulates structured name and metadata for a given counter.",
       "id": "CounterStructuredNameAndMetadata",
       "properties": {
         "metadata": {
@@ -2743,7 +2941,7 @@
           "type": "boolean"
         },
         "cumulative": {
-          "description": "True if this counter is reported as the total cumulative aggregate\nvalue accumulated since the worker started working on this WorkItem.\nBy default this is false, indicating that this counter is reported\nas a delta.",
+          "description": "True if this counter is reported as the total cumulative aggregate value accumulated since the worker started working on this WorkItem. By default this is false, indicating that this counter is reported as a delta.",
           "type": "boolean"
         },
         "distribution": {
@@ -2788,7 +2986,7 @@
           "description": "Counter name and aggregation type."
         },
         "shortId": {
-          "description": "The service-generated short identifier for this counter.\nThe short_id -\u003e (name, metadata) mapping is constant for the lifetime of\na job.",
+          "description": "The service-generated short identifier for this counter. The short_id -\u003e (name, metadata) mapping is constant for the lifetime of a job.",
           "format": "int64",
           "type": "string"
         },
@@ -2812,7 +3010,7 @@
           "description": "The runtime environment for the job."
         },
         "gcsPath": {
-          "description": "Required. A Cloud Storage path to the template from which to\ncreate the job.\nMust be a valid Cloud Storage URL, beginning with `gs://`.",
+          "description": "Required. A Cloud Storage path to the template from which to create the job. Must be a valid Cloud Storage URL, beginning with `gs://`.",
           "type": "string"
         },
         "jobName": {
@@ -2820,7 +3018,7 @@
           "type": "string"
         },
         "location": {
-          "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to\nwhich to direct the request.",
+          "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to which to direct the request.",
           "type": "string"
         },
         "parameters": {
@@ -2860,14 +3058,14 @@
       "id": "DataDiskAssignment",
       "properties": {
         "dataDisks": {
-          "description": "Mounted data disks. The order is important a data disk's 0-based index in\nthis list defines which persistent directory the disk is mounted to, for\nexample the list of { \"myproject-1014-104817-4c2-harness-0-disk-0\" },\n{ \"myproject-1014-104817-4c2-harness-0-disk-1\" }.",
+          "description": "Mounted data disks. The order is important a data disk's 0-based index in this list defines which persistent directory the disk is mounted to, for example the list of { \"myproject-1014-104817-4c2-harness-0-disk-0\" }, { \"myproject-1014-104817-4c2-harness-0-disk-1\" }.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "vmInstance": {
-          "description": "VM instance name the data disks mounted to, for example\n\"myproject-1014-104817-4c2-harness-0\".",
+          "description": "VM instance name the data disks mounted to, for example \"myproject-1014-104817-4c2-harness-0\".",
           "type": "string"
         }
       },
@@ -2895,7 +3093,7 @@
       "type": "object"
     },
     "DerivedSource": {
-      "description": "Specification of one of the bundles produced as a result of splitting\na Source (e.g. when executing a SourceSplitRequest, or when\nsplitting an active task using WorkItemStatus.dynamic_source_split),\nrelative to the source being split.",
+      "description": "Specification of one of the bundles produced as a result of splitting a Source (e.g. when executing a SourceSplitRequest, or when splitting an active task using WorkItemStatus.dynamic_source_split), relative to the source being split.",
       "id": "DerivedSource",
       "properties": {
         "derivationMode": {
@@ -2926,7 +3124,7 @@
       "id": "Disk",
       "properties": {
         "diskType": {
-          "description": "Disk storage type, as defined by Google Compute Engine.  This\nmust be a disk type appropriate to the project and zone in which\nthe workers will run.  If unknown or unspecified, the service\nwill attempt to choose a reasonable default.\n\nFor example, the standard persistent disk type is a resource name\ntypically ending in \"pd-standard\".  If SSD persistent disks are\navailable, the resource name typically ends with \"pd-ssd\".  The\nactual valid values are defined the Google Compute Engine API,\nnot by the Cloud Dataflow API; consult the Google Compute Engine\ndocumentation for more information about determining the set of\navailable disk types for a particular project and zone.\n\nGoogle Compute Engine Disk types are local to a particular\nproject in a particular zone, and so the resource name will\ntypically look something like this:\n\ncompute.googleapis.com/projects/project-id/zones/zone/diskTypes/pd-standard",
+          "description": "Disk storage type, as defined by Google Compute Engine. This must be a disk type appropriate to the project and zone in which the workers will run. If unknown or unspecified, the service will attempt to choose a reasonable default. For example, the standard persistent disk type is a resource name typically ending in \"pd-standard\". If SSD persistent disks are available, the resource name typically ends with \"pd-ssd\". The actual valid values are defined the Google Compute Engine API, not by the Cloud Dataflow API; consult the Google Compute Engine documentation for more information about determining the set of available disk types for a particular project and zone. Google Compute Engine Disk types are local to a particular project in a particular zone, and so the resource name will typically look something like this: compute.googleapis.com/projects/project-id/zones/zone/diskTypes/pd-standard",
           "type": "string"
         },
         "mountPoint": {
@@ -2934,7 +3132,7 @@
           "type": "string"
         },
         "sizeGb": {
-          "description": "Size of disk in GB.  If zero or unspecified, the service will\nattempt to choose a reasonable default.",
+          "description": "Size of disk in GB. If zero or unspecified, the service will attempt to choose a reasonable default.",
           "format": "int32",
           "type": "integer"
         }
@@ -2969,7 +3167,7 @@
           "type": "string"
         },
         "key": {
-          "description": "The key identifying the display data.\nThis is intended to be used as a label for the display data\nwhen viewed in a dax monitoring system.",
+          "description": "The key identifying the display data. This is intended to be used as a label for the display data when viewed in a dax monitoring system.",
           "type": "string"
         },
         "label": {
@@ -2977,11 +3175,11 @@
           "type": "string"
         },
         "namespace": {
-          "description": "The namespace for the key. This is usually a class name or programming\nlanguage namespace (i.e. python module) which defines the display data.\nThis allows a dax monitoring system to specially handle the data\nand perform custom rendering.",
+          "description": "The namespace for the key. This is usually a class name or programming language namespace (i.e. python module) which defines the display data. This allows a dax monitoring system to specially handle the data and perform custom rendering.",
           "type": "string"
         },
         "shortStrValue": {
-          "description": "A possible additional shorter value to display.\nFor example a java_class_name_value of com.mypackage.MyDoFn\nwill be stored with MyDoFn as the short_str_value and\ncom.mypackage.MyDoFn as the java_class_name value.\nshort_str_value can be displayed and java_class_name_value\nwill be displayed as a tooltip.",
+          "description": "A possible additional shorter value to display. For example a java_class_name_value of com.mypackage.MyDoFn will be stored with MyDoFn as the short_str_value and com.mypackage.MyDoFn as the java_class_name value. short_str_value can be displayed and java_class_name_value will be displayed as a tooltip.",
           "type": "string"
         },
         "strValue": {
@@ -3022,7 +3220,7 @@
         },
         "sum": {
           "$ref": "SplitInt64",
-          "description": "Use an int64 since we'd prefer the added precision. If overflow is a common\nproblem we can detect it and use an additional int64 or a double."
+          "description": "Use an int64 since we'd prefer the added precision. If overflow is a common problem we can detect it and use an additional int64 or a double."
         },
         "sumOfSquares": {
           "description": "Use a double since the sum of squares is likely to overflow int64.",
@@ -3033,22 +3231,22 @@
       "type": "object"
     },
     "DynamicSourceSplit": {
-      "description": "When a task splits using WorkItemStatus.dynamic_source_split, this\nmessage describes the two parts of the split relative to the\ndescription of the current task's input.",
+      "description": "When a task splits using WorkItemStatus.dynamic_source_split, this message describes the two parts of the split relative to the description of the current task's input.",
       "id": "DynamicSourceSplit",
       "properties": {
         "primary": {
           "$ref": "DerivedSource",
-          "description": "Primary part (continued to be processed by worker).\nSpecified relative to the previously-current source.\nBecomes current."
+          "description": "Primary part (continued to be processed by worker). Specified relative to the previously-current source. Becomes current."
         },
         "residual": {
           "$ref": "DerivedSource",
-          "description": "Residual part (returned to the pool of work).\nSpecified relative to the previously-current source."
+          "description": "Residual part (returned to the pool of work). Specified relative to the previously-current source."
         }
       },
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
@@ -3058,11 +3256,11 @@
       "id": "Environment",
       "properties": {
         "clusterManagerApiService": {
-          "description": "The type of cluster manager API to use.  If unknown or\nunspecified, the service will attempt to choose a reasonable\ndefault.  This should be in the form of the API service name,\ne.g. \"compute.googleapis.com\".",
+          "description": "The type of cluster manager API to use. If unknown or unspecified, the service will attempt to choose a reasonable default. This should be in the form of the API service name, e.g. \"compute.googleapis.com\".",
           "type": "string"
         },
         "dataset": {
-          "description": "The dataset for the current project where various workflow\nrelated tables are stored.\n\nThe supported resource type is:\n\nGoogle BigQuery:\n  bigquery.googleapis.com/{dataset}",
+          "description": "The dataset for the current project where various workflow related tables are stored. The supported resource type is: Google BigQuery: bigquery.googleapis.com/{dataset}",
           "type": "string"
         },
         "experiments": {
@@ -3099,7 +3297,7 @@
             "description": "Properties of the object.",
             "type": "any"
           },
-          "description": "The Cloud Dataflow SDK pipeline options specified by the user. These\noptions are passed through the service and are used to recreate the\nSDK pipeline options on the worker in a language agnostic and platform\nindependent way.",
+          "description": "The Cloud Dataflow SDK pipeline options specified by the user. These options are passed through the service and are used to recreate the SDK pipeline options on the worker in a language agnostic and platform independent way.",
           "type": "object"
         },
         "serviceAccountEmail": {
@@ -3107,11 +3305,11 @@
           "type": "string"
         },
         "serviceKmsKeyName": {
-          "description": "If set, contains the Cloud KMS key identifier used to encrypt data\nat rest, AKA a Customer Managed Encryption Key (CMEK).\n\nFormat:\n  projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY",
+          "description": "If set, contains the Cloud KMS key identifier used to encrypt data at rest, AKA a Customer Managed Encryption Key (CMEK). Format: projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY",
           "type": "string"
         },
         "tempStoragePrefix": {
-          "description": "The prefix of the resources the system should use for temporary\nstorage.  The system will append the suffix \"/temp-{JOBNAME} to\nthis resource prefix, where {JOBNAME} is the value of the\njob_name field.  The resulting bucket and object prefix is used\nas the prefix of the resources used to store temporary data\nneeded during the job execution.  NOTE: This will override the\nvalue in taskrunner_settings.\nThe supported resource type is:\n\nGoogle Cloud Storage:\n\n  storage.googleapis.com/{bucket}/{object}\n  bucket.storage.googleapis.com/{object}",
+          "description": "The prefix of the resources the system should use for temporary storage. The system will append the suffix \"/temp-{JOBNAME} to this resource prefix, where {JOBNAME} is the value of the job_name field. The resulting bucket and object prefix is used as the prefix of the resources used to store temporary data needed during the job execution. NOTE: This will override the value in taskrunner_settings. The supported resource type is: Google Cloud Storage: storage.googleapis.com/{bucket}/{object} bucket.storage.googleapis.com/{object}",
           "type": "string"
         },
         "userAgent": {
@@ -3127,22 +3325,22 @@
             "description": "Properties of the object.",
             "type": "any"
           },
-          "description": "A structure describing which components and their versions of the service\nare required in order to run the job.",
+          "description": "A structure describing which components and their versions of the service are required in order to run the job.",
           "type": "object"
         },
         "workerPools": {
-          "description": "The worker pools. At least one \"harness\" worker pool must be\nspecified in order for the job to have workers.",
+          "description": "The worker pools. At least one \"harness\" worker pool must be specified in order for the job to have workers.",
           "items": {
             "$ref": "WorkerPool"
           },
           "type": "array"
         },
         "workerRegion": {
-          "description": "The Compute Engine region\n(https://cloud.google.com/compute/docs/regions-zones/regions-zones) in\nwhich worker processing should occur, e.g. \"us-west1\". Mutually exclusive\nwith worker_zone. If neither worker_region nor worker_zone is specified,\ndefault to the control plane's region.",
+          "description": "The Compute Engine region (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. \"us-west1\". Mutually exclusive with worker_zone. If neither worker_region nor worker_zone is specified, default to the control plane's region.",
           "type": "string"
         },
         "workerZone": {
-          "description": "The Compute Engine zone\n(https://cloud.google.com/compute/docs/regions-zones/regions-zones) in\nwhich worker processing should occur, e.g. \"us-west1-a\". Mutually exclusive\nwith worker_region. If neither worker_region nor worker_zone is specified,\na zone in the control plane's region is chosen based on available capacity.",
+          "description": "The Compute Engine zone (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. \"us-west1-a\". Mutually exclusive with worker_region. If neither worker_region nor worker_zone is specified, a zone in the control plane's region is chosen based on available capacity.",
           "type": "string"
         }
       },
@@ -3179,17 +3377,17 @@
           ],
           "enumDescriptions": [
             "The job's run state isn't specified.",
-            "`JOB_STATE_STOPPED` indicates that the job has not\nyet started to run.",
+            "`JOB_STATE_STOPPED` indicates that the job has not yet started to run.",
             "`JOB_STATE_RUNNING` indicates that the job is currently running.",
-            "`JOB_STATE_DONE` indicates that the job has successfully completed.\nThis is a terminal job state.  This state may be set by the Cloud Dataflow\nservice, as a transition from `JOB_STATE_RUNNING`. It may also be set via a\nCloud Dataflow `UpdateJob` call, if the job has not yet reached a terminal\nstate.",
-            "`JOB_STATE_FAILED` indicates that the job has failed.  This is a\nterminal job state.  This state may only be set by the Cloud Dataflow\nservice, and only as a transition from `JOB_STATE_RUNNING`.",
-            "`JOB_STATE_CANCELLED` indicates that the job has been explicitly\ncancelled. This is a terminal job state. This state may only be\nset via a Cloud Dataflow `UpdateJob` call, and only if the job has not\nyet reached another terminal state.",
-            "`JOB_STATE_UPDATED` indicates that the job was successfully updated,\nmeaning that this job was stopped and another job was started, inheriting\nstate from this one. This is a terminal job state. This state may only be\nset by the Cloud Dataflow service, and only as a transition from\n`JOB_STATE_RUNNING`.",
-            "`JOB_STATE_DRAINING` indicates that the job is in the process of draining.\nA draining job has stopped pulling from its input sources and is processing\nany data that remains in-flight. This state may be set via a Cloud Dataflow\n`UpdateJob` call, but only as a transition from `JOB_STATE_RUNNING`. Jobs\nthat are draining may only transition to `JOB_STATE_DRAINED`,\n`JOB_STATE_CANCELLED`, or `JOB_STATE_FAILED`.",
-            "`JOB_STATE_DRAINED` indicates that the job has been drained.\nA drained job terminated by stopping pulling from its input sources and\nprocessing any data that remained in-flight when draining was requested.\nThis state is a terminal state, may only be set by the Cloud Dataflow\nservice, and only as a transition from `JOB_STATE_DRAINING`.",
-            "`JOB_STATE_PENDING` indicates that the job has been created but is not yet\nrunning.  Jobs that are pending may only transition to `JOB_STATE_RUNNING`,\nor `JOB_STATE_FAILED`.",
-            "`JOB_STATE_CANCELLING` indicates that the job has been explicitly cancelled\nand is in the process of stopping.  Jobs that are cancelling may only\ntransition to `JOB_STATE_CANCELLED` or `JOB_STATE_FAILED`.",
-            "`JOB_STATE_QUEUED` indicates that the job has been created but is being\ndelayed until launch. Jobs that are queued may only transition to\n`JOB_STATE_PENDING` or `JOB_STATE_CANCELLED`."
+            "`JOB_STATE_DONE` indicates that the job has successfully completed. This is a terminal job state. This state may be set by the Cloud Dataflow service, as a transition from `JOB_STATE_RUNNING`. It may also be set via a Cloud Dataflow `UpdateJob` call, if the job has not yet reached a terminal state.",
+            "`JOB_STATE_FAILED` indicates that the job has failed. This is a terminal job state. This state may only be set by the Cloud Dataflow service, and only as a transition from `JOB_STATE_RUNNING`.",
+            "`JOB_STATE_CANCELLED` indicates that the job has been explicitly cancelled. This is a terminal job state. This state may only be set via a Cloud Dataflow `UpdateJob` call, and only if the job has not yet reached another terminal state.",
+            "`JOB_STATE_UPDATED` indicates that the job was successfully updated, meaning that this job was stopped and another job was started, inheriting state from this one. This is a terminal job state. This state may only be set by the Cloud Dataflow service, and only as a transition from `JOB_STATE_RUNNING`.",
+            "`JOB_STATE_DRAINING` indicates that the job is in the process of draining. A draining job has stopped pulling from its input sources and is processing any data that remains in-flight. This state may be set via a Cloud Dataflow `UpdateJob` call, but only as a transition from `JOB_STATE_RUNNING`. Jobs that are draining may only transition to `JOB_STATE_DRAINED`, `JOB_STATE_CANCELLED`, or `JOB_STATE_FAILED`.",
+            "`JOB_STATE_DRAINED` indicates that the job has been drained. A drained job terminated by stopping pulling from its input sources and processing any data that remained in-flight when draining was requested. This state is a terminal state, may only be set by the Cloud Dataflow service, and only as a transition from `JOB_STATE_DRAINING`.",
+            "`JOB_STATE_PENDING` indicates that the job has been created but is not yet running. Jobs that are pending may only transition to `JOB_STATE_RUNNING`, or `JOB_STATE_FAILED`.",
+            "`JOB_STATE_CANCELLING` indicates that the job has been explicitly cancelled and is in the process of stopping. Jobs that are cancelling may only transition to `JOB_STATE_CANCELLED` or `JOB_STATE_FAILED`.",
+            "`JOB_STATE_QUEUED` indicates that the job has been created but is being delayed until launch. Jobs that are queued may only transition to `JOB_STATE_PENDING` or `JOB_STATE_CANCELLED`."
           ],
           "type": "string"
         }
@@ -3197,7 +3395,7 @@
       "type": "object"
     },
     "ExecutionStageSummary": {
-      "description": "Description of the composing transforms, names/ids, and input/outputs of a\nstage of execution.  Some composing transforms and sources may have been\ngenerated by the Dataflow service during execution planning.",
+      "description": "Description of the composing transforms, names/ids, and input/outputs of a stage of execution. Some composing transforms and sources may have been generated by the Dataflow service during execution planning.",
       "id": "ExecutionStageSummary",
       "properties": {
         "componentSource": {
@@ -3266,11 +3464,11 @@
       "type": "object"
     },
     "FailedLocation": {
-      "description": "Indicates which [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) failed\nto respond to a request for data.",
+      "description": "Indicates which [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) failed to respond to a request for data.",
       "id": "FailedLocation",
       "properties": {
         "name": {
-          "description": "The name of the [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\nfailed to respond.",
+          "description": "The name of the [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that failed to respond.",
           "type": "string"
         }
       },
@@ -3337,11 +3535,11 @@
       "id": "GetDebugConfigRequest",
       "properties": {
         "componentId": {
-          "description": "The internal component id for which debug configuration is\nrequested.",
+          "description": "The internal component id for which debug configuration is requested.",
           "type": "string"
         },
         "location": {
-          "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains the job specified by job_id.",
+          "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the job specified by job_id.",
           "type": "string"
         },
         "workerId": {
@@ -3368,7 +3566,7 @@
       "properties": {
         "metadata": {
           "$ref": "TemplateMetadata",
-          "description": "The template metadata describing the template name, available\nparameters, etc."
+          "description": "The template metadata describing the template name, available parameters, etc."
         },
         "runtimeMetadata": {
           "$ref": "RuntimeMetadata",
@@ -3376,7 +3574,7 @@
         },
         "status": {
           "$ref": "Status",
-          "description": "The status of the get template request. Any problems with the\nrequest will be indicated in the error_details."
+          "description": "The status of the get template request. Any problems with the request will be indicated in the error_details."
         },
         "templateType": {
           "description": "Template Type.",
@@ -3396,11 +3594,11 @@
       "type": "object"
     },
     "Histogram": {
-      "description": "Histogram of value counts for a distribution.\n\nBuckets have an inclusive lower bound and exclusive upper bound and use\n\"1,2,5 bucketing\": The first bucket range is from [0,1) and all subsequent\nbucket boundaries are powers of ten multiplied by 1, 2, or 5. Thus, bucket\nboundaries are 0, 1, 2, 5, 10, 20, 50, 100, 200, 500, 1000, ...\nNegative values are not supported.",
+      "description": "Histogram of value counts for a distribution. Buckets have an inclusive lower bound and exclusive upper bound and use \"1,2,5 bucketing\": The first bucket range is from [0,1) and all subsequent bucket boundaries are powers of ten multiplied by 1, 2, or 5. Thus, bucket boundaries are 0, 1, 2, 5, 10, 20, 50, 100, 200, 500, 1000, ... Negative values are not supported.",
       "id": "Histogram",
       "properties": {
         "bucketCounts": {
-          "description": "Counts of values in each bucket. For efficiency, prefix and trailing\nbuckets with count = 0 are elided. Buckets can store the full range of\nvalues of an unsigned long, with ULLONG_MAX falling into the 59th bucket\nwith range [1e19, 2e19).",
+          "description": "Counts of values in each bucket. For efficiency, prefix and trailing buckets with count = 0 are elided. Buckets can store the full range of values of an unsigned long, with ULLONG_MAX falling into the 59th bucket with range [1e19, 2e19).",
           "items": {
             "format": "int64",
             "type": "string"
@@ -3408,7 +3606,7 @@
           "type": "array"
         },
         "firstBucketOffset": {
-          "description": "Starting index of first stored bucket. The non-inclusive upper-bound of\nthe ith bucket is given by:\n  pow(10,(i-first_bucket_offset)/3) * (1,2,5)[(i-first_bucket_offset)%3]",
+          "description": "Starting index of first stored bucket. The non-inclusive upper-bound of the ith bucket is given by: pow(10,(i-first_bucket_offset)/3) * (1,2,5)[(i-first_bucket_offset)%3]",
           "format": "int32",
           "type": "integer"
         }
@@ -3425,7 +3623,7 @@
           "type": "string"
         },
         "systemName": {
-          "description": "System-defined name of the step containing this hot key.\nUnique across the workflow.",
+          "description": "System-defined name of the step containing this hot key. Unique across the workflow.",
           "type": "string"
         },
         "userStepName": {
@@ -3436,7 +3634,7 @@
       "type": "object"
     },
     "InstructionInput": {
-      "description": "An input of an instruction, as a reference to an output of a\nproducer instruction.",
+      "description": "An input of an instruction, as a reference to an output of a producer instruction.",
       "id": "InstructionInput",
       "properties": {
         "outputNum": {
@@ -3445,7 +3643,7 @@
           "type": "integer"
         },
         "producerInstructionIndex": {
-          "description": "The index (origin zero) of the parallel instruction that produces\nthe output to be consumed by this input.  This index is relative\nto the list of instructions in this input's instruction's\ncontaining MapTask.",
+          "description": "The index (origin zero) of the parallel instruction that produces the output to be consumed by this input. This index is relative to the list of instructions in this input's instruction's containing MapTask.",
           "format": "int32",
           "type": "integer"
         }
@@ -3469,19 +3667,19 @@
           "type": "string"
         },
         "onlyCountKeyBytes": {
-          "description": "For system-generated byte and mean byte metrics, certain instructions\nshould only report the key size.",
+          "description": "For system-generated byte and mean byte metrics, certain instructions should only report the key size.",
           "type": "boolean"
         },
         "onlyCountValueBytes": {
-          "description": "For system-generated byte and mean byte metrics, certain instructions\nshould only report the value size.",
+          "description": "For system-generated byte and mean byte metrics, certain instructions should only report the value size.",
           "type": "boolean"
         },
         "originalName": {
-          "description": "System-defined name for this output in the original workflow graph.\nOutputs that do not contribute to an original instruction do not set this.",
+          "description": "System-defined name for this output in the original workflow graph. Outputs that do not contribute to an original instruction do not set this.",
           "type": "string"
         },
         "systemName": {
-          "description": "System-defined name of this output.\nUnique across the workflow.",
+          "description": "System-defined name of this output. Unique across the workflow.",
           "type": "string"
         }
       },
@@ -3537,20 +3735,20 @@
       "id": "Job",
       "properties": {
         "clientRequestId": {
-          "description": "The client's unique identifier of the job, re-used across retried attempts.\nIf this field is set, the service will ensure its uniqueness.\nThe request to create a job will fail if the service has knowledge of a\npreviously submitted job with the same client's ID and job name.\nThe caller may use this field to ensure idempotence of job\ncreation across retried attempts to create a job.\nBy default, the field is empty and, in that case, the service ignores it.",
+          "description": "The client's unique identifier of the job, re-used across retried attempts. If this field is set, the service will ensure its uniqueness. The request to create a job will fail if the service has knowledge of a previously submitted job with the same client's ID and job name. The caller may use this field to ensure idempotence of job creation across retried attempts to create a job. By default, the field is empty and, in that case, the service ignores it.",
           "type": "string"
         },
         "createTime": {
-          "description": "The timestamp when the job was initially created. Immutable and set by the\nCloud Dataflow service.",
+          "description": "The timestamp when the job was initially created. Immutable and set by the Cloud Dataflow service.",
           "format": "google-datetime",
           "type": "string"
         },
         "createdFromSnapshotId": {
-          "description": "If this is specified, the job's initial state is populated from the given\nsnapshot.",
+          "description": "If this is specified, the job's initial state is populated from the given snapshot.",
           "type": "string"
         },
         "currentState": {
-          "description": "The current state of the job.\n\nJobs are created in the `JOB_STATE_STOPPED` state unless otherwise\nspecified.\n\nA job in the `JOB_STATE_RUNNING` state may asynchronously enter a\nterminal state. After a job has reached a terminal state, no\nfurther state updates may be made.\n\nThis field may be mutated by the Cloud Dataflow service;\ncallers cannot mutate it.",
+          "description": "The current state of the job. Jobs are created in the `JOB_STATE_STOPPED` state unless otherwise specified. A job in the `JOB_STATE_RUNNING` state may asynchronously enter a terminal state. After a job has reached a terminal state, no further state updates may be made. This field may be mutated by the Cloud Dataflow service; callers cannot mutate it.",
           "enum": [
             "JOB_STATE_UNKNOWN",
             "JOB_STATE_STOPPED",
@@ -3567,17 +3765,17 @@
           ],
           "enumDescriptions": [
             "The job's run state isn't specified.",
-            "`JOB_STATE_STOPPED` indicates that the job has not\nyet started to run.",
+            "`JOB_STATE_STOPPED` indicates that the job has not yet started to run.",
             "`JOB_STATE_RUNNING` indicates that the job is currently running.",
-            "`JOB_STATE_DONE` indicates that the job has successfully completed.\nThis is a terminal job state.  This state may be set by the Cloud Dataflow\nservice, as a transition from `JOB_STATE_RUNNING`. It may also be set via a\nCloud Dataflow `UpdateJob` call, if the job has not yet reached a terminal\nstate.",
-            "`JOB_STATE_FAILED` indicates that the job has failed.  This is a\nterminal job state.  This state may only be set by the Cloud Dataflow\nservice, and only as a transition from `JOB_STATE_RUNNING`.",
-            "`JOB_STATE_CANCELLED` indicates that the job has been explicitly\ncancelled. This is a terminal job state. This state may only be\nset via a Cloud Dataflow `UpdateJob` call, and only if the job has not\nyet reached another terminal state.",
-            "`JOB_STATE_UPDATED` indicates that the job was successfully updated,\nmeaning that this job was stopped and another job was started, inheriting\nstate from this one. This is a terminal job state. This state may only be\nset by the Cloud Dataflow service, and only as a transition from\n`JOB_STATE_RUNNING`.",
-            "`JOB_STATE_DRAINING` indicates that the job is in the process of draining.\nA draining job has stopped pulling from its input sources and is processing\nany data that remains in-flight. This state may be set via a Cloud Dataflow\n`UpdateJob` call, but only as a transition from `JOB_STATE_RUNNING`. Jobs\nthat are draining may only transition to `JOB_STATE_DRAINED`,\n`JOB_STATE_CANCELLED`, or `JOB_STATE_FAILED`.",
-            "`JOB_STATE_DRAINED` indicates that the job has been drained.\nA drained job terminated by stopping pulling from its input sources and\nprocessing any data that remained in-flight when draining was requested.\nThis state is a terminal state, may only be set by the Cloud Dataflow\nservice, and only as a transition from `JOB_STATE_DRAINING`.",
-            "`JOB_STATE_PENDING` indicates that the job has been created but is not yet\nrunning.  Jobs that are pending may only transition to `JOB_STATE_RUNNING`,\nor `JOB_STATE_FAILED`.",
-            "`JOB_STATE_CANCELLING` indicates that the job has been explicitly cancelled\nand is in the process of stopping.  Jobs that are cancelling may only\ntransition to `JOB_STATE_CANCELLED` or `JOB_STATE_FAILED`.",
-            "`JOB_STATE_QUEUED` indicates that the job has been created but is being\ndelayed until launch. Jobs that are queued may only transition to\n`JOB_STATE_PENDING` or `JOB_STATE_CANCELLED`."
+            "`JOB_STATE_DONE` indicates that the job has successfully completed. This is a terminal job state. This state may be set by the Cloud Dataflow service, as a transition from `JOB_STATE_RUNNING`. It may also be set via a Cloud Dataflow `UpdateJob` call, if the job has not yet reached a terminal state.",
+            "`JOB_STATE_FAILED` indicates that the job has failed. This is a terminal job state. This state may only be set by the Cloud Dataflow service, and only as a transition from `JOB_STATE_RUNNING`.",
+            "`JOB_STATE_CANCELLED` indicates that the job has been explicitly cancelled. This is a terminal job state. This state may only be set via a Cloud Dataflow `UpdateJob` call, and only if the job has not yet reached another terminal state.",
+            "`JOB_STATE_UPDATED` indicates that the job was successfully updated, meaning that this job was stopped and another job was started, inheriting state from this one. This is a terminal job state. This state may only be set by the Cloud Dataflow service, and only as a transition from `JOB_STATE_RUNNING`.",
+            "`JOB_STATE_DRAINING` indicates that the job is in the process of draining. A draining job has stopped pulling from its input sources and is processing any data that remains in-flight. This state may be set via a Cloud Dataflow `UpdateJob` call, but only as a transition from `JOB_STATE_RUNNING`. Jobs that are draining may only transition to `JOB_STATE_DRAINED`, `JOB_STATE_CANCELLED`, or `JOB_STATE_FAILED`.",
+            "`JOB_STATE_DRAINED` indicates that the job has been drained. A drained job terminated by stopping pulling from its input sources and processing any data that remained in-flight when draining was requested. This state is a terminal state, may only be set by the Cloud Dataflow service, and only as a transition from `JOB_STATE_DRAINING`.",
+            "`JOB_STATE_PENDING` indicates that the job has been created but is not yet running. Jobs that are pending may only transition to `JOB_STATE_RUNNING`, or `JOB_STATE_FAILED`.",
+            "`JOB_STATE_CANCELLING` indicates that the job has been explicitly cancelled and is in the process of stopping. Jobs that are cancelling may only transition to `JOB_STATE_CANCELLED` or `JOB_STATE_FAILED`.",
+            "`JOB_STATE_QUEUED` indicates that the job has been created but is being delayed until launch. Jobs that are queued may only transition to `JOB_STATE_PENDING` or `JOB_STATE_CANCELLED`."
           ],
           "type": "string"
         },
@@ -3595,46 +3793,46 @@
           "description": "Deprecated."
         },
         "id": {
-          "description": "The unique ID of this job.\n\nThis field is set by the Cloud Dataflow service when the Job is\ncreated, and is immutable for the life of the job.",
+          "description": "The unique ID of this job. This field is set by the Cloud Dataflow service when the Job is created, and is immutable for the life of the job.",
           "type": "string"
         },
         "jobMetadata": {
           "$ref": "JobMetadata",
-          "description": "This field is populated by the Dataflow service to support filtering jobs\nby the metadata values provided here. Populated for ListJobs and all GetJob\nviews SUMMARY and higher."
+          "description": "This field is populated by the Dataflow service to support filtering jobs by the metadata values provided here. Populated for ListJobs and all GetJob views SUMMARY and higher."
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "User-defined labels for this job.\n\nThe labels map can contain no more than 64 entries.  Entries of the labels\nmap are UTF8 strings that comply with the following restrictions:\n\n* Keys must conform to regexp:  \\p{Ll}\\p{Lo}{0,62}\n* Values must conform to regexp:  [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}\n* Both keys and values are additionally constrained to be \u003c= 128 bytes in\nsize.",
+          "description": "User-defined labels for this job. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: * Keys must conform to regexp: \\p{Ll}\\p{Lo}{0,62} * Values must conform to regexp: [\\p{Ll}\\p{Lo}\\p{N}_-]{0,63} * Both keys and values are additionally constrained to be \u003c= 128 bytes in size.",
           "type": "object"
         },
         "location": {
-          "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains this job.",
+          "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains this job.",
           "type": "string"
         },
         "name": {
-          "description": "The user-specified Cloud Dataflow job name.\n\nOnly one Job with a given name may exist in a project at any\ngiven time. If a caller attempts to create a Job with the same\nname as an already-existing Job, the attempt returns the\nexisting Job.\n\nThe name must match the regular expression\n`[a-z]([-a-z0-9]{0,38}[a-z0-9])?`",
+          "description": "The user-specified Cloud Dataflow job name. Only one Job with a given name may exist in a project at any given time. If a caller attempts to create a Job with the same name as an already-existing Job, the attempt returns the existing Job. The name must match the regular expression `[a-z]([-a-z0-9]{0,38}[a-z0-9])?`",
           "type": "string"
         },
         "pipelineDescription": {
           "$ref": "PipelineDescription",
-          "description": "Preliminary field: The format of this data may change at any time.\nA description of the user pipeline and stages through which it is executed.\nCreated by Cloud Dataflow service.  Only retrieved with\nJOB_VIEW_DESCRIPTION or JOB_VIEW_ALL."
+          "description": "Preliminary field: The format of this data may change at any time. A description of the user pipeline and stages through which it is executed. Created by Cloud Dataflow service. Only retrieved with JOB_VIEW_DESCRIPTION or JOB_VIEW_ALL."
         },
         "projectId": {
           "description": "The ID of the Cloud Platform project that the job belongs to.",
           "type": "string"
         },
         "replaceJobId": {
-          "description": "If this job is an update of an existing job, this field is the job ID\nof the job it replaced.\n\nWhen sending a `CreateJobRequest`, you can update a job by specifying it\nhere. The job named here is stopped, and its intermediate state is\ntransferred to this job.",
+          "description": "If this job is an update of an existing job, this field is the job ID of the job it replaced. When sending a `CreateJobRequest`, you can update a job by specifying it here. The job named here is stopped, and its intermediate state is transferred to this job.",
           "type": "string"
         },
         "replacedByJobId": {
-          "description": "If another job is an update of this job (and thus, this job is in\n`JOB_STATE_UPDATED`), this field contains the ID of that job.",
+          "description": "If another job is an update of this job (and thus, this job is in `JOB_STATE_UPDATED`), this field contains the ID of that job.",
           "type": "string"
         },
         "requestedState": {
-          "description": "The job's requested state.\n\n`UpdateJob` may be used to switch between the `JOB_STATE_STOPPED` and\n`JOB_STATE_RUNNING` states, by setting requested_state.  `UpdateJob` may\nalso be used to directly set a job's requested state to\n`JOB_STATE_CANCELLED` or `JOB_STATE_DONE`, irrevocably terminating the\njob if it has not already reached a terminal state.",
+          "description": "The job's requested state. `UpdateJob` may be used to switch between the `JOB_STATE_STOPPED` and `JOB_STATE_RUNNING` states, by setting requested_state. `UpdateJob` may also be used to directly set a job's requested state to `JOB_STATE_CANCELLED` or `JOB_STATE_DONE`, irrevocably terminating the job if it has not already reached a terminal state.",
           "enum": [
             "JOB_STATE_UNKNOWN",
             "JOB_STATE_STOPPED",
@@ -3651,34 +3849,34 @@
           ],
           "enumDescriptions": [
             "The job's run state isn't specified.",
-            "`JOB_STATE_STOPPED` indicates that the job has not\nyet started to run.",
+            "`JOB_STATE_STOPPED` indicates that the job has not yet started to run.",
             "`JOB_STATE_RUNNING` indicates that the job is currently running.",
-            "`JOB_STATE_DONE` indicates that the job has successfully completed.\nThis is a terminal job state.  This state may be set by the Cloud Dataflow\nservice, as a transition from `JOB_STATE_RUNNING`. It may also be set via a\nCloud Dataflow `UpdateJob` call, if the job has not yet reached a terminal\nstate.",
-            "`JOB_STATE_FAILED` indicates that the job has failed.  This is a\nterminal job state.  This state may only be set by the Cloud Dataflow\nservice, and only as a transition from `JOB_STATE_RUNNING`.",
-            "`JOB_STATE_CANCELLED` indicates that the job has been explicitly\ncancelled. This is a terminal job state. This state may only be\nset via a Cloud Dataflow `UpdateJob` call, and only if the job has not\nyet reached another terminal state.",
-            "`JOB_STATE_UPDATED` indicates that the job was successfully updated,\nmeaning that this job was stopped and another job was started, inheriting\nstate from this one. This is a terminal job state. This state may only be\nset by the Cloud Dataflow service, and only as a transition from\n`JOB_STATE_RUNNING`.",
-            "`JOB_STATE_DRAINING` indicates that the job is in the process of draining.\nA draining job has stopped pulling from its input sources and is processing\nany data that remains in-flight. This state may be set via a Cloud Dataflow\n`UpdateJob` call, but only as a transition from `JOB_STATE_RUNNING`. Jobs\nthat are draining may only transition to `JOB_STATE_DRAINED`,\n`JOB_STATE_CANCELLED`, or `JOB_STATE_FAILED`.",
-            "`JOB_STATE_DRAINED` indicates that the job has been drained.\nA drained job terminated by stopping pulling from its input sources and\nprocessing any data that remained in-flight when draining was requested.\nThis state is a terminal state, may only be set by the Cloud Dataflow\nservice, and only as a transition from `JOB_STATE_DRAINING`.",
-            "`JOB_STATE_PENDING` indicates that the job has been created but is not yet\nrunning.  Jobs that are pending may only transition to `JOB_STATE_RUNNING`,\nor `JOB_STATE_FAILED`.",
-            "`JOB_STATE_CANCELLING` indicates that the job has been explicitly cancelled\nand is in the process of stopping.  Jobs that are cancelling may only\ntransition to `JOB_STATE_CANCELLED` or `JOB_STATE_FAILED`.",
-            "`JOB_STATE_QUEUED` indicates that the job has been created but is being\ndelayed until launch. Jobs that are queued may only transition to\n`JOB_STATE_PENDING` or `JOB_STATE_CANCELLED`."
+            "`JOB_STATE_DONE` indicates that the job has successfully completed. This is a terminal job state. This state may be set by the Cloud Dataflow service, as a transition from `JOB_STATE_RUNNING`. It may also be set via a Cloud Dataflow `UpdateJob` call, if the job has not yet reached a terminal state.",
+            "`JOB_STATE_FAILED` indicates that the job has failed. This is a terminal job state. This state may only be set by the Cloud Dataflow service, and only as a transition from `JOB_STATE_RUNNING`.",
+            "`JOB_STATE_CANCELLED` indicates that the job has been explicitly cancelled. This is a terminal job state. This state may only be set via a Cloud Dataflow `UpdateJob` call, and only if the job has not yet reached another terminal state.",
+            "`JOB_STATE_UPDATED` indicates that the job was successfully updated, meaning that this job was stopped and another job was started, inheriting state from this one. This is a terminal job state. This state may only be set by the Cloud Dataflow service, and only as a transition from `JOB_STATE_RUNNING`.",
+            "`JOB_STATE_DRAINING` indicates that the job is in the process of draining. A draining job has stopped pulling from its input sources and is processing any data that remains in-flight. This state may be set via a Cloud Dataflow `UpdateJob` call, but only as a transition from `JOB_STATE_RUNNING`. Jobs that are draining may only transition to `JOB_STATE_DRAINED`, `JOB_STATE_CANCELLED`, or `JOB_STATE_FAILED`.",
+            "`JOB_STATE_DRAINED` indicates that the job has been drained. A drained job terminated by stopping pulling from its input sources and processing any data that remained in-flight when draining was requested. This state is a terminal state, may only be set by the Cloud Dataflow service, and only as a transition from `JOB_STATE_DRAINING`.",
+            "`JOB_STATE_PENDING` indicates that the job has been created but is not yet running. Jobs that are pending may only transition to `JOB_STATE_RUNNING`, or `JOB_STATE_FAILED`.",
+            "`JOB_STATE_CANCELLING` indicates that the job has been explicitly cancelled and is in the process of stopping. Jobs that are cancelling may only transition to `JOB_STATE_CANCELLED` or `JOB_STATE_FAILED`.",
+            "`JOB_STATE_QUEUED` indicates that the job has been created but is being delayed until launch. Jobs that are queued may only transition to `JOB_STATE_PENDING` or `JOB_STATE_CANCELLED`."
           ],
           "type": "string"
         },
         "stageStates": {
-          "description": "This field may be mutated by the Cloud Dataflow service;\ncallers cannot mutate it.",
+          "description": "This field may be mutated by the Cloud Dataflow service; callers cannot mutate it.",
           "items": {
             "$ref": "ExecutionStageState"
           },
           "type": "array"
         },
         "startTime": {
-          "description": "The timestamp when the job was started (transitioned to JOB_STATE_PENDING).\nFlexible resource scheduling jobs are started with some delay after job\ncreation, so start_time is unset before start and is updated when the\njob is started by the Cloud Dataflow service. For other jobs, start_time\nalways equals to create_time and is immutable and set by the Cloud Dataflow\nservice.",
+          "description": "The timestamp when the job was started (transitioned to JOB_STATE_PENDING). Flexible resource scheduling jobs are started with some delay after job creation, so start_time is unset before start and is updated when the job is started by the Cloud Dataflow service. For other jobs, start_time always equals to create_time and is immutable and set by the Cloud Dataflow service.",
           "format": "google-datetime",
           "type": "string"
         },
         "steps": {
-          "description": "Exactly one of step or steps_location should be specified.\n\nThe top-level steps that constitute the entire job. Only retrieved with\nJOB_VIEW_ALL.",
+          "description": "Exactly one of step or steps_location should be specified. The top-level steps that constitute the entire job. Only retrieved with JOB_VIEW_ALL.",
           "items": {
             "$ref": "Step"
           },
@@ -3689,7 +3887,7 @@
           "type": "string"
         },
         "tempFiles": {
-          "description": "A set of files the system should be aware of that are used\nfor temporary storage. These temporary files will be\nremoved on job completion.\nNo duplicates are allowed.\nNo file patterns are supported.\n\nThe supported files are:\n\nGoogle Cloud Storage:\n\n   storage.googleapis.com/{bucket}/{object}\n   bucket.storage.googleapis.com/{object}",
+          "description": "A set of files the system should be aware of that are used for temporary storage. These temporary files will be removed on job completion. No duplicates are allowed. No file patterns are supported. The supported files are: Google Cloud Storage: storage.googleapis.com/{bucket}/{object} bucket.storage.googleapis.com/{object}",
           "items": {
             "type": "string"
           },
@@ -3699,7 +3897,7 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The map of transform name prefixes of the job to be replaced to the\ncorresponding name prefixes of the new job.",
+          "description": "The map of transform name prefixes of the job to be replaced to the corresponding name prefixes of the new job.",
           "type": "object"
         },
         "type": {
@@ -3711,16 +3909,30 @@
           ],
           "enumDescriptions": [
             "The type of the job is unspecified, or unknown.",
-            "A batch job with a well-defined end point: data is read, data is\nprocessed, data is written, and the job is done.",
-            "A continuously streaming job with no end: data is read,\nprocessed, and written continuously."
+            "A batch job with a well-defined end point: data is read, data is processed, data is written, and the job is done.",
+            "A continuously streaming job with no end: data is read, processed, and written continuously."
           ],
           "type": "string"
         }
       },
       "type": "object"
     },
+    "JobExecutionDetails": {
+      "description": "Information about the execution of a job.",
+      "id": "JobExecutionDetails",
+      "properties": {
+        "stages": {
+          "description": "The stages of the job execution.",
+          "items": {
+            "$ref": "StageSummary"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
     "JobExecutionInfo": {
-      "description": "Additional information about how a Cloud Dataflow job will be executed that\nisn't contained in the submitted job.",
+      "description": "Additional information about how a Cloud Dataflow job will be executed that isn't contained in the submitted job.",
       "id": "JobExecutionInfo",
       "properties": {
         "stages": {
@@ -3734,11 +3946,11 @@
       "type": "object"
     },
     "JobExecutionStageInfo": {
-      "description": "Contains information about how a particular\ngoogle.dataflow.v1beta3.Step will be executed.",
+      "description": "Contains information about how a particular google.dataflow.v1beta3.Step will be executed.",
       "id": "JobExecutionStageInfo",
       "properties": {
         "stepName": {
-          "description": "The steps associated with the execution stage.\nNote that stages may have several steps, and that a given step\nmight be run by more than one stage.",
+          "description": "The steps associated with the execution stage. Note that stages may have several steps, and that a given step might be run by more than one stage.",
           "items": {
             "type": "string"
           },
@@ -3767,11 +3979,11 @@
           ],
           "enumDescriptions": [
             "The message importance isn't specified, or is unknown.",
-            "The message is at the 'debug' level: typically only useful for\nsoftware engineers working on the code the job is running.\nTypically, Dataflow pipeline runners do not display log messages\nat this level by default.",
-            "The message is at the 'detailed' level: somewhat verbose, but\npotentially useful to users.  Typically, Dataflow pipeline\nrunners do not display log messages at this level by default.\nThese messages are displayed by default in the Dataflow\nmonitoring UI.",
-            "The message is at the 'basic' level: useful for keeping\ntrack of the execution of a Dataflow pipeline.  Typically,\nDataflow pipeline runners display log messages at this level by\ndefault, and these messages are displayed by default in the\nDataflow monitoring UI.",
-            "The message is at the 'warning' level: indicating a condition\npertaining to a job which may require human intervention.\nTypically, Dataflow pipeline runners display log messages at this\nlevel by default, and these messages are displayed by default in\nthe Dataflow monitoring UI.",
-            "The message is at the 'error' level: indicating a condition\npreventing a job from succeeding.  Typically, Dataflow pipeline\nrunners display log messages at this level by default, and these\nmessages are displayed by default in the Dataflow monitoring UI."
+            "The message is at the 'debug' level: typically only useful for software engineers working on the code the job is running. Typically, Dataflow pipeline runners do not display log messages at this level by default.",
+            "The message is at the 'detailed' level: somewhat verbose, but potentially useful to users. Typically, Dataflow pipeline runners do not display log messages at this level by default. These messages are displayed by default in the Dataflow monitoring UI.",
+            "The message is at the 'basic' level: useful for keeping track of the execution of a Dataflow pipeline. Typically, Dataflow pipeline runners display log messages at this level by default, and these messages are displayed by default in the Dataflow monitoring UI.",
+            "The message is at the 'warning' level: indicating a condition pertaining to a job which may require human intervention. Typically, Dataflow pipeline runners display log messages at this level by default, and these messages are displayed by default in the Dataflow monitoring UI.",
+            "The message is at the 'error' level: indicating a condition preventing a job from succeeding. Typically, Dataflow pipeline runners display log messages at this level by default, and these messages are displayed by default in the Dataflow monitoring UI."
           ],
           "type": "string"
         },
@@ -3788,7 +4000,7 @@
       "type": "object"
     },
     "JobMetadata": {
-      "description": "Metadata available primarily for filtering jobs. Will be included in the\nListJob response and Job SUMMARY view.",
+      "description": "Metadata available primarily for filtering jobs. Will be included in the ListJob response and Job SUMMARY view.",
       "id": "JobMetadata",
       "properties": {
         "bigTableDetails": {
@@ -3841,7 +4053,7 @@
       "type": "object"
     },
     "JobMetrics": {
-      "description": "JobMetrics contains a collection of metrics describing the detailed progress\nof a Dataflow job. Metrics correspond to user-defined and system-defined\nmetrics in the job.\n\nThis resource captures only the most recent values of each metric;\ntime-series data can be queried for them (under the same metric names)\nfrom Cloud Monitoring.",
+      "description": "JobMetrics contains a collection of metrics describing the detailed progress of a Dataflow job. Metrics correspond to user-defined and system-defined metrics in the job. This resource captures only the most recent values of each metric; time-series data can be queried for them (under the same metric names) from Cloud Monitoring.",
       "id": "JobMetrics",
       "properties": {
         "metricTime": {
@@ -3860,11 +4072,11 @@
       "type": "object"
     },
     "KeyRangeDataDiskAssignment": {
-      "description": "Data disk assignment information for a specific key-range of a sharded\ncomputation.\nCurrently we only support UTF-8 character splits to simplify encoding into\nJSON.",
+      "description": "Data disk assignment information for a specific key-range of a sharded computation. Currently we only support UTF-8 character splits to simplify encoding into JSON.",
       "id": "KeyRangeDataDiskAssignment",
       "properties": {
         "dataDisk": {
-          "description": "The name of the data disk where data for this range is stored.\nThis name is local to the Google Cloud Platform project and uniquely\nidentifies the disk within that project, for example\n\"myproject-1014-104817-4c2-harness-0-disk-1\".",
+          "description": "The name of the data disk where data for this range is stored. This name is local to the Google Cloud Platform project and uniquely identifies the disk within that project, for example \"myproject-1014-104817-4c2-harness-0-disk-1\".",
           "type": "string"
         },
         "end": {
@@ -3879,19 +4091,19 @@
       "type": "object"
     },
     "KeyRangeLocation": {
-      "description": "Location information for a specific key-range of a sharded computation.\nCurrently we only support UTF-8 character splits to simplify encoding into\nJSON.",
+      "description": "Location information for a specific key-range of a sharded computation. Currently we only support UTF-8 character splits to simplify encoding into JSON.",
       "id": "KeyRangeLocation",
       "properties": {
         "dataDisk": {
-          "description": "The name of the data disk where data for this range is stored.\nThis name is local to the Google Cloud Platform project and uniquely\nidentifies the disk within that project, for example\n\"myproject-1014-104817-4c2-harness-0-disk-1\".",
+          "description": "The name of the data disk where data for this range is stored. This name is local to the Google Cloud Platform project and uniquely identifies the disk within that project, for example \"myproject-1014-104817-4c2-harness-0-disk-1\".",
           "type": "string"
         },
         "deliveryEndpoint": {
-          "description": "The physical location of this range assignment to be used for\nstreaming computation cross-worker message delivery.",
+          "description": "The physical location of this range assignment to be used for streaming computation cross-worker message delivery.",
           "type": "string"
         },
         "deprecatedPersistentDirectory": {
-          "description": "DEPRECATED. The location of the persistent state for this range, as a\npersistent directory in the worker local filesystem.",
+          "description": "DEPRECATED. The location of the persistent state for this range, as a persistent directory in the worker local filesystem.",
           "type": "string"
         },
         "end": {
@@ -3925,14 +4137,14 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Launch options for this flex template job. This is a common set of options\nacross languages and templates. This should not be used to pass job\nparameters.",
+          "description": "Launch options for this flex template job. This is a common set of options across languages and templates. This should not be used to pass job parameters.",
           "type": "object"
         },
         "parameters": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The parameters for FlexTemplate.\nEx. {\"num_workers\":\"5\"}",
+          "description": "The parameters for FlexTemplate. Ex. {\"num_workers\":\"5\"}",
           "type": "object"
         }
       },
@@ -3947,7 +4159,7 @@
           "description": "Required. Parameter to launch a job form Flex Template."
         },
         "validateOnly": {
-          "description": "If true, the request is validated but not actually executed.\nDefaults to false.",
+          "description": "If true, the request is validated but not actually executed. Defaults to false.",
           "type": "boolean"
         }
       },
@@ -3959,7 +4171,7 @@
       "properties": {
         "job": {
           "$ref": "Job",
-          "description": "The job that was launched, if the request was not a dry run and\nthe job was successfully launched."
+          "description": "The job that was launched, if the request was not a dry run and the job was successfully launched."
         }
       },
       "type": "object"
@@ -3987,11 +4199,11 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Only applicable when updating a pipeline. Map of transform name prefixes of\nthe job to be replaced to the corresponding name prefixes of the new job.",
+          "description": "Only applicable when updating a pipeline. Map of transform name prefixes of the job to be replaced to the corresponding name prefixes of the new job.",
           "type": "object"
         },
         "update": {
-          "description": "If set, replace the existing pipeline with the name specified by jobName\nwith this pipeline, preserving state.",
+          "description": "If set, replace the existing pipeline with the name specified by jobName with this pipeline, preserving state.",
           "type": "boolean"
         }
       },
@@ -4003,7 +4215,7 @@
       "properties": {
         "job": {
           "$ref": "Job",
-          "description": "The job that was launched, if the request was not a dry run and\nthe job was successfully launched."
+          "description": "The job that was launched, if the request was not a dry run and the job was successfully launched."
         }
       },
       "type": "object"
@@ -4018,7 +4230,7 @@
           "type": "string"
         },
         "location": {
-          "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains the WorkItem's job.",
+          "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the WorkItem's job.",
           "type": "string"
         },
         "requestedLeaseDuration": {
@@ -4042,14 +4254,14 @@
           "type": "array"
         },
         "workerCapabilities": {
-          "description": "Worker capabilities. WorkItems might be limited to workers with specific\ncapabilities.",
+          "description": "Worker capabilities. WorkItems might be limited to workers with specific capabilities.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "workerId": {
-          "description": "Identifies the worker leasing work -- typically the ID of the\nvirtual machine running the worker.",
+          "description": "Identifies the worker leasing work -- typically the ID of the virtual machine running the worker.",
           "type": "string"
         }
       },
@@ -4103,11 +4315,11 @@
       "type": "object"
     },
     "ListJobsResponse": {
-      "description": "Response to a request to list Cloud Dataflow jobs in a project. This might\nbe a partial response, depending on the page size in the ListJobsRequest.\nHowever, if the project does not have any jobs, an instance of\nListJobsResponse is not returned and the requests's response\nbody is empty {}.",
+      "description": "Response to a request to list Cloud Dataflow jobs in a project. This might be a partial response, depending on the page size in the ListJobsRequest. However, if the project does not have any jobs, an instance of ListJobsResponse is not returned and the requests's response body is empty {}.",
       "id": "ListJobsResponse",
       "properties": {
         "failedLocation": {
-          "description": "Zero or more messages describing the [regional endpoints]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\nfailed to respond.",
+          "description": "Zero or more messages describing the [regional endpoints] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that failed to respond.",
           "items": {
             "$ref": "FailedLocation"
           },
@@ -4146,7 +4358,7 @@
       "id": "ListTemplateVersionsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "A token that can be sent as `page_token` to retrieve the next page.\nIf this field is omitted, there are no subsequent pages.",
+          "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
           "type": "string"
         },
         "templateVersions": {
@@ -4160,11 +4372,11 @@
       "type": "object"
     },
     "MapTask": {
-      "description": "MapTask consists of an ordered set of instructions, each of which\ndescribes one particular low-level operation for the worker to\nperform in order to accomplish the MapTask's WorkItem.\n\nEach instruction must appear in the list before any instructions which\ndepends on its output.",
+      "description": "MapTask consists of an ordered set of instructions, each of which describes one particular low-level operation for the worker to perform in order to accomplish the MapTask's WorkItem. Each instruction must appear in the list before any instructions which depends on its output.",
       "id": "MapTask",
       "properties": {
         "counterPrefix": {
-          "description": "Counter prefix that can be used to prefix counters. Not currently used in\nDataflow.",
+          "description": "Counter prefix that can be used to prefix counters. Not currently used in Dataflow.",
           "type": "string"
         },
         "instructions": {
@@ -4175,18 +4387,18 @@
           "type": "array"
         },
         "stageName": {
-          "description": "System-defined name of the stage containing this MapTask.\nUnique across the workflow.",
+          "description": "System-defined name of the stage containing this MapTask. Unique across the workflow.",
           "type": "string"
         },
         "systemName": {
-          "description": "System-defined name of this MapTask.\nUnique across the workflow.",
+          "description": "System-defined name of this MapTask. Unique across the workflow.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "MemInfo": {
-      "description": "Information about the memory usage of a worker or a container within a\nworker.",
+      "description": "Information about the memory usage of a worker or a container within a worker.",
       "id": "MemInfo",
       "properties": {
         "currentLimitBytes": {
@@ -4213,11 +4425,11 @@
       "type": "object"
     },
     "MetricShortId": {
-      "description": "The metric short id is returned to the user alongside an offset into\nReportWorkItemStatusRequest",
+      "description": "The metric short id is returned to the user alongside an offset into ReportWorkItemStatusRequest",
       "id": "MetricShortId",
       "properties": {
         "metricIndex": {
-          "description": "The index of the corresponding metric in\nthe ReportWorkItemStatusRequest. Required.",
+          "description": "The index of the corresponding metric in the ReportWorkItemStatusRequest. Required.",
           "format": "int32",
           "type": "integer"
         },
@@ -4230,14 +4442,14 @@
       "type": "object"
     },
     "MetricStructuredName": {
-      "description": "Identifies a metric, by describing the source which generated the\nmetric.",
+      "description": "Identifies a metric, by describing the source which generated the metric.",
       "id": "MetricStructuredName",
       "properties": {
         "context": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Zero or more labeled fields which identify the part of the job this\nmetric is associated with, such as the name of a step or collection.\n\nFor example, built-in counters associated with steps will have\ncontext['step'] = \u003cstep-name\u003e. Counters associated with PCollections\nin the SDK will have context['pcollection'] = \u003cpcollection-name\u003e.",
+          "description": "Zero or more labeled fields which identify the part of the job this metric is associated with, such as the name of a step or collection. For example, built-in counters associated with steps will have context['step'] = . Counters associated with PCollections in the SDK will have context['pcollection'] = .",
           "type": "object"
         },
         "name": {
@@ -4245,7 +4457,7 @@
           "type": "string"
         },
         "origin": {
-          "description": "Origin (namespace) of metric name. May be blank for user-define metrics;\nwill be \"dataflow\" for metrics defined by the Dataflow service or SDK.",
+          "description": "Origin (namespace) of metric name. May be blank for user-define metrics; will be \"dataflow\" for metrics defined by the Dataflow service or SDK.",
           "type": "string"
         }
       },
@@ -4256,7 +4468,7 @@
       "id": "MetricUpdate",
       "properties": {
         "cumulative": {
-          "description": "True if this metric is reported as the total cumulative aggregate\nvalue accumulated since the worker started working on this WorkItem.\nBy default this is false, indicating that this metric is reported\nas a delta that is not associated with any WorkItem.",
+          "description": "True if this metric is reported as the total cumulative aggregate value accumulated since the worker started working on this WorkItem. By default this is false, indicating that this metric is reported as a delta that is not associated with any WorkItem.",
           "type": "boolean"
         },
         "distribution": {
@@ -4264,23 +4476,23 @@
           "type": "any"
         },
         "gauge": {
-          "description": "A struct value describing properties of a Gauge.\nMetrics of gauge type show the value of a metric across time, and is\naggregated based on the newest value.",
+          "description": "A struct value describing properties of a Gauge. Metrics of gauge type show the value of a metric across time, and is aggregated based on the newest value.",
           "type": "any"
         },
         "internal": {
-          "description": "Worker-computed aggregate value for internal use by the Dataflow\nservice.",
+          "description": "Worker-computed aggregate value for internal use by the Dataflow service.",
           "type": "any"
         },
         "kind": {
-          "description": "Metric aggregation kind.  The possible metric aggregation kinds are\n\"Sum\", \"Max\", \"Min\", \"Mean\", \"Set\", \"And\", \"Or\", and \"Distribution\".\nThe specified aggregation kind is case-insensitive.\n\nIf omitted, this is not an aggregated value but instead\na single metric sample value.",
+          "description": "Metric aggregation kind. The possible metric aggregation kinds are \"Sum\", \"Max\", \"Min\", \"Mean\", \"Set\", \"And\", \"Or\", and \"Distribution\". The specified aggregation kind is case-insensitive. If omitted, this is not an aggregated value but instead a single metric sample value.",
           "type": "string"
         },
         "meanCount": {
-          "description": "Worker-computed aggregate value for the \"Mean\" aggregation kind.\nThis holds the count of the aggregated values and is used in combination\nwith mean_sum above to obtain the actual mean aggregate value.\nThe only possible value type is Long.",
+          "description": "Worker-computed aggregate value for the \"Mean\" aggregation kind. This holds the count of the aggregated values and is used in combination with mean_sum above to obtain the actual mean aggregate value. The only possible value type is Long.",
           "type": "any"
         },
         "meanSum": {
-          "description": "Worker-computed aggregate value for the \"Mean\" aggregation kind.\nThis holds the sum of the aggregated values and is used in combination\nwith mean_count below to obtain the actual mean aggregate value.\nThe only possible value types are Long and Double.",
+          "description": "Worker-computed aggregate value for the \"Mean\" aggregation kind. This holds the sum of the aggregated values and is used in combination with mean_count below to obtain the actual mean aggregate value. The only possible value types are Long and Double.",
           "type": "any"
         },
         "name": {
@@ -4288,15 +4500,15 @@
           "description": "Name of the metric."
         },
         "scalar": {
-          "description": "Worker-computed aggregate value for aggregation kinds \"Sum\", \"Max\", \"Min\",\n\"And\", and \"Or\".  The possible value types are Long, Double, and Boolean.",
+          "description": "Worker-computed aggregate value for aggregation kinds \"Sum\", \"Max\", \"Min\", \"And\", and \"Or\". The possible value types are Long, Double, and Boolean.",
           "type": "any"
         },
         "set": {
-          "description": "Worker-computed aggregate value for the \"Set\" aggregation kind.  The only\npossible value type is a list of Values whose type can be Long, Double,\nor String, according to the metric's type.  All Values in the list must\nbe of the same type.",
+          "description": "Worker-computed aggregate value for the \"Set\" aggregation kind. The only possible value type is a list of Values whose type can be Long, Double, or String, according to the metric's type. All Values in the list must be of the same type.",
           "type": "any"
         },
         "updateTime": {
-          "description": "Timestamp associated with the metric value. Optional when workers are\nreporting work progress; it will be filled in responses from the\nmetrics API.",
+          "description": "Timestamp associated with the metric value. Optional when workers are reporting work progress; it will be filled in responses from the metrics API.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -4304,7 +4516,7 @@
       "type": "object"
     },
     "ModifyTemplateVersionLabelRequest": {
-      "description": "Either add the label to TemplateVersion or remove it from the\nTemplateVersion.",
+      "description": "Either add the label to TemplateVersion or remove it from the TemplateVersion.",
       "id": "ModifyTemplateVersionLabelRequest",
       "properties": {
         "key": {
@@ -4312,7 +4524,7 @@
           "type": "string"
         },
         "op": {
-          "description": "Requests for add label to TemplateVersion or remove label from\nTemplateVersion.",
+          "description": "Requests for add label to TemplateVersion or remove label from TemplateVersion.",
           "enum": [
             "OPERATION_UNSPECIFIED",
             "ADD",
@@ -4347,11 +4559,11 @@
       "type": "object"
     },
     "ModifyTemplateVersionTagRequest": {
-      "description": "Add a tag to the current TemplateVersion. If tag exist in another\nTemplateVersion in the Template, remove the tag before add it to the current\nTemplateVersion. If remove_only set, remove the tag from the current\nTemplateVersion.",
+      "description": "Add a tag to the current TemplateVersion. If tag exist in another TemplateVersion in the Template, remove the tag before add it to the current TemplateVersion. If remove_only set, remove the tag from the current TemplateVersion.",
       "id": "ModifyTemplateVersionTagRequest",
       "properties": {
         "removeOnly": {
-          "description": "The flag that indicates if the request is only for remove tag from\nTemplateVersion.",
+          "description": "The flag that indicates if the request is only for remove tag from TemplateVersion.",
           "type": "boolean"
         },
         "tag": {
@@ -4380,7 +4592,7 @@
       "id": "MountedDataDisk",
       "properties": {
         "dataDisk": {
-          "description": "The name of the data disk.\nThis name is local to the Google Cloud Platform project and uniquely\nidentifies the disk within that project, for example\n\"myproject-1014-104817-4c2-harness-0-disk-1\".",
+          "description": "The name of the data disk. This name is local to the Google Cloud Platform project and uniquely identifies the disk within that project, for example \"myproject-1014-104817-4c2-harness-0-disk-1\".",
           "type": "string"
         }
       },
@@ -4391,7 +4603,7 @@
       "id": "MultiOutputInfo",
       "properties": {
         "tag": {
-          "description": "The id of the tag the user code will emit to this output by; this\nshould correspond to the tag of some SideInputInfo.",
+          "description": "The id of the tag the user code will emit to this output by; this should correspond to the tag of some SideInputInfo.",
           "type": "string"
         }
       },
@@ -4437,11 +4649,11 @@
       "type": "object"
     },
     "Package": {
-      "description": "The packages that must be installed in order for a worker to run the\nsteps of the Cloud Dataflow job that will be assigned to its worker\npool.\n\nThis is the mechanism by which the Cloud Dataflow SDK causes code to\nbe loaded onto the workers. For example, the Cloud Dataflow Java SDK\nmight use this to install jars containing the user's code and all of the\nvarious dependencies (libraries, data files, etc.) required in order\nfor that code to run.",
+      "description": "The packages that must be installed in order for a worker to run the steps of the Cloud Dataflow job that will be assigned to its worker pool. This is the mechanism by which the Cloud Dataflow SDK causes code to be loaded onto the workers. For example, the Cloud Dataflow Java SDK might use this to install jars containing the user's code and all of the various dependencies (libraries, data files, etc.) required in order for that code to run.",
       "id": "Package",
       "properties": {
         "location": {
-          "description": "The resource to read the package from. The supported resource type is:\n\nGoogle Cloud Storage:\n\n  storage.googleapis.com/{bucket}\n  bucket.storage.googleapis.com/",
+          "description": "The resource to read the package from. The supported resource type is: Google Cloud Storage: storage.googleapis.com/{bucket} bucket.storage.googleapis.com/",
           "type": "string"
         },
         "name": {
@@ -4452,7 +4664,7 @@
       "type": "object"
     },
     "ParDoInstruction": {
-      "description": "An instruction that does a ParDo operation.\nTakes one main input and zero or more side inputs, and produces\nzero or more outputs.\nRuns user code.",
+      "description": "An instruction that does a ParDo operation. Takes one main input and zero or more side inputs, and produces zero or more outputs. Runs user code.",
       "id": "ParDoInstruction",
       "properties": {
         "input": {
@@ -4460,7 +4672,7 @@
           "description": "The input."
         },
         "multiOutputInfos": {
-          "description": "Information about each of the outputs, if user_fn is a  MultiDoFn.",
+          "description": "Information about each of the outputs, if user_fn is a MultiDoFn.",
           "items": {
             "$ref": "MultiOutputInfo"
           },
@@ -4525,7 +4737,7 @@
           "description": "Additional information for Read instructions."
         },
         "systemName": {
-          "description": "System-defined name of this operation.\nUnique across the workflow.",
+          "description": "System-defined name of this operation. Unique across the workflow.",
           "type": "string"
         },
         "write": {
@@ -4571,7 +4783,7 @@
           "type": "string"
         },
         "paramType": {
-          "description": "Optional. The type of the parameter.\nUsed for selecting input picker.",
+          "description": "Optional. The type of the parameter. Used for selecting input picker.",
           "enum": [
             "DEFAULT",
             "TEXT",
@@ -4609,7 +4821,7 @@
       "type": "object"
     },
     "PartialGroupByKeyInstruction": {
-      "description": "An instruction that does a partial group-by-key.\nOne input and one output.",
+      "description": "An instruction that does a partial group-by-key. One input and one output.",
       "id": "PartialGroupByKeyInstruction",
       "properties": {
         "input": {
@@ -4625,11 +4837,11 @@
           "type": "object"
         },
         "originalCombineValuesInputStoreName": {
-          "description": "If this instruction includes a combining function this is the name of the\nintermediate store between the GBK and the CombineValues.",
+          "description": "If this instruction includes a combining function this is the name of the intermediate store between the GBK and the CombineValues.",
           "type": "string"
         },
         "originalCombineValuesStepName": {
-          "description": "If this instruction includes a combining function, this is the name of the\nCombineValues instruction lifted into this instruction.",
+          "description": "If this instruction includes a combining function, this is the name of the CombineValues instruction lifted into this instruction.",
           "type": "string"
         },
         "sideInputs": {
@@ -4651,7 +4863,7 @@
       "type": "object"
     },
     "PipelineDescription": {
-      "description": "A descriptive representation of submitted pipeline as well as the executed\nform.  This data is provided by the Dataflow service for ease of visualizing\nthe pipeline and interpreting Dataflow provided metrics.",
+      "description": "A descriptive representation of submitted pipeline as well as the executed form. This data is provided by the Dataflow service for ease of visualizing the pipeline and interpreting Dataflow provided metrics.",
       "id": "PipelineDescription",
       "properties": {
         "displayData": {
@@ -4678,8 +4890,25 @@
       },
       "type": "object"
     },
+    "Point": {
+      "description": "A point in the timeseries.",
+      "id": "Point",
+      "properties": {
+        "time": {
+          "description": "The timestamp of the point.",
+          "format": "google-datetime",
+          "type": "string"
+        },
+        "value": {
+          "description": "The value of the point.",
+          "format": "double",
+          "type": "number"
+        }
+      },
+      "type": "object"
+    },
     "Position": {
-      "description": "Position defines a position within a collection of data.  The value\ncan be either the end position, a key (used with ordered\ncollections), a byte offset, or a record index.",
+      "description": "Position defines a position within a collection of data. The value can be either the end position, a key (used with ordered collections), a byte offset, or a record index.",
       "id": "Position",
       "properties": {
         "byteOffset": {
@@ -4692,7 +4921,7 @@
           "description": "CloudPosition is a concat position."
         },
         "end": {
-          "description": "Position is past all other positions. Also useful for the end\nposition of an unbounded range.",
+          "description": "Position is past all other positions. Also useful for the end position of an unbounded range.",
           "type": "boolean"
         },
         "key": {
@@ -4705,12 +4934,31 @@
           "type": "string"
         },
         "shufflePosition": {
-          "description": "CloudPosition is a base64 encoded BatchShufflePosition (with FIXED\nsharding).",
+          "description": "CloudPosition is a base64 encoded BatchShufflePosition (with FIXED sharding).",
           "type": "string"
         }
       },
       "type": "object"
     },
+    "ProgressTimeseries": {
+      "description": "Information about the progress of some component of job execution.",
+      "id": "ProgressTimeseries",
+      "properties": {
+        "currentProgress": {
+          "description": "The current progress of the component, in the range [0,1].",
+          "format": "double",
+          "type": "number"
+        },
+        "dataPoints": {
+          "description": "History of progress for the component. Points are sorted by time.",
+          "items": {
+            "$ref": "Point"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
     "PubSubIODetails": {
       "description": "Metadata for a PubSub connector used by the job.",
       "id": "PubSubIODetails",
@@ -4727,7 +4975,7 @@
       "type": "object"
     },
     "PubsubLocation": {
-      "description": "Identifies a pubsub location to use for transferring data into or\nout of a streaming Dataflow job.",
+      "description": "Identifies a pubsub location to use for transferring data into or out of a streaming Dataflow job.",
       "id": "PubsubLocation",
       "properties": {
         "dropLateData": {
@@ -4735,23 +4983,23 @@
           "type": "boolean"
         },
         "idLabel": {
-          "description": "If set, contains a pubsub label from which to extract record ids.\nIf left empty, record deduplication will be strictly best effort.",
+          "description": "If set, contains a pubsub label from which to extract record ids. If left empty, record deduplication will be strictly best effort.",
           "type": "string"
         },
         "subscription": {
-          "description": "A pubsub subscription, in the form of\n\"pubsub.googleapis.com/subscriptions/\u003cproject-id\u003e/\u003csubscription-name\u003e\"",
+          "description": "A pubsub subscription, in the form of \"pubsub.googleapis.com/subscriptions//\"",
           "type": "string"
         },
         "timestampLabel": {
-          "description": "If set, contains a pubsub label from which to extract record timestamps.\nIf left empty, record timestamps will be generated upon arrival.",
+          "description": "If set, contains a pubsub label from which to extract record timestamps. If left empty, record timestamps will be generated upon arrival.",
           "type": "string"
         },
         "topic": {
-          "description": "A pubsub topic, in the form of\n\"pubsub.googleapis.com/topics/\u003cproject-id\u003e/\u003ctopic-name\u003e\"",
+          "description": "A pubsub topic, in the form of \"pubsub.googleapis.com/topics//\"",
           "type": "string"
         },
         "trackingSubscription": {
-          "description": "If set, specifies the pubsub subscription that will be used for tracking\ncustom time timestamps for watermark estimation.",
+          "description": "If set, specifies the pubsub subscription that will be used for tracking custom time timestamps for watermark estimation.",
           "type": "string"
         },
         "withAttributes": {
@@ -4796,6 +5044,10 @@
               "QUERY_PROPERTY_UNSPECIFIED",
               "HAS_UNBOUNDED_SOURCE"
             ],
+            "enumDescriptions": [
+              "The query property is unknown or unspecified.",
+              "Indicates this query reads from \u003e= 1 unbounded source."
+            ],
             "type": "string"
           },
           "type": "array"
@@ -4804,7 +5056,7 @@
       "type": "object"
     },
     "ReadInstruction": {
-      "description": "An instruction that reads records.\nTakes no inputs, produces one output.",
+      "description": "An instruction that reads records. Takes no inputs, produces one output.",
       "id": "ReadInstruction",
       "properties": {
         "source": {
@@ -4824,7 +5076,7 @@
           "type": "string"
         },
         "location": {
-          "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains the WorkItem's job.",
+          "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the WorkItem's job.",
           "type": "string"
         },
         "unifiedWorkerRequest": {
@@ -4836,14 +5088,14 @@
           "type": "object"
         },
         "workItemStatuses": {
-          "description": "The order is unimportant, except that the order of the\nWorkItemServiceState messages in the ReportWorkItemStatusResponse\ncorresponds to the order of WorkItemStatus messages here.",
+          "description": "The order is unimportant, except that the order of the WorkItemServiceState messages in the ReportWorkItemStatusResponse corresponds to the order of WorkItemStatus messages here.",
           "items": {
             "$ref": "WorkItemStatus"
           },
           "type": "array"
         },
         "workerId": {
-          "description": "The ID of the worker reporting the WorkItem status.  If this\ndoes not match the ID of the worker which the Dataflow service\nbelieves currently has the lease on the WorkItem, the report\nwill be dropped (with an error response).",
+          "description": "The ID of the worker reporting the WorkItem status. If this does not match the ID of the worker which the Dataflow service believes currently has the lease on the WorkItem, the report will be dropped (with an error response).",
           "type": "string"
         }
       },
@@ -4862,7 +5114,7 @@
           "type": "object"
         },
         "workItemServiceStates": {
-          "description": "A set of messages indicating the service-side state for each\nWorkItem whose status was reported, in the same order as the\nWorkItemStatus messages in the ReportWorkItemStatusRequest which\nresulting in this response.",
+          "description": "A set of messages indicating the service-side state for each WorkItem whose status was reported, in the same order as the WorkItemStatus messages in the ReportWorkItemStatusRequest which resulting in this response.",
           "items": {
             "$ref": "WorkItemServiceState"
           },
@@ -4872,11 +5124,11 @@
       "type": "object"
     },
     "ReportedParallelism": {
-      "description": "Represents the level of parallelism in a WorkItem's input,\nreported by the worker.",
+      "description": "Represents the level of parallelism in a WorkItem's input, reported by the worker.",
       "id": "ReportedParallelism",
       "properties": {
         "isInfinite": {
-          "description": "Specifies whether the parallelism is infinite. If true, \"value\" is\nignored.\nInfinite parallelism means the service will assume that the work item\ncan always be split into more non-empty work items by dynamic splitting.\nThis is a work-around for lack of support for infinity by the current\nJSON-based Java RPC stack.",
+          "description": "Specifies whether the parallelism is infinite. If true, \"value\" is ignored. Infinite parallelism means the service will assume that the work item can always be split into more non-empty work items by dynamic splitting. This is a work-around for lack of support for infinity by the current JSON-based Java RPC stack.",
           "type": "boolean"
         },
         "value": {
@@ -4888,14 +5140,14 @@
       "type": "object"
     },
     "ResourceUtilizationReport": {
-      "description": "Worker metrics exported from workers. This contains resource utilization\nmetrics accumulated from a variety of sources. For more information, see\ngo/df-resource-signals.",
+      "description": "Worker metrics exported from workers. This contains resource utilization metrics accumulated from a variety of sources. For more information, see go/df-resource-signals.",
       "id": "ResourceUtilizationReport",
       "properties": {
         "containers": {
           "additionalProperties": {
             "$ref": "ResourceUtilizationReport"
           },
-          "description": "Per container information.\nKey: container name.",
+          "description": "Per container information. Key: container name.",
           "type": "object"
         },
         "cpuTime": {
@@ -4936,11 +5188,15 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Additional user labels to be specified for the job.\nKeys and values should follow the restrictions specified in the [labeling\nrestrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions)\npage.",
+          "description": "Additional user labels to be specified for the job. Keys and values should follow the restrictions specified in the [labeling restrictions](https://cloud.google.com/compute/docs/labeling-resources#restrictions) page.",
           "type": "object"
         },
         "bypassTempDirValidation": {
-          "description": "Whether to bypass the safety checks for the job's temporary directory.\nUse with caution.",
+          "description": "Whether to bypass the safety checks for the job's temporary directory. Use with caution.",
+          "type": "boolean"
+        },
+        "enableStreamingEngine": {
+          "description": "Whether to enable Streaming Engine for the job.",
           "type": "boolean"
         },
         "ipConfiguration": {
@@ -4958,20 +5214,20 @@
           "type": "string"
         },
         "kmsKeyName": {
-          "description": "Optional. Name for the Cloud KMS key for the job.\nKey format is:\nprojects/\u003cproject\u003e/locations/\u003clocation\u003e/keyRings/\u003ckeyring\u003e/cryptoKeys/\u003ckey\u003e",
+          "description": "Optional. Name for the Cloud KMS key for the job. Key format is: projects//locations//keyRings//cryptoKeys/",
           "type": "string"
         },
         "machineType": {
-          "description": "The machine type to use for the job. Defaults to the value from the\ntemplate if not specified.",
+          "description": "The machine type to use for the job. Defaults to the value from the template if not specified.",
           "type": "string"
         },
         "maxWorkers": {
-          "description": "The maximum number of Google Compute Engine instances to be made\navailable to your pipeline during execution, from 1 to 1000.",
+          "description": "The maximum number of Google Compute Engine instances to be made available to your pipeline during execution, from 1 to 1000.",
           "format": "int32",
           "type": "integer"
         },
         "network": {
-          "description": "Network to which VMs will be assigned.  If empty or unspecified,\nthe service will use the network \"default\".",
+          "description": "Network to which VMs will be assigned. If empty or unspecified, the service will use the network \"default\".",
           "type": "string"
         },
         "numWorkers": {
@@ -4984,23 +5240,23 @@
           "type": "string"
         },
         "subnetwork": {
-          "description": "Subnetwork to which VMs will be assigned, if desired.  Expected to be of\nthe form \"regions/REGION/subnetworks/SUBNETWORK\".",
+          "description": "Subnetwork to which VMs will be assigned, if desired. Expected to be of the form \"regions/REGION/subnetworks/SUBNETWORK\".",
           "type": "string"
         },
         "tempLocation": {
-          "description": "The Cloud Storage path to use for temporary files.\nMust be a valid Cloud Storage URL, beginning with `gs://`.",
+          "description": "The Cloud Storage path to use for temporary files. Must be a valid Cloud Storage URL, beginning with `gs://`.",
           "type": "string"
         },
         "workerRegion": {
-          "description": "The Compute Engine region\n(https://cloud.google.com/compute/docs/regions-zones/regions-zones) in\nwhich worker processing should occur, e.g. \"us-west1\". Mutually exclusive\nwith worker_zone. If neither worker_region nor worker_zone is specified,\ndefault to the control plane's region.",
+          "description": "The Compute Engine region (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. \"us-west1\". Mutually exclusive with worker_zone. If neither worker_region nor worker_zone is specified, default to the control plane's region.",
           "type": "string"
         },
         "workerZone": {
-          "description": "The Compute Engine zone\n(https://cloud.google.com/compute/docs/regions-zones/regions-zones) in\nwhich worker processing should occur, e.g. \"us-west1-a\". Mutually exclusive\nwith worker_region. If neither worker_region nor worker_zone is specified,\na zone in the control plane's region is chosen based on available capacity.\nIf both `worker_zone` and `zone` are set, `worker_zone` takes precedence.",
+          "description": "The Compute Engine zone (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. \"us-west1-a\". Mutually exclusive with worker_region. If neither worker_region nor worker_zone is specified, a zone in the control plane's region is chosen based on available capacity. If both `worker_zone` and `zone` are set, `worker_zone` takes precedence.",
           "type": "string"
         },
         "zone": {
-          "description": "The Compute Engine [availability\nzone](https://cloud.google.com/compute/docs/regions-zones/regions-zones)\nfor launching worker instances to run your pipeline.\nIn the future, worker_zone will take precedence.",
+          "description": "The Compute Engine [availability zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones) for launching worker instances to run your pipeline. In the future, worker_zone will take precedence.",
           "type": "string"
         }
       },
@@ -5058,7 +5314,7 @@
           "type": "string"
         },
         "useSingleCorePerContainer": {
-          "description": "If true, recommends the Dataflow service to use only one core per SDK\ncontainer instance with this image. If false (or unset) recommends using\nmore than one core per SDK container instance with this image for\nefficiency. Note that Dataflow service may choose to override this property\nif needed.",
+          "description": "If true, recommends the Dataflow service to use only one core per SDK container instance with this image. If false (or unset) recommends using more than one core per SDK container instance with this image for efficiency. Note that Dataflow service may choose to override this property if needed.",
           "type": "boolean"
         }
       },
@@ -5081,7 +5337,7 @@
             "Cloud Dataflow is unaware of this version.",
             "This is a known version of an SDK, and is supported.",
             "A newer version of the SDK family exists, and an update is recommended.",
-            "This version of the SDK is deprecated and will eventually be no\nlonger supported.",
+            "This version of the SDK is deprecated and will eventually be no longer supported.",
             "Support for this SDK version has ended and it should no longer be used."
           ],
           "type": "string"
@@ -5110,7 +5366,7 @@
           "type": "string"
         },
         "location": {
-          "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains the job specified by job_id.",
+          "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the job specified by job_id.",
           "type": "string"
         },
         "workerId": {
@@ -5121,7 +5377,7 @@
       "type": "object"
     },
     "SendDebugCaptureResponse": {
-      "description": "Response to a send capture request.\nnothing",
+      "description": "Response to a send capture request. nothing",
       "id": "SendDebugCaptureResponse",
       "properties": {},
       "type": "object"
@@ -5131,7 +5387,7 @@
       "id": "SendWorkerMessagesRequest",
       "properties": {
         "location": {
-          "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains the job.",
+          "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the job.",
           "type": "string"
         },
         "workerMessages": {
@@ -5181,11 +5437,11 @@
           "type": "array"
         },
         "stageName": {
-          "description": "System-defined name of the stage containing the SeqDo operation.\nUnique across the workflow.",
+          "description": "System-defined name of the stage containing the SeqDo operation. Unique across the workflow.",
           "type": "string"
         },
         "systemName": {
-          "description": "System-defined name of the SeqDo operation.\nUnique across the workflow.",
+          "description": "System-defined name of the SeqDo operation. Unique across the workflow.",
           "type": "string"
         },
         "userFn": {
@@ -5243,14 +5499,14 @@
           "type": "object"
         },
         "sources": {
-          "description": "The source(s) to read element(s) from to get the value of this side input.\nIf more than one source, then the elements are taken from the\nsources, in the specified order if order matters.\nAt least one source is required.",
+          "description": "The source(s) to read element(s) from to get the value of this side input. If more than one source, then the elements are taken from the sources, in the specified order if order matters. At least one source is required.",
           "items": {
             "$ref": "Source"
           },
           "type": "array"
         },
         "tag": {
-          "description": "The id of the tag the user code will access this side input by;\nthis should correspond to the tag of some MultiOutputInfo.",
+          "description": "The id of the tag the user code will access this side input by; this should correspond to the tag of some MultiOutputInfo.",
           "type": "string"
         }
       },
@@ -5293,7 +5549,7 @@
           "type": "string"
         },
         "diskSizeBytes": {
-          "description": "The disk byte size of the snapshot. Only available for snapshots in READY\nstate.",
+          "description": "The disk byte size of the snapshot. Only available for snapshots in READY state.",
           "format": "int64",
           "type": "string"
         },
@@ -5328,7 +5584,7 @@
           ],
           "enumDescriptions": [
             "Unknown state.",
-            "Snapshot intent to create has been persisted, snapshotting of state has not\nyet started.",
+            "Snapshot intent to create has been persisted, snapshotting of state has not yet started.",
             "Snapshotting is being performed.",
             "Snapshot has been created and is ready to be used.",
             "Snapshot failed to be created.",
@@ -5373,7 +5629,7 @@
       "id": "Source",
       "properties": {
         "baseSpecs": {
-          "description": "While splitting, sources may specify the produced bundles\nas differences against another source, in order to save backend-side\nmemory and allow bigger jobs. For details, see SourceSplitRequest.\nTo support this use case, the full set of parameters of the source\nis logically obtained by taking the latest explicitly specified value\nof each parameter in the order:\nbase_specs (later items win), spec (overrides anything in base_specs).",
+          "description": "While splitting, sources may specify the produced bundles as differences against another source, in order to save backend-side memory and allow bigger jobs. For details, see SourceSplitRequest. To support this use case, the full set of parameters of the source is logically obtained by taking the latest explicitly specified value of each parameter in the order: base_specs (later items win), spec (overrides anything in base_specs).",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object.",
@@ -5392,12 +5648,12 @@
           "type": "object"
         },
         "doesNotNeedSplitting": {
-          "description": "Setting this value to true hints to the framework that the source\ndoesn't need splitting, and using SourceSplitRequest on it would\nyield SOURCE_SPLIT_OUTCOME_USE_CURRENT.\n\nE.g. a file splitter may set this to true when splitting a single file\ninto a set of byte ranges of appropriate size, and set this\nto false when splitting a filepattern into individual files.\nHowever, for efficiency, a file splitter may decide to produce\nfile subranges directly from the filepattern to avoid a splitting\nround-trip.\n\nSee SourceSplitRequest for an overview of the splitting process.\n\nThis field is meaningful only in the Source objects populated\nby the user (e.g. when filling in a DerivedSource).\nSource objects supplied by the framework to the user don't have\nthis field populated.",
+          "description": "Setting this value to true hints to the framework that the source doesn't need splitting, and using SourceSplitRequest on it would yield SOURCE_SPLIT_OUTCOME_USE_CURRENT. E.g. a file splitter may set this to true when splitting a single file into a set of byte ranges of appropriate size, and set this to false when splitting a filepattern into individual files. However, for efficiency, a file splitter may decide to produce file subranges directly from the filepattern to avoid a splitting round-trip. See SourceSplitRequest for an overview of the splitting process. This field is meaningful only in the Source objects populated by the user (e.g. when filling in a DerivedSource). Source objects supplied by the framework to the user don't have this field populated.",
           "type": "boolean"
         },
         "metadata": {
           "$ref": "SourceMetadata",
-          "description": "Optionally, metadata for this source can be supplied right away,\navoiding a SourceGetMetadataOperation roundtrip\n(see SourceOperationRequest).\n\nThis field is meaningful only in the Source objects populated\nby the user (e.g. when filling in a DerivedSource).\nSource objects supplied by the framework to the user don't have\nthis field populated."
+          "description": "Optionally, metadata for this source can be supplied right away, avoiding a SourceGetMetadataOperation roundtrip (see SourceOperationRequest). This field is meaningful only in the Source objects populated by the user (e.g. when filling in a DerivedSource). Source objects supplied by the framework to the user don't have this field populated."
         },
         "spec": {
           "additionalProperties": {
@@ -5456,27 +5712,27 @@
       "type": "object"
     },
     "SourceMetadata": {
-      "description": "Metadata about a Source useful for automatically optimizing\nand tuning the pipeline, etc.",
+      "description": "Metadata about a Source useful for automatically optimizing and tuning the pipeline, etc.",
       "id": "SourceMetadata",
       "properties": {
         "estimatedSizeBytes": {
-          "description": "An estimate of the total size (in bytes) of the data that would be\nread from this source.  This estimate is in terms of external storage\nsize, before any decompression or other processing done by the reader.",
+          "description": "An estimate of the total size (in bytes) of the data that would be read from this source. This estimate is in terms of external storage size, before any decompression or other processing done by the reader.",
           "format": "int64",
           "type": "string"
         },
         "infinite": {
-          "description": "Specifies that the size of this source is known to be infinite\n(this is a streaming source).",
+          "description": "Specifies that the size of this source is known to be infinite (this is a streaming source).",
           "type": "boolean"
         },
         "producesSortedKeys": {
-          "description": "Whether this source is known to produce key/value pairs with\nthe (encoded) keys in lexicographically sorted order.",
+          "description": "Whether this source is known to produce key/value pairs with the (encoded) keys in lexicographically sorted order.",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "SourceOperationRequest": {
-      "description": "A work item that represents the different operations that can be\nperformed on a user-defined Source specification.",
+      "description": "A work item that represents the different operations that can be performed on a user-defined Source specification.",
       "id": "SourceOperationRequest",
       "properties": {
         "getMetadata": {
@@ -5488,7 +5744,7 @@
           "type": "string"
         },
         "originalName": {
-          "description": "System-defined name for the Read instruction for this source\nin the original workflow graph.",
+          "description": "System-defined name for the Read instruction for this source in the original workflow graph.",
           "type": "string"
         },
         "split": {
@@ -5496,18 +5752,18 @@
           "description": "Information about a request to split a source."
         },
         "stageName": {
-          "description": "System-defined name of the stage containing the source operation.\nUnique across the workflow.",
+          "description": "System-defined name of the stage containing the source operation. Unique across the workflow.",
           "type": "string"
         },
         "systemName": {
-          "description": "System-defined name of the Read instruction for this source.\nUnique across the workflow.",
+          "description": "System-defined name of the Read instruction for this source. Unique across the workflow.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "SourceOperationResponse": {
-      "description": "The result of a SourceOperationRequest, specified in\nReportWorkItemStatusRequest.source_operation when the work item\nis completed.",
+      "description": "The result of a SourceOperationRequest, specified in ReportWorkItemStatusRequest.source_operation when the work item is completed.",
       "id": "SourceOperationResponse",
       "properties": {
         "getMetadata": {
@@ -5522,11 +5778,11 @@
       "type": "object"
     },
     "SourceSplitOptions": {
-      "description": "Hints for splitting a Source into bundles (parts for parallel\nprocessing) using SourceSplitRequest.",
+      "description": "Hints for splitting a Source into bundles (parts for parallel processing) using SourceSplitRequest.",
       "id": "SourceSplitOptions",
       "properties": {
         "desiredBundleSizeBytes": {
-          "description": "The source should be split into a set of bundles where the estimated size\nof each is approximately this many bytes.",
+          "description": "The source should be split into a set of bundles where the estimated size of each is approximately this many bytes.",
           "format": "int64",
           "type": "string"
         },
@@ -5539,7 +5795,7 @@
       "type": "object"
     },
     "SourceSplitRequest": {
-      "description": "Represents the operation to split a high-level Source specification\ninto bundles (parts for parallel processing).\n\nAt a high level, splitting of a source into bundles happens as follows:\nSourceSplitRequest is applied to the source. If it returns\nSOURCE_SPLIT_OUTCOME_USE_CURRENT, no further splitting happens and the source\nis used \"as is\". Otherwise, splitting is applied recursively to each\nproduced DerivedSource.\n\nAs an optimization, for any Source, if its does_not_need_splitting is\ntrue, the framework assumes that splitting this source would return\nSOURCE_SPLIT_OUTCOME_USE_CURRENT, and doesn't initiate a SourceSplitRequest.\nThis applies both to the initial source being split and to bundles\nproduced from it.",
+      "description": "Represents the operation to split a high-level Source specification into bundles (parts for parallel processing). At a high level, splitting of a source into bundles happens as follows: SourceSplitRequest is applied to the source. If it returns SOURCE_SPLIT_OUTCOME_USE_CURRENT, no further splitting happens and the source is used \"as is\". Otherwise, splitting is applied recursively to each produced DerivedSource. As an optimization, for any Source, if its does_not_need_splitting is true, the framework assumes that splitting this source would return SOURCE_SPLIT_OUTCOME_USE_CURRENT, and doesn't initiate a SourceSplitRequest. This applies both to the initial source being split and to bundles produced from it.",
       "id": "SourceSplitRequest",
       "properties": {
         "options": {
@@ -5558,14 +5814,14 @@
       "id": "SourceSplitResponse",
       "properties": {
         "bundles": {
-          "description": "If outcome is SPLITTING_HAPPENED, then this is a list of bundles\ninto which the source was split. Otherwise this field is ignored.\nThis list can be empty, which means the source represents an empty input.",
+          "description": "If outcome is SPLITTING_HAPPENED, then this is a list of bundles into which the source was split. Otherwise this field is ignored. This list can be empty, which means the source represents an empty input.",
           "items": {
             "$ref": "DerivedSource"
           },
           "type": "array"
         },
         "outcome": {
-          "description": "Indicates whether splitting happened and produced a list of bundles.\nIf this is USE_CURRENT_SOURCE_AS_IS, the current source should\nbe processed \"as is\" without splitting. \"bundles\" is ignored in this case.\nIf this is SPLITTING_HAPPENED, then \"bundles\" contains a list of\nbundles into which the source was split.",
+          "description": "Indicates whether splitting happened and produced a list of bundles. If this is USE_CURRENT_SOURCE_AS_IS, the current source should be processed \"as is\" without splitting. \"bundles\" is ignored in this case. If this is SPLITTING_HAPPENED, then \"bundles\" contains a list of bundles into which the source was split.",
           "enum": [
             "SOURCE_SPLIT_OUTCOME_UNKNOWN",
             "SOURCE_SPLIT_OUTCOME_USE_CURRENT",
@@ -5635,7 +5891,7 @@
       "type": "object"
     },
     "SplitInt64": {
-      "description": "A representation of an int64, n, that is immune to precision loss when\nencoded in JSON.",
+      "description": "A representation of an int64, n, that is immune to precision loss when encoded in JSON.",
       "id": "SplitInt64",
       "properties": {
         "highBits": {
@@ -5651,6 +5907,24 @@
       },
       "type": "object"
     },
+    "StageExecutionDetails": {
+      "description": "Information about the workers and work items within a stage.",
+      "id": "StageExecutionDetails",
+      "properties": {
+        "nextPageToken": {
+          "description": "If present, this response does not contain all requested tasks. To obtain the next page of results, repeat the request with page_token set to this value.",
+          "type": "string"
+        },
+        "workers": {
+          "description": "Workers that have done work on the stage.",
+          "items": {
+            "$ref": "WorkerDetails"
+          },
+          "type": "array"
+        }
+      },
+      "type": "object"
+    },
     "StageSource": {
       "description": "Description of an input or output of an execution stage.",
       "id": "StageSource",
@@ -5660,7 +5934,7 @@
           "type": "string"
         },
         "originalTransformOrCollection": {
-          "description": "User name for the original user transform or collection with which this\nsource is most closely associated.",
+          "description": "User name for the original user transform or collection with which this source is most closely associated.",
           "type": "string"
         },
         "sizeBytes": {
@@ -5675,6 +5949,58 @@
       },
       "type": "object"
     },
+    "StageSummary": {
+      "description": "Information about a particular execution stage of a job.",
+      "id": "StageSummary",
+      "properties": {
+        "endTime": {
+          "description": "End time of this stage. If the work item is completed, this is the actual end time of the stage. Otherwise, it is the predicted end time.",
+          "format": "google-datetime",
+          "type": "string"
+        },
+        "metrics": {
+          "description": "Metrics for this stage.",
+          "items": {
+            "$ref": "MetricUpdate"
+          },
+          "type": "array"
+        },
+        "progress": {
+          "$ref": "ProgressTimeseries",
+          "description": "Progress for this stage. Only applicable to Batch jobs."
+        },
+        "stageId": {
+          "description": "ID of this stage",
+          "type": "string"
+        },
+        "startTime": {
+          "description": "Start time of this stage.",
+          "format": "google-datetime",
+          "type": "string"
+        },
+        "state": {
+          "description": "State of this stage.",
+          "enum": [
+            "EXECUTION_STATE_UNKNOWN",
+            "EXECUTION_STATE_NOT_STARTED",
+            "EXECUTION_STATE_RUNNING",
+            "EXECUTION_STATE_SUCCEEDED",
+            "EXECUTION_STATE_FAILED",
+            "EXECUTION_STATE_CANCELLED"
+          ],
+          "enumDescriptions": [
+            "The component state is unknown or unspecified.",
+            "The component is not yet running.",
+            "The component is currently running.",
+            "The component succeeded.",
+            "The component failed.",
+            "Execution of the component was cancelled."
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "StateFamilyConfig": {
       "description": "State family configuration.",
       "id": "StateFamilyConfig",
@@ -5691,7 +6017,7 @@
       "type": "object"
     },
     "Status": {
-      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "Status",
       "properties": {
         "code": {
@@ -5700,7 +6026,7 @@
           "type": "integer"
         },
         "details": {
-          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -5711,14 +6037,14 @@
           "type": "array"
         },
         "message": {
-          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Step": {
-      "description": "Defines a particular step within a Cloud Dataflow job.\n\nA job consists of multiple steps, each of which performs some\nspecific operation as part of the overall job.  Data is typically\npassed from one step to another as part of the job.\n\nHere's an example of a sequence of steps which together implement a\nMap-Reduce job:\n\n  * Read a collection of data from some source, parsing the\n    collection's elements.\n\n  * Validate the elements.\n\n  * Apply a user-defined function to map each element to some value\n    and extract an element-specific key value.\n\n  * Group elements with the same key into a single element with\n    that key, transforming a multiply-keyed collection into a\n    uniquely-keyed collection.\n\n  * Write the elements out to some data sink.\n\nNote that the Cloud Dataflow service may be used to run many different\ntypes of jobs, not just Map-Reduce.",
+      "description": "Defines a particular step within a Cloud Dataflow job. A job consists of multiple steps, each of which performs some specific operation as part of the overall job. Data is typically passed from one step to another as part of the job. Here's an example of a sequence of steps which together implement a Map-Reduce job: * Read a collection of data from some source, parsing the collection's elements. * Validate the elements. * Apply a user-defined function to map each element to some value and extract an element-specific key value. * Group elements with the same key into a single element with that key, transforming a multiply-keyed collection into a uniquely-keyed collection. * Write the elements out to some data sink. Note that the Cloud Dataflow service may be used to run many different types of jobs, not just Map-Reduce.",
       "id": "Step",
       "properties": {
         "kind": {
@@ -5726,7 +6052,7 @@
           "type": "string"
         },
         "name": {
-          "description": "The name that identifies the step. This must be unique for each\nstep with respect to all other steps in the Cloud Dataflow job.",
+          "description": "The name that identifies the step. This must be unique for each step with respect to all other steps in the Cloud Dataflow job.",
           "type": "string"
         },
         "properties": {
@@ -5734,14 +6060,14 @@
             "description": "Properties of the object.",
             "type": "any"
           },
-          "description": "Named properties associated with the step. Each kind of\npredefined step has its own required set of properties.\nMust be provided on Create.  Only retrieved with JOB_VIEW_ALL.",
+          "description": "Named properties associated with the step. Each kind of predefined step has its own required set of properties. Must be provided on Create. Only retrieved with JOB_VIEW_ALL.",
           "type": "object"
         }
       },
       "type": "object"
     },
     "StreamLocation": {
-      "description": "Describes a stream of data, either as input to be processed or as\noutput of a streaming Dataflow job.",
+      "description": "Describes a stream of data, either as input to be processed or as output of a streaming Dataflow job.",
       "id": "StreamLocation",
       "properties": {
         "customSourceLocation": {
@@ -5758,7 +6084,7 @@
         },
         "streamingStageLocation": {
           "$ref": "StreamingStageLocation",
-          "description": "The stream is part of another computation within the current\nstreaming Dataflow job."
+          "description": "The stream is part of another computation within the current streaming Dataflow job."
         }
       },
       "type": "object"
@@ -5805,14 +6131,14 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Map from user name of stateful transforms in this stage to their state\nfamily.",
+          "description": "Map from user name of stateful transforms in this stage to their state family.",
           "type": "object"
         }
       },
       "type": "object"
     },
     "StreamingComputationRanges": {
-      "description": "Describes full or partial data disk assignment information of the computation\nranges.",
+      "description": "Describes full or partial data disk assignment information of the computation ranges.",
       "id": "StreamingComputationRanges",
       "properties": {
         "computationId": {
@@ -5830,7 +6156,7 @@
       "type": "object"
     },
     "StreamingComputationTask": {
-      "description": "A task which describes what action should be performed for the specified\nstreaming computation ranges.",
+      "description": "A task which describes what action should be performed for the specified streaming computation ranges.",
       "id": "StreamingComputationTask",
       "properties": {
         "computationRanges": {
@@ -5898,11 +6224,11 @@
           "type": "object"
         },
         "windmillServiceEndpoint": {
-          "description": "If present, the worker must use this endpoint to communicate with Windmill\nService dispatchers, otherwise the worker must continue to use whatever\nendpoint it had been using.",
+          "description": "If present, the worker must use this endpoint to communicate with Windmill Service dispatchers, otherwise the worker must continue to use whatever endpoint it had been using.",
           "type": "string"
         },
         "windmillServicePort": {
-          "description": "If present, the worker must use this port to communicate with Windmill\nService dispatchers. Only applicable when windmill_service_endpoint is\nspecified.",
+          "description": "If present, the worker must use this port to communicate with Windmill Service dispatchers. Only applicable when windmill_service_endpoint is specified.",
           "format": "int64",
           "type": "string"
         }
@@ -5918,7 +6244,7 @@
           "type": "boolean"
         },
         "receiveWorkPort": {
-          "description": "The TCP port on which the worker should listen for messages from\nother streaming computation workers.",
+          "description": "The TCP port on which the worker should listen for messages from other streaming computation workers.",
           "format": "int32",
           "type": "integer"
         },
@@ -5931,7 +6257,7 @@
           "description": "The global topology of the streaming Dataflow job."
         },
         "workerHarnessPort": {
-          "description": "The TCP port used by the worker to communicate with the Dataflow\nworker harness.",
+          "description": "The TCP port used by the worker to communicate with the Dataflow worker harness.",
           "format": "int32",
           "type": "integer"
         }
@@ -5954,11 +6280,11 @@
       "type": "object"
     },
     "StreamingStageLocation": {
-      "description": "Identifies the location of a streaming computation stage, for\nstage-to-stage communication.",
+      "description": "Identifies the location of a streaming computation stage, for stage-to-stage communication.",
       "id": "StreamingStageLocation",
       "properties": {
         "streamId": {
-          "description": "Identifies the particular stream within the streaming Dataflow\njob.",
+          "description": "Identifies the particular stream within the streaming Dataflow job.",
           "type": "string"
         }
       },
@@ -5979,11 +6305,11 @@
       "type": "object"
     },
     "StructuredMessage": {
-      "description": "A rich message format, including a human readable string, a key for\nidentifying the message, and structured data associated with the message for\nprogrammatic consumption.",
+      "description": "A rich message format, including a human readable string, a key for identifying the message, and structured data associated with the message for programmatic consumption.",
       "id": "StructuredMessage",
       "properties": {
         "messageKey": {
-          "description": "Identifier for this message type.  Used by external systems to\ninternationalize or personalize message.",
+          "description": "Identifier for this message type. Used by external systems to internationalize or personalize message.",
           "type": "string"
         },
         "messageText": {
@@ -6013,7 +6339,7 @@
           "type": "string"
         },
         "baseUrl": {
-          "description": "The base URL for the taskrunner to use when accessing Google Cloud APIs.\n\nWhen workers access Google Cloud APIs, they logically do so via\nrelative URLs.  If this field is specified, it supplies the base\nURL to use for resolving these relative URLs.  The normative\nalgorithm used is defined by RFC 1808, \"Relative Uniform Resource\nLocators\".\n\nIf not specified, the default value is \"http://www.googleapis.com/\"",
+          "description": "The base URL for the taskrunner to use when accessing Google Cloud APIs. When workers access Google Cloud APIs, they logically do so via relative URLs. If this field is specified, it supplies the base URL to use for resolving these relative URLs. The normative algorithm used is defined by RFC 1808, \"Relative Uniform Resource Locators\". If not specified, the default value is \"http://www.googleapis.com/\"",
           "type": "string"
         },
         "commandlinesFileName": {
@@ -6041,15 +6367,15 @@
           "type": "string"
         },
         "logToSerialconsole": {
-          "description": "Whether to send taskrunner log info to Google Compute Engine VM serial\nconsole.",
+          "description": "Whether to send taskrunner log info to Google Compute Engine VM serial console.",
           "type": "boolean"
         },
         "logUploadLocation": {
-          "description": "Indicates where to put logs.  If this is not specified, the logs\nwill not be uploaded.\n\nThe supported resource type is:\n\nGoogle Cloud Storage:\n  storage.googleapis.com/{bucket}/{object}\n  bucket.storage.googleapis.com/{object}",
+          "description": "Indicates where to put logs. If this is not specified, the logs will not be uploaded. The supported resource type is: Google Cloud Storage: storage.googleapis.com/{bucket}/{object} bucket.storage.googleapis.com/{object}",
           "type": "string"
         },
         "oauthScopes": {
-          "description": "The OAuth2 scopes to be requested by the taskrunner in order to\naccess the Cloud Dataflow API.",
+          "description": "The OAuth2 scopes to be requested by the taskrunner in order to access the Cloud Dataflow API.",
           "items": {
             "type": "string"
           },
@@ -6064,15 +6390,15 @@
           "type": "string"
         },
         "taskGroup": {
-          "description": "The UNIX group ID on the worker VM to use for tasks launched by\ntaskrunner; e.g. \"wheel\".",
+          "description": "The UNIX group ID on the worker VM to use for tasks launched by taskrunner; e.g. \"wheel\".",
           "type": "string"
         },
         "taskUser": {
-          "description": "The UNIX user ID on the worker VM to use for tasks launched by\ntaskrunner; e.g. \"root\".",
+          "description": "The UNIX user ID on the worker VM to use for tasks launched by taskrunner; e.g. \"root\".",
           "type": "string"
         },
         "tempStoragePrefix": {
-          "description": "The prefix of the resources the taskrunner should use for\ntemporary storage.\n\nThe supported resource type is:\n\nGoogle Cloud Storage:\n  storage.googleapis.com/{bucket}/{object}\n  bucket.storage.googleapis.com/{object}",
+          "description": "The prefix of the resources the taskrunner should use for temporary storage. The supported resource type is: Google Cloud Storage: storage.googleapis.com/{bucket}/{object} bucket.storage.googleapis.com/{object}",
           "type": "string"
         },
         "vmId": {
@@ -6109,12 +6435,12 @@
       "type": "object"
     },
     "TemplateVersion": {
-      "description": "/////////////////////////////////////////////////////////////////////////////\n//// Template Catalog is used to organize user TemplateVersions.\n//// TemplateVersions that have the same project_id and display_name are\n//// belong to the same Template.\n//// Templates with the same project_id belong to the same Project.\n//// TemplateVersion may have labels and multiple labels are allowed.\n//// Duplicated labels in the same `TemplateVersion` are not allowed.\n//// TemplateVersion may have tags and multiple tags are allowed. Duplicated\n//// tags in the same `Template` are not allowed!",
+      "description": "///////////////////////////////////////////////////////////////////////////// //// Template Catalog is used to organize user TemplateVersions. //// TemplateVersions that have the same project_id and display_name are //// belong to the same Template. //// Templates with the same project_id belong to the same Project. //// TemplateVersion may have labels and multiple labels are allowed. //// Duplicated labels in the same `TemplateVersion` are not allowed. //// TemplateVersion may have tags and multiple tags are allowed. Duplicated //// tags in the same `Template` are not allowed!",
       "id": "TemplateVersion",
       "properties": {
         "artifact": {
           "$ref": "Artifact",
-          "description": "Job graph and metadata if it is a legacy Template.\nContainer image path and metadata if it is flex Template."
+          "description": "Job graph and metadata if it is a legacy Template. Container image path and metadata if it is flex Template."
         },
         "createTime": {
           "description": "Creation time of this TemplateVersion.",
@@ -6169,7 +6495,7 @@
       "type": "object"
     },
     "TopologyConfig": {
-      "description": "Global topology of the streaming Dataflow job, including all\ncomputations and their sharded locations.",
+      "description": "Global topology of the streaming Dataflow job, including all computations and their sharded locations.",
       "id": "TopologyConfig",
       "properties": {
         "computations": {
@@ -6259,7 +6585,7 @@
           "type": "string"
         },
         "outputCollectionName": {
-          "description": "User  names for all collection outputs to this transform.",
+          "description": "User names for all collection outputs to this transform.",
           "items": {
             "type": "string"
           },
@@ -6284,7 +6610,7 @@
       "type": "object"
     },
     "WorkItem": {
-      "description": "WorkItem represents basic information about a WorkItem to be executed\nin the cloud.",
+      "description": "WorkItem represents basic information about a WorkItem to be executed in the cloud.",
       "id": "WorkItem",
       "properties": {
         "configuration": {
@@ -6315,7 +6641,7 @@
           "description": "Additional information for MapTask WorkItems."
         },
         "packages": {
-          "description": "Any required packages that need to be fetched in order to execute\nthis WorkItem.",
+          "description": "Any required packages that need to be fetched in order to execute this WorkItem.",
           "items": {
             "$ref": "Package"
           },
@@ -6357,25 +6683,81 @@
       },
       "type": "object"
     },
+    "WorkItemDetails": {
+      "description": "Information about an individual work item execution.",
+      "id": "WorkItemDetails",
+      "properties": {
+        "attemptId": {
+          "description": "Attempt ID of this work item",
+          "type": "string"
+        },
+        "endTime": {
+          "description": "End time of this work item attempt. If the work item is completed, this is the actual end time of the work item. Otherwise, it is the predicted end time.",
+          "format": "google-datetime",
+          "type": "string"
+        },
+        "metrics": {
+          "description": "Metrics for this work item.",
+          "items": {
+            "$ref": "MetricUpdate"
+          },
+          "type": "array"
+        },
+        "progress": {
+          "$ref": "ProgressTimeseries",
+          "description": "Progress of this work item."
+        },
+        "startTime": {
+          "description": "Start time of this work item attempt.",
+          "format": "google-datetime",
+          "type": "string"
+        },
+        "state": {
+          "description": "State of this work item.",
+          "enum": [
+            "EXECUTION_STATE_UNKNOWN",
+            "EXECUTION_STATE_NOT_STARTED",
+            "EXECUTION_STATE_RUNNING",
+            "EXECUTION_STATE_SUCCEEDED",
+            "EXECUTION_STATE_FAILED",
+            "EXECUTION_STATE_CANCELLED"
+          ],
+          "enumDescriptions": [
+            "The component state is unknown or unspecified.",
+            "The component is not yet running.",
+            "The component is currently running.",
+            "The component succeeded.",
+            "The component failed.",
+            "Execution of the component was cancelled."
+          ],
+          "type": "string"
+        },
+        "taskId": {
+          "description": "Name of this work item.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "WorkItemServiceState": {
-      "description": "The Dataflow service's idea of the current state of a WorkItem\nbeing processed by a worker.",
+      "description": "The Dataflow service's idea of the current state of a WorkItem being processed by a worker.",
       "id": "WorkItemServiceState",
       "properties": {
         "completeWorkStatus": {
           "$ref": "Status",
-          "description": "If set, a request to complete the work item with the given status. This\nwill not be set to OK, unless supported by the specific kind of WorkItem.\nIt can be used for the backend to indicate a WorkItem must terminate, e.g.,\nfor aborting work."
+          "description": "If set, a request to complete the work item with the given status. This will not be set to OK, unless supported by the specific kind of WorkItem. It can be used for the backend to indicate a WorkItem must terminate, e.g., for aborting work."
         },
         "harnessData": {
           "additionalProperties": {
             "description": "Properties of the object.",
             "type": "any"
           },
-          "description": "Other data returned by the service, specific to the particular\nworker harness.",
+          "description": "Other data returned by the service, specific to the particular worker harness.",
           "type": "object"
         },
         "hotKeyDetection": {
           "$ref": "HotKeyDetection",
-          "description": "A hot key is a symptom of poor data distribution in which there are enough\nelements mapped to a single key to impact pipeline performance. When\npresent, this field includes metadata associated with any hot key."
+          "description": "A hot key is a symptom of poor data distribution in which there are enough elements mapped to a single key to impact pipeline performance. When present, this field includes metadata associated with any hot key."
         },
         "leaseExpireTime": {
           "description": "Time at which the current lease will expire.",
@@ -6383,14 +6765,14 @@
           "type": "string"
         },
         "metricShortId": {
-          "description": "The short ids that workers should use in subsequent metric updates.\nWorkers should strive to use short ids whenever possible, but it is ok\nto request the short_id again if a worker lost track of it\n(e.g. if the worker is recovering from a crash).\nNOTE: it is possible that the response may have short ids for a subset\nof the metrics.",
+          "description": "The short ids that workers should use in subsequent metric updates. Workers should strive to use short ids whenever possible, but it is ok to request the short_id again if a worker lost track of it (e.g. if the worker is recovering from a crash). NOTE: it is possible that the response may have short ids for a subset of the metrics.",
           "items": {
             "$ref": "MetricShortId"
           },
           "type": "array"
         },
         "nextReportIndex": {
-          "description": "The index value to use for the next report sent by the worker.\nNote: If the report call fails for whatever reason, the worker should\nreuse this index for subsequent report attempts.",
+          "description": "The index value to use for the next report sent by the worker. Note: If the report call fails for whatever reason, the worker should reuse this index for subsequent report attempts.",
           "format": "int64",
           "type": "string"
         },
@@ -6401,7 +6783,7 @@
         },
         "splitRequest": {
           "$ref": "ApproximateSplitRequest",
-          "description": "The progress point in the WorkItem where the Dataflow service\nsuggests that the worker truncate the task."
+          "description": "The progress point in the WorkItem where the Dataflow service suggests that the worker truncate the task."
         },
         "suggestedStopPoint": {
           "$ref": "ApproximateProgress",
@@ -6434,7 +6816,7 @@
           "description": "See documentation of stop_position."
         },
         "errors": {
-          "description": "Specifies errors which occurred during processing.  If errors are\nprovided, and completed = true, then the WorkItem is considered\nto have failed.",
+          "description": "Specifies errors which occurred during processing. If errors are provided, and completed = true, then the WorkItem is considered to have failed.",
           "items": {
             "$ref": "Status"
           },
@@ -6452,7 +6834,7 @@
           "description": "DEPRECATED in favor of reported_progress."
         },
         "reportIndex": {
-          "description": "The report index.  When a WorkItem is leased, the lease will\ncontain an initial report index.  When a WorkItem's status is\nreported to the system, the report should be sent with\nthat report index, and the response will contain the index the\nworker should use for the next report.  Reports received with\nunexpected index values will be rejected by the service.\n\nIn order to preserve idempotency, the worker should not alter the\ncontents of a report, even if the worker must submit the same\nreport multiple times before getting back a response.  The worker\nshould not submit a subsequent report until the response for the\nprevious report had been received from the service.",
+          "description": "The report index. When a WorkItem is leased, the lease will contain an initial report index. When a WorkItem's status is reported to the system, the report should be sent with that report index, and the response will contain the index the worker should use for the next report. Reports received with unexpected index values will be rejected by the service. In order to preserve idempotency, the worker should not alter the contents of a report, even if the worker must submit the same report multiple times before getting back a response. The worker should not submit a subsequent report until the response for the previous report had been received from the service.",
           "format": "int64",
           "type": "string"
         },
@@ -6471,11 +6853,11 @@
         },
         "sourceOperationResponse": {
           "$ref": "SourceOperationResponse",
-          "description": "If the work item represented a SourceOperationRequest, and the work\nis completed, contains the result of the operation."
+          "description": "If the work item represented a SourceOperationRequest, and the work is completed, contains the result of the operation."
         },
         "stopPosition": {
           "$ref": "Position",
-          "description": "A worker may split an active map task in two parts, \"primary\" and\n\"residual\", continuing to process the primary part and returning the\nresidual part into the pool of available work.\nThis event is called a \"dynamic split\" and is critical to the dynamic\nwork rebalancing feature. The two obtained sub-tasks are called\n\"parts\" of the split.\nThe parts, if concatenated, must represent the same input as would\nbe read by the current task if the split did not happen.\nThe exact way in which the original task is decomposed into the two\nparts is specified either as a position demarcating them\n(stop_position), or explicitly as two DerivedSources, if this\ntask consumes a user-defined source type (dynamic_source_split).\n\nThe \"current\" task is adjusted as a result of the split: after a task\nwith range [A, B) sends a stop_position update at C, its range is\nconsidered to be [A, C), e.g.:\n* Progress should be interpreted relative to the new range, e.g.\n  \"75% completed\" means \"75% of [A, C) completed\"\n* The worker should interpret proposed_stop_position relative to the\n  new range, e.g. \"split at 68%\" should be interpreted as\n  \"split at 68% of [A, C)\".\n* If the worker chooses to split again using stop_position, only\n  stop_positions in [A, C) will be accepted.\n* Etc.\ndynamic_source_split has similar semantics: e.g., if a task with\nsource S splits using dynamic_source_split into {P, R}\n(where P and R must be together equivalent to S), then subsequent\nprogress and proposed_stop_position should be interpreted relative\nto P, and in a potential subsequent dynamic_source_split into {P', R'},\nP' and R' must be together equivalent to P, etc."
+          "description": "A worker may split an active map task in two parts, \"primary\" and \"residual\", continuing to process the primary part and returning the residual part into the pool of available work. This event is called a \"dynamic split\" and is critical to the dynamic work rebalancing feature. The two obtained sub-tasks are called \"parts\" of the split. The parts, if concatenated, must represent the same input as would be read by the current task if the split did not happen. The exact way in which the original task is decomposed into the two parts is specified either as a position demarcating them (stop_position), or explicitly as two DerivedSources, if this task consumes a user-defined source type (dynamic_source_split). The \"current\" task is adjusted as a result of the split: after a task with range [A, B) sends a stop_position update at C, its range is considered to be [A, C), e.g.: * Progress should be interpreted relative to the new range, e.g. \"75% completed\" means \"75% of [A, C) completed\" * The worker should interpret proposed_stop_position relative to the new range, e.g. \"split at 68%\" should be interpreted as \"split at 68% of [A, C)\". * If the worker chooses to split again using stop_position, only stop_positions in [A, C) will be accepted. * Etc. dynamic_source_split has similar semantics: e.g., if a task with source S splits using dynamic_source_split into {P, R} (where P and R must be together equivalent to S), then subsequent progress and proposed_stop_position should be interpreted relative to P, and in a potential subsequent dynamic_source_split into {P', R'}, P' and R' must be together equivalent to P, etc."
         },
         "totalThrottlerWaitTimeSeconds": {
           "description": "Total time the worker spent being throttled by external systems.",
@@ -6489,8 +6871,26 @@
       },
       "type": "object"
     },
+    "WorkerDetails": {
+      "description": "Information about a worker",
+      "id": "WorkerDetails",
+      "properties": {
+        "workItems": {
+          "description": "Work items processed by this worker, sorted by time.",
+          "items": {
+            "$ref": "WorkItemDetails"
+          },
+          "type": "array"
+        },
+        "workerName": {
+          "description": "Name of this worker",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "WorkerHealthReport": {
-      "description": "WorkerHealthReport contains information about the health of a worker.\n\nThe VM should be identified by the labels attached to the WorkerMessage that\nthis health ping belongs to.",
+      "description": "WorkerHealthReport contains information about the health of a worker. The VM should be identified by the labels attached to the WorkerMessage that this health ping belongs to.",
       "id": "WorkerHealthReport",
       "properties": {
         "msg": {
@@ -6498,7 +6898,7 @@
           "type": "string"
         },
         "pods": {
-          "description": "The pods running on the worker. See:\nhttp://kubernetes.io/v1.1/docs/api-reference/v1/definitions.html#_v1_pod\n\nThis field is used by the worker to send the status of the indvidual\ncontainers running on each worker.",
+          "description": "The pods running on the worker. See: http://kubernetes.io/v1.1/docs/api-reference/v1/definitions.html#_v1_pod This field is used by the worker to send the status of the indvidual containers running on each worker.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object.",
@@ -6509,12 +6909,12 @@
           "type": "array"
         },
         "reportInterval": {
-          "description": "The interval at which the worker is sending health reports.\nThe default value of 0 should be interpreted as the field is not being\nexplicitly set by the worker.",
+          "description": "The interval at which the worker is sending health reports. The default value of 0 should be interpreted as the field is not being explicitly set by the worker.",
           "format": "google-duration",
           "type": "string"
         },
         "vmIsBroken": {
-          "description": "Whether the VM is in a permanently broken state.\nBroken VMs should be abandoned or deleted ASAP to avoid assigning or\ncompleting any work.",
+          "description": "Whether the VM is in a permanently broken state. Broken VMs should be abandoned or deleted ASAP to avoid assigning or completing any work.",
           "type": "boolean"
         },
         "vmIsHealthy": {
@@ -6530,11 +6930,11 @@
       "type": "object"
     },
     "WorkerHealthReportResponse": {
-      "description": "WorkerHealthReportResponse contains information returned to the worker\nin response to a health ping.",
+      "description": "WorkerHealthReportResponse contains information returned to the worker in response to a health ping.",
       "id": "WorkerHealthReportResponse",
       "properties": {
         "reportInterval": {
-          "description": "A positive value indicates the worker should change its reporting interval\nto the specified value.\n\nThe default value of zero means no change in report rate is requested by\nthe server.",
+          "description": "A positive value indicates the worker should change its reporting interval to the specified value. The default value of zero means no change in report rate is requested by the server.",
           "format": "google-duration",
           "type": "string"
         }
@@ -6542,11 +6942,11 @@
       "type": "object"
     },
     "WorkerLifecycleEvent": {
-      "description": "A report of an event in a worker's lifecycle.\nThe proto contains one event, because the worker is expected to\nasynchronously send each message immediately after the event.\nDue to this asynchrony, messages may arrive out of order (or missing), and it\nis up to the consumer to interpret.\nThe timestamp of the event is in the enclosing WorkerMessage proto.",
+      "description": "A report of an event in a worker's lifecycle. The proto contains one event, because the worker is expected to asynchronously send each message immediately after the event. Due to this asynchrony, messages may arrive out of order (or missing), and it is up to the consumer to interpret. The timestamp of the event is in the enclosing WorkerMessage proto.",
       "id": "WorkerLifecycleEvent",
       "properties": {
         "containerStartTime": {
-          "description": "The start time of this container. All events will report this so that\nevents can be grouped together across container/VM restarts.",
+          "description": "The start time of this container. All events will report this so that events can be grouped together across container/VM restarts.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -6565,7 +6965,7 @@
           "enumDescriptions": [
             "Invalid event.",
             "The time the VM started.",
-            "Our container code starts running. Multiple containers could be\ndistinguished with WorkerMessage.labels if desired.",
+            "Our container code starts running. Multiple containers could be distinguished with WorkerMessage.labels if desired.",
             "The worker has a functional external network connection.",
             "Started downloading staging files.",
             "Finished downloading all staging files.",
@@ -6578,7 +6978,7 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Other stats that can accompany an event. E.g.\n{ \"downloaded_bytes\" : \"123456\" }",
+          "description": "Other stats that can accompany an event. E.g. { \"downloaded_bytes\" : \"123456\" }",
           "type": "object"
         }
       },
@@ -6592,7 +6992,7 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Labels are used to group WorkerMessages.\nFor example, a worker_message about a particular container\nmight have the labels:\n{ \"JOB_ID\": \"2015-04-22\",\n  \"WORKER_ID\": \"wordcount-vm-2015…\"\n  \"CONTAINER_TYPE\": \"worker\",\n  \"CONTAINER_ID\": \"ac1234def\"}\nLabel tags typically correspond to Label enum values. However, for ease\nof development other strings can be used as tags. LABEL_UNSPECIFIED should\nnot be used here.",
+          "description": "Labels are used to group WorkerMessages. For example, a worker_message about a particular container might have the labels: { \"JOB_ID\": \"2015-04-22\", \"WORKER_ID\": \"wordcount-vm-2015…\" \"CONTAINER_TYPE\": \"worker\", \"CONTAINER_ID\": \"ac1234def\"} Label tags typically correspond to Label enum values. However, for ease of development other strings can be used as tags. LABEL_UNSPECIFIED should not be used here.",
           "type": "object"
         },
         "time": {
@@ -6624,11 +7024,11 @@
       "type": "object"
     },
     "WorkerMessageCode": {
-      "description": "A message code is used to report status and error messages to the service.\nThe message codes are intended to be machine readable. The service will\ntake care of translating these into user understandable messages if\nnecessary.\n\nExample use cases:\n  1. Worker processes reporting successful startup.\n  2. Worker processes reporting specific errors (e.g. package staging\n     failure).",
+      "description": "A message code is used to report status and error messages to the service. The message codes are intended to be machine readable. The service will take care of translating these into user understandable messages if necessary. Example use cases: 1. Worker processes reporting successful startup. 2. Worker processes reporting specific errors (e.g. package staging failure).",
       "id": "WorkerMessageCode",
       "properties": {
         "code": {
-          "description": "The code is a string intended for consumption by a machine that identifies\nthe type of message being sent.\nExamples:\n 1. \"HARNESS_STARTED\" might be used to indicate the worker harness has\n     started.\n 2. \"GCS_DOWNLOAD_ERROR\" might be used to indicate an error downloading\n    a GCS file as part of the boot process of one of the worker containers.\n\nThis is a string and not an enum to make it easy to add new codes without\nwaiting for an API change.",
+          "description": "The code is a string intended for consumption by a machine that identifies the type of message being sent. Examples: 1. \"HARNESS_STARTED\" might be used to indicate the worker harness has started. 2. \"GCS_DOWNLOAD_ERROR\" might be used to indicate an error downloading a GCS file as part of the boot process of one of the worker containers. This is a string and not an enum to make it easy to add new codes without waiting for an API change.",
           "type": "string"
         },
         "parameters": {
@@ -6636,14 +7036,14 @@
             "description": "Properties of the object.",
             "type": "any"
           },
-          "description": "Parameters contains specific information about the code.\n\nThis is a struct to allow parameters of different types.\n\nExamples:\n 1. For a \"HARNESS_STARTED\" message parameters might provide the name\n    of the worker and additional data like timing information.\n 2. For a \"GCS_DOWNLOAD_ERROR\" parameters might contain fields listing\n    the GCS objects being downloaded and fields containing errors.\n\nIn general complex data structures should be avoided. If a worker\nneeds to send a specific and complicated data structure then please\nconsider defining a new proto and adding it to the data oneof in\nWorkerMessageResponse.\n\nConventions:\n Parameters should only be used for information that isn't typically passed\n as a label.\n hostname and other worker identifiers should almost always be passed\n as labels since they will be included on most messages.",
+          "description": "Parameters contains specific information about the code. This is a struct to allow parameters of different types. Examples: 1. For a \"HARNESS_STARTED\" message parameters might provide the name of the worker and additional data like timing information. 2. For a \"GCS_DOWNLOAD_ERROR\" parameters might contain fields listing the GCS objects being downloaded and fields containing errors. In general complex data structures should be avoided. If a worker needs to send a specific and complicated data structure then please consider defining a new proto and adding it to the data oneof in WorkerMessageResponse. Conventions: Parameters should only be used for information that isn't typically passed as a label. hostname and other worker identifiers should almost always be passed as labels since they will be included on most messages.",
           "type": "object"
         }
       },
       "type": "object"
     },
     "WorkerMessageResponse": {
-      "description": "A worker_message response allows the server to pass information to the\nsender.",
+      "description": "A worker_message response allows the server to pass information to the sender.",
       "id": "WorkerMessageResponse",
       "properties": {
         "workerHealthReportResponse": {
@@ -6662,7 +7062,7 @@
       "type": "object"
     },
     "WorkerPool": {
-      "description": "Describes one particular pool of Cloud Dataflow workers to be\ninstantiated by the Cloud Dataflow service in order to perform the\ncomputations required by a job.  Note that a workflow job may use\nmultiple pools, in order to match the various computational\nrequirements of the various stages of the job.",
+      "description": "Describes one particular pool of Cloud Dataflow workers to be instantiated by the Cloud Dataflow service in order to perform the computations required by a job. Note that a workflow job may use multiple pools, in order to match the various computational requirements of the various stages of the job.",
       "id": "WorkerPool",
       "properties": {
         "autoscalingSettings": {
@@ -6677,7 +7077,7 @@
           "type": "array"
         },
         "defaultPackageSet": {
-          "description": "The default package set to install.  This allows the service to\nselect a default set of packages which are useful to worker\nharnesses written in a particular language.",
+          "description": "The default package set to install. This allows the service to select a default set of packages which are useful to worker harnesses written in a particular language.",
           "enum": [
             "DEFAULT_PACKAGE_SET_UNKNOWN",
             "DEFAULT_PACKAGE_SET_NONE",
@@ -6686,14 +7086,14 @@
           ],
           "enumDescriptions": [
             "The default set of packages to stage is unknown, or unspecified.",
-            "Indicates that no packages should be staged at the worker unless\nexplicitly specified by the job.",
+            "Indicates that no packages should be staged at the worker unless explicitly specified by the job.",
             "Stage packages typically useful to workers written in Java.",
             "Stage pacakges typically useful to workers written in Python."
           ],
           "type": "string"
         },
         "diskSizeGb": {
-          "description": "Size of root disk for VMs, in GB.  If zero or unspecified, the service will\nattempt to choose a reasonable default.",
+          "description": "Size of root disk for VMs, in GB. If zero or unspecified, the service will attempt to choose a reasonable default.",
           "format": "int32",
           "type": "integer"
         },
@@ -6702,7 +7102,7 @@
           "type": "string"
         },
         "diskType": {
-          "description": "Type of root disk for VMs.  If empty or unspecified, the service will\nattempt to choose a reasonable default.",
+          "description": "Type of root disk for VMs. If empty or unspecified, the service will attempt to choose a reasonable default.",
           "type": "string"
         },
         "ipConfiguration": {
@@ -6720,11 +7120,11 @@
           "type": "string"
         },
         "kind": {
-          "description": "The kind of the worker pool; currently only `harness` and `shuffle`\nare supported.",
+          "description": "The kind of the worker pool; currently only `harness` and `shuffle` are supported.",
           "type": "string"
         },
         "machineType": {
-          "description": "Machine type (e.g. \"n1-standard-1\").  If empty or unspecified, the\nservice will attempt to choose a reasonable default.",
+          "description": "Machine type (e.g. \"n1-standard-1\"). If empty or unspecified, the service will attempt to choose a reasonable default.",
           "type": "string"
         },
         "metadata": {
@@ -6735,21 +7135,21 @@
           "type": "object"
         },
         "network": {
-          "description": "Network to which VMs will be assigned.  If empty or unspecified,\nthe service will use the network \"default\".",
+          "description": "Network to which VMs will be assigned. If empty or unspecified, the service will use the network \"default\".",
           "type": "string"
         },
         "numThreadsPerWorker": {
-          "description": "The number of threads per worker harness. If empty or unspecified, the\nservice will choose a number of threads (according to the number of cores\non the selected machine type for batch, or 1 by convention for streaming).",
+          "description": "The number of threads per worker harness. If empty or unspecified, the service will choose a number of threads (according to the number of cores on the selected machine type for batch, or 1 by convention for streaming).",
           "format": "int32",
           "type": "integer"
         },
         "numWorkers": {
-          "description": "Number of Google Compute Engine workers in this pool needed to\nexecute the job.  If zero or unspecified, the service will\nattempt to choose a reasonable default.",
+          "description": "Number of Google Compute Engine workers in this pool needed to execute the job. If zero or unspecified, the service will attempt to choose a reasonable default.",
           "format": "int32",
           "type": "integer"
         },
         "onHostMaintenance": {
-          "description": "The action to take on host maintenance, as defined by the Google\nCompute Engine API.",
+          "description": "The action to take on host maintenance, as defined by the Google Compute Engine API.",
           "type": "string"
         },
         "packages": {
@@ -6768,22 +7168,22 @@
           "type": "object"
         },
         "sdkHarnessContainerImages": {
-          "description": "Set of SDK harness containers needed to execute this pipeline. This will\nonly be set in the Fn API path. For non-cross-language pipelines this\nshould have only one entry. Cross-language pipelines will have two or more\nentries.",
+          "description": "Set of SDK harness containers needed to execute this pipeline. This will only be set in the Fn API path. For non-cross-language pipelines this should have only one entry. Cross-language pipelines will have two or more entries.",
           "items": {
             "$ref": "SdkHarnessContainerImage"
           },
           "type": "array"
         },
         "subnetwork": {
-          "description": "Subnetwork to which VMs will be assigned, if desired.  Expected to be of\nthe form \"regions/REGION/subnetworks/SUBNETWORK\".",
+          "description": "Subnetwork to which VMs will be assigned, if desired. Expected to be of the form \"regions/REGION/subnetworks/SUBNETWORK\".",
           "type": "string"
         },
         "taskrunnerSettings": {
           "$ref": "TaskRunnerSettings",
-          "description": "Settings passed through to Google Compute Engine workers when\nusing the standard Dataflow task runner.  Users should ignore\nthis field."
+          "description": "Settings passed through to Google Compute Engine workers when using the standard Dataflow task runner. Users should ignore this field."
         },
         "teardownPolicy": {
-          "description": "Sets the policy for determining when to turndown worker pool.\nAllowed values are: `TEARDOWN_ALWAYS`, `TEARDOWN_ON_SUCCESS`, and\n`TEARDOWN_NEVER`.\n`TEARDOWN_ALWAYS` means workers are always torn down regardless of whether\nthe job succeeds. `TEARDOWN_ON_SUCCESS` means workers are torn down\nif the job succeeds. `TEARDOWN_NEVER` means the workers are never torn\ndown.\n\nIf the workers are not torn down by the service, they will\ncontinue to run and use Google Compute Engine VM resources in the\nuser's project until they are explicitly terminated by the user.\nBecause of this, Google recommends using the `TEARDOWN_ALWAYS`\npolicy except for small, manually supervised test jobs.\n\nIf unknown or unspecified, the service will attempt to choose a reasonable\ndefault.",
+          "description": "Sets the policy for determining when to turndown worker pool. Allowed values are: `TEARDOWN_ALWAYS`, `TEARDOWN_ON_SUCCESS`, and `TEARDOWN_NEVER`. `TEARDOWN_ALWAYS` means workers are always torn down regardless of whether the job succeeds. `TEARDOWN_ON_SUCCESS` means workers are torn down if the job succeeds. `TEARDOWN_NEVER` means the workers are never torn down. If the workers are not torn down by the service, they will continue to run and use Google Compute Engine VM resources in the user's project until they are explicitly terminated by the user. Because of this, Google recommends using the `TEARDOWN_ALWAYS` policy except for small, manually supervised test jobs. If unknown or unspecified, the service will attempt to choose a reasonable default.",
           "enum": [
             "TEARDOWN_POLICY_UNKNOWN",
             "TEARDOWN_ALWAYS",
@@ -6793,17 +7193,17 @@
           "enumDescriptions": [
             "The teardown policy isn't specified, or is unknown.",
             "Always teardown the resource.",
-            "Teardown the resource on success. This is useful for debugging\nfailures.",
-            "Never teardown the resource. This is useful for debugging and\ndevelopment."
+            "Teardown the resource on success. This is useful for debugging failures.",
+            "Never teardown the resource. This is useful for debugging and development."
           ],
           "type": "string"
         },
         "workerHarnessContainerImage": {
-          "description": "Required. Docker container image that executes the Cloud Dataflow worker\nharness, residing in Google Container Registry.\n\nDeprecated for the Fn API path. Use sdk_harness_container_images instead.",
+          "description": "Required. Docker container image that executes the Cloud Dataflow worker harness, residing in Google Container Registry. Deprecated for the Fn API path. Use sdk_harness_container_images instead.",
           "type": "string"
         },
         "zone": {
-          "description": "Zone to run the worker pools in.  If empty or unspecified, the service\nwill attempt to choose a reasonable default.",
+          "description": "Zone to run the worker pools in. If empty or unspecified, the service will attempt to choose a reasonable default.",
           "type": "string"
         }
       },
@@ -6814,7 +7214,7 @@
       "id": "WorkerSettings",
       "properties": {
         "baseUrl": {
-          "description": "The base URL for accessing Google Cloud APIs.\n\nWhen workers access Google Cloud APIs, they logically do so via\nrelative URLs.  If this field is specified, it supplies the base\nURL to use for resolving these relative URLs.  The normative\nalgorithm used is defined by RFC 1808, \"Relative Uniform Resource\nLocators\".\n\nIf not specified, the default value is \"http://www.googleapis.com/\"",
+          "description": "The base URL for accessing Google Cloud APIs. When workers access Google Cloud APIs, they logically do so via relative URLs. If this field is specified, it supplies the base URL to use for resolving these relative URLs. The normative algorithm used is defined by RFC 1808, \"Relative Uniform Resource Locators\". If not specified, the default value is \"http://www.googleapis.com/\"",
           "type": "string"
         },
         "reportingEnabled": {
@@ -6822,15 +7222,15 @@
           "type": "boolean"
         },
         "servicePath": {
-          "description": "The Cloud Dataflow service path relative to the root URL, for example,\n\"dataflow/v1b3/projects\".",
+          "description": "The Cloud Dataflow service path relative to the root URL, for example, \"dataflow/v1b3/projects\".",
           "type": "string"
         },
         "shuffleServicePath": {
-          "description": "The Shuffle service path relative to the root URL, for example,\n\"shuffle/v1beta1\".",
+          "description": "The Shuffle service path relative to the root URL, for example, \"shuffle/v1beta1\".",
           "type": "string"
         },
         "tempStoragePrefix": {
-          "description": "The prefix of the resources the system should use for temporary\nstorage.\n\nThe supported resource type is:\n\nGoogle Cloud Storage:\n\n  storage.googleapis.com/{bucket}/{object}\n  bucket.storage.googleapis.com/{object}",
+          "description": "The prefix of the resources the system should use for temporary storage. The supported resource type is: Google Cloud Storage: storage.googleapis.com/{bucket}/{object} bucket.storage.googleapis.com/{object}",
           "type": "string"
         },
         "workerId": {
@@ -6841,11 +7241,11 @@
       "type": "object"
     },
     "WorkerShutdownNotice": {
-      "description": "Shutdown notification from workers. This is to be sent by the shutdown\nscript of the worker VM so that the backend knows that the VM is being\nshut down.",
+      "description": "Shutdown notification from workers. This is to be sent by the shutdown script of the worker VM so that the backend knows that the VM is being shut down.",
       "id": "WorkerShutdownNotice",
       "properties": {
         "reason": {
-          "description": "The reason for the worker shutdown.\nCurrent possible values are:\n  \"UNKNOWN\": shutdown reason is unknown.\n  \"PREEMPTION\": shutdown reason is preemption.\nOther possible reasons may be added in the future.",
+          "description": "The reason for the worker shutdown. Current possible values are: \"UNKNOWN\": shutdown reason is unknown. \"PREEMPTION\": shutdown reason is preemption. Other possible reasons may be added in the future.",
           "type": "string"
         }
       },
@@ -6858,7 +7258,7 @@
       "type": "object"
     },
     "WriteInstruction": {
-      "description": "An instruction that writes records.\nTakes one input, produces no outputs.",
+      "description": "An instruction that writes records. Takes one input, produces no outputs.",
       "id": "WriteInstruction",
       "properties": {
         "input": {
diff --git a/dataflow/v1b3/dataflow-gen.go b/dataflow/v1b3/dataflow-gen.go
index b2cbde5..638a8be 100644
--- a/dataflow/v1b3/dataflow-gen.go
+++ b/dataflow/v1b3/dataflow-gen.go
@@ -282,6 +282,7 @@
 	rs.Debug = NewProjectsLocationsJobsDebugService(s)
 	rs.Messages = NewProjectsLocationsJobsMessagesService(s)
 	rs.Snapshots = NewProjectsLocationsJobsSnapshotsService(s)
+	rs.Stages = NewProjectsLocationsJobsStagesService(s)
 	rs.WorkItems = NewProjectsLocationsJobsWorkItemsService(s)
 	return rs
 }
@@ -295,6 +296,8 @@
 
 	Snapshots *ProjectsLocationsJobsSnapshotsService
 
+	Stages *ProjectsLocationsJobsStagesService
+
 	WorkItems *ProjectsLocationsJobsWorkItemsService
 }
 
@@ -325,6 +328,15 @@
 	s *Service
 }
 
+func NewProjectsLocationsJobsStagesService(s *Service) *ProjectsLocationsJobsStagesService {
+	rs := &ProjectsLocationsJobsStagesService{s: s}
+	return rs
+}
+
+type ProjectsLocationsJobsStagesService struct {
+	s *Service
+}
+
 func NewProjectsLocationsJobsWorkItemsService(s *Service) *ProjectsLocationsJobsWorkItemsService {
 	rs := &ProjectsLocationsJobsWorkItemsService{s: s}
 	return rs
@@ -442,63 +454,42 @@
 // a worker.
 type ApproximateReportedProgress struct {
 	// ConsumedParallelism: Total amount of parallelism in the portion of
-	// input of this task that has
-	// already been consumed and is no longer active. In the first two
-	// examples
-	// above (see remaining_parallelism), the value should be 29 or
-	// 2
-	// respectively.  The sum of remaining_parallelism and
-	// consumed_parallelism
-	// should equal the total amount of parallelism in this work item.
-	// If
-	// specified, must be finite.
+	// input of this task that has already been consumed and is no longer
+	// active. In the first two examples above (see remaining_parallelism),
+	// the value should be 29 or 2 respectively. The sum of
+	// remaining_parallelism and consumed_parallelism should equal the total
+	// amount of parallelism in this work item. If specified, must be
+	// finite.
 	ConsumedParallelism *ReportedParallelism `json:"consumedParallelism,omitempty"`
 
 	// FractionConsumed: Completion as fraction of the input consumed, from
-	// 0.0 (beginning, nothing
-	// consumed), to 1.0 (end of the input, entire input consumed).
+	// 0.0 (beginning, nothing consumed), to 1.0 (end of the input, entire
+	// input consumed).
 	FractionConsumed float64 `json:"fractionConsumed,omitempty"`
 
 	// Position: A Position within the work to represent a progress.
 	Position *Position `json:"position,omitempty"`
 
 	// RemainingParallelism: Total amount of parallelism in the input of
-	// this task that remains,
-	// (i.e. can be delegated to this task and any new tasks via
-	// dynamic
-	// splitting). Always at least 1 for non-finished work items and 0
-	// for
-	// finished.
-	//
-	// "Amount of parallelism" refers to how many non-empty parts of the
-	// input
-	// can be read in parallel. This does not necessarily equal number
-	// of records. An input that can be read in parallel down to
-	// the
-	// individual records is called "perfectly splittable".
-	// An example of non-perfectly parallelizable input is a
-	// block-compressed
-	// file format where a block of records has to be read as a whole,
-	// but different blocks can be read in parallel.
-	//
-	// Examples:
-	// * If we are processing record #30 (starting at 1) out of 50 in a
-	// perfectly
-	//   splittable 50-record input, this value should be 21 (20 remaining +
-	// 1
-	//   current).
-	// * If we are reading through block 3 in a block-compressed file
-	// consisting
-	//   of 5 blocks, this value should be 3 (since blocks 4 and 5 can be
-	//   processed in parallel by new tasks via dynamic splitting and the
-	// current
-	//   task remains processing block 3).
-	// * If we are reading through the last block in a block-compressed
-	// file,
-	//   or reading or processing the last record in a perfectly splittable
-	//   input, this value should be 1, because apart from the current task,
-	// no
-	//   additional remainder can be split off.
+	// this task that remains, (i.e. can be delegated to this task and any
+	// new tasks via dynamic splitting). Always at least 1 for non-finished
+	// work items and 0 for finished. "Amount of parallelism" refers to how
+	// many non-empty parts of the input can be read in parallel. This does
+	// not necessarily equal number of records. An input that can be read in
+	// parallel down to the individual records is called "perfectly
+	// splittable". An example of non-perfectly parallelizable input is a
+	// block-compressed file format where a block of records has to be read
+	// as a whole, but different blocks can be read in parallel. Examples: *
+	// If we are processing record #30 (starting at 1) out of 50 in a
+	// perfectly splittable 50-record input, this value should be 21 (20
+	// remaining + 1 current). * If we are reading through block 3 in a
+	// block-compressed file consisting of 5 blocks, this value should be 3
+	// (since blocks 4 and 5 can be processed in parallel by new tasks via
+	// dynamic splitting and the current task remains processing block 3). *
+	// If we are reading through the last block in a block-compressed file,
+	// or reading or processing the last record in a perfectly splittable
+	// input, this value should be 1, because apart from the current task,
+	// no additional remainder can be split off.
 	RemainingParallelism *ReportedParallelism `json:"remainingParallelism,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ConsumedParallelism")
@@ -543,13 +534,12 @@
 // dynamically split the WorkItem.
 type ApproximateSplitRequest struct {
 	// FractionConsumed: A fraction at which to split the work item, from
-	// 0.0 (beginning of the
-	// input) to 1.0 (end of the input).
+	// 0.0 (beginning of the input) to 1.0 (end of the input).
 	FractionConsumed float64 `json:"fractionConsumed,omitempty"`
 
 	// FractionOfRemainder: The fraction of the remainder of work to split
-	// the work item at, from 0.0
-	// (split at the current position) to 1.0 (end of the input).
+	// the work item at, from 0.0 (split at the current position) to 1.0
+	// (end of the input).
 	FractionOfRemainder float64 `json:"fractionOfRemainder,omitempty"`
 
 	// Position: A Position at which to split the work item.
@@ -630,45 +620,36 @@
 }
 
 // AutoscalingEvent: A structured message reporting an autoscaling
-// decision made by the Dataflow
-// service.
+// decision made by the Dataflow service.
 type AutoscalingEvent struct {
 	// CurrentNumWorkers: The current number of workers the job has.
 	CurrentNumWorkers int64 `json:"currentNumWorkers,omitempty,string"`
 
 	// Description: A message describing why the system decided to adjust
-	// the current
-	// number of workers, why it failed, or why the system decided to
-	// not make any changes to the number of workers.
+	// the current number of workers, why it failed, or why the system
+	// decided to not make any changes to the number of workers.
 	Description *StructuredMessage `json:"description,omitempty"`
 
 	// EventType: The type of autoscaling event to report.
 	//
 	// Possible values:
-	//   "TYPE_UNKNOWN" - Default type for the enum.  Value should never be
+	//   "TYPE_UNKNOWN" - Default type for the enum. Value should never be
 	// returned.
 	//   "TARGET_NUM_WORKERS_CHANGED" - The TARGET_NUM_WORKERS_CHANGED type
-	// should be used when the target
-	// worker pool size has changed at the start of an actuation. An
-	// event
-	// should always be specified as TARGET_NUM_WORKERS_CHANGED if it
-	// reflects
-	// a change in the target_num_workers.
+	// should be used when the target worker pool size has changed at the
+	// start of an actuation. An event should always be specified as
+	// TARGET_NUM_WORKERS_CHANGED if it reflects a change in the
+	// target_num_workers.
 	//   "CURRENT_NUM_WORKERS_CHANGED" - The CURRENT_NUM_WORKERS_CHANGED
-	// type should be used when actual worker
-	// pool size has been changed, but the target_num_workers has not
-	// changed.
+	// type should be used when actual worker pool size has been changed,
+	// but the target_num_workers has not changed.
 	//   "ACTUATION_FAILURE" - The ACTUATION_FAILURE type should be used
-	// when we want to report
-	// an error to the user indicating why the current number of workers
-	// in the pool could not be changed.
-	// Displayed in the current status and history widgets.
+	// when we want to report an error to the user indicating why the
+	// current number of workers in the pool could not be changed. Displayed
+	// in the current status and history widgets.
 	//   "NO_CHANGE" - Used when we want to report to the user a reason why
-	// we are
-	// not currently adjusting the number of workers.
-	// Should specify both target_num_workers, current_num_workers and
-	// a
-	// decision_message.
+	// we are not currently adjusting the number of workers. Should specify
+	// both target_num_workers, current_num_workers and a decision_message.
 	EventType string `json:"eventType,omitempty"`
 
 	// TargetNumWorkers: The target number of workers the worker pool wants
@@ -676,13 +657,12 @@
 	TargetNumWorkers int64 `json:"targetNumWorkers,omitempty,string"`
 
 	// Time: The time this event was emitted to indicate a new target or
-	// current
-	// num_workers value.
+	// current num_workers value.
 	Time string `json:"time,omitempty"`
 
 	// WorkerPool: A short and friendly name for the worker pool this event
-	// refers to,
-	// populated from the value of PoolStageRelation::user_pool_name.
+	// refers to, populated from the value of
+	// PoolStageRelation::user_pool_name.
 	WorkerPool string `json:"workerPool,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CurrentNumWorkers")
@@ -821,16 +801,14 @@
 // CPUTime: Modeled after information exposed by /proc/stat.
 type CPUTime struct {
 	// Rate: Average CPU utilization rate (% non-idle cpu / second) since
-	// previous
-	// sample.
+	// previous sample.
 	Rate float64 `json:"rate,omitempty"`
 
 	// Timestamp: Timestamp of the measurement.
 	Timestamp string `json:"timestamp,omitempty"`
 
 	// TotalMs: Total active CPU time across all cores (ie., non-idle) in
-	// milliseconds
-	// since start-up.
+	// milliseconds since start-up.
 	TotalMs uint64 `json:"totalMs,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "Rate") to
@@ -901,15 +879,14 @@
 }
 
 // ComponentSource: Description of an interstitial value between
-// transforms in an execution
-// stage.
+// transforms in an execution stage.
 type ComponentSource struct {
 	// Name: Dataflow service generated name for this source.
 	Name string `json:"name,omitempty"`
 
 	// OriginalTransformOrCollection: User name for the original user
-	// transform or collection with which this
-	// source is most closely associated.
+	// transform or collection with which this source is most closely
+	// associated.
 	OriginalTransformOrCollection string `json:"originalTransformOrCollection,omitempty"`
 
 	// UserName: Human-readable name for this transform; may be user or
@@ -946,8 +923,7 @@
 	Name string `json:"name,omitempty"`
 
 	// OriginalTransform: User name for the original user transform with
-	// which this transform is
-	// most closely associated.
+	// which this transform is most closely associated.
 	OriginalTransform string `json:"originalTransform,omitempty"`
 
 	// UserName: Human-readable name for this transform; may be user or
@@ -1022,10 +998,8 @@
 }
 
 // ConcatPosition: A position that encapsulates an inner position and an
-// index for the inner
-// position. A ConcatPosition can be used by a reader of a source
-// that
-// encapsulates a set of other sources.
+// index for the inner position. A ConcatPosition can be used by a
+// reader of a source that encapsulates a set of other sources.
 type ConcatPosition struct {
 	// Index: Index of the inner source.
 	Index int64 `json:"index,omitempty"`
@@ -1157,8 +1131,8 @@
 }
 
 // CounterStructuredName: Identifies a counter within a per-job
-// namespace. Counters whose structured
-// names are the same get merged into a single value for the job.
+// namespace. Counters whose structured names are the same get merged
+// into a single value for the job.
 type CounterStructuredName struct {
 	// ComponentStepName: Name of the optimized step being executed by the
 	// workers.
@@ -1169,20 +1143,15 @@
 	ExecutionStepName string `json:"executionStepName,omitempty"`
 
 	// InputIndex: Index of an input collection that's being read
-	// from/written to as a side
-	// input.
-	// The index identifies a step's side inputs starting by 1 (e.g. the
-	// first
-	// side input has input_index 1, the third has input_index 3).
-	// Side inputs are identified by a pair of (original_step_name,
-	// input_index).
-	// This field helps uniquely identify them.
+	// from/written to as a side input. The index identifies a step's side
+	// inputs starting by 1 (e.g. the first side input has input_index 1,
+	// the third has input_index 3). Side inputs are identified by a pair of
+	// (original_step_name, input_index). This field helps uniquely identify
+	// them.
 	InputIndex int64 `json:"inputIndex,omitempty"`
 
 	// Name: Counter name. Not necessarily globally-unique, but unique
-	// within the
-	// context of the other fields.
-	// Required.
+	// within the context of the other fields. Required.
 	Name string `json:"name,omitempty"`
 
 	// Origin: One of the standard Origins defined above.
@@ -1197,14 +1166,12 @@
 	OriginNamespace string `json:"originNamespace,omitempty"`
 
 	// OriginalRequestingStepName: The step name requesting an operation,
-	// such as GBK.
-	// I.e. the ParDo causing a read/write from shuffle to occur, or a
-	// read from side inputs.
+	// such as GBK. I.e. the ParDo causing a read/write from shuffle to
+	// occur, or a read from side inputs.
 	OriginalRequestingStepName string `json:"originalRequestingStepName,omitempty"`
 
 	// OriginalStepName: System generated name of the original step in the
-	// user's graph, before
-	// optimization.
+	// user's graph, before optimization.
 	OriginalStepName string `json:"originalStepName,omitempty"`
 
 	// Portion: Portion of this counter, either key or value.
@@ -1243,8 +1210,7 @@
 }
 
 // CounterStructuredNameAndMetadata: A single message which encapsulates
-// structured name and metadata for a given
-// counter.
+// structured name and metadata for a given counter.
 type CounterStructuredNameAndMetadata struct {
 	// Metadata: Metadata associated with a counter
 	Metadata *CounterMetadata `json:"metadata,omitempty"`
@@ -1281,11 +1247,9 @@
 	Boolean bool `json:"boolean,omitempty"`
 
 	// Cumulative: True if this counter is reported as the total cumulative
-	// aggregate
-	// value accumulated since the worker started working on this
-	// WorkItem.
-	// By default this is false, indicating that this counter is reported
-	// as a delta.
+	// aggregate value accumulated since the worker started working on this
+	// WorkItem. By default this is false, indicating that this counter is
+	// reported as a delta.
 	Cumulative bool `json:"cumulative,omitempty"`
 
 	// Distribution: Distribution data
@@ -1319,9 +1283,8 @@
 	// NameAndKind: Counter name and aggregation type.
 	NameAndKind *NameAndKind `json:"nameAndKind,omitempty"`
 
-	// ShortId: The service-generated short identifier for this counter.
-	// The short_id -> (name, metadata) mapping is constant for the lifetime
-	// of
+	// ShortId: The service-generated short identifier for this counter. The
+	// short_id -> (name, metadata) mapping is constant for the lifetime of
 	// a job.
 	ShortId int64 `json:"shortId,omitempty,string"`
 
@@ -1374,20 +1337,17 @@
 	// Environment: The runtime environment for the job.
 	Environment *RuntimeEnvironment `json:"environment,omitempty"`
 
-	// GcsPath: Required. A Cloud Storage path to the template from which
-	// to
-	// create the job.
-	// Must be a valid Cloud Storage URL, beginning with `gs://`.
+	// GcsPath: Required. A Cloud Storage path to the template from which to
+	// create the job. Must be a valid Cloud Storage URL, beginning with
+	// `gs://`.
 	GcsPath string `json:"gcsPath,omitempty"`
 
 	// JobName: Required. The job name to use for the created job.
 	JobName string `json:"jobName,omitempty"`
 
-	// Location: The [regional
-	// endpoint]
-	// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-	// dpoints) to
-	// which to direct the request.
+	// Location: The [regional endpoint]
+	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints)
+	// to which to direct the request.
 	Location string `json:"location,omitempty"`
 
 	// Parameters: The runtime parameters to pass to the job.
@@ -1477,16 +1437,13 @@
 // DataDiskAssignment: Data disk assignment for a given VM instance.
 type DataDiskAssignment struct {
 	// DataDisks: Mounted data disks. The order is important a data disk's
-	// 0-based index in
-	// this list defines which persistent directory the disk is mounted to,
-	// for
-	// example the list of { "myproject-1014-104817-4c2-harness-0-disk-0"
-	// },
-	// { "myproject-1014-104817-4c2-harness-0-disk-1" }.
+	// 0-based index in this list defines which persistent directory the
+	// disk is mounted to, for example the list of {
+	// "myproject-1014-104817-4c2-harness-0-disk-0" }, {
+	// "myproject-1014-104817-4c2-harness-0-disk-1" }.
 	DataDisks []string `json:"dataDisks,omitempty"`
 
-	// VmInstance: VM instance name the data disks mounted to, for
-	// example
+	// VmInstance: VM instance name the data disks mounted to, for example
 	// "myproject-1014-104817-4c2-harness-0".
 	VmInstance string `json:"vmInstance,omitempty"`
 
@@ -1553,11 +1510,10 @@
 }
 
 // DerivedSource: Specification of one of the bundles produced as a
-// result of splitting
-// a Source (e.g. when executing a SourceSplitRequest, or when
-// splitting an active task using
-// WorkItemStatus.dynamic_source_split),
-// relative to the source being split.
+// result of splitting a Source (e.g. when executing a
+// SourceSplitRequest, or when splitting an active task using
+// WorkItemStatus.dynamic_source_split), relative to the source being
+// split.
 type DerivedSource struct {
 	// DerivationMode: What source to base the produced source on (if any).
 	//
@@ -1602,38 +1558,26 @@
 // Disk: Describes the data disk used by a workflow job.
 type Disk struct {
 	// DiskType: Disk storage type, as defined by Google Compute Engine.
-	// This
-	// must be a disk type appropriate to the project and zone in which
-	// the workers will run.  If unknown or unspecified, the service
-	// will attempt to choose a reasonable default.
-	//
-	// For example, the standard persistent disk type is a resource
-	// name
-	// typically ending in "pd-standard".  If SSD persistent disks
-	// are
-	// available, the resource name typically ends with "pd-ssd".
-	// The
-	// actual valid values are defined the Google Compute Engine API,
-	// not by the Cloud Dataflow API; consult the Google Compute
-	// Engine
-	// documentation for more information about determining the set
-	// of
-	// available disk types for a particular project and zone.
-	//
-	// Google Compute Engine Disk types are local to a particular
-	// project in a particular zone, and so the resource name will
-	// typically look something like
-	// this:
-	//
-	// compute.googleapis.com/projects/project-id/zones/zone/diskTypes
-	// /pd-standard
+	// This must be a disk type appropriate to the project and zone in which
+	// the workers will run. If unknown or unspecified, the service will
+	// attempt to choose a reasonable default. For example, the standard
+	// persistent disk type is a resource name typically ending in
+	// "pd-standard". If SSD persistent disks are available, the resource
+	// name typically ends with "pd-ssd". The actual valid values are
+	// defined the Google Compute Engine API, not by the Cloud Dataflow API;
+	// consult the Google Compute Engine documentation for more information
+	// about determining the set of available disk types for a particular
+	// project and zone. Google Compute Engine Disk types are local to a
+	// particular project in a particular zone, and so the resource name
+	// will typically look something like this:
+	// compute.googleapis.com/projects/project-id/zones/zone/diskTypes/pd-sta
+	// ndard
 	DiskType string `json:"diskType,omitempty"`
 
 	// MountPoint: Directory in a VM where disk is mounted.
 	MountPoint string `json:"mountPoint,omitempty"`
 
-	// SizeGb: Size of disk in GB.  If zero or unspecified, the service
-	// will
+	// SizeGb: Size of disk in GB. If zero or unspecified, the service will
 	// attempt to choose a reasonable default.
 	SizeGb int64 `json:"sizeGb,omitempty"`
 
@@ -1678,29 +1622,25 @@
 	// JavaClassValue: Contains value if the data is of java class type.
 	JavaClassValue string `json:"javaClassValue,omitempty"`
 
-	// Key: The key identifying the display data.
-	// This is intended to be used as a label for the display data
-	// when viewed in a dax monitoring system.
+	// Key: The key identifying the display data. This is intended to be
+	// used as a label for the display data when viewed in a dax monitoring
+	// system.
 	Key string `json:"key,omitempty"`
 
 	// Label: An optional label to display in a dax UI for the element.
 	Label string `json:"label,omitempty"`
 
 	// Namespace: The namespace for the key. This is usually a class name or
-	// programming
-	// language namespace (i.e. python module) which defines the display
-	// data.
-	// This allows a dax monitoring system to specially handle the data
-	// and perform custom rendering.
+	// programming language namespace (i.e. python module) which defines the
+	// display data. This allows a dax monitoring system to specially handle
+	// the data and perform custom rendering.
 	Namespace string `json:"namespace,omitempty"`
 
-	// ShortStrValue: A possible additional shorter value to display.
-	// For example a java_class_name_value of com.mypackage.MyDoFn
-	// will be stored with MyDoFn as the short_str_value
-	// and
-	// com.mypackage.MyDoFn as the java_class_name value.
-	// short_str_value can be displayed and java_class_name_value
-	// will be displayed as a tooltip.
+	// ShortStrValue: A possible additional shorter value to display. For
+	// example a java_class_name_value of com.mypackage.MyDoFn will be
+	// stored with MyDoFn as the short_str_value and com.mypackage.MyDoFn as
+	// the java_class_name value. short_str_value can be displayed and
+	// java_class_name_value will be displayed as a tooltip.
 	ShortStrValue string `json:"shortStrValue,omitempty"`
 
 	// StrValue: Contains value if the data is of string type.
@@ -1765,8 +1705,8 @@
 	Min *SplitInt64 `json:"min,omitempty"`
 
 	// Sum: Use an int64 since we'd prefer the added precision. If overflow
-	// is a common
-	// problem we can detect it and use an additional int64 or a double.
+	// is a common problem we can detect it and use an additional int64 or a
+	// double.
 	Sum *SplitInt64 `json:"sum,omitempty"`
 
 	// SumOfSquares: Use a double since the sum of squares is likely to
@@ -1811,19 +1751,16 @@
 }
 
 // DynamicSourceSplit: When a task splits using
-// WorkItemStatus.dynamic_source_split, this
-// message describes the two parts of the split relative to
-// the
-// description of the current task's input.
+// WorkItemStatus.dynamic_source_split, this message describes the two
+// parts of the split relative to the description of the current task's
+// input.
 type DynamicSourceSplit struct {
-	// Primary: Primary part (continued to be processed by
-	// worker).
-	// Specified relative to the previously-current source.
-	// Becomes current.
+	// Primary: Primary part (continued to be processed by worker).
+	// Specified relative to the previously-current source. Becomes current.
 	Primary *DerivedSource `json:"primary,omitempty"`
 
-	// Residual: Residual part (returned to the pool of work).
-	// Specified relative to the previously-current source.
+	// Residual: Residual part (returned to the pool of work). Specified
+	// relative to the previously-current source.
 	Residual *DerivedSource `json:"residual,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Primary") to
@@ -1850,17 +1787,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -1869,21 +1800,15 @@
 
 // Environment: Describes the environment in which a Dataflow Job runs.
 type Environment struct {
-	// ClusterManagerApiService: The type of cluster manager API to use.  If
-	// unknown or
-	// unspecified, the service will attempt to choose a reasonable
-	// default.  This should be in the form of the API service name,
-	// e.g. "compute.googleapis.com".
+	// ClusterManagerApiService: The type of cluster manager API to use. If
+	// unknown or unspecified, the service will attempt to choose a
+	// reasonable default. This should be in the form of the API service
+	// name, e.g. "compute.googleapis.com".
 	ClusterManagerApiService string `json:"clusterManagerApiService,omitempty"`
 
-	// Dataset: The dataset for the current project where various
-	// workflow
-	// related tables are stored.
-	//
-	// The supported resource type is:
-	//
-	// Google BigQuery:
-	//   bigquery.googleapis.com/{dataset}
+	// Dataset: The dataset for the current project where various workflow
+	// related tables are stored. The supported resource type is: Google
+	// BigQuery: bigquery.googleapis.com/{dataset}
 	Dataset string `json:"dataset,omitempty"`
 
 	// Experiments: The list of experiments to enable.
@@ -1902,12 +1827,9 @@
 	InternalExperiments googleapi.RawMessage `json:"internalExperiments,omitempty"`
 
 	// SdkPipelineOptions: The Cloud Dataflow SDK pipeline options specified
-	// by the user. These
-	// options are passed through the service and are used to recreate
-	// the
-	// SDK pipeline options on the worker in a language agnostic and
-	// platform
-	// independent way.
+	// by the user. These options are passed through the service and are
+	// used to recreate the SDK pipeline options on the worker in a language
+	// agnostic and platform independent way.
 	SdkPipelineOptions googleapi.RawMessage `json:"sdkPipelineOptions,omitempty"`
 
 	// ServiceAccountEmail: Identity to run virtual machines as. Defaults to
@@ -1915,65 +1837,47 @@
 	ServiceAccountEmail string `json:"serviceAccountEmail,omitempty"`
 
 	// ServiceKmsKeyName: If set, contains the Cloud KMS key identifier used
-	// to encrypt data
-	// at rest, AKA a Customer Managed Encryption Key (CMEK).
-	//
-	// Format:
-	//
+	// to encrypt data at rest, AKA a Customer Managed Encryption Key
+	// (CMEK). Format:
 	// projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KE
 	// Y
 	ServiceKmsKeyName string `json:"serviceKmsKeyName,omitempty"`
 
 	// TempStoragePrefix: The prefix of the resources the system should use
-	// for temporary
-	// storage.  The system will append the suffix "/temp-{JOBNAME} to
-	// this resource prefix, where {JOBNAME} is the value of the
-	// job_name field.  The resulting bucket and object prefix is used
-	// as the prefix of the resources used to store temporary data
-	// needed during the job execution.  NOTE: This will override the
-	// value in taskrunner_settings.
-	// The supported resource type is:
-	//
-	// Google Cloud Storage:
-	//
-	//   storage.googleapis.com/{bucket}/{object}
-	//   bucket.storage.googleapis.com/{object}
+	// for temporary storage. The system will append the suffix
+	// "/temp-{JOBNAME} to this resource prefix, where {JOBNAME} is the
+	// value of the job_name field. The resulting bucket and object prefix
+	// is used as the prefix of the resources used to store temporary data
+	// needed during the job execution. NOTE: This will override the value
+	// in taskrunner_settings. The supported resource type is: Google Cloud
+	// Storage: storage.googleapis.com/{bucket}/{object}
+	// bucket.storage.googleapis.com/{object}
 	TempStoragePrefix string `json:"tempStoragePrefix,omitempty"`
 
 	// UserAgent: A description of the process that generated the request.
 	UserAgent googleapi.RawMessage `json:"userAgent,omitempty"`
 
 	// Version: A structure describing which components and their versions
-	// of the service
-	// are required in order to run the job.
+	// of the service are required in order to run the job.
 	Version googleapi.RawMessage `json:"version,omitempty"`
 
 	// WorkerPools: The worker pools. At least one "harness" worker pool
-	// must be
-	// specified in order for the job to have workers.
+	// must be specified in order for the job to have workers.
 	WorkerPools []*WorkerPool `json:"workerPools,omitempty"`
 
-	// WorkerRegion: The Compute Engine
-	// region
-	// (https://cloud.google.com/compute/docs/regions-zones/regions-zo
-	// nes) in
-	// which worker processing should occur, e.g. "us-west1". Mutually
-	// exclusive
-	// with worker_zone. If neither worker_region nor worker_zone is
-	// specified,
-	// default to the control plane's region.
+	// WorkerRegion: The Compute Engine region
+	// (https://cloud.google.com/compute/docs/regions-zones/regions-zones)
+	// in which worker processing should occur, e.g. "us-west1". Mutually
+	// exclusive with worker_zone. If neither worker_region nor worker_zone
+	// is specified, default to the control plane's region.
 	WorkerRegion string `json:"workerRegion,omitempty"`
 
-	// WorkerZone: The Compute Engine
-	// zone
-	// (https://cloud.google.com/compute/docs/regions-zones/regions-zone
-	// s) in
-	// which worker processing should occur, e.g. "us-west1-a". Mutually
-	// exclusive
-	// with worker_region. If neither worker_region nor worker_zone is
-	// specified,
-	// a zone in the control plane's region is chosen based on available
-	// capacity.
+	// WorkerZone: The Compute Engine zone
+	// (https://cloud.google.com/compute/docs/regions-zones/regions-zones)
+	// in which worker processing should occur, e.g. "us-west1-a". Mutually
+	// exclusive with worker_region. If neither worker_region nor
+	// worker_zone is specified, a zone in the control plane's region is
+	// chosen based on available capacity.
 	WorkerZone string `json:"workerZone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -2017,74 +1921,50 @@
 	// Possible values:
 	//   "JOB_STATE_UNKNOWN" - The job's run state isn't specified.
 	//   "JOB_STATE_STOPPED" - `JOB_STATE_STOPPED` indicates that the job
-	// has not
-	// yet started to run.
+	// has not yet started to run.
 	//   "JOB_STATE_RUNNING" - `JOB_STATE_RUNNING` indicates that the job is
 	// currently running.
 	//   "JOB_STATE_DONE" - `JOB_STATE_DONE` indicates that the job has
-	// successfully completed.
-	// This is a terminal job state.  This state may be set by the Cloud
-	// Dataflow
-	// service, as a transition from `JOB_STATE_RUNNING`. It may also be set
-	// via a
-	// Cloud Dataflow `UpdateJob` call, if the job has not yet reached a
-	// terminal
-	// state.
+	// successfully completed. This is a terminal job state. This state may
+	// be set by the Cloud Dataflow service, as a transition from
+	// `JOB_STATE_RUNNING`. It may also be set via a Cloud Dataflow
+	// `UpdateJob` call, if the job has not yet reached a terminal state.
 	//   "JOB_STATE_FAILED" - `JOB_STATE_FAILED` indicates that the job has
-	// failed.  This is a
-	// terminal job state.  This state may only be set by the Cloud
-	// Dataflow
-	// service, and only as a transition from `JOB_STATE_RUNNING`.
-	//   "JOB_STATE_CANCELLED" - `JOB_STATE_CANCELLED` indicates that the
-	// job has been explicitly
-	// cancelled. This is a terminal job state. This state may only be
-	// set via a Cloud Dataflow `UpdateJob` call, and only if the job has
-	// not
-	// yet reached another terminal state.
-	//   "JOB_STATE_UPDATED" - `JOB_STATE_UPDATED` indicates that the job
-	// was successfully updated,
-	// meaning that this job was stopped and another job was started,
-	// inheriting
-	// state from this one. This is a terminal job state. This state may
-	// only be
-	// set by the Cloud Dataflow service, and only as a transition
-	// from
+	// failed. This is a terminal job state. This state may only be set by
+	// the Cloud Dataflow service, and only as a transition from
 	// `JOB_STATE_RUNNING`.
+	//   "JOB_STATE_CANCELLED" - `JOB_STATE_CANCELLED` indicates that the
+	// job has been explicitly cancelled. This is a terminal job state. This
+	// state may only be set via a Cloud Dataflow `UpdateJob` call, and only
+	// if the job has not yet reached another terminal state.
+	//   "JOB_STATE_UPDATED" - `JOB_STATE_UPDATED` indicates that the job
+	// was successfully updated, meaning that this job was stopped and
+	// another job was started, inheriting state from this one. This is a
+	// terminal job state. This state may only be set by the Cloud Dataflow
+	// service, and only as a transition from `JOB_STATE_RUNNING`.
 	//   "JOB_STATE_DRAINING" - `JOB_STATE_DRAINING` indicates that the job
-	// is in the process of draining.
-	// A draining job has stopped pulling from its input sources and is
-	// processing
-	// any data that remains in-flight. This state may be set via a Cloud
-	// Dataflow
-	// `UpdateJob` call, but only as a transition from `JOB_STATE_RUNNING`.
-	// Jobs
-	// that are draining may only transition to
-	// `JOB_STATE_DRAINED`,
+	// is in the process of draining. A draining job has stopped pulling
+	// from its input sources and is processing any data that remains
+	// in-flight. This state may be set via a Cloud Dataflow `UpdateJob`
+	// call, but only as a transition from `JOB_STATE_RUNNING`. Jobs that
+	// are draining may only transition to `JOB_STATE_DRAINED`,
 	// `JOB_STATE_CANCELLED`, or `JOB_STATE_FAILED`.
 	//   "JOB_STATE_DRAINED" - `JOB_STATE_DRAINED` indicates that the job
-	// has been drained.
-	// A drained job terminated by stopping pulling from its input sources
-	// and
-	// processing any data that remained in-flight when draining was
-	// requested.
-	// This state is a terminal state, may only be set by the Cloud
-	// Dataflow
-	// service, and only as a transition from `JOB_STATE_DRAINING`.
+	// has been drained. A drained job terminated by stopping pulling from
+	// its input sources and processing any data that remained in-flight
+	// when draining was requested. This state is a terminal state, may only
+	// be set by the Cloud Dataflow service, and only as a transition from
+	// `JOB_STATE_DRAINING`.
 	//   "JOB_STATE_PENDING" - `JOB_STATE_PENDING` indicates that the job
-	// has been created but is not yet
-	// running.  Jobs that are pending may only transition to
-	// `JOB_STATE_RUNNING`,
-	// or `JOB_STATE_FAILED`.
+	// has been created but is not yet running. Jobs that are pending may
+	// only transition to `JOB_STATE_RUNNING`, or `JOB_STATE_FAILED`.
 	//   "JOB_STATE_CANCELLING" - `JOB_STATE_CANCELLING` indicates that the
-	// job has been explicitly cancelled
-	// and is in the process of stopping.  Jobs that are cancelling may
-	// only
-	// transition to `JOB_STATE_CANCELLED` or `JOB_STATE_FAILED`.
+	// job has been explicitly cancelled and is in the process of stopping.
+	// Jobs that are cancelling may only transition to `JOB_STATE_CANCELLED`
+	// or `JOB_STATE_FAILED`.
 	//   "JOB_STATE_QUEUED" - `JOB_STATE_QUEUED` indicates that the job has
-	// been created but is being
-	// delayed until launch. Jobs that are queued may only transition
-	// to
-	// `JOB_STATE_PENDING` or `JOB_STATE_CANCELLED`.
+	// been created but is being delayed until launch. Jobs that are queued
+	// may only transition to `JOB_STATE_PENDING` or `JOB_STATE_CANCELLED`.
 	ExecutionStageState string `json:"executionStageState,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CurrentStateTime") to
@@ -2112,10 +1992,9 @@
 }
 
 // ExecutionStageSummary: Description of the composing transforms,
-// names/ids, and input/outputs of a
-// stage of execution.  Some composing transforms and sources may have
-// been
-// generated by the Dataflow service during execution planning.
+// names/ids, and input/outputs of a stage of execution. Some composing
+// transforms and sources may have been generated by the Dataflow
+// service during execution planning.
 type ExecutionStageSummary struct {
 	// ComponentSource: Collections produced and consumed by component
 	// transforms of this stage.
@@ -2176,17 +2055,13 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// FailedLocation: Indicates which [regional
-// endpoint]
-// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-// dpoints) failed
-// to respond to a request for data.
+// FailedLocation: Indicates which [regional endpoint]
+// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints)
+// failed to respond to a request for data.
 type FailedLocation struct {
-	// Name: The name of the [regional
-	// endpoint]
-	// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-	// dpoints) that
-	// failed to respond.
+	// Name: The name of the [regional endpoint]
+	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints)
+	// that failed to respond.
 	Name string `json:"name,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Name") to
@@ -2348,15 +2223,12 @@
 // component.
 type GetDebugConfigRequest struct {
 	// ComponentId: The internal component id for which debug configuration
-	// is
-	// requested.
+	// is requested.
 	ComponentId string `json:"componentId,omitempty"`
 
-	// Location: The [regional
-	// endpoint]
-	// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-	// dpoints) that
-	// contains the job specified by job_id.
+	// Location: The [regional endpoint]
+	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints)
+	// that contains the job specified by job_id.
 	Location string `json:"location,omitempty"`
 
 	// WorkerId: The worker id, i.e., VM hostname.
@@ -2421,16 +2293,14 @@
 // GetTemplateResponse: The response to a GetTemplate request.
 type GetTemplateResponse struct {
 	// Metadata: The template metadata describing the template name,
-	// available
-	// parameters, etc.
+	// available parameters, etc.
 	Metadata *TemplateMetadata `json:"metadata,omitempty"`
 
 	// RuntimeMetadata: Describes the runtime metadata with SDKInfo and
 	// available parameters.
 	RuntimeMetadata *RuntimeMetadata `json:"runtimeMetadata,omitempty"`
 
-	// Status: The status of the get template request. Any problems with
-	// the
+	// Status: The status of the get template request. Any problems with the
 	// request will be indicated in the error_details.
 	Status *Status `json:"status,omitempty"`
 
@@ -2469,31 +2339,22 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// Histogram: Histogram of value counts for a distribution.
-//
-// Buckets have an inclusive lower bound and exclusive upper bound and
-// use
-// "1,2,5 bucketing": The first bucket range is from [0,1) and all
-// subsequent
+// Histogram: Histogram of value counts for a distribution. Buckets have
+// an inclusive lower bound and exclusive upper bound and use "1,2,5
+// bucketing": The first bucket range is from [0,1) and all subsequent
 // bucket boundaries are powers of ten multiplied by 1, 2, or 5. Thus,
-// bucket
-// boundaries are 0, 1, 2, 5, 10, 20, 50, 100, 200, 500, 1000,
-// ...
-// Negative values are not supported.
+// bucket boundaries are 0, 1, 2, 5, 10, 20, 50, 100, 200, 500, 1000,
+// ... Negative values are not supported.
 type Histogram struct {
 	// BucketCounts: Counts of values in each bucket. For efficiency, prefix
-	// and trailing
-	// buckets with count = 0 are elided. Buckets can store the full range
-	// of
-	// values of an unsigned long, with ULLONG_MAX falling into the 59th
-	// bucket
-	// with range [1e19, 2e19).
+	// and trailing buckets with count = 0 are elided. Buckets can store the
+	// full range of values of an unsigned long, with ULLONG_MAX falling
+	// into the 59th bucket with range [1e19, 2e19).
 	BucketCounts googleapi.Int64s `json:"bucketCounts,omitempty"`
 
 	// FirstBucketOffset: Starting index of first stored bucket. The
-	// non-inclusive upper-bound of
-	// the ith bucket is given by:
-	//   pow(10,(i-first_bucket_offset)/3) *
+	// non-inclusive upper-bound of the ith bucket is given by:
+	// pow(10,(i-first_bucket_offset)/3) *
 	// (1,2,5)[(i-first_bucket_offset)%3]
 	FirstBucketOffset int64 `json:"firstBucketOffset,omitempty"`
 
@@ -2527,8 +2388,7 @@
 	// detected.
 	HotKeyAge string `json:"hotKeyAge,omitempty"`
 
-	// SystemName: System-defined name of the step containing this hot
-	// key.
+	// SystemName: System-defined name of the step containing this hot key.
 	// Unique across the workflow.
 	SystemName string `json:"systemName,omitempty"`
 
@@ -2560,17 +2420,15 @@
 }
 
 // InstructionInput: An input of an instruction, as a reference to an
-// output of a
-// producer instruction.
+// output of a producer instruction.
 type InstructionInput struct {
 	// OutputNum: The output index (origin zero) within the producer.
 	OutputNum int64 `json:"outputNum,omitempty"`
 
 	// ProducerInstructionIndex: The index (origin zero) of the parallel
-	// instruction that produces
-	// the output to be consumed by this input.  This index is relative
-	// to the list of instructions in this input's instruction's
-	// containing MapTask.
+	// instruction that produces the output to be consumed by this input.
+	// This index is relative to the list of instructions in this input's
+	// instruction's containing MapTask.
 	ProducerInstructionIndex int64 `json:"producerInstructionIndex,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "OutputNum") to
@@ -2605,23 +2463,20 @@
 	Name string `json:"name,omitempty"`
 
 	// OnlyCountKeyBytes: For system-generated byte and mean byte metrics,
-	// certain instructions
-	// should only report the key size.
+	// certain instructions should only report the key size.
 	OnlyCountKeyBytes bool `json:"onlyCountKeyBytes,omitempty"`
 
 	// OnlyCountValueBytes: For system-generated byte and mean byte metrics,
-	// certain instructions
-	// should only report the value size.
+	// certain instructions should only report the value size.
 	OnlyCountValueBytes bool `json:"onlyCountValueBytes,omitempty"`
 
 	// OriginalName: System-defined name for this output in the original
-	// workflow graph.
-	// Outputs that do not contribute to an original instruction do not set
-	// this.
+	// workflow graph. Outputs that do not contribute to an original
+	// instruction do not set this.
 	OriginalName string `json:"originalName,omitempty"`
 
-	// SystemName: System-defined name of this output.
-	// Unique across the workflow.
+	// SystemName: System-defined name of this output. Unique across the
+	// workflow.
 	SystemName string `json:"systemName,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Codec") to
@@ -2742,112 +2597,77 @@
 // Job: Defines a job to be run by the Cloud Dataflow service.
 type Job struct {
 	// ClientRequestId: The client's unique identifier of the job, re-used
-	// across retried attempts.
-	// If this field is set, the service will ensure its uniqueness.
-	// The request to create a job will fail if the service has knowledge of
-	// a
-	// previously submitted job with the same client's ID and job name.
-	// The caller may use this field to ensure idempotence of job
-	// creation across retried attempts to create a job.
+	// across retried attempts. If this field is set, the service will
+	// ensure its uniqueness. The request to create a job will fail if the
+	// service has knowledge of a previously submitted job with the same
+	// client's ID and job name. The caller may use this field to ensure
+	// idempotence of job creation across retried attempts to create a job.
 	// By default, the field is empty and, in that case, the service ignores
 	// it.
 	ClientRequestId string `json:"clientRequestId,omitempty"`
 
 	// CreateTime: The timestamp when the job was initially created.
-	// Immutable and set by the
-	// Cloud Dataflow service.
+	// Immutable and set by the Cloud Dataflow service.
 	CreateTime string `json:"createTime,omitempty"`
 
 	// CreatedFromSnapshotId: If this is specified, the job's initial state
-	// is populated from the given
-	// snapshot.
+	// is populated from the given snapshot.
 	CreatedFromSnapshotId string `json:"createdFromSnapshotId,omitempty"`
 
-	// CurrentState: The current state of the job.
-	//
-	// Jobs are created in the `JOB_STATE_STOPPED` state unless
-	// otherwise
-	// specified.
-	//
-	// A job in the `JOB_STATE_RUNNING` state may asynchronously enter
-	// a
-	// terminal state. After a job has reached a terminal state, no
-	// further state updates may be made.
-	//
-	// This field may be mutated by the Cloud Dataflow service;
+	// CurrentState: The current state of the job. Jobs are created in the
+	// `JOB_STATE_STOPPED` state unless otherwise specified. A job in the
+	// `JOB_STATE_RUNNING` state may asynchronously enter a terminal state.
+	// After a job has reached a terminal state, no further state updates
+	// may be made. This field may be mutated by the Cloud Dataflow service;
 	// callers cannot mutate it.
 	//
 	// Possible values:
 	//   "JOB_STATE_UNKNOWN" - The job's run state isn't specified.
 	//   "JOB_STATE_STOPPED" - `JOB_STATE_STOPPED` indicates that the job
-	// has not
-	// yet started to run.
+	// has not yet started to run.
 	//   "JOB_STATE_RUNNING" - `JOB_STATE_RUNNING` indicates that the job is
 	// currently running.
 	//   "JOB_STATE_DONE" - `JOB_STATE_DONE` indicates that the job has
-	// successfully completed.
-	// This is a terminal job state.  This state may be set by the Cloud
-	// Dataflow
-	// service, as a transition from `JOB_STATE_RUNNING`. It may also be set
-	// via a
-	// Cloud Dataflow `UpdateJob` call, if the job has not yet reached a
-	// terminal
-	// state.
+	// successfully completed. This is a terminal job state. This state may
+	// be set by the Cloud Dataflow service, as a transition from
+	// `JOB_STATE_RUNNING`. It may also be set via a Cloud Dataflow
+	// `UpdateJob` call, if the job has not yet reached a terminal state.
 	//   "JOB_STATE_FAILED" - `JOB_STATE_FAILED` indicates that the job has
-	// failed.  This is a
-	// terminal job state.  This state may only be set by the Cloud
-	// Dataflow
-	// service, and only as a transition from `JOB_STATE_RUNNING`.
-	//   "JOB_STATE_CANCELLED" - `JOB_STATE_CANCELLED` indicates that the
-	// job has been explicitly
-	// cancelled. This is a terminal job state. This state may only be
-	// set via a Cloud Dataflow `UpdateJob` call, and only if the job has
-	// not
-	// yet reached another terminal state.
-	//   "JOB_STATE_UPDATED" - `JOB_STATE_UPDATED` indicates that the job
-	// was successfully updated,
-	// meaning that this job was stopped and another job was started,
-	// inheriting
-	// state from this one. This is a terminal job state. This state may
-	// only be
-	// set by the Cloud Dataflow service, and only as a transition
-	// from
+	// failed. This is a terminal job state. This state may only be set by
+	// the Cloud Dataflow service, and only as a transition from
 	// `JOB_STATE_RUNNING`.
+	//   "JOB_STATE_CANCELLED" - `JOB_STATE_CANCELLED` indicates that the
+	// job has been explicitly cancelled. This is a terminal job state. This
+	// state may only be set via a Cloud Dataflow `UpdateJob` call, and only
+	// if the job has not yet reached another terminal state.
+	//   "JOB_STATE_UPDATED" - `JOB_STATE_UPDATED` indicates that the job
+	// was successfully updated, meaning that this job was stopped and
+	// another job was started, inheriting state from this one. This is a
+	// terminal job state. This state may only be set by the Cloud Dataflow
+	// service, and only as a transition from `JOB_STATE_RUNNING`.
 	//   "JOB_STATE_DRAINING" - `JOB_STATE_DRAINING` indicates that the job
-	// is in the process of draining.
-	// A draining job has stopped pulling from its input sources and is
-	// processing
-	// any data that remains in-flight. This state may be set via a Cloud
-	// Dataflow
-	// `UpdateJob` call, but only as a transition from `JOB_STATE_RUNNING`.
-	// Jobs
-	// that are draining may only transition to
-	// `JOB_STATE_DRAINED`,
+	// is in the process of draining. A draining job has stopped pulling
+	// from its input sources and is processing any data that remains
+	// in-flight. This state may be set via a Cloud Dataflow `UpdateJob`
+	// call, but only as a transition from `JOB_STATE_RUNNING`. Jobs that
+	// are draining may only transition to `JOB_STATE_DRAINED`,
 	// `JOB_STATE_CANCELLED`, or `JOB_STATE_FAILED`.
 	//   "JOB_STATE_DRAINED" - `JOB_STATE_DRAINED` indicates that the job
-	// has been drained.
-	// A drained job terminated by stopping pulling from its input sources
-	// and
-	// processing any data that remained in-flight when draining was
-	// requested.
-	// This state is a terminal state, may only be set by the Cloud
-	// Dataflow
-	// service, and only as a transition from `JOB_STATE_DRAINING`.
+	// has been drained. A drained job terminated by stopping pulling from
+	// its input sources and processing any data that remained in-flight
+	// when draining was requested. This state is a terminal state, may only
+	// be set by the Cloud Dataflow service, and only as a transition from
+	// `JOB_STATE_DRAINING`.
 	//   "JOB_STATE_PENDING" - `JOB_STATE_PENDING` indicates that the job
-	// has been created but is not yet
-	// running.  Jobs that are pending may only transition to
-	// `JOB_STATE_RUNNING`,
-	// or `JOB_STATE_FAILED`.
+	// has been created but is not yet running. Jobs that are pending may
+	// only transition to `JOB_STATE_RUNNING`, or `JOB_STATE_FAILED`.
 	//   "JOB_STATE_CANCELLING" - `JOB_STATE_CANCELLING` indicates that the
-	// job has been explicitly cancelled
-	// and is in the process of stopping.  Jobs that are cancelling may
-	// only
-	// transition to `JOB_STATE_CANCELLED` or `JOB_STATE_FAILED`.
+	// job has been explicitly cancelled and is in the process of stopping.
+	// Jobs that are cancelling may only transition to `JOB_STATE_CANCELLED`
+	// or `JOB_STATE_FAILED`.
 	//   "JOB_STATE_QUEUED" - `JOB_STATE_QUEUED` indicates that the job has
-	// been created but is being
-	// delayed until launch. Jobs that are queued may only transition
-	// to
-	// `JOB_STATE_PENDING` or `JOB_STATE_CANCELLED`.
+	// been created but is being delayed until launch. Jobs that are queued
+	// may only transition to `JOB_STATE_PENDING` or `JOB_STATE_CANCELLED`.
 	CurrentState string `json:"currentState,omitempty"`
 
 	// CurrentStateTime: The timestamp associated with the current state.
@@ -2859,59 +2679,40 @@
 	// ExecutionInfo: Deprecated.
 	ExecutionInfo *JobExecutionInfo `json:"executionInfo,omitempty"`
 
-	// Id: The unique ID of this job.
-	//
-	// This field is set by the Cloud Dataflow service when the Job
-	// is
-	// created, and is immutable for the life of the job.
+	// Id: The unique ID of this job. This field is set by the Cloud
+	// Dataflow service when the Job is created, and is immutable for the
+	// life of the job.
 	Id string `json:"id,omitempty"`
 
 	// JobMetadata: This field is populated by the Dataflow service to
-	// support filtering jobs
-	// by the metadata values provided here. Populated for ListJobs and all
-	// GetJob
-	// views SUMMARY and higher.
+	// support filtering jobs by the metadata values provided here.
+	// Populated for ListJobs and all GetJob views SUMMARY and higher.
 	JobMetadata *JobMetadata `json:"jobMetadata,omitempty"`
 
-	// Labels: User-defined labels for this job.
-	//
-	// The labels map can contain no more than 64 entries.  Entries of the
-	// labels
-	// map are UTF8 strings that comply with the following restrictions:
-	//
-	// * Keys must conform to regexp:  \p{Ll}\p{Lo}{0,62}
-	// * Values must conform to regexp:  [\p{Ll}\p{Lo}\p{N}_-]{0,63}
-	// * Both keys and values are additionally constrained to be <= 128
-	// bytes in
-	// size.
+	// Labels: User-defined labels for this job. The labels map can contain
+	// no more than 64 entries. Entries of the labels map are UTF8 strings
+	// that comply with the following restrictions: * Keys must conform to
+	// regexp: \p{Ll}\p{Lo}{0,62} * Values must conform to regexp:
+	// [\p{Ll}\p{Lo}\p{N}_-]{0,63} * Both keys and values are additionally
+	// constrained to be <= 128 bytes in size.
 	Labels map[string]string `json:"labels,omitempty"`
 
-	// Location: The [regional
-	// endpoint]
-	// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-	// dpoints) that
-	// contains this job.
+	// Location: The [regional endpoint]
+	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints)
+	// that contains this job.
 	Location string `json:"location,omitempty"`
 
-	// Name: The user-specified Cloud Dataflow job name.
-	//
-	// Only one Job with a given name may exist in a project at any
-	// given time. If a caller attempts to create a Job with the same
-	// name as an already-existing Job, the attempt returns the
-	// existing Job.
-	//
-	// The name must match the regular
-	// expression
-	// `[a-z]([-a-z0-9]{0,38}[a-z0-9])?`
+	// Name: The user-specified Cloud Dataflow job name. Only one Job with a
+	// given name may exist in a project at any given time. If a caller
+	// attempts to create a Job with the same name as an already-existing
+	// Job, the attempt returns the existing Job. The name must match the
+	// regular expression `[a-z]([-a-z0-9]{0,38}[a-z0-9])?`
 	Name string `json:"name,omitempty"`
 
 	// PipelineDescription: Preliminary field: The format of this data may
-	// change at any time.
-	// A description of the user pipeline and stages through which it is
-	// executed.
-	// Created by Cloud Dataflow service.  Only retrieved
-	// with
-	// JOB_VIEW_DESCRIPTION or JOB_VIEW_ALL.
+	// change at any time. A description of the user pipeline and stages
+	// through which it is executed. Created by Cloud Dataflow service. Only
+	// retrieved with JOB_VIEW_DESCRIPTION or JOB_VIEW_ALL.
 	PipelineDescription *PipelineDescription `json:"pipelineDescription,omitempty"`
 
 	// ProjectId: The ID of the Cloud Platform project that the job belongs
@@ -2919,153 +2720,103 @@
 	ProjectId string `json:"projectId,omitempty"`
 
 	// ReplaceJobId: If this job is an update of an existing job, this field
-	// is the job ID
-	// of the job it replaced.
-	//
-	// When sending a `CreateJobRequest`, you can update a job by specifying
-	// it
-	// here. The job named here is stopped, and its intermediate state
-	// is
-	// transferred to this job.
+	// is the job ID of the job it replaced. When sending a
+	// `CreateJobRequest`, you can update a job by specifying it here. The
+	// job named here is stopped, and its intermediate state is transferred
+	// to this job.
 	ReplaceJobId string `json:"replaceJobId,omitempty"`
 
 	// ReplacedByJobId: If another job is an update of this job (and thus,
-	// this job is in
-	// `JOB_STATE_UPDATED`), this field contains the ID of that job.
+	// this job is in `JOB_STATE_UPDATED`), this field contains the ID of
+	// that job.
 	ReplacedByJobId string `json:"replacedByJobId,omitempty"`
 
-	// RequestedState: The job's requested state.
-	//
-	// `UpdateJob` may be used to switch between the `JOB_STATE_STOPPED`
-	// and
-	// `JOB_STATE_RUNNING` states, by setting requested_state.  `UpdateJob`
-	// may
-	// also be used to directly set a job's requested state
-	// to
-	// `JOB_STATE_CANCELLED` or `JOB_STATE_DONE`, irrevocably terminating
-	// the
-	// job if it has not already reached a terminal state.
+	// RequestedState: The job's requested state. `UpdateJob` may be used to
+	// switch between the `JOB_STATE_STOPPED` and `JOB_STATE_RUNNING`
+	// states, by setting requested_state. `UpdateJob` may also be used to
+	// directly set a job's requested state to `JOB_STATE_CANCELLED` or
+	// `JOB_STATE_DONE`, irrevocably terminating the job if it has not
+	// already reached a terminal state.
 	//
 	// Possible values:
 	//   "JOB_STATE_UNKNOWN" - The job's run state isn't specified.
 	//   "JOB_STATE_STOPPED" - `JOB_STATE_STOPPED` indicates that the job
-	// has not
-	// yet started to run.
+	// has not yet started to run.
 	//   "JOB_STATE_RUNNING" - `JOB_STATE_RUNNING` indicates that the job is
 	// currently running.
 	//   "JOB_STATE_DONE" - `JOB_STATE_DONE` indicates that the job has
-	// successfully completed.
-	// This is a terminal job state.  This state may be set by the Cloud
-	// Dataflow
-	// service, as a transition from `JOB_STATE_RUNNING`. It may also be set
-	// via a
-	// Cloud Dataflow `UpdateJob` call, if the job has not yet reached a
-	// terminal
-	// state.
+	// successfully completed. This is a terminal job state. This state may
+	// be set by the Cloud Dataflow service, as a transition from
+	// `JOB_STATE_RUNNING`. It may also be set via a Cloud Dataflow
+	// `UpdateJob` call, if the job has not yet reached a terminal state.
 	//   "JOB_STATE_FAILED" - `JOB_STATE_FAILED` indicates that the job has
-	// failed.  This is a
-	// terminal job state.  This state may only be set by the Cloud
-	// Dataflow
-	// service, and only as a transition from `JOB_STATE_RUNNING`.
-	//   "JOB_STATE_CANCELLED" - `JOB_STATE_CANCELLED` indicates that the
-	// job has been explicitly
-	// cancelled. This is a terminal job state. This state may only be
-	// set via a Cloud Dataflow `UpdateJob` call, and only if the job has
-	// not
-	// yet reached another terminal state.
-	//   "JOB_STATE_UPDATED" - `JOB_STATE_UPDATED` indicates that the job
-	// was successfully updated,
-	// meaning that this job was stopped and another job was started,
-	// inheriting
-	// state from this one. This is a terminal job state. This state may
-	// only be
-	// set by the Cloud Dataflow service, and only as a transition
-	// from
+	// failed. This is a terminal job state. This state may only be set by
+	// the Cloud Dataflow service, and only as a transition from
 	// `JOB_STATE_RUNNING`.
+	//   "JOB_STATE_CANCELLED" - `JOB_STATE_CANCELLED` indicates that the
+	// job has been explicitly cancelled. This is a terminal job state. This
+	// state may only be set via a Cloud Dataflow `UpdateJob` call, and only
+	// if the job has not yet reached another terminal state.
+	//   "JOB_STATE_UPDATED" - `JOB_STATE_UPDATED` indicates that the job
+	// was successfully updated, meaning that this job was stopped and
+	// another job was started, inheriting state from this one. This is a
+	// terminal job state. This state may only be set by the Cloud Dataflow
+	// service, and only as a transition from `JOB_STATE_RUNNING`.
 	//   "JOB_STATE_DRAINING" - `JOB_STATE_DRAINING` indicates that the job
-	// is in the process of draining.
-	// A draining job has stopped pulling from its input sources and is
-	// processing
-	// any data that remains in-flight. This state may be set via a Cloud
-	// Dataflow
-	// `UpdateJob` call, but only as a transition from `JOB_STATE_RUNNING`.
-	// Jobs
-	// that are draining may only transition to
-	// `JOB_STATE_DRAINED`,
+	// is in the process of draining. A draining job has stopped pulling
+	// from its input sources and is processing any data that remains
+	// in-flight. This state may be set via a Cloud Dataflow `UpdateJob`
+	// call, but only as a transition from `JOB_STATE_RUNNING`. Jobs that
+	// are draining may only transition to `JOB_STATE_DRAINED`,
 	// `JOB_STATE_CANCELLED`, or `JOB_STATE_FAILED`.
 	//   "JOB_STATE_DRAINED" - `JOB_STATE_DRAINED` indicates that the job
-	// has been drained.
-	// A drained job terminated by stopping pulling from its input sources
-	// and
-	// processing any data that remained in-flight when draining was
-	// requested.
-	// This state is a terminal state, may only be set by the Cloud
-	// Dataflow
-	// service, and only as a transition from `JOB_STATE_DRAINING`.
+	// has been drained. A drained job terminated by stopping pulling from
+	// its input sources and processing any data that remained in-flight
+	// when draining was requested. This state is a terminal state, may only
+	// be set by the Cloud Dataflow service, and only as a transition from
+	// `JOB_STATE_DRAINING`.
 	//   "JOB_STATE_PENDING" - `JOB_STATE_PENDING` indicates that the job
-	// has been created but is not yet
-	// running.  Jobs that are pending may only transition to
-	// `JOB_STATE_RUNNING`,
-	// or `JOB_STATE_FAILED`.
+	// has been created but is not yet running. Jobs that are pending may
+	// only transition to `JOB_STATE_RUNNING`, or `JOB_STATE_FAILED`.
 	//   "JOB_STATE_CANCELLING" - `JOB_STATE_CANCELLING` indicates that the
-	// job has been explicitly cancelled
-	// and is in the process of stopping.  Jobs that are cancelling may
-	// only
-	// transition to `JOB_STATE_CANCELLED` or `JOB_STATE_FAILED`.
+	// job has been explicitly cancelled and is in the process of stopping.
+	// Jobs that are cancelling may only transition to `JOB_STATE_CANCELLED`
+	// or `JOB_STATE_FAILED`.
 	//   "JOB_STATE_QUEUED" - `JOB_STATE_QUEUED` indicates that the job has
-	// been created but is being
-	// delayed until launch. Jobs that are queued may only transition
-	// to
-	// `JOB_STATE_PENDING` or `JOB_STATE_CANCELLED`.
+	// been created but is being delayed until launch. Jobs that are queued
+	// may only transition to `JOB_STATE_PENDING` or `JOB_STATE_CANCELLED`.
 	RequestedState string `json:"requestedState,omitempty"`
 
-	// StageStates: This field may be mutated by the Cloud Dataflow
-	// service;
+	// StageStates: This field may be mutated by the Cloud Dataflow service;
 	// callers cannot mutate it.
 	StageStates []*ExecutionStageState `json:"stageStates,omitempty"`
 
 	// StartTime: The timestamp when the job was started (transitioned to
-	// JOB_STATE_PENDING).
-	// Flexible resource scheduling jobs are started with some delay after
-	// job
-	// creation, so start_time is unset before start and is updated when
-	// the
-	// job is started by the Cloud Dataflow service. For other jobs,
-	// start_time
-	// always equals to create_time and is immutable and set by the Cloud
-	// Dataflow
-	// service.
+	// JOB_STATE_PENDING). Flexible resource scheduling jobs are started
+	// with some delay after job creation, so start_time is unset before
+	// start and is updated when the job is started by the Cloud Dataflow
+	// service. For other jobs, start_time always equals to create_time and
+	// is immutable and set by the Cloud Dataflow service.
 	StartTime string `json:"startTime,omitempty"`
 
-	// Steps: Exactly one of step or steps_location should be
-	// specified.
-	//
-	// The top-level steps that constitute the entire job. Only retrieved
-	// with
+	// Steps: Exactly one of step or steps_location should be specified. The
+	// top-level steps that constitute the entire job. Only retrieved with
 	// JOB_VIEW_ALL.
 	Steps []*Step `json:"steps,omitempty"`
 
 	// StepsLocation: The GCS location where the steps are stored.
 	StepsLocation string `json:"stepsLocation,omitempty"`
 
-	// TempFiles: A set of files the system should be aware of that are
-	// used
-	// for temporary storage. These temporary files will be
-	// removed on job completion.
-	// No duplicates are allowed.
-	// No file patterns are supported.
-	//
-	// The supported files are:
-	//
-	// Google Cloud Storage:
-	//
-	//    storage.googleapis.com/{bucket}/{object}
-	//    bucket.storage.googleapis.com/{object}
+	// TempFiles: A set of files the system should be aware of that are used
+	// for temporary storage. These temporary files will be removed on job
+	// completion. No duplicates are allowed. No file patterns are
+	// supported. The supported files are: Google Cloud Storage:
+	// storage.googleapis.com/{bucket}/{object}
+	// bucket.storage.googleapis.com/{object}
 	TempFiles []string `json:"tempFiles,omitempty"`
 
 	// TransformNameMapping: The map of transform name prefixes of the job
-	// to be replaced to the
-	// corresponding name prefixes of the new job.
+	// to be replaced to the corresponding name prefixes of the new job.
 	TransformNameMapping map[string]string `json:"transformNameMapping,omitempty"`
 
 	// Type: The type of Cloud Dataflow job.
@@ -3074,11 +2825,9 @@
 	//   "JOB_TYPE_UNKNOWN" - The type of the job is unspecified, or
 	// unknown.
 	//   "JOB_TYPE_BATCH" - A batch job with a well-defined end point: data
-	// is read, data is
-	// processed, data is written, and the job is done.
+	// is read, data is processed, data is written, and the job is done.
 	//   "JOB_TYPE_STREAMING" - A continuously streaming job with no end:
-	// data is read,
-	// processed, and written continuously.
+	// data is read, processed, and written continuously.
 	Type string `json:"type,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -3109,9 +2858,40 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// JobExecutionDetails: Information about the execution of a job.
+type JobExecutionDetails struct {
+	// Stages: The stages of the job execution.
+	Stages []*StageSummary `json:"stages,omitempty"`
+
+	// ServerResponse contains the HTTP response code and headers from the
+	// server.
+	googleapi.ServerResponse `json:"-"`
+
+	// ForceSendFields is a list of field names (e.g. "Stages") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "Stages") to include in API
+	// requests with the JSON null value. By default, fields with empty
+	// values are omitted from API requests. However, any field with an
+	// empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *JobExecutionDetails) MarshalJSON() ([]byte, error) {
+	type NoMethod JobExecutionDetails
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // JobExecutionInfo: Additional information about how a Cloud Dataflow
-// job will be executed that
-// isn't contained in the submitted job.
+// job will be executed that isn't contained in the submitted job.
 type JobExecutionInfo struct {
 	// Stages: A mapping from each stage to the information about that
 	// stage.
@@ -3140,13 +2920,12 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// JobExecutionStageInfo: Contains information about how a
-// particular
+// JobExecutionStageInfo: Contains information about how a particular
 // google.dataflow.v1beta3.Step will be executed.
 type JobExecutionStageInfo struct {
-	// StepName: The steps associated with the execution stage.
-	// Note that stages may have several steps, and that a given step
-	// might be run by more than one stage.
+	// StepName: The steps associated with the execution stage. Note that
+	// stages may have several steps, and that a given step might be run by
+	// more than one stage.
 	StepName []string `json:"stepName,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "StepName") to
@@ -3183,37 +2962,29 @@
 	//   "JOB_MESSAGE_IMPORTANCE_UNKNOWN" - The message importance isn't
 	// specified, or is unknown.
 	//   "JOB_MESSAGE_DEBUG" - The message is at the 'debug' level:
-	// typically only useful for
-	// software engineers working on the code the job is running.
-	// Typically, Dataflow pipeline runners do not display log messages
-	// at this level by default.
+	// typically only useful for software engineers working on the code the
+	// job is running. Typically, Dataflow pipeline runners do not display
+	// log messages at this level by default.
 	//   "JOB_MESSAGE_DETAILED" - The message is at the 'detailed' level:
-	// somewhat verbose, but
-	// potentially useful to users.  Typically, Dataflow pipeline
-	// runners do not display log messages at this level by default.
-	// These messages are displayed by default in the Dataflow
+	// somewhat verbose, but potentially useful to users. Typically,
+	// Dataflow pipeline runners do not display log messages at this level
+	// by default. These messages are displayed by default in the Dataflow
 	// monitoring UI.
 	//   "JOB_MESSAGE_BASIC" - The message is at the 'basic' level: useful
-	// for keeping
-	// track of the execution of a Dataflow pipeline.  Typically,
-	// Dataflow pipeline runners display log messages at this level
-	// by
-	// default, and these messages are displayed by default in the
-	// Dataflow monitoring UI.
+	// for keeping track of the execution of a Dataflow pipeline. Typically,
+	// Dataflow pipeline runners display log messages at this level by
+	// default, and these messages are displayed by default in the Dataflow
+	// monitoring UI.
 	//   "JOB_MESSAGE_WARNING" - The message is at the 'warning' level:
-	// indicating a condition
-	// pertaining to a job which may require human intervention.
-	// Typically, Dataflow pipeline runners display log messages at
-	// this
-	// level by default, and these messages are displayed by default in
-	// the Dataflow monitoring UI.
+	// indicating a condition pertaining to a job which may require human
+	// intervention. Typically, Dataflow pipeline runners display log
+	// messages at this level by default, and these messages are displayed
+	// by default in the Dataflow monitoring UI.
 	//   "JOB_MESSAGE_ERROR" - The message is at the 'error' level:
-	// indicating a condition
-	// preventing a job from succeeding.  Typically, Dataflow
-	// pipeline
-	// runners display log messages at this level by default, and
-	// these
-	// messages are displayed by default in the Dataflow monitoring UI.
+	// indicating a condition preventing a job from succeeding. Typically,
+	// Dataflow pipeline runners display log messages at this level by
+	// default, and these messages are displayed by default in the Dataflow
+	// monitoring UI.
 	MessageImportance string `json:"messageImportance,omitempty"`
 
 	// MessageText: The text of the message.
@@ -3246,8 +3017,7 @@
 }
 
 // JobMetadata: Metadata available primarily for filtering jobs. Will be
-// included in the
-// ListJob response and Job SUMMARY view.
+// included in the ListJob response and Job SUMMARY view.
 type JobMetadata struct {
 	// BigTableDetails: Identification of a BigTable source used in the
 	// Dataflow job.
@@ -3301,16 +3071,11 @@
 }
 
 // JobMetrics: JobMetrics contains a collection of metrics describing
-// the detailed progress
-// of a Dataflow job. Metrics correspond to user-defined and
-// system-defined
-// metrics in the job.
-//
-// This resource captures only the most recent values of each
-// metric;
-// time-series data can be queried for them (under the same metric
-// names)
-// from Cloud Monitoring.
+// the detailed progress of a Dataflow job. Metrics correspond to
+// user-defined and system-defined metrics in the job. This resource
+// captures only the most recent values of each metric; time-series data
+// can be queried for them (under the same metric names) from Cloud
+// Monitoring.
 type JobMetrics struct {
 	// MetricTime: Timestamp as of which metric values are current.
 	MetricTime string `json:"metricTime,omitempty"`
@@ -3346,18 +3111,12 @@
 }
 
 // KeyRangeDataDiskAssignment: Data disk assignment information for a
-// specific key-range of a sharded
-// computation.
-// Currently we only support UTF-8 character splits to simplify encoding
-// into
-// JSON.
+// specific key-range of a sharded computation. Currently we only
+// support UTF-8 character splits to simplify encoding into JSON.
 type KeyRangeDataDiskAssignment struct {
 	// DataDisk: The name of the data disk where data for this range is
-	// stored.
-	// This name is local to the Google Cloud Platform project and
-	// uniquely
-	// identifies the disk within that project, for
-	// example
+	// stored. This name is local to the Google Cloud Platform project and
+	// uniquely identifies the disk within that project, for example
 	// "myproject-1014-104817-4c2-harness-0-disk-1".
 	DataDisk string `json:"dataDisk,omitempty"`
 
@@ -3391,28 +3150,22 @@
 }
 
 // KeyRangeLocation: Location information for a specific key-range of a
-// sharded computation.
-// Currently we only support UTF-8 character splits to simplify encoding
-// into
-// JSON.
+// sharded computation. Currently we only support UTF-8 character splits
+// to simplify encoding into JSON.
 type KeyRangeLocation struct {
 	// DataDisk: The name of the data disk where data for this range is
-	// stored.
-	// This name is local to the Google Cloud Platform project and
-	// uniquely
-	// identifies the disk within that project, for
-	// example
+	// stored. This name is local to the Google Cloud Platform project and
+	// uniquely identifies the disk within that project, for example
 	// "myproject-1014-104817-4c2-harness-0-disk-1".
 	DataDisk string `json:"dataDisk,omitempty"`
 
 	// DeliveryEndpoint: The physical location of this range assignment to
-	// be used for
-	// streaming computation cross-worker message delivery.
+	// be used for streaming computation cross-worker message delivery.
 	DeliveryEndpoint string `json:"deliveryEndpoint,omitempty"`
 
 	// DeprecatedPersistentDirectory: DEPRECATED. The location of the
-	// persistent state for this range, as a
-	// persistent directory in the worker local filesystem.
+	// persistent state for this range, as a persistent directory in the
+	// worker local filesystem.
 	DeprecatedPersistentDirectory string `json:"deprecatedPersistentDirectory,omitempty"`
 
 	// End: The end (exclusive) of the key range.
@@ -3457,14 +3210,11 @@
 	JobName string `json:"jobName,omitempty"`
 
 	// LaunchOptions: Launch options for this flex template job. This is a
-	// common set of options
-	// across languages and templates. This should not be used to pass
-	// job
-	// parameters.
+	// common set of options across languages and templates. This should not
+	// be used to pass job parameters.
 	LaunchOptions map[string]string `json:"launchOptions,omitempty"`
 
-	// Parameters: The parameters for FlexTemplate.
-	// Ex. {"num_workers":"5"}
+	// Parameters: The parameters for FlexTemplate. Ex. {"num_workers":"5"}
 	Parameters map[string]string `json:"parameters,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ContainerSpec") to
@@ -3498,8 +3248,7 @@
 	LaunchParameter *LaunchFlexTemplateParameter `json:"launchParameter,omitempty"`
 
 	// ValidateOnly: If true, the request is validated but not actually
-	// executed.
-	// Defaults to false.
+	// executed. Defaults to false.
 	ValidateOnly bool `json:"validateOnly,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "LaunchParameter") to
@@ -3529,8 +3278,7 @@
 // LaunchFlexTemplateResponse: Response to the request to launch a job
 // from Flex Template.
 type LaunchFlexTemplateResponse struct {
-	// Job: The job that was launched, if the request was not a dry run
-	// and
+	// Job: The job that was launched, if the request was not a dry run and
 	// the job was successfully launched.
 	Job *Job `json:"job,omitempty"`
 
@@ -3574,14 +3322,12 @@
 	Parameters map[string]string `json:"parameters,omitempty"`
 
 	// TransformNameMapping: Only applicable when updating a pipeline. Map
-	// of transform name prefixes of
-	// the job to be replaced to the corresponding name prefixes of the new
-	// job.
+	// of transform name prefixes of the job to be replaced to the
+	// corresponding name prefixes of the new job.
 	TransformNameMapping map[string]string `json:"transformNameMapping,omitempty"`
 
 	// Update: If set, replace the existing pipeline with the name specified
-	// by jobName
-	// with this pipeline, preserving state.
+	// by jobName with this pipeline, preserving state.
 	Update bool `json:"update,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Environment") to
@@ -3609,8 +3355,7 @@
 
 // LaunchTemplateResponse: Response to the request to launch a template.
 type LaunchTemplateResponse struct {
-	// Job: The job that was launched, if the request was not a dry run
-	// and
+	// Job: The job that was launched, if the request was not a dry run and
 	// the job was successfully launched.
 	Job *Job `json:"job,omitempty"`
 
@@ -3646,11 +3391,9 @@
 	// CurrentWorkerTime: The current timestamp at the worker.
 	CurrentWorkerTime string `json:"currentWorkerTime,omitempty"`
 
-	// Location: The [regional
-	// endpoint]
-	// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-	// dpoints) that
-	// contains the WorkItem's job.
+	// Location: The [regional endpoint]
+	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints)
+	// that contains the WorkItem's job.
 	Location string `json:"location,omitempty"`
 
 	// RequestedLeaseDuration: The initial lease period.
@@ -3664,13 +3407,11 @@
 	WorkItemTypes []string `json:"workItemTypes,omitempty"`
 
 	// WorkerCapabilities: Worker capabilities. WorkItems might be limited
-	// to workers with specific
-	// capabilities.
+	// to workers with specific capabilities.
 	WorkerCapabilities []string `json:"workerCapabilities,omitempty"`
 
 	// WorkerId: Identifies the worker leasing work -- typically the ID of
-	// the
-	// virtual machine running the worker.
+	// the virtual machine running the worker.
 	WorkerId string `json:"workerId,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CurrentWorkerTime")
@@ -3776,19 +3517,15 @@
 }
 
 // ListJobsResponse: Response to a request to list Cloud Dataflow jobs
-// in a project. This might
-// be a partial response, depending on the page size in the
-// ListJobsRequest.
-// However, if the project does not have any jobs, an instance
-// of
-// ListJobsResponse is not returned and the requests's response
-// body is empty {}.
+// in a project. This might be a partial response, depending on the page
+// size in the ListJobsRequest. However, if the project does not have
+// any jobs, an instance of ListJobsResponse is not returned and the
+// requests's response body is empty {}.
 type ListJobsResponse struct {
 	// FailedLocation: Zero or more messages describing the [regional
 	// endpoints]
-	// (https://cloud.google.com/dataflow/docs/concepts/regional-e
-	// ndpoints) that
-	// failed to respond.
+	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints)
+	// that failed to respond.
 	FailedLocation []*FailedLocation `json:"failedLocation,omitempty"`
 
 	// Jobs: A subset of the requested job information.
@@ -3861,8 +3598,8 @@
 // ListTemplateVersionsResponse: Respond a list of TemplateVersions.
 type ListTemplateVersionsResponse struct {
 	// NextPageToken: A token that can be sent as `page_token` to retrieve
-	// the next page.
-	// If this field is omitted, there are no subsequent pages.
+	// the next page. If this field is omitted, there are no subsequent
+	// pages.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// TemplateVersions: A list of TemplateVersions.
@@ -3896,30 +3633,24 @@
 }
 
 // MapTask: MapTask consists of an ordered set of instructions, each of
-// which
-// describes one particular low-level operation for the worker
-// to
-// perform in order to accomplish the MapTask's WorkItem.
-//
-// Each instruction must appear in the list before any instructions
-// which
+// which describes one particular low-level operation for the worker to
+// perform in order to accomplish the MapTask's WorkItem. Each
+// instruction must appear in the list before any instructions which
 // depends on its output.
 type MapTask struct {
 	// CounterPrefix: Counter prefix that can be used to prefix counters.
-	// Not currently used in
-	// Dataflow.
+	// Not currently used in Dataflow.
 	CounterPrefix string `json:"counterPrefix,omitempty"`
 
 	// Instructions: The instructions in the MapTask.
 	Instructions []*ParallelInstruction `json:"instructions,omitempty"`
 
-	// StageName: System-defined name of the stage containing this
-	// MapTask.
+	// StageName: System-defined name of the stage containing this MapTask.
 	// Unique across the workflow.
 	StageName string `json:"stageName,omitempty"`
 
-	// SystemName: System-defined name of this MapTask.
-	// Unique across the workflow.
+	// SystemName: System-defined name of this MapTask. Unique across the
+	// workflow.
 	SystemName string `json:"systemName,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CounterPrefix") to
@@ -3946,8 +3677,7 @@
 }
 
 // MemInfo: Information about the memory usage of a worker or a
-// container within a
-// worker.
+// container within a worker.
 type MemInfo struct {
 	// CurrentLimitBytes: Instantenous memory limit in bytes.
 	CurrentLimitBytes uint64 `json:"currentLimitBytes,omitempty,string"`
@@ -3986,11 +3716,10 @@
 }
 
 // MetricShortId: The metric short id is returned to the user alongside
-// an offset into
-// ReportWorkItemStatusRequest
+// an offset into ReportWorkItemStatusRequest
 type MetricShortId struct {
-	// MetricIndex: The index of the corresponding metric in
-	// the ReportWorkItemStatusRequest. Required.
+	// MetricIndex: The index of the corresponding metric in the
+	// ReportWorkItemStatusRequest. Required.
 	MetricIndex int64 `json:"metricIndex,omitempty"`
 
 	// ShortId: The service-generated short identifier for the metric.
@@ -4020,28 +3749,21 @@
 }
 
 // MetricStructuredName: Identifies a metric, by describing the source
-// which generated the
-// metric.
+// which generated the metric.
 type MetricStructuredName struct {
 	// Context: Zero or more labeled fields which identify the part of the
-	// job this
-	// metric is associated with, such as the name of a step or
-	// collection.
-	//
-	// For example, built-in counters associated with steps will
-	// have
-	// context['step'] = <step-name>. Counters associated with
-	// PCollections
-	// in the SDK will have context['pcollection'] = <pcollection-name>.
+	// job this metric is associated with, such as the name of a step or
+	// collection. For example, built-in counters associated with steps will
+	// have context['step'] = . Counters associated with PCollections in the
+	// SDK will have context['pcollection'] = .
 	Context map[string]string `json:"context,omitempty"`
 
 	// Name: Worker-defined metric name.
 	Name string `json:"name,omitempty"`
 
 	// Origin: Origin (namespace) of metric name. May be blank for
-	// user-define metrics;
-	// will be "dataflow" for metrics defined by the Dataflow service or
-	// SDK.
+	// user-define metrics; will be "dataflow" for metrics defined by the
+	// Dataflow service or SDK.
 	Origin string `json:"origin,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Context") to
@@ -4070,77 +3792,60 @@
 // MetricUpdate: Describes the state of a metric.
 type MetricUpdate struct {
 	// Cumulative: True if this metric is reported as the total cumulative
-	// aggregate
-	// value accumulated since the worker started working on this
-	// WorkItem.
-	// By default this is false, indicating that this metric is reported
-	// as a delta that is not associated with any WorkItem.
+	// aggregate value accumulated since the worker started working on this
+	// WorkItem. By default this is false, indicating that this metric is
+	// reported as a delta that is not associated with any WorkItem.
 	Cumulative bool `json:"cumulative,omitempty"`
 
 	// Distribution: A struct value describing properties of a distribution
 	// of numeric values.
 	Distribution interface{} `json:"distribution,omitempty"`
 
-	// Gauge: A struct value describing properties of a Gauge.
-	// Metrics of gauge type show the value of a metric across time, and
-	// is
-	// aggregated based on the newest value.
+	// Gauge: A struct value describing properties of a Gauge. Metrics of
+	// gauge type show the value of a metric across time, and is aggregated
+	// based on the newest value.
 	Gauge interface{} `json:"gauge,omitempty"`
 
 	// Internal: Worker-computed aggregate value for internal use by the
-	// Dataflow
-	// service.
+	// Dataflow service.
 	Internal interface{} `json:"internal,omitempty"`
 
-	// Kind: Metric aggregation kind.  The possible metric aggregation kinds
-	// are
-	// "Sum", "Max", "Min", "Mean", "Set", "And", "Or", and
-	// "Distribution".
-	// The specified aggregation kind is case-insensitive.
-	//
-	// If omitted, this is not an aggregated value but instead
-	// a single metric sample value.
+	// Kind: Metric aggregation kind. The possible metric aggregation kinds
+	// are "Sum", "Max", "Min", "Mean", "Set", "And", "Or", and
+	// "Distribution". The specified aggregation kind is case-insensitive.
+	// If omitted, this is not an aggregated value but instead a single
+	// metric sample value.
 	Kind string `json:"kind,omitempty"`
 
 	// MeanCount: Worker-computed aggregate value for the "Mean" aggregation
-	// kind.
-	// This holds the count of the aggregated values and is used in
-	// combination
-	// with mean_sum above to obtain the actual mean aggregate value.
-	// The only possible value type is Long.
+	// kind. This holds the count of the aggregated values and is used in
+	// combination with mean_sum above to obtain the actual mean aggregate
+	// value. The only possible value type is Long.
 	MeanCount interface{} `json:"meanCount,omitempty"`
 
 	// MeanSum: Worker-computed aggregate value for the "Mean" aggregation
-	// kind.
-	// This holds the sum of the aggregated values and is used in
-	// combination
-	// with mean_count below to obtain the actual mean aggregate value.
-	// The only possible value types are Long and Double.
+	// kind. This holds the sum of the aggregated values and is used in
+	// combination with mean_count below to obtain the actual mean aggregate
+	// value. The only possible value types are Long and Double.
 	MeanSum interface{} `json:"meanSum,omitempty"`
 
 	// Name: Name of the metric.
 	Name *MetricStructuredName `json:"name,omitempty"`
 
 	// Scalar: Worker-computed aggregate value for aggregation kinds "Sum",
-	// "Max", "Min",
-	// "And", and "Or".  The possible value types are Long, Double, and
-	// Boolean.
+	// "Max", "Min", "And", and "Or". The possible value types are Long,
+	// Double, and Boolean.
 	Scalar interface{} `json:"scalar,omitempty"`
 
 	// Set: Worker-computed aggregate value for the "Set" aggregation kind.
-	// The only
-	// possible value type is a list of Values whose type can be Long,
-	// Double,
-	// or String, according to the metric's type.  All Values in the list
-	// must
-	// be of the same type.
+	// The only possible value type is a list of Values whose type can be
+	// Long, Double, or String, according to the metric's type. All Values
+	// in the list must be of the same type.
 	Set interface{} `json:"set,omitempty"`
 
 	// UpdateTime: Timestamp associated with the metric value. Optional when
-	// workers are
-	// reporting work progress; it will be filled in responses from
-	// the
-	// metrics API.
+	// workers are reporting work progress; it will be filled in responses
+	// from the metrics API.
 	UpdateTime string `json:"updateTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Cumulative") to
@@ -4167,14 +3872,12 @@
 }
 
 // ModifyTemplateVersionLabelRequest: Either add the label to
-// TemplateVersion or remove it from the
-// TemplateVersion.
+// TemplateVersion or remove it from the TemplateVersion.
 type ModifyTemplateVersionLabelRequest struct {
 	// Key: The label key for update.
 	Key string `json:"key,omitempty"`
 
-	// Op: Requests for add label to TemplateVersion or remove label
-	// from
+	// Op: Requests for add label to TemplateVersion or remove label from
 	// TemplateVersion.
 	//
 	// Possible values:
@@ -4243,16 +3946,13 @@
 }
 
 // ModifyTemplateVersionTagRequest: Add a tag to the current
-// TemplateVersion. If tag exist in another
-// TemplateVersion in the Template, remove the tag before add it to the
-// current
-// TemplateVersion. If remove_only set, remove the tag from the
-// current
+// TemplateVersion. If tag exist in another TemplateVersion in the
+// Template, remove the tag before add it to the current
+// TemplateVersion. If remove_only set, remove the tag from the current
 // TemplateVersion.
 type ModifyTemplateVersionTagRequest struct {
 	// RemoveOnly: The flag that indicates if the request is only for remove
-	// tag from
-	// TemplateVersion.
+	// tag from TemplateVersion.
 	RemoveOnly bool `json:"removeOnly,omitempty"`
 
 	// Tag: The tag for update.
@@ -4316,12 +4016,9 @@
 
 // MountedDataDisk: Describes mounted data disk.
 type MountedDataDisk struct {
-	// DataDisk: The name of the data disk.
-	// This name is local to the Google Cloud Platform project and
-	// uniquely
-	// identifies the disk within that project, for
-	// example
-	// "myproject-1014-104817-4c2-harness-0-disk-1".
+	// DataDisk: The name of the data disk. This name is local to the Google
+	// Cloud Platform project and uniquely identifies the disk within that
+	// project, for example "myproject-1014-104817-4c2-harness-0-disk-1".
 	DataDisk string `json:"dataDisk,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "DataDisk") to
@@ -4350,8 +4047,7 @@
 // MultiOutputInfo: Information about an output of a multi-output DoFn.
 type MultiOutputInfo struct {
 	// Tag: The id of the tag the user code will emit to this output by;
-	// this
-	// should correspond to the tag of some SideInputInfo.
+	// this should correspond to the tag of some SideInputInfo.
 	Tag string `json:"tag,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Tag") to
@@ -4425,28 +4121,16 @@
 }
 
 // Package: The packages that must be installed in order for a worker to
-// run the
-// steps of the Cloud Dataflow job that will be assigned to its
-// worker
-// pool.
-//
-// This is the mechanism by which the Cloud Dataflow SDK causes code
-// to
-// be loaded onto the workers. For example, the Cloud Dataflow Java
-// SDK
-// might use this to install jars containing the user's code and all of
-// the
-// various dependencies (libraries, data files, etc.) required in
-// order
-// for that code to run.
+// run the steps of the Cloud Dataflow job that will be assigned to its
+// worker pool. This is the mechanism by which the Cloud Dataflow SDK
+// causes code to be loaded onto the workers. For example, the Cloud
+// Dataflow Java SDK might use this to install jars containing the
+// user's code and all of the various dependencies (libraries, data
+// files, etc.) required in order for that code to run.
 type Package struct {
 	// Location: The resource to read the package from. The supported
-	// resource type is:
-	//
-	// Google Cloud Storage:
-	//
-	//   storage.googleapis.com/{bucket}
-	//   bucket.storage.googleapis.com/
+	// resource type is: Google Cloud Storage:
+	// storage.googleapis.com/{bucket} bucket.storage.googleapis.com/
 	Location string `json:"location,omitempty"`
 
 	// Name: The name of the package.
@@ -4475,16 +4159,15 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// ParDoInstruction: An instruction that does a ParDo operation.
-// Takes one main input and zero or more side inputs, and produces
-// zero or more outputs.
-// Runs user code.
+// ParDoInstruction: An instruction that does a ParDo operation. Takes
+// one main input and zero or more side inputs, and produces zero or
+// more outputs. Runs user code.
 type ParDoInstruction struct {
 	// Input: The input.
 	Input *InstructionInput `json:"input,omitempty"`
 
 	// MultiOutputInfos: Information about each of the outputs, if user_fn
-	// is a  MultiDoFn.
+	// is a MultiDoFn.
 	MultiOutputInfos []*MultiOutputInfo `json:"multiOutputInfos,omitempty"`
 
 	// NumOutputs: The number of outputs.
@@ -4545,8 +4228,8 @@
 	// Read: Additional information for Read instructions.
 	Read *ReadInstruction `json:"read,omitempty"`
 
-	// SystemName: System-defined name of this operation.
-	// Unique across the workflow.
+	// SystemName: System-defined name of this operation. Unique across the
+	// workflow.
 	SystemName string `json:"systemName,omitempty"`
 
 	// Write: Additional information for Write instructions.
@@ -4621,8 +4304,8 @@
 	// Name: Required. The name of the parameter.
 	Name string `json:"name,omitempty"`
 
-	// ParamType: Optional. The type of the parameter.
-	// Used for selecting input picker.
+	// ParamType: Optional. The type of the parameter. Used for selecting
+	// input picker.
 	//
 	// Possible values:
 	//   "DEFAULT" - Default input type.
@@ -4671,8 +4354,7 @@
 }
 
 // PartialGroupByKeyInstruction: An instruction that does a partial
-// group-by-key.
-// One input and one output.
+// group-by-key. One input and one output.
 type PartialGroupByKeyInstruction struct {
 	// Input: Describes the input to the partial group-by-key instruction.
 	Input *InstructionInput `json:"input,omitempty"`
@@ -4682,13 +4364,13 @@
 	InputElementCodec googleapi.RawMessage `json:"inputElementCodec,omitempty"`
 
 	// OriginalCombineValuesInputStoreName: If this instruction includes a
-	// combining function this is the name of the
-	// intermediate store between the GBK and the CombineValues.
+	// combining function this is the name of the intermediate store between
+	// the GBK and the CombineValues.
 	OriginalCombineValuesInputStoreName string `json:"originalCombineValuesInputStoreName,omitempty"`
 
 	// OriginalCombineValuesStepName: If this instruction includes a
-	// combining function, this is the name of the
-	// CombineValues instruction lifted into this instruction.
+	// combining function, this is the name of the CombineValues instruction
+	// lifted into this instruction.
 	OriginalCombineValuesStepName string `json:"originalCombineValuesStepName,omitempty"`
 
 	// SideInputs: Zero or more side inputs.
@@ -4721,10 +4403,9 @@
 }
 
 // PipelineDescription: A descriptive representation of submitted
-// pipeline as well as the executed
-// form.  This data is provided by the Dataflow service for ease of
-// visualizing
-// the pipeline and interpreting Dataflow provided metrics.
+// pipeline as well as the executed form. This data is provided by the
+// Dataflow service for ease of visualizing the pipeline and
+// interpreting Dataflow provided metrics.
 type PipelineDescription struct {
 	// DisplayData: Pipeline level display data.
 	DisplayData []*DisplayData `json:"displayData,omitempty"`
@@ -4760,10 +4441,53 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// Point: A point in the timeseries.
+type Point struct {
+	// Time: The timestamp of the point.
+	Time string `json:"time,omitempty"`
+
+	// Value: The value of the point.
+	Value float64 `json:"value,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "Time") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "Time") to include in API
+	// requests with the JSON null value. By default, fields with empty
+	// values are omitted from API requests. However, any field with an
+	// empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *Point) MarshalJSON() ([]byte, error) {
+	type NoMethod Point
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+func (s *Point) UnmarshalJSON(data []byte) error {
+	type NoMethod Point
+	var s1 struct {
+		Value gensupport.JSONFloat64 `json:"value"`
+		*NoMethod
+	}
+	s1.NoMethod = (*NoMethod)(s)
+	if err := json.Unmarshal(data, &s1); err != nil {
+		return err
+	}
+	s.Value = float64(s1.Value)
+	return nil
+}
+
 // Position: Position defines a position within a collection of data.
-// The value
-// can be either the end position, a key (used with
-// ordered
+// The value can be either the end position, a key (used with ordered
 // collections), a byte offset, or a record index.
 type Position struct {
 	// ByteOffset: Position is a byte offset.
@@ -4772,8 +4496,7 @@
 	// ConcatPosition: CloudPosition is a concat position.
 	ConcatPosition *ConcatPosition `json:"concatPosition,omitempty"`
 
-	// End: Position is past all other positions. Also useful for the
-	// end
+	// End: Position is past all other positions. Also useful for the end
 	// position of an unbounded range.
 	End bool `json:"end,omitempty"`
 
@@ -4784,8 +4507,7 @@
 	RecordIndex int64 `json:"recordIndex,omitempty,string"`
 
 	// ShufflePosition: CloudPosition is a base64 encoded
-	// BatchShufflePosition (with FIXED
-	// sharding).
+	// BatchShufflePosition (with FIXED sharding).
 	ShufflePosition string `json:"shufflePosition,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ByteOffset") to
@@ -4811,6 +4533,55 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// ProgressTimeseries: Information about the progress of some component
+// of job execution.
+type ProgressTimeseries struct {
+	// CurrentProgress: The current progress of the component, in the range
+	// [0,1].
+	CurrentProgress float64 `json:"currentProgress,omitempty"`
+
+	// DataPoints: History of progress for the component. Points are sorted
+	// by time.
+	DataPoints []*Point `json:"dataPoints,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "CurrentProgress") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "CurrentProgress") to
+	// include in API requests with the JSON null value. By default, fields
+	// with empty values are omitted from API requests. However, any field
+	// with an empty value appearing in NullFields will be sent to the
+	// server as null. It is an error if a field in this list has a
+	// non-empty value. This may be used to include null fields in Patch
+	// requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *ProgressTimeseries) MarshalJSON() ([]byte, error) {
+	type NoMethod ProgressTimeseries
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+func (s *ProgressTimeseries) UnmarshalJSON(data []byte) error {
+	type NoMethod ProgressTimeseries
+	var s1 struct {
+		CurrentProgress gensupport.JSONFloat64 `json:"currentProgress"`
+		*NoMethod
+	}
+	s1.NoMethod = (*NoMethod)(s)
+	if err := json.Unmarshal(data, &s1); err != nil {
+		return err
+	}
+	s.CurrentProgress = float64(s1.CurrentProgress)
+	return nil
+}
+
 // PubSubIODetails: Metadata for a PubSub connector used by the job.
 type PubSubIODetails struct {
 	// Subscription: Subscription used in the connection.
@@ -4843,37 +4614,33 @@
 }
 
 // PubsubLocation: Identifies a pubsub location to use for transferring
-// data into or
-// out of a streaming Dataflow job.
+// data into or out of a streaming Dataflow job.
 type PubsubLocation struct {
 	// DropLateData: Indicates whether the pipeline allows late-arriving
 	// data.
 	DropLateData bool `json:"dropLateData,omitempty"`
 
 	// IdLabel: If set, contains a pubsub label from which to extract record
-	// ids.
-	// If left empty, record deduplication will be strictly best effort.
+	// ids. If left empty, record deduplication will be strictly best
+	// effort.
 	IdLabel string `json:"idLabel,omitempty"`
 
-	// Subscription: A pubsub subscription, in the form
-	// of
-	// "pubsub.googleapis.com/subscriptions/<project-id>/<subscription-nam
-	// e>"
+	// Subscription: A pubsub subscription, in the form of
+	// "pubsub.googleapis.com/subscriptions//"
 	Subscription string `json:"subscription,omitempty"`
 
 	// TimestampLabel: If set, contains a pubsub label from which to extract
-	// record timestamps.
-	// If left empty, record timestamps will be generated upon arrival.
+	// record timestamps. If left empty, record timestamps will be generated
+	// upon arrival.
 	TimestampLabel string `json:"timestampLabel,omitempty"`
 
-	// Topic: A pubsub topic, in the form
-	// of
-	// "pubsub.googleapis.com/topics/<project-id>/<topic-name>"
+	// Topic: A pubsub topic, in the form of
+	// "pubsub.googleapis.com/topics//"
 	Topic string `json:"topic,omitempty"`
 
 	// TrackingSubscription: If set, specifies the pubsub subscription that
-	// will be used for tracking
-	// custom time timestamps for watermark estimation.
+	// will be used for tracking custom time timestamps for watermark
+	// estimation.
 	TrackingSubscription string `json:"trackingSubscription,omitempty"`
 
 	// WithAttributes: If true, then the client has requested to get pubsub
@@ -4971,8 +4738,8 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// ReadInstruction: An instruction that reads records.
-// Takes no inputs, produces one output.
+// ReadInstruction: An instruction that reads records. Takes no inputs,
+// produces one output.
 type ReadInstruction struct {
 	// Source: The source to read from.
 	Source *Source `json:"source,omitempty"`
@@ -5006,11 +4773,9 @@
 	// CurrentWorkerTime: The current timestamp at the worker.
 	CurrentWorkerTime string `json:"currentWorkerTime,omitempty"`
 
-	// Location: The [regional
-	// endpoint]
-	// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-	// dpoints) that
-	// contains the WorkItem's job.
+	// Location: The [regional endpoint]
+	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints)
+	// that contains the WorkItem's job.
 	Location string `json:"location,omitempty"`
 
 	// UnifiedWorkerRequest: Untranslated bag-of-bytes
@@ -5018,18 +4783,14 @@
 	UnifiedWorkerRequest googleapi.RawMessage `json:"unifiedWorkerRequest,omitempty"`
 
 	// WorkItemStatuses: The order is unimportant, except that the order of
-	// the
-	// WorkItemServiceState messages in the
-	// ReportWorkItemStatusResponse
+	// the WorkItemServiceState messages in the ReportWorkItemStatusResponse
 	// corresponds to the order of WorkItemStatus messages here.
 	WorkItemStatuses []*WorkItemStatus `json:"workItemStatuses,omitempty"`
 
-	// WorkerId: The ID of the worker reporting the WorkItem status.  If
-	// this
-	// does not match the ID of the worker which the Dataflow
-	// service
-	// believes currently has the lease on the WorkItem, the report
-	// will be dropped (with an error response).
+	// WorkerId: The ID of the worker reporting the WorkItem status. If this
+	// does not match the ID of the worker which the Dataflow service
+	// believes currently has the lease on the WorkItem, the report will be
+	// dropped (with an error response).
 	WorkerId string `json:"workerId,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CurrentWorkerTime")
@@ -5064,12 +4825,9 @@
 	UnifiedWorkerResponse googleapi.RawMessage `json:"unifiedWorkerResponse,omitempty"`
 
 	// WorkItemServiceStates: A set of messages indicating the service-side
-	// state for each
-	// WorkItem whose status was reported, in the same order as
-	// the
-	// WorkItemStatus messages in the ReportWorkItemStatusRequest
-	// which
-	// resulting in this response.
+	// state for each WorkItem whose status was reported, in the same order
+	// as the WorkItemStatus messages in the ReportWorkItemStatusRequest
+	// which resulting in this response.
 	WorkItemServiceStates []*WorkItemServiceState `json:"workItemServiceStates,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -5102,19 +4860,13 @@
 }
 
 // ReportedParallelism: Represents the level of parallelism in a
-// WorkItem's input,
-// reported by the worker.
+// WorkItem's input, reported by the worker.
 type ReportedParallelism struct {
 	// IsInfinite: Specifies whether the parallelism is infinite. If true,
-	// "value" is
-	// ignored.
-	// Infinite parallelism means the service will assume that the work
-	// item
-	// can always be split into more non-empty work items by dynamic
-	// splitting.
-	// This is a work-around for lack of support for infinity by the
-	// current
-	// JSON-based Java RPC stack.
+	// "value" is ignored. Infinite parallelism means the service will
+	// assume that the work item can always be split into more non-empty
+	// work items by dynamic splitting. This is a work-around for lack of
+	// support for infinity by the current JSON-based Java RPC stack.
 	IsInfinite bool `json:"isInfinite,omitempty"`
 
 	// Value: Specifies the level of parallelism in case it is finite.
@@ -5158,13 +4910,10 @@
 }
 
 // ResourceUtilizationReport: Worker metrics exported from workers. This
-// contains resource utilization
-// metrics accumulated from a variety of sources. For more information,
-// see
-// go/df-resource-signals.
+// contains resource utilization metrics accumulated from a variety of
+// sources. For more information, see go/df-resource-signals.
 type ResourceUtilizationReport struct {
-	// Containers: Per container information.
-	// Key: container name.
+	// Containers: Per container information. Key: container name.
 	Containers map[string]ResourceUtilizationReport `json:"containers,omitempty"`
 
 	// CpuTime: CPU utilization samples.
@@ -5207,19 +4956,20 @@
 	AdditionalExperiments []string `json:"additionalExperiments,omitempty"`
 
 	// AdditionalUserLabels: Additional user labels to be specified for the
-	// job.
-	// Keys and values should follow the restrictions specified in the
+	// job. Keys and values should follow the restrictions specified in the
 	// [labeling
-	// restrictions](https://cloud.google.com/compute/docs/labeling
-	// -resources#restrictions)
-	// page.
+	// restrictions](https://cloud.google.com/compute/docs/labeling-resources
+	// #restrictions) page.
 	AdditionalUserLabels map[string]string `json:"additionalUserLabels,omitempty"`
 
 	// BypassTempDirValidation: Whether to bypass the safety checks for the
-	// job's temporary directory.
-	// Use with caution.
+	// job's temporary directory. Use with caution.
 	BypassTempDirValidation bool `json:"bypassTempDirValidation,omitempty"`
 
+	// EnableStreamingEngine: Whether to enable Streaming Engine for the
+	// job.
+	EnableStreamingEngine bool `json:"enableStreamingEngine,omitempty"`
+
 	// IpConfiguration: Configuration for VM IPs.
 	//
 	// Possible values:
@@ -5229,26 +4979,20 @@
 	//   "WORKER_IP_PRIVATE" - Workers should have private IP addresses.
 	IpConfiguration string `json:"ipConfiguration,omitempty"`
 
-	// KmsKeyName: Optional. Name for the Cloud KMS key for the job.
-	// Key format
-	// is:
-	// projects/<project>/locations/<location>/keyRings/<keyring>/cryptoK
-	// eys/<key>
+	// KmsKeyName: Optional. Name for the Cloud KMS key for the job. Key
+	// format is: projects//locations//keyRings//cryptoKeys/
 	KmsKeyName string `json:"kmsKeyName,omitempty"`
 
 	// MachineType: The machine type to use for the job. Defaults to the
-	// value from the
-	// template if not specified.
+	// value from the template if not specified.
 	MachineType string `json:"machineType,omitempty"`
 
 	// MaxWorkers: The maximum number of Google Compute Engine instances to
-	// be made
-	// available to your pipeline during execution, from 1 to 1000.
+	// be made available to your pipeline during execution, from 1 to 1000.
 	MaxWorkers int64 `json:"maxWorkers,omitempty"`
 
-	// Network: Network to which VMs will be assigned.  If empty or
-	// unspecified,
-	// the service will use the network "default".
+	// Network: Network to which VMs will be assigned. If empty or
+	// unspecified, the service will use the network "default".
 	Network string `json:"network,omitempty"`
 
 	// NumWorkers: The initial number of Google Compute Engine instnaces for
@@ -5260,45 +5004,33 @@
 	ServiceAccountEmail string `json:"serviceAccountEmail,omitempty"`
 
 	// Subnetwork: Subnetwork to which VMs will be assigned, if desired.
-	// Expected to be of
-	// the form "regions/REGION/subnetworks/SUBNETWORK".
+	// Expected to be of the form "regions/REGION/subnetworks/SUBNETWORK".
 	Subnetwork string `json:"subnetwork,omitempty"`
 
-	// TempLocation: The Cloud Storage path to use for temporary files.
-	// Must be a valid Cloud Storage URL, beginning with `gs://`.
+	// TempLocation: The Cloud Storage path to use for temporary files. Must
+	// be a valid Cloud Storage URL, beginning with `gs://`.
 	TempLocation string `json:"tempLocation,omitempty"`
 
-	// WorkerRegion: The Compute Engine
-	// region
-	// (https://cloud.google.com/compute/docs/regions-zones/regions-zo
-	// nes) in
-	// which worker processing should occur, e.g. "us-west1". Mutually
-	// exclusive
-	// with worker_zone. If neither worker_region nor worker_zone is
-	// specified,
-	// default to the control plane's region.
+	// WorkerRegion: The Compute Engine region
+	// (https://cloud.google.com/compute/docs/regions-zones/regions-zones)
+	// in which worker processing should occur, e.g. "us-west1". Mutually
+	// exclusive with worker_zone. If neither worker_region nor worker_zone
+	// is specified, default to the control plane's region.
 	WorkerRegion string `json:"workerRegion,omitempty"`
 
-	// WorkerZone: The Compute Engine
-	// zone
-	// (https://cloud.google.com/compute/docs/regions-zones/regions-zone
-	// s) in
-	// which worker processing should occur, e.g. "us-west1-a". Mutually
-	// exclusive
-	// with worker_region. If neither worker_region nor worker_zone is
-	// specified,
-	// a zone in the control plane's region is chosen based on available
-	// capacity.
-	// If both `worker_zone` and `zone` are set, `worker_zone` takes
-	// precedence.
+	// WorkerZone: The Compute Engine zone
+	// (https://cloud.google.com/compute/docs/regions-zones/regions-zones)
+	// in which worker processing should occur, e.g. "us-west1-a". Mutually
+	// exclusive with worker_region. If neither worker_region nor
+	// worker_zone is specified, a zone in the control plane's region is
+	// chosen based on available capacity. If both `worker_zone` and `zone`
+	// are set, `worker_zone` takes precedence.
 	WorkerZone string `json:"workerZone,omitempty"`
 
-	// Zone: The Compute Engine
-	// [availability
-	// zone](https://cloud.google.com/compute/docs/regions-zone
-	// s/regions-zones)
-	// for launching worker instances to run your pipeline.
-	// In the future, worker_zone will take precedence.
+	// Zone: The Compute Engine [availability
+	// zone](https://cloud.google.com/compute/docs/regions-zones/regions-zone
+	// s) for launching worker instances to run your pipeline. In the
+	// future, worker_zone will take precedence.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -5401,14 +5133,10 @@
 	ContainerImage string `json:"containerImage,omitempty"`
 
 	// UseSingleCorePerContainer: If true, recommends the Dataflow service
-	// to use only one core per SDK
-	// container instance with this image. If false (or unset) recommends
-	// using
-	// more than one core per SDK container instance with this image
-	// for
-	// efficiency. Note that Dataflow service may choose to override this
-	// property
-	// if needed.
+	// to use only one core per SDK container instance with this image. If
+	// false (or unset) recommends using more than one core per SDK
+	// container instance with this image for efficiency. Note that Dataflow
+	// service may choose to override this property if needed.
 	UseSingleCorePerContainer bool `json:"useSingleCorePerContainer,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ContainerImage") to
@@ -5445,8 +5173,7 @@
 	//   "STALE" - A newer version of the SDK family exists, and an update
 	// is recommended.
 	//   "DEPRECATED" - This version of the SDK is deprecated and will
-	// eventually be no
-	// longer supported.
+	// eventually be no longer supported.
 	//   "UNSUPPORTED" - Support for this SDK version has ended and it
 	// should no longer be used.
 	SdkSupportStatus string `json:"sdkSupportStatus,omitempty"`
@@ -5491,11 +5218,9 @@
 	// Data: The encoded debug information.
 	Data string `json:"data,omitempty"`
 
-	// Location: The [regional
-	// endpoint]
-	// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-	// dpoints) that
-	// contains the job specified by job_id.
+	// Location: The [regional endpoint]
+	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints)
+	// that contains the job specified by job_id.
 	Location string `json:"location,omitempty"`
 
 	// WorkerId: The worker id, i.e., VM hostname.
@@ -5524,8 +5249,7 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// SendDebugCaptureResponse: Response to a send capture request.
-// nothing
+// SendDebugCaptureResponse: Response to a send capture request. nothing
 type SendDebugCaptureResponse struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -5535,11 +5259,9 @@
 // SendWorkerMessagesRequest: A request for sending worker messages to
 // the service.
 type SendWorkerMessagesRequest struct {
-	// Location: The [regional
-	// endpoint]
-	// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-	// dpoints) that
-	// contains the job.
+	// Location: The [regional endpoint]
+	// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints)
+	// that contains the job.
 	Location string `json:"location,omitempty"`
 
 	// WorkerMessages: The WorkerMessages to send.
@@ -5614,12 +5336,11 @@
 	OutputInfos []*SeqMapTaskOutputInfo `json:"outputInfos,omitempty"`
 
 	// StageName: System-defined name of the stage containing the SeqDo
-	// operation.
-	// Unique across the workflow.
+	// operation. Unique across the workflow.
 	StageName string `json:"stageName,omitempty"`
 
-	// SystemName: System-defined name of the SeqDo operation.
-	// Unique across the workflow.
+	// SystemName: System-defined name of the SeqDo operation. Unique across
+	// the workflow.
 	SystemName string `json:"systemName,omitempty"`
 
 	// UserFn: The user function to invoke.
@@ -5719,15 +5440,12 @@
 	Kind googleapi.RawMessage `json:"kind,omitempty"`
 
 	// Sources: The source(s) to read element(s) from to get the value of
-	// this side input.
-	// If more than one source, then the elements are taken from
-	// the
-	// sources, in the specified order if order matters.
-	// At least one source is required.
+	// this side input. If more than one source, then the elements are taken
+	// from the sources, in the specified order if order matters. At least
+	// one source is required.
 	Sources []*Source `json:"sources,omitempty"`
 
-	// Tag: The id of the tag the user code will access this side input
-	// by;
+	// Tag: The id of the tag the user code will access this side input by;
 	// this should correspond to the tag of some MultiOutputInfo.
 	Tag string `json:"tag,omitempty"`
 
@@ -5794,8 +5512,7 @@
 	Description string `json:"description,omitempty"`
 
 	// DiskSizeBytes: The disk byte size of the snapshot. Only available for
-	// snapshots in READY
-	// state.
+	// snapshots in READY state.
 	DiskSizeBytes int64 `json:"diskSizeBytes,omitempty,string"`
 
 	// Id: The unique ID of this snapshot.
@@ -5815,8 +5532,7 @@
 	// Possible values:
 	//   "UNKNOWN_SNAPSHOT_STATE" - Unknown state.
 	//   "PENDING" - Snapshot intent to create has been persisted,
-	// snapshotting of state has not
-	// yet started.
+	// snapshotting of state has not yet started.
 	//   "RUNNING" - Snapshotting is being performed.
 	//   "READY" - Snapshot has been created and is ready to be used.
 	//   "FAILED" - Snapshot failed to be created.
@@ -5894,55 +5610,39 @@
 
 // Source: A source that records can be read and decoded from.
 type Source struct {
-	// BaseSpecs: While splitting, sources may specify the produced
-	// bundles
-	// as differences against another source, in order to save
-	// backend-side
-	// memory and allow bigger jobs. For details, see SourceSplitRequest.
-	// To support this use case, the full set of parameters of the source
-	// is logically obtained by taking the latest explicitly specified
-	// value
-	// of each parameter in the order:
-	// base_specs (later items win), spec (overrides anything in
-	// base_specs).
+	// BaseSpecs: While splitting, sources may specify the produced bundles
+	// as differences against another source, in order to save backend-side
+	// memory and allow bigger jobs. For details, see SourceSplitRequest. To
+	// support this use case, the full set of parameters of the source is
+	// logically obtained by taking the latest explicitly specified value of
+	// each parameter in the order: base_specs (later items win), spec
+	// (overrides anything in base_specs).
 	BaseSpecs []googleapi.RawMessage `json:"baseSpecs,omitempty"`
 
 	// Codec: The codec to use to decode data read from the source.
 	Codec googleapi.RawMessage `json:"codec,omitempty"`
 
 	// DoesNotNeedSplitting: Setting this value to true hints to the
-	// framework that the source
-	// doesn't need splitting, and using SourceSplitRequest on it
-	// would
-	// yield SOURCE_SPLIT_OUTCOME_USE_CURRENT.
-	//
-	// E.g. a file splitter may set this to true when splitting a single
-	// file
-	// into a set of byte ranges of appropriate size, and set this
-	// to false when splitting a filepattern into individual files.
-	// However, for efficiency, a file splitter may decide to produce
-	// file subranges directly from the filepattern to avoid a
-	// splitting
-	// round-trip.
-	//
-	// See SourceSplitRequest for an overview of the splitting
-	// process.
-	//
-	// This field is meaningful only in the Source objects populated
-	// by the user (e.g. when filling in a DerivedSource).
-	// Source objects supplied by the framework to the user don't have
-	// this field populated.
+	// framework that the source doesn't need splitting, and using
+	// SourceSplitRequest on it would yield
+	// SOURCE_SPLIT_OUTCOME_USE_CURRENT. E.g. a file splitter may set this
+	// to true when splitting a single file into a set of byte ranges of
+	// appropriate size, and set this to false when splitting a filepattern
+	// into individual files. However, for efficiency, a file splitter may
+	// decide to produce file subranges directly from the filepattern to
+	// avoid a splitting round-trip. See SourceSplitRequest for an overview
+	// of the splitting process. This field is meaningful only in the Source
+	// objects populated by the user (e.g. when filling in a DerivedSource).
+	// Source objects supplied by the framework to the user don't have this
+	// field populated.
 	DoesNotNeedSplitting bool `json:"doesNotNeedSplitting,omitempty"`
 
 	// Metadata: Optionally, metadata for this source can be supplied right
-	// away,
-	// avoiding a SourceGetMetadataOperation roundtrip
-	// (see SourceOperationRequest).
-	//
-	// This field is meaningful only in the Source objects populated
-	// by the user (e.g. when filling in a DerivedSource).
-	// Source objects supplied by the framework to the user don't have
-	// this field populated.
+	// away, avoiding a SourceGetMetadataOperation roundtrip (see
+	// SourceOperationRequest). This field is meaningful only in the Source
+	// objects populated by the user (e.g. when filling in a DerivedSource).
+	// Source objects supplied by the framework to the user don't have this
+	// field populated.
 	Metadata *SourceMetadata `json:"metadata,omitempty"`
 
 	// Spec: The source to read from, plus its parameters.
@@ -6068,25 +5768,20 @@
 }
 
 // SourceMetadata: Metadata about a Source useful for automatically
-// optimizing
-// and tuning the pipeline, etc.
+// optimizing and tuning the pipeline, etc.
 type SourceMetadata struct {
 	// EstimatedSizeBytes: An estimate of the total size (in bytes) of the
-	// data that would be
-	// read from this source.  This estimate is in terms of external
-	// storage
-	// size, before any decompression or other processing done by the
-	// reader.
+	// data that would be read from this source. This estimate is in terms
+	// of external storage size, before any decompression or other
+	// processing done by the reader.
 	EstimatedSizeBytes int64 `json:"estimatedSizeBytes,omitempty,string"`
 
 	// Infinite: Specifies that the size of this source is known to be
-	// infinite
-	// (this is a streaming source).
+	// infinite (this is a streaming source).
 	Infinite bool `json:"infinite,omitempty"`
 
 	// ProducesSortedKeys: Whether this source is known to produce key/value
-	// pairs with
-	// the (encoded) keys in lexicographically sorted order.
+	// pairs with the (encoded) keys in lexicographically sorted order.
 	ProducesSortedKeys bool `json:"producesSortedKeys,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "EstimatedSizeBytes")
@@ -6114,8 +5809,8 @@
 }
 
 // SourceOperationRequest: A work item that represents the different
-// operations that can be
-// performed on a user-defined Source specification.
+// operations that can be performed on a user-defined Source
+// specification.
 type SourceOperationRequest struct {
 	// GetMetadata: Information about a request to get metadata about a
 	// source.
@@ -6125,21 +5820,18 @@
 	Name string `json:"name,omitempty"`
 
 	// OriginalName: System-defined name for the Read instruction for this
-	// source
-	// in the original workflow graph.
+	// source in the original workflow graph.
 	OriginalName string `json:"originalName,omitempty"`
 
 	// Split: Information about a request to split a source.
 	Split *SourceSplitRequest `json:"split,omitempty"`
 
 	// StageName: System-defined name of the stage containing the source
-	// operation.
-	// Unique across the workflow.
+	// operation. Unique across the workflow.
 	StageName string `json:"stageName,omitempty"`
 
 	// SystemName: System-defined name of the Read instruction for this
-	// source.
-	// Unique across the workflow.
+	// source. Unique across the workflow.
 	SystemName string `json:"systemName,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "GetMetadata") to
@@ -6166,9 +5858,8 @@
 }
 
 // SourceOperationResponse: The result of a SourceOperationRequest,
-// specified in
-// ReportWorkItemStatusRequest.source_operation when the work item
-// is completed.
+// specified in ReportWorkItemStatusRequest.source_operation when the
+// work item is completed.
 type SourceOperationResponse struct {
 	// GetMetadata: A response to a request to get metadata about a source.
 	GetMetadata *SourceGetMetadataResponse `json:"getMetadata,omitempty"`
@@ -6200,12 +5891,11 @@
 }
 
 // SourceSplitOptions: Hints for splitting a Source into bundles (parts
-// for parallel
-// processing) using SourceSplitRequest.
+// for parallel processing) using SourceSplitRequest.
 type SourceSplitOptions struct {
 	// DesiredBundleSizeBytes: The source should be split into a set of
-	// bundles where the estimated size
-	// of each is approximately this many bytes.
+	// bundles where the estimated size of each is approximately this many
+	// bytes.
 	DesiredBundleSizeBytes int64 `json:"desiredBundleSizeBytes,omitempty,string"`
 
 	// DesiredShardSizeBytes: DEPRECATED in favor of
@@ -6238,28 +5928,17 @@
 }
 
 // SourceSplitRequest: Represents the operation to split a high-level
-// Source specification
-// into bundles (parts for parallel processing).
-//
-// At a high level, splitting of a source into bundles happens as
-// follows:
-// SourceSplitRequest is applied to the source. If it
-// returns
+// Source specification into bundles (parts for parallel processing). At
+// a high level, splitting of a source into bundles happens as follows:
+// SourceSplitRequest is applied to the source. If it returns
 // SOURCE_SPLIT_OUTCOME_USE_CURRENT, no further splitting happens and
-// the source
-// is used "as is". Otherwise, splitting is applied recursively to
-// each
-// produced DerivedSource.
-//
-// As an optimization, for any Source, if its does_not_need_splitting
-// is
-// true, the framework assumes that splitting this source would
-// return
+// the source is used "as is". Otherwise, splitting is applied
+// recursively to each produced DerivedSource. As an optimization, for
+// any Source, if its does_not_need_splitting is true, the framework
+// assumes that splitting this source would return
 // SOURCE_SPLIT_OUTCOME_USE_CURRENT, and doesn't initiate a
-// SourceSplitRequest.
-// This applies both to the initial source being split and to
-// bundles
-// produced from it.
+// SourceSplitRequest. This applies both to the initial source being
+// split and to bundles produced from it.
 type SourceSplitRequest struct {
 	// Options: Hints for tuning the splitting process.
 	Options *SourceSplitOptions `json:"options,omitempty"`
@@ -6293,21 +5972,16 @@
 // SourceSplitResponse: The response to a SourceSplitRequest.
 type SourceSplitResponse struct {
 	// Bundles: If outcome is SPLITTING_HAPPENED, then this is a list of
-	// bundles
-	// into which the source was split. Otherwise this field is
-	// ignored.
-	// This list can be empty, which means the source represents an empty
-	// input.
+	// bundles into which the source was split. Otherwise this field is
+	// ignored. This list can be empty, which means the source represents an
+	// empty input.
 	Bundles []*DerivedSource `json:"bundles,omitempty"`
 
 	// Outcome: Indicates whether splitting happened and produced a list of
-	// bundles.
-	// If this is USE_CURRENT_SOURCE_AS_IS, the current source should
-	// be processed "as is" without splitting. "bundles" is ignored in this
-	// case.
-	// If this is SPLITTING_HAPPENED, then "bundles" contains a list
-	// of
-	// bundles into which the source was split.
+	// bundles. If this is USE_CURRENT_SOURCE_AS_IS, the current source
+	// should be processed "as is" without splitting. "bundles" is ignored
+	// in this case. If this is SPLITTING_HAPPENED, then "bundles" contains
+	// a list of bundles into which the source was split.
 	//
 	// Possible values:
 	//   "SOURCE_SPLIT_OUTCOME_UNKNOWN" - The source split outcome is
@@ -6421,8 +6095,7 @@
 }
 
 // SplitInt64: A representation of an int64, n, that is immune to
-// precision loss when
-// encoded in JSON.
+// precision loss when encoded in JSON.
 type SplitInt64 struct {
 	// HighBits: The high order bits, including the sign: n >> 32.
 	HighBits int64 `json:"highBits,omitempty"`
@@ -6453,14 +6126,52 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// StageExecutionDetails: Information about the workers and work items
+// within a stage.
+type StageExecutionDetails struct {
+	// NextPageToken: If present, this response does not contain all
+	// requested tasks. To obtain the next page of results, repeat the
+	// request with page_token set to this value.
+	NextPageToken string `json:"nextPageToken,omitempty"`
+
+	// Workers: Workers that have done work on the stage.
+	Workers []*WorkerDetails `json:"workers,omitempty"`
+
+	// ServerResponse contains the HTTP response code and headers from the
+	// server.
+	googleapi.ServerResponse `json:"-"`
+
+	// ForceSendFields is a list of field names (e.g. "NextPageToken") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "NextPageToken") to include
+	// in API requests with the JSON null value. By default, fields with
+	// empty values are omitted from API requests. However, any field with
+	// an empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *StageExecutionDetails) MarshalJSON() ([]byte, error) {
+	type NoMethod StageExecutionDetails
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // StageSource: Description of an input or output of an execution stage.
 type StageSource struct {
 	// Name: Dataflow service generated name for this source.
 	Name string `json:"name,omitempty"`
 
 	// OriginalTransformOrCollection: User name for the original user
-	// transform or collection with which this
-	// source is most closely associated.
+	// transform or collection with which this source is most closely
+	// associated.
 	OriginalTransformOrCollection string `json:"originalTransformOrCollection,omitempty"`
 
 	// SizeBytes: Size of the source, if measurable.
@@ -6493,6 +6204,62 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// StageSummary: Information about a particular execution stage of a
+// job.
+type StageSummary struct {
+	// EndTime: End time of this stage. If the work item is completed, this
+	// is the actual end time of the stage. Otherwise, it is the predicted
+	// end time.
+	EndTime string `json:"endTime,omitempty"`
+
+	// Metrics: Metrics for this stage.
+	Metrics []*MetricUpdate `json:"metrics,omitempty"`
+
+	// Progress: Progress for this stage. Only applicable to Batch jobs.
+	Progress *ProgressTimeseries `json:"progress,omitempty"`
+
+	// StageId: ID of this stage
+	StageId string `json:"stageId,omitempty"`
+
+	// StartTime: Start time of this stage.
+	StartTime string `json:"startTime,omitempty"`
+
+	// State: State of this stage.
+	//
+	// Possible values:
+	//   "EXECUTION_STATE_UNKNOWN" - The component state is unknown or
+	// unspecified.
+	//   "EXECUTION_STATE_NOT_STARTED" - The component is not yet running.
+	//   "EXECUTION_STATE_RUNNING" - The component is currently running.
+	//   "EXECUTION_STATE_SUCCEEDED" - The component succeeded.
+	//   "EXECUTION_STATE_FAILED" - The component failed.
+	//   "EXECUTION_STATE_CANCELLED" - Execution of the component was
+	// cancelled.
+	State string `json:"state,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "EndTime") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "EndTime") to include in
+	// API requests with the JSON null value. By default, fields with empty
+	// values are omitted from API requests. However, any field with an
+	// empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *StageSummary) MarshalJSON() ([]byte, error) {
+	type NoMethod StageSummary
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // StateFamilyConfig: State family configuration.
 type StateFamilyConfig struct {
 	// IsRead: If true, this family corresponds to a read operation.
@@ -6525,32 +6292,24 @@
 }
 
 // Status: The `Status` type defines a logical error model that is
-// suitable for
-// different programming environments, including REST APIs and RPC APIs.
-// It is
-// used by [gRPC](https://github.com/grpc). Each `Status` message
-// contains
-// three pieces of data: error code, error message, and error
-// details.
-//
-// You can find out more about this error model and how to work with it
-// in the
-// [API Design Guide](https://cloud.google.com/apis/design/errors).
+// suitable for different programming environments, including REST APIs
+// and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each
+// `Status` message contains three pieces of data: error code, error
+// message, and error details. You can find out more about this error
+// model and how to work with it in the [API Design
+// Guide](https://cloud.google.com/apis/design/errors).
 type Status struct {
 	// Code: The status code, which should be an enum value of
 	// google.rpc.Code.
 	Code int64 `json:"code,omitempty"`
 
-	// Details: A list of messages that carry the error details.  There is a
-	// common set of
-	// message types for APIs to use.
+	// Details: A list of messages that carry the error details. There is a
+	// common set of message types for APIs to use.
 	Details []googleapi.RawMessage `json:"details,omitempty"`
 
 	// Message: 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.
+	// English. Any user-facing error message should be localized and sent
+	// in the google.rpc.Status.details field, or localized by the client.
 	Message string `json:"message,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Code") to
@@ -6576,48 +6335,30 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// Step: Defines a particular step within a Cloud Dataflow job.
-//
-// A job consists of multiple steps, each of which performs
-// some
-// specific operation as part of the overall job.  Data is
-// typically
-// passed from one step to another as part of the job.
-//
-// Here's an example of a sequence of steps which together implement
-// a
-// Map-Reduce job:
-//
-//   * Read a collection of data from some source, parsing the
-//     collection's elements.
-//
-//   * Validate the elements.
-//
-//   * Apply a user-defined function to map each element to some value
-//     and extract an element-specific key value.
-//
-//   * Group elements with the same key into a single element with
-//     that key, transforming a multiply-keyed collection into a
-//     uniquely-keyed collection.
-//
-//   * Write the elements out to some data sink.
-//
-// Note that the Cloud Dataflow service may be used to run many
-// different
-// types of jobs, not just Map-Reduce.
+// Step: Defines a particular step within a Cloud Dataflow job. A job
+// consists of multiple steps, each of which performs some specific
+// operation as part of the overall job. Data is typically passed from
+// one step to another as part of the job. Here's an example of a
+// sequence of steps which together implement a Map-Reduce job: * Read a
+// collection of data from some source, parsing the collection's
+// elements. * Validate the elements. * Apply a user-defined function to
+// map each element to some value and extract an element-specific key
+// value. * Group elements with the same key into a single element with
+// that key, transforming a multiply-keyed collection into a
+// uniquely-keyed collection. * Write the elements out to some data
+// sink. Note that the Cloud Dataflow service may be used to run many
+// different types of jobs, not just Map-Reduce.
 type Step struct {
 	// Kind: The kind of step in the Cloud Dataflow job.
 	Kind string `json:"kind,omitempty"`
 
-	// Name: The name that identifies the step. This must be unique for
-	// each
+	// Name: The name that identifies the step. This must be unique for each
 	// step with respect to all other steps in the Cloud Dataflow job.
 	Name string `json:"name,omitempty"`
 
-	// Properties: Named properties associated with the step. Each kind
-	// of
-	// predefined step has its own required set of properties.
-	// Must be provided on Create.  Only retrieved with JOB_VIEW_ALL.
+	// Properties: Named properties associated with the step. Each kind of
+	// predefined step has its own required set of properties. Must be
+	// provided on Create. Only retrieved with JOB_VIEW_ALL.
 	Properties googleapi.RawMessage `json:"properties,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Kind") to
@@ -6644,8 +6385,7 @@
 }
 
 // StreamLocation: Describes a stream of data, either as input to be
-// processed or as
-// output of a streaming Dataflow job.
+// processed or as output of a streaming Dataflow job.
 type StreamLocation struct {
 	// CustomSourceLocation: The stream is a custom source.
 	CustomSourceLocation *CustomSourceLocation `json:"customSourceLocation,omitempty"`
@@ -6657,8 +6397,7 @@
 	SideInputLocation *StreamingSideInputLocation `json:"sideInputLocation,omitempty"`
 
 	// StreamingStageLocation: The stream is part of another computation
-	// within the current
-	// streaming Dataflow job.
+	// within the current streaming Dataflow job.
 	StreamingStageLocation *StreamingStageLocation `json:"streamingStageLocation,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -6737,8 +6476,7 @@
 	SystemName string `json:"systemName,omitempty"`
 
 	// TransformUserNameToStateFamily: Map from user name of stateful
-	// transforms in this stage to their state
-	// family.
+	// transforms in this stage to their state family.
 	TransformUserNameToStateFamily map[string]string `json:"transformUserNameToStateFamily,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ComputationId") to
@@ -6765,8 +6503,7 @@
 }
 
 // StreamingComputationRanges: Describes full or partial data disk
-// assignment information of the computation
-// ranges.
+// assignment information of the computation ranges.
 type StreamingComputationRanges struct {
 	// ComputationId: The ID of the computation.
 	ComputationId string `json:"computationId,omitempty"`
@@ -6799,8 +6536,7 @@
 }
 
 // StreamingComputationTask: A task which describes what action should
-// be performed for the specified
-// streaming computation ranges.
+// be performed for the specified streaming computation ranges.
 type StreamingComputationTask struct {
 	// ComputationRanges: Contains ranges of a streaming computation this
 	// task should apply to.
@@ -6868,17 +6604,13 @@
 	UserStepToStateFamilyNameMap map[string]string `json:"userStepToStateFamilyNameMap,omitempty"`
 
 	// WindmillServiceEndpoint: If present, the worker must use this
-	// endpoint to communicate with Windmill
-	// Service dispatchers, otherwise the worker must continue to use
-	// whatever
-	// endpoint it had been using.
+	// endpoint to communicate with Windmill Service dispatchers, otherwise
+	// the worker must continue to use whatever endpoint it had been using.
 	WindmillServiceEndpoint string `json:"windmillServiceEndpoint,omitempty"`
 
 	// WindmillServicePort: If present, the worker must use this port to
-	// communicate with Windmill
-	// Service dispatchers. Only applicable when windmill_service_endpoint
-	// is
-	// specified.
+	// communicate with Windmill Service dispatchers. Only applicable when
+	// windmill_service_endpoint is specified.
 	WindmillServicePort int64 `json:"windmillServicePort,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -6913,8 +6645,7 @@
 	Drain bool `json:"drain,omitempty"`
 
 	// ReceiveWorkPort: The TCP port on which the worker should listen for
-	// messages from
-	// other streaming computation workers.
+	// messages from other streaming computation workers.
 	ReceiveWorkPort int64 `json:"receiveWorkPort,omitempty"`
 
 	// SnapshotConfig: Configures streaming appliance snapshot.
@@ -6925,8 +6656,7 @@
 	StreamingComputationTopology *TopologyConfig `json:"streamingComputationTopology,omitempty"`
 
 	// WorkerHarnessPort: The TCP port used by the worker to communicate
-	// with the Dataflow
-	// worker harness.
+	// with the Dataflow worker harness.
 	WorkerHarnessPort int64 `json:"workerHarnessPort,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Drain") to
@@ -6987,12 +6717,10 @@
 }
 
 // StreamingStageLocation: Identifies the location of a streaming
-// computation stage, for
-// stage-to-stage communication.
+// computation stage, for stage-to-stage communication.
 type StreamingStageLocation struct {
 	// StreamId: Identifies the particular stream within the streaming
-	// Dataflow
-	// job.
+	// Dataflow job.
 	StreamId string `json:"streamId,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "StreamId") to
@@ -7047,14 +6775,11 @@
 }
 
 // StructuredMessage: A rich message format, including a human readable
-// string, a key for
-// identifying the message, and structured data associated with the
-// message for
-// programmatic consumption.
+// string, a key for identifying the message, and structured data
+// associated with the message for programmatic consumption.
 type StructuredMessage struct {
-	// MessageKey: Identifier for this message type.  Used by external
-	// systems to
-	// internationalize or personalize message.
+	// MessageKey: Identifier for this message type. Used by external
+	// systems to internationalize or personalize message.
 	MessageKey string `json:"messageKey,omitempty"`
 
 	// MessageText: Human-readable version of message.
@@ -7096,18 +6821,12 @@
 	BaseTaskDir string `json:"baseTaskDir,omitempty"`
 
 	// BaseUrl: The base URL for the taskrunner to use when accessing Google
-	// Cloud APIs.
-	//
-	// When workers access Google Cloud APIs, they logically do so
-	// via
-	// relative URLs.  If this field is specified, it supplies the base
-	// URL to use for resolving these relative URLs.  The
-	// normative
-	// algorithm used is defined by RFC 1808, "Relative Uniform
-	// Resource
-	// Locators".
-	//
-	// If not specified, the default value is "http://www.googleapis.com/"
+	// Cloud APIs. When workers access Google Cloud APIs, they logically do
+	// so via relative URLs. If this field is specified, it supplies the
+	// base URL to use for resolving these relative URLs. The normative
+	// algorithm used is defined by RFC 1808, "Relative Uniform Resource
+	// Locators". If not specified, the default value is
+	// "http://www.googleapis.com/"
 	BaseUrl string `json:"baseUrl,omitempty"`
 
 	// CommandlinesFileName: The file to store preprocessing commands in.
@@ -7130,24 +6849,17 @@
 	LogDir string `json:"logDir,omitempty"`
 
 	// LogToSerialconsole: Whether to send taskrunner log info to Google
-	// Compute Engine VM serial
-	// console.
+	// Compute Engine VM serial console.
 	LogToSerialconsole bool `json:"logToSerialconsole,omitempty"`
 
-	// LogUploadLocation: Indicates where to put logs.  If this is not
-	// specified, the logs
-	// will not be uploaded.
-	//
-	// The supported resource type is:
-	//
-	// Google Cloud Storage:
-	//   storage.googleapis.com/{bucket}/{object}
-	//   bucket.storage.googleapis.com/{object}
+	// LogUploadLocation: Indicates where to put logs. If this is not
+	// specified, the logs will not be uploaded. The supported resource type
+	// is: Google Cloud Storage: storage.googleapis.com/{bucket}/{object}
+	// bucket.storage.googleapis.com/{object}
 	LogUploadLocation string `json:"logUploadLocation,omitempty"`
 
 	// OauthScopes: The OAuth2 scopes to be requested by the taskrunner in
-	// order to
-	// access the Cloud Dataflow API.
+	// order to access the Cloud Dataflow API.
 	OauthScopes []string `json:"oauthScopes,omitempty"`
 
 	// ParallelWorkerSettings: The settings to pass to the parallel worker
@@ -7158,24 +6870,17 @@
 	StreamingWorkerMainClass string `json:"streamingWorkerMainClass,omitempty"`
 
 	// TaskGroup: The UNIX group ID on the worker VM to use for tasks
-	// launched by
-	// taskrunner; e.g. "wheel".
+	// launched by taskrunner; e.g. "wheel".
 	TaskGroup string `json:"taskGroup,omitempty"`
 
 	// TaskUser: The UNIX user ID on the worker VM to use for tasks launched
-	// by
-	// taskrunner; e.g. "root".
+	// by taskrunner; e.g. "root".
 	TaskUser string `json:"taskUser,omitempty"`
 
 	// TempStoragePrefix: The prefix of the resources the taskrunner should
-	// use for
-	// temporary storage.
-	//
-	// The supported resource type is:
-	//
-	// Google Cloud Storage:
-	//   storage.googleapis.com/{bucket}/{object}
-	//   bucket.storage.googleapis.com/{object}
+	// use for temporary storage. The supported resource type is: Google
+	// Cloud Storage: storage.googleapis.com/{bucket}/{object}
+	// bucket.storage.googleapis.com/{object}
 	TempStoragePrefix string `json:"tempStoragePrefix,omitempty"`
 
 	// VmId: The ID string of the VM.
@@ -7244,23 +6949,16 @@
 
 // TemplateVersion:
 // //////////////////////////////////////////////////////////////////////
-// ///////
-// //// Template Catalog is used to organize user TemplateVersions.
-// //// TemplateVersions that have the same project_id and display_name
-// are
-// //// belong to the same Template.
-// //// Templates with the same project_id belong to the same
-// Project.
-// //// TemplateVersion may have labels and multiple labels are
-// allowed.
-// //// Duplicated labels in the same `TemplateVersion` are not
-// allowed.
-// //// TemplateVersion may have tags and multiple tags are allowed.
-// Duplicated
-// //// tags in the same `Template` are not allowed!
+// /////// //// Template Catalog is used to organize user
+// TemplateVersions. //// TemplateVersions that have the same project_id
+// and display_name are //// belong to the same Template. //// Templates
+// with the same project_id belong to the same Project. ////
+// TemplateVersion may have labels and multiple labels are allowed. ////
+// Duplicated labels in the same `TemplateVersion` are not allowed. ////
+// TemplateVersion may have tags and multiple tags are allowed.
+// Duplicated //// tags in the same `Template` are not allowed!
 type TemplateVersion struct {
-	// Artifact: Job graph and metadata if it is a legacy
-	// Template.
+	// Artifact: Job graph and metadata if it is a legacy Template.
 	// Container image path and metadata if it is flex Template.
 	Artifact *Artifact `json:"artifact,omitempty"`
 
@@ -7325,8 +7023,7 @@
 }
 
 // TopologyConfig: Global topology of the streaming Dataflow job,
-// including all
-// computations and their sharded locations.
+// including all computations and their sharded locations.
 type TopologyConfig struct {
 	// Computations: The computations associated with a streaming Dataflow
 	// job.
@@ -7401,7 +7098,7 @@
 	// Name: User provided name for this transform instance.
 	Name string `json:"name,omitempty"`
 
-	// OutputCollectionName: User  names for all collection outputs to this
+	// OutputCollectionName: User names for all collection outputs to this
 	// transform.
 	OutputCollectionName []string `json:"outputCollectionName,omitempty"`
 
@@ -7465,8 +7162,7 @@
 }
 
 // WorkItem: WorkItem represents basic information about a WorkItem to
-// be executed
-// in the cloud.
+// be executed in the cloud.
 type WorkItem struct {
 	// Configuration: Work item-specific configuration as an opaque blob.
 	Configuration string `json:"configuration,omitempty"`
@@ -7488,8 +7184,7 @@
 	MapTask *MapTask `json:"mapTask,omitempty"`
 
 	// Packages: Any required packages that need to be fetched in order to
-	// execute
-	// this WorkItem.
+	// execute this WorkItem.
 	Packages []*Package `json:"packages,omitempty"`
 
 	// ProjectId: Identifies the cloud project this WorkItem belongs to.
@@ -7543,58 +7238,104 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// WorkItemDetails: Information about an individual work item execution.
+type WorkItemDetails struct {
+	// AttemptId: Attempt ID of this work item
+	AttemptId string `json:"attemptId,omitempty"`
+
+	// EndTime: End time of this work item attempt. If the work item is
+	// completed, this is the actual end time of the work item. Otherwise,
+	// it is the predicted end time.
+	EndTime string `json:"endTime,omitempty"`
+
+	// Metrics: Metrics for this work item.
+	Metrics []*MetricUpdate `json:"metrics,omitempty"`
+
+	// Progress: Progress of this work item.
+	Progress *ProgressTimeseries `json:"progress,omitempty"`
+
+	// StartTime: Start time of this work item attempt.
+	StartTime string `json:"startTime,omitempty"`
+
+	// State: State of this work item.
+	//
+	// Possible values:
+	//   "EXECUTION_STATE_UNKNOWN" - The component state is unknown or
+	// unspecified.
+	//   "EXECUTION_STATE_NOT_STARTED" - The component is not yet running.
+	//   "EXECUTION_STATE_RUNNING" - The component is currently running.
+	//   "EXECUTION_STATE_SUCCEEDED" - The component succeeded.
+	//   "EXECUTION_STATE_FAILED" - The component failed.
+	//   "EXECUTION_STATE_CANCELLED" - Execution of the component was
+	// cancelled.
+	State string `json:"state,omitempty"`
+
+	// TaskId: Name of this work item.
+	TaskId string `json:"taskId,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "AttemptId") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "AttemptId") to include in
+	// API requests with the JSON null value. By default, fields with empty
+	// values are omitted from API requests. However, any field with an
+	// empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *WorkItemDetails) MarshalJSON() ([]byte, error) {
+	type NoMethod WorkItemDetails
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // WorkItemServiceState: The Dataflow service's idea of the current
-// state of a WorkItem
-// being processed by a worker.
+// state of a WorkItem being processed by a worker.
 type WorkItemServiceState struct {
 	// CompleteWorkStatus: If set, a request to complete the work item with
-	// the given status. This
-	// will not be set to OK, unless supported by the specific kind of
-	// WorkItem.
-	// It can be used for the backend to indicate a WorkItem must terminate,
-	// e.g.,
-	// for aborting work.
+	// the given status. This will not be set to OK, unless supported by the
+	// specific kind of WorkItem. It can be used for the backend to indicate
+	// a WorkItem must terminate, e.g., for aborting work.
 	CompleteWorkStatus *Status `json:"completeWorkStatus,omitempty"`
 
 	// HarnessData: Other data returned by the service, specific to the
-	// particular
-	// worker harness.
+	// particular worker harness.
 	HarnessData googleapi.RawMessage `json:"harnessData,omitempty"`
 
 	// HotKeyDetection: A hot key is a symptom of poor data distribution in
-	// which there are enough
-	// elements mapped to a single key to impact pipeline performance.
-	// When
-	// present, this field includes metadata associated with any hot key.
+	// which there are enough elements mapped to a single key to impact
+	// pipeline performance. When present, this field includes metadata
+	// associated with any hot key.
 	HotKeyDetection *HotKeyDetection `json:"hotKeyDetection,omitempty"`
 
 	// LeaseExpireTime: Time at which the current lease will expire.
 	LeaseExpireTime string `json:"leaseExpireTime,omitempty"`
 
 	// MetricShortId: The short ids that workers should use in subsequent
-	// metric updates.
-	// Workers should strive to use short ids whenever possible, but it is
-	// ok
-	// to request the short_id again if a worker lost track of it
-	// (e.g. if the worker is recovering from a crash).
-	// NOTE: it is possible that the response may have short ids for a
-	// subset
-	// of the metrics.
+	// metric updates. Workers should strive to use short ids whenever
+	// possible, but it is ok to request the short_id again if a worker lost
+	// track of it (e.g. if the worker is recovering from a crash). NOTE: it
+	// is possible that the response may have short ids for a subset of the
+	// metrics.
 	MetricShortId []*MetricShortId `json:"metricShortId,omitempty"`
 
 	// NextReportIndex: The index value to use for the next report sent by
-	// the worker.
-	// Note: If the report call fails for whatever reason, the worker
-	// should
-	// reuse this index for subsequent report attempts.
+	// the worker. Note: If the report call fails for whatever reason, the
+	// worker should reuse this index for subsequent report attempts.
 	NextReportIndex int64 `json:"nextReportIndex,omitempty,string"`
 
 	// ReportStatusInterval: New recommended reporting interval.
 	ReportStatusInterval string `json:"reportStatusInterval,omitempty"`
 
 	// SplitRequest: The progress point in the WorkItem where the Dataflow
-	// service
-	// suggests that the worker truncate the task.
+	// service suggests that the worker truncate the task.
 	SplitRequest *ApproximateSplitRequest `json:"splitRequest,omitempty"`
 
 	// SuggestedStopPoint: DEPRECATED in favor of split_request.
@@ -7640,9 +7381,8 @@
 	// DynamicSourceSplit: See documentation of stop_position.
 	DynamicSourceSplit *DynamicSourceSplit `json:"dynamicSourceSplit,omitempty"`
 
-	// Errors: Specifies errors which occurred during processing.  If errors
-	// are
-	// provided, and completed = true, then the WorkItem is considered
+	// Errors: Specifies errors which occurred during processing. If errors
+	// are provided, and completed = true, then the WorkItem is considered
 	// to have failed.
 	Errors []*Status `json:"errors,omitempty"`
 
@@ -7652,24 +7392,17 @@
 	// Progress: DEPRECATED in favor of reported_progress.
 	Progress *ApproximateProgress `json:"progress,omitempty"`
 
-	// ReportIndex: The report index.  When a WorkItem is leased, the lease
-	// will
-	// contain an initial report index.  When a WorkItem's status
-	// is
-	// reported to the system, the report should be sent with
-	// that report index, and the response will contain the index the
-	// worker should use for the next report.  Reports received
-	// with
-	// unexpected index values will be rejected by the service.
-	//
-	// In order to preserve idempotency, the worker should not alter
-	// the
-	// contents of a report, even if the worker must submit the same
-	// report multiple times before getting back a response.  The
-	// worker
-	// should not submit a subsequent report until the response for
-	// the
-	// previous report had been received from the service.
+	// ReportIndex: The report index. When a WorkItem is leased, the lease
+	// will contain an initial report index. When a WorkItem's status is
+	// reported to the system, the report should be sent with that report
+	// index, and the response will contain the index the worker should use
+	// for the next report. Reports received with unexpected index values
+	// will be rejected by the service. In order to preserve idempotency,
+	// the worker should not alter the contents of a report, even if the
+	// worker must submit the same report multiple times before getting back
+	// a response. The worker should not submit a subsequent report until
+	// the response for the previous report had been received from the
+	// service.
 	ReportIndex int64 `json:"reportIndex,omitempty,string"`
 
 	// ReportedProgress: The worker's progress through this WorkItem.
@@ -7683,51 +7416,35 @@
 	SourceFork *SourceFork `json:"sourceFork,omitempty"`
 
 	// SourceOperationResponse: If the work item represented a
-	// SourceOperationRequest, and the work
-	// is completed, contains the result of the operation.
+	// SourceOperationRequest, and the work is completed, contains the
+	// result of the operation.
 	SourceOperationResponse *SourceOperationResponse `json:"sourceOperationResponse,omitempty"`
 
 	// StopPosition: A worker may split an active map task in two parts,
-	// "primary" and
-	// "residual", continuing to process the primary part and returning
-	// the
-	// residual part into the pool of available work.
-	// This event is called a "dynamic split" and is critical to the
-	// dynamic
-	// work rebalancing feature. The two obtained sub-tasks are
-	// called
-	// "parts" of the split.
-	// The parts, if concatenated, must represent the same input as would
-	// be read by the current task if the split did not happen.
-	// The exact way in which the original task is decomposed into the
-	// two
-	// parts is specified either as a position demarcating
-	// them
-	// (stop_position), or explicitly as two DerivedSources, if this
-	// task consumes a user-defined source type (dynamic_source_split).
-	//
-	// The "current" task is adjusted as a result of the split: after a
-	// task
-	// with range [A, B) sends a stop_position update at C, its range
-	// is
-	// considered to be [A, C), e.g.:
-	// * Progress should be interpreted relative to the new range, e.g.
-	//   "75% completed" means "75% of [A, C) completed"
-	// * The worker should interpret proposed_stop_position relative to the
-	//   new range, e.g. "split at 68%" should be interpreted as
-	//   "split at 68% of [A, C)".
-	// * If the worker chooses to split again using stop_position, only
-	//   stop_positions in [A, C) will be accepted.
-	// * Etc.
-	// dynamic_source_split has similar semantics: e.g., if a task
-	// with
-	// source S splits using dynamic_source_split into {P, R}
-	// (where P and R must be together equivalent to S), then
-	// subsequent
-	// progress and proposed_stop_position should be interpreted relative
-	// to P, and in a potential subsequent dynamic_source_split into {P',
-	// R'},
-	// P' and R' must be together equivalent to P, etc.
+	// "primary" and "residual", continuing to process the primary part and
+	// returning the residual part into the pool of available work. This
+	// event is called a "dynamic split" and is critical to the dynamic work
+	// rebalancing feature. The two obtained sub-tasks are called "parts" of
+	// the split. The parts, if concatenated, must represent the same input
+	// as would be read by the current task if the split did not happen. The
+	// exact way in which the original task is decomposed into the two parts
+	// is specified either as a position demarcating them (stop_position),
+	// or explicitly as two DerivedSources, if this task consumes a
+	// user-defined source type (dynamic_source_split). The "current" task
+	// is adjusted as a result of the split: after a task with range [A, B)
+	// sends a stop_position update at C, its range is considered to be [A,
+	// C), e.g.: * Progress should be interpreted relative to the new range,
+	// e.g. "75% completed" means "75% of [A, C) completed" * The worker
+	// should interpret proposed_stop_position relative to the new range,
+	// e.g. "split at 68%" should be interpreted as "split at 68% of [A,
+	// C)". * If the worker chooses to split again using stop_position, only
+	// stop_positions in [A, C) will be accepted. * Etc.
+	// dynamic_source_split has similar semantics: e.g., if a task with
+	// source S splits using dynamic_source_split into {P, R} (where P and R
+	// must be together equivalent to S), then subsequent progress and
+	// proposed_stop_position should be interpreted relative to P, and in a
+	// potential subsequent dynamic_source_split into {P', R'}, P' and R'
+	// must be together equivalent to P, etc.
 	StopPosition *Position `json:"stopPosition,omitempty"`
 
 	// TotalThrottlerWaitTimeSeconds: Total time the worker spent being
@@ -7774,36 +7491,56 @@
 	return nil
 }
 
+// WorkerDetails: Information about a worker
+type WorkerDetails struct {
+	// WorkItems: Work items processed by this worker, sorted by time.
+	WorkItems []*WorkItemDetails `json:"workItems,omitempty"`
+
+	// WorkerName: Name of this worker
+	WorkerName string `json:"workerName,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "WorkItems") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "WorkItems") to include in
+	// API requests with the JSON null value. By default, fields with empty
+	// values are omitted from API requests. However, any field with an
+	// empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *WorkerDetails) MarshalJSON() ([]byte, error) {
+	type NoMethod WorkerDetails
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // WorkerHealthReport: WorkerHealthReport contains information about the
-// health of a worker.
-//
-// The VM should be identified by the labels attached to the
-// WorkerMessage that
-// this health ping belongs to.
+// health of a worker. The VM should be identified by the labels
+// attached to the WorkerMessage that this health ping belongs to.
 type WorkerHealthReport struct {
 	// Msg: A message describing any unusual health reports.
 	Msg string `json:"msg,omitempty"`
 
-	// Pods: The pods running on the worker.
-	// See:
-	// http://kubernetes.io/v1.1/docs/api-reference/v1/definitions.html#
-	// _v1_pod
-	//
-	// This field is used by the worker to send the status of the
-	// indvidual
-	// containers running on each worker.
+	// Pods: The pods running on the worker. See:
+	// http://kubernetes.io/v1.1/docs/api-reference/v1/definitions.html#_v1_pod This field is used by the worker to send the status of the indvidual containers running on each
+	// worker.
 	Pods []googleapi.RawMessage `json:"pods,omitempty"`
 
 	// ReportInterval: The interval at which the worker is sending health
-	// reports.
-	// The default value of 0 should be interpreted as the field is not
-	// being
-	// explicitly set by the worker.
+	// reports. The default value of 0 should be interpreted as the field is
+	// not being explicitly set by the worker.
 	ReportInterval string `json:"reportInterval,omitempty"`
 
-	// VmIsBroken: Whether the VM is in a permanently broken state.
-	// Broken VMs should be abandoned or deleted ASAP to avoid assigning
-	// or
+	// VmIsBroken: Whether the VM is in a permanently broken state. Broken
+	// VMs should be abandoned or deleted ASAP to avoid assigning or
 	// completing any work.
 	VmIsBroken bool `json:"vmIsBroken,omitempty"`
 
@@ -7837,16 +7574,11 @@
 }
 
 // WorkerHealthReportResponse: WorkerHealthReportResponse contains
-// information returned to the worker
-// in response to a health ping.
+// information returned to the worker in response to a health ping.
 type WorkerHealthReportResponse struct {
 	// ReportInterval: A positive value indicates the worker should change
-	// its reporting interval
-	// to the specified value.
-	//
-	// The default value of zero means no change in report rate is requested
-	// by
-	// the server.
+	// its reporting interval to the specified value. The default value of
+	// zero means no change in report rate is requested by the server.
 	ReportInterval string `json:"reportInterval,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ReportInterval") to
@@ -7873,19 +7605,16 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// WorkerLifecycleEvent: A report of an event in a worker's
-// lifecycle.
-// The proto contains one event, because the worker is expected
-// to
-// asynchronously send each message immediately after the event.
-// Due to this asynchrony, messages may arrive out of order (or
-// missing), and it
-// is up to the consumer to interpret.
-// The timestamp of the event is in the enclosing WorkerMessage proto.
+// WorkerLifecycleEvent: A report of an event in a worker's lifecycle.
+// The proto contains one event, because the worker is expected to
+// asynchronously send each message immediately after the event. Due to
+// this asynchrony, messages may arrive out of order (or missing), and
+// it is up to the consumer to interpret. The timestamp of the event is
+// in the enclosing WorkerMessage proto.
 type WorkerLifecycleEvent struct {
 	// ContainerStartTime: The start time of this container. All events will
-	// report this so that
-	// events can be grouped together across container/VM restarts.
+	// report this so that events can be grouped together across
+	// container/VM restarts.
 	ContainerStartTime string `json:"containerStartTime,omitempty"`
 
 	// Event: The event being reported.
@@ -7894,8 +7623,8 @@
 	//   "UNKNOWN_EVENT" - Invalid event.
 	//   "OS_START" - The time the VM started.
 	//   "CONTAINER_START" - Our container code starts running. Multiple
-	// containers could be
-	// distinguished with WorkerMessage.labels if desired.
+	// containers could be distinguished with WorkerMessage.labels if
+	// desired.
 	//   "NETWORK_UP" - The worker has a functional external network
 	// connection.
 	//   "STAGING_FILES_DOWNLOAD_START" - Started downloading staging files.
@@ -7906,8 +7635,8 @@
 	//   "SDK_INSTALL_FINISH" - Finished installing SDK.
 	Event string `json:"event,omitempty"`
 
-	// Metadata: Other stats that can accompany an event. E.g.
-	// { "downloaded_bytes" : "123456" }
+	// Metadata: Other stats that can accompany an event. E.g. {
+	// "downloaded_bytes" : "123456" }
 	Metadata map[string]string `json:"metadata,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ContainerStartTime")
@@ -7937,18 +7666,13 @@
 // WorkerMessage: WorkerMessage provides information to the backend
 // about a worker.
 type WorkerMessage struct {
-	// Labels: Labels are used to group WorkerMessages.
-	// For example, a worker_message about a particular container
-	// might have the labels:
-	// { "JOB_ID": "2015-04-22",
-	//   "WORKER_ID": "wordcount-vm-2015…"
-	//   "CONTAINER_TYPE": "worker",
-	//   "CONTAINER_ID": "ac1234def"}
-	// Label tags typically correspond to Label enum values. However, for
-	// ease
-	// of development other strings can be used as tags. LABEL_UNSPECIFIED
-	// should
-	// not be used here.
+	// Labels: Labels are used to group WorkerMessages. For example, a
+	// worker_message about a particular container might have the labels: {
+	// "JOB_ID": "2015-04-22", "WORKER_ID": "wordcount-vm-2015…"
+	// "CONTAINER_TYPE": "worker", "CONTAINER_ID": "ac1234def"} Label tags
+	// typically correspond to Label enum values. However, for ease of
+	// development other strings can be used as tags. LABEL_UNSPECIFIED
+	// should not be used here.
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// Time: The timestamp of the worker_message.
@@ -7993,65 +7717,34 @@
 }
 
 // WorkerMessageCode: A message code is used to report status and error
-// messages to the service.
-// The message codes are intended to be machine readable. The service
-// will
-// take care of translating these into user understandable messages
-// if
-// necessary.
-//
-// Example use cases:
-//   1. Worker processes reporting successful startup.
-//   2. Worker processes reporting specific errors (e.g. package
-// staging
-//      failure).
+// messages to the service. The message codes are intended to be machine
+// readable. The service will take care of translating these into user
+// understandable messages if necessary. Example use cases: 1. Worker
+// processes reporting successful startup. 2. Worker processes reporting
+// specific errors (e.g. package staging failure).
 type WorkerMessageCode struct {
 	// Code: The code is a string intended for consumption by a machine that
-	// identifies
-	// the type of message being sent.
-	// Examples:
-	//  1. "HARNESS_STARTED" might be used to indicate the worker harness
-	// has
-	//      started.
-	//  2. "GCS_DOWNLOAD_ERROR" might be used to indicate an error
-	// downloading
-	//     a GCS file as part of the boot process of one of the worker
-	// containers.
-	//
-	// This is a string and not an enum to make it easy to add new codes
-	// without
-	// waiting for an API change.
+	// identifies the type of message being sent. Examples: 1.
+	// "HARNESS_STARTED" might be used to indicate the worker harness has
+	// started. 2. "GCS_DOWNLOAD_ERROR" might be used to indicate an error
+	// downloading a GCS file as part of the boot process of one of the
+	// worker containers. This is a string and not an enum to make it easy
+	// to add new codes without waiting for an API change.
 	Code string `json:"code,omitempty"`
 
-	// Parameters: Parameters contains specific information about the
-	// code.
-	//
-	// This is a struct to allow parameters of different types.
-	//
-	// Examples:
-	//  1. For a "HARNESS_STARTED" message parameters might provide the
-	// name
-	//     of the worker and additional data like timing information.
-	//  2. For a "GCS_DOWNLOAD_ERROR" parameters might contain fields
-	// listing
-	//     the GCS objects being downloaded and fields containing
-	// errors.
-	//
-	// In general complex data structures should be avoided. If a
-	// worker
-	// needs to send a specific and complicated data structure then
-	// please
-	// consider defining a new proto and adding it to the data oneof
-	// in
-	// WorkerMessageResponse.
-	//
-	// Conventions:
-	//  Parameters should only be used for information that isn't typically
-	// passed
-	//  as a label.
-	//  hostname and other worker identifiers should almost always be
-	// passed
-	//  as labels since they will be included on most messages.
+	// Parameters: Parameters contains specific information about the code.
+	// This is a struct to allow parameters of different types. Examples: 1.
+	// For a "HARNESS_STARTED" message parameters might provide the name of
+	// the worker and additional data like timing information. 2. For a
+	// "GCS_DOWNLOAD_ERROR" parameters might contain fields listing the GCS
+	// objects being downloaded and fields containing errors. In general
+	// complex data structures should be avoided. If a worker needs to send
+	// a specific and complicated data structure then please consider
+	// defining a new proto and adding it to the data oneof in
+	// WorkerMessageResponse. Conventions: Parameters should only be used
+	// for information that isn't typically passed as a label. hostname and
+	// other worker identifiers should almost always be passed as labels
+	// since they will be included on most messages.
 	Parameters googleapi.RawMessage `json:"parameters,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Code") to
@@ -8078,8 +7771,7 @@
 }
 
 // WorkerMessageResponse: A worker_message response allows the server to
-// pass information to the
-// sender.
+// pass information to the sender.
 type WorkerMessageResponse struct {
 	// WorkerHealthReportResponse: The service's response to a worker's
 	// health report.
@@ -8119,13 +7811,9 @@
 }
 
 // WorkerPool: Describes one particular pool of Cloud Dataflow workers
-// to be
-// instantiated by the Cloud Dataflow service in order to perform
-// the
-// computations required by a job.  Note that a workflow job may
-// use
-// multiple pools, in order to match the various
-// computational
+// to be instantiated by the Cloud Dataflow service in order to perform
+// the computations required by a job. Note that a workflow job may use
+// multiple pools, in order to match the various computational
 // requirements of the various stages of the job.
 type WorkerPool struct {
 	// AutoscalingSettings: Settings for autoscaling of this WorkerPool.
@@ -8134,34 +7822,30 @@
 	// DataDisks: Data disks that are used by a VM in this workflow.
 	DataDisks []*Disk `json:"dataDisks,omitempty"`
 
-	// DefaultPackageSet: The default package set to install.  This allows
-	// the service to
-	// select a default set of packages which are useful to worker
-	// harnesses written in a particular language.
+	// DefaultPackageSet: The default package set to install. This allows
+	// the service to select a default set of packages which are useful to
+	// worker harnesses written in a particular language.
 	//
 	// Possible values:
 	//   "DEFAULT_PACKAGE_SET_UNKNOWN" - The default set of packages to
 	// stage is unknown, or unspecified.
 	//   "DEFAULT_PACKAGE_SET_NONE" - Indicates that no packages should be
-	// staged at the worker unless
-	// explicitly specified by the job.
+	// staged at the worker unless explicitly specified by the job.
 	//   "DEFAULT_PACKAGE_SET_JAVA" - Stage packages typically useful to
 	// workers written in Java.
 	//   "DEFAULT_PACKAGE_SET_PYTHON" - Stage pacakges typically useful to
 	// workers written in Python.
 	DefaultPackageSet string `json:"defaultPackageSet,omitempty"`
 
-	// DiskSizeGb: Size of root disk for VMs, in GB.  If zero or
-	// unspecified, the service will
-	// attempt to choose a reasonable default.
+	// DiskSizeGb: Size of root disk for VMs, in GB. If zero or unspecified,
+	// the service will attempt to choose a reasonable default.
 	DiskSizeGb int64 `json:"diskSizeGb,omitempty"`
 
 	// DiskSourceImage: Fully qualified source image for disks.
 	DiskSourceImage string `json:"diskSourceImage,omitempty"`
 
-	// DiskType: Type of root disk for VMs.  If empty or unspecified, the
-	// service will
-	// attempt to choose a reasonable default.
+	// DiskType: Type of root disk for VMs. If empty or unspecified, the
+	// service will attempt to choose a reasonable default.
 	DiskType string `json:"diskType,omitempty"`
 
 	// IpConfiguration: Configuration for VM IPs.
@@ -8174,40 +7858,33 @@
 	IpConfiguration string `json:"ipConfiguration,omitempty"`
 
 	// Kind: The kind of the worker pool; currently only `harness` and
-	// `shuffle`
-	// are supported.
+	// `shuffle` are supported.
 	Kind string `json:"kind,omitempty"`
 
-	// MachineType: Machine type (e.g. "n1-standard-1").  If empty or
-	// unspecified, the
-	// service will attempt to choose a reasonable default.
+	// MachineType: Machine type (e.g. "n1-standard-1"). If empty or
+	// unspecified, the service will attempt to choose a reasonable default.
 	MachineType string `json:"machineType,omitempty"`
 
 	// Metadata: Metadata to set on the Google Compute Engine VMs.
 	Metadata map[string]string `json:"metadata,omitempty"`
 
-	// Network: Network to which VMs will be assigned.  If empty or
-	// unspecified,
-	// the service will use the network "default".
+	// Network: Network to which VMs will be assigned. If empty or
+	// unspecified, the service will use the network "default".
 	Network string `json:"network,omitempty"`
 
 	// NumThreadsPerWorker: The number of threads per worker harness. If
-	// empty or unspecified, the
-	// service will choose a number of threads (according to the number of
-	// cores
-	// on the selected machine type for batch, or 1 by convention for
-	// streaming).
+	// empty or unspecified, the service will choose a number of threads
+	// (according to the number of cores on the selected machine type for
+	// batch, or 1 by convention for streaming).
 	NumThreadsPerWorker int64 `json:"numThreadsPerWorker,omitempty"`
 
 	// NumWorkers: Number of Google Compute Engine workers in this pool
-	// needed to
-	// execute the job.  If zero or unspecified, the service will
+	// needed to execute the job. If zero or unspecified, the service will
 	// attempt to choose a reasonable default.
 	NumWorkers int64 `json:"numWorkers,omitempty"`
 
 	// OnHostMaintenance: The action to take on host maintenance, as defined
-	// by the Google
-	// Compute Engine API.
+	// by the Google Compute Engine API.
 	OnHostMaintenance string `json:"onHostMaintenance,omitempty"`
 
 	// Packages: Packages to be installed on workers.
@@ -8217,73 +7894,51 @@
 	PoolArgs googleapi.RawMessage `json:"poolArgs,omitempty"`
 
 	// SdkHarnessContainerImages: Set of SDK harness containers needed to
-	// execute this pipeline. This will
-	// only be set in the Fn API path. For non-cross-language pipelines
-	// this
-	// should have only one entry. Cross-language pipelines will have two or
-	// more
-	// entries.
+	// execute this pipeline. This will only be set in the Fn API path. For
+	// non-cross-language pipelines this should have only one entry.
+	// Cross-language pipelines will have two or more entries.
 	SdkHarnessContainerImages []*SdkHarnessContainerImage `json:"sdkHarnessContainerImages,omitempty"`
 
 	// Subnetwork: Subnetwork to which VMs will be assigned, if desired.
-	// Expected to be of
-	// the form "regions/REGION/subnetworks/SUBNETWORK".
+	// Expected to be of the form "regions/REGION/subnetworks/SUBNETWORK".
 	Subnetwork string `json:"subnetwork,omitempty"`
 
 	// TaskrunnerSettings: Settings passed through to Google Compute Engine
-	// workers when
-	// using the standard Dataflow task runner.  Users should ignore
-	// this field.
+	// workers when using the standard Dataflow task runner. Users should
+	// ignore this field.
 	TaskrunnerSettings *TaskRunnerSettings `json:"taskrunnerSettings,omitempty"`
 
 	// TeardownPolicy: Sets the policy for determining when to turndown
-	// worker pool.
-	// Allowed values are: `TEARDOWN_ALWAYS`, `TEARDOWN_ON_SUCCESS`,
-	// and
-	// `TEARDOWN_NEVER`.
-	// `TEARDOWN_ALWAYS` means workers are always torn down regardless of
-	// whether
-	// the job succeeds. `TEARDOWN_ON_SUCCESS` means workers are torn
-	// down
-	// if the job succeeds. `TEARDOWN_NEVER` means the workers are never
-	// torn
-	// down.
-	//
-	// If the workers are not torn down by the service, they will
-	// continue to run and use Google Compute Engine VM resources in
-	// the
-	// user's project until they are explicitly terminated by the
-	// user.
-	// Because of this, Google recommends using the `TEARDOWN_ALWAYS`
-	// policy except for small, manually supervised test jobs.
-	//
-	// If unknown or unspecified, the service will attempt to choose a
-	// reasonable
-	// default.
+	// worker pool. Allowed values are: `TEARDOWN_ALWAYS`,
+	// `TEARDOWN_ON_SUCCESS`, and `TEARDOWN_NEVER`. `TEARDOWN_ALWAYS` means
+	// workers are always torn down regardless of whether the job succeeds.
+	// `TEARDOWN_ON_SUCCESS` means workers are torn down if the job
+	// succeeds. `TEARDOWN_NEVER` means the workers are never torn down. If
+	// the workers are not torn down by the service, they will continue to
+	// run and use Google Compute Engine VM resources in the user's project
+	// until they are explicitly terminated by the user. Because of this,
+	// Google recommends using the `TEARDOWN_ALWAYS` policy except for
+	// small, manually supervised test jobs. If unknown or unspecified, the
+	// service will attempt to choose a reasonable default.
 	//
 	// Possible values:
 	//   "TEARDOWN_POLICY_UNKNOWN" - The teardown policy isn't specified, or
 	// is unknown.
 	//   "TEARDOWN_ALWAYS" - Always teardown the resource.
 	//   "TEARDOWN_ON_SUCCESS" - Teardown the resource on success. This is
-	// useful for debugging
-	// failures.
+	// useful for debugging failures.
 	//   "TEARDOWN_NEVER" - Never teardown the resource. This is useful for
-	// debugging and
-	// development.
+	// debugging and development.
 	TeardownPolicy string `json:"teardownPolicy,omitempty"`
 
 	// WorkerHarnessContainerImage: Required. Docker container image that
-	// executes the Cloud Dataflow worker
-	// harness, residing in Google Container Registry.
-	//
-	// Deprecated for the Fn API path. Use sdk_harness_container_images
-	// instead.
+	// executes the Cloud Dataflow worker harness, residing in Google
+	// Container Registry. Deprecated for the Fn API path. Use
+	// sdk_harness_container_images instead.
 	WorkerHarnessContainerImage string `json:"workerHarnessContainerImage,omitempty"`
 
-	// Zone: Zone to run the worker pools in.  If empty or unspecified, the
-	// service
-	// will attempt to choose a reasonable default.
+	// Zone: Zone to run the worker pools in. If empty or unspecified, the
+	// service will attempt to choose a reasonable default.
 	Zone string `json:"zone,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AutoscalingSettings")
@@ -8312,18 +7967,12 @@
 
 // WorkerSettings: Provides data to pass through to the worker harness.
 type WorkerSettings struct {
-	// BaseUrl: The base URL for accessing Google Cloud APIs.
-	//
-	// When workers access Google Cloud APIs, they logically do so
-	// via
-	// relative URLs.  If this field is specified, it supplies the base
-	// URL to use for resolving these relative URLs.  The
-	// normative
-	// algorithm used is defined by RFC 1808, "Relative Uniform
-	// Resource
-	// Locators".
-	//
-	// If not specified, the default value is "http://www.googleapis.com/"
+	// BaseUrl: The base URL for accessing Google Cloud APIs. When workers
+	// access Google Cloud APIs, they logically do so via relative URLs. If
+	// this field is specified, it supplies the base URL to use for
+	// resolving these relative URLs. The normative algorithm used is
+	// defined by RFC 1808, "Relative Uniform Resource Locators". If not
+	// specified, the default value is "http://www.googleapis.com/"
 	BaseUrl string `json:"baseUrl,omitempty"`
 
 	// ReportingEnabled: Whether to send work progress updates to the
@@ -8331,25 +7980,17 @@
 	ReportingEnabled bool `json:"reportingEnabled,omitempty"`
 
 	// ServicePath: The Cloud Dataflow service path relative to the root
-	// URL, for example,
-	// "dataflow/v1b3/projects".
+	// URL, for example, "dataflow/v1b3/projects".
 	ServicePath string `json:"servicePath,omitempty"`
 
 	// ShuffleServicePath: The Shuffle service path relative to the root
-	// URL, for example,
-	// "shuffle/v1beta1".
+	// URL, for example, "shuffle/v1beta1".
 	ShuffleServicePath string `json:"shuffleServicePath,omitempty"`
 
 	// TempStoragePrefix: The prefix of the resources the system should use
-	// for temporary
-	// storage.
-	//
-	// The supported resource type is:
-	//
-	// Google Cloud Storage:
-	//
-	//   storage.googleapis.com/{bucket}/{object}
-	//   bucket.storage.googleapis.com/{object}
+	// for temporary storage. The supported resource type is: Google Cloud
+	// Storage: storage.googleapis.com/{bucket}/{object}
+	// bucket.storage.googleapis.com/{object}
 	TempStoragePrefix string `json:"tempStoragePrefix,omitempty"`
 
 	// WorkerId: The ID of the worker running this pipeline.
@@ -8379,16 +8020,13 @@
 }
 
 // WorkerShutdownNotice: Shutdown notification from workers. This is to
-// be sent by the shutdown
-// script of the worker VM so that the backend knows that the VM is
-// being
-// shut down.
+// be sent by the shutdown script of the worker VM so that the backend
+// knows that the VM is being shut down.
 type WorkerShutdownNotice struct {
-	// Reason: The reason for the worker shutdown.
-	// Current possible values are:
-	//   "UNKNOWN": shutdown reason is unknown.
-	//   "PREEMPTION": shutdown reason is preemption.
-	// Other possible reasons may be added in the future.
+	// Reason: The reason for the worker shutdown. Current possible values
+	// are: "UNKNOWN": shutdown reason is unknown. "PREEMPTION": shutdown
+	// reason is preemption. Other possible reasons may be added in the
+	// future.
 	Reason string `json:"reason,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Reason") to
@@ -8419,8 +8057,8 @@
 type WorkerShutdownNoticeResponse struct {
 }
 
-// WriteInstruction: An instruction that writes records.
-// Takes one input, produces no outputs.
+// WriteInstruction: An instruction that writes records. Takes one
+// input, produces no outputs.
 type WriteInstruction struct {
 	// Input: The input.
 	Input *InstructionInput `json:"input,omitempty"`
@@ -8509,7 +8147,7 @@
 
 func (c *ProjectsDeleteSnapshotsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8653,7 +8291,7 @@
 
 func (c *ProjectsWorkerMessagesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8761,8 +8399,8 @@
 }
 
 // Commit: Creates a new TemplateVersion (Important: not new Template)
-// entry in the
-// spanner table. Requires project_id and display_name (template).
+// entry in the spanner table. Requires project_id and display_name
+// (template).
 func (r *ProjectsCatalogTemplatesService) Commit(name string, committemplateversionrequest *CommitTemplateVersionRequest) *ProjectsCatalogTemplatesCommitCall {
 	c := &ProjectsCatalogTemplatesCommitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -8797,7 +8435,7 @@
 
 func (c *ProjectsCatalogTemplatesCommitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8861,7 +8499,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a new TemplateVersion (Important: not new Template) entry in the\nspanner table. Requires project_id and display_name (template).",
+	//   "description": "Creates a new TemplateVersion (Important: not new Template) entry in the spanner table. Requires project_id and display_name (template).",
 	//   "flatPath": "v1b3/projects/{projectsId}/catalogTemplates/{catalogTemplatesId}:commit",
 	//   "httpMethod": "POST",
 	//   "id": "dataflow.projects.catalogTemplates.commit",
@@ -8870,7 +8508,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The location of the template, name includes project_id and display_name.\n\nCommit using project_id(pid1) and display_name(tid1).\n  Format: projects/{pid1}/catalogTemplates/{tid1}",
+	//       "description": "The location of the template, name includes project_id and display_name. Commit using project_id(pid1) and display_name(tid1). Format: projects/{pid1}/catalogTemplates/{tid1}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/catalogTemplates/[^/]+$",
 	//       "required": true,
@@ -8937,7 +8575,7 @@
 
 func (c *ProjectsCatalogTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9005,7 +8643,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "name includes project_id and display_name.\n\nDelete by project_id(pid1) and display_name(tid1).\n  Format: projects/{pid1}/catalogTemplates/{tid1}",
+	//       "description": "name includes project_id and display_name. Delete by project_id(pid1) and display_name(tid1). Format: projects/{pid1}/catalogTemplates/{tid1}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/catalogTemplates/[^/]+$",
 	//       "required": true,
@@ -9036,10 +8674,8 @@
 }
 
 // Get: Get TemplateVersion using project_id and display_name with an
-// optional
-// version_id field. Get latest (has tag "latest") TemplateVersion
-// if
-// version_id not set.
+// optional version_id field. Get latest (has tag "latest")
+// TemplateVersion if version_id not set.
 func (r *ProjectsCatalogTemplatesService) Get(name string) *ProjectsCatalogTemplatesGetCall {
 	c := &ProjectsCatalogTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -9083,7 +8719,7 @@
 
 func (c *ProjectsCatalogTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9145,7 +8781,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Get TemplateVersion using project_id and display_name with an optional\nversion_id field. Get latest (has tag \"latest\") TemplateVersion if\nversion_id not set.",
+	//   "description": "Get TemplateVersion using project_id and display_name with an optional version_id field. Get latest (has tag \"latest\") TemplateVersion if version_id not set.",
 	//   "flatPath": "v1b3/projects/{projectsId}/catalogTemplates/{catalogTemplatesId}",
 	//   "httpMethod": "GET",
 	//   "id": "dataflow.projects.catalogTemplates.get",
@@ -9154,7 +8790,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Resource name includes project_id and display_name. version_id is optional.\nGet the latest TemplateVersion if version_id not set.\n\nGet by project_id(pid1) and display_name(tid1):\n  Format: projects/{pid1}/catalogTemplates/{tid1}\n\nGet by project_id(pid1), display_name(tid1), and version_id(vid1):\n  Format: projects/{pid1}/catalogTemplates/{tid1@vid}",
+	//       "description": "Resource name includes project_id and display_name. version_id is optional. Get the latest TemplateVersion if version_id not set. Get by project_id(pid1) and display_name(tid1): Format: projects/{pid1}/catalogTemplates/{tid1} Get by project_id(pid1), display_name(tid1), and version_id(vid1): Format: projects/{pid1}/catalogTemplates/{tid1@vid}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/catalogTemplates/[^/]+$",
 	//       "required": true,
@@ -9185,8 +8821,8 @@
 }
 
 // Label: Updates the label of the TemplateVersion. Label can be
-// duplicated in
-// Template, so either add or remove the label in the TemplateVersion.
+// duplicated in Template, so either add or remove the label in the
+// TemplateVersion.
 func (r *ProjectsCatalogTemplatesService) Label(name string, modifytemplateversionlabelrequest *ModifyTemplateVersionLabelRequest) *ProjectsCatalogTemplatesLabelCall {
 	c := &ProjectsCatalogTemplatesLabelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -9221,7 +8857,7 @@
 
 func (c *ProjectsCatalogTemplatesLabelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9286,7 +8922,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates the label of the TemplateVersion. Label can be duplicated in\nTemplate, so either add or remove the label in the TemplateVersion.",
+	//   "description": "Updates the label of the TemplateVersion. Label can be duplicated in Template, so either add or remove the label in the TemplateVersion.",
 	//   "flatPath": "v1b3/projects/{projectsId}/catalogTemplates/{catalogTemplatesId}:label",
 	//   "httpMethod": "POST",
 	//   "id": "dataflow.projects.catalogTemplates.label",
@@ -9295,7 +8931,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Resource name includes project_id, display_name, and version_id.\n\nUpdates by project_id(pid1), display_name(tid1), and version_id(vid1):\n  Format: projects/{pid1}/catalogTemplates/{tid1@vid}",
+	//       "description": "Resource name includes project_id, display_name, and version_id. Updates by project_id(pid1), display_name(tid1), and version_id(vid1): Format: projects/{pid1}/catalogTemplates/{tid1@vid}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/catalogTemplates/[^/]+$",
 	//       "required": true,
@@ -9329,14 +8965,11 @@
 }
 
 // Tag: Updates the tag of the TemplateVersion, and tag is unique in
-// Template.
-// If tag exists in another TemplateVersion in the Template, updates the
-// tag
-// to this TemplateVersion will remove it from the old TemplateVersion
-// and add
-// it to this TemplateVersion. If request is remove_only (remove_only =
-// true),
-// remove the tag from this TemplateVersion.
+// Template. If tag exists in another TemplateVersion in the Template,
+// updates the tag to this TemplateVersion will remove it from the old
+// TemplateVersion and add it to this TemplateVersion. If request is
+// remove_only (remove_only = true), remove the tag from this
+// TemplateVersion.
 func (r *ProjectsCatalogTemplatesService) Tag(name string, modifytemplateversiontagrequest *ModifyTemplateVersionTagRequest) *ProjectsCatalogTemplatesTagCall {
 	c := &ProjectsCatalogTemplatesTagCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -9371,7 +9004,7 @@
 
 func (c *ProjectsCatalogTemplatesTagCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9435,7 +9068,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates the tag of the TemplateVersion, and tag is unique in Template.\nIf tag exists in another TemplateVersion in the Template, updates the tag\nto this TemplateVersion will remove it from the old TemplateVersion and add\nit to this TemplateVersion. If request is remove_only (remove_only = true),\nremove the tag from this TemplateVersion.",
+	//   "description": "Updates the tag of the TemplateVersion, and tag is unique in Template. If tag exists in another TemplateVersion in the Template, updates the tag to this TemplateVersion will remove it from the old TemplateVersion and add it to this TemplateVersion. If request is remove_only (remove_only = true), remove the tag from this TemplateVersion.",
 	//   "flatPath": "v1b3/projects/{projectsId}/catalogTemplates/{catalogTemplatesId}:tag",
 	//   "httpMethod": "POST",
 	//   "id": "dataflow.projects.catalogTemplates.tag",
@@ -9444,7 +9077,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Resource name includes project_id, display_name, and version_id.\n\nUpdates by project_id(pid1), display_name(tid1), and version_id(vid1):\n  Format: projects/{pid1}/catalogTemplates/{tid1@vid}",
+	//       "description": "Resource name includes project_id, display_name, and version_id. Updates by project_id(pid1), display_name(tid1), and version_id(vid1): Format: projects/{pid1}/catalogTemplates/{tid1@vid}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/catalogTemplates/[^/]+$",
 	//       "required": true,
@@ -9477,10 +9110,9 @@
 	header_                      http.Header
 }
 
-// Create: Creates a new Template with TemplateVersion.
-// Requires
-// project_id(projects) and template display_name(catalogTemplates).
-// The template display_name is set by the user.
+// Create: Creates a new Template with TemplateVersion. Requires
+// project_id(projects) and template display_name(catalogTemplates). The
+// template display_name is set by the user.
 func (r *ProjectsCatalogTemplatesTemplateVersionsService) Create(parent string, createtemplateversionrequest *CreateTemplateVersionRequest) *ProjectsCatalogTemplatesTemplateVersionsCreateCall {
 	c := &ProjectsCatalogTemplatesTemplateVersionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -9515,7 +9147,7 @@
 
 func (c *ProjectsCatalogTemplatesTemplateVersionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9579,7 +9211,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a new Template with TemplateVersion. Requires\nproject_id(projects) and template display_name(catalogTemplates).\nThe template display_name is set by the user.",
+	//   "description": "Creates a new Template with TemplateVersion. Requires project_id(projects) and template display_name(catalogTemplates). The template display_name is set by the user.",
 	//   "flatPath": "v1b3/projects/{projectsId}/catalogTemplates/{catalogTemplatesId}/templateVersions",
 	//   "httpMethod": "POST",
 	//   "id": "dataflow.projects.catalogTemplates.templateVersions.create",
@@ -9588,7 +9220,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "The parent project and template that the TemplateVersion will be created\nunder.\n\nCreate using project_id(pid1) and display_name(tid1).\n  Format: projects/{pid1}/catalogTemplates/{tid1}",
+	//       "description": "The parent project and template that the TemplateVersion will be created under. Create using project_id(pid1) and display_name(tid1). Format: projects/{pid1}/catalogTemplates/{tid1}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/catalogTemplates/[^/]+$",
 	//       "required": true,
@@ -9632,10 +9264,16 @@
 // use.
 //
 // Possible values:
-//   "UNKNOWN"
-//   "ALL"
-//   "TERMINATED"
-//   "ACTIVE"
+//   "UNKNOWN" - The filter isn't specified, or is unknown. This returns
+// all jobs ordered on descending `JobUuid`.
+//   "ALL" - Returns all running jobs first ordered on creation
+// timestamp, then returns all terminated jobs ordered on the
+// termination timestamp.
+//   "TERMINATED" - Filters the jobs that have a terminated state,
+// ordered on the termination timestamp. Example terminated states:
+// `JOB_STATE_STOPPED`, `JOB_STATE_UPDATED`, `JOB_STATE_DRAINED`, etc.
+//   "ACTIVE" - Filters the jobs that are running ordered on the
+// creation timestamp.
 func (c *ProjectsJobsAggregatedCall) Filter(filter string) *ProjectsJobsAggregatedCall {
 	c.urlParams_.Set("filter", filter)
 	return c
@@ -9643,27 +9281,25 @@
 
 // Location sets the optional parameter "location": The [regional
 // endpoint]
-// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-// dpoints) that
-// contains this job.
+// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints)
+// that contains this job.
 func (c *ProjectsJobsAggregatedCall) Location(location string) *ProjectsJobsAggregatedCall {
 	c.urlParams_.Set("location", location)
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": If there are many
-// jobs, limit response to at most this many.
-// The actual number of jobs returned will be the lesser of
-// max_responses
-// and an unspecified server-defined limit.
+// jobs, limit response to at most this many. The actual number of jobs
+// returned will be the lesser of max_responses and an unspecified
+// server-defined limit.
 func (c *ProjectsJobsAggregatedCall) PageSize(pageSize int64) *ProjectsJobsAggregatedCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Set this to the
-// 'next_page_token' field of a previous response
-// to request additional results in a long list.
+// 'next_page_token' field of a previous response to request additional
+// results in a long list.
 func (c *ProjectsJobsAggregatedCall) PageToken(pageToken string) *ProjectsJobsAggregatedCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -9673,10 +9309,15 @@
 // requested in response. Default is `JOB_VIEW_SUMMARY`.
 //
 // Possible values:
-//   "JOB_VIEW_UNKNOWN"
-//   "JOB_VIEW_SUMMARY"
-//   "JOB_VIEW_ALL"
-//   "JOB_VIEW_DESCRIPTION"
+//   "JOB_VIEW_UNKNOWN" - The job view to return isn't specified, or is
+// unknown. Responses will contain at least the `JOB_VIEW_SUMMARY`
+// information, and may contain additional information.
+//   "JOB_VIEW_SUMMARY" - Request summary information only: Project ID,
+// Job ID, job name, job type, job status, start/end time, and Cloud SDK
+// version details.
+//   "JOB_VIEW_ALL" - Request all information available for this job.
+//   "JOB_VIEW_DESCRIPTION" - Request summary info and limited job
+// description data for steps, labels and environment.
 func (c *ProjectsJobsAggregatedCall) View(view string) *ProjectsJobsAggregatedCall {
 	c.urlParams_.Set("view", view)
 	return c
@@ -9719,7 +9360,7 @@
 
 func (c *ProjectsJobsAggregatedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9797,22 +9438,28 @@
 	//         "TERMINATED",
 	//         "ACTIVE"
 	//       ],
+	//       "enumDescriptions": [
+	//         "The filter isn't specified, or is unknown. This returns all jobs ordered on descending `JobUuid`.",
+	//         "Returns all running jobs first ordered on creation timestamp, then returns all terminated jobs ordered on the termination timestamp.",
+	//         "Filters the jobs that have a terminated state, ordered on the termination timestamp. Example terminated states: `JOB_STATE_STOPPED`, `JOB_STATE_UPDATED`, `JOB_STATE_DRAINED`, etc.",
+	//         "Filters the jobs that are running ordered on the creation timestamp."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains this job.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains this job.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "If there are many jobs, limit response to at most this many.\nThe actual number of jobs returned will be the lesser of max_responses\nand an unspecified server-defined limit.",
+	//       "description": "If there are many jobs, limit response to at most this many. The actual number of jobs returned will be the lesser of max_responses and an unspecified server-defined limit.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Set this to the 'next_page_token' field of a previous response\nto request additional results in a long list.",
+	//       "description": "Set this to the 'next_page_token' field of a previous response to request additional results in a long list.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -9830,6 +9477,12 @@
 	//         "JOB_VIEW_ALL",
 	//         "JOB_VIEW_DESCRIPTION"
 	//       ],
+	//       "enumDescriptions": [
+	//         "The job view to return isn't specified, or is unknown. Responses will contain at least the `JOB_VIEW_SUMMARY` information, and may contain additional information.",
+	//         "Request summary information only: Project ID, Job ID, job name, job type, job status, start/end time, and Cloud SDK version details.",
+	//         "Request all information available for this job.",
+	//         "Request summary info and limited job description data for steps, labels and environment."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -9880,17 +9533,11 @@
 	header_    http.Header
 }
 
-// Create: Creates a Cloud Dataflow job.
-//
-// To create a job, we recommend using `projects.locations.jobs.create`
-// with a
-// [regional
-// endpoint]
-// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-// dpoints). Using
-// `projects.jobs.create` is not recommended, as your job will always
-// start
-// in `us-central1`.
+// Create: Creates a Cloud Dataflow job. To create a job, we recommend
+// using `projects.locations.jobs.create` with a [regional endpoint]
+// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints).
+// Using `projects.jobs.create` is not recommended, as your job will
+// always start in `us-central1`.
 func (r *ProjectsJobsService) Create(projectId string, job *Job) *ProjectsJobsCreateCall {
 	c := &ProjectsJobsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -9900,9 +9547,8 @@
 
 // Location sets the optional parameter "location": The [regional
 // endpoint]
-// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-// dpoints) that
-// contains this job.
+// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints)
+// that contains this job.
 func (c *ProjectsJobsCreateCall) Location(location string) *ProjectsJobsCreateCall {
 	c.urlParams_.Set("location", location)
 	return c
@@ -9919,10 +9565,15 @@
 // requested in response.
 //
 // Possible values:
-//   "JOB_VIEW_UNKNOWN"
-//   "JOB_VIEW_SUMMARY"
-//   "JOB_VIEW_ALL"
-//   "JOB_VIEW_DESCRIPTION"
+//   "JOB_VIEW_UNKNOWN" - The job view to return isn't specified, or is
+// unknown. Responses will contain at least the `JOB_VIEW_SUMMARY`
+// information, and may contain additional information.
+//   "JOB_VIEW_SUMMARY" - Request summary information only: Project ID,
+// Job ID, job name, job type, job status, start/end time, and Cloud SDK
+// version details.
+//   "JOB_VIEW_ALL" - Request all information available for this job.
+//   "JOB_VIEW_DESCRIPTION" - Request summary info and limited job
+// description data for steps, labels and environment.
 func (c *ProjectsJobsCreateCall) View(view string) *ProjectsJobsCreateCall {
 	c.urlParams_.Set("view", view)
 	return c
@@ -9955,7 +9606,7 @@
 
 func (c *ProjectsJobsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10019,7 +9670,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a Cloud Dataflow job.\n\nTo create a job, we recommend using `projects.locations.jobs.create` with a\n[regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using\n`projects.jobs.create` is not recommended, as your job will always start\nin `us-central1`.",
+	//   "description": "Creates a Cloud Dataflow job. To create a job, we recommend using `projects.locations.jobs.create` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.create` is not recommended, as your job will always start in `us-central1`.",
 	//   "flatPath": "v1b3/projects/{projectId}/jobs",
 	//   "httpMethod": "POST",
 	//   "id": "dataflow.projects.jobs.create",
@@ -10028,7 +9679,7 @@
 	//   ],
 	//   "parameters": {
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains this job.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains this job.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -10051,6 +9702,12 @@
 	//         "JOB_VIEW_ALL",
 	//         "JOB_VIEW_DESCRIPTION"
 	//       ],
+	//       "enumDescriptions": [
+	//         "The job view to return isn't specified, or is unknown. Responses will contain at least the `JOB_VIEW_SUMMARY` information, and may contain additional information.",
+	//         "Request summary information only: Project ID, Job ID, job name, job type, job status, start/end time, and Cloud SDK version details.",
+	//         "Request all information available for this job.",
+	//         "Request summary info and limited job description data for steps, labels and environment."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -10084,17 +9741,12 @@
 	header_      http.Header
 }
 
-// Get: Gets the state of the specified Cloud Dataflow job.
-//
-// To get the state of a job, we recommend using
-// `projects.locations.jobs.get`
-// with a [regional
-// endpoint]
-// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-// dpoints). Using
-// `projects.jobs.get` is not recommended, as you can only get the state
-// of
-// jobs that are running in `us-central1`.
+// Get: Gets the state of the specified Cloud Dataflow job. To get the
+// state of a job, we recommend using `projects.locations.jobs.get` with
+// a [regional endpoint]
+// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints).
+// Using `projects.jobs.get` is not recommended, as you can only get the
+// state of jobs that are running in `us-central1`.
 func (r *ProjectsJobsService) Get(projectId string, jobId string) *ProjectsJobsGetCall {
 	c := &ProjectsJobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -10104,9 +9756,8 @@
 
 // Location sets the optional parameter "location": The [regional
 // endpoint]
-// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-// dpoints) that
-// contains this job.
+// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints)
+// that contains this job.
 func (c *ProjectsJobsGetCall) Location(location string) *ProjectsJobsGetCall {
 	c.urlParams_.Set("location", location)
 	return c
@@ -10116,10 +9767,15 @@
 // requested in response.
 //
 // Possible values:
-//   "JOB_VIEW_UNKNOWN"
-//   "JOB_VIEW_SUMMARY"
-//   "JOB_VIEW_ALL"
-//   "JOB_VIEW_DESCRIPTION"
+//   "JOB_VIEW_UNKNOWN" - The job view to return isn't specified, or is
+// unknown. Responses will contain at least the `JOB_VIEW_SUMMARY`
+// information, and may contain additional information.
+//   "JOB_VIEW_SUMMARY" - Request summary information only: Project ID,
+// Job ID, job name, job type, job status, start/end time, and Cloud SDK
+// version details.
+//   "JOB_VIEW_ALL" - Request all information available for this job.
+//   "JOB_VIEW_DESCRIPTION" - Request summary info and limited job
+// description data for steps, labels and environment.
 func (c *ProjectsJobsGetCall) View(view string) *ProjectsJobsGetCall {
 	c.urlParams_.Set("view", view)
 	return c
@@ -10162,7 +9818,7 @@
 
 func (c *ProjectsJobsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10225,7 +9881,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the state of the specified Cloud Dataflow job.\n\nTo get the state of a job, we recommend using `projects.locations.jobs.get`\nwith a [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using\n`projects.jobs.get` is not recommended, as you can only get the state of\njobs that are running in `us-central1`.",
+	//   "description": "Gets the state of the specified Cloud Dataflow job. To get the state of a job, we recommend using `projects.locations.jobs.get` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.get` is not recommended, as you can only get the state of jobs that are running in `us-central1`.",
 	//   "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}",
 	//   "httpMethod": "GET",
 	//   "id": "dataflow.projects.jobs.get",
@@ -10241,7 +9897,7 @@
 	//       "type": "string"
 	//     },
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains this job.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains this job.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -10259,6 +9915,12 @@
 	//         "JOB_VIEW_ALL",
 	//         "JOB_VIEW_DESCRIPTION"
 	//       ],
+	//       "enumDescriptions": [
+	//         "The job view to return isn't specified, or is unknown. Responses will contain at least the `JOB_VIEW_SUMMARY` information, and may contain additional information.",
+	//         "Request summary information only: Project ID, Job ID, job name, job type, job status, start/end time, and Cloud SDK version details.",
+	//         "Request all information available for this job.",
+	//         "Request summary info and limited job description data for steps, labels and environment."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -10289,17 +9951,12 @@
 	header_      http.Header
 }
 
-// GetMetrics: Request the job status.
-//
-// To request the status of a job, we recommend
-// using
-// `projects.locations.jobs.getMetrics` with a [regional
-// endpoint]
-// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-// dpoints). Using
-// `projects.jobs.getMetrics` is not recommended, as you can only
-// request the
-// status of jobs that are running in `us-central1`.
+// GetMetrics: Request the job status. To request the status of a job,
+// we recommend using `projects.locations.jobs.getMetrics` with a
+// [regional endpoint]
+// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints).
+// Using `projects.jobs.getMetrics` is not recommended, as you can only
+// request the status of jobs that are running in `us-central1`.
 func (r *ProjectsJobsService) GetMetrics(projectId string, jobId string) *ProjectsJobsGetMetricsCall {
 	c := &ProjectsJobsGetMetricsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -10309,17 +9966,16 @@
 
 // Location sets the optional parameter "location": The [regional
 // endpoint]
-// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-// dpoints) that
-// contains the job specified by job_id.
+// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints)
+// that contains the job specified by job_id.
 func (c *ProjectsJobsGetMetricsCall) Location(location string) *ProjectsJobsGetMetricsCall {
 	c.urlParams_.Set("location", location)
 	return c
 }
 
 // StartTime sets the optional parameter "startTime": Return only metric
-// data that has changed since this time.
-// Default is to return all information about all metrics for the job.
+// data that has changed since this time. Default is to return all
+// information about all metrics for the job.
 func (c *ProjectsJobsGetMetricsCall) StartTime(startTime string) *ProjectsJobsGetMetricsCall {
 	c.urlParams_.Set("startTime", startTime)
 	return c
@@ -10362,7 +10018,7 @@
 
 func (c *ProjectsJobsGetMetricsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10425,7 +10081,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Request the job status.\n\nTo request the status of a job, we recommend using\n`projects.locations.jobs.getMetrics` with a [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using\n`projects.jobs.getMetrics` is not recommended, as you can only request the\nstatus of jobs that are running in `us-central1`.",
+	//   "description": "Request the job status. To request the status of a job, we recommend using `projects.locations.jobs.getMetrics` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.getMetrics` is not recommended, as you can only request the status of jobs that are running in `us-central1`.",
 	//   "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}/metrics",
 	//   "httpMethod": "GET",
 	//   "id": "dataflow.projects.jobs.getMetrics",
@@ -10435,13 +10091,13 @@
 	//   ],
 	//   "parameters": {
 	//     "jobId": {
-	//       "description": "The job to get messages for.",
+	//       "description": "The job to get metrics for.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains the job specified by job_id.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the job specified by job_id.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -10452,7 +10108,7 @@
 	//       "type": "string"
 	//     },
 	//     "startTime": {
-	//       "description": "Return only metric data that has changed since this time.\nDefault is to return all information about all metrics for the job.",
+	//       "description": "Return only metric data that has changed since this time. Default is to return all information about all metrics for the job.",
 	//       "format": "google-datetime",
 	//       "location": "query",
 	//       "type": "string"
@@ -10483,19 +10139,14 @@
 	header_      http.Header
 }
 
-// List: List the jobs of a project.
-//
-// To list the jobs of a project in a region, we recommend
-// using
-// `projects.locations.jobs.list` with a [regional
-// endpoint]
-// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-// dpoints). To
-// list the all jobs across all regions, use `projects.jobs.aggregated`.
-// Using
-// `projects.jobs.list` is not recommended, as you can only get the list
-// of
-// jobs that are running in `us-central1`.
+// List: List the jobs of a project. To list the jobs of a project in a
+// region, we recommend using `projects.locations.jobs.list` with a
+// [regional endpoint]
+// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints).
+// To list the all jobs across all regions, use
+// `projects.jobs.aggregated`. Using `projects.jobs.list` is not
+// recommended, as you can only get the list of jobs that are running in
+// `us-central1`.
 func (r *ProjectsJobsService) List(projectId string) *ProjectsJobsListCall {
 	c := &ProjectsJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -10506,10 +10157,16 @@
 // use.
 //
 // Possible values:
-//   "UNKNOWN"
-//   "ALL"
-//   "TERMINATED"
-//   "ACTIVE"
+//   "UNKNOWN" - The filter isn't specified, or is unknown. This returns
+// all jobs ordered on descending `JobUuid`.
+//   "ALL" - Returns all running jobs first ordered on creation
+// timestamp, then returns all terminated jobs ordered on the
+// termination timestamp.
+//   "TERMINATED" - Filters the jobs that have a terminated state,
+// ordered on the termination timestamp. Example terminated states:
+// `JOB_STATE_STOPPED`, `JOB_STATE_UPDATED`, `JOB_STATE_DRAINED`, etc.
+//   "ACTIVE" - Filters the jobs that are running ordered on the
+// creation timestamp.
 func (c *ProjectsJobsListCall) Filter(filter string) *ProjectsJobsListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
@@ -10517,27 +10174,25 @@
 
 // Location sets the optional parameter "location": The [regional
 // endpoint]
-// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-// dpoints) that
-// contains this job.
+// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints)
+// that contains this job.
 func (c *ProjectsJobsListCall) Location(location string) *ProjectsJobsListCall {
 	c.urlParams_.Set("location", location)
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": If there are many
-// jobs, limit response to at most this many.
-// The actual number of jobs returned will be the lesser of
-// max_responses
-// and an unspecified server-defined limit.
+// jobs, limit response to at most this many. The actual number of jobs
+// returned will be the lesser of max_responses and an unspecified
+// server-defined limit.
 func (c *ProjectsJobsListCall) PageSize(pageSize int64) *ProjectsJobsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Set this to the
-// 'next_page_token' field of a previous response
-// to request additional results in a long list.
+// 'next_page_token' field of a previous response to request additional
+// results in a long list.
 func (c *ProjectsJobsListCall) PageToken(pageToken string) *ProjectsJobsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -10547,10 +10202,15 @@
 // requested in response. Default is `JOB_VIEW_SUMMARY`.
 //
 // Possible values:
-//   "JOB_VIEW_UNKNOWN"
-//   "JOB_VIEW_SUMMARY"
-//   "JOB_VIEW_ALL"
-//   "JOB_VIEW_DESCRIPTION"
+//   "JOB_VIEW_UNKNOWN" - The job view to return isn't specified, or is
+// unknown. Responses will contain at least the `JOB_VIEW_SUMMARY`
+// information, and may contain additional information.
+//   "JOB_VIEW_SUMMARY" - Request summary information only: Project ID,
+// Job ID, job name, job type, job status, start/end time, and Cloud SDK
+// version details.
+//   "JOB_VIEW_ALL" - Request all information available for this job.
+//   "JOB_VIEW_DESCRIPTION" - Request summary info and limited job
+// description data for steps, labels and environment.
 func (c *ProjectsJobsListCall) View(view string) *ProjectsJobsListCall {
 	c.urlParams_.Set("view", view)
 	return c
@@ -10593,7 +10253,7 @@
 
 func (c *ProjectsJobsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10655,7 +10315,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "List the jobs of a project.\n\nTo list the jobs of a project in a region, we recommend using\n`projects.locations.jobs.list` with a [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). To\nlist the all jobs across all regions, use `projects.jobs.aggregated`. Using\n`projects.jobs.list` is not recommended, as you can only get the list of\njobs that are running in `us-central1`.",
+	//   "description": "List the jobs of a project. To list the jobs of a project in a region, we recommend using `projects.locations.jobs.list` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). To list the all jobs across all regions, use `projects.jobs.aggregated`. Using `projects.jobs.list` is not recommended, as you can only get the list of jobs that are running in `us-central1`.",
 	//   "flatPath": "v1b3/projects/{projectId}/jobs",
 	//   "httpMethod": "GET",
 	//   "id": "dataflow.projects.jobs.list",
@@ -10671,22 +10331,28 @@
 	//         "TERMINATED",
 	//         "ACTIVE"
 	//       ],
+	//       "enumDescriptions": [
+	//         "The filter isn't specified, or is unknown. This returns all jobs ordered on descending `JobUuid`.",
+	//         "Returns all running jobs first ordered on creation timestamp, then returns all terminated jobs ordered on the termination timestamp.",
+	//         "Filters the jobs that have a terminated state, ordered on the termination timestamp. Example terminated states: `JOB_STATE_STOPPED`, `JOB_STATE_UPDATED`, `JOB_STATE_DRAINED`, etc.",
+	//         "Filters the jobs that are running ordered on the creation timestamp."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains this job.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains this job.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "If there are many jobs, limit response to at most this many.\nThe actual number of jobs returned will be the lesser of max_responses\nand an unspecified server-defined limit.",
+	//       "description": "If there are many jobs, limit response to at most this many. The actual number of jobs returned will be the lesser of max_responses and an unspecified server-defined limit.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Set this to the 'next_page_token' field of a previous response\nto request additional results in a long list.",
+	//       "description": "Set this to the 'next_page_token' field of a previous response to request additional results in a long list.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -10704,6 +10370,12 @@
 	//         "JOB_VIEW_ALL",
 	//         "JOB_VIEW_DESCRIPTION"
 	//       ],
+	//       "enumDescriptions": [
+	//         "The job view to return isn't specified, or is unknown. Responses will contain at least the `JOB_VIEW_SUMMARY` information, and may contain additional information.",
+	//         "Request summary information only: Project ID, Job ID, job name, job type, job status, start/end time, and Cloud SDK version details.",
+	//         "Request all information available for this job.",
+	//         "Request summary info and limited job description data for steps, labels and environment."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -10791,7 +10463,7 @@
 
 func (c *ProjectsJobsSnapshotCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10907,17 +10579,12 @@
 	header_    http.Header
 }
 
-// Update: Updates the state of an existing Cloud Dataflow job.
-//
-// To update the state of an existing job, we recommend
-// using
-// `projects.locations.jobs.update` with a [regional
-// endpoint]
-// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-// dpoints). Using
-// `projects.jobs.update` is not recommended, as you can only update the
-// state
-// of jobs that are running in `us-central1`.
+// Update: Updates the state of an existing Cloud Dataflow job. To
+// update the state of an existing job, we recommend using
+// `projects.locations.jobs.update` with a [regional endpoint]
+// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints).
+// Using `projects.jobs.update` is not recommended, as you can only
+// update the state of jobs that are running in `us-central1`.
 func (r *ProjectsJobsService) Update(projectId string, jobId string, job *Job) *ProjectsJobsUpdateCall {
 	c := &ProjectsJobsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -10928,9 +10595,8 @@
 
 // Location sets the optional parameter "location": The [regional
 // endpoint]
-// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-// dpoints) that
-// contains this job.
+// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints)
+// that contains this job.
 func (c *ProjectsJobsUpdateCall) Location(location string) *ProjectsJobsUpdateCall {
 	c.urlParams_.Set("location", location)
 	return c
@@ -10963,7 +10629,7 @@
 
 func (c *ProjectsJobsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11028,7 +10694,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates the state of an existing Cloud Dataflow job.\n\nTo update the state of an existing job, we recommend using\n`projects.locations.jobs.update` with a [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using\n`projects.jobs.update` is not recommended, as you can only update the state\nof jobs that are running in `us-central1`.",
+	//   "description": "Updates the state of an existing Cloud Dataflow job. To update the state of an existing job, we recommend using `projects.locations.jobs.update` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.update` is not recommended, as you can only update the state of jobs that are running in `us-central1`.",
 	//   "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}",
 	//   "httpMethod": "PUT",
 	//   "id": "dataflow.projects.jobs.update",
@@ -11044,7 +10710,7 @@
 	//       "type": "string"
 	//     },
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains this job.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains this job.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -11121,7 +10787,7 @@
 
 func (c *ProjectsJobsDebugGetConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11273,7 +10939,7 @@
 
 func (c *ProjectsJobsDebugSendCaptureCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11389,17 +11055,12 @@
 	header_      http.Header
 }
 
-// List: Request the job status.
-//
-// To request the status of a job, we recommend
-// using
-// `projects.locations.jobs.messages.list` with a [regional
-// endpoint]
-// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-// dpoints). Using
-// `projects.jobs.messages.list` is not recommended, as you can only
-// request
-// the status of jobs that are running in `us-central1`.
+// List: Request the job status. To request the status of a job, we
+// recommend using `projects.locations.jobs.messages.list` with a
+// [regional endpoint]
+// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints).
+// Using `projects.jobs.messages.list` is not recommended, as you can
+// only request the status of jobs that are running in `us-central1`.
 func (r *ProjectsJobsMessagesService) List(projectId string, jobId string) *ProjectsJobsMessagesListCall {
 	c := &ProjectsJobsMessagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -11408,8 +11069,8 @@
 }
 
 // EndTime sets the optional parameter "endTime": Return only messages
-// with timestamps < end_time. The default is now
-// (i.e. return up to the latest messages available).
+// with timestamps < end_time. The default is now (i.e. return up to the
+// latest messages available).
 func (c *ProjectsJobsMessagesListCall) EndTime(endTime string) *ProjectsJobsMessagesListCall {
 	c.urlParams_.Set("endTime", endTime)
 	return c
@@ -11417,9 +11078,8 @@
 
 // Location sets the optional parameter "location": The [regional
 // endpoint]
-// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-// dpoints) that
-// contains the job specified by job_id.
+// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints)
+// that contains the job specified by job_id.
 func (c *ProjectsJobsMessagesListCall) Location(location string) *ProjectsJobsMessagesListCall {
 	c.urlParams_.Set("location", location)
 	return c
@@ -11429,39 +11089,57 @@
 // Filter to only get messages with importance >= level
 //
 // Possible values:
-//   "JOB_MESSAGE_IMPORTANCE_UNKNOWN"
-//   "JOB_MESSAGE_DEBUG"
-//   "JOB_MESSAGE_DETAILED"
-//   "JOB_MESSAGE_BASIC"
-//   "JOB_MESSAGE_WARNING"
-//   "JOB_MESSAGE_ERROR"
+//   "JOB_MESSAGE_IMPORTANCE_UNKNOWN" - The message importance isn't
+// specified, or is unknown.
+//   "JOB_MESSAGE_DEBUG" - The message is at the 'debug' level:
+// typically only useful for software engineers working on the code the
+// job is running. Typically, Dataflow pipeline runners do not display
+// log messages at this level by default.
+//   "JOB_MESSAGE_DETAILED" - The message is at the 'detailed' level:
+// somewhat verbose, but potentially useful to users. Typically,
+// Dataflow pipeline runners do not display log messages at this level
+// by default. These messages are displayed by default in the Dataflow
+// monitoring UI.
+//   "JOB_MESSAGE_BASIC" - The message is at the 'basic' level: useful
+// for keeping track of the execution of a Dataflow pipeline. Typically,
+// Dataflow pipeline runners display log messages at this level by
+// default, and these messages are displayed by default in the Dataflow
+// monitoring UI.
+//   "JOB_MESSAGE_WARNING" - The message is at the 'warning' level:
+// indicating a condition pertaining to a job which may require human
+// intervention. Typically, Dataflow pipeline runners display log
+// messages at this level by default, and these messages are displayed
+// by default in the Dataflow monitoring UI.
+//   "JOB_MESSAGE_ERROR" - The message is at the 'error' level:
+// indicating a condition preventing a job from succeeding. Typically,
+// Dataflow pipeline runners display log messages at this level by
+// default, and these messages are displayed by default in the Dataflow
+// monitoring UI.
 func (c *ProjectsJobsMessagesListCall) MinimumImportance(minimumImportance string) *ProjectsJobsMessagesListCall {
 	c.urlParams_.Set("minimumImportance", minimumImportance)
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": If specified,
-// determines the maximum number of messages to
-// return.  If unspecified, the service may choose an
-// appropriate
-// default, or may return an arbitrarily large number of results.
+// determines the maximum number of messages to return. If unspecified,
+// the service may choose an appropriate default, or may return an
+// arbitrarily large number of results.
 func (c *ProjectsJobsMessagesListCall) PageSize(pageSize int64) *ProjectsJobsMessagesListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": If supplied, this
-// should be the value of next_page_token returned
-// by an earlier call. This will cause the next page of results to
-// be returned.
+// should be the value of next_page_token returned by an earlier call.
+// This will cause the next page of results to be returned.
 func (c *ProjectsJobsMessagesListCall) PageToken(pageToken string) *ProjectsJobsMessagesListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
 }
 
 // StartTime sets the optional parameter "startTime": If specified,
-// return only messages with timestamps >= start_time.
-// The default is the job creation time (i.e. beginning of messages).
+// return only messages with timestamps >= start_time. The default is
+// the job creation time (i.e. beginning of messages).
 func (c *ProjectsJobsMessagesListCall) StartTime(startTime string) *ProjectsJobsMessagesListCall {
 	c.urlParams_.Set("startTime", startTime)
 	return c
@@ -11504,7 +11182,7 @@
 
 func (c *ProjectsJobsMessagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11567,7 +11245,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Request the job status.\n\nTo request the status of a job, we recommend using\n`projects.locations.jobs.messages.list` with a [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using\n`projects.jobs.messages.list` is not recommended, as you can only request\nthe status of jobs that are running in `us-central1`.",
+	//   "description": "Request the job status. To request the status of a job, we recommend using `projects.locations.jobs.messages.list` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.messages.list` is not recommended, as you can only request the status of jobs that are running in `us-central1`.",
 	//   "flatPath": "v1b3/projects/{projectId}/jobs/{jobId}/messages",
 	//   "httpMethod": "GET",
 	//   "id": "dataflow.projects.jobs.messages.list",
@@ -11577,7 +11255,7 @@
 	//   ],
 	//   "parameters": {
 	//     "endTime": {
-	//       "description": "Return only messages with timestamps \u003c end_time. The default is now\n(i.e. return up to the latest messages available).",
+	//       "description": "Return only messages with timestamps \u003c end_time. The default is now (i.e. return up to the latest messages available).",
 	//       "format": "google-datetime",
 	//       "location": "query",
 	//       "type": "string"
@@ -11589,7 +11267,7 @@
 	//       "type": "string"
 	//     },
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains the job specified by job_id.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the job specified by job_id.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -11603,17 +11281,25 @@
 	//         "JOB_MESSAGE_WARNING",
 	//         "JOB_MESSAGE_ERROR"
 	//       ],
+	//       "enumDescriptions": [
+	//         "The message importance isn't specified, or is unknown.",
+	//         "The message is at the 'debug' level: typically only useful for software engineers working on the code the job is running. Typically, Dataflow pipeline runners do not display log messages at this level by default.",
+	//         "The message is at the 'detailed' level: somewhat verbose, but potentially useful to users. Typically, Dataflow pipeline runners do not display log messages at this level by default. These messages are displayed by default in the Dataflow monitoring UI.",
+	//         "The message is at the 'basic' level: useful for keeping track of the execution of a Dataflow pipeline. Typically, Dataflow pipeline runners display log messages at this level by default, and these messages are displayed by default in the Dataflow monitoring UI.",
+	//         "The message is at the 'warning' level: indicating a condition pertaining to a job which may require human intervention. Typically, Dataflow pipeline runners display log messages at this level by default, and these messages are displayed by default in the Dataflow monitoring UI.",
+	//         "The message is at the 'error' level: indicating a condition preventing a job from succeeding. Typically, Dataflow pipeline runners display log messages at this level by default, and these messages are displayed by default in the Dataflow monitoring UI."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "If specified, determines the maximum number of messages to\nreturn.  If unspecified, the service may choose an appropriate\ndefault, or may return an arbitrarily large number of results.",
+	//       "description": "If specified, determines the maximum number of messages to return. If unspecified, the service may choose an appropriate default, or may return an arbitrarily large number of results.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "If supplied, this should be the value of next_page_token returned\nby an earlier call. This will cause the next page of results to\nbe returned.",
+	//       "description": "If supplied, this should be the value of next_page_token returned by an earlier call. This will cause the next page of results to be returned.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -11624,7 +11310,7 @@
 	//       "type": "string"
 	//     },
 	//     "startTime": {
-	//       "description": "If specified, return only messages with timestamps \u003e= start_time.\nThe default is the job creation time (i.e. beginning of messages).",
+	//       "description": "If specified, return only messages with timestamps \u003e= start_time. The default is the job creation time (i.e. beginning of messages).",
 	//       "format": "google-datetime",
 	//       "location": "query",
 	//       "type": "string"
@@ -11713,7 +11399,7 @@
 
 func (c *ProjectsJobsWorkItemsLeaseCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11866,7 +11552,7 @@
 
 func (c *ProjectsJobsWorkItemsReportStatusCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12018,7 +11704,7 @@
 
 func (c *ProjectsLocationsWorkerMessagesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12093,7 +11779,7 @@
 	//   ],
 	//   "parameters": {
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains the job.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the job.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -12170,7 +11856,7 @@
 
 func (c *ProjectsLocationsFlexTemplatesLaunchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12245,7 +11931,7 @@
 	//   ],
 	//   "parameters": {
 	//     "location": {
-	//       "description": "Required. The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to\nwhich to direct the request. E.g., us-central1, us-west1.",
+	//       "description": "Required. The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to which to direct the request. E.g., us-central1, us-west1.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -12286,17 +11972,11 @@
 	header_    http.Header
 }
 
-// Create: Creates a Cloud Dataflow job.
-//
-// To create a job, we recommend using `projects.locations.jobs.create`
-// with a
-// [regional
-// endpoint]
-// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-// dpoints). Using
-// `projects.jobs.create` is not recommended, as your job will always
-// start
-// in `us-central1`.
+// Create: Creates a Cloud Dataflow job. To create a job, we recommend
+// using `projects.locations.jobs.create` with a [regional endpoint]
+// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints).
+// Using `projects.jobs.create` is not recommended, as your job will
+// always start in `us-central1`.
 func (r *ProjectsLocationsJobsService) Create(projectId string, location string, job *Job) *ProjectsLocationsJobsCreateCall {
 	c := &ProjectsLocationsJobsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -12316,10 +11996,15 @@
 // requested in response.
 //
 // Possible values:
-//   "JOB_VIEW_UNKNOWN"
-//   "JOB_VIEW_SUMMARY"
-//   "JOB_VIEW_ALL"
-//   "JOB_VIEW_DESCRIPTION"
+//   "JOB_VIEW_UNKNOWN" - The job view to return isn't specified, or is
+// unknown. Responses will contain at least the `JOB_VIEW_SUMMARY`
+// information, and may contain additional information.
+//   "JOB_VIEW_SUMMARY" - Request summary information only: Project ID,
+// Job ID, job name, job type, job status, start/end time, and Cloud SDK
+// version details.
+//   "JOB_VIEW_ALL" - Request all information available for this job.
+//   "JOB_VIEW_DESCRIPTION" - Request summary info and limited job
+// description data for steps, labels and environment.
 func (c *ProjectsLocationsJobsCreateCall) View(view string) *ProjectsLocationsJobsCreateCall {
 	c.urlParams_.Set("view", view)
 	return c
@@ -12352,7 +12037,7 @@
 
 func (c *ProjectsLocationsJobsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12417,7 +12102,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a Cloud Dataflow job.\n\nTo create a job, we recommend using `projects.locations.jobs.create` with a\n[regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using\n`projects.jobs.create` is not recommended, as your job will always start\nin `us-central1`.",
+	//   "description": "Creates a Cloud Dataflow job. To create a job, we recommend using `projects.locations.jobs.create` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.create` is not recommended, as your job will always start in `us-central1`.",
 	//   "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs",
 	//   "httpMethod": "POST",
 	//   "id": "dataflow.projects.locations.jobs.create",
@@ -12427,7 +12112,7 @@
 	//   ],
 	//   "parameters": {
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains this job.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains this job.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -12451,6 +12136,12 @@
 	//         "JOB_VIEW_ALL",
 	//         "JOB_VIEW_DESCRIPTION"
 	//       ],
+	//       "enumDescriptions": [
+	//         "The job view to return isn't specified, or is unknown. Responses will contain at least the `JOB_VIEW_SUMMARY` information, and may contain additional information.",
+	//         "Request summary information only: Project ID, Job ID, job name, job type, job status, start/end time, and Cloud SDK version details.",
+	//         "Request all information available for this job.",
+	//         "Request summary info and limited job description data for steps, labels and environment."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -12485,17 +12176,12 @@
 	header_      http.Header
 }
 
-// Get: Gets the state of the specified Cloud Dataflow job.
-//
-// To get the state of a job, we recommend using
-// `projects.locations.jobs.get`
-// with a [regional
-// endpoint]
-// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-// dpoints). Using
-// `projects.jobs.get` is not recommended, as you can only get the state
-// of
-// jobs that are running in `us-central1`.
+// Get: Gets the state of the specified Cloud Dataflow job. To get the
+// state of a job, we recommend using `projects.locations.jobs.get` with
+// a [regional endpoint]
+// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints).
+// Using `projects.jobs.get` is not recommended, as you can only get the
+// state of jobs that are running in `us-central1`.
 func (r *ProjectsLocationsJobsService) Get(projectId string, location string, jobId string) *ProjectsLocationsJobsGetCall {
 	c := &ProjectsLocationsJobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -12508,10 +12194,15 @@
 // requested in response.
 //
 // Possible values:
-//   "JOB_VIEW_UNKNOWN"
-//   "JOB_VIEW_SUMMARY"
-//   "JOB_VIEW_ALL"
-//   "JOB_VIEW_DESCRIPTION"
+//   "JOB_VIEW_UNKNOWN" - The job view to return isn't specified, or is
+// unknown. Responses will contain at least the `JOB_VIEW_SUMMARY`
+// information, and may contain additional information.
+//   "JOB_VIEW_SUMMARY" - Request summary information only: Project ID,
+// Job ID, job name, job type, job status, start/end time, and Cloud SDK
+// version details.
+//   "JOB_VIEW_ALL" - Request all information available for this job.
+//   "JOB_VIEW_DESCRIPTION" - Request summary info and limited job
+// description data for steps, labels and environment.
 func (c *ProjectsLocationsJobsGetCall) View(view string) *ProjectsLocationsJobsGetCall {
 	c.urlParams_.Set("view", view)
 	return c
@@ -12554,7 +12245,7 @@
 
 func (c *ProjectsLocationsJobsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12618,7 +12309,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the state of the specified Cloud Dataflow job.\n\nTo get the state of a job, we recommend using `projects.locations.jobs.get`\nwith a [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using\n`projects.jobs.get` is not recommended, as you can only get the state of\njobs that are running in `us-central1`.",
+	//   "description": "Gets the state of the specified Cloud Dataflow job. To get the state of a job, we recommend using `projects.locations.jobs.get` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.get` is not recommended, as you can only get the state of jobs that are running in `us-central1`.",
 	//   "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}",
 	//   "httpMethod": "GET",
 	//   "id": "dataflow.projects.locations.jobs.get",
@@ -12635,7 +12326,7 @@
 	//       "type": "string"
 	//     },
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains this job.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains this job.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -12654,6 +12345,12 @@
 	//         "JOB_VIEW_ALL",
 	//         "JOB_VIEW_DESCRIPTION"
 	//       ],
+	//       "enumDescriptions": [
+	//         "The job view to return isn't specified, or is unknown. Responses will contain at least the `JOB_VIEW_SUMMARY` information, and may contain additional information.",
+	//         "Request summary information only: Project ID, Job ID, job name, job type, job status, start/end time, and Cloud SDK version details.",
+	//         "Request all information available for this job.",
+	//         "Request summary info and limited job description data for steps, labels and environment."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -12672,6 +12369,174 @@
 
 }
 
+// method id "dataflow.projects.locations.jobs.getExecutionDetails":
+
+type ProjectsLocationsJobsGetExecutionDetailsCall struct {
+	s            *Service
+	projectId    string
+	location     string
+	jobId        string
+	urlParams_   gensupport.URLParams
+	ifNoneMatch_ string
+	ctx_         context.Context
+	header_      http.Header
+}
+
+// GetExecutionDetails: Request detailed information about the execution
+// status of the job. EXPERIMENTAL. This API is subject to change or
+// removal without notice.
+func (r *ProjectsLocationsJobsService) GetExecutionDetails(projectId string, location string, jobId string) *ProjectsLocationsJobsGetExecutionDetailsCall {
+	c := &ProjectsLocationsJobsGetExecutionDetailsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+	c.projectId = projectId
+	c.location = location
+	c.jobId = jobId
+	return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *ProjectsLocationsJobsGetExecutionDetailsCall) Fields(s ...googleapi.Field) *ProjectsLocationsJobsGetExecutionDetailsCall {
+	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *ProjectsLocationsJobsGetExecutionDetailsCall) IfNoneMatch(entityTag string) *ProjectsLocationsJobsGetExecutionDetailsCall {
+	c.ifNoneMatch_ = entityTag
+	return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *ProjectsLocationsJobsGetExecutionDetailsCall) Context(ctx context.Context) *ProjectsLocationsJobsGetExecutionDetailsCall {
+	c.ctx_ = ctx
+	return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ProjectsLocationsJobsGetExecutionDetailsCall) Header() http.Header {
+	if c.header_ == nil {
+		c.header_ = make(http.Header)
+	}
+	return c.header_
+}
+
+func (c *ProjectsLocationsJobsGetExecutionDetailsCall) doRequest(alt string) (*http.Response, error) {
+	reqHeaders := make(http.Header)
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
+	for k, v := range c.header_ {
+		reqHeaders[k] = v
+	}
+	reqHeaders.Set("User-Agent", c.s.userAgent())
+	if c.ifNoneMatch_ != "" {
+		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+	}
+	var body io.Reader = nil
+	c.urlParams_.Set("alt", alt)
+	c.urlParams_.Set("prettyPrint", "false")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/executionDetails")
+	urls += "?" + c.urlParams_.Encode()
+	req, err := http.NewRequest("GET", urls, body)
+	if err != nil {
+		return nil, err
+	}
+	req.Header = reqHeaders
+	googleapi.Expand(req.URL, map[string]string{
+		"projectId": c.projectId,
+		"location":  c.location,
+		"jobId":     c.jobId,
+	})
+	return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "dataflow.projects.locations.jobs.getExecutionDetails" call.
+// Exactly one of *JobExecutionDetails or error will be non-nil. Any
+// non-2xx status code is an error. Response headers are in either
+// *JobExecutionDetails.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *ProjectsLocationsJobsGetExecutionDetailsCall) Do(opts ...googleapi.CallOption) (*JobExecutionDetails, error) {
+	gensupport.SetOptions(c.urlParams_, opts...)
+	res, err := c.doRequest("json")
+	if res != nil && res.StatusCode == http.StatusNotModified {
+		if res.Body != nil {
+			res.Body.Close()
+		}
+		return nil, &googleapi.Error{
+			Code:   res.StatusCode,
+			Header: res.Header,
+		}
+	}
+	if err != nil {
+		return nil, err
+	}
+	defer googleapi.CloseBody(res)
+	if err := googleapi.CheckResponse(res); err != nil {
+		return nil, err
+	}
+	ret := &JobExecutionDetails{
+		ServerResponse: googleapi.ServerResponse{
+			Header:         res.Header,
+			HTTPStatusCode: res.StatusCode,
+		},
+	}
+	target := &ret
+	if err := gensupport.DecodeResponse(target, res); err != nil {
+		return nil, err
+	}
+	return ret, nil
+	// {
+	//   "description": "Request detailed information about the execution status of the job. EXPERIMENTAL. This API is subject to change or removal without notice.",
+	//   "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/executionDetails",
+	//   "httpMethod": "GET",
+	//   "id": "dataflow.projects.locations.jobs.getExecutionDetails",
+	//   "parameterOrder": [
+	//     "projectId",
+	//     "location",
+	//     "jobId"
+	//   ],
+	//   "parameters": {
+	//     "jobId": {
+	//       "description": "The job to get execution details for.",
+	//       "location": "path",
+	//       "required": true,
+	//       "type": "string"
+	//     },
+	//     "location": {
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the job specified by job_id.",
+	//       "location": "path",
+	//       "required": true,
+	//       "type": "string"
+	//     },
+	//     "projectId": {
+	//       "description": "A project id.",
+	//       "location": "path",
+	//       "required": true,
+	//       "type": "string"
+	//     }
+	//   },
+	//   "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/executionDetails",
+	//   "response": {
+	//     "$ref": "JobExecutionDetails"
+	//   },
+	//   "scopes": [
+	//     "https://www.googleapis.com/auth/cloud-platform",
+	//     "https://www.googleapis.com/auth/compute",
+	//     "https://www.googleapis.com/auth/compute.readonly",
+	//     "https://www.googleapis.com/auth/userinfo.email"
+	//   ]
+	// }
+
+}
+
 // method id "dataflow.projects.locations.jobs.getMetrics":
 
 type ProjectsLocationsJobsGetMetricsCall struct {
@@ -12685,17 +12550,12 @@
 	header_      http.Header
 }
 
-// GetMetrics: Request the job status.
-//
-// To request the status of a job, we recommend
-// using
-// `projects.locations.jobs.getMetrics` with a [regional
-// endpoint]
-// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-// dpoints). Using
-// `projects.jobs.getMetrics` is not recommended, as you can only
-// request the
-// status of jobs that are running in `us-central1`.
+// GetMetrics: Request the job status. To request the status of a job,
+// we recommend using `projects.locations.jobs.getMetrics` with a
+// [regional endpoint]
+// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints).
+// Using `projects.jobs.getMetrics` is not recommended, as you can only
+// request the status of jobs that are running in `us-central1`.
 func (r *ProjectsLocationsJobsService) GetMetrics(projectId string, location string, jobId string) *ProjectsLocationsJobsGetMetricsCall {
 	c := &ProjectsLocationsJobsGetMetricsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -12705,8 +12565,8 @@
 }
 
 // StartTime sets the optional parameter "startTime": Return only metric
-// data that has changed since this time.
-// Default is to return all information about all metrics for the job.
+// data that has changed since this time. Default is to return all
+// information about all metrics for the job.
 func (c *ProjectsLocationsJobsGetMetricsCall) StartTime(startTime string) *ProjectsLocationsJobsGetMetricsCall {
 	c.urlParams_.Set("startTime", startTime)
 	return c
@@ -12749,7 +12609,7 @@
 
 func (c *ProjectsLocationsJobsGetMetricsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12813,7 +12673,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Request the job status.\n\nTo request the status of a job, we recommend using\n`projects.locations.jobs.getMetrics` with a [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using\n`projects.jobs.getMetrics` is not recommended, as you can only request the\nstatus of jobs that are running in `us-central1`.",
+	//   "description": "Request the job status. To request the status of a job, we recommend using `projects.locations.jobs.getMetrics` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.getMetrics` is not recommended, as you can only request the status of jobs that are running in `us-central1`.",
 	//   "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/metrics",
 	//   "httpMethod": "GET",
 	//   "id": "dataflow.projects.locations.jobs.getMetrics",
@@ -12824,13 +12684,13 @@
 	//   ],
 	//   "parameters": {
 	//     "jobId": {
-	//       "description": "The job to get messages for.",
+	//       "description": "The job to get metrics for.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains the job specified by job_id.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the job specified by job_id.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -12842,7 +12702,7 @@
 	//       "type": "string"
 	//     },
 	//     "startTime": {
-	//       "description": "Return only metric data that has changed since this time.\nDefault is to return all information about all metrics for the job.",
+	//       "description": "Return only metric data that has changed since this time. Default is to return all information about all metrics for the job.",
 	//       "format": "google-datetime",
 	//       "location": "query",
 	//       "type": "string"
@@ -12874,19 +12734,14 @@
 	header_      http.Header
 }
 
-// List: List the jobs of a project.
-//
-// To list the jobs of a project in a region, we recommend
-// using
-// `projects.locations.jobs.list` with a [regional
-// endpoint]
-// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-// dpoints). To
-// list the all jobs across all regions, use `projects.jobs.aggregated`.
-// Using
-// `projects.jobs.list` is not recommended, as you can only get the list
-// of
-// jobs that are running in `us-central1`.
+// List: List the jobs of a project. To list the jobs of a project in a
+// region, we recommend using `projects.locations.jobs.list` with a
+// [regional endpoint]
+// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints).
+// To list the all jobs across all regions, use
+// `projects.jobs.aggregated`. Using `projects.jobs.list` is not
+// recommended, as you can only get the list of jobs that are running in
+// `us-central1`.
 func (r *ProjectsLocationsJobsService) List(projectId string, location string) *ProjectsLocationsJobsListCall {
 	c := &ProjectsLocationsJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -12898,28 +12753,33 @@
 // use.
 //
 // Possible values:
-//   "UNKNOWN"
-//   "ALL"
-//   "TERMINATED"
-//   "ACTIVE"
+//   "UNKNOWN" - The filter isn't specified, or is unknown. This returns
+// all jobs ordered on descending `JobUuid`.
+//   "ALL" - Returns all running jobs first ordered on creation
+// timestamp, then returns all terminated jobs ordered on the
+// termination timestamp.
+//   "TERMINATED" - Filters the jobs that have a terminated state,
+// ordered on the termination timestamp. Example terminated states:
+// `JOB_STATE_STOPPED`, `JOB_STATE_UPDATED`, `JOB_STATE_DRAINED`, etc.
+//   "ACTIVE" - Filters the jobs that are running ordered on the
+// creation timestamp.
 func (c *ProjectsLocationsJobsListCall) Filter(filter string) *ProjectsLocationsJobsListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": If there are many
-// jobs, limit response to at most this many.
-// The actual number of jobs returned will be the lesser of
-// max_responses
-// and an unspecified server-defined limit.
+// jobs, limit response to at most this many. The actual number of jobs
+// returned will be the lesser of max_responses and an unspecified
+// server-defined limit.
 func (c *ProjectsLocationsJobsListCall) PageSize(pageSize int64) *ProjectsLocationsJobsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Set this to the
-// 'next_page_token' field of a previous response
-// to request additional results in a long list.
+// 'next_page_token' field of a previous response to request additional
+// results in a long list.
 func (c *ProjectsLocationsJobsListCall) PageToken(pageToken string) *ProjectsLocationsJobsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -12929,10 +12789,15 @@
 // requested in response. Default is `JOB_VIEW_SUMMARY`.
 //
 // Possible values:
-//   "JOB_VIEW_UNKNOWN"
-//   "JOB_VIEW_SUMMARY"
-//   "JOB_VIEW_ALL"
-//   "JOB_VIEW_DESCRIPTION"
+//   "JOB_VIEW_UNKNOWN" - The job view to return isn't specified, or is
+// unknown. Responses will contain at least the `JOB_VIEW_SUMMARY`
+// information, and may contain additional information.
+//   "JOB_VIEW_SUMMARY" - Request summary information only: Project ID,
+// Job ID, job name, job type, job status, start/end time, and Cloud SDK
+// version details.
+//   "JOB_VIEW_ALL" - Request all information available for this job.
+//   "JOB_VIEW_DESCRIPTION" - Request summary info and limited job
+// description data for steps, labels and environment.
 func (c *ProjectsLocationsJobsListCall) View(view string) *ProjectsLocationsJobsListCall {
 	c.urlParams_.Set("view", view)
 	return c
@@ -12975,7 +12840,7 @@
 
 func (c *ProjectsLocationsJobsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13038,7 +12903,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "List the jobs of a project.\n\nTo list the jobs of a project in a region, we recommend using\n`projects.locations.jobs.list` with a [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). To\nlist the all jobs across all regions, use `projects.jobs.aggregated`. Using\n`projects.jobs.list` is not recommended, as you can only get the list of\njobs that are running in `us-central1`.",
+	//   "description": "List the jobs of a project. To list the jobs of a project in a region, we recommend using `projects.locations.jobs.list` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). To list the all jobs across all regions, use `projects.jobs.aggregated`. Using `projects.jobs.list` is not recommended, as you can only get the list of jobs that are running in `us-central1`.",
 	//   "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs",
 	//   "httpMethod": "GET",
 	//   "id": "dataflow.projects.locations.jobs.list",
@@ -13055,23 +12920,29 @@
 	//         "TERMINATED",
 	//         "ACTIVE"
 	//       ],
+	//       "enumDescriptions": [
+	//         "The filter isn't specified, or is unknown. This returns all jobs ordered on descending `JobUuid`.",
+	//         "Returns all running jobs first ordered on creation timestamp, then returns all terminated jobs ordered on the termination timestamp.",
+	//         "Filters the jobs that have a terminated state, ordered on the termination timestamp. Example terminated states: `JOB_STATE_STOPPED`, `JOB_STATE_UPDATED`, `JOB_STATE_DRAINED`, etc.",
+	//         "Filters the jobs that are running ordered on the creation timestamp."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains this job.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains this job.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "If there are many jobs, limit response to at most this many.\nThe actual number of jobs returned will be the lesser of max_responses\nand an unspecified server-defined limit.",
+	//       "description": "If there are many jobs, limit response to at most this many. The actual number of jobs returned will be the lesser of max_responses and an unspecified server-defined limit.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Set this to the 'next_page_token' field of a previous response\nto request additional results in a long list.",
+	//       "description": "Set this to the 'next_page_token' field of a previous response to request additional results in a long list.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -13089,6 +12960,12 @@
 	//         "JOB_VIEW_ALL",
 	//         "JOB_VIEW_DESCRIPTION"
 	//       ],
+	//       "enumDescriptions": [
+	//         "The job view to return isn't specified, or is unknown. Responses will contain at least the `JOB_VIEW_SUMMARY` information, and may contain additional information.",
+	//         "Request summary information only: Project ID, Job ID, job name, job type, job status, start/end time, and Cloud SDK version details.",
+	//         "Request all information available for this job.",
+	//         "Request summary info and limited job description data for steps, labels and environment."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -13178,7 +13055,7 @@
 
 func (c *ProjectsLocationsJobsSnapshotCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13303,17 +13180,12 @@
 	header_    http.Header
 }
 
-// Update: Updates the state of an existing Cloud Dataflow job.
-//
-// To update the state of an existing job, we recommend
-// using
-// `projects.locations.jobs.update` with a [regional
-// endpoint]
-// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-// dpoints). Using
-// `projects.jobs.update` is not recommended, as you can only update the
-// state
-// of jobs that are running in `us-central1`.
+// Update: Updates the state of an existing Cloud Dataflow job. To
+// update the state of an existing job, we recommend using
+// `projects.locations.jobs.update` with a [regional endpoint]
+// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints).
+// Using `projects.jobs.update` is not recommended, as you can only
+// update the state of jobs that are running in `us-central1`.
 func (r *ProjectsLocationsJobsService) Update(projectId string, location string, jobId string, job *Job) *ProjectsLocationsJobsUpdateCall {
 	c := &ProjectsLocationsJobsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -13350,7 +13222,7 @@
 
 func (c *ProjectsLocationsJobsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13416,7 +13288,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates the state of an existing Cloud Dataflow job.\n\nTo update the state of an existing job, we recommend using\n`projects.locations.jobs.update` with a [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using\n`projects.jobs.update` is not recommended, as you can only update the state\nof jobs that are running in `us-central1`.",
+	//   "description": "Updates the state of an existing Cloud Dataflow job. To update the state of an existing job, we recommend using `projects.locations.jobs.update` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.update` is not recommended, as you can only update the state of jobs that are running in `us-central1`.",
 	//   "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}",
 	//   "httpMethod": "PUT",
 	//   "id": "dataflow.projects.locations.jobs.update",
@@ -13433,7 +13305,7 @@
 	//       "type": "string"
 	//     },
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains this job.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains this job.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -13513,7 +13385,7 @@
 
 func (c *ProjectsLocationsJobsDebugGetConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13596,7 +13468,7 @@
 	//       "type": "string"
 	//     },
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains the job specified by job_id.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the job specified by job_id.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -13675,7 +13547,7 @@
 
 func (c *ProjectsLocationsJobsDebugSendCaptureCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13758,7 +13630,7 @@
 	//       "type": "string"
 	//     },
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains the job specified by job_id.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the job specified by job_id.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -13800,17 +13672,12 @@
 	header_      http.Header
 }
 
-// List: Request the job status.
-//
-// To request the status of a job, we recommend
-// using
-// `projects.locations.jobs.messages.list` with a [regional
-// endpoint]
-// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-// dpoints). Using
-// `projects.jobs.messages.list` is not recommended, as you can only
-// request
-// the status of jobs that are running in `us-central1`.
+// List: Request the job status. To request the status of a job, we
+// recommend using `projects.locations.jobs.messages.list` with a
+// [regional endpoint]
+// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints).
+// Using `projects.jobs.messages.list` is not recommended, as you can
+// only request the status of jobs that are running in `us-central1`.
 func (r *ProjectsLocationsJobsMessagesService) List(projectId string, location string, jobId string) *ProjectsLocationsJobsMessagesListCall {
 	c := &ProjectsLocationsJobsMessagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -13820,8 +13687,8 @@
 }
 
 // EndTime sets the optional parameter "endTime": Return only messages
-// with timestamps < end_time. The default is now
-// (i.e. return up to the latest messages available).
+// with timestamps < end_time. The default is now (i.e. return up to the
+// latest messages available).
 func (c *ProjectsLocationsJobsMessagesListCall) EndTime(endTime string) *ProjectsLocationsJobsMessagesListCall {
 	c.urlParams_.Set("endTime", endTime)
 	return c
@@ -13831,39 +13698,57 @@
 // Filter to only get messages with importance >= level
 //
 // Possible values:
-//   "JOB_MESSAGE_IMPORTANCE_UNKNOWN"
-//   "JOB_MESSAGE_DEBUG"
-//   "JOB_MESSAGE_DETAILED"
-//   "JOB_MESSAGE_BASIC"
-//   "JOB_MESSAGE_WARNING"
-//   "JOB_MESSAGE_ERROR"
+//   "JOB_MESSAGE_IMPORTANCE_UNKNOWN" - The message importance isn't
+// specified, or is unknown.
+//   "JOB_MESSAGE_DEBUG" - The message is at the 'debug' level:
+// typically only useful for software engineers working on the code the
+// job is running. Typically, Dataflow pipeline runners do not display
+// log messages at this level by default.
+//   "JOB_MESSAGE_DETAILED" - The message is at the 'detailed' level:
+// somewhat verbose, but potentially useful to users. Typically,
+// Dataflow pipeline runners do not display log messages at this level
+// by default. These messages are displayed by default in the Dataflow
+// monitoring UI.
+//   "JOB_MESSAGE_BASIC" - The message is at the 'basic' level: useful
+// for keeping track of the execution of a Dataflow pipeline. Typically,
+// Dataflow pipeline runners display log messages at this level by
+// default, and these messages are displayed by default in the Dataflow
+// monitoring UI.
+//   "JOB_MESSAGE_WARNING" - The message is at the 'warning' level:
+// indicating a condition pertaining to a job which may require human
+// intervention. Typically, Dataflow pipeline runners display log
+// messages at this level by default, and these messages are displayed
+// by default in the Dataflow monitoring UI.
+//   "JOB_MESSAGE_ERROR" - The message is at the 'error' level:
+// indicating a condition preventing a job from succeeding. Typically,
+// Dataflow pipeline runners display log messages at this level by
+// default, and these messages are displayed by default in the Dataflow
+// monitoring UI.
 func (c *ProjectsLocationsJobsMessagesListCall) MinimumImportance(minimumImportance string) *ProjectsLocationsJobsMessagesListCall {
 	c.urlParams_.Set("minimumImportance", minimumImportance)
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": If specified,
-// determines the maximum number of messages to
-// return.  If unspecified, the service may choose an
-// appropriate
-// default, or may return an arbitrarily large number of results.
+// determines the maximum number of messages to return. If unspecified,
+// the service may choose an appropriate default, or may return an
+// arbitrarily large number of results.
 func (c *ProjectsLocationsJobsMessagesListCall) PageSize(pageSize int64) *ProjectsLocationsJobsMessagesListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": If supplied, this
-// should be the value of next_page_token returned
-// by an earlier call. This will cause the next page of results to
-// be returned.
+// should be the value of next_page_token returned by an earlier call.
+// This will cause the next page of results to be returned.
 func (c *ProjectsLocationsJobsMessagesListCall) PageToken(pageToken string) *ProjectsLocationsJobsMessagesListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
 }
 
 // StartTime sets the optional parameter "startTime": If specified,
-// return only messages with timestamps >= start_time.
-// The default is the job creation time (i.e. beginning of messages).
+// return only messages with timestamps >= start_time. The default is
+// the job creation time (i.e. beginning of messages).
 func (c *ProjectsLocationsJobsMessagesListCall) StartTime(startTime string) *ProjectsLocationsJobsMessagesListCall {
 	c.urlParams_.Set("startTime", startTime)
 	return c
@@ -13906,7 +13791,7 @@
 
 func (c *ProjectsLocationsJobsMessagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13970,7 +13855,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Request the job status.\n\nTo request the status of a job, we recommend using\n`projects.locations.jobs.messages.list` with a [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using\n`projects.jobs.messages.list` is not recommended, as you can only request\nthe status of jobs that are running in `us-central1`.",
+	//   "description": "Request the job status. To request the status of a job, we recommend using `projects.locations.jobs.messages.list` with a [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints). Using `projects.jobs.messages.list` is not recommended, as you can only request the status of jobs that are running in `us-central1`.",
 	//   "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/messages",
 	//   "httpMethod": "GET",
 	//   "id": "dataflow.projects.locations.jobs.messages.list",
@@ -13981,7 +13866,7 @@
 	//   ],
 	//   "parameters": {
 	//     "endTime": {
-	//       "description": "Return only messages with timestamps \u003c end_time. The default is now\n(i.e. return up to the latest messages available).",
+	//       "description": "Return only messages with timestamps \u003c end_time. The default is now (i.e. return up to the latest messages available).",
 	//       "format": "google-datetime",
 	//       "location": "query",
 	//       "type": "string"
@@ -13993,7 +13878,7 @@
 	//       "type": "string"
 	//     },
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains the job specified by job_id.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the job specified by job_id.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -14008,17 +13893,25 @@
 	//         "JOB_MESSAGE_WARNING",
 	//         "JOB_MESSAGE_ERROR"
 	//       ],
+	//       "enumDescriptions": [
+	//         "The message importance isn't specified, or is unknown.",
+	//         "The message is at the 'debug' level: typically only useful for software engineers working on the code the job is running. Typically, Dataflow pipeline runners do not display log messages at this level by default.",
+	//         "The message is at the 'detailed' level: somewhat verbose, but potentially useful to users. Typically, Dataflow pipeline runners do not display log messages at this level by default. These messages are displayed by default in the Dataflow monitoring UI.",
+	//         "The message is at the 'basic' level: useful for keeping track of the execution of a Dataflow pipeline. Typically, Dataflow pipeline runners display log messages at this level by default, and these messages are displayed by default in the Dataflow monitoring UI.",
+	//         "The message is at the 'warning' level: indicating a condition pertaining to a job which may require human intervention. Typically, Dataflow pipeline runners display log messages at this level by default, and these messages are displayed by default in the Dataflow monitoring UI.",
+	//         "The message is at the 'error' level: indicating a condition preventing a job from succeeding. Typically, Dataflow pipeline runners display log messages at this level by default, and these messages are displayed by default in the Dataflow monitoring UI."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "If specified, determines the maximum number of messages to\nreturn.  If unspecified, the service may choose an appropriate\ndefault, or may return an arbitrarily large number of results.",
+	//       "description": "If specified, determines the maximum number of messages to return. If unspecified, the service may choose an appropriate default, or may return an arbitrarily large number of results.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "If supplied, this should be the value of next_page_token returned\nby an earlier call. This will cause the next page of results to\nbe returned.",
+	//       "description": "If supplied, this should be the value of next_page_token returned by an earlier call. This will cause the next page of results to be returned.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -14029,7 +13922,7 @@
 	//       "type": "string"
 	//     },
 	//     "startTime": {
-	//       "description": "If specified, return only messages with timestamps \u003e= start_time.\nThe default is the job creation time (i.e. beginning of messages).",
+	//       "description": "If specified, return only messages with timestamps \u003e= start_time. The default is the job creation time (i.e. beginning of messages).",
 	//       "format": "google-datetime",
 	//       "location": "query",
 	//       "type": "string"
@@ -14129,7 +14022,7 @@
 
 func (c *ProjectsLocationsJobsSnapshotsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14236,6 +14129,259 @@
 
 }
 
+// method id "dataflow.projects.locations.jobs.stages.getExecutionDetails":
+
+type ProjectsLocationsJobsStagesGetExecutionDetailsCall struct {
+	s            *Service
+	projectId    string
+	location     string
+	jobId        string
+	stageId      string
+	urlParams_   gensupport.URLParams
+	ifNoneMatch_ string
+	ctx_         context.Context
+	header_      http.Header
+}
+
+// GetExecutionDetails: Request detailed information about the execution
+// status of a stage of the job. EXPERIMENTAL. This API is subject to
+// change or removal without notice.
+func (r *ProjectsLocationsJobsStagesService) GetExecutionDetails(projectId string, location string, jobId string, stageId string) *ProjectsLocationsJobsStagesGetExecutionDetailsCall {
+	c := &ProjectsLocationsJobsStagesGetExecutionDetailsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+	c.projectId = projectId
+	c.location = location
+	c.jobId = jobId
+	c.stageId = stageId
+	return c
+}
+
+// EndTime sets the optional parameter "endTime": Upper time bound of
+// work items to include, by start time.
+func (c *ProjectsLocationsJobsStagesGetExecutionDetailsCall) EndTime(endTime string) *ProjectsLocationsJobsStagesGetExecutionDetailsCall {
+	c.urlParams_.Set("endTime", endTime)
+	return c
+}
+
+// PageSize sets the optional parameter "pageSize": If specified,
+// determines the maximum number of work items to return. If
+// unspecified, the service may choose an appropriate default, or may
+// return an arbitrarily large number of results.
+func (c *ProjectsLocationsJobsStagesGetExecutionDetailsCall) PageSize(pageSize int64) *ProjectsLocationsJobsStagesGetExecutionDetailsCall {
+	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
+	return c
+}
+
+// PageToken sets the optional parameter "pageToken": If supplied, this
+// should be the value of next_page_token returned by an earlier call.
+// This will cause the next page of results to be returned.
+func (c *ProjectsLocationsJobsStagesGetExecutionDetailsCall) PageToken(pageToken string) *ProjectsLocationsJobsStagesGetExecutionDetailsCall {
+	c.urlParams_.Set("pageToken", pageToken)
+	return c
+}
+
+// StartTime sets the optional parameter "startTime": Lower time bound
+// of work items to include, by start time.
+func (c *ProjectsLocationsJobsStagesGetExecutionDetailsCall) StartTime(startTime string) *ProjectsLocationsJobsStagesGetExecutionDetailsCall {
+	c.urlParams_.Set("startTime", startTime)
+	return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *ProjectsLocationsJobsStagesGetExecutionDetailsCall) Fields(s ...googleapi.Field) *ProjectsLocationsJobsStagesGetExecutionDetailsCall {
+	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	return c
+}
+
+// IfNoneMatch sets the optional parameter which makes the operation
+// fail if the object's ETag matches the given value. This is useful for
+// getting updates only after the object has changed since the last
+// request. Use googleapi.IsNotModified to check whether the response
+// error from Do is the result of In-None-Match.
+func (c *ProjectsLocationsJobsStagesGetExecutionDetailsCall) IfNoneMatch(entityTag string) *ProjectsLocationsJobsStagesGetExecutionDetailsCall {
+	c.ifNoneMatch_ = entityTag
+	return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *ProjectsLocationsJobsStagesGetExecutionDetailsCall) Context(ctx context.Context) *ProjectsLocationsJobsStagesGetExecutionDetailsCall {
+	c.ctx_ = ctx
+	return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ProjectsLocationsJobsStagesGetExecutionDetailsCall) Header() http.Header {
+	if c.header_ == nil {
+		c.header_ = make(http.Header)
+	}
+	return c.header_
+}
+
+func (c *ProjectsLocationsJobsStagesGetExecutionDetailsCall) doRequest(alt string) (*http.Response, error) {
+	reqHeaders := make(http.Header)
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
+	for k, v := range c.header_ {
+		reqHeaders[k] = v
+	}
+	reqHeaders.Set("User-Agent", c.s.userAgent())
+	if c.ifNoneMatch_ != "" {
+		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
+	}
+	var body io.Reader = nil
+	c.urlParams_.Set("alt", alt)
+	c.urlParams_.Set("prettyPrint", "false")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/stages/{stageId}/executionDetails")
+	urls += "?" + c.urlParams_.Encode()
+	req, err := http.NewRequest("GET", urls, body)
+	if err != nil {
+		return nil, err
+	}
+	req.Header = reqHeaders
+	googleapi.Expand(req.URL, map[string]string{
+		"projectId": c.projectId,
+		"location":  c.location,
+		"jobId":     c.jobId,
+		"stageId":   c.stageId,
+	})
+	return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "dataflow.projects.locations.jobs.stages.getExecutionDetails" call.
+// Exactly one of *StageExecutionDetails or error will be non-nil. Any
+// non-2xx status code is an error. Response headers are in either
+// *StageExecutionDetails.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *ProjectsLocationsJobsStagesGetExecutionDetailsCall) Do(opts ...googleapi.CallOption) (*StageExecutionDetails, error) {
+	gensupport.SetOptions(c.urlParams_, opts...)
+	res, err := c.doRequest("json")
+	if res != nil && res.StatusCode == http.StatusNotModified {
+		if res.Body != nil {
+			res.Body.Close()
+		}
+		return nil, &googleapi.Error{
+			Code:   res.StatusCode,
+			Header: res.Header,
+		}
+	}
+	if err != nil {
+		return nil, err
+	}
+	defer googleapi.CloseBody(res)
+	if err := googleapi.CheckResponse(res); err != nil {
+		return nil, err
+	}
+	ret := &StageExecutionDetails{
+		ServerResponse: googleapi.ServerResponse{
+			Header:         res.Header,
+			HTTPStatusCode: res.StatusCode,
+		},
+	}
+	target := &ret
+	if err := gensupport.DecodeResponse(target, res); err != nil {
+		return nil, err
+	}
+	return ret, nil
+	// {
+	//   "description": "Request detailed information about the execution status of a stage of the job. EXPERIMENTAL. This API is subject to change or removal without notice.",
+	//   "flatPath": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/stages/{stageId}/executionDetails",
+	//   "httpMethod": "GET",
+	//   "id": "dataflow.projects.locations.jobs.stages.getExecutionDetails",
+	//   "parameterOrder": [
+	//     "projectId",
+	//     "location",
+	//     "jobId",
+	//     "stageId"
+	//   ],
+	//   "parameters": {
+	//     "endTime": {
+	//       "description": "Upper time bound of work items to include, by start time.",
+	//       "format": "google-datetime",
+	//       "location": "query",
+	//       "type": "string"
+	//     },
+	//     "jobId": {
+	//       "description": "The job to get execution details for.",
+	//       "location": "path",
+	//       "required": true,
+	//       "type": "string"
+	//     },
+	//     "location": {
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the job specified by job_id.",
+	//       "location": "path",
+	//       "required": true,
+	//       "type": "string"
+	//     },
+	//     "pageSize": {
+	//       "description": "If specified, determines the maximum number of work items to return. If unspecified, the service may choose an appropriate default, or may return an arbitrarily large number of results.",
+	//       "format": "int32",
+	//       "location": "query",
+	//       "type": "integer"
+	//     },
+	//     "pageToken": {
+	//       "description": "If supplied, this should be the value of next_page_token returned by an earlier call. This will cause the next page of results to be returned.",
+	//       "location": "query",
+	//       "type": "string"
+	//     },
+	//     "projectId": {
+	//       "description": "A project id.",
+	//       "location": "path",
+	//       "required": true,
+	//       "type": "string"
+	//     },
+	//     "stageId": {
+	//       "description": "The stage for which to fetch information.",
+	//       "location": "path",
+	//       "required": true,
+	//       "type": "string"
+	//     },
+	//     "startTime": {
+	//       "description": "Lower time bound of work items to include, by start time.",
+	//       "format": "google-datetime",
+	//       "location": "query",
+	//       "type": "string"
+	//     }
+	//   },
+	//   "path": "v1b3/projects/{projectId}/locations/{location}/jobs/{jobId}/stages/{stageId}/executionDetails",
+	//   "response": {
+	//     "$ref": "StageExecutionDetails"
+	//   },
+	//   "scopes": [
+	//     "https://www.googleapis.com/auth/cloud-platform",
+	//     "https://www.googleapis.com/auth/compute",
+	//     "https://www.googleapis.com/auth/compute.readonly",
+	//     "https://www.googleapis.com/auth/userinfo.email"
+	//   ]
+	// }
+
+}
+
+// Pages invokes f for each page of results.
+// A non-nil error returned from f will halt the iteration.
+// The provided context supersedes any context provided to the Context method.
+func (c *ProjectsLocationsJobsStagesGetExecutionDetailsCall) Pages(ctx context.Context, f func(*StageExecutionDetails) error) error {
+	c.ctx_ = ctx
+	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
+	for {
+		x, err := c.Do()
+		if err != nil {
+			return err
+		}
+		if err := f(x); err != nil {
+			return err
+		}
+		if x.NextPageToken == "" {
+			return nil
+		}
+		c.PageToken(x.NextPageToken)
+	}
+}
+
 // method id "dataflow.projects.locations.jobs.workItems.lease":
 
 type ProjectsLocationsJobsWorkItemsLeaseCall struct {
@@ -14286,7 +14432,7 @@
 
 func (c *ProjectsLocationsJobsWorkItemsLeaseCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14369,7 +14515,7 @@
 	//       "type": "string"
 	//     },
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains the WorkItem's job.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the WorkItem's job.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -14449,7 +14595,7 @@
 
 func (c *ProjectsLocationsJobsWorkItemsReportStatusCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14532,7 +14678,7 @@
 	//       "type": "string"
 	//     },
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that\ncontains the WorkItem's job.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) that contains the WorkItem's job.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -14609,7 +14755,7 @@
 
 func (c *ProjectsLocationsSnapshotsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14772,7 +14918,7 @@
 
 func (c *ProjectsLocationsSnapshotsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14943,7 +15089,7 @@
 
 func (c *ProjectsLocationsSnapshotsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15060,11 +15206,8 @@
 }
 
 // Validate: Validates a GoogleSQL query for Cloud Dataflow syntax. Will
-// always
-// confirm the given query parses correctly, and if able to look
-// up
-// schema information from DataCatalog, will validate that the
-// query
+// always confirm the given query parses correctly, and if able to look
+// up schema information from DataCatalog, will validate that the query
 // analyzes properly as well.
 func (r *ProjectsLocationsSqlService) Validate(projectId string, location string) *ProjectsLocationsSqlValidateCall {
 	c := &ProjectsLocationsSqlValidateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -15116,7 +15259,7 @@
 
 func (c *ProjectsLocationsSqlValidateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15179,7 +15322,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Validates a GoogleSQL query for Cloud Dataflow syntax. Will always\nconfirm the given query parses correctly, and if able to look up\nschema information from DataCatalog, will validate that the query\nanalyzes properly as well.",
+	//   "description": "Validates a GoogleSQL query for Cloud Dataflow syntax. Will always confirm the given query parses correctly, and if able to look up schema information from DataCatalog, will validate that the query analyzes properly as well.",
 	//   "flatPath": "v1b3/projects/{projectId}/locations/{location}/sql:validate",
 	//   "httpMethod": "GET",
 	//   "id": "dataflow.projects.locations.sql.validate",
@@ -15189,7 +15332,7 @@
 	//   ],
 	//   "parameters": {
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to\nwhich to direct the request.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to which to direct the request.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -15266,7 +15409,7 @@
 
 func (c *ProjectsLocationsTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15341,7 +15484,7 @@
 	//   ],
 	//   "parameters": {
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to\nwhich to direct the request.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to which to direct the request.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -15391,9 +15534,8 @@
 }
 
 // GcsPath sets the optional parameter "gcsPath": Required. A Cloud
-// Storage path to the template from which to
-// create the job.
-// Must be valid Cloud Storage URL, beginning with 'gs://'.
+// Storage path to the template from which to create the job. Must be
+// valid Cloud Storage URL, beginning with 'gs://'.
 func (c *ProjectsLocationsTemplatesGetCall) GcsPath(gcsPath string) *ProjectsLocationsTemplatesGetCall {
 	c.urlParams_.Set("gcsPath", gcsPath)
 	return c
@@ -15403,7 +15545,8 @@
 // Defaults to METADATA_ONLY.
 //
 // Possible values:
-//   "METADATA_ONLY"
+//   "METADATA_ONLY" - Template view that retrieves only the metadata
+// associated with the template.
 func (c *ProjectsLocationsTemplatesGetCall) View(view string) *ProjectsLocationsTemplatesGetCall {
 	c.urlParams_.Set("view", view)
 	return c
@@ -15446,7 +15589,7 @@
 
 func (c *ProjectsLocationsTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15519,12 +15662,12 @@
 	//   ],
 	//   "parameters": {
 	//     "gcsPath": {
-	//       "description": "Required. A Cloud Storage path to the template from which to\ncreate the job.\nMust be valid Cloud Storage URL, beginning with 'gs://'.",
+	//       "description": "Required. A Cloud Storage path to the template from which to create the job. Must be valid Cloud Storage URL, beginning with 'gs://'.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to\nwhich to direct the request.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to which to direct the request.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -15540,6 +15683,9 @@
 	//       "enum": [
 	//         "METADATA_ONLY"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Template view that retrieves only the metadata associated with the template."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -15580,8 +15726,7 @@
 }
 
 // DynamicTemplateGcsPath sets the optional parameter
-// "dynamicTemplate.gcsPath": Path to dynamic template spec file on
-// GCS.
+// "dynamicTemplate.gcsPath": Path to dynamic template spec file on GCS.
 // The file must be a Json serialized DynamicTemplateFieSpec object.
 func (c *ProjectsLocationsTemplatesLaunchCall) DynamicTemplateGcsPath(dynamicTemplateGcsPath string) *ProjectsLocationsTemplatesLaunchCall {
 	c.urlParams_.Set("dynamicTemplate.gcsPath", dynamicTemplateGcsPath)
@@ -15590,25 +15735,23 @@
 
 // DynamicTemplateStagingLocation sets the optional parameter
 // "dynamicTemplate.stagingLocation": Cloud Storage path for staging
-// dependencies.
-// Must be a valid Cloud Storage URL, beginning with `gs://`.
+// dependencies. Must be a valid Cloud Storage URL, beginning with
+// `gs://`.
 func (c *ProjectsLocationsTemplatesLaunchCall) DynamicTemplateStagingLocation(dynamicTemplateStagingLocation string) *ProjectsLocationsTemplatesLaunchCall {
 	c.urlParams_.Set("dynamicTemplate.stagingLocation", dynamicTemplateStagingLocation)
 	return c
 }
 
 // GcsPath sets the optional parameter "gcsPath": A Cloud Storage path
-// to the template from which to create
-// the job.
-// Must be valid Cloud Storage URL, beginning with 'gs://'.
+// to the template from which to create the job. Must be valid Cloud
+// Storage URL, beginning with 'gs://'.
 func (c *ProjectsLocationsTemplatesLaunchCall) GcsPath(gcsPath string) *ProjectsLocationsTemplatesLaunchCall {
 	c.urlParams_.Set("gcsPath", gcsPath)
 	return c
 }
 
 // ValidateOnly sets the optional parameter "validateOnly": If true, the
-// request is validated but not actually executed.
-// Defaults to false.
+// request is validated but not actually executed. Defaults to false.
 func (c *ProjectsLocationsTemplatesLaunchCall) ValidateOnly(validateOnly bool) *ProjectsLocationsTemplatesLaunchCall {
 	c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
 	return c
@@ -15641,7 +15784,7 @@
 
 func (c *ProjectsLocationsTemplatesLaunchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15716,22 +15859,22 @@
 	//   ],
 	//   "parameters": {
 	//     "dynamicTemplate.gcsPath": {
-	//       "description": "Path to dynamic template spec file on GCS.\nThe file must be a Json serialized DynamicTemplateFieSpec object.",
+	//       "description": "Path to dynamic template spec file on GCS. The file must be a Json serialized DynamicTemplateFieSpec object.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "dynamicTemplate.stagingLocation": {
-	//       "description": "Cloud Storage path for staging dependencies.\nMust be a valid Cloud Storage URL, beginning with `gs://`.",
+	//       "description": "Cloud Storage path for staging dependencies. Must be a valid Cloud Storage URL, beginning with `gs://`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "gcsPath": {
-	//       "description": "A Cloud Storage path to the template from which to create\nthe job.\nMust be valid Cloud Storage URL, beginning with 'gs://'.",
+	//       "description": "A Cloud Storage path to the template from which to create the job. Must be valid Cloud Storage URL, beginning with 'gs://'.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to\nwhich to direct the request.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to which to direct the request.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -15743,7 +15886,7 @@
 	//       "type": "string"
 	//     },
 	//     "validateOnly": {
-	//       "description": "If true, the request is validated but not actually executed.\nDefaults to false.",
+	//       "description": "If true, the request is validated but not actually executed. Defaults to false.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     }
@@ -15829,7 +15972,7 @@
 
 func (c *ProjectsSnapshotsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16002,7 +16145,7 @@
 
 func (c *ProjectsSnapshotsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16115,9 +16258,9 @@
 }
 
 // List: List TemplateVersions using project_id and an optional
-// display_name field.
-// List all the TemplateVersions in the Template if display set.
-// List all the TemplateVersions in the Project if display_name not set.
+// display_name field. List all the TemplateVersions in the Template if
+// display set. List all the TemplateVersions in the Project if
+// display_name not set.
 func (r *ProjectsTemplateVersionsService) List(parent string) *ProjectsTemplateVersionsListCall {
 	c := &ProjectsTemplateVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -16132,8 +16275,8 @@
 }
 
 // PageToken sets the optional parameter "pageToken": The page token,
-// received from a previous ListTemplateVersions call.
-// Provide this to retrieve the subsequent page.
+// received from a previous ListTemplateVersions call. Provide this to
+// retrieve the subsequent page.
 func (c *ProjectsTemplateVersionsListCall) PageToken(pageToken string) *ProjectsTemplateVersionsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -16176,7 +16319,7 @@
 
 func (c *ProjectsTemplateVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16238,7 +16381,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "List TemplateVersions using project_id and an optional display_name field.\nList all the TemplateVersions in the Template if display set.\nList all the TemplateVersions in the Project if display_name not set.",
+	//   "description": "List TemplateVersions using project_id and an optional display_name field. List all the TemplateVersions in the Template if display set. List all the TemplateVersions in the Project if display_name not set.",
 	//   "flatPath": "v1b3/projects/{projectsId}/templateVersions",
 	//   "httpMethod": "GET",
 	//   "id": "dataflow.projects.templateVersions.list",
@@ -16253,12 +16396,12 @@
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "The page token, received from a previous ListTemplateVersions call.\nProvide this to retrieve the subsequent page.",
+	//       "description": "The page token, received from a previous ListTemplateVersions call. Provide this to retrieve the subsequent page.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "parent includes project_id, and display_name is optional.\n\nList by project_id(pid1) and display_name(tid1).\n  Format: projects/{pid1}/catalogTemplates/{tid1}\n\nList by project_id(pid1).\n  Format: projects/{pid1}",
+	//       "description": "parent includes project_id, and display_name is optional. List by project_id(pid1) and display_name(tid1). Format: projects/{pid1}/catalogTemplates/{tid1} List by project_id(pid1). Format: projects/{pid1}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -16344,7 +16487,7 @@
 
 func (c *ProjectsTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16459,9 +16602,8 @@
 }
 
 // GcsPath sets the optional parameter "gcsPath": Required. A Cloud
-// Storage path to the template from which to
-// create the job.
-// Must be valid Cloud Storage URL, beginning with 'gs://'.
+// Storage path to the template from which to create the job. Must be
+// valid Cloud Storage URL, beginning with 'gs://'.
 func (c *ProjectsTemplatesGetCall) GcsPath(gcsPath string) *ProjectsTemplatesGetCall {
 	c.urlParams_.Set("gcsPath", gcsPath)
 	return c
@@ -16469,9 +16611,8 @@
 
 // Location sets the optional parameter "location": The [regional
 // endpoint]
-// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-// dpoints) to
-// which to direct the request.
+// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints)
+// to which to direct the request.
 func (c *ProjectsTemplatesGetCall) Location(location string) *ProjectsTemplatesGetCall {
 	c.urlParams_.Set("location", location)
 	return c
@@ -16481,7 +16622,8 @@
 // Defaults to METADATA_ONLY.
 //
 // Possible values:
-//   "METADATA_ONLY"
+//   "METADATA_ONLY" - Template view that retrieves only the metadata
+// associated with the template.
 func (c *ProjectsTemplatesGetCall) View(view string) *ProjectsTemplatesGetCall {
 	c.urlParams_.Set("view", view)
 	return c
@@ -16524,7 +16666,7 @@
 
 func (c *ProjectsTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16595,12 +16737,12 @@
 	//   ],
 	//   "parameters": {
 	//     "gcsPath": {
-	//       "description": "Required. A Cloud Storage path to the template from which to\ncreate the job.\nMust be valid Cloud Storage URL, beginning with 'gs://'.",
+	//       "description": "Required. A Cloud Storage path to the template from which to create the job. Must be valid Cloud Storage URL, beginning with 'gs://'.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to\nwhich to direct the request.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to which to direct the request.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -16615,6 +16757,9 @@
 	//       "enum": [
 	//         "METADATA_ONLY"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Template view that retrieves only the metadata associated with the template."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -16653,8 +16798,7 @@
 }
 
 // DynamicTemplateGcsPath sets the optional parameter
-// "dynamicTemplate.gcsPath": Path to dynamic template spec file on
-// GCS.
+// "dynamicTemplate.gcsPath": Path to dynamic template spec file on GCS.
 // The file must be a Json serialized DynamicTemplateFieSpec object.
 func (c *ProjectsTemplatesLaunchCall) DynamicTemplateGcsPath(dynamicTemplateGcsPath string) *ProjectsTemplatesLaunchCall {
 	c.urlParams_.Set("dynamicTemplate.gcsPath", dynamicTemplateGcsPath)
@@ -16663,17 +16807,16 @@
 
 // DynamicTemplateStagingLocation sets the optional parameter
 // "dynamicTemplate.stagingLocation": Cloud Storage path for staging
-// dependencies.
-// Must be a valid Cloud Storage URL, beginning with `gs://`.
+// dependencies. Must be a valid Cloud Storage URL, beginning with
+// `gs://`.
 func (c *ProjectsTemplatesLaunchCall) DynamicTemplateStagingLocation(dynamicTemplateStagingLocation string) *ProjectsTemplatesLaunchCall {
 	c.urlParams_.Set("dynamicTemplate.stagingLocation", dynamicTemplateStagingLocation)
 	return c
 }
 
 // GcsPath sets the optional parameter "gcsPath": A Cloud Storage path
-// to the template from which to create
-// the job.
-// Must be valid Cloud Storage URL, beginning with 'gs://'.
+// to the template from which to create the job. Must be valid Cloud
+// Storage URL, beginning with 'gs://'.
 func (c *ProjectsTemplatesLaunchCall) GcsPath(gcsPath string) *ProjectsTemplatesLaunchCall {
 	c.urlParams_.Set("gcsPath", gcsPath)
 	return c
@@ -16681,17 +16824,15 @@
 
 // Location sets the optional parameter "location": The [regional
 // endpoint]
-// (https://cloud.google.com/dataflow/docs/concepts/regional-en
-// dpoints) to
-// which to direct the request.
+// (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints)
+// to which to direct the request.
 func (c *ProjectsTemplatesLaunchCall) Location(location string) *ProjectsTemplatesLaunchCall {
 	c.urlParams_.Set("location", location)
 	return c
 }
 
 // ValidateOnly sets the optional parameter "validateOnly": If true, the
-// request is validated but not actually executed.
-// Defaults to false.
+// request is validated but not actually executed. Defaults to false.
 func (c *ProjectsTemplatesLaunchCall) ValidateOnly(validateOnly bool) *ProjectsTemplatesLaunchCall {
 	c.urlParams_.Set("validateOnly", fmt.Sprint(validateOnly))
 	return c
@@ -16724,7 +16865,7 @@
 
 func (c *ProjectsTemplatesLaunchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16797,22 +16938,22 @@
 	//   ],
 	//   "parameters": {
 	//     "dynamicTemplate.gcsPath": {
-	//       "description": "Path to dynamic template spec file on GCS.\nThe file must be a Json serialized DynamicTemplateFieSpec object.",
+	//       "description": "Path to dynamic template spec file on GCS. The file must be a Json serialized DynamicTemplateFieSpec object.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "dynamicTemplate.stagingLocation": {
-	//       "description": "Cloud Storage path for staging dependencies.\nMust be a valid Cloud Storage URL, beginning with `gs://`.",
+	//       "description": "Cloud Storage path for staging dependencies. Must be a valid Cloud Storage URL, beginning with `gs://`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "gcsPath": {
-	//       "description": "A Cloud Storage path to the template from which to create\nthe job.\nMust be valid Cloud Storage URL, beginning with 'gs://'.",
+	//       "description": "A Cloud Storage path to the template from which to create the job. Must be valid Cloud Storage URL, beginning with 'gs://'.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "location": {
-	//       "description": "The [regional endpoint]\n(https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to\nwhich to direct the request.",
+	//       "description": "The [regional endpoint] (https://cloud.google.com/dataflow/docs/concepts/regional-endpoints) to which to direct the request.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -16823,7 +16964,7 @@
 	//       "type": "string"
 	//     },
 	//     "validateOnly": {
-	//       "description": "If true, the request is validated but not actually executed.\nDefaults to false.",
+	//       "description": "If true, the request is validated but not actually executed. Defaults to false.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     }
diff --git a/datafusion/v1/datafusion-gen.go b/datafusion/v1/datafusion-gen.go
index c055169..ab1590f 100644
--- a/datafusion/v1/datafusion-gen.go
+++ b/datafusion/v1/datafusion-gen.go
@@ -1329,7 +1329,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1503,7 +1503,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1688,7 +1688,7 @@
 
 func (c *ProjectsLocationsInstancesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1831,7 +1831,7 @@
 
 func (c *ProjectsLocationsInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1972,7 +1972,7 @@
 
 func (c *ProjectsLocationsInstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2133,7 +2133,7 @@
 
 func (c *ProjectsLocationsInstancesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2312,7 +2312,7 @@
 
 func (c *ProjectsLocationsInstancesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2501,7 +2501,7 @@
 
 func (c *ProjectsLocationsInstancesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2648,7 +2648,7 @@
 
 func (c *ProjectsLocationsInstancesRestartCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2790,7 +2790,7 @@
 
 func (c *ProjectsLocationsInstancesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2935,7 +2935,7 @@
 
 func (c *ProjectsLocationsInstancesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3084,7 +3084,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3225,7 +3225,7 @@
 
 func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3368,7 +3368,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3542,7 +3542,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3749,7 +3749,7 @@
 
 func (c *ProjectsLocationsVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/datafusion/v1beta1/datafusion-gen.go b/datafusion/v1beta1/datafusion-gen.go
index 0855a8c..4969cf5 100644
--- a/datafusion/v1beta1/datafusion-gen.go
+++ b/datafusion/v1beta1/datafusion-gen.go
@@ -1330,7 +1330,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1504,7 +1504,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1689,7 +1689,7 @@
 
 func (c *ProjectsLocationsInstancesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1832,7 +1832,7 @@
 
 func (c *ProjectsLocationsInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1973,7 +1973,7 @@
 
 func (c *ProjectsLocationsInstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2134,7 +2134,7 @@
 
 func (c *ProjectsLocationsInstancesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2313,7 +2313,7 @@
 
 func (c *ProjectsLocationsInstancesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2502,7 +2502,7 @@
 
 func (c *ProjectsLocationsInstancesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2649,7 +2649,7 @@
 
 func (c *ProjectsLocationsInstancesRestartCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2791,7 +2791,7 @@
 
 func (c *ProjectsLocationsInstancesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2936,7 +2936,7 @@
 
 func (c *ProjectsLocationsInstancesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3077,7 +3077,7 @@
 
 func (c *ProjectsLocationsInstancesUpgradeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3226,7 +3226,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3367,7 +3367,7 @@
 
 func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3510,7 +3510,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3684,7 +3684,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3891,7 +3891,7 @@
 
 func (c *ProjectsLocationsVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/dataproc/v1/dataproc-api.json b/dataproc/v1/dataproc-api.json
index b3f6ae9..8e0abfa 100644
--- a/dataproc/v1/dataproc-api.json
+++ b/dataproc/v1/dataproc-api.json
@@ -2134,7 +2134,7 @@
       }
     }
   },
-  "revision": "20200725",
+  "revision": "20200807",
   "rootUrl": "https://dataproc.googleapis.com/",
   "schemas": {
     "AcceleratorConfig": {
@@ -2217,7 +2217,7 @@
           "type": "string"
         },
         "scaleDownFactor": {
-          "description": "Required. Fraction of average YARN pending memory in the last cooldown period for which to remove workers. A scale-down factor of 1 will result in scaling down so that there is no available memory remaining after the update (more aggressive scaling). A scale-down factor of 0 disables removing workers, which can be beneficial for autoscaling a single job. See How autoscaling works for more information.Bounds: 0.0, 1.0.",
+          "description": "Required. Fraction of average YARN pending memory in the last cooldown period for which to remove workers. A scale-down factor of 1 will result in scaling down so that there is no available memory remaining after the update (more aggressive scaling). A scale-down factor of 0 disables removing workers, which can be beneficial for autoscaling a single job. See How autoscaling works (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/autoscaling#how_autoscaling_works) for more information.Bounds: 0.0, 1.0.",
           "format": "double",
           "type": "number"
         },
@@ -2227,7 +2227,7 @@
           "type": "number"
         },
         "scaleUpFactor": {
-          "description": "Required. Fraction of average YARN pending memory in the last cooldown period for which to add workers. A scale-up factor of 1.0 will result in scaling up so that there is no pending memory remaining after the update (more aggressive scaling). A scale-up factor closer to 0 will result in a smaller magnitude of scaling up (less aggressive scaling). See How autoscaling works for more information.Bounds: 0.0, 1.0.",
+          "description": "Required. Fraction of average YARN pending memory in the last cooldown period for which to add workers. A scale-up factor of 1.0 will result in scaling up so that there is no pending memory remaining after the update (more aggressive scaling). A scale-up factor closer to 0 will result in a smaller magnitude of scaling up (less aggressive scaling). See How autoscaling works (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/autoscaling#how_autoscaling_works) for more information.Bounds: 0.0, 1.0.",
           "format": "double",
           "type": "number"
         },
@@ -2907,6 +2907,14 @@
           "readOnly": true,
           "type": "array"
         },
+        "instanceReferences": {
+          "description": "Output only. List of references to Compute Engine instances.",
+          "items": {
+            "$ref": "InstanceReference"
+          },
+          "readOnly": true,
+          "type": "array"
+        },
         "isPreemptible": {
           "description": "Output only. Specifies that this instance group contains preemptible instances.",
           "readOnly": true,
@@ -2947,6 +2955,21 @@
       },
       "type": "object"
     },
+    "InstanceReference": {
+      "description": "A reference to a Compute Engine instance.",
+      "id": "InstanceReference",
+      "properties": {
+        "instanceId": {
+          "description": "The unique identifier of the Compute Engine instance.",
+          "type": "string"
+        },
+        "instanceName": {
+          "description": "The user-friendly name of the Compute Engine instance.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "InstantiateWorkflowTemplateRequest": {
       "description": "A request to instantiate a workflow template.",
       "id": "InstantiateWorkflowTemplateRequest",
diff --git a/dataproc/v1/dataproc-gen.go b/dataproc/v1/dataproc-gen.go
index bcc9cd7..a152212 100644
--- a/dataproc/v1/dataproc-gen.go
+++ b/dataproc/v1/dataproc-gen.go
@@ -436,7 +436,9 @@
 	// memory remaining after the update (more aggressive scaling). A
 	// scale-down factor of 0 disables removing workers, which can be
 	// beneficial for autoscaling a single job. See How autoscaling works
-	// for more information.Bounds: 0.0, 1.0.
+	// (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/
+	// autoscaling#how_autoscaling_works) for more information.Bounds: 0.0,
+	// 1.0.
 	ScaleDownFactor float64 `json:"scaleDownFactor,omitempty"`
 
 	// ScaleDownMinWorkerFraction: Optional. Minimum scale-down threshold as
@@ -452,8 +454,10 @@
 	// of 1.0 will result in scaling up so that there is no pending memory
 	// remaining after the update (more aggressive scaling). A scale-up
 	// factor closer to 0 will result in a smaller magnitude of scaling up
-	// (less aggressive scaling). See How autoscaling works for more
-	// information.Bounds: 0.0, 1.0.
+	// (less aggressive scaling). See How autoscaling works
+	// (https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/
+	// autoscaling#how_autoscaling_works) for more information.Bounds: 0.0,
+	// 1.0.
 	ScaleUpFactor float64 `json:"scaleUpFactor,omitempty"`
 
 	// ScaleUpMinWorkerFraction: Optional. Minimum scale-up threshold as a
@@ -1597,6 +1601,10 @@
 	// group.
 	InstanceNames []string `json:"instanceNames,omitempty"`
 
+	// InstanceReferences: Output only. List of references to Compute Engine
+	// instances.
+	InstanceReferences []*InstanceReference `json:"instanceReferences,omitempty"`
+
 	// IsPreemptible: Output only. Specifies that this instance group
 	// contains preemptible instances.
 	IsPreemptible bool `json:"isPreemptible,omitempty"`
@@ -1661,6 +1669,37 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// InstanceReference: A reference to a Compute Engine instance.
+type InstanceReference struct {
+	// InstanceId: The unique identifier of the Compute Engine instance.
+	InstanceId string `json:"instanceId,omitempty"`
+
+	// InstanceName: The user-friendly name of the Compute Engine instance.
+	InstanceName string `json:"instanceName,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "InstanceId") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "InstanceId") to include in
+	// API requests with the JSON null value. By default, fields with empty
+	// values are omitted from API requests. However, any field with an
+	// empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *InstanceReference) MarshalJSON() ([]byte, error) {
+	type NoMethod InstanceReference
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // InstantiateWorkflowTemplateRequest: A request to instantiate a
 // workflow template.
 type InstantiateWorkflowTemplateRequest struct {
@@ -3977,7 +4016,7 @@
 
 func (c *ProjectsLocationsAutoscalingPoliciesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4116,7 +4155,7 @@
 
 func (c *ProjectsLocationsAutoscalingPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4257,7 +4296,7 @@
 
 func (c *ProjectsLocationsAutoscalingPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4394,7 +4433,7 @@
 
 func (c *ProjectsLocationsAutoscalingPoliciesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4558,7 +4597,7 @@
 
 func (c *ProjectsLocationsAutoscalingPoliciesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4727,7 +4766,7 @@
 
 func (c *ProjectsLocationsAutoscalingPoliciesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4872,7 +4911,7 @@
 
 func (c *ProjectsLocationsAutoscalingPoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5013,7 +5052,7 @@
 
 func (c *ProjectsLocationsAutoscalingPoliciesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5153,7 +5192,7 @@
 
 func (c *ProjectsLocationsWorkflowTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5300,7 +5339,7 @@
 
 func (c *ProjectsLocationsWorkflowTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5456,7 +5495,7 @@
 
 func (c *ProjectsLocationsWorkflowTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5599,7 +5638,7 @@
 
 func (c *ProjectsLocationsWorkflowTemplatesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5750,7 +5789,7 @@
 
 func (c *ProjectsLocationsWorkflowTemplatesInstantiateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5915,7 +5954,7 @@
 
 func (c *ProjectsLocationsWorkflowTemplatesInstantiateInlineCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6083,7 +6122,7 @@
 
 func (c *ProjectsLocationsWorkflowTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6252,7 +6291,7 @@
 
 func (c *ProjectsLocationsWorkflowTemplatesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6397,7 +6436,7 @@
 
 func (c *ProjectsLocationsWorkflowTemplatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6538,7 +6577,7 @@
 
 func (c *ProjectsLocationsWorkflowTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6678,7 +6717,7 @@
 
 func (c *ProjectsRegionsAutoscalingPoliciesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6817,7 +6856,7 @@
 
 func (c *ProjectsRegionsAutoscalingPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6958,7 +6997,7 @@
 
 func (c *ProjectsRegionsAutoscalingPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7095,7 +7134,7 @@
 
 func (c *ProjectsRegionsAutoscalingPoliciesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7259,7 +7298,7 @@
 
 func (c *ProjectsRegionsAutoscalingPoliciesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7428,7 +7467,7 @@
 
 func (c *ProjectsRegionsAutoscalingPoliciesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7573,7 +7612,7 @@
 
 func (c *ProjectsRegionsAutoscalingPoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7714,7 +7753,7 @@
 
 func (c *ProjectsRegionsAutoscalingPoliciesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7873,7 +7912,7 @@
 
 func (c *ProjectsRegionsClustersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8052,7 +8091,7 @@
 
 func (c *ProjectsRegionsClustersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8219,7 +8258,7 @@
 
 func (c *ProjectsRegionsClustersDiagnoseCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8387,7 +8426,7 @@
 
 func (c *ProjectsRegionsClustersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8539,7 +8578,7 @@
 
 func (c *ProjectsRegionsClustersGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8723,7 +8762,7 @@
 
 func (c *ProjectsRegionsClustersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8959,7 +8998,7 @@
 
 func (c *ProjectsRegionsClustersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9133,7 +9172,7 @@
 
 func (c *ProjectsRegionsClustersSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9278,7 +9317,7 @@
 
 func (c *ProjectsRegionsClustersTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9427,7 +9466,7 @@
 
 func (c *ProjectsRegionsJobsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9585,7 +9624,7 @@
 
 func (c *ProjectsRegionsJobsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9745,7 +9784,7 @@
 
 func (c *ProjectsRegionsJobsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9897,7 +9936,7 @@
 
 func (c *ProjectsRegionsJobsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10098,7 +10137,7 @@
 
 func (c *ProjectsRegionsJobsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10312,7 +10351,7 @@
 
 func (c *ProjectsRegionsJobsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10475,7 +10514,7 @@
 
 func (c *ProjectsRegionsJobsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10617,7 +10656,7 @@
 
 func (c *ProjectsRegionsJobsSubmitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10766,7 +10805,7 @@
 
 func (c *ProjectsRegionsJobsSubmitAsOperationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10918,7 +10957,7 @@
 
 func (c *ProjectsRegionsJobsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11065,7 +11104,7 @@
 
 func (c *ProjectsRegionsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11198,7 +11237,7 @@
 
 func (c *ProjectsRegionsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11341,7 +11380,7 @@
 
 func (c *ProjectsRegionsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11478,7 +11517,7 @@
 
 func (c *ProjectsRegionsOperationsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11657,7 +11696,7 @@
 
 func (c *ProjectsRegionsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11831,7 +11870,7 @@
 
 func (c *ProjectsRegionsOperationsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11976,7 +12015,7 @@
 
 func (c *ProjectsRegionsOperationsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12116,7 +12155,7 @@
 
 func (c *ProjectsRegionsWorkflowTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12263,7 +12302,7 @@
 
 func (c *ProjectsRegionsWorkflowTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12419,7 +12458,7 @@
 
 func (c *ProjectsRegionsWorkflowTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12562,7 +12601,7 @@
 
 func (c *ProjectsRegionsWorkflowTemplatesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12713,7 +12752,7 @@
 
 func (c *ProjectsRegionsWorkflowTemplatesInstantiateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12878,7 +12917,7 @@
 
 func (c *ProjectsRegionsWorkflowTemplatesInstantiateInlineCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13046,7 +13085,7 @@
 
 func (c *ProjectsRegionsWorkflowTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13215,7 +13254,7 @@
 
 func (c *ProjectsRegionsWorkflowTemplatesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13360,7 +13399,7 @@
 
 func (c *ProjectsRegionsWorkflowTemplatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13501,7 +13540,7 @@
 
 func (c *ProjectsRegionsWorkflowTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/dataproc/v1beta2/dataproc-api.json b/dataproc/v1beta2/dataproc-api.json
index 5e9c624..fcb6708 100644
--- a/dataproc/v1beta2/dataproc-api.json
+++ b/dataproc/v1beta2/dataproc-api.json
@@ -2247,7 +2247,7 @@
       }
     }
   },
-  "revision": "20200731",
+  "revision": "20200807",
   "rootUrl": "https://dataproc.googleapis.com/",
   "schemas": {
     "AcceleratorConfig": {
@@ -3033,6 +3033,14 @@
           "readOnly": true,
           "type": "array"
         },
+        "instanceReferences": {
+          "description": "Output only. List of references to Compute Engine instances.",
+          "items": {
+            "$ref": "InstanceReference"
+          },
+          "readOnly": true,
+          "type": "array"
+        },
         "isPreemptible": {
           "description": "Output only. Specifies that this instance group contains preemptible instances.",
           "readOnly": true,
@@ -3073,6 +3081,21 @@
       },
       "type": "object"
     },
+    "InstanceReference": {
+      "description": "A reference to a Compute Engine instance.",
+      "id": "InstanceReference",
+      "properties": {
+        "instanceId": {
+          "description": "The unique identifier of the Compute Engine instance.",
+          "type": "string"
+        },
+        "instanceName": {
+          "description": "The user-friendly name of the Compute Engine instance.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "InstantiateWorkflowTemplateRequest": {
       "description": "A request to instantiate a workflow template.",
       "id": "InstantiateWorkflowTemplateRequest",
diff --git a/dataproc/v1beta2/dataproc-gen.go b/dataproc/v1beta2/dataproc-gen.go
index f20e02c..bcd806d 100644
--- a/dataproc/v1beta2/dataproc-gen.go
+++ b/dataproc/v1beta2/dataproc-gen.go
@@ -1640,6 +1640,10 @@
 	// group.
 	InstanceNames []string `json:"instanceNames,omitempty"`
 
+	// InstanceReferences: Output only. List of references to Compute Engine
+	// instances.
+	InstanceReferences []*InstanceReference `json:"instanceReferences,omitempty"`
+
 	// IsPreemptible: Output only. Specifies that this instance group
 	// contains preemptible instances.
 	IsPreemptible bool `json:"isPreemptible,omitempty"`
@@ -1704,6 +1708,37 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// InstanceReference: A reference to a Compute Engine instance.
+type InstanceReference struct {
+	// InstanceId: The unique identifier of the Compute Engine instance.
+	InstanceId string `json:"instanceId,omitempty"`
+
+	// InstanceName: The user-friendly name of the Compute Engine instance.
+	InstanceName string `json:"instanceName,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "InstanceId") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "InstanceId") to include in
+	// API requests with the JSON null value. By default, fields with empty
+	// values are omitted from API requests. However, any field with an
+	// empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *InstanceReference) MarshalJSON() ([]byte, error) {
+	type NoMethod InstanceReference
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // InstantiateWorkflowTemplateRequest: A request to instantiate a
 // workflow template.
 type InstantiateWorkflowTemplateRequest struct {
@@ -4214,7 +4249,7 @@
 
 func (c *ProjectsLocationsAutoscalingPoliciesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4353,7 +4388,7 @@
 
 func (c *ProjectsLocationsAutoscalingPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4494,7 +4529,7 @@
 
 func (c *ProjectsLocationsAutoscalingPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4654,7 +4689,7 @@
 
 func (c *ProjectsLocationsAutoscalingPoliciesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4819,7 +4854,7 @@
 
 func (c *ProjectsLocationsAutoscalingPoliciesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4988,7 +5023,7 @@
 
 func (c *ProjectsLocationsAutoscalingPoliciesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5133,7 +5168,7 @@
 
 func (c *ProjectsLocationsAutoscalingPoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5274,7 +5309,7 @@
 
 func (c *ProjectsLocationsAutoscalingPoliciesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5414,7 +5449,7 @@
 
 func (c *ProjectsLocationsWorkflowTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5561,7 +5596,7 @@
 
 func (c *ProjectsLocationsWorkflowTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5717,7 +5752,7 @@
 
 func (c *ProjectsLocationsWorkflowTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5883,7 +5918,7 @@
 
 func (c *ProjectsLocationsWorkflowTemplatesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6035,7 +6070,7 @@
 
 func (c *ProjectsLocationsWorkflowTemplatesInstantiateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6207,7 +6242,7 @@
 
 func (c *ProjectsLocationsWorkflowTemplatesInstantiateInlineCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6380,7 +6415,7 @@
 
 func (c *ProjectsLocationsWorkflowTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6549,7 +6584,7 @@
 
 func (c *ProjectsLocationsWorkflowTemplatesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6694,7 +6729,7 @@
 
 func (c *ProjectsLocationsWorkflowTemplatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6835,7 +6870,7 @@
 
 func (c *ProjectsLocationsWorkflowTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6975,7 +7010,7 @@
 
 func (c *ProjectsRegionsAutoscalingPoliciesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7114,7 +7149,7 @@
 
 func (c *ProjectsRegionsAutoscalingPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7255,7 +7290,7 @@
 
 func (c *ProjectsRegionsAutoscalingPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7415,7 +7450,7 @@
 
 func (c *ProjectsRegionsAutoscalingPoliciesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7580,7 +7615,7 @@
 
 func (c *ProjectsRegionsAutoscalingPoliciesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7749,7 +7784,7 @@
 
 func (c *ProjectsRegionsAutoscalingPoliciesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7894,7 +7929,7 @@
 
 func (c *ProjectsRegionsAutoscalingPoliciesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8035,7 +8070,7 @@
 
 func (c *ProjectsRegionsAutoscalingPoliciesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8194,7 +8229,7 @@
 
 func (c *ProjectsRegionsClustersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8373,7 +8408,7 @@
 
 func (c *ProjectsRegionsClustersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8538,7 +8573,7 @@
 
 func (c *ProjectsRegionsClustersDiagnoseCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8706,7 +8741,7 @@
 
 func (c *ProjectsRegionsClustersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8881,7 +8916,7 @@
 
 func (c *ProjectsRegionsClustersGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9066,7 +9101,7 @@
 
 func (c *ProjectsRegionsClustersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9305,7 +9340,7 @@
 
 func (c *ProjectsRegionsClustersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9479,7 +9514,7 @@
 
 func (c *ProjectsRegionsClustersSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9623,7 +9658,7 @@
 
 func (c *ProjectsRegionsClustersStartCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9782,7 +9817,7 @@
 
 func (c *ProjectsRegionsClustersStopCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9942,7 +9977,7 @@
 
 func (c *ProjectsRegionsClustersTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10091,7 +10126,7 @@
 
 func (c *ProjectsRegionsJobsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10249,7 +10284,7 @@
 
 func (c *ProjectsRegionsJobsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10409,7 +10444,7 @@
 
 func (c *ProjectsRegionsJobsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10584,7 +10619,7 @@
 
 func (c *ProjectsRegionsJobsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10786,7 +10821,7 @@
 
 func (c *ProjectsRegionsJobsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11000,7 +11035,7 @@
 
 func (c *ProjectsRegionsJobsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11163,7 +11198,7 @@
 
 func (c *ProjectsRegionsJobsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11305,7 +11340,7 @@
 
 func (c *ProjectsRegionsJobsSubmitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11454,7 +11489,7 @@
 
 func (c *ProjectsRegionsJobsSubmitAsOperationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11606,7 +11641,7 @@
 
 func (c *ProjectsRegionsJobsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11753,7 +11788,7 @@
 
 func (c *ProjectsRegionsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11886,7 +11921,7 @@
 
 func (c *ProjectsRegionsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12029,7 +12064,7 @@
 
 func (c *ProjectsRegionsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12189,7 +12224,7 @@
 
 func (c *ProjectsRegionsOperationsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12369,7 +12404,7 @@
 
 func (c *ProjectsRegionsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12543,7 +12578,7 @@
 
 func (c *ProjectsRegionsOperationsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12688,7 +12723,7 @@
 
 func (c *ProjectsRegionsOperationsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12828,7 +12863,7 @@
 
 func (c *ProjectsRegionsWorkflowTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12975,7 +13010,7 @@
 
 func (c *ProjectsRegionsWorkflowTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13131,7 +13166,7 @@
 
 func (c *ProjectsRegionsWorkflowTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13297,7 +13332,7 @@
 
 func (c *ProjectsRegionsWorkflowTemplatesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13449,7 +13484,7 @@
 
 func (c *ProjectsRegionsWorkflowTemplatesInstantiateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13621,7 +13656,7 @@
 
 func (c *ProjectsRegionsWorkflowTemplatesInstantiateInlineCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13794,7 +13829,7 @@
 
 func (c *ProjectsRegionsWorkflowTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13963,7 +13998,7 @@
 
 func (c *ProjectsRegionsWorkflowTemplatesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14108,7 +14143,7 @@
 
 func (c *ProjectsRegionsWorkflowTemplatesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14249,7 +14284,7 @@
 
 func (c *ProjectsRegionsWorkflowTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/datastore/v1/datastore-api.json b/datastore/v1/datastore-api.json
index da20415..4551113 100644
--- a/datastore/v1/datastore-api.json
+++ b/datastore/v1/datastore-api.json
@@ -14,7 +14,7 @@
   "basePath": "",
   "baseUrl": "https://datastore.googleapis.com/",
   "batchPath": "batch",
-  "description": "Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application.\n",
+  "description": "Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application. ",
   "discoveryVersion": "v1",
   "documentationLink": "https://cloud.google.com/datastore/",
   "icons": {
@@ -109,7 +109,7 @@
     "projects": {
       "methods": {
         "allocateIds": {
-          "description": "Allocates IDs for the given keys, which is useful for referencing an entity\nbefore it is inserted.",
+          "description": "Allocates IDs for the given keys, which is useful for referencing an entity before it is inserted.",
           "flatPath": "v1/projects/{projectId}:allocateIds",
           "httpMethod": "POST",
           "id": "datastore.projects.allocateIds",
@@ -165,7 +165,7 @@
           ]
         },
         "commit": {
-          "description": "Commits a transaction, optionally creating, deleting or modifying some\nentities.",
+          "description": "Commits a transaction, optionally creating, deleting or modifying some entities.",
           "flatPath": "v1/projects/{projectId}:commit",
           "httpMethod": "POST",
           "id": "datastore.projects.commit",
@@ -193,7 +193,7 @@
           ]
         },
         "export": {
-          "description": "Exports a copy of all or a subset of entities from Google Cloud Datastore\nto another storage system, such as Google Cloud Storage. Recent updates to\nentities may not be reflected in the export. The export occurs in the\nbackground and its progress can be monitored and managed via the\nOperation resource that is created. The output of an export may only be\nused once the associated operation is done. If an export operation is\ncancelled before completion it may leave partial data behind in Google\nCloud Storage.",
+          "description": "Exports a copy of all or a subset of entities from Google Cloud Datastore to another storage system, such as Google Cloud Storage. Recent updates to entities may not be reflected in the export. The export occurs in the background and its progress can be monitored and managed via the Operation resource that is created. The output of an export may only be used once the associated operation is done. If an export operation is cancelled before completion it may leave partial data behind in Google Cloud Storage.",
           "flatPath": "v1/projects/{projectId}:export",
           "httpMethod": "POST",
           "id": "datastore.projects.export",
@@ -221,7 +221,7 @@
           ]
         },
         "import": {
-          "description": "Imports entities into Google Cloud Datastore. Existing entities with the\nsame key are overwritten. The import occurs in the background and its\nprogress can be monitored and managed via the Operation resource that is\ncreated. If an ImportEntities operation is cancelled, it is possible\nthat a subset of the data has already been imported to Cloud Datastore.",
+          "description": "Imports entities into Google Cloud Datastore. Existing entities with the same key are overwritten. The import occurs in the background and its progress can be monitored and managed via the Operation resource that is created. If an ImportEntities operation is cancelled, it is possible that a subset of the data has already been imported to Cloud Datastore.",
           "flatPath": "v1/projects/{projectId}:import",
           "httpMethod": "POST",
           "id": "datastore.projects.import",
@@ -277,7 +277,7 @@
           ]
         },
         "reserveIds": {
-          "description": "Prevents the supplied keys' IDs from being auto-allocated by Cloud\nDatastore.",
+          "description": "Prevents the supplied keys' IDs from being auto-allocated by Cloud Datastore.",
           "flatPath": "v1/projects/{projectId}:reserveIds",
           "httpMethod": "POST",
           "id": "datastore.projects.reserveIds",
@@ -365,7 +365,7 @@
         "indexes": {
           "methods": {
             "create": {
-              "description": "Creates the specified index.\nA newly created index's initial state is `CREATING`. On completion of the\nreturned google.longrunning.Operation, the state will be `READY`.\nIf the index already exists, the call will return an `ALREADY_EXISTS`\nstatus.\n\nDuring index creation, the process could result in an error, in which\ncase the index will move to the `ERROR` state. The process can be recovered\nby fixing the data that caused the error, removing the index with\ndelete, then\nre-creating the index with create.\n\nIndexes with a single property cannot be created.",
+              "description": "Creates the specified index. A newly created index's initial state is `CREATING`. On completion of the returned google.longrunning.Operation, the state will be `READY`. If the index already exists, the call will return an `ALREADY_EXISTS` status. During index creation, the process could result in an error, in which case the index will move to the `ERROR` state. The process can be recovered by fixing the data that caused the error, removing the index with delete, then re-creating the index with create. Indexes with a single property cannot be created.",
               "flatPath": "v1/projects/{projectId}/indexes",
               "httpMethod": "POST",
               "id": "datastore.projects.indexes.create",
@@ -393,7 +393,7 @@
               ]
             },
             "delete": {
-              "description": "Deletes an existing index.\nAn index can only be deleted if it is in a `READY` or `ERROR` state. On\nsuccessful execution of the request, the index will be in a `DELETING`\nstate. And on completion of the\nreturned google.longrunning.Operation, the index will be removed.\n\nDuring index deletion, the process could result in an error, in which\ncase the index will move to the `ERROR` state. The process can be recovered\nby fixing the data that caused the error, followed by calling\ndelete again.",
+              "description": "Deletes an existing index. An index can only be deleted if it is in a `READY` or `ERROR` state. On successful execution of the request, the index will be in a `DELETING` state. And on completion of the returned google.longrunning.Operation, the index will be removed. During index deletion, the process could result in an error, in which case the index will move to the `ERROR` state. The process can be recovered by fixing the data that caused the error, followed by calling delete again.",
               "flatPath": "v1/projects/{projectId}/indexes/{indexId}",
               "httpMethod": "DELETE",
               "id": "datastore.projects.indexes.delete",
@@ -457,7 +457,7 @@
               ]
             },
             "list": {
-              "description": "Lists the indexes that match the specified filters.  Datastore uses an\neventually consistent query to fetch the list of indexes and may\noccasionally return stale results.",
+              "description": "Lists the indexes that match the specified filters. Datastore uses an eventually consistent query to fetch the list of indexes and may occasionally return stale results.",
               "flatPath": "v1/projects/{projectId}/indexes",
               "httpMethod": "GET",
               "id": "datastore.projects.indexes.list",
@@ -470,7 +470,7 @@
                   "type": "string"
                 },
                 "pageSize": {
-                  "description": "The maximum number of items to return.  If zero, then all results will be\nreturned.",
+                  "description": "The maximum number of items to return. If zero, then all results will be returned.",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
@@ -501,7 +501,7 @@
         "operations": {
           "methods": {
             "cancel": {
-              "description": "Starts asynchronous cancellation on a long-running operation.  The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed.  If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.  Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
+              "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
               "flatPath": "v1/projects/{projectsId}/operations/{operationsId}:cancel",
               "httpMethod": "POST",
               "id": "datastore.projects.operations.cancel",
@@ -527,7 +527,7 @@
               ]
             },
             "delete": {
-              "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.",
+              "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
               "flatPath": "v1/projects/{projectsId}/operations/{operationsId}",
               "httpMethod": "DELETE",
               "id": "datastore.projects.operations.delete",
@@ -553,7 +553,7 @@
               ]
             },
             "get": {
-              "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+              "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
               "flatPath": "v1/projects/{projectsId}/operations/{operationsId}",
               "httpMethod": "GET",
               "id": "datastore.projects.operations.get",
@@ -579,7 +579,7 @@
               ]
             },
             "list": {
-              "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
+              "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
               "flatPath": "v1/projects/{projectsId}/operations",
               "httpMethod": "GET",
               "id": "datastore.projects.operations.list",
@@ -625,7 +625,7 @@
       }
     }
   },
-  "revision": "20200709",
+  "revision": "20200802",
   "rootUrl": "https://datastore.googleapis.com/",
   "schemas": {
     "AllocateIdsRequest": {
@@ -633,7 +633,7 @@
       "id": "AllocateIdsRequest",
       "properties": {
         "keys": {
-          "description": "Required. A list of keys with incomplete key paths for which to allocate IDs.\nNo key may be reserved/read-only.",
+          "description": "Required. A list of keys with incomplete key paths for which to allocate IDs. No key may be reserved/read-only.",
           "items": {
             "$ref": "Key"
           },
@@ -647,7 +647,7 @@
       "id": "AllocateIdsResponse",
       "properties": {
         "keys": {
-          "description": "The keys specified in the request (in the same order), each with\nits key path completed with a newly allocated ID.",
+          "description": "The keys specified in the request (in the same order), each with its key path completed with a newly allocated ID.",
           "items": {
             "$ref": "Key"
           },
@@ -661,7 +661,7 @@
       "id": "ArrayValue",
       "properties": {
         "values": {
-          "description": "Values in the array.\nThe order of values in an array is preserved as long as all values have\nidentical settings for 'exclude_from_indexes'.",
+          "description": "Values in the array. The order of values in an array is preserved as long as all values have identical settings for 'exclude_from_indexes'.",
           "items": {
             "$ref": "Value"
           },
@@ -706,20 +706,20 @@
           ],
           "enumDescriptions": [
             "Unspecified. This value must not be used.",
-            "Transactional: The mutations are either all applied, or none are applied.\nLearn about transactions\n[here](https://cloud.google.com/datastore/docs/concepts/transactions).",
+            "Transactional: The mutations are either all applied, or none are applied. Learn about transactions [here](https://cloud.google.com/datastore/docs/concepts/transactions).",
             "Non-transactional: The mutations may not apply as all or none."
           ],
           "type": "string"
         },
         "mutations": {
-          "description": "The mutations to perform.\n\nWhen mode is `TRANSACTIONAL`, mutations affecting a single entity are\napplied in order. The following sequences of mutations affecting a single\nentity are not permitted in a single `Commit` request:\n\n- `insert` followed by `insert`\n- `update` followed by `insert`\n- `upsert` followed by `insert`\n- `delete` followed by `update`\n\nWhen mode is `NON_TRANSACTIONAL`, no two mutations may affect a single\nentity.",
+          "description": "The mutations to perform. When mode is `TRANSACTIONAL`, mutations affecting a single entity are applied in order. The following sequences of mutations affecting a single entity are not permitted in a single `Commit` request: - `insert` followed by `insert` - `update` followed by `insert` - `upsert` followed by `insert` - `delete` followed by `update` When mode is `NON_TRANSACTIONAL`, no two mutations may affect a single entity.",
           "items": {
             "$ref": "Mutation"
           },
           "type": "array"
         },
         "transaction": {
-          "description": "The identifier of the transaction associated with the commit. A\ntransaction identifier is returned by a call to\nDatastore.BeginTransaction.",
+          "description": "The identifier of the transaction associated with the commit. A transaction identifier is returned by a call to Datastore.BeginTransaction.",
           "format": "byte",
           "type": "string"
         }
@@ -731,12 +731,12 @@
       "id": "CommitResponse",
       "properties": {
         "indexUpdates": {
-          "description": "The number of index entries updated during the commit, or zero if none were\nupdated.",
+          "description": "The number of index entries updated during the commit, or zero if none were updated.",
           "format": "int32",
           "type": "integer"
         },
         "mutationResults": {
-          "description": "The result of performing the mutations.\nThe i-th mutation result corresponds to the i-th mutation in the request.",
+          "description": "The result of performing the mutations. The i-th mutation result corresponds to the i-th mutation in the request.",
           "items": {
             "$ref": "MutationResult"
           },
@@ -750,7 +750,7 @@
       "id": "CompositeFilter",
       "properties": {
         "filters": {
-          "description": "The list of filters to combine.\nMust contain at least one filter.",
+          "description": "The list of filters to combine. Must contain at least one filter.",
           "items": {
             "$ref": "Filter"
           },
@@ -772,24 +772,24 @@
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
     },
     "Entity": {
-      "description": "A Datastore data object.\n\nAn entity is limited to 1 megabyte when stored. That _roughly_\ncorresponds to a limit of 1 megabyte for the serialized form of this\nmessage.",
+      "description": "A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message.",
       "id": "Entity",
       "properties": {
         "key": {
           "$ref": "Key",
-          "description": "The entity's key.\n\nAn entity must have a key, unless otherwise documented (for example,\nan entity in `Value.entity_value` may have no key).\nAn entity's kind is its key path's last element's kind,\nor null if it has no key."
+          "description": "The entity's key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity's kind is its key path's last element's kind, or null if it has no key."
         },
         "properties": {
           "additionalProperties": {
             "$ref": "Value"
           },
-          "description": "The entity's properties.\nThe map's keys are property names.\nA property name matching regex `__.*__` is reserved.\nA reserved property name is forbidden in certain documented contexts.\nThe name must not contain more than 500 characters.\nThe name cannot be `\"\"`.",
+          "description": "The entity's properties. The map's keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `\"\"`.",
           "type": "object"
         }
       },
@@ -800,7 +800,7 @@
       "id": "EntityResult",
       "properties": {
         "cursor": {
-          "description": "A cursor that points to the position after the result entity.\nSet only when the `EntityResult` is part of a `QueryResultBatch` message.",
+          "description": "A cursor that points to the position after the result entity. Set only when the `EntityResult` is part of a `QueryResultBatch` message.",
           "format": "byte",
           "type": "string"
         },
@@ -809,7 +809,7 @@
           "description": "The resulting entity."
         },
         "version": {
-          "description": "The version of the entity, a strictly positive number that monotonically\nincreases with changes to the entity.\n\nThis field is set for `FULL` entity\nresults.\n\nFor missing entities in `LookupResponse`, this\nis the version of the snapshot that was used to look up the entity, and it\nis always set except for eventually consistent reads.",
+          "description": "The version of the entity, a strictly positive number that monotonically increases with changes to the entity. This field is set for `FULL` entity results. For missing entities in `LookupResponse`, this is the version of the snapshot that was used to look up the entity, and it is always set except for eventually consistent reads.",
           "format": "int64",
           "type": "string"
         }
@@ -844,11 +844,11 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The client-assigned labels which were provided when the operation was\ncreated. May also include additional labels.",
+          "description": "The client-assigned labels which were provided when the operation was created. May also include additional labels.",
           "type": "object"
         },
         "operationType": {
-          "description": "The type of the operation. Can be used as a filter in\nListOperationsRequest.",
+          "description": "The type of the operation. Can be used as a filter in ListOperationsRequest.",
           "enum": [
             "OPERATION_TYPE_UNSPECIFIED",
             "EXPORT_ENTITIES",
@@ -886,11 +886,11 @@
             "Unspecified.",
             "Request is being prepared for processing.",
             "Request is actively being processed.",
-            "Request is in the process of being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation on the operation.",
+            "Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.",
             "Request has been processed and is in its finalization stage.",
             "Request has completed successfully.",
             "Request has finished being processed, but encountered an error.",
-            "Request has finished being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation."
+            "Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation."
           ],
           "type": "string"
         }
@@ -898,7 +898,7 @@
       "type": "object"
     },
     "GoogleDatastoreAdminV1EntityFilter": {
-      "description": "Identifies a subset of entities in a project. This is specified as\ncombinations of kinds and namespaces (either or both of which may be all, as\ndescribed in the following examples).\nExample usage:\n\nEntire project:\n  kinds=[], namespace_ids=[]\n\nKinds Foo and Bar in all namespaces:\n  kinds=['Foo', 'Bar'], namespace_ids=[]\n\nKinds Foo and Bar only in the default namespace:\n  kinds=['Foo', 'Bar'], namespace_ids=['']\n\nKinds Foo and Bar in both the default and Baz namespaces:\n  kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz']\n\nThe entire Baz namespace:\n  kinds=[], namespace_ids=['Baz']",
+      "description": "Identifies a subset of entities in a project. This is specified as combinations of kinds and namespaces (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']",
       "id": "GoogleDatastoreAdminV1EntityFilter",
       "properties": {
         "kinds": {
@@ -909,7 +909,7 @@
           "type": "array"
         },
         "namespaceIds": {
-          "description": "An empty list represents all namespaces. This is the preferred\nusage for projects that don't use namespaces.\n\nAn empty string element represents the default namespace. This should be\nused if the project has data in non-default namespaces, but doesn't want to\ninclude them.\nEach namespace in this list must be unique.",
+          "description": "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.",
           "items": {
             "type": "string"
           },
@@ -931,7 +931,7 @@
           "description": "Description of which entities are being exported."
         },
         "outputUrlPrefix": {
-          "description": "Location for the export metadata and data files. This will be the same\nvalue as the\ngoogle.datastore.admin.v1.ExportEntitiesRequest.output_url_prefix\nfield. The final output location is provided in\ngoogle.datastore.admin.v1.ExportEntitiesResponse.output_url.",
+          "description": "Location for the export metadata and data files. This will be the same value as the google.datastore.admin.v1.ExportEntitiesRequest.output_url_prefix field. The final output location is provided in google.datastore.admin.v1.ExportEntitiesResponse.output_url.",
           "type": "string"
         },
         "progressBytes": {
@@ -946,7 +946,7 @@
       "type": "object"
     },
     "GoogleDatastoreAdminV1ExportEntitiesRequest": {
-      "description": "The request for\ngoogle.datastore.admin.v1.DatastoreAdmin.ExportEntities.",
+      "description": "The request for google.datastore.admin.v1.DatastoreAdmin.ExportEntities.",
       "id": "GoogleDatastoreAdminV1ExportEntitiesRequest",
       "properties": {
         "entityFilter": {
@@ -961,18 +961,18 @@
           "type": "object"
         },
         "outputUrlPrefix": {
-          "description": "Required. Location for the export metadata and data files.\n\nThe full resource URL of the external storage location. Currently, only\nGoogle Cloud Storage is supported. So output_url_prefix should be of the\nform: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the\nname of the Cloud Storage bucket and `NAMESPACE_PATH` is an optional Cloud\nStorage namespace path (this is not a Cloud Datastore namespace). For more\ninformation about Cloud Storage namespace paths, see\n[Object name\nconsiderations](https://cloud.google.com/storage/docs/naming#object-considerations).\n\nThe resulting files will be nested deeper than the specified URL prefix.\nThe final output URL will be provided in the\ngoogle.datastore.admin.v1.ExportEntitiesResponse.output_url field. That\nvalue should be used for subsequent ImportEntities operations.\n\nBy nesting the data files deeper, the same Cloud Storage bucket can be used\nin multiple ExportEntities operations without conflict.",
+          "description": "Required. Location for the export metadata and data files. The full resource URL of the external storage location. Currently, only Google Cloud Storage is supported. So output_url_prefix should be of the form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the name of the Cloud Storage bucket and `NAMESPACE_PATH` is an optional Cloud Storage namespace path (this is not a Cloud Datastore namespace). For more information about Cloud Storage namespace paths, see [Object name considerations](https://cloud.google.com/storage/docs/naming#object-considerations). The resulting files will be nested deeper than the specified URL prefix. The final output URL will be provided in the google.datastore.admin.v1.ExportEntitiesResponse.output_url field. That value should be used for subsequent ImportEntities operations. By nesting the data files deeper, the same Cloud Storage bucket can be used in multiple ExportEntities operations without conflict.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleDatastoreAdminV1ExportEntitiesResponse": {
-      "description": "The response for\ngoogle.datastore.admin.v1.DatastoreAdmin.ExportEntities.",
+      "description": "The response for google.datastore.admin.v1.DatastoreAdmin.ExportEntities.",
       "id": "GoogleDatastoreAdminV1ExportEntitiesResponse",
       "properties": {
         "outputUrl": {
-          "description": "Location of the output metadata file. This can be used to begin an import\ninto Cloud Datastore (this project or another project). See\ngoogle.datastore.admin.v1.ImportEntitiesRequest.input_url.\nOnly present if the operation completed successfully.",
+          "description": "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.v1.ImportEntitiesRequest.input_url. Only present if the operation completed successfully.",
           "type": "string"
         }
       },
@@ -991,7 +991,7 @@
           "description": "Description of which entities are being imported."
         },
         "inputUrl": {
-          "description": "The location of the import metadata file. This will be the same value as\nthe google.datastore.admin.v1.ExportEntitiesResponse.output_url field.",
+          "description": "The location of the import metadata file. This will be the same value as the google.datastore.admin.v1.ExportEntitiesResponse.output_url field.",
           "type": "string"
         },
         "progressBytes": {
@@ -1006,15 +1006,15 @@
       "type": "object"
     },
     "GoogleDatastoreAdminV1ImportEntitiesRequest": {
-      "description": "The request for\ngoogle.datastore.admin.v1.DatastoreAdmin.ImportEntities.",
+      "description": "The request for google.datastore.admin.v1.DatastoreAdmin.ImportEntities.",
       "id": "GoogleDatastoreAdminV1ImportEntitiesRequest",
       "properties": {
         "entityFilter": {
           "$ref": "GoogleDatastoreAdminV1EntityFilter",
-          "description": "Optionally specify which kinds/namespaces are to be imported. If provided,\nthe list must be a subset of the EntityFilter used in creating the export,\notherwise a FAILED_PRECONDITION error will be returned. If no filter is\nspecified then all entities from the export are imported."
+          "description": "Optionally specify which kinds/namespaces are to be imported. If provided, the list must be a subset of the EntityFilter used in creating the export, otherwise a FAILED_PRECONDITION error will be returned. If no filter is specified then all entities from the export are imported."
         },
         "inputUrl": {
-          "description": "Required. The full resource URL of the external storage location. Currently, only\nGoogle Cloud Storage is supported. So input_url should be of the form:\n`gs://BUCKET_NAME[/NAMESPACE_PATH]/OVERALL_EXPORT_METADATA_FILE`, where\n`BUCKET_NAME` is the name of the Cloud Storage bucket, `NAMESPACE_PATH` is\nan optional Cloud Storage namespace path (this is not a Cloud Datastore\nnamespace), and `OVERALL_EXPORT_METADATA_FILE` is the metadata file written\nby the ExportEntities operation. For more information about Cloud Storage\nnamespace paths, see\n[Object name\nconsiderations](https://cloud.google.com/storage/docs/naming#object-considerations).\n\nFor more information, see\ngoogle.datastore.admin.v1.ExportEntitiesResponse.output_url.",
+          "description": "Required. The full resource URL of the external storage location. Currently, only Google Cloud Storage is supported. So input_url should be of the form: `gs://BUCKET_NAME[/NAMESPACE_PATH]/OVERALL_EXPORT_METADATA_FILE`, where `BUCKET_NAME` is the name of the Cloud Storage bucket, `NAMESPACE_PATH` is an optional Cloud Storage namespace path (this is not a Cloud Datastore namespace), and `OVERALL_EXPORT_METADATA_FILE` is the metadata file written by the ExportEntities operation. For more information about Cloud Storage namespace paths, see [Object name considerations](https://cloud.google.com/storage/docs/naming#object-considerations). For more information, see google.datastore.admin.v1.ExportEntitiesResponse.output_url.",
           "type": "string"
         },
         "labels": {
@@ -1032,7 +1032,7 @@
       "id": "GoogleDatastoreAdminV1Index",
       "properties": {
         "ancestor": {
-          "description": "Required. The index's ancestor mode.  Must not be ANCESTOR_MODE_UNSPECIFIED.",
+          "description": "Required. The index's ancestor mode. Must not be ANCESTOR_MODE_UNSPECIFIED.",
           "enum": [
             "ANCESTOR_MODE_UNSPECIFIED",
             "NONE",
@@ -1047,6 +1047,7 @@
         },
         "indexId": {
           "description": "Output only. The resource ID of the index.",
+          "readOnly": true,
           "type": "string"
         },
         "kind": {
@@ -1055,6 +1056,7 @@
         },
         "projectId": {
           "description": "Output only. Project ID.",
+          "readOnly": true,
           "type": "string"
         },
         "properties": {
@@ -1075,11 +1077,12 @@
           ],
           "enumDescriptions": [
             "The state is unspecified.",
-            "The index is being created, and cannot be used by queries.\nThere is an active long-running operation for the index.\nThe index is updated when writing an entity.\nSome index data may exist.",
-            "The index is ready to be used.\nThe index is updated when writing an entity.\nThe index is fully populated from all stored entities it applies to.",
-            "The index is being deleted, and cannot be used by queries.\nThere is an active long-running operation for the index.\nThe index is not updated when writing an entity.\nSome index data may exist.",
-            "The index was being created or deleted, but something went wrong.\nThe index cannot by used by queries.\nThere is no active long-running operation for the index,\nand the most recently finished long-running operation failed.\nThe index is not updated when writing an entity.\nSome index data may exist."
+            "The index is being created, and cannot be used by queries. There is an active long-running operation for the index. The index is updated when writing an entity. Some index data may exist.",
+            "The index is ready to be used. The index is updated when writing an entity. The index is fully populated from all stored entities it applies to.",
+            "The index is being deleted, and cannot be used by queries. There is an active long-running operation for the index. The index is not updated when writing an entity. Some index data may exist.",
+            "The index was being created or deleted, but something went wrong. The index cannot by used by queries. There is no active long-running operation for the index, and the most recently finished long-running operation failed. The index is not updated when writing an entity. Some index data may exist."
           ],
+          "readOnly": true,
           "type": "string"
         }
       },
@@ -1109,7 +1112,7 @@
       "id": "GoogleDatastoreAdminV1IndexedProperty",
       "properties": {
         "direction": {
-          "description": "Required. The indexed property's direction.  Must not be DIRECTION_UNSPECIFIED.",
+          "description": "Required. The indexed property's direction. Must not be DIRECTION_UNSPECIFIED.",
           "enum": [
             "DIRECTION_UNSPECIFIED",
             "ASCENDING",
@@ -1117,8 +1120,8 @@
           ],
           "enumDescriptions": [
             "The direction is unspecified.",
-            "The property's values are indexed so as to support sequencing in\nascending order and also query by \u003c, \u003e, \u003c=, \u003e=, and =.",
-            "The property's values are indexed so as to support sequencing in\ndescending order and also query by \u003c, \u003e, \u003c=, \u003e=, and =."
+            "The property's values are indexed so as to support sequencing in ascending order and also query by \u003c, \u003e, \u003c=, \u003e=, and =.",
+            "The property's values are indexed so as to support sequencing in descending order and also query by \u003c, \u003e, \u003c=, \u003e=, and =."
           ],
           "type": "string"
         },
@@ -1130,7 +1133,7 @@
       "type": "object"
     },
     "GoogleDatastoreAdminV1ListIndexesResponse": {
-      "description": "The response for\ngoogle.datastore.admin.v1.DatastoreAdmin.ListIndexes.",
+      "description": "The response for google.datastore.admin.v1.DatastoreAdmin.ListIndexes.",
       "id": "GoogleDatastoreAdminV1ListIndexesResponse",
       "properties": {
         "indexes": {
@@ -1152,12 +1155,12 @@
       "id": "GoogleDatastoreAdminV1Progress",
       "properties": {
         "workCompleted": {
-          "description": "The amount of work that has been completed. Note that this may be greater\nthan work_estimated.",
+          "description": "The amount of work that has been completed. Note that this may be greater than work_estimated.",
           "format": "int64",
           "type": "string"
         },
         "workEstimated": {
-          "description": "An estimate of how much work needs to be performed. May be zero if the\nwork estimate is unavailable.",
+          "description": "An estimate of how much work needs to be performed. May be zero if the work estimate is unavailable.",
           "format": "int64",
           "type": "string"
         }
@@ -1177,11 +1180,11 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The client-assigned labels which were provided when the operation was\ncreated. May also include additional labels.",
+          "description": "The client-assigned labels which were provided when the operation was created. May also include additional labels.",
           "type": "object"
         },
         "operationType": {
-          "description": "The type of the operation. Can be used as a filter in\nListOperationsRequest.",
+          "description": "The type of the operation. Can be used as a filter in ListOperationsRequest.",
           "enum": [
             "OPERATION_TYPE_UNSPECIFIED",
             "EXPORT_ENTITIES",
@@ -1215,11 +1218,11 @@
             "Unspecified.",
             "Request is being prepared for processing.",
             "Request is actively being processed.",
-            "Request is in the process of being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation on the operation.",
+            "Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.",
             "Request has been processed and is in its finalization stage.",
             "Request has completed successfully.",
             "Request has finished being processed, but encountered an error.",
-            "Request has finished being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation."
+            "Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation."
           ],
           "type": "string"
         }
@@ -1227,7 +1230,7 @@
       "type": "object"
     },
     "GoogleDatastoreAdminV1beta1EntityFilter": {
-      "description": "Identifies a subset of entities in a project. This is specified as\ncombinations of kinds and namespaces (either or both of which may be all, as\ndescribed in the following examples).\nExample usage:\n\nEntire project:\n  kinds=[], namespace_ids=[]\n\nKinds Foo and Bar in all namespaces:\n  kinds=['Foo', 'Bar'], namespace_ids=[]\n\nKinds Foo and Bar only in the default namespace:\n  kinds=['Foo', 'Bar'], namespace_ids=['']\n\nKinds Foo and Bar in both the default and Baz namespaces:\n  kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz']\n\nThe entire Baz namespace:\n  kinds=[], namespace_ids=['Baz']",
+      "description": "Identifies a subset of entities in a project. This is specified as combinations of kinds and namespaces (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']",
       "id": "GoogleDatastoreAdminV1beta1EntityFilter",
       "properties": {
         "kinds": {
@@ -1238,7 +1241,7 @@
           "type": "array"
         },
         "namespaceIds": {
-          "description": "An empty list represents all namespaces. This is the preferred\nusage for projects that don't use namespaces.\n\nAn empty string element represents the default namespace. This should be\nused if the project has data in non-default namespaces, but doesn't want to\ninclude them.\nEach namespace in this list must be unique.",
+          "description": "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.",
           "items": {
             "type": "string"
           },
@@ -1260,7 +1263,7 @@
           "description": "Description of which entities are being exported."
         },
         "outputUrlPrefix": {
-          "description": "Location for the export metadata and data files. This will be the same\nvalue as the\ngoogle.datastore.admin.v1beta1.ExportEntitiesRequest.output_url_prefix\nfield. The final output location is provided in\ngoogle.datastore.admin.v1beta1.ExportEntitiesResponse.output_url.",
+          "description": "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.",
           "type": "string"
         },
         "progressBytes": {
@@ -1275,11 +1278,11 @@
       "type": "object"
     },
     "GoogleDatastoreAdminV1beta1ExportEntitiesResponse": {
-      "description": "The response for\ngoogle.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities.",
+      "description": "The response for google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities.",
       "id": "GoogleDatastoreAdminV1beta1ExportEntitiesResponse",
       "properties": {
         "outputUrl": {
-          "description": "Location of the output metadata file. This can be used to begin an import\ninto Cloud Datastore (this project or another project). See\ngoogle.datastore.admin.v1beta1.ImportEntitiesRequest.input_url.\nOnly present if the operation completed successfully.",
+          "description": "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.",
           "type": "string"
         }
       },
@@ -1298,7 +1301,7 @@
           "description": "Description of which entities are being imported."
         },
         "inputUrl": {
-          "description": "The location of the import metadata file. This will be the same value as\nthe google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url\nfield.",
+          "description": "The location of the import metadata file. This will be the same value as the google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url field.",
           "type": "string"
         },
         "progressBytes": {
@@ -1317,12 +1320,12 @@
       "id": "GoogleDatastoreAdminV1beta1Progress",
       "properties": {
         "workCompleted": {
-          "description": "The amount of work that has been completed. Note that this may be greater\nthan work_estimated.",
+          "description": "The amount of work that has been completed. Note that this may be greater than work_estimated.",
           "format": "int64",
           "type": "string"
         },
         "workEstimated": {
-          "description": "An estimate of how much work needs to be performed. May be zero if the\nwork estimate is unavailable.",
+          "description": "An estimate of how much work needs to be performed. May be zero if the work estimate is unavailable.",
           "format": "int64",
           "type": "string"
         }
@@ -1348,11 +1351,11 @@
       "type": "object"
     },
     "GoogleLongrunningOperation": {
-      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
+      "description": "This resource represents a long-running operation that is the result of a network API call.",
       "id": "GoogleLongrunningOperation",
       "properties": {
         "done": {
-          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
+          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
           "type": "boolean"
         },
         "error": {
@@ -1364,11 +1367,11 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "Service-specific metadata associated with the operation.  It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata.  Any method that returns a\nlong-running operation should document the metadata type, if any.",
+          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
           "type": "object"
         },
         "name": {
-          "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.",
+          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
           "type": "string"
         },
         "response": {
@@ -1376,36 +1379,36 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "The normal response of the operation in case of success.  If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`.  If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource.  For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name.  For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
+          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
           "type": "object"
         }
       },
       "type": "object"
     },
     "GqlQuery": {
-      "description": "A [GQL\nquery](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).",
+      "description": "A [GQL query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).",
       "id": "GqlQuery",
       "properties": {
         "allowLiterals": {
-          "description": "When false, the query string must not contain any literals and instead must\nbind all values. For example,\n`SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while\n`SELECT * FROM Kind WHERE a = @value` is.",
+          "description": "When false, the query string must not contain any literals and instead must bind all values. For example, `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while `SELECT * FROM Kind WHERE a = @value` is.",
           "type": "boolean"
         },
         "namedBindings": {
           "additionalProperties": {
             "$ref": "GqlQueryParameter"
           },
-          "description": "For each non-reserved named binding site in the query string, there must be\na named parameter with that name, but not necessarily the inverse.\n\nKey must match regex `A-Za-z_$*`, must not match regex\n`__.*__`, and must not be `\"\"`.",
+          "description": "For each non-reserved named binding site in the query string, there must be a named parameter with that name, but not necessarily the inverse. Key must match regex `A-Za-z_$*`, must not match regex `__.*__`, and must not be `\"\"`.",
           "type": "object"
         },
         "positionalBindings": {
-          "description": "Numbered binding site @1 references the first numbered parameter,\neffectively using 1-based indexing, rather than the usual 0.\n\nFor each binding site numbered i in `query_string`, there must be an i-th\nnumbered parameter. The inverse must also be true.",
+          "description": "Numbered binding site @1 references the first numbered parameter, effectively using 1-based indexing, rather than the usual 0. For each binding site numbered i in `query_string`, there must be an i-th numbered parameter. The inverse must also be true.",
           "items": {
             "$ref": "GqlQueryParameter"
           },
           "type": "array"
         },
         "queryString": {
-          "description": "A string of the format described\n[here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).",
+          "description": "A string of the format described [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).",
           "type": "string"
         }
       },
@@ -1416,7 +1419,7 @@
       "id": "GqlQueryParameter",
       "properties": {
         "cursor": {
-          "description": "A query cursor. Query cursors are returned in query\nresult batches.",
+          "description": "A query cursor. Query cursors are returned in query result batches.",
           "format": "byte",
           "type": "string"
         },
@@ -1428,15 +1431,15 @@
       "type": "object"
     },
     "Key": {
-      "description": "A unique identifier for an entity.\nIf a key's partition ID or any of its path kinds or names are\nreserved/read-only, the key is reserved/read-only.\nA reserved/read-only key is forbidden in certain documented contexts.",
+      "description": "A unique identifier for an entity. If a key's partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts.",
       "id": "Key",
       "properties": {
         "partitionId": {
           "$ref": "PartitionId",
-          "description": "Entities are partitioned into subsets, currently identified by a project\nID and namespace ID.\nQueries are scoped to a single partition."
+          "description": "Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition."
         },
         "path": {
-          "description": "The entity path.\nAn entity path consists of one or more elements composed of a kind and a\nstring or numerical identifier, which identify entities. The first\nelement identifies a _root entity_, the second element identifies\na _child_ of the root entity, the third element identifies a child of the\nsecond entity, and so forth. The entities identified by all prefixes of\nthe path are called the element's _ancestors_.\n\nAn entity path is always fully complete: *all* of the entity's ancestors\nare required to be in the path along with the entity identifier itself.\nThe only exception is that in some documented cases, the identifier in the\nlast path element (for the entity) itself may be omitted. For example,\nthe last path element of the key of `Mutation.insert` may have no\nidentifier.\n\nA path can never be empty, and a path can have at most 100 elements.",
+          "description": "The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's _ancestors_. An entity path is always fully complete: *all* of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.",
           "items": {
             "$ref": "PathElement"
           },
@@ -1457,7 +1460,7 @@
       "type": "object"
     },
     "LatLng": {
-      "description": "An object representing a latitude/longitude pair. This is expressed as a pair\nof doubles representing degrees latitude and degrees longitude. Unless\nspecified otherwise, this must conform to the\n\u003ca href=\"http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\"\u003eWGS84\nstandard\u003c/a\u003e. Values must be within normalized ranges.",
+      "description": "An object representing a latitude/longitude pair. This is expressed as a pair of doubles representing degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges.",
       "id": "LatLng",
       "properties": {
         "latitude": {
@@ -1496,21 +1499,21 @@
       "id": "LookupResponse",
       "properties": {
         "deferred": {
-          "description": "A list of keys that were not looked up due to resource constraints. The\norder of results in this field is undefined and has no relation to the\norder of the keys in the input.",
+          "description": "A list of keys that were not looked up due to resource constraints. The order of results in this field is undefined and has no relation to the order of the keys in the input.",
           "items": {
             "$ref": "Key"
           },
           "type": "array"
         },
         "found": {
-          "description": "Entities found as `ResultType.FULL` entities. The order of results in this\nfield is undefined and has no relation to the order of the keys in the\ninput.",
+          "description": "Entities found as `ResultType.FULL` entities. The order of results in this field is undefined and has no relation to the order of the keys in the input.",
           "items": {
             "$ref": "EntityResult"
           },
           "type": "array"
         },
         "missing": {
-          "description": "Entities not found as `ResultType.KEY_ONLY` entities. The order of results\nin this field is undefined and has no relation to the order of the keys\nin the input.",
+          "description": "Entities not found as `ResultType.KEY_ONLY` entities. The order of results in this field is undefined and has no relation to the order of the keys in the input.",
           "items": {
             "$ref": "EntityResult"
           },
@@ -1524,25 +1527,25 @@
       "id": "Mutation",
       "properties": {
         "baseVersion": {
-          "description": "The version of the entity that this mutation is being applied to. If this\ndoes not match the current version on the server, the mutation conflicts.",
+          "description": "The version of the entity that this mutation is being applied to. If this does not match the current version on the server, the mutation conflicts.",
           "format": "int64",
           "type": "string"
         },
         "delete": {
           "$ref": "Key",
-          "description": "The key of the entity to delete. The entity may or may not already exist.\nMust have a complete key path and must not be reserved/read-only."
+          "description": "The key of the entity to delete. The entity may or may not already exist. Must have a complete key path and must not be reserved/read-only."
         },
         "insert": {
           "$ref": "Entity",
-          "description": "The entity to insert. The entity must not already exist.\nThe entity key's final path element may be incomplete."
+          "description": "The entity to insert. The entity must not already exist. The entity key's final path element may be incomplete."
         },
         "update": {
           "$ref": "Entity",
-          "description": "The entity to update. The entity must already exist.\nMust have a complete key path."
+          "description": "The entity to update. The entity must already exist. Must have a complete key path."
         },
         "upsert": {
           "$ref": "Entity",
-          "description": "The entity to upsert. The entity may or may not already exist.\nThe entity key's final path element may be incomplete."
+          "description": "The entity to upsert. The entity may or may not already exist. The entity key's final path element may be incomplete."
         }
       },
       "type": "object"
@@ -1552,15 +1555,15 @@
       "id": "MutationResult",
       "properties": {
         "conflictDetected": {
-          "description": "Whether a conflict was detected for this mutation. Always false when a\nconflict detection strategy field is not set in the mutation.",
+          "description": "Whether a conflict was detected for this mutation. Always false when a conflict detection strategy field is not set in the mutation.",
           "type": "boolean"
         },
         "key": {
           "$ref": "Key",
-          "description": "The automatically allocated key.\nSet only when the mutation allocated a key."
+          "description": "The automatically allocated key. Set only when the mutation allocated a key."
         },
         "version": {
-          "description": "The version of the entity on the server after processing the mutation. If\nthe mutation doesn't change anything on the server, then the version will\nbe the version of the current entity or, if no entity is present, a version\nthat is strictly greater than the version of any previous entity and less\nthan the version of any possible future entity.",
+          "description": "The version of the entity on the server after processing the mutation. If the mutation doesn't change anything on the server, then the version will be the version of the current entity or, if no entity is present, a version that is strictly greater than the version of any previous entity and less than the version of any possible future entity.",
           "format": "int64",
           "type": "string"
         }
@@ -1568,7 +1571,7 @@
       "type": "object"
     },
     "PartitionId": {
-      "description": "A partition ID identifies a grouping of entities. The grouping is always\nby project and namespace, however the namespace ID may be empty.\n\nA partition ID contains several dimensions:\nproject ID and namespace ID.\n\nPartition dimensions:\n\n- May be `\"\"`.\n- Must be valid UTF-8 bytes.\n- Must have values that match regex `[A-Za-z\\d\\.\\-_]{1,100}`\nIf the value of any dimension matches regex `__.*__`, the partition is\nreserved/read-only.\nA reserved/read-only partition ID is forbidden in certain documented\ncontexts.\n\nForeign partition IDs (in which the project ID does\nnot match the context project ID ) are discouraged.\nReads and writes of foreign partition IDs may fail if the project is not in an active state.",
+      "description": "A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `\"\"`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\\d\\.\\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state.",
       "id": "PartitionId",
       "properties": {
         "namespaceId": {
@@ -1583,20 +1586,20 @@
       "type": "object"
     },
     "PathElement": {
-      "description": "A (kind, ID/name) pair used to construct a key path.\n\nIf either name or ID is set, the element is complete.\nIf neither is set, the element is incomplete.",
+      "description": "A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.",
       "id": "PathElement",
       "properties": {
         "id": {
-          "description": "The auto-allocated ID of the entity.\nNever equal to zero. Values less than zero are discouraged and may not\nbe supported in the future.",
+          "description": "The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.",
           "format": "int64",
           "type": "string"
         },
         "kind": {
-          "description": "The kind of the entity.\nA kind matching regex `__.*__` is reserved/read-only.\nA kind must not contain more than 1500 bytes when UTF-8 encoded.\nCannot be `\"\"`.",
+          "description": "The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `\"\"`.",
           "type": "string"
         },
         "name": {
-          "description": "The name of the entity.\nA name matching regex `__.*__` is reserved/read-only.\nA name must not be more than 1500 bytes when UTF-8 encoded.\nCannot be `\"\"`.",
+          "description": "The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `\"\"`.",
           "type": "string"
         }
       },
@@ -1680,7 +1683,7 @@
       "id": "PropertyReference",
       "properties": {
         "name": {
-          "description": "The name of the property.\nIf name includes \".\"s, it may be interpreted as a property name path.",
+          "description": "The name of the property. If name includes \".\"s, it may be interpreted as a property name path.",
           "type": "string"
         }
       },
@@ -1691,14 +1694,14 @@
       "id": "Query",
       "properties": {
         "distinctOn": {
-          "description": "The properties to make distinct. The query results will contain the first\nresult for each distinct combination of values for the given properties\n(if empty, all results are returned).",
+          "description": "The properties to make distinct. The query results will contain the first result for each distinct combination of values for the given properties (if empty, all results are returned).",
           "items": {
             "$ref": "PropertyReference"
           },
           "type": "array"
         },
         "endCursor": {
-          "description": "An ending point for the query results. Query cursors are\nreturned in query result batches and\n[can only be used to limit the same\nquery](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).",
+          "description": "An ending point for the query results. Query cursors are returned in query result batches and [can only be used to limit the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).",
           "format": "byte",
           "type": "string"
         },
@@ -1707,19 +1710,19 @@
           "description": "The filter to apply."
         },
         "kind": {
-          "description": "The kinds to query (if empty, returns entities of all kinds).\nCurrently at most 1 kind may be specified.",
+          "description": "The kinds to query (if empty, returns entities of all kinds). Currently at most 1 kind may be specified.",
           "items": {
             "$ref": "KindExpression"
           },
           "type": "array"
         },
         "limit": {
-          "description": "The maximum number of results to return. Applies after all other\nconstraints. Optional.\nUnspecified is interpreted as no limit.\nMust be \u003e= 0 if specified.",
+          "description": "The maximum number of results to return. Applies after all other constraints. Optional. Unspecified is interpreted as no limit. Must be \u003e= 0 if specified.",
           "format": "int32",
           "type": "integer"
         },
         "offset": {
-          "description": "The number of results to skip. Applies before limit, but after all other\nconstraints. Optional. Must be \u003e= 0 if specified.",
+          "description": "The number of results to skip. Applies before limit, but after all other constraints. Optional. Must be \u003e= 0 if specified.",
           "format": "int32",
           "type": "integer"
         },
@@ -1738,7 +1741,7 @@
           "type": "array"
         },
         "startCursor": {
-          "description": "A starting point for the query results. Query cursors are\nreturned in query result batches and\n[can only be used to continue the same\nquery](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).",
+          "description": "A starting point for the query results. Query cursors are returned in query result batches and [can only be used to continue the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).",
           "format": "byte",
           "type": "string"
         }
@@ -1790,13 +1793,13 @@
             "Unspecified. This value is never used.",
             "There may be additional batches to fetch from this query.",
             "The query is finished, but there may be more results after the limit.",
-            "The query is finished, but there may be more results after the end\ncursor.",
+            "The query is finished, but there may be more results after the end cursor.",
             "The query is finished, and there are no more results."
           ],
           "type": "string"
         },
         "skippedCursor": {
-          "description": "A cursor that points to the position after the last skipped result.\nWill be set when `skipped_results` != 0.",
+          "description": "A cursor that points to the position after the last skipped result. Will be set when `skipped_results` != 0.",
           "format": "byte",
           "type": "string"
         },
@@ -1806,7 +1809,7 @@
           "type": "integer"
         },
         "snapshotVersion": {
-          "description": "The version number of the snapshot this batch was returned from.\nThis applies to the range of results from the query's `start_cursor` (or\nthe beginning of the query if no cursor was given) to this batch's\n`end_cursor` (not the query's `end_cursor`).\n\nIn a single transaction, subsequent query result batches for the same query\ncan have a greater snapshot version number. Each batch's snapshot version\nis valid for all preceding batches.\nThe value will be zero for eventually consistent queries.",
+          "description": "The version number of the snapshot this batch was returned from. This applies to the range of results from the query's `start_cursor` (or the beginning of the query if no cursor was given) to this batch's `end_cursor` (not the query's `end_cursor`). In a single transaction, subsequent query result batches for the same query can have a greater snapshot version number. Each batch's snapshot version is valid for all preceding batches. The value will be zero for eventually consistent queries.",
           "format": "int64",
           "type": "string"
         }
@@ -1824,7 +1827,7 @@
       "id": "ReadOptions",
       "properties": {
         "readConsistency": {
-          "description": "The non-transactional read consistency to use.\nCannot be set to `STRONG` for global queries.",
+          "description": "The non-transactional read consistency to use. Cannot be set to `STRONG` for global queries.",
           "enum": [
             "READ_CONSISTENCY_UNSPECIFIED",
             "STRONG",
@@ -1838,7 +1841,7 @@
           "type": "string"
         },
         "transaction": {
-          "description": "The identifier of the transaction in which to read. A\ntransaction identifier is returned by a call to\nDatastore.BeginTransaction.",
+          "description": "The identifier of the transaction in which to read. A transaction identifier is returned by a call to Datastore.BeginTransaction.",
           "format": "byte",
           "type": "string"
         }
@@ -1866,7 +1869,7 @@
           "type": "string"
         },
         "keys": {
-          "description": "Required. A list of keys with complete key paths whose numeric IDs should not be\nauto-allocated.",
+          "description": "Required. A list of keys with complete key paths whose numeric IDs should not be auto-allocated.",
           "items": {
             "$ref": "Key"
           },
@@ -1886,7 +1889,7 @@
       "id": "RollbackRequest",
       "properties": {
         "transaction": {
-          "description": "Required. The transaction identifier, returned by a call to\nDatastore.BeginTransaction.",
+          "description": "Required. The transaction identifier, returned by a call to Datastore.BeginTransaction.",
           "format": "byte",
           "type": "string"
         }
@@ -1894,7 +1897,7 @@
       "type": "object"
     },
     "RollbackResponse": {
-      "description": "The response for Datastore.Rollback.\n(an empty message).",
+      "description": "The response for Datastore.Rollback. (an empty message).",
       "id": "RollbackResponse",
       "properties": {},
       "type": "object"
@@ -1909,7 +1912,7 @@
         },
         "partitionId": {
           "$ref": "PartitionId",
-          "description": "Entities are partitioned into subsets, identified by a partition ID.\nQueries are scoped to a single partition.\nThis partition ID is normalized with the standard default context\npartition ID."
+          "description": "Entities are partitioned into subsets, identified by a partition ID. Queries are scoped to a single partition. This partition ID is normalized with the standard default context partition ID."
         },
         "query": {
           "$ref": "Query",
@@ -1938,7 +1941,7 @@
       "type": "object"
     },
     "Status": {
-      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "Status",
       "properties": {
         "code": {
@@ -1947,7 +1950,7 @@
           "type": "integer"
         },
         "details": {
-          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -1958,14 +1961,14 @@
           "type": "array"
         },
         "message": {
-          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "TransactionOptions": {
-      "description": "Options for beginning a new transaction.\n\nTransactions can be created explicitly with calls to\nDatastore.BeginTransaction or implicitly by setting\nReadOptions.new_transaction in read requests.",
+      "description": "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.",
       "id": "TransactionOptions",
       "properties": {
         "readOnly": {
@@ -1980,15 +1983,15 @@
       "type": "object"
     },
     "Value": {
-      "description": "A message that can hold any of the supported value types and associated\nmetadata.",
+      "description": "A message that can hold any of the supported value types and associated metadata.",
       "id": "Value",
       "properties": {
         "arrayValue": {
           "$ref": "ArrayValue",
-          "description": "An array value.\nCannot contain another array value.\nA `Value` instance that sets field `array_value` must not set fields\n`meaning` or `exclude_from_indexes`."
+          "description": "An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`."
         },
         "blobValue": {
-          "description": "A blob value.\nMay have at most 1,000,000 bytes.\nWhen `exclude_from_indexes` is false, may have at most 1500 bytes.\nIn JSON requests, must be base64-encoded.",
+          "description": "A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.",
           "format": "byte",
           "type": "string"
         },
@@ -2003,10 +2006,10 @@
         },
         "entityValue": {
           "$ref": "Entity",
-          "description": "An entity value.\n\n- May have no key.\n- May have a key with an incomplete key path.\n- May have a reserved/read-only key."
+          "description": "An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key."
         },
         "excludeFromIndexes": {
-          "description": "If the value should be excluded from all indexes including those defined\nexplicitly.",
+          "description": "If the value should be excluded from all indexes including those defined explicitly.",
           "type": "boolean"
         },
         "geoPointValue": {
@@ -2038,11 +2041,11 @@
           "type": "string"
         },
         "stringValue": {
-          "description": "A UTF-8 encoded string value.\nWhen `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.\nOtherwise, may be set to at most 1,000,000 bytes.",
+          "description": "A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.",
           "type": "string"
         },
         "timestampValue": {
-          "description": "A timestamp value.\nWhen stored in the Datastore, precise only to microseconds;\nany additional precision is rounded down.",
+          "description": "A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.",
           "format": "google-datetime",
           "type": "string"
         }
diff --git a/datastore/v1/datastore-gen.go b/datastore/v1/datastore-gen.go
index 067ef6e..188070f 100644
--- a/datastore/v1/datastore-gen.go
+++ b/datastore/v1/datastore-gen.go
@@ -181,8 +181,7 @@
 // AllocateIdsRequest: The request for Datastore.AllocateIds.
 type AllocateIdsRequest struct {
 	// Keys: Required. A list of keys with incomplete key paths for which to
-	// allocate IDs.
-	// No key may be reserved/read-only.
+	// allocate IDs. No key may be reserved/read-only.
 	Keys []*Key `json:"keys,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Keys") to
@@ -211,8 +210,7 @@
 // AllocateIdsResponse: The response for Datastore.AllocateIds.
 type AllocateIdsResponse struct {
 	// Keys: The keys specified in the request (in the same order), each
-	// with
-	// its key path completed with a newly allocated ID.
+	// with its key path completed with a newly allocated ID.
 	Keys []*Key `json:"keys,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -244,10 +242,9 @@
 
 // ArrayValue: An array value.
 type ArrayValue struct {
-	// Values: Values in the array.
-	// The order of values in an array is preserved as long as all values
-	// have
-	// identical settings for 'exclude_from_indexes'.
+	// Values: Values in the array. The order of values in an array is
+	// preserved as long as all values have identical settings for
+	// 'exclude_from_indexes'.
 	Values []*Value `json:"values,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Values") to
@@ -342,37 +339,23 @@
 	// Possible values:
 	//   "MODE_UNSPECIFIED" - Unspecified. This value must not be used.
 	//   "TRANSACTIONAL" - Transactional: The mutations are either all
-	// applied, or none are applied.
-	// Learn about
-	// transactions
-	// [here](https://cloud.google.com/datastore/docs/concepts/t
-	// ransactions).
+	// applied, or none are applied. Learn about transactions
+	// [here](https://cloud.google.com/datastore/docs/concepts/transactions).
 	//   "NON_TRANSACTIONAL" - Non-transactional: The mutations may not
 	// apply as all or none.
 	Mode string `json:"mode,omitempty"`
 
-	// Mutations: The mutations to perform.
-	//
-	// When mode is `TRANSACTIONAL`, mutations affecting a single entity
-	// are
-	// applied in order. The following sequences of mutations affecting a
-	// single
-	// entity are not permitted in a single `Commit` request:
-	//
-	// - `insert` followed by `insert`
-	// - `update` followed by `insert`
-	// - `upsert` followed by `insert`
-	// - `delete` followed by `update`
-	//
-	// When mode is `NON_TRANSACTIONAL`, no two mutations may affect a
-	// single
-	// entity.
+	// Mutations: The mutations to perform. When mode is `TRANSACTIONAL`,
+	// mutations affecting a single entity are applied in order. The
+	// following sequences of mutations affecting a single entity are not
+	// permitted in a single `Commit` request: - `insert` followed by
+	// `insert` - `update` followed by `insert` - `upsert` followed by
+	// `insert` - `delete` followed by `update` When mode is
+	// `NON_TRANSACTIONAL`, no two mutations may affect a single entity.
 	Mutations []*Mutation `json:"mutations,omitempty"`
 
 	// Transaction: The identifier of the transaction associated with the
-	// commit. A
-	// transaction identifier is returned by a call
-	// to
+	// commit. A transaction identifier is returned by a call to
 	// Datastore.BeginTransaction.
 	Transaction string `json:"transaction,omitempty"`
 
@@ -402,13 +385,11 @@
 // CommitResponse: The response for Datastore.Commit.
 type CommitResponse struct {
 	// IndexUpdates: The number of index entries updated during the commit,
-	// or zero if none were
-	// updated.
+	// or zero if none were updated.
 	IndexUpdates int64 `json:"indexUpdates,omitempty"`
 
-	// MutationResults: The result of performing the mutations.
-	// The i-th mutation result corresponds to the i-th mutation in the
-	// request.
+	// MutationResults: The result of performing the mutations. The i-th
+	// mutation result corresponds to the i-th mutation in the request.
 	MutationResults []*MutationResult `json:"mutationResults,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -441,8 +422,8 @@
 // CompositeFilter: A filter that merges multiple other filters using
 // the given operator.
 type CompositeFilter struct {
-	// Filters: The list of filters to combine.
-	// Must contain at least one filter.
+	// Filters: The list of filters to combine. Must contain at least one
+	// filter.
 	Filters []*Filter `json:"filters,omitempty"`
 
 	// Op: The operator for combining multiple filters.
@@ -477,47 +458,32 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
 	googleapi.ServerResponse `json:"-"`
 }
 
-// Entity: A Datastore data object.
-//
-// An entity is limited to 1 megabyte when stored. That
-// _roughly_
-// corresponds to a limit of 1 megabyte for the serialized form of
-// this
-// message.
+// Entity: A Datastore data object. An entity is limited to 1 megabyte
+// when stored. That _roughly_ corresponds to a limit of 1 megabyte for
+// the serialized form of this message.
 type Entity struct {
-	// Key: The entity's key.
-	//
-	// An entity must have a key, unless otherwise documented (for
-	// example,
-	// an entity in `Value.entity_value` may have no key).
-	// An entity's kind is its key path's last element's kind,
-	// or null if it has no key.
+	// Key: The entity's key. An entity must have a key, unless otherwise
+	// documented (for example, an entity in `Value.entity_value` may have
+	// no key). An entity's kind is its key path's last element's kind, or
+	// null if it has no key.
 	Key *Key `json:"key,omitempty"`
 
-	// Properties: The entity's properties.
-	// The map's keys are property names.
-	// A property name matching regex `__.*__` is reserved.
-	// A reserved property name is forbidden in certain documented
-	// contexts.
-	// The name must not contain more than 500 characters.
-	// The name cannot be "".
+	// Properties: The entity's properties. The map's keys are property
+	// names. A property name matching regex `__.*__` is reserved. A
+	// reserved property name is forbidden in certain documented contexts.
+	// The name must not contain more than 500 characters. The name cannot
+	// be "".
 	Properties map[string]Value `json:"properties,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Key") to
@@ -545,8 +511,7 @@
 
 // EntityResult: The result of fetching an entity from Datastore.
 type EntityResult struct {
-	// Cursor: A cursor that points to the position after the result
-	// entity.
+	// Cursor: A cursor that points to the position after the result entity.
 	// Set only when the `EntityResult` is part of a `QueryResultBatch`
 	// message.
 	Cursor string `json:"cursor,omitempty"`
@@ -555,16 +520,10 @@
 	Entity *Entity `json:"entity,omitempty"`
 
 	// Version: The version of the entity, a strictly positive number that
-	// monotonically
-	// increases with changes to the entity.
-	//
-	// This field is set for `FULL` entity
-	// results.
-	//
-	// For missing entities in `LookupResponse`, this
-	// is the version of the snapshot that was used to look up the entity,
-	// and it
-	// is always set except for eventually consistent reads.
+	// monotonically increases with changes to the entity. This field is set
+	// for `FULL` entity results. For missing entities in `LookupResponse`,
+	// this is the version of the snapshot that was used to look up the
+	// entity, and it is always set except for eventually consistent reads.
 	Version int64 `json:"version,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "Cursor") to
@@ -630,12 +589,10 @@
 	EndTime string `json:"endTime,omitempty"`
 
 	// Labels: The client-assigned labels which were provided when the
-	// operation was
-	// created. May also include additional labels.
+	// operation was created. May also include additional labels.
 	Labels map[string]string `json:"labels,omitempty"`
 
-	// OperationType: The type of the operation. Can be used as a filter
-	// in
+	// OperationType: The type of the operation. Can be used as a filter in
 	// ListOperationsRequest.
 	//
 	// Possible values:
@@ -656,16 +613,15 @@
 	//   "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
-	// google.longrunning.Operations.CancelOperation on the operation.
+	// user called google.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
-	// google.longrunning.Operations.CancelOperation.
+	// called google.longrunning.Operations.CancelOperation.
 	State string `json:"state,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "EndTime") to
@@ -692,40 +648,24 @@
 }
 
 // GoogleDatastoreAdminV1EntityFilter: Identifies a subset of entities
-// in a project. This is specified as
-// combinations of kinds and namespaces (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']
+// in a project. This is specified as combinations of kinds and
+// namespaces (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']
 type GoogleDatastoreAdminV1EntityFilter struct {
 	// Kinds: If empty, then this represents all kinds.
 	Kinds []string `json:"kinds,omitempty"`
 
 	// NamespaceIds: 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.
+	// 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.
 	NamespaceIds []string `json:"namespaceIds,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Kinds") to
@@ -761,13 +701,9 @@
 	EntityFilter *GoogleDatastoreAdminV1EntityFilter `json:"entityFilter,omitempty"`
 
 	// OutputUrlPrefix: Location for the export metadata and data files.
-	// This will be the same
-	// value as
-	// the
+	// This will be the same value as the
 	// google.datastore.admin.v1.ExportEntitiesRequest.output_url_prefix
-	//
-	// field. The final output location is provided
-	// in
+	// field. The final output location is provided in
 	// google.datastore.admin.v1.ExportEntitiesResponse.output_url.
 	OutputUrlPrefix string `json:"outputUrlPrefix,omitempty"`
 
@@ -800,8 +736,7 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GoogleDatastoreAdminV1ExportEntitiesRequest: The request
-// for
+// GoogleDatastoreAdminV1ExportEntitiesRequest: The request for
 // google.datastore.admin.v1.DatastoreAdmin.ExportEntities.
 type GoogleDatastoreAdminV1ExportEntitiesRequest struct {
 	// EntityFilter: Description of what data from the project is included
@@ -812,35 +747,21 @@
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// OutputUrlPrefix: Required. Location for the export metadata and data
-	// files.
-	//
-	// The full resource URL of the external storage location. Currently,
-	// only
-	// Google Cloud Storage is supported. So output_url_prefix should be of
-	// the
-	// form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is
-	// the
-	// name of the Cloud Storage bucket and `NAMESPACE_PATH` is an optional
-	// Cloud
+	// files. The full resource URL of the external storage location.
+	// Currently, only Google Cloud Storage is supported. So
+	// output_url_prefix should be of the form:
+	// `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the name
+	// of the Cloud Storage bucket and `NAMESPACE_PATH` is an optional Cloud
 	// Storage namespace path (this is not a Cloud Datastore namespace). For
-	// more
-	// information about Cloud Storage namespace paths, see
-	// [Object
+	// more information about Cloud Storage namespace paths, see [Object
 	// name
-	// considerations](https://cloud.google.com/storage/docs/naming#obje
-	// ct-considerations).
-	//
-	// The resulting files will be nested deeper than the specified URL
-	// prefix.
-	// The final output URL will be provided in
-	// the
+	// considerations](https://cloud.google.com/storage/docs/naming#object-co
+	// nsiderations). The resulting files will be nested deeper than the
+	// specified URL prefix. The final output URL will be provided in the
 	// google.datastore.admin.v1.ExportEntitiesResponse.output_url field.
-	// That
-	// value should be used for subsequent ImportEntities operations.
-	//
+	// That value should be used for subsequent ImportEntities operations.
 	// By nesting the data files deeper, the same Cloud Storage bucket can
-	// be used
-	// in multiple ExportEntities operations without conflict.
+	// be used in multiple ExportEntities operations without conflict.
 	OutputUrlPrefix string `json:"outputUrlPrefix,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "EntityFilter") to
@@ -866,16 +787,14 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GoogleDatastoreAdminV1ExportEntitiesResponse: The response
-// for
+// GoogleDatastoreAdminV1ExportEntitiesResponse: The response for
 // google.datastore.admin.v1.DatastoreAdmin.ExportEntities.
 type GoogleDatastoreAdminV1ExportEntitiesResponse struct {
 	// OutputUrl: 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.v1.ImportEntitiesRequest.input_url.
-	// Only present if the operation completed successfully.
+	// begin an import into Cloud Datastore (this project or another
+	// project). See
+	// google.datastore.admin.v1.ImportEntitiesRequest.input_url. Only
+	// present if the operation completed successfully.
 	OutputUrl string `json:"outputUrl,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "OutputUrl") to
@@ -911,9 +830,8 @@
 	EntityFilter *GoogleDatastoreAdminV1EntityFilter `json:"entityFilter,omitempty"`
 
 	// InputUrl: The location of the import metadata file. This will be the
-	// same value as
-	// the google.datastore.admin.v1.ExportEntitiesResponse.output_url
-	// field.
+	// same value as the
+	// google.datastore.admin.v1.ExportEntitiesResponse.output_url field.
 	InputUrl string `json:"inputUrl,omitempty"`
 
 	// ProgressBytes: An estimate of the number of bytes processed.
@@ -945,41 +863,28 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GoogleDatastoreAdminV1ImportEntitiesRequest: The request
-// for
+// GoogleDatastoreAdminV1ImportEntitiesRequest: The request for
 // google.datastore.admin.v1.DatastoreAdmin.ImportEntities.
 type GoogleDatastoreAdminV1ImportEntitiesRequest struct {
 	// EntityFilter: Optionally specify which kinds/namespaces are to be
-	// imported. If provided,
-	// the list must be a subset of the EntityFilter used in creating the
-	// export,
-	// otherwise a FAILED_PRECONDITION error will be returned. If no filter
-	// is
-	// specified then all entities from the export are imported.
+	// imported. If provided, the list must be a subset of the EntityFilter
+	// used in creating the export, otherwise a FAILED_PRECONDITION error
+	// will be returned. If no filter is specified then all entities from
+	// the export are imported.
 	EntityFilter *GoogleDatastoreAdminV1EntityFilter `json:"entityFilter,omitempty"`
 
 	// InputUrl: Required. The full resource URL of the external storage
-	// location. Currently, only
-	// Google Cloud Storage is supported. So input_url should be of the
-	// form:
-	// `gs://BUCKET_NAME[/NAMESPACE_PATH]/OVERALL_EXPORT_METADATA_FILE`
-	// , where
-	// `BUCKET_NAME` is the name of the Cloud Storage bucket,
-	// `NAMESPACE_PATH` is
-	// an optional Cloud Storage namespace path (this is not a Cloud
-	// Datastore
-	// namespace), and `OVERALL_EXPORT_METADATA_FILE` is the metadata file
-	// written
-	// by the ExportEntities operation. For more information about Cloud
-	// Storage
-	// namespace paths, see
-	// [Object
+	// location. Currently, only Google Cloud Storage is supported. So
+	// input_url should be of the form:
+	// `gs://BUCKET_NAME[/NAMESPACE_PATH]/OVERALL_EXPORT_METADATA_FILE`,
+	// where `BUCKET_NAME` is the name of the Cloud Storage bucket,
+	// `NAMESPACE_PATH` is an optional Cloud Storage namespace path (this is
+	// not a Cloud Datastore namespace), and `OVERALL_EXPORT_METADATA_FILE`
+	// is the metadata file written by the ExportEntities operation. For
+	// more information about Cloud Storage namespace paths, see [Object
 	// name
-	// considerations](https://cloud.google.com/storage/docs/naming#obje
-	// ct-considerations).
-	//
-	// For more information,
-	// see
+	// considerations](https://cloud.google.com/storage/docs/naming#object-co
+	// nsiderations). For more information, see
 	// google.datastore.admin.v1.ExportEntitiesResponse.output_url.
 	InputUrl string `json:"inputUrl,omitempty"`
 
@@ -1011,7 +916,7 @@
 
 // GoogleDatastoreAdminV1Index: Datastore composite index definition.
 type GoogleDatastoreAdminV1Index struct {
-	// Ancestor: Required. The index's ancestor mode.  Must not be
+	// Ancestor: Required. The index's ancestor mode. Must not be
 	// ANCESTOR_MODE_UNSPECIFIED.
 	//
 	// Possible values:
@@ -1038,25 +943,20 @@
 	// Possible values:
 	//   "STATE_UNSPECIFIED" - The state is unspecified.
 	//   "CREATING" - The index is being created, and cannot be used by
-	// queries.
-	// There is an active long-running operation for the index.
-	// The index is updated when writing an entity.
-	// Some index data may exist.
-	//   "READY" - The index is ready to be used.
-	// The index is updated when writing an entity.
-	// The index is fully populated from all stored entities it applies to.
+	// queries. There is an active long-running operation for the index. The
+	// index is updated when writing an entity. Some index data may exist.
+	//   "READY" - The index is ready to be used. The index is updated when
+	// writing an entity. The index is fully populated from all stored
+	// entities it applies to.
 	//   "DELETING" - The index is being deleted, and cannot be used by
-	// queries.
-	// There is an active long-running operation for the index.
-	// The index is not updated when writing an entity.
-	// Some index data may exist.
+	// queries. There is an active long-running operation for the index. The
+	// index is not updated when writing an entity. Some index data may
+	// exist.
 	//   "ERROR" - The index was being created or deleted, but something
-	// went wrong.
-	// The index cannot by used by queries.
-	// There is no active long-running operation for the index,
-	// and the most recently finished long-running operation failed.
-	// The index is not updated when writing an entity.
-	// Some index data may exist.
+	// went wrong. The index cannot by used by queries. There is no active
+	// long-running operation for the index, and the most recently finished
+	// long-running operation failed. The index is not updated when writing
+	// an entity. Some index data may exist.
 	State string `json:"state,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1123,17 +1023,15 @@
 
 // GoogleDatastoreAdminV1IndexedProperty: A property of an index.
 type GoogleDatastoreAdminV1IndexedProperty struct {
-	// Direction: Required. The indexed property's direction.  Must not be
+	// Direction: Required. The indexed property's direction. Must not be
 	// DIRECTION_UNSPECIFIED.
 	//
 	// Possible values:
 	//   "DIRECTION_UNSPECIFIED" - The direction is unspecified.
 	//   "ASCENDING" - The property's values are indexed so as to support
-	// sequencing in
-	// ascending order and also query by <, >, <=, >=, and =.
+	// sequencing in ascending order and also query by <, >, <=, >=, and =.
 	//   "DESCENDING" - The property's values are indexed so as to support
-	// sequencing in
-	// descending order and also query by <, >, <=, >=, and =.
+	// sequencing in descending order and also query by <, >, <=, >=, and =.
 	Direction string `json:"direction,omitempty"`
 
 	// Name: Required. The property name to index.
@@ -1162,8 +1060,7 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GoogleDatastoreAdminV1ListIndexesResponse: The response
-// for
+// GoogleDatastoreAdminV1ListIndexesResponse: The response for
 // google.datastore.admin.v1.DatastoreAdmin.ListIndexes.
 type GoogleDatastoreAdminV1ListIndexesResponse struct {
 	// Indexes: The indexes.
@@ -1203,13 +1100,11 @@
 // metric.
 type GoogleDatastoreAdminV1Progress struct {
 	// WorkCompleted: The amount of work that has been completed. Note that
-	// this may be greater
-	// than work_estimated.
+	// this may be greater than work_estimated.
 	WorkCompleted int64 `json:"workCompleted,omitempty,string"`
 
 	// WorkEstimated: An estimate of how much work needs to be performed.
-	// May be zero if the
-	// work estimate is unavailable.
+	// May be zero if the work estimate is unavailable.
 	WorkEstimated int64 `json:"workEstimated,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "WorkCompleted") to
@@ -1243,12 +1138,10 @@
 	EndTime string `json:"endTime,omitempty"`
 
 	// Labels: The client-assigned labels which were provided when the
-	// operation was
-	// created. May also include additional labels.
+	// operation was created. May also include additional labels.
 	Labels map[string]string `json:"labels,omitempty"`
 
-	// OperationType: The type of the operation. Can be used as a filter
-	// in
+	// OperationType: The type of the operation. Can be used as a filter in
 	// ListOperationsRequest.
 	//
 	// Possible values:
@@ -1267,16 +1160,15 @@
 	//   "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
-	// google.longrunning.Operations.CancelOperation on the operation.
+	// user called google.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
-	// google.longrunning.Operations.CancelOperation.
+	// called google.longrunning.Operations.CancelOperation.
 	State string `json:"state,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "EndTime") to
@@ -1303,40 +1195,24 @@
 }
 
 // GoogleDatastoreAdminV1beta1EntityFilter: Identifies a subset of
-// entities in a project. This is specified as
-// combinations of kinds and namespaces (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']
+// entities in a project. This is specified as combinations of kinds and
+// namespaces (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']
 type GoogleDatastoreAdminV1beta1EntityFilter struct {
 	// Kinds: If empty, then this represents all kinds.
 	Kinds []string `json:"kinds,omitempty"`
 
 	// NamespaceIds: 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.
+	// 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.
 	NamespaceIds []string `json:"namespaceIds,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Kinds") to
@@ -1372,13 +1248,9 @@
 	EntityFilter *GoogleDatastoreAdminV1beta1EntityFilter `json:"entityFilter,omitempty"`
 
 	// OutputUrlPrefix: Location for the export metadata and data files.
-	// This will be the same
-	// value as
-	// the
-	// google.datastore.admin.v1beta1.ExportEntitiesRequest.output_url_pr
-	// efix
-	// field. The final output location is provided
-	// in
+	// 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.
 	OutputUrlPrefix string `json:"outputUrlPrefix,omitempty"`
 
@@ -1411,17 +1283,14 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GoogleDatastoreAdminV1beta1ExportEntitiesResponse: The response
-// for
+// GoogleDatastoreAdminV1beta1ExportEntitiesResponse: The response for
 // google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities.
 type GoogleDatastoreAdminV1beta1ExportEntitiesResponse struct {
 	// OutputUrl: 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.
-	// On
-	// ly present if the operation completed successfully.
+	// 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.
 	OutputUrl string `json:"outputUrl,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "OutputUrl") to
@@ -1457,11 +1326,9 @@
 	EntityFilter *GoogleDatastoreAdminV1beta1EntityFilter `json:"entityFilter,omitempty"`
 
 	// InputUrl: The location of the import metadata file. This will be the
-	// same value as
-	// the
+	// same value as the
 	// google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url
-	// field
-	// .
+	// field.
 	InputUrl string `json:"inputUrl,omitempty"`
 
 	// ProgressBytes: An estimate of the number of bytes processed.
@@ -1497,13 +1364,11 @@
 // particular metric.
 type GoogleDatastoreAdminV1beta1Progress struct {
 	// WorkCompleted: The amount of work that has been completed. Note that
-	// this may be greater
-	// than work_estimated.
+	// this may be greater than work_estimated.
 	WorkCompleted int64 `json:"workCompleted,omitempty,string"`
 
 	// WorkEstimated: An estimate of how much work needs to be performed.
-	// May be zero if the
-	// work estimate is unavailable.
+	// May be zero if the work estimate is unavailable.
 	WorkEstimated int64 `json:"workEstimated,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "WorkCompleted") to
@@ -1567,52 +1432,38 @@
 }
 
 // GoogleLongrunningOperation: This resource represents a long-running
-// operation that is the result of a
-// network API call.
+// operation that is the result of a network API call.
 type GoogleLongrunningOperation struct {
 	// Done: 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.
+	// progress. If `true`, the operation is completed, and either `error`
+	// or `response` is available.
 	Done bool `json:"done,omitempty"`
 
 	// Error: The error result of the operation in case of failure or
 	// cancellation.
 	Error *Status `json:"error,omitempty"`
 
-	// Metadata: 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.
+	// Metadata: 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.
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Name: The server-assigned name, which is only unique within the same
-	// service that
-	// originally returns it. If you use the default HTTP mapping,
-	// the
-	// `name` should be a resource name ending with
+	// service that originally returns it. If you use the default HTTP
+	// mapping, the `name` should be a resource name ending with
 	// `operations/{unique_id}`.
 	Name string `json:"name,omitempty"`
 
-	// Response: 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`.
+	// Response: 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`.
 	Response googleapi.RawMessage `json:"response,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1642,41 +1493,32 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GqlQuery: A
-// [GQL
-// query](https://cloud.google.com/datastore/docs/apis/gql/gql_refer
-// ence).
+// GqlQuery: A [GQL
+// query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference)
+// .
 type GqlQuery struct {
 	// AllowLiterals: When false, the query string must not contain any
-	// literals and instead must
-	// bind all values. For example,
-	// `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed,
-	// while
-	// `SELECT * FROM Kind WHERE a = @value` is.
+	// literals and instead must bind all values. For example, `SELECT *
+	// FROM Kind WHERE a = 'string literal'` is not allowed, while `SELECT *
+	// FROM Kind WHERE a = @value` is.
 	AllowLiterals bool `json:"allowLiterals,omitempty"`
 
 	// NamedBindings: For each non-reserved named binding site in the query
-	// string, there must be
-	// a named parameter with that name, but not necessarily the
-	// inverse.
-	//
-	// Key must match regex `A-Za-z_$*`, must not match regex
-	// `__.*__`, and must not be "".
+	// string, there must be a named parameter with that name, but not
+	// necessarily the inverse. Key must match regex `A-Za-z_$*`, must not
+	// match regex `__.*__`, and must not be "".
 	NamedBindings map[string]GqlQueryParameter `json:"namedBindings,omitempty"`
 
 	// PositionalBindings: Numbered binding site @1 references the first
-	// numbered parameter,
-	// effectively using 1-based indexing, rather than the usual 0.
-	//
-	// For each binding site numbered i in `query_string`, there must be an
-	// i-th
-	// numbered parameter. The inverse must also be true.
+	// numbered parameter, effectively using 1-based indexing, rather than
+	// the usual 0. For each binding site numbered i in `query_string`,
+	// there must be an i-th numbered parameter. The inverse must also be
+	// true.
 	PositionalBindings []*GqlQueryParameter `json:"positionalBindings,omitempty"`
 
-	// QueryString: A string of the format
-	// described
-	// [here](https://cloud.google.com/datastore/docs/apis/gql/gql_
-	// reference).
+	// QueryString: A string of the format described
+	// [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference)
+	// .
 	QueryString string `json:"queryString,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AllowLiterals") to
@@ -1704,8 +1546,8 @@
 
 // GqlQueryParameter: A binding parameter for a GQL query.
 type GqlQueryParameter struct {
-	// Cursor: A query cursor. Query cursors are returned in query
-	// result batches.
+	// Cursor: A query cursor. Query cursors are returned in query result
+	// batches.
 	Cursor string `json:"cursor,omitempty"`
 
 	// Value: A value parameter.
@@ -1734,43 +1576,29 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// Key: A unique identifier for an entity.
-// If a key's partition ID or any of its path kinds or names
-// are
-// reserved/read-only, the key is reserved/read-only.
-// A reserved/read-only key is forbidden in certain documented contexts.
+// Key: A unique identifier for an entity. If a key's partition ID or
+// any of its path kinds or names are reserved/read-only, the key is
+// reserved/read-only. A reserved/read-only key is forbidden in certain
+// documented contexts.
 type Key struct {
 	// PartitionId: Entities are partitioned into subsets, currently
-	// identified by a project
-	// ID and namespace ID.
-	// Queries are scoped to a single partition.
+	// identified by a project ID and namespace ID. Queries are scoped to a
+	// single partition.
 	PartitionId *PartitionId `json:"partitionId,omitempty"`
 
-	// Path: The entity path.
-	// An entity path consists of one or more elements composed of a kind
-	// and a
-	// string or numerical identifier, which identify entities. The
-	// first
-	// element identifies a _root entity_, the second element identifies
-	// a _child_ of the root entity, the third element identifies a child of
-	// the
-	// second entity, and so forth. The entities identified by all prefixes
-	// of
-	// the path are called the element's _ancestors_.
-	//
-	// An entity path is always fully complete: *all* of the entity's
-	// ancestors
-	// are required to be in the path along with the entity identifier
-	// itself.
-	// The only exception is that in some documented cases, the identifier
-	// in the
-	// last path element (for the entity) itself may be omitted. For
-	// example,
-	// the last path element of the key of `Mutation.insert` may have
-	// no
-	// identifier.
-	//
-	// A path can never be empty, and a path can have at most 100 elements.
+	// Path: The entity path. An entity path consists of one or more
+	// elements composed of a kind and a string or numerical identifier,
+	// which identify entities. The first element identifies a _root
+	// entity_, the second element identifies a _child_ of the root entity,
+	// the third element identifies a child of the second entity, and so
+	// forth. The entities identified by all prefixes of the path are called
+	// the element's _ancestors_. An entity path is always fully complete:
+	// *all* of the entity's ancestors are required to be in the path along
+	// with the entity identifier itself. The only exception is that in some
+	// documented cases, the identifier in the last path element (for the
+	// entity) itself may be omitted. For example, the last path element of
+	// the key of `Mutation.insert` may have no identifier. A path can never
+	// be empty, and a path can have at most 100 elements.
 	Path []*PathElement `json:"path,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "PartitionId") to
@@ -1825,14 +1653,9 @@
 }
 
 // LatLng: An object representing a latitude/longitude pair. This is
-// expressed as a pair
-// of doubles representing degrees latitude and degrees longitude.
-// Unless
-// specified otherwise, this must conform to the
-// <a
-// href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
-// st
-// andard</a>. Values must be within normalized ranges.
+// expressed as a pair of doubles representing degrees latitude and
+// degrees longitude. Unless specified otherwise, this must conform to
+// the WGS84 standard. Values must be within normalized ranges.
 type LatLng struct {
 	// Latitude: The latitude in degrees. It must be in the range [-90.0,
 	// +90.0].
@@ -1915,24 +1738,18 @@
 // LookupResponse: The response for Datastore.Lookup.
 type LookupResponse struct {
 	// Deferred: A list of keys that were not looked up due to resource
-	// constraints. The
-	// order of results in this field is undefined and has no relation to
-	// the
-	// order of the keys in the input.
+	// constraints. The order of results in this field is undefined and has
+	// no relation to the order of the keys in the input.
 	Deferred []*Key `json:"deferred,omitempty"`
 
 	// Found: Entities found as `ResultType.FULL` entities. The order of
-	// results in this
-	// field is undefined and has no relation to the order of the keys in
-	// the
-	// input.
+	// results in this field is undefined and has no relation to the order
+	// of the keys in the input.
 	Found []*EntityResult `json:"found,omitempty"`
 
 	// Missing: Entities not found as `ResultType.KEY_ONLY` entities. The
-	// order of results
-	// in this field is undefined and has no relation to the order of the
-	// keys
-	// in the input.
+	// order of results in this field is undefined and has no relation to
+	// the order of the keys in the input.
 	Missing []*EntityResult `json:"missing,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1965,27 +1782,25 @@
 // Mutation: A mutation to apply to an entity.
 type Mutation struct {
 	// BaseVersion: The version of the entity that this mutation is being
-	// applied to. If this
-	// does not match the current version on the server, the mutation
-	// conflicts.
+	// applied to. If this does not match the current version on the server,
+	// the mutation conflicts.
 	BaseVersion int64 `json:"baseVersion,omitempty,string"`
 
 	// Delete: The key of the entity to delete. The entity may or may not
-	// already exist.
-	// Must have a complete key path and must not be reserved/read-only.
+	// already exist. Must have a complete key path and must not be
+	// reserved/read-only.
 	Delete *Key `json:"delete,omitempty"`
 
-	// Insert: The entity to insert. The entity must not already exist.
-	// The entity key's final path element may be incomplete.
+	// Insert: The entity to insert. The entity must not already exist. The
+	// entity key's final path element may be incomplete.
 	Insert *Entity `json:"insert,omitempty"`
 
-	// Update: The entity to update. The entity must already exist.
-	// Must have a complete key path.
+	// Update: The entity to update. The entity must already exist. Must
+	// have a complete key path.
 	Update *Entity `json:"update,omitempty"`
 
 	// Upsert: The entity to upsert. The entity may or may not already
-	// exist.
-	// The entity key's final path element may be incomplete.
+	// exist. The entity key's final path element may be incomplete.
 	Upsert *Entity `json:"upsert,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "BaseVersion") to
@@ -2014,23 +1829,20 @@
 // MutationResult: The result of applying a mutation.
 type MutationResult struct {
 	// ConflictDetected: Whether a conflict was detected for this mutation.
-	// Always false when a
-	// conflict detection strategy field is not set in the mutation.
+	// Always false when a conflict detection strategy field is not set in
+	// the mutation.
 	ConflictDetected bool `json:"conflictDetected,omitempty"`
 
-	// Key: The automatically allocated key.
-	// Set only when the mutation allocated a key.
+	// Key: The automatically allocated key. Set only when the mutation
+	// allocated a key.
 	Key *Key `json:"key,omitempty"`
 
 	// Version: The version of the entity on the server after processing the
-	// mutation. If
-	// the mutation doesn't change anything on the server, then the version
-	// will
-	// be the version of the current entity or, if no entity is present, a
-	// version
-	// that is strictly greater than the version of any previous entity and
-	// less
-	// than the version of any possible future entity.
+	// mutation. If the mutation doesn't change anything on the server, then
+	// the version will be the version of the current entity or, if no
+	// entity is present, a version that is strictly greater than the
+	// version of any previous entity and less than the version of any
+	// possible future entity.
 	Version int64 `json:"version,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "ConflictDetected") to
@@ -2058,28 +1870,16 @@
 }
 
 // PartitionId: A partition ID identifies a grouping of entities. The
-// grouping is always
-// by project and namespace, however the namespace ID may be empty.
-//
-// A partition ID contains several dimensions:
-// project ID and namespace ID.
-//
-// Partition dimensions:
-//
-// - May be "".
-// - Must be valid UTF-8 bytes.
-// - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
-// If the value of any dimension matches regex `__.*__`, the partition
-// is
-// reserved/read-only.
-// A reserved/read-only partition ID is forbidden in certain
-// documented
-// contexts.
-//
-// Foreign partition IDs (in which the project ID does
-// not match the context project ID ) are discouraged.
-// Reads and writes of foreign partition IDs may fail if the project is
-// not in an active state.
+// grouping is always by project and namespace, however the namespace ID
+// may be empty. A partition ID contains several dimensions: project ID
+// and namespace ID. Partition dimensions: - May be "". - Must be
+// valid UTF-8 bytes. - Must have values that match regex
+// `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex
+// `__.*__`, the partition is reserved/read-only. A reserved/read-only
+// partition ID is forbidden in certain documented contexts. Foreign
+// partition IDs (in which the project ID does not match the context
+// project ID ) are discouraged. Reads and writes of foreign partition
+// IDs may fail if the project is not in an active state.
 type PartitionId struct {
 	// NamespaceId: If not empty, the ID of the namespace to which the
 	// entities belong.
@@ -2111,28 +1911,23 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// PathElement: A (kind, ID/name) pair used to construct a key path.
-//
-// If either name or ID is set, the element is complete.
-// If neither is set, the element is incomplete.
+// PathElement: A (kind, ID/name) pair used to construct a key path. If
+// either name or ID is set, the element is complete. If neither is set,
+// the element is incomplete.
 type PathElement struct {
-	// Id: The auto-allocated ID of the entity.
-	// Never equal to zero. Values less than zero are discouraged and may
-	// not
-	// be supported in the future.
+	// Id: The auto-allocated ID of the entity. Never equal to zero. Values
+	// less than zero are discouraged and may not be supported in the
+	// future.
 	Id int64 `json:"id,omitempty,string"`
 
-	// Kind: The kind of the entity.
-	// A kind matching regex `__.*__` is reserved/read-only.
-	// A kind must not contain more than 1500 bytes when UTF-8
-	// encoded.
-	// Cannot be "".
+	// Kind: The kind of the entity. A kind matching regex `__.*__` is
+	// reserved/read-only. A kind must not contain more than 1500 bytes when
+	// UTF-8 encoded. Cannot be "".
 	Kind string `json:"kind,omitempty"`
 
-	// Name: The name of the entity.
-	// A name matching regex `__.*__` is reserved/read-only.
-	// A name must not be more than 1500 bytes when UTF-8 encoded.
-	// Cannot be "".
+	// Name: The name of the entity. A name matching regex `__.*__` is
+	// reserved/read-only. A name must not be more than 1500 bytes when
+	// UTF-8 encoded. Cannot be "".
 	Name string `json:"name,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Id") to
@@ -2268,8 +2063,8 @@
 // PropertyReference: A reference to a property relative to the kind
 // expressions.
 type PropertyReference struct {
-	// Name: The name of the property.
-	// If name includes "."s, it may be interpreted as a property name path.
+	// Name: The name of the property. If name includes "."s, it may be
+	// interpreted as a property name path.
 	Name string `json:"name,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Name") to
@@ -2298,39 +2093,31 @@
 // Query: A query for entities.
 type Query struct {
 	// DistinctOn: The properties to make distinct. The query results will
-	// contain the first
-	// result for each distinct combination of values for the given
-	// properties
-	// (if empty, all results are returned).
+	// contain the first result for each distinct combination of values for
+	// the given properties (if empty, all results are returned).
 	DistinctOn []*PropertyReference `json:"distinctOn,omitempty"`
 
-	// EndCursor: An ending point for the query results. Query cursors
-	// are
-	// returned in query result batches and
-	// [can only be used to limit the
+	// EndCursor: An ending point for the query results. Query cursors are
+	// returned in query result batches and [can only be used to limit the
 	// same
-	// query](https://cloud.google.com/datastore/docs/concepts/queries#c
-	// ursors_limits_and_offsets).
+	// query](https://cloud.google.com/datastore/docs/concepts/queries#cursor
+	// s_limits_and_offsets).
 	EndCursor string `json:"endCursor,omitempty"`
 
 	// Filter: The filter to apply.
 	Filter *Filter `json:"filter,omitempty"`
 
-	// Kind: The kinds to query (if empty, returns entities of all
-	// kinds).
+	// Kind: The kinds to query (if empty, returns entities of all kinds).
 	// Currently at most 1 kind may be specified.
 	Kind []*KindExpression `json:"kind,omitempty"`
 
 	// Limit: The maximum number of results to return. Applies after all
-	// other
-	// constraints. Optional.
-	// Unspecified is interpreted as no limit.
+	// other constraints. Optional. Unspecified is interpreted as no limit.
 	// Must be >= 0 if specified.
 	Limit int64 `json:"limit,omitempty"`
 
 	// Offset: The number of results to skip. Applies before limit, but
-	// after all other
-	// constraints. Optional. Must be >= 0 if specified.
+	// after all other constraints. Optional. Must be >= 0 if specified.
 	Offset int64 `json:"offset,omitempty"`
 
 	// Order: The order to apply to the query results (if empty, order is
@@ -2342,12 +2129,10 @@
 	Projection []*Projection `json:"projection,omitempty"`
 
 	// StartCursor: A starting point for the query results. Query cursors
-	// are
-	// returned in query result batches and
-	// [can only be used to continue the
-	// same
-	// query](https://cloud.google.com/datastore/docs/concepts/queries#c
-	// ursors_limits_and_offsets).
+	// are returned in query result batches and [can only be used to
+	// continue the same
+	// query](https://cloud.google.com/datastore/docs/concepts/queries#cursor
+	// s_limits_and_offsets).
 	StartCursor string `json:"startCursor,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "DistinctOn") to
@@ -2403,15 +2188,13 @@
 	//   "MORE_RESULTS_AFTER_LIMIT" - The query is finished, but there may
 	// be more results after the limit.
 	//   "MORE_RESULTS_AFTER_CURSOR" - The query is finished, but there may
-	// be more results after the end
-	// cursor.
+	// be more results after the end cursor.
 	//   "NO_MORE_RESULTS" - The query is finished, and there are no more
 	// results.
 	MoreResults string `json:"moreResults,omitempty"`
 
 	// SkippedCursor: A cursor that points to the position after the last
-	// skipped result.
-	// Will be set when `skipped_results` != 0.
+	// skipped result. Will be set when `skipped_results` != 0.
 	SkippedCursor string `json:"skippedCursor,omitempty"`
 
 	// SkippedResults: The number of results skipped, typically because of
@@ -2419,19 +2202,13 @@
 	SkippedResults int64 `json:"skippedResults,omitempty"`
 
 	// SnapshotVersion: The version number of the snapshot this batch was
-	// returned from.
-	// This applies to the range of results from the query's `start_cursor`
-	// (or
-	// the beginning of the query if no cursor was given) to this
-	// batch's
-	// `end_cursor` (not the query's `end_cursor`).
-	//
-	// In a single transaction, subsequent query result batches for the same
-	// query
-	// can have a greater snapshot version number. Each batch's snapshot
-	// version
-	// is valid for all preceding batches.
-	// The value will be zero for eventually consistent queries.
+	// returned from. This applies to the range of results from the query's
+	// `start_cursor` (or the beginning of the query if no cursor was given)
+	// to this batch's `end_cursor` (not the query's `end_cursor`). In a
+	// single transaction, subsequent query result batches for the same
+	// query can have a greater snapshot version number. Each batch's
+	// snapshot version is valid for all preceding batches. The value will
+	// be zero for eventually consistent queries.
 	SnapshotVersion int64 `json:"snapshotVersion,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "EndCursor") to
@@ -2463,8 +2240,7 @@
 
 // ReadOptions: The options shared by read requests.
 type ReadOptions struct {
-	// ReadConsistency: The non-transactional read consistency to
-	// use.
+	// ReadConsistency: The non-transactional read consistency to use.
 	// Cannot be set to `STRONG` for global queries.
 	//
 	// Possible values:
@@ -2474,10 +2250,8 @@
 	//   "EVENTUAL" - Eventual consistency.
 	ReadConsistency string `json:"readConsistency,omitempty"`
 
-	// Transaction: The identifier of the transaction in which to read.
-	// A
-	// transaction identifier is returned by a call
-	// to
+	// Transaction: The identifier of the transaction in which to read. A
+	// transaction identifier is returned by a call to
 	// Datastore.BeginTransaction.
 	Transaction string `json:"transaction,omitempty"`
 
@@ -2542,8 +2316,7 @@
 	DatabaseId string `json:"databaseId,omitempty"`
 
 	// Keys: Required. A list of keys with complete key paths whose numeric
-	// IDs should not be
-	// auto-allocated.
+	// IDs should not be auto-allocated.
 	Keys []*Key `json:"keys,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "DatabaseId") to
@@ -2579,8 +2352,7 @@
 // RollbackRequest: The request for Datastore.Rollback.
 type RollbackRequest struct {
 	// Transaction: Required. The transaction identifier, returned by a call
-	// to
-	// Datastore.BeginTransaction.
+	// to Datastore.BeginTransaction.
 	Transaction string `json:"transaction,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Transaction") to
@@ -2606,8 +2378,8 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// RollbackResponse: The response for Datastore.Rollback.
-// (an empty message).
+// RollbackResponse: The response for Datastore.Rollback. (an empty
+// message).
 type RollbackResponse struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -2620,10 +2392,8 @@
 	GqlQuery *GqlQuery `json:"gqlQuery,omitempty"`
 
 	// PartitionId: Entities are partitioned into subsets, identified by a
-	// partition ID.
-	// Queries are scoped to a single partition.
-	// This partition ID is normalized with the standard default
-	// context
+	// partition ID. Queries are scoped to a single partition. This
+	// partition ID is normalized with the standard default context
 	// partition ID.
 	PartitionId *PartitionId `json:"partitionId,omitempty"`
 
@@ -2693,32 +2463,24 @@
 }
 
 // Status: The `Status` type defines a logical error model that is
-// suitable for
-// different programming environments, including REST APIs and RPC APIs.
-// It is
-// used by [gRPC](https://github.com/grpc). Each `Status` message
-// contains
-// three pieces of data: error code, error message, and error
-// details.
-//
-// You can find out more about this error model and how to work with it
-// in the
-// [API Design Guide](https://cloud.google.com/apis/design/errors).
+// suitable for different programming environments, including REST APIs
+// and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each
+// `Status` message contains three pieces of data: error code, error
+// message, and error details. You can find out more about this error
+// model and how to work with it in the [API Design
+// Guide](https://cloud.google.com/apis/design/errors).
 type Status struct {
 	// Code: The status code, which should be an enum value of
 	// google.rpc.Code.
 	Code int64 `json:"code,omitempty"`
 
-	// Details: A list of messages that carry the error details.  There is a
-	// common set of
-	// message types for APIs to use.
+	// Details: A list of messages that carry the error details. There is a
+	// common set of message types for APIs to use.
 	Details []googleapi.RawMessage `json:"details,omitempty"`
 
 	// Message: 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.
+	// English. Any user-facing error message should be localized and sent
+	// in the google.rpc.Status.details field, or localized by the client.
 	Message string `json:"message,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Code") to
@@ -2744,13 +2506,9 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// TransactionOptions: Options for beginning a new
-// transaction.
-//
-// Transactions can be created explicitly with calls
-// to
-// Datastore.BeginTransaction or implicitly by
-// setting
+// TransactionOptions: 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.
 type TransactionOptions struct {
 	// ReadOnly: The transaction should only allow reads.
@@ -2783,20 +2541,16 @@
 }
 
 // Value: A message that can hold any of the supported value types and
-// associated
-// metadata.
+// associated metadata.
 type Value struct {
-	// ArrayValue: An array value.
-	// Cannot contain another array value.
-	// A `Value` instance that sets field `array_value` must not set
-	// fields
+	// ArrayValue: An array value. Cannot contain another array value. A
+	// `Value` instance that sets field `array_value` must not set fields
 	// `meaning` or `exclude_from_indexes`.
 	ArrayValue *ArrayValue `json:"arrayValue,omitempty"`
 
-	// BlobValue: A blob value.
-	// May have at most 1,000,000 bytes.
-	// When `exclude_from_indexes` is false, may have at most 1500 bytes.
-	// In JSON requests, must be base64-encoded.
+	// BlobValue: A blob value. May have at most 1,000,000 bytes. When
+	// `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON
+	// requests, must be base64-encoded.
 	BlobValue string `json:"blobValue,omitempty"`
 
 	// BooleanValue: A boolean value.
@@ -2805,16 +2559,12 @@
 	// DoubleValue: A double value.
 	DoubleValue float64 `json:"doubleValue,omitempty"`
 
-	// EntityValue: An entity value.
-	//
-	// - May have no key.
-	// - May have a key with an incomplete key path.
-	// - May have a reserved/read-only key.
+	// EntityValue: An entity value. - May have no key. - May have a key
+	// with an incomplete key path. - May have a reserved/read-only key.
 	EntityValue *Entity `json:"entityValue,omitempty"`
 
 	// ExcludeFromIndexes: If the value should be excluded from all indexes
-	// including those defined
-	// explicitly.
+	// including those defined explicitly.
 	ExcludeFromIndexes bool `json:"excludeFromIndexes,omitempty"`
 
 	// GeoPointValue: A geo point value representing a point on the surface
@@ -2837,15 +2587,14 @@
 	//   "NULL_VALUE" - Null value.
 	NullValue string `json:"nullValue,omitempty"`
 
-	// StringValue: A UTF-8 encoded string value.
-	// When `exclude_from_indexes` is false (it is indexed) , may have at
-	// most 1500 bytes.
-	// Otherwise, may be set to at most 1,000,000 bytes.
+	// StringValue: A UTF-8 encoded string value. When
+	// `exclude_from_indexes` is false (it is indexed) , may have at most
+	// 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
 	StringValue string `json:"stringValue,omitempty"`
 
-	// TimestampValue: A timestamp value.
-	// When stored in the Datastore, precise only to microseconds;
-	// any additional precision is rounded down.
+	// TimestampValue: A timestamp value. When stored in the Datastore,
+	// precise only to microseconds; any additional precision is rounded
+	// down.
 	TimestampValue string `json:"timestampValue,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ArrayValue") to
@@ -2897,8 +2646,7 @@
 }
 
 // AllocateIds: Allocates IDs for the given keys, which is useful for
-// referencing an entity
-// before it is inserted.
+// referencing an entity before it is inserted.
 func (r *ProjectsService) AllocateIds(projectId string, allocateidsrequest *AllocateIdsRequest) *ProjectsAllocateIdsCall {
 	c := &ProjectsAllocateIdsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -2933,7 +2681,7 @@
 
 func (c *ProjectsAllocateIdsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2997,7 +2745,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Allocates IDs for the given keys, which is useful for referencing an entity\nbefore it is inserted.",
+	//   "description": "Allocates IDs for the given keys, which is useful for referencing an entity before it is inserted.",
 	//   "flatPath": "v1/projects/{projectId}:allocateIds",
 	//   "httpMethod": "POST",
 	//   "id": "datastore.projects.allocateIds",
@@ -3073,7 +2821,7 @@
 
 func (c *ProjectsBeginTransactionCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3179,8 +2927,7 @@
 }
 
 // Commit: Commits a transaction, optionally creating, deleting or
-// modifying some
-// entities.
+// modifying some entities.
 func (r *ProjectsService) Commit(projectId string, commitrequest *CommitRequest) *ProjectsCommitCall {
 	c := &ProjectsCommitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -3215,7 +2962,7 @@
 
 func (c *ProjectsCommitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3279,7 +3026,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Commits a transaction, optionally creating, deleting or modifying some\nentities.",
+	//   "description": "Commits a transaction, optionally creating, deleting or modifying some entities.",
 	//   "flatPath": "v1/projects/{projectId}:commit",
 	//   "httpMethod": "POST",
 	//   "id": "datastore.projects.commit",
@@ -3321,20 +3068,13 @@
 }
 
 // Export: Exports a copy of all or a subset of entities from Google
-// Cloud Datastore
-// to another storage system, such as Google Cloud Storage. Recent
-// updates to
-// entities may not be reflected in the export. The export occurs in
-// the
-// background and its progress can be monitored and managed via
-// the
-// Operation resource that is created. The output of an export may only
-// be
-// used once the associated operation is done. If an export operation
-// is
-// cancelled before completion it may leave partial data behind in
-// Google
-// Cloud Storage.
+// Cloud Datastore to another storage system, such as Google Cloud
+// Storage. Recent updates to entities may not be reflected in the
+// export. The export occurs in the background and its progress can be
+// monitored and managed via the Operation resource that is created. The
+// output of an export may only be used once the associated operation is
+// done. If an export operation is cancelled before completion it may
+// leave partial data behind in Google Cloud Storage.
 func (r *ProjectsService) Export(projectId string, googledatastoreadminv1exportentitiesrequest *GoogleDatastoreAdminV1ExportEntitiesRequest) *ProjectsExportCall {
 	c := &ProjectsExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -3369,7 +3109,7 @@
 
 func (c *ProjectsExportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3433,7 +3173,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Exports a copy of all or a subset of entities from Google Cloud Datastore\nto another storage system, such as Google Cloud Storage. Recent updates to\nentities may not be reflected in the export. The export occurs in the\nbackground and its progress can be monitored and managed via the\nOperation resource that is created. The output of an export may only be\nused once the associated operation is done. If an export operation is\ncancelled before completion it may leave partial data behind in Google\nCloud Storage.",
+	//   "description": "Exports a copy of all or a subset of entities from Google Cloud Datastore to another storage system, such as Google Cloud Storage. Recent updates to entities may not be reflected in the export. The export occurs in the background and its progress can be monitored and managed via the Operation resource that is created. The output of an export may only be used once the associated operation is done. If an export operation is cancelled before completion it may leave partial data behind in Google Cloud Storage.",
 	//   "flatPath": "v1/projects/{projectId}:export",
 	//   "httpMethod": "POST",
 	//   "id": "datastore.projects.export",
@@ -3475,15 +3215,11 @@
 }
 
 // Import: Imports entities into Google Cloud Datastore. Existing
-// entities with the
-// same key are overwritten. The import occurs in the background and
-// its
-// progress can be monitored and managed via the Operation resource that
-// is
-// created. If an ImportEntities operation is cancelled, it is
-// possible
-// that a subset of the data has already been imported to Cloud
-// Datastore.
+// entities with the same key are overwritten. The import occurs in the
+// background and its progress can be monitored and managed via the
+// Operation resource that is created. If an ImportEntities operation is
+// cancelled, it is possible that a subset of the data has already been
+// imported to Cloud Datastore.
 func (r *ProjectsService) Import(projectId string, googledatastoreadminv1importentitiesrequest *GoogleDatastoreAdminV1ImportEntitiesRequest) *ProjectsImportCall {
 	c := &ProjectsImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -3518,7 +3254,7 @@
 
 func (c *ProjectsImportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3582,7 +3318,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Imports entities into Google Cloud Datastore. Existing entities with the\nsame key are overwritten. The import occurs in the background and its\nprogress can be monitored and managed via the Operation resource that is\ncreated. If an ImportEntities operation is cancelled, it is possible\nthat a subset of the data has already been imported to Cloud Datastore.",
+	//   "description": "Imports entities into Google Cloud Datastore. Existing entities with the same key are overwritten. The import occurs in the background and its progress can be monitored and managed via the Operation resource that is created. If an ImportEntities operation is cancelled, it is possible that a subset of the data has already been imported to Cloud Datastore.",
 	//   "flatPath": "v1/projects/{projectId}:import",
 	//   "httpMethod": "POST",
 	//   "id": "datastore.projects.import",
@@ -3658,7 +3394,7 @@
 
 func (c *ProjectsLookupCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3764,8 +3500,7 @@
 }
 
 // ReserveIds: Prevents the supplied keys' IDs from being auto-allocated
-// by Cloud
-// Datastore.
+// by Cloud Datastore.
 func (r *ProjectsService) ReserveIds(projectId string, reserveidsrequest *ReserveIdsRequest) *ProjectsReserveIdsCall {
 	c := &ProjectsReserveIdsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -3800,7 +3535,7 @@
 
 func (c *ProjectsReserveIdsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3864,7 +3599,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Prevents the supplied keys' IDs from being auto-allocated by Cloud\nDatastore.",
+	//   "description": "Prevents the supplied keys' IDs from being auto-allocated by Cloud Datastore.",
 	//   "flatPath": "v1/projects/{projectId}:reserveIds",
 	//   "httpMethod": "POST",
 	//   "id": "datastore.projects.reserveIds",
@@ -3940,7 +3675,7 @@
 
 func (c *ProjectsRollbackCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4080,7 +3815,7 @@
 
 func (c *ProjectsRunQueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4185,24 +3920,15 @@
 	header_                     http.Header
 }
 
-// Create: Creates the specified index.
-// A newly created index's initial state is `CREATING`. On completion of
-// the
-// returned google.longrunning.Operation, the state will be `READY`.
-// If the index already exists, the call will return an
-// `ALREADY_EXISTS`
-// status.
-//
-// During index creation, the process could result in an error, in
-// which
+// Create: Creates the specified index. A newly created index's initial
+// state is `CREATING`. On completion of the returned
+// google.longrunning.Operation, the state will be `READY`. If the index
+// already exists, the call will return an `ALREADY_EXISTS` status.
+// During index creation, the process could result in an error, in which
 // case the index will move to the `ERROR` state. The process can be
-// recovered
-// by fixing the data that caused the error, removing the index
-// with
-// delete, then
-// re-creating the index with create.
-//
-// Indexes with a single property cannot be created.
+// recovered by fixing the data that caused the error, removing the
+// index with delete, then re-creating the index with create. Indexes
+// with a single property cannot be created.
 func (r *ProjectsIndexesService) Create(projectId string, googledatastoreadminv1index *GoogleDatastoreAdminV1Index) *ProjectsIndexesCreateCall {
 	c := &ProjectsIndexesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -4237,7 +3963,7 @@
 
 func (c *ProjectsIndexesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4301,7 +4027,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates the specified index.\nA newly created index's initial state is `CREATING`. On completion of the\nreturned google.longrunning.Operation, the state will be `READY`.\nIf the index already exists, the call will return an `ALREADY_EXISTS`\nstatus.\n\nDuring index creation, the process could result in an error, in which\ncase the index will move to the `ERROR` state. The process can be recovered\nby fixing the data that caused the error, removing the index with\ndelete, then\nre-creating the index with create.\n\nIndexes with a single property cannot be created.",
+	//   "description": "Creates the specified index. A newly created index's initial state is `CREATING`. On completion of the returned google.longrunning.Operation, the state will be `READY`. If the index already exists, the call will return an `ALREADY_EXISTS` status. During index creation, the process could result in an error, in which case the index will move to the `ERROR` state. The process can be recovered by fixing the data that caused the error, removing the index with delete, then re-creating the index with create. Indexes with a single property cannot be created.",
 	//   "flatPath": "v1/projects/{projectId}/indexes",
 	//   "httpMethod": "POST",
 	//   "id": "datastore.projects.indexes.create",
@@ -4342,21 +4068,14 @@
 	header_    http.Header
 }
 
-// Delete: Deletes an existing index.
-// An index can only be deleted if it is in a `READY` or `ERROR` state.
-// On
-// successful execution of the request, the index will be in a
-// `DELETING`
-// state. And on completion of the
-// returned google.longrunning.Operation, the index will be
-// removed.
-//
-// During index deletion, the process could result in an error, in
-// which
-// case the index will move to the `ERROR` state. The process can be
-// recovered
-// by fixing the data that caused the error, followed by calling
-// delete again.
+// Delete: Deletes an existing index. An index can only be deleted if it
+// is in a `READY` or `ERROR` state. On successful execution of the
+// request, the index will be in a `DELETING` state. And on completion
+// of the returned google.longrunning.Operation, the index will be
+// removed. During index deletion, the process could result in an error,
+// in which case the index will move to the `ERROR` state. The process
+// can be recovered by fixing the data that caused the error, followed
+// by calling delete again.
 func (r *ProjectsIndexesService) Delete(projectId string, indexId string) *ProjectsIndexesDeleteCall {
 	c := &ProjectsIndexesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -4391,7 +4110,7 @@
 
 func (c *ProjectsIndexesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4451,7 +4170,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes an existing index.\nAn index can only be deleted if it is in a `READY` or `ERROR` state. On\nsuccessful execution of the request, the index will be in a `DELETING`\nstate. And on completion of the\nreturned google.longrunning.Operation, the index will be removed.\n\nDuring index deletion, the process could result in an error, in which\ncase the index will move to the `ERROR` state. The process can be recovered\nby fixing the data that caused the error, followed by calling\ndelete again.",
+	//   "description": "Deletes an existing index. An index can only be deleted if it is in a `READY` or `ERROR` state. On successful execution of the request, the index will be in a `DELETING` state. And on completion of the returned google.longrunning.Operation, the index will be removed. During index deletion, the process could result in an error, in which case the index will move to the `ERROR` state. The process can be recovered by fixing the data that caused the error, followed by calling delete again.",
 	//   "flatPath": "v1/projects/{projectId}/indexes/{indexId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "datastore.projects.indexes.delete",
@@ -4542,7 +4261,7 @@
 
 func (c *ProjectsIndexesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4650,11 +4369,9 @@
 	header_      http.Header
 }
 
-// List: Lists the indexes that match the specified filters.  Datastore
-// uses an
-// eventually consistent query to fetch the list of indexes and
-// may
-// occasionally return stale results.
+// List: Lists the indexes that match the specified filters. Datastore
+// uses an eventually consistent query to fetch the list of indexes and
+// may occasionally return stale results.
 func (r *ProjectsIndexesService) List(projectId string) *ProjectsIndexesListCall {
 	c := &ProjectsIndexesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -4668,8 +4385,7 @@
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
-// of items to return.  If zero, then all results will be
-// returned.
+// of items to return. If zero, then all results will be returned.
 func (c *ProjectsIndexesListCall) PageSize(pageSize int64) *ProjectsIndexesListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
@@ -4719,7 +4435,7 @@
 
 func (c *ProjectsIndexesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4783,7 +4499,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists the indexes that match the specified filters.  Datastore uses an\neventually consistent query to fetch the list of indexes and may\noccasionally return stale results.",
+	//   "description": "Lists the indexes that match the specified filters. Datastore uses an eventually consistent query to fetch the list of indexes and may occasionally return stale results.",
 	//   "flatPath": "v1/projects/{projectId}/indexes",
 	//   "httpMethod": "GET",
 	//   "id": "datastore.projects.indexes.list",
@@ -4796,7 +4512,7 @@
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "The maximum number of items to return.  If zero, then all results will be\nreturned.",
+	//       "description": "The maximum number of items to return. If zero, then all results will be returned.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
@@ -4857,23 +4573,15 @@
 }
 
 // Cancel: 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`.
+// 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`.
 func (r *ProjectsOperationsService) Cancel(name string) *ProjectsOperationsCancelCall {
 	c := &ProjectsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4907,7 +4615,7 @@
 
 func (c *ProjectsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4966,7 +4674,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Starts asynchronous cancellation on a long-running operation.  The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed.  If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.  Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
+	//   "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
 	//   "flatPath": "v1/projects/{projectsId}/operations/{operationsId}:cancel",
 	//   "httpMethod": "POST",
 	//   "id": "datastore.projects.operations.cancel",
@@ -5005,12 +4713,9 @@
 }
 
 // Delete: 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`.
+// 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`.
 func (r *ProjectsOperationsService) Delete(name string) *ProjectsOperationsDeleteCall {
 	c := &ProjectsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -5044,7 +4749,7 @@
 
 func (c *ProjectsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5103,7 +4808,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.",
+	//   "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
 	//   "flatPath": "v1/projects/{projectsId}/operations/{operationsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "datastore.projects.operations.delete",
@@ -5142,11 +4847,9 @@
 	header_      http.Header
 }
 
-// Get: 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.
+// Get: 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.
 func (r *ProjectsOperationsService) Get(name string) *ProjectsOperationsGetCall {
 	c := &ProjectsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -5190,7 +4893,7 @@
 
 func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5252,7 +4955,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+	//   "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
 	//   "flatPath": "v1/projects/{projectsId}/operations/{operationsId}",
 	//   "httpMethod": "GET",
 	//   "id": "datastore.projects.operations.get",
@@ -5292,22 +4995,15 @@
 }
 
 // List: 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. 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.
 func (r *ProjectsOperationsService) List(name string) *ProjectsOperationsListCall {
 	c := &ProjectsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -5372,7 +5068,7 @@
 
 func (c *ProjectsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5435,7 +5131,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
+	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
 	//   "flatPath": "v1/projects/{projectsId}/operations",
 	//   "httpMethod": "GET",
 	//   "id": "datastore.projects.operations.list",
diff --git a/datastore/v1beta1/datastore-api.json b/datastore/v1beta1/datastore-api.json
index 5f9d525..d1a9a2b 100644
--- a/datastore/v1beta1/datastore-api.json
+++ b/datastore/v1beta1/datastore-api.json
@@ -14,7 +14,7 @@
   "basePath": "",
   "baseUrl": "https://datastore.googleapis.com/",
   "batchPath": "batch",
-  "description": "Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application.\n",
+  "description": "Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application. ",
   "discoveryVersion": "v1",
   "documentationLink": "https://cloud.google.com/datastore/",
   "icons": {
@@ -109,7 +109,7 @@
     "projects": {
       "methods": {
         "export": {
-          "description": "Exports a copy of all or a subset of entities from Google Cloud Datastore\nto another storage system, such as Google Cloud Storage. Recent updates to\nentities may not be reflected in the export. The export occurs in the\nbackground and its progress can be monitored and managed via the\nOperation resource that is created. The output of an export may only be\nused once the associated operation is done. If an export operation is\ncancelled before completion it may leave partial data behind in Google\nCloud Storage.",
+          "description": "Exports a copy of all or a subset of entities from Google Cloud Datastore to another storage system, such as Google Cloud Storage. Recent updates to entities may not be reflected in the export. The export occurs in the background and its progress can be monitored and managed via the Operation resource that is created. The output of an export may only be used once the associated operation is done. If an export operation is cancelled before completion it may leave partial data behind in Google Cloud Storage.",
           "flatPath": "v1beta1/projects/{projectId}:export",
           "httpMethod": "POST",
           "id": "datastore.projects.export",
@@ -137,7 +137,7 @@
           ]
         },
         "import": {
-          "description": "Imports entities into Google Cloud Datastore. Existing entities with the\nsame key are overwritten. The import occurs in the background and its\nprogress can be monitored and managed via the Operation resource that is\ncreated. If an ImportEntities operation is cancelled, it is possible\nthat a subset of the data has already been imported to Cloud Datastore.",
+          "description": "Imports entities into Google Cloud Datastore. Existing entities with the same key are overwritten. The import occurs in the background and its progress can be monitored and managed via the Operation resource that is created. If an ImportEntities operation is cancelled, it is possible that a subset of the data has already been imported to Cloud Datastore.",
           "flatPath": "v1beta1/projects/{projectId}:import",
           "httpMethod": "POST",
           "id": "datastore.projects.import",
@@ -167,7 +167,7 @@
       }
     }
   },
-  "revision": "20200216",
+  "revision": "20200802",
   "rootUrl": "https://datastore.googleapis.com/",
   "schemas": {
     "GoogleDatastoreAdminV1CommonMetadata": {
@@ -183,11 +183,11 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The client-assigned labels which were provided when the operation was\ncreated. May also include additional labels.",
+          "description": "The client-assigned labels which were provided when the operation was created. May also include additional labels.",
           "type": "object"
         },
         "operationType": {
-          "description": "The type of the operation. Can be used as a filter in\nListOperationsRequest.",
+          "description": "The type of the operation. Can be used as a filter in ListOperationsRequest.",
           "enum": [
             "OPERATION_TYPE_UNSPECIFIED",
             "EXPORT_ENTITIES",
@@ -225,11 +225,11 @@
             "Unspecified.",
             "Request is being prepared for processing.",
             "Request is actively being processed.",
-            "Request is in the process of being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation on the operation.",
+            "Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.",
             "Request has been processed and is in its finalization stage.",
             "Request has completed successfully.",
             "Request has finished being processed, but encountered an error.",
-            "Request has finished being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation."
+            "Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation."
           ],
           "type": "string"
         }
@@ -237,7 +237,7 @@
       "type": "object"
     },
     "GoogleDatastoreAdminV1EntityFilter": {
-      "description": "Identifies a subset of entities in a project. This is specified as\ncombinations of kinds and namespaces (either or both of which may be all, as\ndescribed in the following examples).\nExample usage:\n\nEntire project:\n  kinds=[], namespace_ids=[]\n\nKinds Foo and Bar in all namespaces:\n  kinds=['Foo', 'Bar'], namespace_ids=[]\n\nKinds Foo and Bar only in the default namespace:\n  kinds=['Foo', 'Bar'], namespace_ids=['']\n\nKinds Foo and Bar in both the default and Baz namespaces:\n  kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz']\n\nThe entire Baz namespace:\n  kinds=[], namespace_ids=['Baz']",
+      "description": "Identifies a subset of entities in a project. This is specified as combinations of kinds and namespaces (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']",
       "id": "GoogleDatastoreAdminV1EntityFilter",
       "properties": {
         "kinds": {
@@ -248,7 +248,7 @@
           "type": "array"
         },
         "namespaceIds": {
-          "description": "An empty list represents all namespaces. This is the preferred\nusage for projects that don't use namespaces.\n\nAn empty string element represents the default namespace. This should be\nused if the project has data in non-default namespaces, but doesn't want to\ninclude them.\nEach namespace in this list must be unique.",
+          "description": "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.",
           "items": {
             "type": "string"
           },
@@ -270,7 +270,7 @@
           "description": "Description of which entities are being exported."
         },
         "outputUrlPrefix": {
-          "description": "Location for the export metadata and data files. This will be the same\nvalue as the\ngoogle.datastore.admin.v1.ExportEntitiesRequest.output_url_prefix\nfield. The final output location is provided in\ngoogle.datastore.admin.v1.ExportEntitiesResponse.output_url.",
+          "description": "Location for the export metadata and data files. This will be the same value as the google.datastore.admin.v1.ExportEntitiesRequest.output_url_prefix field. The final output location is provided in google.datastore.admin.v1.ExportEntitiesResponse.output_url.",
           "type": "string"
         },
         "progressBytes": {
@@ -285,11 +285,11 @@
       "type": "object"
     },
     "GoogleDatastoreAdminV1ExportEntitiesResponse": {
-      "description": "The response for\ngoogle.datastore.admin.v1.DatastoreAdmin.ExportEntities.",
+      "description": "The response for google.datastore.admin.v1.DatastoreAdmin.ExportEntities.",
       "id": "GoogleDatastoreAdminV1ExportEntitiesResponse",
       "properties": {
         "outputUrl": {
-          "description": "Location of the output metadata file. This can be used to begin an import\ninto Cloud Datastore (this project or another project). See\ngoogle.datastore.admin.v1.ImportEntitiesRequest.input_url.\nOnly present if the operation completed successfully.",
+          "description": "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.v1.ImportEntitiesRequest.input_url. Only present if the operation completed successfully.",
           "type": "string"
         }
       },
@@ -308,7 +308,7 @@
           "description": "Description of which entities are being imported."
         },
         "inputUrl": {
-          "description": "The location of the import metadata file. This will be the same value as\nthe google.datastore.admin.v1.ExportEntitiesResponse.output_url field.",
+          "description": "The location of the import metadata file. This will be the same value as the google.datastore.admin.v1.ExportEntitiesResponse.output_url field.",
           "type": "string"
         },
         "progressBytes": {
@@ -346,12 +346,12 @@
       "id": "GoogleDatastoreAdminV1Progress",
       "properties": {
         "workCompleted": {
-          "description": "The amount of work that has been completed. Note that this may be greater\nthan work_estimated.",
+          "description": "The amount of work that has been completed. Note that this may be greater than work_estimated.",
           "format": "int64",
           "type": "string"
         },
         "workEstimated": {
-          "description": "An estimate of how much work needs to be performed. May be zero if the\nwork estimate is unavailable.",
+          "description": "An estimate of how much work needs to be performed. May be zero if the work estimate is unavailable.",
           "format": "int64",
           "type": "string"
         }
@@ -371,11 +371,11 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The client-assigned labels which were provided when the operation was\ncreated. May also include additional labels.",
+          "description": "The client-assigned labels which were provided when the operation was created. May also include additional labels.",
           "type": "object"
         },
         "operationType": {
-          "description": "The type of the operation. Can be used as a filter in\nListOperationsRequest.",
+          "description": "The type of the operation. Can be used as a filter in ListOperationsRequest.",
           "enum": [
             "OPERATION_TYPE_UNSPECIFIED",
             "EXPORT_ENTITIES",
@@ -409,11 +409,11 @@
             "Unspecified.",
             "Request is being prepared for processing.",
             "Request is actively being processed.",
-            "Request is in the process of being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation on the operation.",
+            "Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.",
             "Request has been processed and is in its finalization stage.",
             "Request has completed successfully.",
             "Request has finished being processed, but encountered an error.",
-            "Request has finished being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation."
+            "Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation."
           ],
           "type": "string"
         }
@@ -421,7 +421,7 @@
       "type": "object"
     },
     "GoogleDatastoreAdminV1beta1EntityFilter": {
-      "description": "Identifies a subset of entities in a project. This is specified as\ncombinations of kinds and namespaces (either or both of which may be all, as\ndescribed in the following examples).\nExample usage:\n\nEntire project:\n  kinds=[], namespace_ids=[]\n\nKinds Foo and Bar in all namespaces:\n  kinds=['Foo', 'Bar'], namespace_ids=[]\n\nKinds Foo and Bar only in the default namespace:\n  kinds=['Foo', 'Bar'], namespace_ids=['']\n\nKinds Foo and Bar in both the default and Baz namespaces:\n  kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz']\n\nThe entire Baz namespace:\n  kinds=[], namespace_ids=['Baz']",
+      "description": "Identifies a subset of entities in a project. This is specified as combinations of kinds and namespaces (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']",
       "id": "GoogleDatastoreAdminV1beta1EntityFilter",
       "properties": {
         "kinds": {
@@ -432,7 +432,7 @@
           "type": "array"
         },
         "namespaceIds": {
-          "description": "An empty list represents all namespaces. This is the preferred\nusage for projects that don't use namespaces.\n\nAn empty string element represents the default namespace. This should be\nused if the project has data in non-default namespaces, but doesn't want to\ninclude them.\nEach namespace in this list must be unique.",
+          "description": "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.",
           "items": {
             "type": "string"
           },
@@ -454,7 +454,7 @@
           "description": "Description of which entities are being exported."
         },
         "outputUrlPrefix": {
-          "description": "Location for the export metadata and data files. This will be the same\nvalue as the\ngoogle.datastore.admin.v1beta1.ExportEntitiesRequest.output_url_prefix\nfield. The final output location is provided in\ngoogle.datastore.admin.v1beta1.ExportEntitiesResponse.output_url.",
+          "description": "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.",
           "type": "string"
         },
         "progressBytes": {
@@ -469,7 +469,7 @@
       "type": "object"
     },
     "GoogleDatastoreAdminV1beta1ExportEntitiesRequest": {
-      "description": "The request for\ngoogle.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities.",
+      "description": "The request for google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities.",
       "id": "GoogleDatastoreAdminV1beta1ExportEntitiesRequest",
       "properties": {
         "entityFilter": {
@@ -484,18 +484,18 @@
           "type": "object"
         },
         "outputUrlPrefix": {
-          "description": "Location for the export metadata and data files.\n\nThe full resource URL of the external storage location. Currently, only\nGoogle Cloud Storage is supported. So output_url_prefix should be of the\nform: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the\nname of the Cloud Storage bucket and `NAMESPACE_PATH` is an optional Cloud\nStorage namespace path (this is not a Cloud Datastore namespace). For more\ninformation about Cloud Storage namespace paths, see\n[Object name\nconsiderations](https://cloud.google.com/storage/docs/naming#object-considerations).\n\nThe resulting files will be nested deeper than the specified URL prefix.\nThe final output URL will be provided in the\ngoogle.datastore.admin.v1beta1.ExportEntitiesResponse.output_url\nfield. That value should be used for subsequent ImportEntities operations.\n\nBy nesting the data files deeper, the same Cloud Storage bucket can be used\nin multiple ExportEntities operations without conflict.",
+          "description": "Location for the export metadata and data files. The full resource URL of the external storage location. Currently, only Google Cloud Storage is supported. So output_url_prefix should be of the form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the name of the Cloud Storage bucket and `NAMESPACE_PATH` is an optional Cloud Storage namespace path (this is not a Cloud Datastore namespace). For more information about Cloud Storage namespace paths, see [Object name considerations](https://cloud.google.com/storage/docs/naming#object-considerations). The resulting files will be nested deeper than the specified URL prefix. The final output URL will be provided in the google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url field. That value should be used for subsequent ImportEntities operations. By nesting the data files deeper, the same Cloud Storage bucket can be used in multiple ExportEntities operations without conflict.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleDatastoreAdminV1beta1ExportEntitiesResponse": {
-      "description": "The response for\ngoogle.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities.",
+      "description": "The response for google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities.",
       "id": "GoogleDatastoreAdminV1beta1ExportEntitiesResponse",
       "properties": {
         "outputUrl": {
-          "description": "Location of the output metadata file. This can be used to begin an import\ninto Cloud Datastore (this project or another project). See\ngoogle.datastore.admin.v1beta1.ImportEntitiesRequest.input_url.\nOnly present if the operation completed successfully.",
+          "description": "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.",
           "type": "string"
         }
       },
@@ -514,7 +514,7 @@
           "description": "Description of which entities are being imported."
         },
         "inputUrl": {
-          "description": "The location of the import metadata file. This will be the same value as\nthe google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url\nfield.",
+          "description": "The location of the import metadata file. This will be the same value as the google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url field.",
           "type": "string"
         },
         "progressBytes": {
@@ -529,15 +529,15 @@
       "type": "object"
     },
     "GoogleDatastoreAdminV1beta1ImportEntitiesRequest": {
-      "description": "The request for\ngoogle.datastore.admin.v1beta1.DatastoreAdmin.ImportEntities.",
+      "description": "The request for google.datastore.admin.v1beta1.DatastoreAdmin.ImportEntities.",
       "id": "GoogleDatastoreAdminV1beta1ImportEntitiesRequest",
       "properties": {
         "entityFilter": {
           "$ref": "GoogleDatastoreAdminV1beta1EntityFilter",
-          "description": "Optionally specify which kinds/namespaces are to be imported. If provided,\nthe list must be a subset of the EntityFilter used in creating the export,\notherwise a FAILED_PRECONDITION error will be returned. If no filter is\nspecified then all entities from the export are imported."
+          "description": "Optionally specify which kinds/namespaces are to be imported. If provided, the list must be a subset of the EntityFilter used in creating the export, otherwise a FAILED_PRECONDITION error will be returned. If no filter is specified then all entities from the export are imported."
         },
         "inputUrl": {
-          "description": "The full resource URL of the external storage location. Currently, only\nGoogle Cloud Storage is supported. So input_url should be of the form:\n`gs://BUCKET_NAME[/NAMESPACE_PATH]/OVERALL_EXPORT_METADATA_FILE`, where\n`BUCKET_NAME` is the name of the Cloud Storage bucket, `NAMESPACE_PATH` is\nan optional Cloud Storage namespace path (this is not a Cloud Datastore\nnamespace), and `OVERALL_EXPORT_METADATA_FILE` is the metadata file written\nby the ExportEntities operation. For more information about Cloud Storage\nnamespace paths, see\n[Object name\nconsiderations](https://cloud.google.com/storage/docs/naming#object-considerations).\n\nFor more information, see\ngoogle.datastore.admin.v1beta1.ExportEntitiesResponse.output_url.",
+          "description": "The full resource URL of the external storage location. Currently, only Google Cloud Storage is supported. So input_url should be of the form: `gs://BUCKET_NAME[/NAMESPACE_PATH]/OVERALL_EXPORT_METADATA_FILE`, where `BUCKET_NAME` is the name of the Cloud Storage bucket, `NAMESPACE_PATH` is an optional Cloud Storage namespace path (this is not a Cloud Datastore namespace), and `OVERALL_EXPORT_METADATA_FILE` is the metadata file written by the ExportEntities operation. For more information about Cloud Storage namespace paths, see [Object name considerations](https://cloud.google.com/storage/docs/naming#object-considerations). For more information, see google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url.",
           "type": "string"
         },
         "labels": {
@@ -555,12 +555,12 @@
       "id": "GoogleDatastoreAdminV1beta1Progress",
       "properties": {
         "workCompleted": {
-          "description": "The amount of work that has been completed. Note that this may be greater\nthan work_estimated.",
+          "description": "The amount of work that has been completed. Note that this may be greater than work_estimated.",
           "format": "int64",
           "type": "string"
         },
         "workEstimated": {
-          "description": "An estimate of how much work needs to be performed. May be zero if the\nwork estimate is unavailable.",
+          "description": "An estimate of how much work needs to be performed. May be zero if the work estimate is unavailable.",
           "format": "int64",
           "type": "string"
         }
@@ -568,11 +568,11 @@
       "type": "object"
     },
     "GoogleLongrunningOperation": {
-      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
+      "description": "This resource represents a long-running operation that is the result of a network API call.",
       "id": "GoogleLongrunningOperation",
       "properties": {
         "done": {
-          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
+          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
           "type": "boolean"
         },
         "error": {
@@ -584,11 +584,11 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "Service-specific metadata associated with the operation.  It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata.  Any method that returns a\nlong-running operation should document the metadata type, if any.",
+          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
           "type": "object"
         },
         "name": {
-          "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.",
+          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
           "type": "string"
         },
         "response": {
@@ -596,14 +596,14 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "The normal response of the operation in case of success.  If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`.  If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource.  For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name.  For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
+          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
           "type": "object"
         }
       },
       "type": "object"
     },
     "Status": {
-      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "Status",
       "properties": {
         "code": {
@@ -612,7 +612,7 @@
           "type": "integer"
         },
         "details": {
-          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -623,7 +623,7 @@
           "type": "array"
         },
         "message": {
-          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
           "type": "string"
         }
       },
diff --git a/datastore/v1beta1/datastore-gen.go b/datastore/v1beta1/datastore-gen.go
index 0ee3954..c30aa64 100644
--- a/datastore/v1beta1/datastore-gen.go
+++ b/datastore/v1beta1/datastore-gen.go
@@ -162,12 +162,10 @@
 	EndTime string `json:"endTime,omitempty"`
 
 	// Labels: The client-assigned labels which were provided when the
-	// operation was
-	// created. May also include additional labels.
+	// operation was created. May also include additional labels.
 	Labels map[string]string `json:"labels,omitempty"`
 
-	// OperationType: The type of the operation. Can be used as a filter
-	// in
+	// OperationType: The type of the operation. Can be used as a filter in
 	// ListOperationsRequest.
 	//
 	// Possible values:
@@ -188,16 +186,15 @@
 	//   "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
-	// google.longrunning.Operations.CancelOperation on the operation.
+	// user called google.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
-	// google.longrunning.Operations.CancelOperation.
+	// called google.longrunning.Operations.CancelOperation.
 	State string `json:"state,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "EndTime") to
@@ -224,40 +221,24 @@
 }
 
 // GoogleDatastoreAdminV1EntityFilter: Identifies a subset of entities
-// in a project. This is specified as
-// combinations of kinds and namespaces (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']
+// in a project. This is specified as combinations of kinds and
+// namespaces (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']
 type GoogleDatastoreAdminV1EntityFilter struct {
 	// Kinds: If empty, then this represents all kinds.
 	Kinds []string `json:"kinds,omitempty"`
 
 	// NamespaceIds: 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.
+	// 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.
 	NamespaceIds []string `json:"namespaceIds,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Kinds") to
@@ -293,13 +274,9 @@
 	EntityFilter *GoogleDatastoreAdminV1EntityFilter `json:"entityFilter,omitempty"`
 
 	// OutputUrlPrefix: Location for the export metadata and data files.
-	// This will be the same
-	// value as
-	// the
+	// This will be the same value as the
 	// google.datastore.admin.v1.ExportEntitiesRequest.output_url_prefix
-	//
-	// field. The final output location is provided
-	// in
+	// field. The final output location is provided in
 	// google.datastore.admin.v1.ExportEntitiesResponse.output_url.
 	OutputUrlPrefix string `json:"outputUrlPrefix,omitempty"`
 
@@ -332,16 +309,14 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GoogleDatastoreAdminV1ExportEntitiesResponse: The response
-// for
+// GoogleDatastoreAdminV1ExportEntitiesResponse: The response for
 // google.datastore.admin.v1.DatastoreAdmin.ExportEntities.
 type GoogleDatastoreAdminV1ExportEntitiesResponse struct {
 	// OutputUrl: 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.v1.ImportEntitiesRequest.input_url.
-	// Only present if the operation completed successfully.
+	// begin an import into Cloud Datastore (this project or another
+	// project). See
+	// google.datastore.admin.v1.ImportEntitiesRequest.input_url. Only
+	// present if the operation completed successfully.
 	OutputUrl string `json:"outputUrl,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "OutputUrl") to
@@ -377,9 +352,8 @@
 	EntityFilter *GoogleDatastoreAdminV1EntityFilter `json:"entityFilter,omitempty"`
 
 	// InputUrl: The location of the import metadata file. This will be the
-	// same value as
-	// the google.datastore.admin.v1.ExportEntitiesResponse.output_url
-	// field.
+	// same value as the
+	// google.datastore.admin.v1.ExportEntitiesResponse.output_url field.
 	InputUrl string `json:"inputUrl,omitempty"`
 
 	// ProgressBytes: An estimate of the number of bytes processed.
@@ -450,13 +424,11 @@
 // metric.
 type GoogleDatastoreAdminV1Progress struct {
 	// WorkCompleted: The amount of work that has been completed. Note that
-	// this may be greater
-	// than work_estimated.
+	// this may be greater than work_estimated.
 	WorkCompleted int64 `json:"workCompleted,omitempty,string"`
 
 	// WorkEstimated: An estimate of how much work needs to be performed.
-	// May be zero if the
-	// work estimate is unavailable.
+	// May be zero if the work estimate is unavailable.
 	WorkEstimated int64 `json:"workEstimated,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "WorkCompleted") to
@@ -490,12 +462,10 @@
 	EndTime string `json:"endTime,omitempty"`
 
 	// Labels: The client-assigned labels which were provided when the
-	// operation was
-	// created. May also include additional labels.
+	// operation was created. May also include additional labels.
 	Labels map[string]string `json:"labels,omitempty"`
 
-	// OperationType: The type of the operation. Can be used as a filter
-	// in
+	// OperationType: The type of the operation. Can be used as a filter in
 	// ListOperationsRequest.
 	//
 	// Possible values:
@@ -514,16 +484,15 @@
 	//   "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
-	// google.longrunning.Operations.CancelOperation on the operation.
+	// user called google.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
-	// google.longrunning.Operations.CancelOperation.
+	// called google.longrunning.Operations.CancelOperation.
 	State string `json:"state,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "EndTime") to
@@ -550,40 +519,24 @@
 }
 
 // GoogleDatastoreAdminV1beta1EntityFilter: Identifies a subset of
-// entities in a project. This is specified as
-// combinations of kinds and namespaces (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']
+// entities in a project. This is specified as combinations of kinds and
+// namespaces (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']
 type GoogleDatastoreAdminV1beta1EntityFilter struct {
 	// Kinds: If empty, then this represents all kinds.
 	Kinds []string `json:"kinds,omitempty"`
 
 	// NamespaceIds: 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.
+	// 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.
 	NamespaceIds []string `json:"namespaceIds,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Kinds") to
@@ -619,13 +572,9 @@
 	EntityFilter *GoogleDatastoreAdminV1beta1EntityFilter `json:"entityFilter,omitempty"`
 
 	// OutputUrlPrefix: Location for the export metadata and data files.
-	// This will be the same
-	// value as
-	// the
-	// google.datastore.admin.v1beta1.ExportEntitiesRequest.output_url_pr
-	// efix
-	// field. The final output location is provided
-	// in
+	// 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.
 	OutputUrlPrefix string `json:"outputUrlPrefix,omitempty"`
 
@@ -658,8 +607,7 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GoogleDatastoreAdminV1beta1ExportEntitiesRequest: The request
-// for
+// GoogleDatastoreAdminV1beta1ExportEntitiesRequest: The request for
 // google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities.
 type GoogleDatastoreAdminV1beta1ExportEntitiesRequest struct {
 	// EntityFilter: Description of what data from the project is included
@@ -669,37 +617,22 @@
 	// Labels: Client-assigned labels.
 	Labels map[string]string `json:"labels,omitempty"`
 
-	// OutputUrlPrefix: Location for the export metadata and data
-	// files.
-	//
-	// The full resource URL of the external storage location. Currently,
-	// only
+	// OutputUrlPrefix: Location for the export metadata and data files. The
+	// full resource URL of the external storage location. Currently, only
 	// Google Cloud Storage is supported. So output_url_prefix should be of
-	// the
-	// form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is
-	// the
-	// name of the Cloud Storage bucket and `NAMESPACE_PATH` is an optional
-	// Cloud
-	// Storage namespace path (this is not a Cloud Datastore namespace). For
-	// more
-	// information about Cloud Storage namespace paths, see
-	// [Object
-	// name
-	// considerations](https://cloud.google.com/storage/docs/naming#obje
-	// ct-considerations).
-	//
-	// The resulting files will be nested deeper than the specified URL
-	// prefix.
-	// The final output URL will be provided in
-	// the
+	// the form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is
+	// the name of the Cloud Storage bucket and `NAMESPACE_PATH` is an
+	// optional Cloud Storage namespace path (this is not a Cloud Datastore
+	// namespace). For more information about Cloud Storage namespace paths,
+	// see [Object name
+	// considerations](https://cloud.google.com/storage/docs/naming#object-co
+	// nsiderations). The resulting files will be nested deeper than the
+	// specified URL prefix. The final output URL will be provided in the
 	// google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url
-	// f
-	// ield. That value should be used for subsequent ImportEntities
-	// operations.
-	//
-	// By nesting the data files deeper, the same Cloud Storage bucket can
-	// be used
-	// in multiple ExportEntities operations without conflict.
+	// field. That value should be used for subsequent ImportEntities
+	// operations. By nesting the data files deeper, the same Cloud Storage
+	// bucket can be used in multiple ExportEntities operations without
+	// conflict.
 	OutputUrlPrefix string `json:"outputUrlPrefix,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "EntityFilter") to
@@ -725,17 +658,14 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GoogleDatastoreAdminV1beta1ExportEntitiesResponse: The response
-// for
+// GoogleDatastoreAdminV1beta1ExportEntitiesResponse: The response for
 // google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities.
 type GoogleDatastoreAdminV1beta1ExportEntitiesResponse struct {
 	// OutputUrl: 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.
-	// On
-	// ly present if the operation completed successfully.
+	// 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.
 	OutputUrl string `json:"outputUrl,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "OutputUrl") to
@@ -771,11 +701,9 @@
 	EntityFilter *GoogleDatastoreAdminV1beta1EntityFilter `json:"entityFilter,omitempty"`
 
 	// InputUrl: The location of the import metadata file. This will be the
-	// same value as
-	// the
+	// same value as the
 	// google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url
-	// field
-	// .
+	// field.
 	InputUrl string `json:"inputUrl,omitempty"`
 
 	// ProgressBytes: An estimate of the number of bytes processed.
@@ -807,41 +735,28 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GoogleDatastoreAdminV1beta1ImportEntitiesRequest: The request
-// for
+// GoogleDatastoreAdminV1beta1ImportEntitiesRequest: The request for
 // google.datastore.admin.v1beta1.DatastoreAdmin.ImportEntities.
 type GoogleDatastoreAdminV1beta1ImportEntitiesRequest struct {
 	// EntityFilter: Optionally specify which kinds/namespaces are to be
-	// imported. If provided,
-	// the list must be a subset of the EntityFilter used in creating the
-	// export,
-	// otherwise a FAILED_PRECONDITION error will be returned. If no filter
-	// is
-	// specified then all entities from the export are imported.
+	// imported. If provided, the list must be a subset of the EntityFilter
+	// used in creating the export, otherwise a FAILED_PRECONDITION error
+	// will be returned. If no filter is specified then all entities from
+	// the export are imported.
 	EntityFilter *GoogleDatastoreAdminV1beta1EntityFilter `json:"entityFilter,omitempty"`
 
 	// InputUrl: The full resource URL of the external storage location.
-	// Currently, only
-	// Google Cloud Storage is supported. So input_url should be of the
-	// form:
-	// `gs://BUCKET_NAME[/NAMESPACE_PATH]/OVERALL_EXPORT_METADATA_FILE`
-	// , where
-	// `BUCKET_NAME` is the name of the Cloud Storage bucket,
-	// `NAMESPACE_PATH` is
-	// an optional Cloud Storage namespace path (this is not a Cloud
-	// Datastore
-	// namespace), and `OVERALL_EXPORT_METADATA_FILE` is the metadata file
-	// written
-	// by the ExportEntities operation. For more information about Cloud
-	// Storage
-	// namespace paths, see
-	// [Object
+	// Currently, only Google Cloud Storage is supported. So input_url
+	// should be of the form:
+	// `gs://BUCKET_NAME[/NAMESPACE_PATH]/OVERALL_EXPORT_METADATA_FILE`,
+	// where `BUCKET_NAME` is the name of the Cloud Storage bucket,
+	// `NAMESPACE_PATH` is an optional Cloud Storage namespace path (this is
+	// not a Cloud Datastore namespace), and `OVERALL_EXPORT_METADATA_FILE`
+	// is the metadata file written by the ExportEntities operation. For
+	// more information about Cloud Storage namespace paths, see [Object
 	// name
-	// considerations](https://cloud.google.com/storage/docs/naming#obje
-	// ct-considerations).
-	//
-	// For more information,
-	// see
+	// considerations](https://cloud.google.com/storage/docs/naming#object-co
+	// nsiderations). For more information, see
 	// google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url.
 	InputUrl string `json:"inputUrl,omitempty"`
 
@@ -875,13 +790,11 @@
 // particular metric.
 type GoogleDatastoreAdminV1beta1Progress struct {
 	// WorkCompleted: The amount of work that has been completed. Note that
-	// this may be greater
-	// than work_estimated.
+	// this may be greater than work_estimated.
 	WorkCompleted int64 `json:"workCompleted,omitempty,string"`
 
 	// WorkEstimated: An estimate of how much work needs to be performed.
-	// May be zero if the
-	// work estimate is unavailable.
+	// May be zero if the work estimate is unavailable.
 	WorkEstimated int64 `json:"workEstimated,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "WorkCompleted") to
@@ -908,52 +821,38 @@
 }
 
 // GoogleLongrunningOperation: This resource represents a long-running
-// operation that is the result of a
-// network API call.
+// operation that is the result of a network API call.
 type GoogleLongrunningOperation struct {
 	// Done: 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.
+	// progress. If `true`, the operation is completed, and either `error`
+	// or `response` is available.
 	Done bool `json:"done,omitempty"`
 
 	// Error: The error result of the operation in case of failure or
 	// cancellation.
 	Error *Status `json:"error,omitempty"`
 
-	// Metadata: 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.
+	// Metadata: 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.
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Name: The server-assigned name, which is only unique within the same
-	// service that
-	// originally returns it. If you use the default HTTP mapping,
-	// the
-	// `name` should be a resource name ending with
+	// service that originally returns it. If you use the default HTTP
+	// mapping, the `name` should be a resource name ending with
 	// `operations/{unique_id}`.
 	Name string `json:"name,omitempty"`
 
-	// Response: 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`.
+	// Response: 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`.
 	Response googleapi.RawMessage `json:"response,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -984,32 +883,24 @@
 }
 
 // Status: The `Status` type defines a logical error model that is
-// suitable for
-// different programming environments, including REST APIs and RPC APIs.
-// It is
-// used by [gRPC](https://github.com/grpc). Each `Status` message
-// contains
-// three pieces of data: error code, error message, and error
-// details.
-//
-// You can find out more about this error model and how to work with it
-// in the
-// [API Design Guide](https://cloud.google.com/apis/design/errors).
+// suitable for different programming environments, including REST APIs
+// and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each
+// `Status` message contains three pieces of data: error code, error
+// message, and error details. You can find out more about this error
+// model and how to work with it in the [API Design
+// Guide](https://cloud.google.com/apis/design/errors).
 type Status struct {
 	// Code: The status code, which should be an enum value of
 	// google.rpc.Code.
 	Code int64 `json:"code,omitempty"`
 
-	// Details: A list of messages that carry the error details.  There is a
-	// common set of
-	// message types for APIs to use.
+	// Details: A list of messages that carry the error details. There is a
+	// common set of message types for APIs to use.
 	Details []googleapi.RawMessage `json:"details,omitempty"`
 
 	// Message: 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.
+	// English. Any user-facing error message should be localized and sent
+	// in the google.rpc.Status.details field, or localized by the client.
 	Message string `json:"message,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Code") to
@@ -1047,20 +938,13 @@
 }
 
 // Export: Exports a copy of all or a subset of entities from Google
-// Cloud Datastore
-// to another storage system, such as Google Cloud Storage. Recent
-// updates to
-// entities may not be reflected in the export. The export occurs in
-// the
-// background and its progress can be monitored and managed via
-// the
-// Operation resource that is created. The output of an export may only
-// be
-// used once the associated operation is done. If an export operation
-// is
-// cancelled before completion it may leave partial data behind in
-// Google
-// Cloud Storage.
+// Cloud Datastore to another storage system, such as Google Cloud
+// Storage. Recent updates to entities may not be reflected in the
+// export. The export occurs in the background and its progress can be
+// monitored and managed via the Operation resource that is created. The
+// output of an export may only be used once the associated operation is
+// done. If an export operation is cancelled before completion it may
+// leave partial data behind in Google Cloud Storage.
 func (r *ProjectsService) Export(projectId string, googledatastoreadminv1beta1exportentitiesrequest *GoogleDatastoreAdminV1beta1ExportEntitiesRequest) *ProjectsExportCall {
 	c := &ProjectsExportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -1095,7 +979,7 @@
 
 func (c *ProjectsExportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1159,7 +1043,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Exports a copy of all or a subset of entities from Google Cloud Datastore\nto another storage system, such as Google Cloud Storage. Recent updates to\nentities may not be reflected in the export. The export occurs in the\nbackground and its progress can be monitored and managed via the\nOperation resource that is created. The output of an export may only be\nused once the associated operation is done. If an export operation is\ncancelled before completion it may leave partial data behind in Google\nCloud Storage.",
+	//   "description": "Exports a copy of all or a subset of entities from Google Cloud Datastore to another storage system, such as Google Cloud Storage. Recent updates to entities may not be reflected in the export. The export occurs in the background and its progress can be monitored and managed via the Operation resource that is created. The output of an export may only be used once the associated operation is done. If an export operation is cancelled before completion it may leave partial data behind in Google Cloud Storage.",
 	//   "flatPath": "v1beta1/projects/{projectId}:export",
 	//   "httpMethod": "POST",
 	//   "id": "datastore.projects.export",
@@ -1201,15 +1085,11 @@
 }
 
 // Import: Imports entities into Google Cloud Datastore. Existing
-// entities with the
-// same key are overwritten. The import occurs in the background and
-// its
-// progress can be monitored and managed via the Operation resource that
-// is
-// created. If an ImportEntities operation is cancelled, it is
-// possible
-// that a subset of the data has already been imported to Cloud
-// Datastore.
+// entities with the same key are overwritten. The import occurs in the
+// background and its progress can be monitored and managed via the
+// Operation resource that is created. If an ImportEntities operation is
+// cancelled, it is possible that a subset of the data has already been
+// imported to Cloud Datastore.
 func (r *ProjectsService) Import(projectId string, googledatastoreadminv1beta1importentitiesrequest *GoogleDatastoreAdminV1beta1ImportEntitiesRequest) *ProjectsImportCall {
 	c := &ProjectsImportCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -1244,7 +1124,7 @@
 
 func (c *ProjectsImportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1308,7 +1188,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Imports entities into Google Cloud Datastore. Existing entities with the\nsame key are overwritten. The import occurs in the background and its\nprogress can be monitored and managed via the Operation resource that is\ncreated. If an ImportEntities operation is cancelled, it is possible\nthat a subset of the data has already been imported to Cloud Datastore.",
+	//   "description": "Imports entities into Google Cloud Datastore. Existing entities with the same key are overwritten. The import occurs in the background and its progress can be monitored and managed via the Operation resource that is created. If an ImportEntities operation is cancelled, it is possible that a subset of the data has already been imported to Cloud Datastore.",
 	//   "flatPath": "v1beta1/projects/{projectId}:import",
 	//   "httpMethod": "POST",
 	//   "id": "datastore.projects.import",
diff --git a/datastore/v1beta3/datastore-api.json b/datastore/v1beta3/datastore-api.json
index 3c09498..f142719 100644
--- a/datastore/v1beta3/datastore-api.json
+++ b/datastore/v1beta3/datastore-api.json
@@ -14,7 +14,7 @@
   "basePath": "",
   "baseUrl": "https://datastore.googleapis.com/",
   "batchPath": "batch",
-  "description": "Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application.\n",
+  "description": "Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application. ",
   "discoveryVersion": "v1",
   "documentationLink": "https://cloud.google.com/datastore/",
   "icons": {
@@ -109,7 +109,7 @@
     "projects": {
       "methods": {
         "allocateIds": {
-          "description": "Allocates IDs for the given keys, which is useful for referencing an entity\nbefore it is inserted.",
+          "description": "Allocates IDs for the given keys, which is useful for referencing an entity before it is inserted.",
           "flatPath": "v1beta3/projects/{projectId}:allocateIds",
           "httpMethod": "POST",
           "id": "datastore.projects.allocateIds",
@@ -165,7 +165,7 @@
           ]
         },
         "commit": {
-          "description": "Commits a transaction, optionally creating, deleting or modifying some\nentities.",
+          "description": "Commits a transaction, optionally creating, deleting or modifying some entities.",
           "flatPath": "v1beta3/projects/{projectId}:commit",
           "httpMethod": "POST",
           "id": "datastore.projects.commit",
@@ -221,7 +221,7 @@
           ]
         },
         "reserveIds": {
-          "description": "Prevents the supplied keys' IDs from being auto-allocated by Cloud\nDatastore.",
+          "description": "Prevents the supplied keys' IDs from being auto-allocated by Cloud Datastore.",
           "flatPath": "v1beta3/projects/{projectId}:reserveIds",
           "httpMethod": "POST",
           "id": "datastore.projects.reserveIds",
@@ -307,7 +307,7 @@
       }
     }
   },
-  "revision": "20200510",
+  "revision": "20200802",
   "rootUrl": "https://datastore.googleapis.com/",
   "schemas": {
     "AllocateIdsRequest": {
@@ -315,7 +315,7 @@
       "id": "AllocateIdsRequest",
       "properties": {
         "keys": {
-          "description": "Required. A list of keys with incomplete key paths for which to allocate IDs.\nNo key may be reserved/read-only.",
+          "description": "Required. A list of keys with incomplete key paths for which to allocate IDs. No key may be reserved/read-only.",
           "items": {
             "$ref": "Key"
           },
@@ -329,7 +329,7 @@
       "id": "AllocateIdsResponse",
       "properties": {
         "keys": {
-          "description": "The keys specified in the request (in the same order), each with\nits key path completed with a newly allocated ID.",
+          "description": "The keys specified in the request (in the same order), each with its key path completed with a newly allocated ID.",
           "items": {
             "$ref": "Key"
           },
@@ -343,7 +343,7 @@
       "id": "ArrayValue",
       "properties": {
         "values": {
-          "description": "Values in the array.\nThe order of values in an array is preserved as long as all values have\nidentical settings for 'exclude_from_indexes'.",
+          "description": "Values in the array. The order of values in an array is preserved as long as all values have identical settings for 'exclude_from_indexes'.",
           "items": {
             "$ref": "Value"
           },
@@ -388,20 +388,20 @@
           ],
           "enumDescriptions": [
             "Unspecified. This value must not be used.",
-            "Transactional: The mutations are either all applied, or none are applied.\nLearn about transactions\n[here](https://cloud.google.com/datastore/docs/concepts/transactions).",
+            "Transactional: The mutations are either all applied, or none are applied. Learn about transactions [here](https://cloud.google.com/datastore/docs/concepts/transactions).",
             "Non-transactional: The mutations may not apply as all or none."
           ],
           "type": "string"
         },
         "mutations": {
-          "description": "The mutations to perform.\n\nWhen mode is `TRANSACTIONAL`, mutations affecting a single entity are\napplied in order. The following sequences of mutations affecting a single\nentity are not permitted in a single `Commit` request:\n\n- `insert` followed by `insert`\n- `update` followed by `insert`\n- `upsert` followed by `insert`\n- `delete` followed by `update`\n\nWhen mode is `NON_TRANSACTIONAL`, no two mutations may affect a single\nentity.",
+          "description": "The mutations to perform. When mode is `TRANSACTIONAL`, mutations affecting a single entity are applied in order. The following sequences of mutations affecting a single entity are not permitted in a single `Commit` request: - `insert` followed by `insert` - `update` followed by `insert` - `upsert` followed by `insert` - `delete` followed by `update` When mode is `NON_TRANSACTIONAL`, no two mutations may affect a single entity.",
           "items": {
             "$ref": "Mutation"
           },
           "type": "array"
         },
         "transaction": {
-          "description": "The identifier of the transaction associated with the commit. A\ntransaction identifier is returned by a call to\nDatastore.BeginTransaction.",
+          "description": "The identifier of the transaction associated with the commit. A transaction identifier is returned by a call to Datastore.BeginTransaction.",
           "format": "byte",
           "type": "string"
         }
@@ -413,12 +413,12 @@
       "id": "CommitResponse",
       "properties": {
         "indexUpdates": {
-          "description": "The number of index entries updated during the commit, or zero if none were\nupdated.",
+          "description": "The number of index entries updated during the commit, or zero if none were updated.",
           "format": "int32",
           "type": "integer"
         },
         "mutationResults": {
-          "description": "The result of performing the mutations.\nThe i-th mutation result corresponds to the i-th mutation in the request.",
+          "description": "The result of performing the mutations. The i-th mutation result corresponds to the i-th mutation in the request.",
           "items": {
             "$ref": "MutationResult"
           },
@@ -432,7 +432,7 @@
       "id": "CompositeFilter",
       "properties": {
         "filters": {
-          "description": "The list of filters to combine.\nMust contain at least one filter.",
+          "description": "The list of filters to combine. Must contain at least one filter.",
           "items": {
             "$ref": "Filter"
           },
@@ -454,18 +454,18 @@
       "type": "object"
     },
     "Entity": {
-      "description": "A Datastore data object.\n\nAn entity is limited to 1 megabyte when stored. That _roughly_\ncorresponds to a limit of 1 megabyte for the serialized form of this\nmessage.",
+      "description": "A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message.",
       "id": "Entity",
       "properties": {
         "key": {
           "$ref": "Key",
-          "description": "The entity's key.\n\nAn entity must have a key, unless otherwise documented (for example,\nan entity in `Value.entity_value` may have no key).\nAn entity's kind is its key path's last element's kind,\nor null if it has no key."
+          "description": "The entity's key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity's kind is its key path's last element's kind, or null if it has no key."
         },
         "properties": {
           "additionalProperties": {
             "$ref": "Value"
           },
-          "description": "The entity's properties.\nThe map's keys are property names.\nA property name matching regex `__.*__` is reserved.\nA reserved property name is forbidden in certain documented contexts.\nThe name must not contain more than 500 characters.\nThe name cannot be `\"\"`.",
+          "description": "The entity's properties. The map's keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `\"\"`.",
           "type": "object"
         }
       },
@@ -476,7 +476,7 @@
       "id": "EntityResult",
       "properties": {
         "cursor": {
-          "description": "A cursor that points to the position after the result entity.\nSet only when the `EntityResult` is part of a `QueryResultBatch` message.",
+          "description": "A cursor that points to the position after the result entity. Set only when the `EntityResult` is part of a `QueryResultBatch` message.",
           "format": "byte",
           "type": "string"
         },
@@ -485,7 +485,7 @@
           "description": "The resulting entity."
         },
         "version": {
-          "description": "The version of the entity, a strictly positive number that monotonically\nincreases with changes to the entity.\n\nThis field is set for `FULL` entity\nresults.\n\nFor missing entities in `LookupResponse`, this\nis the version of the snapshot that was used to look up the entity, and it\nis always set except for eventually consistent reads.",
+          "description": "The version of the entity, a strictly positive number that monotonically increases with changes to the entity. This field is set for `FULL` entity results. For missing entities in `LookupResponse`, this is the version of the snapshot that was used to look up the entity, and it is always set except for eventually consistent reads.",
           "format": "int64",
           "type": "string"
         }
@@ -520,11 +520,11 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The client-assigned labels which were provided when the operation was\ncreated. May also include additional labels.",
+          "description": "The client-assigned labels which were provided when the operation was created. May also include additional labels.",
           "type": "object"
         },
         "operationType": {
-          "description": "The type of the operation. Can be used as a filter in\nListOperationsRequest.",
+          "description": "The type of the operation. Can be used as a filter in ListOperationsRequest.",
           "enum": [
             "OPERATION_TYPE_UNSPECIFIED",
             "EXPORT_ENTITIES",
@@ -562,11 +562,11 @@
             "Unspecified.",
             "Request is being prepared for processing.",
             "Request is actively being processed.",
-            "Request is in the process of being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation on the operation.",
+            "Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.",
             "Request has been processed and is in its finalization stage.",
             "Request has completed successfully.",
             "Request has finished being processed, but encountered an error.",
-            "Request has finished being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation."
+            "Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation."
           ],
           "type": "string"
         }
@@ -574,7 +574,7 @@
       "type": "object"
     },
     "GoogleDatastoreAdminV1EntityFilter": {
-      "description": "Identifies a subset of entities in a project. This is specified as\ncombinations of kinds and namespaces (either or both of which may be all, as\ndescribed in the following examples).\nExample usage:\n\nEntire project:\n  kinds=[], namespace_ids=[]\n\nKinds Foo and Bar in all namespaces:\n  kinds=['Foo', 'Bar'], namespace_ids=[]\n\nKinds Foo and Bar only in the default namespace:\n  kinds=['Foo', 'Bar'], namespace_ids=['']\n\nKinds Foo and Bar in both the default and Baz namespaces:\n  kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz']\n\nThe entire Baz namespace:\n  kinds=[], namespace_ids=['Baz']",
+      "description": "Identifies a subset of entities in a project. This is specified as combinations of kinds and namespaces (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']",
       "id": "GoogleDatastoreAdminV1EntityFilter",
       "properties": {
         "kinds": {
@@ -585,7 +585,7 @@
           "type": "array"
         },
         "namespaceIds": {
-          "description": "An empty list represents all namespaces. This is the preferred\nusage for projects that don't use namespaces.\n\nAn empty string element represents the default namespace. This should be\nused if the project has data in non-default namespaces, but doesn't want to\ninclude them.\nEach namespace in this list must be unique.",
+          "description": "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.",
           "items": {
             "type": "string"
           },
@@ -607,7 +607,7 @@
           "description": "Description of which entities are being exported."
         },
         "outputUrlPrefix": {
-          "description": "Location for the export metadata and data files. This will be the same\nvalue as the\ngoogle.datastore.admin.v1.ExportEntitiesRequest.output_url_prefix\nfield. The final output location is provided in\ngoogle.datastore.admin.v1.ExportEntitiesResponse.output_url.",
+          "description": "Location for the export metadata and data files. This will be the same value as the google.datastore.admin.v1.ExportEntitiesRequest.output_url_prefix field. The final output location is provided in google.datastore.admin.v1.ExportEntitiesResponse.output_url.",
           "type": "string"
         },
         "progressBytes": {
@@ -622,11 +622,11 @@
       "type": "object"
     },
     "GoogleDatastoreAdminV1ExportEntitiesResponse": {
-      "description": "The response for\ngoogle.datastore.admin.v1.DatastoreAdmin.ExportEntities.",
+      "description": "The response for google.datastore.admin.v1.DatastoreAdmin.ExportEntities.",
       "id": "GoogleDatastoreAdminV1ExportEntitiesResponse",
       "properties": {
         "outputUrl": {
-          "description": "Location of the output metadata file. This can be used to begin an import\ninto Cloud Datastore (this project or another project). See\ngoogle.datastore.admin.v1.ImportEntitiesRequest.input_url.\nOnly present if the operation completed successfully.",
+          "description": "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.v1.ImportEntitiesRequest.input_url. Only present if the operation completed successfully.",
           "type": "string"
         }
       },
@@ -645,7 +645,7 @@
           "description": "Description of which entities are being imported."
         },
         "inputUrl": {
-          "description": "The location of the import metadata file. This will be the same value as\nthe google.datastore.admin.v1.ExportEntitiesResponse.output_url field.",
+          "description": "The location of the import metadata file. This will be the same value as the google.datastore.admin.v1.ExportEntitiesResponse.output_url field.",
           "type": "string"
         },
         "progressBytes": {
@@ -683,12 +683,12 @@
       "id": "GoogleDatastoreAdminV1Progress",
       "properties": {
         "workCompleted": {
-          "description": "The amount of work that has been completed. Note that this may be greater\nthan work_estimated.",
+          "description": "The amount of work that has been completed. Note that this may be greater than work_estimated.",
           "format": "int64",
           "type": "string"
         },
         "workEstimated": {
-          "description": "An estimate of how much work needs to be performed. May be zero if the\nwork estimate is unavailable.",
+          "description": "An estimate of how much work needs to be performed. May be zero if the work estimate is unavailable.",
           "format": "int64",
           "type": "string"
         }
@@ -708,11 +708,11 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The client-assigned labels which were provided when the operation was\ncreated. May also include additional labels.",
+          "description": "The client-assigned labels which were provided when the operation was created. May also include additional labels.",
           "type": "object"
         },
         "operationType": {
-          "description": "The type of the operation. Can be used as a filter in\nListOperationsRequest.",
+          "description": "The type of the operation. Can be used as a filter in ListOperationsRequest.",
           "enum": [
             "OPERATION_TYPE_UNSPECIFIED",
             "EXPORT_ENTITIES",
@@ -746,11 +746,11 @@
             "Unspecified.",
             "Request is being prepared for processing.",
             "Request is actively being processed.",
-            "Request is in the process of being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation on the operation.",
+            "Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.",
             "Request has been processed and is in its finalization stage.",
             "Request has completed successfully.",
             "Request has finished being processed, but encountered an error.",
-            "Request has finished being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation."
+            "Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation."
           ],
           "type": "string"
         }
@@ -758,7 +758,7 @@
       "type": "object"
     },
     "GoogleDatastoreAdminV1beta1EntityFilter": {
-      "description": "Identifies a subset of entities in a project. This is specified as\ncombinations of kinds and namespaces (either or both of which may be all, as\ndescribed in the following examples).\nExample usage:\n\nEntire project:\n  kinds=[], namespace_ids=[]\n\nKinds Foo and Bar in all namespaces:\n  kinds=['Foo', 'Bar'], namespace_ids=[]\n\nKinds Foo and Bar only in the default namespace:\n  kinds=['Foo', 'Bar'], namespace_ids=['']\n\nKinds Foo and Bar in both the default and Baz namespaces:\n  kinds=['Foo', 'Bar'], namespace_ids=['', 'Baz']\n\nThe entire Baz namespace:\n  kinds=[], namespace_ids=['Baz']",
+      "description": "Identifies a subset of entities in a project. This is specified as combinations of kinds and namespaces (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']",
       "id": "GoogleDatastoreAdminV1beta1EntityFilter",
       "properties": {
         "kinds": {
@@ -769,7 +769,7 @@
           "type": "array"
         },
         "namespaceIds": {
-          "description": "An empty list represents all namespaces. This is the preferred\nusage for projects that don't use namespaces.\n\nAn empty string element represents the default namespace. This should be\nused if the project has data in non-default namespaces, but doesn't want to\ninclude them.\nEach namespace in this list must be unique.",
+          "description": "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.",
           "items": {
             "type": "string"
           },
@@ -791,7 +791,7 @@
           "description": "Description of which entities are being exported."
         },
         "outputUrlPrefix": {
-          "description": "Location for the export metadata and data files. This will be the same\nvalue as the\ngoogle.datastore.admin.v1beta1.ExportEntitiesRequest.output_url_prefix\nfield. The final output location is provided in\ngoogle.datastore.admin.v1beta1.ExportEntitiesResponse.output_url.",
+          "description": "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.",
           "type": "string"
         },
         "progressBytes": {
@@ -806,11 +806,11 @@
       "type": "object"
     },
     "GoogleDatastoreAdminV1beta1ExportEntitiesResponse": {
-      "description": "The response for\ngoogle.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities.",
+      "description": "The response for google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities.",
       "id": "GoogleDatastoreAdminV1beta1ExportEntitiesResponse",
       "properties": {
         "outputUrl": {
-          "description": "Location of the output metadata file. This can be used to begin an import\ninto Cloud Datastore (this project or another project). See\ngoogle.datastore.admin.v1beta1.ImportEntitiesRequest.input_url.\nOnly present if the operation completed successfully.",
+          "description": "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.",
           "type": "string"
         }
       },
@@ -829,7 +829,7 @@
           "description": "Description of which entities are being imported."
         },
         "inputUrl": {
-          "description": "The location of the import metadata file. This will be the same value as\nthe google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url\nfield.",
+          "description": "The location of the import metadata file. This will be the same value as the google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url field.",
           "type": "string"
         },
         "progressBytes": {
@@ -848,12 +848,12 @@
       "id": "GoogleDatastoreAdminV1beta1Progress",
       "properties": {
         "workCompleted": {
-          "description": "The amount of work that has been completed. Note that this may be greater\nthan work_estimated.",
+          "description": "The amount of work that has been completed. Note that this may be greater than work_estimated.",
           "format": "int64",
           "type": "string"
         },
         "workEstimated": {
-          "description": "An estimate of how much work needs to be performed. May be zero if the\nwork estimate is unavailable.",
+          "description": "An estimate of how much work needs to be performed. May be zero if the work estimate is unavailable.",
           "format": "int64",
           "type": "string"
         }
@@ -861,29 +861,29 @@
       "type": "object"
     },
     "GqlQuery": {
-      "description": "A [GQL\nquery](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).",
+      "description": "A [GQL query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).",
       "id": "GqlQuery",
       "properties": {
         "allowLiterals": {
-          "description": "When false, the query string must not contain any literals and instead must\nbind all values. For example,\n`SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while\n`SELECT * FROM Kind WHERE a = @value` is.",
+          "description": "When false, the query string must not contain any literals and instead must bind all values. For example, `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while `SELECT * FROM Kind WHERE a = @value` is.",
           "type": "boolean"
         },
         "namedBindings": {
           "additionalProperties": {
             "$ref": "GqlQueryParameter"
           },
-          "description": "For each non-reserved named binding site in the query string, there must be\na named parameter with that name, but not necessarily the inverse.\n\nKey must match regex `A-Za-z_$*`, must not match regex\n`__.*__`, and must not be `\"\"`.",
+          "description": "For each non-reserved named binding site in the query string, there must be a named parameter with that name, but not necessarily the inverse. Key must match regex `A-Za-z_$*`, must not match regex `__.*__`, and must not be `\"\"`.",
           "type": "object"
         },
         "positionalBindings": {
-          "description": "Numbered binding site @1 references the first numbered parameter,\neffectively using 1-based indexing, rather than the usual 0.\n\nFor each binding site numbered i in `query_string`, there must be an i-th\nnumbered parameter. The inverse must also be true.",
+          "description": "Numbered binding site @1 references the first numbered parameter, effectively using 1-based indexing, rather than the usual 0. For each binding site numbered i in `query_string`, there must be an i-th numbered parameter. The inverse must also be true.",
           "items": {
             "$ref": "GqlQueryParameter"
           },
           "type": "array"
         },
         "queryString": {
-          "description": "A string of the format described\n[here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).",
+          "description": "A string of the format described [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).",
           "type": "string"
         }
       },
@@ -894,7 +894,7 @@
       "id": "GqlQueryParameter",
       "properties": {
         "cursor": {
-          "description": "A query cursor. Query cursors are returned in query\nresult batches.",
+          "description": "A query cursor. Query cursors are returned in query result batches.",
           "format": "byte",
           "type": "string"
         },
@@ -906,15 +906,15 @@
       "type": "object"
     },
     "Key": {
-      "description": "A unique identifier for an entity.\nIf a key's partition ID or any of its path kinds or names are\nreserved/read-only, the key is reserved/read-only.\nA reserved/read-only key is forbidden in certain documented contexts.",
+      "description": "A unique identifier for an entity. If a key's partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts.",
       "id": "Key",
       "properties": {
         "partitionId": {
           "$ref": "PartitionId",
-          "description": "Entities are partitioned into subsets, currently identified by a project\nID and namespace ID.\nQueries are scoped to a single partition."
+          "description": "Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition."
         },
         "path": {
-          "description": "The entity path.\nAn entity path consists of one or more elements composed of a kind and a\nstring or numerical identifier, which identify entities. The first\nelement identifies a _root entity_, the second element identifies\na _child_ of the root entity, the third element identifies a child of the\nsecond entity, and so forth. The entities identified by all prefixes of\nthe path are called the element's _ancestors_.\n\nAn entity path is always fully complete: *all* of the entity's ancestors\nare required to be in the path along with the entity identifier itself.\nThe only exception is that in some documented cases, the identifier in the\nlast path element (for the entity) itself may be omitted. For example,\nthe last path element of the key of `Mutation.insert` may have no\nidentifier.\n\nA path can never be empty, and a path can have at most 100 elements.",
+          "description": "The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element's _ancestors_. An entity path is always fully complete: *all* of the entity's ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.",
           "items": {
             "$ref": "PathElement"
           },
@@ -935,7 +935,7 @@
       "type": "object"
     },
     "LatLng": {
-      "description": "An object representing a latitude/longitude pair. This is expressed as a pair\nof doubles representing degrees latitude and degrees longitude. Unless\nspecified otherwise, this must conform to the\n\u003ca href=\"http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\"\u003eWGS84\nstandard\u003c/a\u003e. Values must be within normalized ranges.",
+      "description": "An object representing a latitude/longitude pair. This is expressed as a pair of doubles representing degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges.",
       "id": "LatLng",
       "properties": {
         "latitude": {
@@ -974,21 +974,21 @@
       "id": "LookupResponse",
       "properties": {
         "deferred": {
-          "description": "A list of keys that were not looked up due to resource constraints. The\norder of results in this field is undefined and has no relation to the\norder of the keys in the input.",
+          "description": "A list of keys that were not looked up due to resource constraints. The order of results in this field is undefined and has no relation to the order of the keys in the input.",
           "items": {
             "$ref": "Key"
           },
           "type": "array"
         },
         "found": {
-          "description": "Entities found as `ResultType.FULL` entities. The order of results in this\nfield is undefined and has no relation to the order of the keys in the\ninput.",
+          "description": "Entities found as `ResultType.FULL` entities. The order of results in this field is undefined and has no relation to the order of the keys in the input.",
           "items": {
             "$ref": "EntityResult"
           },
           "type": "array"
         },
         "missing": {
-          "description": "Entities not found as `ResultType.KEY_ONLY` entities. The order of results\nin this field is undefined and has no relation to the order of the keys\nin the input.",
+          "description": "Entities not found as `ResultType.KEY_ONLY` entities. The order of results in this field is undefined and has no relation to the order of the keys in the input.",
           "items": {
             "$ref": "EntityResult"
           },
@@ -1002,25 +1002,25 @@
       "id": "Mutation",
       "properties": {
         "baseVersion": {
-          "description": "The version of the entity that this mutation is being applied to. If this\ndoes not match the current version on the server, the mutation conflicts.",
+          "description": "The version of the entity that this mutation is being applied to. If this does not match the current version on the server, the mutation conflicts.",
           "format": "int64",
           "type": "string"
         },
         "delete": {
           "$ref": "Key",
-          "description": "The key of the entity to delete. The entity may or may not already exist.\nMust have a complete key path and must not be reserved/read-only."
+          "description": "The key of the entity to delete. The entity may or may not already exist. Must have a complete key path and must not be reserved/read-only."
         },
         "insert": {
           "$ref": "Entity",
-          "description": "The entity to insert. The entity must not already exist.\nThe entity key's final path element may be incomplete."
+          "description": "The entity to insert. The entity must not already exist. The entity key's final path element may be incomplete."
         },
         "update": {
           "$ref": "Entity",
-          "description": "The entity to update. The entity must already exist.\nMust have a complete key path."
+          "description": "The entity to update. The entity must already exist. Must have a complete key path."
         },
         "upsert": {
           "$ref": "Entity",
-          "description": "The entity to upsert. The entity may or may not already exist.\nThe entity key's final path element may be incomplete."
+          "description": "The entity to upsert. The entity may or may not already exist. The entity key's final path element may be incomplete."
         }
       },
       "type": "object"
@@ -1030,15 +1030,15 @@
       "id": "MutationResult",
       "properties": {
         "conflictDetected": {
-          "description": "Whether a conflict was detected for this mutation. Always false when a\nconflict detection strategy field is not set in the mutation.",
+          "description": "Whether a conflict was detected for this mutation. Always false when a conflict detection strategy field is not set in the mutation.",
           "type": "boolean"
         },
         "key": {
           "$ref": "Key",
-          "description": "The automatically allocated key.\nSet only when the mutation allocated a key."
+          "description": "The automatically allocated key. Set only when the mutation allocated a key."
         },
         "version": {
-          "description": "The version of the entity on the server after processing the mutation. If\nthe mutation doesn't change anything on the server, then the version will\nbe the version of the current entity or, if no entity is present, a version\nthat is strictly greater than the version of any previous entity and less\nthan the version of any possible future entity.",
+          "description": "The version of the entity on the server after processing the mutation. If the mutation doesn't change anything on the server, then the version will be the version of the current entity or, if no entity is present, a version that is strictly greater than the version of any previous entity and less than the version of any possible future entity.",
           "format": "int64",
           "type": "string"
         }
@@ -1046,7 +1046,7 @@
       "type": "object"
     },
     "PartitionId": {
-      "description": "A partition ID identifies a grouping of entities. The grouping is always\nby project and namespace, however the namespace ID may be empty.\n\nA partition ID contains several dimensions:\nproject ID and namespace ID.\n\nPartition dimensions:\n\n- May be `\"\"`.\n- Must be valid UTF-8 bytes.\n- Must have values that match regex `[A-Za-z\\d\\.\\-_]{1,100}`\nIf the value of any dimension matches regex `__.*__`, the partition is\nreserved/read-only.\nA reserved/read-only partition ID is forbidden in certain documented\ncontexts.\n\nForeign partition IDs (in which the project ID does\nnot match the context project ID ) are discouraged.\nReads and writes of foreign partition IDs may fail if the project is not in an active state.",
+      "description": "A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `\"\"`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\\d\\.\\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state.",
       "id": "PartitionId",
       "properties": {
         "namespaceId": {
@@ -1061,20 +1061,20 @@
       "type": "object"
     },
     "PathElement": {
-      "description": "A (kind, ID/name) pair used to construct a key path.\n\nIf either name or ID is set, the element is complete.\nIf neither is set, the element is incomplete.",
+      "description": "A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.",
       "id": "PathElement",
       "properties": {
         "id": {
-          "description": "The auto-allocated ID of the entity.\nNever equal to zero. Values less than zero are discouraged and may not\nbe supported in the future.",
+          "description": "The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.",
           "format": "int64",
           "type": "string"
         },
         "kind": {
-          "description": "The kind of the entity.\nA kind matching regex `__.*__` is reserved/read-only.\nA kind must not contain more than 1500 bytes when UTF-8 encoded.\nCannot be `\"\"`.",
+          "description": "The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `\"\"`.",
           "type": "string"
         },
         "name": {
-          "description": "The name of the entity.\nA name matching regex `__.*__` is reserved/read-only.\nA name must not be more than 1500 bytes when UTF-8 encoded.\nCannot be `\"\"`.",
+          "description": "The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `\"\"`.",
           "type": "string"
         }
       },
@@ -1158,7 +1158,7 @@
       "id": "PropertyReference",
       "properties": {
         "name": {
-          "description": "The name of the property.\nIf name includes \".\"s, it may be interpreted as a property name path.",
+          "description": "The name of the property. If name includes \".\"s, it may be interpreted as a property name path.",
           "type": "string"
         }
       },
@@ -1169,14 +1169,14 @@
       "id": "Query",
       "properties": {
         "distinctOn": {
-          "description": "The properties to make distinct. The query results will contain the first\nresult for each distinct combination of values for the given properties\n(if empty, all results are returned).",
+          "description": "The properties to make distinct. The query results will contain the first result for each distinct combination of values for the given properties (if empty, all results are returned).",
           "items": {
             "$ref": "PropertyReference"
           },
           "type": "array"
         },
         "endCursor": {
-          "description": "An ending point for the query results. Query cursors are\nreturned in query result batches and\n[can only be used to limit the same\nquery](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).",
+          "description": "An ending point for the query results. Query cursors are returned in query result batches and [can only be used to limit the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).",
           "format": "byte",
           "type": "string"
         },
@@ -1185,19 +1185,19 @@
           "description": "The filter to apply."
         },
         "kind": {
-          "description": "The kinds to query (if empty, returns entities of all kinds).\nCurrently at most 1 kind may be specified.",
+          "description": "The kinds to query (if empty, returns entities of all kinds). Currently at most 1 kind may be specified.",
           "items": {
             "$ref": "KindExpression"
           },
           "type": "array"
         },
         "limit": {
-          "description": "The maximum number of results to return. Applies after all other\nconstraints. Optional.\nUnspecified is interpreted as no limit.\nMust be \u003e= 0 if specified.",
+          "description": "The maximum number of results to return. Applies after all other constraints. Optional. Unspecified is interpreted as no limit. Must be \u003e= 0 if specified.",
           "format": "int32",
           "type": "integer"
         },
         "offset": {
-          "description": "The number of results to skip. Applies before limit, but after all other\nconstraints. Optional. Must be \u003e= 0 if specified.",
+          "description": "The number of results to skip. Applies before limit, but after all other constraints. Optional. Must be \u003e= 0 if specified.",
           "format": "int32",
           "type": "integer"
         },
@@ -1216,7 +1216,7 @@
           "type": "array"
         },
         "startCursor": {
-          "description": "A starting point for the query results. Query cursors are\nreturned in query result batches and\n[can only be used to continue the same\nquery](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).",
+          "description": "A starting point for the query results. Query cursors are returned in query result batches and [can only be used to continue the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).",
           "format": "byte",
           "type": "string"
         }
@@ -1268,13 +1268,13 @@
             "Unspecified. This value is never used.",
             "There may be additional batches to fetch from this query.",
             "The query is finished, but there may be more results after the limit.",
-            "The query is finished, but there may be more results after the end\ncursor.",
+            "The query is finished, but there may be more results after the end cursor.",
             "The query is finished, and there are no more results."
           ],
           "type": "string"
         },
         "skippedCursor": {
-          "description": "A cursor that points to the position after the last skipped result.\nWill be set when `skipped_results` != 0.",
+          "description": "A cursor that points to the position after the last skipped result. Will be set when `skipped_results` != 0.",
           "format": "byte",
           "type": "string"
         },
@@ -1284,7 +1284,7 @@
           "type": "integer"
         },
         "snapshotVersion": {
-          "description": "The version number of the snapshot this batch was returned from.\nThis applies to the range of results from the query's `start_cursor` (or\nthe beginning of the query if no cursor was given) to this batch's\n`end_cursor` (not the query's `end_cursor`).\n\nIn a single transaction, subsequent query result batches for the same query\ncan have a greater snapshot version number. Each batch's snapshot version\nis valid for all preceding batches.\nThe value will be zero for eventually consistent queries.",
+          "description": "The version number of the snapshot this batch was returned from. This applies to the range of results from the query's `start_cursor` (or the beginning of the query if no cursor was given) to this batch's `end_cursor` (not the query's `end_cursor`). In a single transaction, subsequent query result batches for the same query can have a greater snapshot version number. Each batch's snapshot version is valid for all preceding batches. The value will be zero for eventually consistent queries.",
           "format": "int64",
           "type": "string"
         }
@@ -1302,7 +1302,7 @@
       "id": "ReadOptions",
       "properties": {
         "readConsistency": {
-          "description": "The non-transactional read consistency to use.\nCannot be set to `STRONG` for global queries.",
+          "description": "The non-transactional read consistency to use. Cannot be set to `STRONG` for global queries.",
           "enum": [
             "READ_CONSISTENCY_UNSPECIFIED",
             "STRONG",
@@ -1316,7 +1316,7 @@
           "type": "string"
         },
         "transaction": {
-          "description": "The identifier of the transaction in which to read. A\ntransaction identifier is returned by a call to\nDatastore.BeginTransaction.",
+          "description": "The identifier of the transaction in which to read. A transaction identifier is returned by a call to Datastore.BeginTransaction.",
           "format": "byte",
           "type": "string"
         }
@@ -1344,7 +1344,7 @@
           "type": "string"
         },
         "keys": {
-          "description": "Required. A list of keys with complete key paths whose numeric IDs should not be\nauto-allocated.",
+          "description": "Required. A list of keys with complete key paths whose numeric IDs should not be auto-allocated.",
           "items": {
             "$ref": "Key"
           },
@@ -1364,7 +1364,7 @@
       "id": "RollbackRequest",
       "properties": {
         "transaction": {
-          "description": "Required. The transaction identifier, returned by a call to\nDatastore.BeginTransaction.",
+          "description": "Required. The transaction identifier, returned by a call to Datastore.BeginTransaction.",
           "format": "byte",
           "type": "string"
         }
@@ -1372,7 +1372,7 @@
       "type": "object"
     },
     "RollbackResponse": {
-      "description": "The response for Datastore.Rollback.\n(an empty message).",
+      "description": "The response for Datastore.Rollback. (an empty message).",
       "id": "RollbackResponse",
       "properties": {},
       "type": "object"
@@ -1387,7 +1387,7 @@
         },
         "partitionId": {
           "$ref": "PartitionId",
-          "description": "Entities are partitioned into subsets, identified by a partition ID.\nQueries are scoped to a single partition.\nThis partition ID is normalized with the standard default context\npartition ID."
+          "description": "Entities are partitioned into subsets, identified by a partition ID. Queries are scoped to a single partition. This partition ID is normalized with the standard default context partition ID."
         },
         "query": {
           "$ref": "Query",
@@ -1416,7 +1416,7 @@
       "type": "object"
     },
     "TransactionOptions": {
-      "description": "Options for beginning a new transaction.\n\nTransactions can be created explicitly with calls to\nDatastore.BeginTransaction or implicitly by setting\nReadOptions.new_transaction in read requests.",
+      "description": "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.",
       "id": "TransactionOptions",
       "properties": {
         "readOnly": {
@@ -1431,15 +1431,15 @@
       "type": "object"
     },
     "Value": {
-      "description": "A message that can hold any of the supported value types and associated\nmetadata.",
+      "description": "A message that can hold any of the supported value types and associated metadata.",
       "id": "Value",
       "properties": {
         "arrayValue": {
           "$ref": "ArrayValue",
-          "description": "An array value.\nCannot contain another array value.\nA `Value` instance that sets field `array_value` must not set fields\n`meaning` or `exclude_from_indexes`."
+          "description": "An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`."
         },
         "blobValue": {
-          "description": "A blob value.\nMay have at most 1,000,000 bytes.\nWhen `exclude_from_indexes` is false, may have at most 1500 bytes.\nIn JSON requests, must be base64-encoded.",
+          "description": "A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.",
           "format": "byte",
           "type": "string"
         },
@@ -1454,10 +1454,10 @@
         },
         "entityValue": {
           "$ref": "Entity",
-          "description": "An entity value.\n\n- May have no key.\n- May have a key with an incomplete key path.\n- May have a reserved/read-only key."
+          "description": "An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key."
         },
         "excludeFromIndexes": {
-          "description": "If the value should be excluded from all indexes including those defined\nexplicitly.",
+          "description": "If the value should be excluded from all indexes including those defined explicitly.",
           "type": "boolean"
         },
         "geoPointValue": {
@@ -1489,11 +1489,11 @@
           "type": "string"
         },
         "stringValue": {
-          "description": "A UTF-8 encoded string value.\nWhen `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.\nOtherwise, may be set to at most 1,000,000 bytes.",
+          "description": "A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.",
           "type": "string"
         },
         "timestampValue": {
-          "description": "A timestamp value.\nWhen stored in the Datastore, precise only to microseconds;\nany additional precision is rounded down.",
+          "description": "A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.",
           "format": "google-datetime",
           "type": "string"
         }
diff --git a/datastore/v1beta3/datastore-gen.go b/datastore/v1beta3/datastore-gen.go
index 0510ef4..9b56b25 100644
--- a/datastore/v1beta3/datastore-gen.go
+++ b/datastore/v1beta3/datastore-gen.go
@@ -157,8 +157,7 @@
 // AllocateIdsRequest: The request for Datastore.AllocateIds.
 type AllocateIdsRequest struct {
 	// Keys: Required. A list of keys with incomplete key paths for which to
-	// allocate IDs.
-	// No key may be reserved/read-only.
+	// allocate IDs. No key may be reserved/read-only.
 	Keys []*Key `json:"keys,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Keys") to
@@ -187,8 +186,7 @@
 // AllocateIdsResponse: The response for Datastore.AllocateIds.
 type AllocateIdsResponse struct {
 	// Keys: The keys specified in the request (in the same order), each
-	// with
-	// its key path completed with a newly allocated ID.
+	// with its key path completed with a newly allocated ID.
 	Keys []*Key `json:"keys,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -220,10 +218,9 @@
 
 // ArrayValue: An array value.
 type ArrayValue struct {
-	// Values: Values in the array.
-	// The order of values in an array is preserved as long as all values
-	// have
-	// identical settings for 'exclude_from_indexes'.
+	// Values: Values in the array. The order of values in an array is
+	// preserved as long as all values have identical settings for
+	// 'exclude_from_indexes'.
 	Values []*Value `json:"values,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Values") to
@@ -318,37 +315,23 @@
 	// Possible values:
 	//   "MODE_UNSPECIFIED" - Unspecified. This value must not be used.
 	//   "TRANSACTIONAL" - Transactional: The mutations are either all
-	// applied, or none are applied.
-	// Learn about
-	// transactions
-	// [here](https://cloud.google.com/datastore/docs/concepts/t
-	// ransactions).
+	// applied, or none are applied. Learn about transactions
+	// [here](https://cloud.google.com/datastore/docs/concepts/transactions).
 	//   "NON_TRANSACTIONAL" - Non-transactional: The mutations may not
 	// apply as all or none.
 	Mode string `json:"mode,omitempty"`
 
-	// Mutations: The mutations to perform.
-	//
-	// When mode is `TRANSACTIONAL`, mutations affecting a single entity
-	// are
-	// applied in order. The following sequences of mutations affecting a
-	// single
-	// entity are not permitted in a single `Commit` request:
-	//
-	// - `insert` followed by `insert`
-	// - `update` followed by `insert`
-	// - `upsert` followed by `insert`
-	// - `delete` followed by `update`
-	//
-	// When mode is `NON_TRANSACTIONAL`, no two mutations may affect a
-	// single
-	// entity.
+	// Mutations: The mutations to perform. When mode is `TRANSACTIONAL`,
+	// mutations affecting a single entity are applied in order. The
+	// following sequences of mutations affecting a single entity are not
+	// permitted in a single `Commit` request: - `insert` followed by
+	// `insert` - `update` followed by `insert` - `upsert` followed by
+	// `insert` - `delete` followed by `update` When mode is
+	// `NON_TRANSACTIONAL`, no two mutations may affect a single entity.
 	Mutations []*Mutation `json:"mutations,omitempty"`
 
 	// Transaction: The identifier of the transaction associated with the
-	// commit. A
-	// transaction identifier is returned by a call
-	// to
+	// commit. A transaction identifier is returned by a call to
 	// Datastore.BeginTransaction.
 	Transaction string `json:"transaction,omitempty"`
 
@@ -378,13 +361,11 @@
 // CommitResponse: The response for Datastore.Commit.
 type CommitResponse struct {
 	// IndexUpdates: The number of index entries updated during the commit,
-	// or zero if none were
-	// updated.
+	// or zero if none were updated.
 	IndexUpdates int64 `json:"indexUpdates,omitempty"`
 
-	// MutationResults: The result of performing the mutations.
-	// The i-th mutation result corresponds to the i-th mutation in the
-	// request.
+	// MutationResults: The result of performing the mutations. The i-th
+	// mutation result corresponds to the i-th mutation in the request.
 	MutationResults []*MutationResult `json:"mutationResults,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -417,8 +398,8 @@
 // CompositeFilter: A filter that merges multiple other filters using
 // the given operator.
 type CompositeFilter struct {
-	// Filters: The list of filters to combine.
-	// Must contain at least one filter.
+	// Filters: The list of filters to combine. Must contain at least one
+	// filter.
 	Filters []*Filter `json:"filters,omitempty"`
 
 	// Op: The operator for combining multiple filters.
@@ -452,30 +433,21 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// Entity: A Datastore data object.
-//
-// An entity is limited to 1 megabyte when stored. That
-// _roughly_
-// corresponds to a limit of 1 megabyte for the serialized form of
-// this
-// message.
+// Entity: A Datastore data object. An entity is limited to 1 megabyte
+// when stored. That _roughly_ corresponds to a limit of 1 megabyte for
+// the serialized form of this message.
 type Entity struct {
-	// Key: The entity's key.
-	//
-	// An entity must have a key, unless otherwise documented (for
-	// example,
-	// an entity in `Value.entity_value` may have no key).
-	// An entity's kind is its key path's last element's kind,
-	// or null if it has no key.
+	// Key: The entity's key. An entity must have a key, unless otherwise
+	// documented (for example, an entity in `Value.entity_value` may have
+	// no key). An entity's kind is its key path's last element's kind, or
+	// null if it has no key.
 	Key *Key `json:"key,omitempty"`
 
-	// Properties: The entity's properties.
-	// The map's keys are property names.
-	// A property name matching regex `__.*__` is reserved.
-	// A reserved property name is forbidden in certain documented
-	// contexts.
-	// The name must not contain more than 500 characters.
-	// The name cannot be "".
+	// Properties: The entity's properties. The map's keys are property
+	// names. A property name matching regex `__.*__` is reserved. A
+	// reserved property name is forbidden in certain documented contexts.
+	// The name must not contain more than 500 characters. The name cannot
+	// be "".
 	Properties map[string]Value `json:"properties,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Key") to
@@ -503,8 +475,7 @@
 
 // EntityResult: The result of fetching an entity from Datastore.
 type EntityResult struct {
-	// Cursor: A cursor that points to the position after the result
-	// entity.
+	// Cursor: A cursor that points to the position after the result entity.
 	// Set only when the `EntityResult` is part of a `QueryResultBatch`
 	// message.
 	Cursor string `json:"cursor,omitempty"`
@@ -513,16 +484,10 @@
 	Entity *Entity `json:"entity,omitempty"`
 
 	// Version: The version of the entity, a strictly positive number that
-	// monotonically
-	// increases with changes to the entity.
-	//
-	// This field is set for `FULL` entity
-	// results.
-	//
-	// For missing entities in `LookupResponse`, this
-	// is the version of the snapshot that was used to look up the entity,
-	// and it
-	// is always set except for eventually consistent reads.
+	// monotonically increases with changes to the entity. This field is set
+	// for `FULL` entity results. For missing entities in `LookupResponse`,
+	// this is the version of the snapshot that was used to look up the
+	// entity, and it is always set except for eventually consistent reads.
 	Version int64 `json:"version,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "Cursor") to
@@ -588,12 +553,10 @@
 	EndTime string `json:"endTime,omitempty"`
 
 	// Labels: The client-assigned labels which were provided when the
-	// operation was
-	// created. May also include additional labels.
+	// operation was created. May also include additional labels.
 	Labels map[string]string `json:"labels,omitempty"`
 
-	// OperationType: The type of the operation. Can be used as a filter
-	// in
+	// OperationType: The type of the operation. Can be used as a filter in
 	// ListOperationsRequest.
 	//
 	// Possible values:
@@ -614,16 +577,15 @@
 	//   "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
-	// google.longrunning.Operations.CancelOperation on the operation.
+	// user called google.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
-	// google.longrunning.Operations.CancelOperation.
+	// called google.longrunning.Operations.CancelOperation.
 	State string `json:"state,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "EndTime") to
@@ -650,40 +612,24 @@
 }
 
 // GoogleDatastoreAdminV1EntityFilter: Identifies a subset of entities
-// in a project. This is specified as
-// combinations of kinds and namespaces (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']
+// in a project. This is specified as combinations of kinds and
+// namespaces (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']
 type GoogleDatastoreAdminV1EntityFilter struct {
 	// Kinds: If empty, then this represents all kinds.
 	Kinds []string `json:"kinds,omitempty"`
 
 	// NamespaceIds: 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.
+	// 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.
 	NamespaceIds []string `json:"namespaceIds,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Kinds") to
@@ -719,13 +665,9 @@
 	EntityFilter *GoogleDatastoreAdminV1EntityFilter `json:"entityFilter,omitempty"`
 
 	// OutputUrlPrefix: Location for the export metadata and data files.
-	// This will be the same
-	// value as
-	// the
+	// This will be the same value as the
 	// google.datastore.admin.v1.ExportEntitiesRequest.output_url_prefix
-	//
-	// field. The final output location is provided
-	// in
+	// field. The final output location is provided in
 	// google.datastore.admin.v1.ExportEntitiesResponse.output_url.
 	OutputUrlPrefix string `json:"outputUrlPrefix,omitempty"`
 
@@ -758,16 +700,14 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GoogleDatastoreAdminV1ExportEntitiesResponse: The response
-// for
+// GoogleDatastoreAdminV1ExportEntitiesResponse: The response for
 // google.datastore.admin.v1.DatastoreAdmin.ExportEntities.
 type GoogleDatastoreAdminV1ExportEntitiesResponse struct {
 	// OutputUrl: 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.v1.ImportEntitiesRequest.input_url.
-	// Only present if the operation completed successfully.
+	// begin an import into Cloud Datastore (this project or another
+	// project). See
+	// google.datastore.admin.v1.ImportEntitiesRequest.input_url. Only
+	// present if the operation completed successfully.
 	OutputUrl string `json:"outputUrl,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "OutputUrl") to
@@ -803,9 +743,8 @@
 	EntityFilter *GoogleDatastoreAdminV1EntityFilter `json:"entityFilter,omitempty"`
 
 	// InputUrl: The location of the import metadata file. This will be the
-	// same value as
-	// the google.datastore.admin.v1.ExportEntitiesResponse.output_url
-	// field.
+	// same value as the
+	// google.datastore.admin.v1.ExportEntitiesResponse.output_url field.
 	InputUrl string `json:"inputUrl,omitempty"`
 
 	// ProgressBytes: An estimate of the number of bytes processed.
@@ -876,13 +815,11 @@
 // metric.
 type GoogleDatastoreAdminV1Progress struct {
 	// WorkCompleted: The amount of work that has been completed. Note that
-	// this may be greater
-	// than work_estimated.
+	// this may be greater than work_estimated.
 	WorkCompleted int64 `json:"workCompleted,omitempty,string"`
 
 	// WorkEstimated: An estimate of how much work needs to be performed.
-	// May be zero if the
-	// work estimate is unavailable.
+	// May be zero if the work estimate is unavailable.
 	WorkEstimated int64 `json:"workEstimated,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "WorkCompleted") to
@@ -916,12 +853,10 @@
 	EndTime string `json:"endTime,omitempty"`
 
 	// Labels: The client-assigned labels which were provided when the
-	// operation was
-	// created. May also include additional labels.
+	// operation was created. May also include additional labels.
 	Labels map[string]string `json:"labels,omitempty"`
 
-	// OperationType: The type of the operation. Can be used as a filter
-	// in
+	// OperationType: The type of the operation. Can be used as a filter in
 	// ListOperationsRequest.
 	//
 	// Possible values:
@@ -940,16 +875,15 @@
 	//   "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
-	// google.longrunning.Operations.CancelOperation on the operation.
+	// user called google.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
-	// google.longrunning.Operations.CancelOperation.
+	// called google.longrunning.Operations.CancelOperation.
 	State string `json:"state,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "EndTime") to
@@ -976,40 +910,24 @@
 }
 
 // GoogleDatastoreAdminV1beta1EntityFilter: Identifies a subset of
-// entities in a project. This is specified as
-// combinations of kinds and namespaces (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']
+// entities in a project. This is specified as combinations of kinds and
+// namespaces (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']
 type GoogleDatastoreAdminV1beta1EntityFilter struct {
 	// Kinds: If empty, then this represents all kinds.
 	Kinds []string `json:"kinds,omitempty"`
 
 	// NamespaceIds: 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.
+	// 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.
 	NamespaceIds []string `json:"namespaceIds,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Kinds") to
@@ -1045,13 +963,9 @@
 	EntityFilter *GoogleDatastoreAdminV1beta1EntityFilter `json:"entityFilter,omitempty"`
 
 	// OutputUrlPrefix: Location for the export metadata and data files.
-	// This will be the same
-	// value as
-	// the
-	// google.datastore.admin.v1beta1.ExportEntitiesRequest.output_url_pr
-	// efix
-	// field. The final output location is provided
-	// in
+	// 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.
 	OutputUrlPrefix string `json:"outputUrlPrefix,omitempty"`
 
@@ -1084,17 +998,14 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GoogleDatastoreAdminV1beta1ExportEntitiesResponse: The response
-// for
+// GoogleDatastoreAdminV1beta1ExportEntitiesResponse: The response for
 // google.datastore.admin.v1beta1.DatastoreAdmin.ExportEntities.
 type GoogleDatastoreAdminV1beta1ExportEntitiesResponse struct {
 	// OutputUrl: 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.
-	// On
-	// ly present if the operation completed successfully.
+	// 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.
 	OutputUrl string `json:"outputUrl,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "OutputUrl") to
@@ -1130,11 +1041,9 @@
 	EntityFilter *GoogleDatastoreAdminV1beta1EntityFilter `json:"entityFilter,omitempty"`
 
 	// InputUrl: The location of the import metadata file. This will be the
-	// same value as
-	// the
+	// same value as the
 	// google.datastore.admin.v1beta1.ExportEntitiesResponse.output_url
-	// field
-	// .
+	// field.
 	InputUrl string `json:"inputUrl,omitempty"`
 
 	// ProgressBytes: An estimate of the number of bytes processed.
@@ -1170,13 +1079,11 @@
 // particular metric.
 type GoogleDatastoreAdminV1beta1Progress struct {
 	// WorkCompleted: The amount of work that has been completed. Note that
-	// this may be greater
-	// than work_estimated.
+	// this may be greater than work_estimated.
 	WorkCompleted int64 `json:"workCompleted,omitempty,string"`
 
 	// WorkEstimated: An estimate of how much work needs to be performed.
-	// May be zero if the
-	// work estimate is unavailable.
+	// May be zero if the work estimate is unavailable.
 	WorkEstimated int64 `json:"workEstimated,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "WorkCompleted") to
@@ -1202,41 +1109,32 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GqlQuery: A
-// [GQL
-// query](https://cloud.google.com/datastore/docs/apis/gql/gql_refer
-// ence).
+// GqlQuery: A [GQL
+// query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference)
+// .
 type GqlQuery struct {
 	// AllowLiterals: When false, the query string must not contain any
-	// literals and instead must
-	// bind all values. For example,
-	// `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed,
-	// while
-	// `SELECT * FROM Kind WHERE a = @value` is.
+	// literals and instead must bind all values. For example, `SELECT *
+	// FROM Kind WHERE a = 'string literal'` is not allowed, while `SELECT *
+	// FROM Kind WHERE a = @value` is.
 	AllowLiterals bool `json:"allowLiterals,omitempty"`
 
 	// NamedBindings: For each non-reserved named binding site in the query
-	// string, there must be
-	// a named parameter with that name, but not necessarily the
-	// inverse.
-	//
-	// Key must match regex `A-Za-z_$*`, must not match regex
-	// `__.*__`, and must not be "".
+	// string, there must be a named parameter with that name, but not
+	// necessarily the inverse. Key must match regex `A-Za-z_$*`, must not
+	// match regex `__.*__`, and must not be "".
 	NamedBindings map[string]GqlQueryParameter `json:"namedBindings,omitempty"`
 
 	// PositionalBindings: Numbered binding site @1 references the first
-	// numbered parameter,
-	// effectively using 1-based indexing, rather than the usual 0.
-	//
-	// For each binding site numbered i in `query_string`, there must be an
-	// i-th
-	// numbered parameter. The inverse must also be true.
+	// numbered parameter, effectively using 1-based indexing, rather than
+	// the usual 0. For each binding site numbered i in `query_string`,
+	// there must be an i-th numbered parameter. The inverse must also be
+	// true.
 	PositionalBindings []*GqlQueryParameter `json:"positionalBindings,omitempty"`
 
-	// QueryString: A string of the format
-	// described
-	// [here](https://cloud.google.com/datastore/docs/apis/gql/gql_
-	// reference).
+	// QueryString: A string of the format described
+	// [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference)
+	// .
 	QueryString string `json:"queryString,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AllowLiterals") to
@@ -1264,8 +1162,8 @@
 
 // GqlQueryParameter: A binding parameter for a GQL query.
 type GqlQueryParameter struct {
-	// Cursor: A query cursor. Query cursors are returned in query
-	// result batches.
+	// Cursor: A query cursor. Query cursors are returned in query result
+	// batches.
 	Cursor string `json:"cursor,omitempty"`
 
 	// Value: A value parameter.
@@ -1294,43 +1192,29 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// Key: A unique identifier for an entity.
-// If a key's partition ID or any of its path kinds or names
-// are
-// reserved/read-only, the key is reserved/read-only.
-// A reserved/read-only key is forbidden in certain documented contexts.
+// Key: A unique identifier for an entity. If a key's partition ID or
+// any of its path kinds or names are reserved/read-only, the key is
+// reserved/read-only. A reserved/read-only key is forbidden in certain
+// documented contexts.
 type Key struct {
 	// PartitionId: Entities are partitioned into subsets, currently
-	// identified by a project
-	// ID and namespace ID.
-	// Queries are scoped to a single partition.
+	// identified by a project ID and namespace ID. Queries are scoped to a
+	// single partition.
 	PartitionId *PartitionId `json:"partitionId,omitempty"`
 
-	// Path: The entity path.
-	// An entity path consists of one or more elements composed of a kind
-	// and a
-	// string or numerical identifier, which identify entities. The
-	// first
-	// element identifies a _root entity_, the second element identifies
-	// a _child_ of the root entity, the third element identifies a child of
-	// the
-	// second entity, and so forth. The entities identified by all prefixes
-	// of
-	// the path are called the element's _ancestors_.
-	//
-	// An entity path is always fully complete: *all* of the entity's
-	// ancestors
-	// are required to be in the path along with the entity identifier
-	// itself.
-	// The only exception is that in some documented cases, the identifier
-	// in the
-	// last path element (for the entity) itself may be omitted. For
-	// example,
-	// the last path element of the key of `Mutation.insert` may have
-	// no
-	// identifier.
-	//
-	// A path can never be empty, and a path can have at most 100 elements.
+	// Path: The entity path. An entity path consists of one or more
+	// elements composed of a kind and a string or numerical identifier,
+	// which identify entities. The first element identifies a _root
+	// entity_, the second element identifies a _child_ of the root entity,
+	// the third element identifies a child of the second entity, and so
+	// forth. The entities identified by all prefixes of the path are called
+	// the element's _ancestors_. An entity path is always fully complete:
+	// *all* of the entity's ancestors are required to be in the path along
+	// with the entity identifier itself. The only exception is that in some
+	// documented cases, the identifier in the last path element (for the
+	// entity) itself may be omitted. For example, the last path element of
+	// the key of `Mutation.insert` may have no identifier. A path can never
+	// be empty, and a path can have at most 100 elements.
 	Path []*PathElement `json:"path,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "PartitionId") to
@@ -1385,14 +1269,9 @@
 }
 
 // LatLng: An object representing a latitude/longitude pair. This is
-// expressed as a pair
-// of doubles representing degrees latitude and degrees longitude.
-// Unless
-// specified otherwise, this must conform to the
-// <a
-// href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
-// st
-// andard</a>. Values must be within normalized ranges.
+// expressed as a pair of doubles representing degrees latitude and
+// degrees longitude. Unless specified otherwise, this must conform to
+// the WGS84 standard. Values must be within normalized ranges.
 type LatLng struct {
 	// Latitude: The latitude in degrees. It must be in the range [-90.0,
 	// +90.0].
@@ -1475,24 +1354,18 @@
 // LookupResponse: The response for Datastore.Lookup.
 type LookupResponse struct {
 	// Deferred: A list of keys that were not looked up due to resource
-	// constraints. The
-	// order of results in this field is undefined and has no relation to
-	// the
-	// order of the keys in the input.
+	// constraints. The order of results in this field is undefined and has
+	// no relation to the order of the keys in the input.
 	Deferred []*Key `json:"deferred,omitempty"`
 
 	// Found: Entities found as `ResultType.FULL` entities. The order of
-	// results in this
-	// field is undefined and has no relation to the order of the keys in
-	// the
-	// input.
+	// results in this field is undefined and has no relation to the order
+	// of the keys in the input.
 	Found []*EntityResult `json:"found,omitempty"`
 
 	// Missing: Entities not found as `ResultType.KEY_ONLY` entities. The
-	// order of results
-	// in this field is undefined and has no relation to the order of the
-	// keys
-	// in the input.
+	// order of results in this field is undefined and has no relation to
+	// the order of the keys in the input.
 	Missing []*EntityResult `json:"missing,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1525,27 +1398,25 @@
 // Mutation: A mutation to apply to an entity.
 type Mutation struct {
 	// BaseVersion: The version of the entity that this mutation is being
-	// applied to. If this
-	// does not match the current version on the server, the mutation
-	// conflicts.
+	// applied to. If this does not match the current version on the server,
+	// the mutation conflicts.
 	BaseVersion int64 `json:"baseVersion,omitempty,string"`
 
 	// Delete: The key of the entity to delete. The entity may or may not
-	// already exist.
-	// Must have a complete key path and must not be reserved/read-only.
+	// already exist. Must have a complete key path and must not be
+	// reserved/read-only.
 	Delete *Key `json:"delete,omitempty"`
 
-	// Insert: The entity to insert. The entity must not already exist.
-	// The entity key's final path element may be incomplete.
+	// Insert: The entity to insert. The entity must not already exist. The
+	// entity key's final path element may be incomplete.
 	Insert *Entity `json:"insert,omitempty"`
 
-	// Update: The entity to update. The entity must already exist.
-	// Must have a complete key path.
+	// Update: The entity to update. The entity must already exist. Must
+	// have a complete key path.
 	Update *Entity `json:"update,omitempty"`
 
 	// Upsert: The entity to upsert. The entity may or may not already
-	// exist.
-	// The entity key's final path element may be incomplete.
+	// exist. The entity key's final path element may be incomplete.
 	Upsert *Entity `json:"upsert,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "BaseVersion") to
@@ -1574,23 +1445,20 @@
 // MutationResult: The result of applying a mutation.
 type MutationResult struct {
 	// ConflictDetected: Whether a conflict was detected for this mutation.
-	// Always false when a
-	// conflict detection strategy field is not set in the mutation.
+	// Always false when a conflict detection strategy field is not set in
+	// the mutation.
 	ConflictDetected bool `json:"conflictDetected,omitempty"`
 
-	// Key: The automatically allocated key.
-	// Set only when the mutation allocated a key.
+	// Key: The automatically allocated key. Set only when the mutation
+	// allocated a key.
 	Key *Key `json:"key,omitempty"`
 
 	// Version: The version of the entity on the server after processing the
-	// mutation. If
-	// the mutation doesn't change anything on the server, then the version
-	// will
-	// be the version of the current entity or, if no entity is present, a
-	// version
-	// that is strictly greater than the version of any previous entity and
-	// less
-	// than the version of any possible future entity.
+	// mutation. If the mutation doesn't change anything on the server, then
+	// the version will be the version of the current entity or, if no
+	// entity is present, a version that is strictly greater than the
+	// version of any previous entity and less than the version of any
+	// possible future entity.
 	Version int64 `json:"version,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "ConflictDetected") to
@@ -1618,28 +1486,16 @@
 }
 
 // PartitionId: A partition ID identifies a grouping of entities. The
-// grouping is always
-// by project and namespace, however the namespace ID may be empty.
-//
-// A partition ID contains several dimensions:
-// project ID and namespace ID.
-//
-// Partition dimensions:
-//
-// - May be "".
-// - Must be valid UTF-8 bytes.
-// - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
-// If the value of any dimension matches regex `__.*__`, the partition
-// is
-// reserved/read-only.
-// A reserved/read-only partition ID is forbidden in certain
-// documented
-// contexts.
-//
-// Foreign partition IDs (in which the project ID does
-// not match the context project ID ) are discouraged.
-// Reads and writes of foreign partition IDs may fail if the project is
-// not in an active state.
+// grouping is always by project and namespace, however the namespace ID
+// may be empty. A partition ID contains several dimensions: project ID
+// and namespace ID. Partition dimensions: - May be "". - Must be
+// valid UTF-8 bytes. - Must have values that match regex
+// `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex
+// `__.*__`, the partition is reserved/read-only. A reserved/read-only
+// partition ID is forbidden in certain documented contexts. Foreign
+// partition IDs (in which the project ID does not match the context
+// project ID ) are discouraged. Reads and writes of foreign partition
+// IDs may fail if the project is not in an active state.
 type PartitionId struct {
 	// NamespaceId: If not empty, the ID of the namespace to which the
 	// entities belong.
@@ -1671,28 +1527,23 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// PathElement: A (kind, ID/name) pair used to construct a key path.
-//
-// If either name or ID is set, the element is complete.
-// If neither is set, the element is incomplete.
+// PathElement: A (kind, ID/name) pair used to construct a key path. If
+// either name or ID is set, the element is complete. If neither is set,
+// the element is incomplete.
 type PathElement struct {
-	// Id: The auto-allocated ID of the entity.
-	// Never equal to zero. Values less than zero are discouraged and may
-	// not
-	// be supported in the future.
+	// Id: The auto-allocated ID of the entity. Never equal to zero. Values
+	// less than zero are discouraged and may not be supported in the
+	// future.
 	Id int64 `json:"id,omitempty,string"`
 
-	// Kind: The kind of the entity.
-	// A kind matching regex `__.*__` is reserved/read-only.
-	// A kind must not contain more than 1500 bytes when UTF-8
-	// encoded.
-	// Cannot be "".
+	// Kind: The kind of the entity. A kind matching regex `__.*__` is
+	// reserved/read-only. A kind must not contain more than 1500 bytes when
+	// UTF-8 encoded. Cannot be "".
 	Kind string `json:"kind,omitempty"`
 
-	// Name: The name of the entity.
-	// A name matching regex `__.*__` is reserved/read-only.
-	// A name must not be more than 1500 bytes when UTF-8 encoded.
-	// Cannot be "".
+	// Name: The name of the entity. A name matching regex `__.*__` is
+	// reserved/read-only. A name must not be more than 1500 bytes when
+	// UTF-8 encoded. Cannot be "".
 	Name string `json:"name,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Id") to
@@ -1828,8 +1679,8 @@
 // PropertyReference: A reference to a property relative to the kind
 // expressions.
 type PropertyReference struct {
-	// Name: The name of the property.
-	// If name includes "."s, it may be interpreted as a property name path.
+	// Name: The name of the property. If name includes "."s, it may be
+	// interpreted as a property name path.
 	Name string `json:"name,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Name") to
@@ -1858,39 +1709,31 @@
 // Query: A query for entities.
 type Query struct {
 	// DistinctOn: The properties to make distinct. The query results will
-	// contain the first
-	// result for each distinct combination of values for the given
-	// properties
-	// (if empty, all results are returned).
+	// contain the first result for each distinct combination of values for
+	// the given properties (if empty, all results are returned).
 	DistinctOn []*PropertyReference `json:"distinctOn,omitempty"`
 
-	// EndCursor: An ending point for the query results. Query cursors
-	// are
-	// returned in query result batches and
-	// [can only be used to limit the
+	// EndCursor: An ending point for the query results. Query cursors are
+	// returned in query result batches and [can only be used to limit the
 	// same
-	// query](https://cloud.google.com/datastore/docs/concepts/queries#c
-	// ursors_limits_and_offsets).
+	// query](https://cloud.google.com/datastore/docs/concepts/queries#cursor
+	// s_limits_and_offsets).
 	EndCursor string `json:"endCursor,omitempty"`
 
 	// Filter: The filter to apply.
 	Filter *Filter `json:"filter,omitempty"`
 
-	// Kind: The kinds to query (if empty, returns entities of all
-	// kinds).
+	// Kind: The kinds to query (if empty, returns entities of all kinds).
 	// Currently at most 1 kind may be specified.
 	Kind []*KindExpression `json:"kind,omitempty"`
 
 	// Limit: The maximum number of results to return. Applies after all
-	// other
-	// constraints. Optional.
-	// Unspecified is interpreted as no limit.
+	// other constraints. Optional. Unspecified is interpreted as no limit.
 	// Must be >= 0 if specified.
 	Limit int64 `json:"limit,omitempty"`
 
 	// Offset: The number of results to skip. Applies before limit, but
-	// after all other
-	// constraints. Optional. Must be >= 0 if specified.
+	// after all other constraints. Optional. Must be >= 0 if specified.
 	Offset int64 `json:"offset,omitempty"`
 
 	// Order: The order to apply to the query results (if empty, order is
@@ -1902,12 +1745,10 @@
 	Projection []*Projection `json:"projection,omitempty"`
 
 	// StartCursor: A starting point for the query results. Query cursors
-	// are
-	// returned in query result batches and
-	// [can only be used to continue the
-	// same
-	// query](https://cloud.google.com/datastore/docs/concepts/queries#c
-	// ursors_limits_and_offsets).
+	// are returned in query result batches and [can only be used to
+	// continue the same
+	// query](https://cloud.google.com/datastore/docs/concepts/queries#cursor
+	// s_limits_and_offsets).
 	StartCursor string `json:"startCursor,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "DistinctOn") to
@@ -1963,15 +1804,13 @@
 	//   "MORE_RESULTS_AFTER_LIMIT" - The query is finished, but there may
 	// be more results after the limit.
 	//   "MORE_RESULTS_AFTER_CURSOR" - The query is finished, but there may
-	// be more results after the end
-	// cursor.
+	// be more results after the end cursor.
 	//   "NO_MORE_RESULTS" - The query is finished, and there are no more
 	// results.
 	MoreResults string `json:"moreResults,omitempty"`
 
 	// SkippedCursor: A cursor that points to the position after the last
-	// skipped result.
-	// Will be set when `skipped_results` != 0.
+	// skipped result. Will be set when `skipped_results` != 0.
 	SkippedCursor string `json:"skippedCursor,omitempty"`
 
 	// SkippedResults: The number of results skipped, typically because of
@@ -1979,19 +1818,13 @@
 	SkippedResults int64 `json:"skippedResults,omitempty"`
 
 	// SnapshotVersion: The version number of the snapshot this batch was
-	// returned from.
-	// This applies to the range of results from the query's `start_cursor`
-	// (or
-	// the beginning of the query if no cursor was given) to this
-	// batch's
-	// `end_cursor` (not the query's `end_cursor`).
-	//
-	// In a single transaction, subsequent query result batches for the same
-	// query
-	// can have a greater snapshot version number. Each batch's snapshot
-	// version
-	// is valid for all preceding batches.
-	// The value will be zero for eventually consistent queries.
+	// returned from. This applies to the range of results from the query's
+	// `start_cursor` (or the beginning of the query if no cursor was given)
+	// to this batch's `end_cursor` (not the query's `end_cursor`). In a
+	// single transaction, subsequent query result batches for the same
+	// query can have a greater snapshot version number. Each batch's
+	// snapshot version is valid for all preceding batches. The value will
+	// be zero for eventually consistent queries.
 	SnapshotVersion int64 `json:"snapshotVersion,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "EndCursor") to
@@ -2023,8 +1856,7 @@
 
 // ReadOptions: The options shared by read requests.
 type ReadOptions struct {
-	// ReadConsistency: The non-transactional read consistency to
-	// use.
+	// ReadConsistency: The non-transactional read consistency to use.
 	// Cannot be set to `STRONG` for global queries.
 	//
 	// Possible values:
@@ -2034,10 +1866,8 @@
 	//   "EVENTUAL" - Eventual consistency.
 	ReadConsistency string `json:"readConsistency,omitempty"`
 
-	// Transaction: The identifier of the transaction in which to read.
-	// A
-	// transaction identifier is returned by a call
-	// to
+	// Transaction: The identifier of the transaction in which to read. A
+	// transaction identifier is returned by a call to
 	// Datastore.BeginTransaction.
 	Transaction string `json:"transaction,omitempty"`
 
@@ -2102,8 +1932,7 @@
 	DatabaseId string `json:"databaseId,omitempty"`
 
 	// Keys: Required. A list of keys with complete key paths whose numeric
-	// IDs should not be
-	// auto-allocated.
+	// IDs should not be auto-allocated.
 	Keys []*Key `json:"keys,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "DatabaseId") to
@@ -2139,8 +1968,7 @@
 // RollbackRequest: The request for Datastore.Rollback.
 type RollbackRequest struct {
 	// Transaction: Required. The transaction identifier, returned by a call
-	// to
-	// Datastore.BeginTransaction.
+	// to Datastore.BeginTransaction.
 	Transaction string `json:"transaction,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Transaction") to
@@ -2166,8 +1994,8 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// RollbackResponse: The response for Datastore.Rollback.
-// (an empty message).
+// RollbackResponse: The response for Datastore.Rollback. (an empty
+// message).
 type RollbackResponse struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -2180,10 +2008,8 @@
 	GqlQuery *GqlQuery `json:"gqlQuery,omitempty"`
 
 	// PartitionId: Entities are partitioned into subsets, identified by a
-	// partition ID.
-	// Queries are scoped to a single partition.
-	// This partition ID is normalized with the standard default
-	// context
+	// partition ID. Queries are scoped to a single partition. This
+	// partition ID is normalized with the standard default context
 	// partition ID.
 	PartitionId *PartitionId `json:"partitionId,omitempty"`
 
@@ -2252,13 +2078,9 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// TransactionOptions: Options for beginning a new
-// transaction.
-//
-// Transactions can be created explicitly with calls
-// to
-// Datastore.BeginTransaction or implicitly by
-// setting
+// TransactionOptions: 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.
 type TransactionOptions struct {
 	// ReadOnly: The transaction should only allow reads.
@@ -2291,20 +2113,16 @@
 }
 
 // Value: A message that can hold any of the supported value types and
-// associated
-// metadata.
+// associated metadata.
 type Value struct {
-	// ArrayValue: An array value.
-	// Cannot contain another array value.
-	// A `Value` instance that sets field `array_value` must not set
-	// fields
+	// ArrayValue: An array value. Cannot contain another array value. A
+	// `Value` instance that sets field `array_value` must not set fields
 	// `meaning` or `exclude_from_indexes`.
 	ArrayValue *ArrayValue `json:"arrayValue,omitempty"`
 
-	// BlobValue: A blob value.
-	// May have at most 1,000,000 bytes.
-	// When `exclude_from_indexes` is false, may have at most 1500 bytes.
-	// In JSON requests, must be base64-encoded.
+	// BlobValue: A blob value. May have at most 1,000,000 bytes. When
+	// `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON
+	// requests, must be base64-encoded.
 	BlobValue *string `json:"blobValue,omitempty"`
 
 	// BooleanValue: A boolean value.
@@ -2313,16 +2131,12 @@
 	// DoubleValue: A double value.
 	DoubleValue *float64 `json:"doubleValue,omitempty"`
 
-	// EntityValue: An entity value.
-	//
-	// - May have no key.
-	// - May have a key with an incomplete key path.
-	// - May have a reserved/read-only key.
+	// EntityValue: An entity value. - May have no key. - May have a key
+	// with an incomplete key path. - May have a reserved/read-only key.
 	EntityValue *Entity `json:"entityValue,omitempty"`
 
 	// ExcludeFromIndexes: If the value should be excluded from all indexes
-	// including those defined
-	// explicitly.
+	// including those defined explicitly.
 	ExcludeFromIndexes bool `json:"excludeFromIndexes,omitempty"`
 
 	// GeoPointValue: A geo point value representing a point on the surface
@@ -2345,15 +2159,14 @@
 	//   "NULL_VALUE" - Null value.
 	NullValue string `json:"nullValue,omitempty"`
 
-	// StringValue: A UTF-8 encoded string value.
-	// When `exclude_from_indexes` is false (it is indexed) , may have at
-	// most 1500 bytes.
-	// Otherwise, may be set to at most 1,000,000 bytes.
+	// StringValue: A UTF-8 encoded string value. When
+	// `exclude_from_indexes` is false (it is indexed) , may have at most
+	// 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
 	StringValue *string `json:"stringValue,omitempty"`
 
-	// TimestampValue: A timestamp value.
-	// When stored in the Datastore, precise only to microseconds;
-	// any additional precision is rounded down.
+	// TimestampValue: A timestamp value. When stored in the Datastore,
+	// precise only to microseconds; any additional precision is rounded
+	// down.
 	TimestampValue *string `json:"timestampValue,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ArrayValue") to
@@ -2407,8 +2220,7 @@
 }
 
 // AllocateIds: Allocates IDs for the given keys, which is useful for
-// referencing an entity
-// before it is inserted.
+// referencing an entity before it is inserted.
 func (r *ProjectsService) AllocateIds(projectId string, allocateidsrequest *AllocateIdsRequest) *ProjectsAllocateIdsCall {
 	c := &ProjectsAllocateIdsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -2443,7 +2255,7 @@
 
 func (c *ProjectsAllocateIdsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2507,7 +2319,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Allocates IDs for the given keys, which is useful for referencing an entity\nbefore it is inserted.",
+	//   "description": "Allocates IDs for the given keys, which is useful for referencing an entity before it is inserted.",
 	//   "flatPath": "v1beta3/projects/{projectId}:allocateIds",
 	//   "httpMethod": "POST",
 	//   "id": "datastore.projects.allocateIds",
@@ -2583,7 +2395,7 @@
 
 func (c *ProjectsBeginTransactionCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2689,8 +2501,7 @@
 }
 
 // Commit: Commits a transaction, optionally creating, deleting or
-// modifying some
-// entities.
+// modifying some entities.
 func (r *ProjectsService) Commit(projectId string, commitrequest *CommitRequest) *ProjectsCommitCall {
 	c := &ProjectsCommitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -2725,7 +2536,7 @@
 
 func (c *ProjectsCommitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2789,7 +2600,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Commits a transaction, optionally creating, deleting or modifying some\nentities.",
+	//   "description": "Commits a transaction, optionally creating, deleting or modifying some entities.",
 	//   "flatPath": "v1beta3/projects/{projectId}:commit",
 	//   "httpMethod": "POST",
 	//   "id": "datastore.projects.commit",
@@ -2865,7 +2676,7 @@
 
 func (c *ProjectsLookupCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2971,8 +2782,7 @@
 }
 
 // ReserveIds: Prevents the supplied keys' IDs from being auto-allocated
-// by Cloud
-// Datastore.
+// by Cloud Datastore.
 func (r *ProjectsService) ReserveIds(projectId string, reserveidsrequest *ReserveIdsRequest) *ProjectsReserveIdsCall {
 	c := &ProjectsReserveIdsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -3007,7 +2817,7 @@
 
 func (c *ProjectsReserveIdsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3071,7 +2881,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Prevents the supplied keys' IDs from being auto-allocated by Cloud\nDatastore.",
+	//   "description": "Prevents the supplied keys' IDs from being auto-allocated by Cloud Datastore.",
 	//   "flatPath": "v1beta3/projects/{projectId}:reserveIds",
 	//   "httpMethod": "POST",
 	//   "id": "datastore.projects.reserveIds",
@@ -3147,7 +2957,7 @@
 
 func (c *ProjectsRollbackCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3287,7 +3097,7 @@
 
 func (c *ProjectsRunQueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/deploymentmanager/v0.alpha/deploymentmanager-gen.go b/deploymentmanager/v0.alpha/deploymentmanager-gen.go
index d890150..8a98b25 100644
--- a/deploymentmanager/v0.alpha/deploymentmanager-gen.go
+++ b/deploymentmanager/v0.alpha/deploymentmanager-gen.go
@@ -3380,7 +3380,7 @@
 
 func (c *CompositeTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3532,7 +3532,7 @@
 
 func (c *CompositeTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3678,7 +3678,7 @@
 
 func (c *CompositeTypesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3901,7 +3901,7 @@
 
 func (c *CompositeTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4089,7 +4089,7 @@
 
 func (c *CompositeTypesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4240,7 +4240,7 @@
 
 func (c *CompositeTypesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4392,7 +4392,7 @@
 
 func (c *DeploymentsCancelPreviewCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4553,7 +4553,7 @@
 
 func (c *DeploymentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4718,7 +4718,7 @@
 
 func (c *DeploymentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4883,7 +4883,7 @@
 
 func (c *DeploymentsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5060,7 +5060,7 @@
 
 func (c *DeploymentsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5304,7 +5304,7 @@
 
 func (c *DeploymentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5532,7 +5532,7 @@
 
 func (c *DeploymentsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5720,7 +5720,7 @@
 
 func (c *DeploymentsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5873,7 +5873,7 @@
 
 func (c *DeploymentsStopCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6025,7 +6025,7 @@
 
 func (c *DeploymentsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6216,7 +6216,7 @@
 
 func (c *DeploymentsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6414,7 +6414,7 @@
 
 func (c *ManifestsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6654,7 +6654,7 @@
 
 func (c *ManifestsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6860,7 +6860,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7088,7 +7088,7 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7287,7 +7287,7 @@
 
 func (c *ResourcesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7526,7 +7526,7 @@
 
 func (c *ResourcesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7721,7 +7721,7 @@
 
 func (c *TypeProvidersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7873,7 +7873,7 @@
 
 func (c *TypeProvidersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8032,7 +8032,7 @@
 
 func (c *TypeProvidersGetTypeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8186,7 +8186,7 @@
 
 func (c *TypeProvidersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8409,7 +8409,7 @@
 
 func (c *TypeProvidersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8680,7 +8680,7 @@
 
 func (c *TypeProvidersListTypesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8877,7 +8877,7 @@
 
 func (c *TypeProvidersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9028,7 +9028,7 @@
 
 func (c *TypeProvidersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9188,7 +9188,7 @@
 
 func (c *TypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9417,7 +9417,7 @@
 
 func (c *TypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/deploymentmanager/v2/deploymentmanager-gen.go b/deploymentmanager/v2/deploymentmanager-gen.go
index 76c9022..90f0202 100644
--- a/deploymentmanager/v2/deploymentmanager-gen.go
+++ b/deploymentmanager/v2/deploymentmanager-gen.go
@@ -2361,7 +2361,7 @@
 
 func (c *DeploymentsCancelPreviewCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2522,7 +2522,7 @@
 
 func (c *DeploymentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2687,7 +2687,7 @@
 
 func (c *DeploymentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2845,7 +2845,7 @@
 
 func (c *DeploymentsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3015,7 +3015,7 @@
 
 func (c *DeploymentsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3248,7 +3248,7 @@
 
 func (c *DeploymentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3470,7 +3470,7 @@
 
 func (c *DeploymentsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3656,7 +3656,7 @@
 
 func (c *DeploymentsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3809,7 +3809,7 @@
 
 func (c *DeploymentsStopCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3961,7 +3961,7 @@
 
 func (c *DeploymentsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4151,7 +4151,7 @@
 
 func (c *DeploymentsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4347,7 +4347,7 @@
 
 func (c *ManifestsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4578,7 +4578,7 @@
 
 func (c *ManifestsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4779,7 +4779,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4998,7 +4998,7 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5192,7 +5192,7 @@
 
 func (c *ResourcesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5422,7 +5422,7 @@
 
 func (c *ResourcesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5686,7 +5686,7 @@
 
 func (c *TypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/deploymentmanager/v2beta/deploymentmanager-gen.go b/deploymentmanager/v2beta/deploymentmanager-gen.go
index d6a09eb..27f7da8 100644
--- a/deploymentmanager/v2beta/deploymentmanager-gen.go
+++ b/deploymentmanager/v2beta/deploymentmanager-gen.go
@@ -3266,7 +3266,7 @@
 
 func (c *CompositeTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3418,7 +3418,7 @@
 
 func (c *CompositeTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3564,7 +3564,7 @@
 
 func (c *CompositeTypesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3778,7 +3778,7 @@
 
 func (c *CompositeTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3961,7 +3961,7 @@
 
 func (c *CompositeTypesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4112,7 +4112,7 @@
 
 func (c *CompositeTypesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4264,7 +4264,7 @@
 
 func (c *DeploymentsCancelPreviewCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4425,7 +4425,7 @@
 
 func (c *DeploymentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4590,7 +4590,7 @@
 
 func (c *DeploymentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4748,7 +4748,7 @@
 
 func (c *DeploymentsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4919,7 +4919,7 @@
 
 func (c *DeploymentsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5154,7 +5154,7 @@
 
 func (c *DeploymentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5377,7 +5377,7 @@
 
 func (c *DeploymentsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5565,7 +5565,7 @@
 
 func (c *DeploymentsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5718,7 +5718,7 @@
 
 func (c *DeploymentsStopCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5870,7 +5870,7 @@
 
 func (c *DeploymentsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6061,7 +6061,7 @@
 
 func (c *DeploymentsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6259,7 +6259,7 @@
 
 func (c *ManifestsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6490,7 +6490,7 @@
 
 func (c *ManifestsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6691,7 +6691,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6910,7 +6910,7 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7104,7 +7104,7 @@
 
 func (c *ResourcesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7334,7 +7334,7 @@
 
 func (c *ResourcesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7524,7 +7524,7 @@
 
 func (c *TypeProvidersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7676,7 +7676,7 @@
 
 func (c *TypeProvidersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7835,7 +7835,7 @@
 
 func (c *TypeProvidersGetTypeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7989,7 +7989,7 @@
 
 func (c *TypeProvidersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8203,7 +8203,7 @@
 
 func (c *TypeProvidersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8460,7 +8460,7 @@
 
 func (c *TypeProvidersListTypesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8652,7 +8652,7 @@
 
 func (c *TypeProvidersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8803,7 +8803,7 @@
 
 func (c *TypeProvidersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9026,7 +9026,7 @@
 
 func (c *TypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/dfareporting/v3.3/dfareporting-api.json b/dfareporting/v3.3/dfareporting-api.json
index efb2798..4e456dd 100644
--- a/dfareporting/v3.3/dfareporting-api.json
+++ b/dfareporting/v3.3/dfareporting-api.json
@@ -15,34 +15,62 @@
     }
   },
   "basePath": "/dfareporting/v3.3/",
-  "baseUrl": "https://www.googleapis.com/dfareporting/v3.3/",
-  "batchPath": "batch/dfareporting/v3.3",
-  "description": "Manages your DoubleClick Campaign Manager ad campaigns and reports.",
+  "baseUrl": "https://dfareporting.googleapis.com/dfareporting/v3.3/",
+  "batchPath": "batch",
+  "canonicalName": "Dfareporting",
+  "description": "Manage your DoubleClick Campaign Manager ad campaigns and reports.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/doubleclick-advertisers/",
-  "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/kUE5ERHBaKgFUVRbuUNbc2vvqsA\"",
   "icons": {
-    "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif",
-    "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif"
+    "x16": "http://www.google.com/images/icons/product/search-16.gif",
+    "x32": "http://www.google.com/images/icons/product/search-32.gif"
   },
   "id": "dfareporting:v3.3",
   "kind": "discovery#restDescription",
+  "mtlsRootUrl": "https://dfareporting.mtls.googleapis.com/",
   "name": "dfareporting",
   "ownerDomain": "google.com",
   "ownerName": "Google",
   "parameters": {
-    "alt": {
-      "default": "json",
-      "description": "Data format for the response.",
+    "$.xgafv": {
+      "description": "V1 error format.",
       "enum": [
-        "json"
+        "1",
+        "2"
       ],
       "enumDescriptions": [
-        "Responses with Content-Type of application/json"
+        "v1 error format",
+        "v2 error format"
       ],
       "location": "query",
       "type": "string"
     },
+    "access_token": {
+      "description": "OAuth access token.",
+      "location": "query",
+      "type": "string"
+    },
+    "alt": {
+      "default": "json",
+      "description": "Data format for response.",
+      "enum": [
+        "json",
+        "media",
+        "proto"
+      ],
+      "enumDescriptions": [
+        "Responses with Content-Type of application/json",
+        "Media download with context-dependent Content-Type",
+        "Responses with Content-Type of application/x-protobuf"
+      ],
+      "location": "query",
+      "type": "string"
+    },
+    "callback": {
+      "description": "JSONP",
+      "location": "query",
+      "type": "string"
+    },
     "fields": {
       "description": "Selector specifying which fields to include in a partial response.",
       "location": "query",
@@ -65,12 +93,17 @@
       "type": "boolean"
     },
     "quotaUser": {
-      "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.",
+      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
       "location": "query",
       "type": "string"
     },
-    "userIp": {
-      "description": "Deprecated. Please use quotaUser instead.",
+    "uploadType": {
+      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
+      "location": "query",
+      "type": "string"
+    },
+    "upload_protocol": {
+      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
       "location": "query",
       "type": "string"
     }
@@ -81,6 +114,7 @@
       "methods": {
         "get": {
           "description": "Gets the account's active ad summary by account ID.",
+          "flatPath": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}",
           "httpMethod": "GET",
           "id": "dfareporting.accountActiveAdSummaries.get",
           "parameterOrder": [
@@ -117,6 +151,7 @@
       "methods": {
         "get": {
           "description": "Gets one account permission group by ID.",
+          "flatPath": "userprofiles/{profileId}/accountPermissionGroups/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.accountPermissionGroups.get",
           "parameterOrder": [
@@ -149,6 +184,7 @@
         },
         "list": {
           "description": "Retrieves the list of account permission groups.",
+          "flatPath": "userprofiles/{profileId}/accountPermissionGroups",
           "httpMethod": "GET",
           "id": "dfareporting.accountPermissionGroups.list",
           "parameterOrder": [
@@ -177,6 +213,7 @@
       "methods": {
         "get": {
           "description": "Gets one account permission by ID.",
+          "flatPath": "userprofiles/{profileId}/accountPermissions/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.accountPermissions.get",
           "parameterOrder": [
@@ -209,6 +246,7 @@
         },
         "list": {
           "description": "Retrieves the list of account permissions.",
+          "flatPath": "userprofiles/{profileId}/accountPermissions",
           "httpMethod": "GET",
           "id": "dfareporting.accountPermissions.list",
           "parameterOrder": [
@@ -237,6 +275,7 @@
       "methods": {
         "get": {
           "description": "Gets one account user profile by ID.",
+          "flatPath": "userprofiles/{profileId}/accountUserProfiles/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.accountUserProfiles.get",
           "parameterOrder": [
@@ -269,6 +308,7 @@
         },
         "insert": {
           "description": "Inserts a new account user profile.",
+          "flatPath": "userprofiles/{profileId}/accountUserProfiles",
           "httpMethod": "POST",
           "id": "dfareporting.accountUserProfiles.insert",
           "parameterOrder": [
@@ -296,6 +336,7 @@
         },
         "list": {
           "description": "Retrieves a list of account user profiles, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/accountUserProfiles",
           "httpMethod": "GET",
           "id": "dfareporting.accountUserProfiles.list",
           "parameterOrder": [
@@ -391,18 +432,17 @@
         },
         "patch": {
           "description": "Updates an existing account user profile. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/accountUserProfiles",
           "httpMethod": "PATCH",
           "id": "dfareporting.accountUserProfiles.patch",
           "parameterOrder": [
-            "profileId",
-            "id"
+            "profileId"
           ],
           "parameters": {
             "id": {
-              "description": "User profile ID.",
+              "description": "AccountUserProfile ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -426,6 +466,7 @@
         },
         "update": {
           "description": "Updates an existing account user profile.",
+          "flatPath": "userprofiles/{profileId}/accountUserProfiles",
           "httpMethod": "PUT",
           "id": "dfareporting.accountUserProfiles.update",
           "parameterOrder": [
@@ -457,6 +498,7 @@
       "methods": {
         "get": {
           "description": "Gets one account by ID.",
+          "flatPath": "userprofiles/{profileId}/accounts/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.accounts.get",
           "parameterOrder": [
@@ -489,6 +531,7 @@
         },
         "list": {
           "description": "Retrieves the list of accounts, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/accounts",
           "httpMethod": "GET",
           "id": "dfareporting.accounts.list",
           "parameterOrder": [
@@ -572,18 +615,17 @@
         },
         "patch": {
           "description": "Updates an existing account. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/accounts",
           "httpMethod": "PATCH",
           "id": "dfareporting.accounts.patch",
           "parameterOrder": [
-            "profileId",
-            "id"
+            "profileId"
           ],
           "parameters": {
             "id": {
               "description": "Account ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -607,6 +649,7 @@
         },
         "update": {
           "description": "Updates an existing account.",
+          "flatPath": "userprofiles/{profileId}/accounts",
           "httpMethod": "PUT",
           "id": "dfareporting.accounts.update",
           "parameterOrder": [
@@ -638,6 +681,7 @@
       "methods": {
         "get": {
           "description": "Gets one ad by ID.",
+          "flatPath": "userprofiles/{profileId}/ads/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.ads.get",
           "parameterOrder": [
@@ -670,6 +714,7 @@
         },
         "insert": {
           "description": "Inserts a new ad.",
+          "flatPath": "userprofiles/{profileId}/ads",
           "httpMethod": "POST",
           "id": "dfareporting.ads.insert",
           "parameterOrder": [
@@ -697,6 +742,7 @@
         },
         "list": {
           "description": "Retrieves a list of ads, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/ads",
           "httpMethod": "GET",
           "id": "dfareporting.ads.list",
           "parameterOrder": [
@@ -736,12 +782,12 @@
             "compatibility": {
               "description": "Select default ads with the specified compatibility. Applicable when type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an in-stream video ads developed with the VAST standard.",
               "enum": [
-                "APP",
-                "APP_INTERSTITIAL",
                 "DISPLAY",
                 "DISPLAY_INTERSTITIAL",
-                "IN_STREAM_AUDIO",
-                "IN_STREAM_VIDEO"
+                "APP",
+                "APP_INTERSTITIAL",
+                "IN_STREAM_VIDEO",
+                "IN_STREAM_AUDIO"
               ],
               "enumDescriptions": [
                 "",
@@ -881,9 +927,9 @@
             "type": {
               "description": "Select only ads with these types.",
               "enum": [
-                "AD_SERVING_CLICK_TRACKER",
-                "AD_SERVING_DEFAULT_AD",
                 "AD_SERVING_STANDARD_AD",
+                "AD_SERVING_DEFAULT_AD",
+                "AD_SERVING_CLICK_TRACKER",
                 "AD_SERVING_TRACKING"
               ],
               "enumDescriptions": [
@@ -907,18 +953,17 @@
         },
         "patch": {
           "description": "Updates an existing ad. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/ads",
           "httpMethod": "PATCH",
           "id": "dfareporting.ads.patch",
           "parameterOrder": [
-            "profileId",
-            "id"
+            "profileId"
           ],
           "parameters": {
             "id": {
               "description": "Ad ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -942,6 +987,7 @@
         },
         "update": {
           "description": "Updates an existing ad.",
+          "flatPath": "userprofiles/{profileId}/ads",
           "httpMethod": "PUT",
           "id": "dfareporting.ads.update",
           "parameterOrder": [
@@ -973,6 +1019,7 @@
       "methods": {
         "delete": {
           "description": "Deletes an existing advertiser group.",
+          "flatPath": "userprofiles/{profileId}/advertiserGroups/{id}",
           "httpMethod": "DELETE",
           "id": "dfareporting.advertiserGroups.delete",
           "parameterOrder": [
@@ -1002,6 +1049,7 @@
         },
         "get": {
           "description": "Gets one advertiser group by ID.",
+          "flatPath": "userprofiles/{profileId}/advertiserGroups/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.advertiserGroups.get",
           "parameterOrder": [
@@ -1034,6 +1082,7 @@
         },
         "insert": {
           "description": "Inserts a new advertiser group.",
+          "flatPath": "userprofiles/{profileId}/advertiserGroups",
           "httpMethod": "POST",
           "id": "dfareporting.advertiserGroups.insert",
           "parameterOrder": [
@@ -1061,6 +1110,7 @@
         },
         "list": {
           "description": "Retrieves a list of advertiser groups, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/advertiserGroups",
           "httpMethod": "GET",
           "id": "dfareporting.advertiserGroups.list",
           "parameterOrder": [
@@ -1139,18 +1189,17 @@
         },
         "patch": {
           "description": "Updates an existing advertiser group. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/advertiserGroups",
           "httpMethod": "PATCH",
           "id": "dfareporting.advertiserGroups.patch",
           "parameterOrder": [
-            "profileId",
-            "id"
+            "profileId"
           ],
           "parameters": {
             "id": {
-              "description": "Advertiser group ID.",
+              "description": "AdvertiserGroup ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -1174,6 +1223,7 @@
         },
         "update": {
           "description": "Updates an existing advertiser group.",
+          "flatPath": "userprofiles/{profileId}/advertiserGroups",
           "httpMethod": "PUT",
           "id": "dfareporting.advertiserGroups.update",
           "parameterOrder": [
@@ -1205,6 +1255,7 @@
       "methods": {
         "get": {
           "description": "Gets one landing page by ID.",
+          "flatPath": "userprofiles/{profileId}/advertiserLandingPages/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.advertiserLandingPages.get",
           "parameterOrder": [
@@ -1237,6 +1288,7 @@
         },
         "insert": {
           "description": "Inserts a new landing page.",
+          "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
           "httpMethod": "POST",
           "id": "dfareporting.advertiserLandingPages.insert",
           "parameterOrder": [
@@ -1264,6 +1316,7 @@
         },
         "list": {
           "description": "Retrieves a list of landing pages.",
+          "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
           "httpMethod": "GET",
           "id": "dfareporting.advertiserLandingPages.list",
           "parameterOrder": [
@@ -1366,19 +1419,18 @@
           ]
         },
         "patch": {
-          "description": "Updates an existing landing page. This method supports patch semantics.",
+          "description": "Updates an existing advertiser landing page. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
           "httpMethod": "PATCH",
           "id": "dfareporting.advertiserLandingPages.patch",
           "parameterOrder": [
-            "profileId",
-            "id"
+            "profileId"
           ],
           "parameters": {
             "id": {
-              "description": "Landing page ID.",
+              "description": "LandingPage ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -1402,6 +1454,7 @@
         },
         "update": {
           "description": "Updates an existing landing page.",
+          "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
           "httpMethod": "PUT",
           "id": "dfareporting.advertiserLandingPages.update",
           "parameterOrder": [
@@ -1433,6 +1486,7 @@
       "methods": {
         "get": {
           "description": "Gets one advertiser by ID.",
+          "flatPath": "userprofiles/{profileId}/advertisers/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.advertisers.get",
           "parameterOrder": [
@@ -1465,6 +1519,7 @@
         },
         "insert": {
           "description": "Inserts a new advertiser.",
+          "flatPath": "userprofiles/{profileId}/advertisers",
           "httpMethod": "POST",
           "id": "dfareporting.advertisers.insert",
           "parameterOrder": [
@@ -1492,6 +1547,7 @@
         },
         "list": {
           "description": "Retrieves a list of advertisers, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/advertisers",
           "httpMethod": "GET",
           "id": "dfareporting.advertisers.list",
           "parameterOrder": [
@@ -1551,7 +1607,7 @@
               "type": "string"
             },
             "searchString": {
-              "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"advertiser*2015\" will return objects with names like \"advertiser June 2015\", \"advertiser April 2015\", or simply \"advertiser 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"advertiser\" will match objects with name \"my advertiser\", \"advertiser 2015\", or simply \"advertiser\".",
+              "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"advertiser*2015\" will return objects with names like \"advertiser June 2015\", \"advertiser April 2015\", or simply \"advertiser 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"advertiser\" will match objects with name \"my advertiser\", \"advertiser 2015\", or simply \"advertiser\" .",
               "location": "query",
               "type": "string"
             },
@@ -1613,18 +1669,17 @@
         },
         "patch": {
           "description": "Updates an existing advertiser. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/advertisers",
           "httpMethod": "PATCH",
           "id": "dfareporting.advertisers.patch",
           "parameterOrder": [
-            "profileId",
-            "id"
+            "profileId"
           ],
           "parameters": {
             "id": {
               "description": "Advertiser ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -1648,6 +1703,7 @@
         },
         "update": {
           "description": "Updates an existing advertiser.",
+          "flatPath": "userprofiles/{profileId}/advertisers",
           "httpMethod": "PUT",
           "id": "dfareporting.advertisers.update",
           "parameterOrder": [
@@ -1679,6 +1735,7 @@
       "methods": {
         "list": {
           "description": "Retrieves a list of browsers.",
+          "flatPath": "userprofiles/{profileId}/browsers",
           "httpMethod": "GET",
           "id": "dfareporting.browsers.list",
           "parameterOrder": [
@@ -1707,6 +1764,7 @@
       "methods": {
         "insert": {
           "description": "Associates a creative with the specified campaign. This method creates a default ad with dimensions matching the creative in the campaign if such a default ad does not exist already.",
+          "flatPath": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
           "httpMethod": "POST",
           "id": "dfareporting.campaignCreativeAssociations.insert",
           "parameterOrder": [
@@ -1742,6 +1800,7 @@
         },
         "list": {
           "description": "Retrieves the list of creative IDs associated with the specified campaign. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
           "httpMethod": "GET",
           "id": "dfareporting.campaignCreativeAssociations.list",
           "parameterOrder": [
@@ -1806,6 +1865,7 @@
       "methods": {
         "get": {
           "description": "Gets one campaign by ID.",
+          "flatPath": "userprofiles/{profileId}/campaigns/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.campaigns.get",
           "parameterOrder": [
@@ -1838,6 +1898,7 @@
         },
         "insert": {
           "description": "Inserts a new campaign.",
+          "flatPath": "userprofiles/{profileId}/campaigns",
           "httpMethod": "POST",
           "id": "dfareporting.campaigns.insert",
           "parameterOrder": [
@@ -1865,6 +1926,7 @@
         },
         "list": {
           "description": "Retrieves a list of campaigns, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/campaigns",
           "httpMethod": "GET",
           "id": "dfareporting.campaigns.list",
           "parameterOrder": [
@@ -1986,18 +2048,17 @@
         },
         "patch": {
           "description": "Updates an existing campaign. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/campaigns",
           "httpMethod": "PATCH",
           "id": "dfareporting.campaigns.patch",
           "parameterOrder": [
-            "profileId",
-            "id"
+            "profileId"
           ],
           "parameters": {
             "id": {
               "description": "Campaign ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -2021,6 +2082,7 @@
         },
         "update": {
           "description": "Updates an existing campaign.",
+          "flatPath": "userprofiles/{profileId}/campaigns",
           "httpMethod": "PUT",
           "id": "dfareporting.campaigns.update",
           "parameterOrder": [
@@ -2052,6 +2114,7 @@
       "methods": {
         "get": {
           "description": "Gets one change log by ID.",
+          "flatPath": "userprofiles/{profileId}/changeLogs/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.changeLogs.get",
           "parameterOrder": [
@@ -2084,6 +2147,7 @@
         },
         "list": {
           "description": "Retrieves a list of change logs. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/changeLogs",
           "httpMethod": "GET",
           "id": "dfareporting.changeLogs.list",
           "parameterOrder": [
@@ -2093,23 +2157,23 @@
             "action": {
               "description": "Select only change logs with the specified action.",
               "enum": [
-                "ACTION_ADD",
-                "ACTION_ASSIGN",
-                "ACTION_ASSOCIATE",
                 "ACTION_CREATE",
+                "ACTION_UPDATE",
                 "ACTION_DELETE",
-                "ACTION_DISABLE",
-                "ACTION_EMAIL_TAGS",
                 "ACTION_ENABLE",
-                "ACTION_LINK",
-                "ACTION_MARK_AS_DEFAULT",
-                "ACTION_PUSH",
+                "ACTION_DISABLE",
+                "ACTION_ADD",
                 "ACTION_REMOVE",
-                "ACTION_SEND",
-                "ACTION_SHARE",
+                "ACTION_MARK_AS_DEFAULT",
+                "ACTION_ASSOCIATE",
+                "ACTION_ASSIGN",
                 "ACTION_UNASSIGN",
+                "ACTION_SEND",
+                "ACTION_LINK",
                 "ACTION_UNLINK",
-                "ACTION_UPDATE"
+                "ACTION_PUSH",
+                "ACTION_EMAIL_TAGS",
+                "ACTION_SHARE"
               ],
               "enumDescriptions": [
                 "",
@@ -2169,46 +2233,46 @@
             "objectType": {
               "description": "Select only change logs with the specified object type.",
               "enum": [
-                "OBJECT_ACCOUNT",
-                "OBJECT_ACCOUNT_BILLING_FEATURE",
-                "OBJECT_AD",
                 "OBJECT_ADVERTISER",
+                "OBJECT_FLOODLIGHT_CONFIGURATION",
+                "OBJECT_AD",
+                "OBJECT_FLOODLIGHT_ACTVITY",
+                "OBJECT_CAMPAIGN",
+                "OBJECT_FLOODLIGHT_ACTIVITY_GROUP",
+                "OBJECT_CREATIVE",
+                "OBJECT_PLACEMENT",
+                "OBJECT_DFA_SITE",
+                "OBJECT_USER_ROLE",
+                "OBJECT_USER_PROFILE",
                 "OBJECT_ADVERTISER_GROUP",
+                "OBJECT_ACCOUNT",
+                "OBJECT_SUBACCOUNT",
+                "OBJECT_RICHMEDIA_CREATIVE",
+                "OBJECT_INSTREAM_CREATIVE",
+                "OBJECT_MEDIA_ORDER",
+                "OBJECT_CONTENT_CATEGORY",
+                "OBJECT_PLACEMENT_STRATEGY",
+                "OBJECT_SD_SITE",
+                "OBJECT_SIZE",
+                "OBJECT_CREATIVE_GROUP",
+                "OBJECT_CREATIVE_ASSET",
+                "OBJECT_USER_PROFILE_FILTER",
+                "OBJECT_LANDING_PAGE",
+                "OBJECT_CREATIVE_FIELD",
+                "OBJECT_REMARKETING_LIST",
+                "OBJECT_PROVIDED_LIST_CLIENT",
+                "OBJECT_EVENT_TAG",
+                "OBJECT_CREATIVE_BUNDLE",
                 "OBJECT_BILLING_ACCOUNT_GROUP",
                 "OBJECT_BILLING_FEATURE",
+                "OBJECT_RATE_CARD",
+                "OBJECT_ACCOUNT_BILLING_FEATURE",
                 "OBJECT_BILLING_MINIMUM_FEE",
                 "OBJECT_BILLING_PROFILE",
-                "OBJECT_CAMPAIGN",
-                "OBJECT_CONTENT_CATEGORY",
-                "OBJECT_CREATIVE",
-                "OBJECT_CREATIVE_ASSET",
-                "OBJECT_CREATIVE_BUNDLE",
-                "OBJECT_CREATIVE_FIELD",
-                "OBJECT_CREATIVE_GROUP",
-                "OBJECT_DFA_SITE",
-                "OBJECT_EVENT_TAG",
-                "OBJECT_FLOODLIGHT_ACTIVITY_GROUP",
-                "OBJECT_FLOODLIGHT_ACTVITY",
-                "OBJECT_FLOODLIGHT_CONFIGURATION",
-                "OBJECT_FLOODLIGHT_DV360_LINK",
-                "OBJECT_INSTREAM_CREATIVE",
-                "OBJECT_LANDING_PAGE",
-                "OBJECT_MEDIA_ORDER",
-                "OBJECT_PLACEMENT",
-                "OBJECT_PLACEMENT_STRATEGY",
                 "OBJECT_PLAYSTORE_LINK",
-                "OBJECT_PROVIDED_LIST_CLIENT",
-                "OBJECT_RATE_CARD",
-                "OBJECT_REMARKETING_LIST",
-                "OBJECT_RICHMEDIA_CREATIVE",
-                "OBJECT_SD_SITE",
-                "OBJECT_SEARCH_LIFT_STUDY",
-                "OBJECT_SIZE",
-                "OBJECT_SUBACCOUNT",
                 "OBJECT_TARGETING_TEMPLATE",
-                "OBJECT_USER_PROFILE",
-                "OBJECT_USER_PROFILE_FILTER",
-                "OBJECT_USER_ROLE"
+                "OBJECT_SEARCH_LIFT_STUDY",
+                "OBJECT_FLOODLIGHT_DV360_LINK"
               ],
               "enumDescriptions": [
                 "",
@@ -2294,6 +2358,7 @@
       "methods": {
         "list": {
           "description": "Retrieves a list of cities, possibly filtered.",
+          "flatPath": "userprofiles/{profileId}/cities",
           "httpMethod": "GET",
           "id": "dfareporting.cities.list",
           "parameterOrder": [
@@ -2348,6 +2413,7 @@
       "methods": {
         "get": {
           "description": "Gets one connection type by ID.",
+          "flatPath": "userprofiles/{profileId}/connectionTypes/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.connectionTypes.get",
           "parameterOrder": [
@@ -2380,6 +2446,7 @@
         },
         "list": {
           "description": "Retrieves a list of connection types.",
+          "flatPath": "userprofiles/{profileId}/connectionTypes",
           "httpMethod": "GET",
           "id": "dfareporting.connectionTypes.list",
           "parameterOrder": [
@@ -2408,6 +2475,7 @@
       "methods": {
         "delete": {
           "description": "Deletes an existing content category.",
+          "flatPath": "userprofiles/{profileId}/contentCategories/{id}",
           "httpMethod": "DELETE",
           "id": "dfareporting.contentCategories.delete",
           "parameterOrder": [
@@ -2437,6 +2505,7 @@
         },
         "get": {
           "description": "Gets one content category by ID.",
+          "flatPath": "userprofiles/{profileId}/contentCategories/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.contentCategories.get",
           "parameterOrder": [
@@ -2469,6 +2538,7 @@
         },
         "insert": {
           "description": "Inserts a new content category.",
+          "flatPath": "userprofiles/{profileId}/contentCategories",
           "httpMethod": "POST",
           "id": "dfareporting.contentCategories.insert",
           "parameterOrder": [
@@ -2496,6 +2566,7 @@
         },
         "list": {
           "description": "Retrieves a list of content categories, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/contentCategories",
           "httpMethod": "GET",
           "id": "dfareporting.contentCategories.list",
           "parameterOrder": [
@@ -2574,18 +2645,17 @@
         },
         "patch": {
           "description": "Updates an existing content category. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/contentCategories",
           "httpMethod": "PATCH",
           "id": "dfareporting.contentCategories.patch",
           "parameterOrder": [
-            "profileId",
-            "id"
+            "profileId"
           ],
           "parameters": {
             "id": {
-              "description": "Content category ID.",
+              "description": "ContentCategory ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -2609,6 +2679,7 @@
         },
         "update": {
           "description": "Updates an existing content category.",
+          "flatPath": "userprofiles/{profileId}/contentCategories",
           "httpMethod": "PUT",
           "id": "dfareporting.contentCategories.update",
           "parameterOrder": [
@@ -2640,6 +2711,7 @@
       "methods": {
         "batchinsert": {
           "description": "Inserts conversions.",
+          "flatPath": "userprofiles/{profileId}/conversions/batchinsert",
           "httpMethod": "POST",
           "id": "dfareporting.conversions.batchinsert",
           "parameterOrder": [
@@ -2667,6 +2739,7 @@
         },
         "batchupdate": {
           "description": "Updates existing conversions.",
+          "flatPath": "userprofiles/{profileId}/conversions/batchupdate",
           "httpMethod": "POST",
           "id": "dfareporting.conversions.batchupdate",
           "parameterOrder": [
@@ -2698,6 +2771,7 @@
       "methods": {
         "get": {
           "description": "Gets one country by ID.",
+          "flatPath": "userprofiles/{profileId}/countries/{dartId}",
           "httpMethod": "GET",
           "id": "dfareporting.countries.get",
           "parameterOrder": [
@@ -2730,6 +2804,7 @@
         },
         "list": {
           "description": "Retrieves a list of countries.",
+          "flatPath": "userprofiles/{profileId}/countries",
           "httpMethod": "GET",
           "id": "dfareporting.countries.list",
           "parameterOrder": [
@@ -2758,18 +2833,15 @@
       "methods": {
         "insert": {
           "description": "Inserts a new creative asset.",
+          "flatPath": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets",
           "httpMethod": "POST",
           "id": "dfareporting.creativeAssets.insert",
           "mediaUpload": {
             "accept": [
               "*/*"
             ],
-            "maxSize": "1024MB",
+            "maxSize": "1073741824",
             "protocols": {
-              "resumable": {
-                "multipart": true,
-                "path": "/resumable/upload/dfareporting/v3.3/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
-              },
               "simple": {
                 "multipart": true,
                 "path": "/upload/dfareporting/v3.3/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
@@ -2814,6 +2886,7 @@
       "methods": {
         "delete": {
           "description": "Deletes an existing creative field value.",
+          "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
           "httpMethod": "DELETE",
           "id": "dfareporting.creativeFieldValues.delete",
           "parameterOrder": [
@@ -2851,6 +2924,7 @@
         },
         "get": {
           "description": "Gets one creative field value by ID.",
+          "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.creativeFieldValues.get",
           "parameterOrder": [
@@ -2891,6 +2965,7 @@
         },
         "insert": {
           "description": "Inserts a new creative field value.",
+          "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
           "httpMethod": "POST",
           "id": "dfareporting.creativeFieldValues.insert",
           "parameterOrder": [
@@ -2926,6 +3001,7 @@
         },
         "list": {
           "description": "Retrieves a list of creative field values, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
           "httpMethod": "GET",
           "id": "dfareporting.creativeFieldValues.list",
           "parameterOrder": [
@@ -3012,26 +3088,25 @@
         },
         "patch": {
           "description": "Updates an existing creative field value. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
           "httpMethod": "PATCH",
           "id": "dfareporting.creativeFieldValues.patch",
           "parameterOrder": [
             "profileId",
-            "creativeFieldId",
-            "id"
+            "creativeFieldId"
           ],
           "parameters": {
             "creativeFieldId": {
-              "description": "Creative field ID for this creative field value.",
+              "description": "CreativeField ID.",
               "format": "int64",
               "location": "path",
               "required": true,
               "type": "string"
             },
             "id": {
-              "description": "Creative Field Value ID",
+              "description": "CreativeFieldValue ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -3055,6 +3130,7 @@
         },
         "update": {
           "description": "Updates an existing creative field value.",
+          "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
           "httpMethod": "PUT",
           "id": "dfareporting.creativeFieldValues.update",
           "parameterOrder": [
@@ -3094,6 +3170,7 @@
       "methods": {
         "delete": {
           "description": "Deletes an existing creative field.",
+          "flatPath": "userprofiles/{profileId}/creativeFields/{id}",
           "httpMethod": "DELETE",
           "id": "dfareporting.creativeFields.delete",
           "parameterOrder": [
@@ -3123,6 +3200,7 @@
         },
         "get": {
           "description": "Gets one creative field by ID.",
+          "flatPath": "userprofiles/{profileId}/creativeFields/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.creativeFields.get",
           "parameterOrder": [
@@ -3155,6 +3233,7 @@
         },
         "insert": {
           "description": "Inserts a new creative field.",
+          "flatPath": "userprofiles/{profileId}/creativeFields",
           "httpMethod": "POST",
           "id": "dfareporting.creativeFields.insert",
           "parameterOrder": [
@@ -3182,6 +3261,7 @@
         },
         "list": {
           "description": "Retrieves a list of creative fields, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/creativeFields",
           "httpMethod": "GET",
           "id": "dfareporting.creativeFields.list",
           "parameterOrder": [
@@ -3267,18 +3347,17 @@
         },
         "patch": {
           "description": "Updates an existing creative field. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/creativeFields",
           "httpMethod": "PATCH",
           "id": "dfareporting.creativeFields.patch",
           "parameterOrder": [
-            "profileId",
-            "id"
+            "profileId"
           ],
           "parameters": {
             "id": {
-              "description": "Creative Field ID",
+              "description": "CreativeField ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -3302,6 +3381,7 @@
         },
         "update": {
           "description": "Updates an existing creative field.",
+          "flatPath": "userprofiles/{profileId}/creativeFields",
           "httpMethod": "PUT",
           "id": "dfareporting.creativeFields.update",
           "parameterOrder": [
@@ -3333,6 +3413,7 @@
       "methods": {
         "get": {
           "description": "Gets one creative group by ID.",
+          "flatPath": "userprofiles/{profileId}/creativeGroups/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.creativeGroups.get",
           "parameterOrder": [
@@ -3365,6 +3446,7 @@
         },
         "insert": {
           "description": "Inserts a new creative group.",
+          "flatPath": "userprofiles/{profileId}/creativeGroups",
           "httpMethod": "POST",
           "id": "dfareporting.creativeGroups.insert",
           "parameterOrder": [
@@ -3392,6 +3474,7 @@
         },
         "list": {
           "description": "Retrieves a list of creative groups, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/creativeGroups",
           "httpMethod": "GET",
           "id": "dfareporting.creativeGroups.list",
           "parameterOrder": [
@@ -3485,18 +3568,17 @@
         },
         "patch": {
           "description": "Updates an existing creative group. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/creativeGroups",
           "httpMethod": "PATCH",
           "id": "dfareporting.creativeGroups.patch",
           "parameterOrder": [
-            "profileId",
-            "id"
+            "profileId"
           ],
           "parameters": {
             "id": {
-              "description": "Creative group ID.",
+              "description": "CreativeGroup ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -3520,6 +3602,7 @@
         },
         "update": {
           "description": "Updates an existing creative group.",
+          "flatPath": "userprofiles/{profileId}/creativeGroups",
           "httpMethod": "PUT",
           "id": "dfareporting.creativeGroups.update",
           "parameterOrder": [
@@ -3551,6 +3634,7 @@
       "methods": {
         "get": {
           "description": "Gets one creative by ID.",
+          "flatPath": "userprofiles/{profileId}/creatives/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.creatives.get",
           "parameterOrder": [
@@ -3583,6 +3667,7 @@
         },
         "insert": {
           "description": "Inserts a new creative.",
+          "flatPath": "userprofiles/{profileId}/creatives",
           "httpMethod": "POST",
           "id": "dfareporting.creatives.insert",
           "parameterOrder": [
@@ -3610,6 +3695,7 @@
         },
         "list": {
           "description": "Retrieves a list of creatives, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/creatives",
           "httpMethod": "GET",
           "id": "dfareporting.creatives.list",
           "parameterOrder": [
@@ -3736,31 +3822,31 @@
             "types": {
               "description": "Select only creatives with these creative types.",
               "enum": [
-                "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO",
-                "CUSTOM_DISPLAY",
-                "CUSTOM_DISPLAY_INTERSTITIAL",
-                "DISPLAY",
-                "DISPLAY_IMAGE_GALLERY",
-                "DISPLAY_REDIRECT",
-                "FLASH_INPAGE",
-                "HTML5_BANNER",
                 "IMAGE",
-                "INSTREAM_AUDIO",
-                "INSTREAM_VIDEO",
-                "INSTREAM_VIDEO_REDIRECT",
+                "DISPLAY_REDIRECT",
+                "CUSTOM_DISPLAY",
                 "INTERNAL_REDIRECT",
+                "CUSTOM_DISPLAY_INTERSTITIAL",
                 "INTERSTITIAL_INTERNAL_REDIRECT",
+                "TRACKING_TEXT",
                 "RICH_MEDIA_DISPLAY_BANNER",
+                "RICH_MEDIA_INPAGE_FLOATING",
+                "RICH_MEDIA_IM_EXPAND",
                 "RICH_MEDIA_DISPLAY_EXPANDING",
                 "RICH_MEDIA_DISPLAY_INTERSTITIAL",
                 "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL",
-                "RICH_MEDIA_IM_EXPAND",
-                "RICH_MEDIA_INPAGE_FLOATING",
                 "RICH_MEDIA_MOBILE_IN_APP",
-                "RICH_MEDIA_PEEL_DOWN",
-                "TRACKING_TEXT",
+                "FLASH_INPAGE",
+                "INSTREAM_VIDEO",
                 "VPAID_LINEAR_VIDEO",
-                "VPAID_NON_LINEAR_VIDEO"
+                "VPAID_NON_LINEAR_VIDEO",
+                "INSTREAM_VIDEO_REDIRECT",
+                "RICH_MEDIA_PEEL_DOWN",
+                "HTML5_BANNER",
+                "DISPLAY",
+                "DISPLAY_IMAGE_GALLERY",
+                "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO",
+                "INSTREAM_AUDIO"
               ],
               "enumDescriptions": [
                 "",
@@ -3804,18 +3890,17 @@
         },
         "patch": {
           "description": "Updates an existing creative. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/creatives",
           "httpMethod": "PATCH",
           "id": "dfareporting.creatives.patch",
           "parameterOrder": [
-            "profileId",
-            "id"
+            "profileId"
           ],
           "parameters": {
             "id": {
               "description": "Creative ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -3839,6 +3924,7 @@
         },
         "update": {
           "description": "Updates an existing creative.",
+          "flatPath": "userprofiles/{profileId}/creatives",
           "httpMethod": "PUT",
           "id": "dfareporting.creatives.update",
           "parameterOrder": [
@@ -3870,6 +3956,7 @@
       "methods": {
         "query": {
           "description": "Retrieves list of report dimension values for a list of filters.",
+          "flatPath": "userprofiles/{profileId}/dimensionvalues/query",
           "httpMethod": "POST",
           "id": "dfareporting.dimensionValues.query",
           "parameterOrder": [
@@ -3915,6 +4002,7 @@
       "methods": {
         "get": {
           "description": "Gets one directory site by ID.",
+          "flatPath": "userprofiles/{profileId}/directorySites/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.directorySites.get",
           "parameterOrder": [
@@ -3947,6 +4035,7 @@
         },
         "insert": {
           "description": "Inserts a new directory site.",
+          "flatPath": "userprofiles/{profileId}/directorySites",
           "httpMethod": "POST",
           "id": "dfareporting.directorySites.insert",
           "parameterOrder": [
@@ -3974,6 +4063,7 @@
         },
         "list": {
           "description": "Retrieves a list of directory sites, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/directorySites",
           "httpMethod": "GET",
           "id": "dfareporting.directorySites.list",
           "parameterOrder": [
@@ -4081,6 +4171,7 @@
       "methods": {
         "delete": {
           "description": "Deletes an existing dynamic targeting key.",
+          "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}",
           "httpMethod": "DELETE",
           "id": "dfareporting.dynamicTargetingKeys.delete",
           "parameterOrder": [
@@ -4106,8 +4197,8 @@
             "objectType": {
               "description": "Type of the object of this dynamic targeting key. This is a required field.",
               "enum": [
-                "OBJECT_AD",
                 "OBJECT_ADVERTISER",
+                "OBJECT_AD",
                 "OBJECT_CREATIVE",
                 "OBJECT_PLACEMENT"
               ],
@@ -4136,6 +4227,7 @@
         },
         "insert": {
           "description": "Inserts a new dynamic targeting key. Keys must be created at the advertiser level before being assigned to the advertiser's ads, creatives, or placements. There is a maximum of 1000 keys per advertiser, out of which a maximum of 20 keys can be assigned per ad, creative, or placement.",
+          "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys",
           "httpMethod": "POST",
           "id": "dfareporting.dynamicTargetingKeys.insert",
           "parameterOrder": [
@@ -4163,6 +4255,7 @@
         },
         "list": {
           "description": "Retrieves a list of dynamic targeting keys.",
+          "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys",
           "httpMethod": "GET",
           "id": "dfareporting.dynamicTargetingKeys.list",
           "parameterOrder": [
@@ -4190,8 +4283,8 @@
             "objectType": {
               "description": "Select only dynamic targeting keys with this object type.",
               "enum": [
-                "OBJECT_AD",
                 "OBJECT_ADVERTISER",
+                "OBJECT_AD",
                 "OBJECT_CREATIVE",
                 "OBJECT_PLACEMENT"
               ],
@@ -4226,6 +4319,7 @@
       "methods": {
         "delete": {
           "description": "Deletes an existing event tag.",
+          "flatPath": "userprofiles/{profileId}/eventTags/{id}",
           "httpMethod": "DELETE",
           "id": "dfareporting.eventTags.delete",
           "parameterOrder": [
@@ -4255,6 +4349,7 @@
         },
         "get": {
           "description": "Gets one event tag by ID.",
+          "flatPath": "userprofiles/{profileId}/eventTags/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.eventTags.get",
           "parameterOrder": [
@@ -4287,6 +4382,7 @@
         },
         "insert": {
           "description": "Inserts a new event tag.",
+          "flatPath": "userprofiles/{profileId}/eventTags",
           "httpMethod": "POST",
           "id": "dfareporting.eventTags.insert",
           "parameterOrder": [
@@ -4314,6 +4410,7 @@
         },
         "list": {
           "description": "Retrieves a list of event tags, possibly filtered.",
+          "flatPath": "userprofiles/{profileId}/eventTags",
           "httpMethod": "GET",
           "id": "dfareporting.eventTags.list",
           "parameterOrder": [
@@ -4351,9 +4448,9 @@
             "eventTagTypes": {
               "description": "Select only event tags with the specified event tag types. Event tag types can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking.",
               "enum": [
-                "CLICK_THROUGH_EVENT_TAG",
                 "IMPRESSION_IMAGE_EVENT_TAG",
-                "IMPRESSION_JAVASCRIPT_EVENT_TAG"
+                "IMPRESSION_JAVASCRIPT_EVENT_TAG",
+                "CLICK_THROUGH_EVENT_TAG"
               ],
               "enumDescriptions": [
                 "",
@@ -4422,18 +4519,17 @@
         },
         "patch": {
           "description": "Updates an existing event tag. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/eventTags",
           "httpMethod": "PATCH",
           "id": "dfareporting.eventTags.patch",
           "parameterOrder": [
-            "profileId",
-            "id"
+            "profileId"
           ],
           "parameters": {
             "id": {
-              "description": "Event tag ID.",
+              "description": "EventTag ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -4457,6 +4553,7 @@
         },
         "update": {
           "description": "Updates an existing event tag.",
+          "flatPath": "userprofiles/{profileId}/eventTags",
           "httpMethod": "PUT",
           "id": "dfareporting.eventTags.update",
           "parameterOrder": [
@@ -4488,6 +4585,7 @@
       "methods": {
         "get": {
           "description": "Retrieves a report file by its report ID and file ID. This method supports media download.",
+          "flatPath": "reports/{reportId}/files/{fileId}",
           "httpMethod": "GET",
           "id": "dfareporting.files.get",
           "parameterOrder": [
@@ -4521,6 +4619,7 @@
         },
         "list": {
           "description": "Lists files for a user profile.",
+          "flatPath": "userprofiles/{profileId}/files",
           "httpMethod": "GET",
           "id": "dfareporting.files.list",
           "parameterOrder": [
@@ -4607,6 +4706,7 @@
       "methods": {
         "delete": {
           "description": "Deletes an existing floodlight activity.",
+          "flatPath": "userprofiles/{profileId}/floodlightActivities/{id}",
           "httpMethod": "DELETE",
           "id": "dfareporting.floodlightActivities.delete",
           "parameterOrder": [
@@ -4636,6 +4736,7 @@
         },
         "generatetag": {
           "description": "Generates a tag for a floodlight activity.",
+          "flatPath": "userprofiles/{profileId}/floodlightActivities/generatetag",
           "httpMethod": "POST",
           "id": "dfareporting.floodlightActivities.generatetag",
           "parameterOrder": [
@@ -4666,6 +4767,7 @@
         },
         "get": {
           "description": "Gets one floodlight activity by ID.",
+          "flatPath": "userprofiles/{profileId}/floodlightActivities/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.floodlightActivities.get",
           "parameterOrder": [
@@ -4698,6 +4800,7 @@
         },
         "insert": {
           "description": "Inserts a new floodlight activity.",
+          "flatPath": "userprofiles/{profileId}/floodlightActivities",
           "httpMethod": "POST",
           "id": "dfareporting.floodlightActivities.insert",
           "parameterOrder": [
@@ -4725,6 +4828,7 @@
         },
         "list": {
           "description": "Retrieves a list of floodlight activities, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/floodlightActivities",
           "httpMethod": "GET",
           "id": "dfareporting.floodlightActivities.list",
           "parameterOrder": [
@@ -4850,18 +4954,17 @@
         },
         "patch": {
           "description": "Updates an existing floodlight activity. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/floodlightActivities",
           "httpMethod": "PATCH",
           "id": "dfareporting.floodlightActivities.patch",
           "parameterOrder": [
-            "profileId",
-            "id"
+            "profileId"
           ],
           "parameters": {
             "id": {
-              "description": "Floodlight activity ID.",
+              "description": "FloodlightActivity ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -4885,6 +4988,7 @@
         },
         "update": {
           "description": "Updates an existing floodlight activity.",
+          "flatPath": "userprofiles/{profileId}/floodlightActivities",
           "httpMethod": "PUT",
           "id": "dfareporting.floodlightActivities.update",
           "parameterOrder": [
@@ -4916,6 +5020,7 @@
       "methods": {
         "get": {
           "description": "Gets one floodlight activity group by ID.",
+          "flatPath": "userprofiles/{profileId}/floodlightActivityGroups/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.floodlightActivityGroups.get",
           "parameterOrder": [
@@ -4948,6 +5053,7 @@
         },
         "insert": {
           "description": "Inserts a new floodlight activity group.",
+          "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
           "httpMethod": "POST",
           "id": "dfareporting.floodlightActivityGroups.insert",
           "parameterOrder": [
@@ -4975,6 +5081,7 @@
         },
         "list": {
           "description": "Retrieves a list of floodlight activity groups, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
           "httpMethod": "GET",
           "id": "dfareporting.floodlightActivityGroups.list",
           "parameterOrder": [
@@ -5078,18 +5185,17 @@
         },
         "patch": {
           "description": "Updates an existing floodlight activity group. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
           "httpMethod": "PATCH",
           "id": "dfareporting.floodlightActivityGroups.patch",
           "parameterOrder": [
-            "profileId",
-            "id"
+            "profileId"
           ],
           "parameters": {
             "id": {
-              "description": "Floodlight activity Group ID.",
+              "description": "FloodlightActivityGroup ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -5113,6 +5219,7 @@
         },
         "update": {
           "description": "Updates an existing floodlight activity group.",
+          "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
           "httpMethod": "PUT",
           "id": "dfareporting.floodlightActivityGroups.update",
           "parameterOrder": [
@@ -5144,6 +5251,7 @@
       "methods": {
         "get": {
           "description": "Gets one floodlight configuration by ID.",
+          "flatPath": "userprofiles/{profileId}/floodlightConfigurations/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.floodlightConfigurations.get",
           "parameterOrder": [
@@ -5176,6 +5284,7 @@
         },
         "list": {
           "description": "Retrieves a list of floodlight configurations, possibly filtered.",
+          "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
           "httpMethod": "GET",
           "id": "dfareporting.floodlightConfigurations.list",
           "parameterOrder": [
@@ -5207,18 +5316,17 @@
         },
         "patch": {
           "description": "Updates an existing floodlight configuration. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
           "httpMethod": "PATCH",
           "id": "dfareporting.floodlightConfigurations.patch",
           "parameterOrder": [
-            "profileId",
-            "id"
+            "profileId"
           ],
           "parameters": {
             "id": {
-              "description": "Floodlight configuration ID.",
+              "description": "FloodlightConfiguration ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -5242,6 +5350,7 @@
         },
         "update": {
           "description": "Updates an existing floodlight configuration.",
+          "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
           "httpMethod": "PUT",
           "id": "dfareporting.floodlightConfigurations.update",
           "parameterOrder": [
@@ -5273,6 +5382,7 @@
       "methods": {
         "get": {
           "description": "Gets one inventory item by ID.",
+          "flatPath": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.inventoryItems.get",
           "parameterOrder": [
@@ -5313,6 +5423,7 @@
         },
         "list": {
           "description": "Retrieves a list of inventory items, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/projects/{projectId}/inventoryItems",
           "httpMethod": "GET",
           "id": "dfareporting.inventoryItems.list",
           "parameterOrder": [
@@ -5405,8 +5516,8 @@
             "type": {
               "description": "Select only inventory items with this type.",
               "enum": [
-                "PLANNING_PLACEMENT_TYPE_CREDIT",
-                "PLANNING_PLACEMENT_TYPE_REGULAR"
+                "PLANNING_PLACEMENT_TYPE_REGULAR",
+                "PLANNING_PLACEMENT_TYPE_CREDIT"
               ],
               "enumDescriptions": [
                 "",
@@ -5430,6 +5541,7 @@
       "methods": {
         "list": {
           "description": "Retrieves a list of languages.",
+          "flatPath": "userprofiles/{profileId}/languages",
           "httpMethod": "GET",
           "id": "dfareporting.languages.list",
           "parameterOrder": [
@@ -5458,6 +5570,7 @@
       "methods": {
         "list": {
           "description": "Retrieves a list of metros.",
+          "flatPath": "userprofiles/{profileId}/metros",
           "httpMethod": "GET",
           "id": "dfareporting.metros.list",
           "parameterOrder": [
@@ -5486,6 +5599,7 @@
       "methods": {
         "get": {
           "description": "Gets one mobile app by ID.",
+          "flatPath": "userprofiles/{profileId}/mobileApps/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.mobileApps.get",
           "parameterOrder": [
@@ -5517,6 +5631,7 @@
         },
         "list": {
           "description": "Retrieves list of available mobile apps.",
+          "flatPath": "userprofiles/{profileId}/mobileApps",
           "httpMethod": "GET",
           "id": "dfareporting.mobileApps.list",
           "parameterOrder": [
@@ -5526,9 +5641,9 @@
             "directories": {
               "description": "Select only apps from these directories.",
               "enum": [
+                "UNKNOWN",
                 "APPLE_APP_STORE",
-                "GOOGLE_PLAY_STORE",
-                "UNKNOWN"
+                "GOOGLE_PLAY_STORE"
               ],
               "enumDescriptions": [
                 "",
@@ -5586,6 +5701,7 @@
       "methods": {
         "get": {
           "description": "Gets one mobile carrier by ID.",
+          "flatPath": "userprofiles/{profileId}/mobileCarriers/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.mobileCarriers.get",
           "parameterOrder": [
@@ -5618,6 +5734,7 @@
         },
         "list": {
           "description": "Retrieves a list of mobile carriers.",
+          "flatPath": "userprofiles/{profileId}/mobileCarriers",
           "httpMethod": "GET",
           "id": "dfareporting.mobileCarriers.list",
           "parameterOrder": [
@@ -5646,6 +5763,7 @@
       "methods": {
         "get": {
           "description": "Gets one operating system version by ID.",
+          "flatPath": "userprofiles/{profileId}/operatingSystemVersions/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.operatingSystemVersions.get",
           "parameterOrder": [
@@ -5678,6 +5796,7 @@
         },
         "list": {
           "description": "Retrieves a list of operating system versions.",
+          "flatPath": "userprofiles/{profileId}/operatingSystemVersions",
           "httpMethod": "GET",
           "id": "dfareporting.operatingSystemVersions.list",
           "parameterOrder": [
@@ -5706,6 +5825,7 @@
       "methods": {
         "get": {
           "description": "Gets one operating system by DART ID.",
+          "flatPath": "userprofiles/{profileId}/operatingSystems/{dartId}",
           "httpMethod": "GET",
           "id": "dfareporting.operatingSystems.get",
           "parameterOrder": [
@@ -5738,6 +5858,7 @@
         },
         "list": {
           "description": "Retrieves a list of operating systems.",
+          "flatPath": "userprofiles/{profileId}/operatingSystems",
           "httpMethod": "GET",
           "id": "dfareporting.operatingSystems.list",
           "parameterOrder": [
@@ -5766,6 +5887,7 @@
       "methods": {
         "get": {
           "description": "Gets one order document by ID.",
+          "flatPath": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.orderDocuments.get",
           "parameterOrder": [
@@ -5806,6 +5928,7 @@
         },
         "list": {
           "description": "Retrieves a list of order documents, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/projects/{projectId}/orderDocuments",
           "httpMethod": "GET",
           "id": "dfareporting.orderDocuments.list",
           "parameterOrder": [
@@ -5915,6 +6038,7 @@
       "methods": {
         "get": {
           "description": "Gets one order by ID.",
+          "flatPath": "userprofiles/{profileId}/projects/{projectId}/orders/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.orders.get",
           "parameterOrder": [
@@ -5955,6 +6079,7 @@
         },
         "list": {
           "description": "Retrieves a list of orders, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/projects/{projectId}/orders",
           "httpMethod": "GET",
           "id": "dfareporting.orders.list",
           "parameterOrder": [
@@ -6052,6 +6177,7 @@
       "methods": {
         "get": {
           "description": "Gets one placement group by ID.",
+          "flatPath": "userprofiles/{profileId}/placementGroups/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.placementGroups.get",
           "parameterOrder": [
@@ -6084,6 +6210,7 @@
         },
         "insert": {
           "description": "Inserts a new placement group.",
+          "flatPath": "userprofiles/{profileId}/placementGroups",
           "httpMethod": "POST",
           "id": "dfareporting.placementGroups.insert",
           "parameterOrder": [
@@ -6111,6 +6238,7 @@
         },
         "list": {
           "description": "Retrieves a list of placement groups, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/placementGroups",
           "httpMethod": "GET",
           "id": "dfareporting.placementGroups.list",
           "parameterOrder": [
@@ -6214,12 +6342,12 @@
             "pricingTypes": {
               "description": "Select only placement groups with these pricing types.",
               "enum": [
-                "PRICING_TYPE_CPA",
-                "PRICING_TYPE_CPC",
                 "PRICING_TYPE_CPM",
-                "PRICING_TYPE_CPM_ACTIVEVIEW",
+                "PRICING_TYPE_CPC",
+                "PRICING_TYPE_CPA",
+                "PRICING_TYPE_FLAT_RATE_IMPRESSIONS",
                 "PRICING_TYPE_FLAT_RATE_CLICKS",
-                "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
+                "PRICING_TYPE_CPM_ACTIVEVIEW"
               ],
               "enumDescriptions": [
                 "",
@@ -6291,18 +6419,17 @@
         },
         "patch": {
           "description": "Updates an existing placement group. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/placementGroups",
           "httpMethod": "PATCH",
           "id": "dfareporting.placementGroups.patch",
           "parameterOrder": [
-            "profileId",
-            "id"
+            "profileId"
           ],
           "parameters": {
             "id": {
-              "description": "Placement group ID.",
+              "description": "PlacementGroup ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -6326,6 +6453,7 @@
         },
         "update": {
           "description": "Updates an existing placement group.",
+          "flatPath": "userprofiles/{profileId}/placementGroups",
           "httpMethod": "PUT",
           "id": "dfareporting.placementGroups.update",
           "parameterOrder": [
@@ -6357,6 +6485,7 @@
       "methods": {
         "delete": {
           "description": "Deletes an existing placement strategy.",
+          "flatPath": "userprofiles/{profileId}/placementStrategies/{id}",
           "httpMethod": "DELETE",
           "id": "dfareporting.placementStrategies.delete",
           "parameterOrder": [
@@ -6386,6 +6515,7 @@
         },
         "get": {
           "description": "Gets one placement strategy by ID.",
+          "flatPath": "userprofiles/{profileId}/placementStrategies/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.placementStrategies.get",
           "parameterOrder": [
@@ -6418,6 +6548,7 @@
         },
         "insert": {
           "description": "Inserts a new placement strategy.",
+          "flatPath": "userprofiles/{profileId}/placementStrategies",
           "httpMethod": "POST",
           "id": "dfareporting.placementStrategies.insert",
           "parameterOrder": [
@@ -6445,6 +6576,7 @@
         },
         "list": {
           "description": "Retrieves a list of placement strategies, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/placementStrategies",
           "httpMethod": "GET",
           "id": "dfareporting.placementStrategies.list",
           "parameterOrder": [
@@ -6523,18 +6655,17 @@
         },
         "patch": {
           "description": "Updates an existing placement strategy. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/placementStrategies",
           "httpMethod": "PATCH",
           "id": "dfareporting.placementStrategies.patch",
           "parameterOrder": [
-            "profileId",
-            "id"
+            "profileId"
           ],
           "parameters": {
             "id": {
-              "description": "Placement strategy ID.",
+              "description": "PlacementStrategy ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -6558,6 +6689,7 @@
         },
         "update": {
           "description": "Updates an existing placement strategy.",
+          "flatPath": "userprofiles/{profileId}/placementStrategies",
           "httpMethod": "PUT",
           "id": "dfareporting.placementStrategies.update",
           "parameterOrder": [
@@ -6589,6 +6721,7 @@
       "methods": {
         "generatetags": {
           "description": "Generates tags for a placement.",
+          "flatPath": "userprofiles/{profileId}/placements/generatetags",
           "httpMethod": "POST",
           "id": "dfareporting.placements.generatetags",
           "parameterOrder": [
@@ -6616,27 +6749,27 @@
               "type": "string"
             },
             "tagFormats": {
-              "description": "Tag formats to generate for these placements.\n\nNote: PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements.",
+              "description": "Tag formats to generate for these placements. *Note:* PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements.",
               "enum": [
-                "PLACEMENT_TAG_CLICK_COMMANDS",
-                "PLACEMENT_TAG_IFRAME_ILAYER",
+                "PLACEMENT_TAG_STANDARD",
                 "PLACEMENT_TAG_IFRAME_JAVASCRIPT",
-                "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
-                "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
-                "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
-                "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4",
+                "PLACEMENT_TAG_IFRAME_ILAYER",
                 "PLACEMENT_TAG_INTERNAL_REDIRECT",
+                "PLACEMENT_TAG_JAVASCRIPT",
                 "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT",
-                "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
                 "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT",
                 "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT",
-                "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
-                "PLACEMENT_TAG_JAVASCRIPT",
-                "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
-                "PLACEMENT_TAG_STANDARD",
+                "PLACEMENT_TAG_CLICK_COMMANDS",
+                "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
                 "PLACEMENT_TAG_TRACKING",
                 "PLACEMENT_TAG_TRACKING_IFRAME",
-                "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+                "PLACEMENT_TAG_TRACKING_JAVASCRIPT",
+                "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
+                "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
+                "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
+                "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
+                "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
+                "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
               ],
               "enumDescriptions": [
                 "",
@@ -6674,6 +6807,7 @@
         },
         "get": {
           "description": "Gets one placement by ID.",
+          "flatPath": "userprofiles/{profileId}/placements/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.placements.get",
           "parameterOrder": [
@@ -6706,6 +6840,7 @@
         },
         "insert": {
           "description": "Inserts a new placement.",
+          "flatPath": "userprofiles/{profileId}/placements",
           "httpMethod": "POST",
           "id": "dfareporting.placements.insert",
           "parameterOrder": [
@@ -6733,6 +6868,7 @@
         },
         "list": {
           "description": "Retrieves a list of placements, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/placements",
           "httpMethod": "GET",
           "id": "dfareporting.placements.list",
           "parameterOrder": [
@@ -6761,12 +6897,12 @@
             "compatibilities": {
               "description": "Select only placements that are associated with these compatibilities. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard.",
               "enum": [
-                "APP",
-                "APP_INTERSTITIAL",
                 "DISPLAY",
                 "DISPLAY_INTERSTITIAL",
-                "IN_STREAM_AUDIO",
-                "IN_STREAM_VIDEO"
+                "APP",
+                "APP_INTERSTITIAL",
+                "IN_STREAM_VIDEO",
+                "IN_STREAM_AUDIO"
               ],
               "enumDescriptions": [
                 "",
@@ -6865,12 +7001,12 @@
             "pricingTypes": {
               "description": "Select only placements with these pricing types.",
               "enum": [
-                "PRICING_TYPE_CPA",
-                "PRICING_TYPE_CPC",
                 "PRICING_TYPE_CPM",
-                "PRICING_TYPE_CPM_ACTIVEVIEW",
+                "PRICING_TYPE_CPC",
+                "PRICING_TYPE_CPA",
+                "PRICING_TYPE_FLAT_RATE_IMPRESSIONS",
                 "PRICING_TYPE_FLAT_RATE_CLICKS",
-                "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
+                "PRICING_TYPE_CPM_ACTIVEVIEW"
               ],
               "enumDescriptions": [
                 "",
@@ -6892,7 +7028,7 @@
               "type": "string"
             },
             "searchString": {
-              "description": "Allows searching for placements by name or ID. Wildcards (*) are allowed. For example, \"placement*2015\" will return placements with names like \"placement June 2015\", \"placement May 2015\", or simply \"placements 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"placement\" will match placements with name \"my placement\", \"placement 2015\", or simply \"placement\".",
+              "description": "Allows searching for placements by name or ID. Wildcards (*) are allowed. For example, \"placement*2015\" will return placements with names like \"placement June 2015\", \"placement May 2015\", or simply \"placements 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"placement\" will match placements with name \"my placement\", \"placement 2015\", or simply \"placement\" .",
               "location": "query",
               "type": "string"
             },
@@ -6949,18 +7085,17 @@
         },
         "patch": {
           "description": "Updates an existing placement. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/placements",
           "httpMethod": "PATCH",
           "id": "dfareporting.placements.patch",
           "parameterOrder": [
-            "profileId",
-            "id"
+            "profileId"
           ],
           "parameters": {
             "id": {
               "description": "Placement ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -6984,6 +7119,7 @@
         },
         "update": {
           "description": "Updates an existing placement.",
+          "flatPath": "userprofiles/{profileId}/placements",
           "httpMethod": "PUT",
           "id": "dfareporting.placements.update",
           "parameterOrder": [
@@ -7015,6 +7151,7 @@
       "methods": {
         "get": {
           "description": "Gets one platform type by ID.",
+          "flatPath": "userprofiles/{profileId}/platformTypes/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.platformTypes.get",
           "parameterOrder": [
@@ -7047,6 +7184,7 @@
         },
         "list": {
           "description": "Retrieves a list of platform types.",
+          "flatPath": "userprofiles/{profileId}/platformTypes",
           "httpMethod": "GET",
           "id": "dfareporting.platformTypes.list",
           "parameterOrder": [
@@ -7075,6 +7213,7 @@
       "methods": {
         "get": {
           "description": "Gets one postal code by ID.",
+          "flatPath": "userprofiles/{profileId}/postalCodes/{code}",
           "httpMethod": "GET",
           "id": "dfareporting.postalCodes.get",
           "parameterOrder": [
@@ -7106,6 +7245,7 @@
         },
         "list": {
           "description": "Retrieves a list of postal codes.",
+          "flatPath": "userprofiles/{profileId}/postalCodes",
           "httpMethod": "GET",
           "id": "dfareporting.postalCodes.list",
           "parameterOrder": [
@@ -7134,6 +7274,7 @@
       "methods": {
         "get": {
           "description": "Gets one project by ID.",
+          "flatPath": "userprofiles/{profileId}/projects/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.projects.get",
           "parameterOrder": [
@@ -7165,7 +7306,8 @@
           ]
         },
         "list": {
-          "description": "Retrieves a list of projects, possibly filtered. This method supports paging.",
+          "description": "Retrieves a list of projects, possibly filtered. This method supports paging .",
+          "flatPath": "userprofiles/{profileId}/projects",
           "httpMethod": "GET",
           "id": "dfareporting.projects.list",
           "parameterOrder": [
@@ -7255,6 +7397,7 @@
       "methods": {
         "list": {
           "description": "Retrieves a list of regions.",
+          "flatPath": "userprofiles/{profileId}/regions",
           "httpMethod": "GET",
           "id": "dfareporting.regions.list",
           "parameterOrder": [
@@ -7283,6 +7426,7 @@
       "methods": {
         "get": {
           "description": "Gets one remarketing list share by remarketing list ID.",
+          "flatPath": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}",
           "httpMethod": "GET",
           "id": "dfareporting.remarketingListShares.get",
           "parameterOrder": [
@@ -7315,6 +7459,7 @@
         },
         "patch": {
           "description": "Updates an existing remarketing list share. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/remarketingLists/{remarketingListId}/remarketingListShares",
           "httpMethod": "PATCH",
           "id": "dfareporting.remarketingListShares.patch",
           "parameterOrder": [
@@ -7322,6 +7467,12 @@
             "remarketingListId"
           ],
           "parameters": {
+            "id": {
+              "description": "RemarketingListShare ID.",
+              "format": "int64",
+              "location": "query",
+              "type": "string"
+            },
             "profileId": {
               "description": "User profile ID associated with this request.",
               "format": "int64",
@@ -7330,14 +7481,14 @@
               "type": "string"
             },
             "remarketingListId": {
-              "description": "Remarketing list ID.",
+              "description": "RemarketingList ID.",
               "format": "int64",
-              "location": "query",
+              "location": "path",
               "required": true,
               "type": "string"
             }
           },
-          "path": "userprofiles/{profileId}/remarketingListShares",
+          "path": "userprofiles/{profileId}/remarketingLists/{remarketingListId}/remarketingListShares",
           "request": {
             "$ref": "RemarketingListShare"
           },
@@ -7350,6 +7501,7 @@
         },
         "update": {
           "description": "Updates an existing remarketing list share.",
+          "flatPath": "userprofiles/{profileId}/remarketingListShares",
           "httpMethod": "PUT",
           "id": "dfareporting.remarketingListShares.update",
           "parameterOrder": [
@@ -7381,6 +7533,7 @@
       "methods": {
         "get": {
           "description": "Gets one remarketing list by ID.",
+          "flatPath": "userprofiles/{profileId}/remarketingLists/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.remarketingLists.get",
           "parameterOrder": [
@@ -7413,6 +7566,7 @@
         },
         "insert": {
           "description": "Inserts a new remarketing list.",
+          "flatPath": "userprofiles/{profileId}/remarketingLists",
           "httpMethod": "POST",
           "id": "dfareporting.remarketingLists.insert",
           "parameterOrder": [
@@ -7440,6 +7594,7 @@
         },
         "list": {
           "description": "Retrieves a list of remarketing lists, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/remarketingLists",
           "httpMethod": "GET",
           "id": "dfareporting.remarketingLists.list",
           "parameterOrder": [
@@ -7530,18 +7685,17 @@
         },
         "patch": {
           "description": "Updates an existing remarketing list. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/remarketingLists",
           "httpMethod": "PATCH",
           "id": "dfareporting.remarketingLists.patch",
           "parameterOrder": [
-            "profileId",
-            "id"
+            "profileId"
           ],
           "parameters": {
             "id": {
-              "description": "Remarketing list ID.",
+              "description": "RemarketingList ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -7565,6 +7719,7 @@
         },
         "update": {
           "description": "Updates an existing remarketing list.",
+          "flatPath": "userprofiles/{profileId}/remarketingLists",
           "httpMethod": "PUT",
           "id": "dfareporting.remarketingLists.update",
           "parameterOrder": [
@@ -7596,6 +7751,7 @@
       "methods": {
         "delete": {
           "description": "Deletes a report by its ID.",
+          "flatPath": "userprofiles/{profileId}/reports/{reportId}",
           "httpMethod": "DELETE",
           "id": "dfareporting.reports.delete",
           "parameterOrder": [
@@ -7625,6 +7781,7 @@
         },
         "get": {
           "description": "Retrieves a report by its ID.",
+          "flatPath": "userprofiles/{profileId}/reports/{reportId}",
           "httpMethod": "GET",
           "id": "dfareporting.reports.get",
           "parameterOrder": [
@@ -7657,6 +7814,7 @@
         },
         "insert": {
           "description": "Creates a report.",
+          "flatPath": "userprofiles/{profileId}/reports",
           "httpMethod": "POST",
           "id": "dfareporting.reports.insert",
           "parameterOrder": [
@@ -7684,6 +7842,7 @@
         },
         "list": {
           "description": "Retrieves list of reports.",
+          "flatPath": "userprofiles/{profileId}/reports",
           "httpMethod": "GET",
           "id": "dfareporting.reports.list",
           "parameterOrder": [
@@ -7765,7 +7924,8 @@
           ]
         },
         "patch": {
-          "description": "Updates a report. This method supports patch semantics.",
+          "description": "Updates an existing report. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/reports/{reportId}",
           "httpMethod": "PATCH",
           "id": "dfareporting.reports.patch",
           "parameterOrder": [
@@ -7801,6 +7961,7 @@
         },
         "run": {
           "description": "Runs a report.",
+          "flatPath": "userprofiles/{profileId}/reports/{reportId}/run",
           "httpMethod": "POST",
           "id": "dfareporting.reports.run",
           "parameterOrder": [
@@ -7839,6 +8000,7 @@
         },
         "update": {
           "description": "Updates a report.",
+          "flatPath": "userprofiles/{profileId}/reports/{reportId}",
           "httpMethod": "PUT",
           "id": "dfareporting.reports.update",
           "parameterOrder": [
@@ -7878,6 +8040,7 @@
           "methods": {
             "query": {
               "description": "Returns the fields that are compatible to be selected in the respective sections of a report criteria, given the fields already selected in the input report and user permissions.",
+              "flatPath": "userprofiles/{profileId}/reports/compatiblefields/query",
               "httpMethod": "POST",
               "id": "dfareporting.reports.compatibleFields.query",
               "parameterOrder": [
@@ -7909,6 +8072,7 @@
           "methods": {
             "get": {
               "description": "Retrieves a report file by its report ID and file ID. This method supports media download.",
+              "flatPath": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}",
               "httpMethod": "GET",
               "id": "dfareporting.reports.files.get",
               "parameterOrder": [
@@ -7950,6 +8114,7 @@
             },
             "list": {
               "description": "Lists files for a report.",
+              "flatPath": "userprofiles/{profileId}/reports/{reportId}/files",
               "httpMethod": "GET",
               "id": "dfareporting.reports.files.list",
               "parameterOrder": [
@@ -8030,6 +8195,7 @@
       "methods": {
         "get": {
           "description": "Gets one site by ID.",
+          "flatPath": "userprofiles/{profileId}/sites/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.sites.get",
           "parameterOrder": [
@@ -8062,6 +8228,7 @@
         },
         "insert": {
           "description": "Inserts a new site.",
+          "flatPath": "userprofiles/{profileId}/sites",
           "httpMethod": "POST",
           "id": "dfareporting.sites.insert",
           "parameterOrder": [
@@ -8089,6 +8256,7 @@
         },
         "list": {
           "description": "Retrieves a list of sites, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/sites",
           "httpMethod": "GET",
           "id": "dfareporting.sites.list",
           "parameterOrder": [
@@ -8217,18 +8385,17 @@
         },
         "patch": {
           "description": "Updates an existing site. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/sites",
           "httpMethod": "PATCH",
           "id": "dfareporting.sites.patch",
           "parameterOrder": [
-            "profileId",
-            "id"
+            "profileId"
           ],
           "parameters": {
             "id": {
               "description": "Site ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -8252,6 +8419,7 @@
         },
         "update": {
           "description": "Updates an existing site.",
+          "flatPath": "userprofiles/{profileId}/sites",
           "httpMethod": "PUT",
           "id": "dfareporting.sites.update",
           "parameterOrder": [
@@ -8283,6 +8451,7 @@
       "methods": {
         "get": {
           "description": "Gets one size by ID.",
+          "flatPath": "userprofiles/{profileId}/sizes/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.sizes.get",
           "parameterOrder": [
@@ -8315,6 +8484,7 @@
         },
         "insert": {
           "description": "Inserts a new size.",
+          "flatPath": "userprofiles/{profileId}/sizes",
           "httpMethod": "POST",
           "id": "dfareporting.sizes.insert",
           "parameterOrder": [
@@ -8342,6 +8512,7 @@
         },
         "list": {
           "description": "Retrieves a list of sizes, possibly filtered. Retrieved sizes are globally unique and may include values not currently in use by your account. Due to this, the list of sizes returned by this method may differ from the list seen in the Trafficking UI.",
+          "flatPath": "userprofiles/{profileId}/sizes",
           "httpMethod": "GET",
           "id": "dfareporting.sizes.list",
           "parameterOrder": [
@@ -8398,6 +8569,7 @@
       "methods": {
         "get": {
           "description": "Gets one subaccount by ID.",
+          "flatPath": "userprofiles/{profileId}/subaccounts/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.subaccounts.get",
           "parameterOrder": [
@@ -8430,6 +8602,7 @@
         },
         "insert": {
           "description": "Inserts a new subaccount.",
+          "flatPath": "userprofiles/{profileId}/subaccounts",
           "httpMethod": "POST",
           "id": "dfareporting.subaccounts.insert",
           "parameterOrder": [
@@ -8457,6 +8630,7 @@
         },
         "list": {
           "description": "Gets a list of subaccounts, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/subaccounts",
           "httpMethod": "GET",
           "id": "dfareporting.subaccounts.list",
           "parameterOrder": [
@@ -8492,7 +8666,7 @@
               "type": "string"
             },
             "searchString": {
-              "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"subaccount*2015\" will return objects with names like \"subaccount June 2015\", \"subaccount April 2015\", or simply \"subaccount 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"subaccount\" will match objects with name \"my subaccount\", \"subaccount 2015\", or simply \"subaccount\".",
+              "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"subaccount*2015\" will return objects with names like \"subaccount June 2015\", \"subaccount April 2015\", or simply \"subaccount 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"subaccount\" will match objects with name \"my subaccount\", \"subaccount 2015\", or simply \"subaccount\" .",
               "location": "query",
               "type": "string"
             },
@@ -8535,18 +8709,17 @@
         },
         "patch": {
           "description": "Updates an existing subaccount. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/subaccounts",
           "httpMethod": "PATCH",
           "id": "dfareporting.subaccounts.patch",
           "parameterOrder": [
-            "profileId",
-            "id"
+            "profileId"
           ],
           "parameters": {
             "id": {
               "description": "Subaccount ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -8570,6 +8743,7 @@
         },
         "update": {
           "description": "Updates an existing subaccount.",
+          "flatPath": "userprofiles/{profileId}/subaccounts",
           "httpMethod": "PUT",
           "id": "dfareporting.subaccounts.update",
           "parameterOrder": [
@@ -8601,6 +8775,7 @@
       "methods": {
         "get": {
           "description": "Gets one remarketing list by ID.",
+          "flatPath": "userprofiles/{profileId}/targetableRemarketingLists/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.targetableRemarketingLists.get",
           "parameterOrder": [
@@ -8633,6 +8808,7 @@
         },
         "list": {
           "description": "Retrieves a list of targetable remarketing lists, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/targetableRemarketingLists",
           "httpMethod": "GET",
           "id": "dfareporting.targetableRemarketingLists.list",
           "parameterOrder": [
@@ -8721,6 +8897,7 @@
       "methods": {
         "get": {
           "description": "Gets one targeting template by ID.",
+          "flatPath": "userprofiles/{profileId}/targetingTemplates/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.targetingTemplates.get",
           "parameterOrder": [
@@ -8753,6 +8930,7 @@
         },
         "insert": {
           "description": "Inserts a new targeting template.",
+          "flatPath": "userprofiles/{profileId}/targetingTemplates",
           "httpMethod": "POST",
           "id": "dfareporting.targetingTemplates.insert",
           "parameterOrder": [
@@ -8780,6 +8958,7 @@
         },
         "list": {
           "description": "Retrieves a list of targeting templates, optionally filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/targetingTemplates",
           "httpMethod": "GET",
           "id": "dfareporting.targetingTemplates.list",
           "parameterOrder": [
@@ -8864,18 +9043,17 @@
         },
         "patch": {
           "description": "Updates an existing targeting template. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/targetingTemplates",
           "httpMethod": "PATCH",
           "id": "dfareporting.targetingTemplates.patch",
           "parameterOrder": [
-            "profileId",
-            "id"
+            "profileId"
           ],
           "parameters": {
             "id": {
-              "description": "Targeting template ID.",
+              "description": "TargetingTemplate ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -8899,6 +9077,7 @@
         },
         "update": {
           "description": "Updates an existing targeting template.",
+          "flatPath": "userprofiles/{profileId}/targetingTemplates",
           "httpMethod": "PUT",
           "id": "dfareporting.targetingTemplates.update",
           "parameterOrder": [
@@ -8930,6 +9109,7 @@
       "methods": {
         "get": {
           "description": "Gets one user profile by ID.",
+          "flatPath": "userprofiles/{profileId}",
           "httpMethod": "GET",
           "id": "dfareporting.userProfiles.get",
           "parameterOrder": [
@@ -8949,19 +9129,24 @@
             "$ref": "UserProfile"
           },
           "scopes": [
+            "https://www.googleapis.com/auth/ddmconversions",
             "https://www.googleapis.com/auth/dfareporting",
             "https://www.googleapis.com/auth/dfatrafficking"
           ]
         },
         "list": {
           "description": "Retrieves list of user profiles for a user.",
+          "flatPath": "userprofiles",
           "httpMethod": "GET",
           "id": "dfareporting.userProfiles.list",
+          "parameterOrder": [],
+          "parameters": {},
           "path": "userprofiles",
           "response": {
             "$ref": "UserProfileList"
           },
           "scopes": [
+            "https://www.googleapis.com/auth/ddmconversions",
             "https://www.googleapis.com/auth/dfareporting",
             "https://www.googleapis.com/auth/dfatrafficking"
           ]
@@ -8972,6 +9157,7 @@
       "methods": {
         "get": {
           "description": "Gets one user role permission group by ID.",
+          "flatPath": "userprofiles/{profileId}/userRolePermissionGroups/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.userRolePermissionGroups.get",
           "parameterOrder": [
@@ -9004,6 +9190,7 @@
         },
         "list": {
           "description": "Gets a list of all supported user role permission groups.",
+          "flatPath": "userprofiles/{profileId}/userRolePermissionGroups",
           "httpMethod": "GET",
           "id": "dfareporting.userRolePermissionGroups.list",
           "parameterOrder": [
@@ -9032,6 +9219,7 @@
       "methods": {
         "get": {
           "description": "Gets one user role permission by ID.",
+          "flatPath": "userprofiles/{profileId}/userRolePermissions/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.userRolePermissions.get",
           "parameterOrder": [
@@ -9064,6 +9252,7 @@
         },
         "list": {
           "description": "Gets a list of user role permissions, possibly filtered.",
+          "flatPath": "userprofiles/{profileId}/userRolePermissions",
           "httpMethod": "GET",
           "id": "dfareporting.userRolePermissions.list",
           "parameterOrder": [
@@ -9099,6 +9288,7 @@
       "methods": {
         "delete": {
           "description": "Deletes an existing user role.",
+          "flatPath": "userprofiles/{profileId}/userRoles/{id}",
           "httpMethod": "DELETE",
           "id": "dfareporting.userRoles.delete",
           "parameterOrder": [
@@ -9128,6 +9318,7 @@
         },
         "get": {
           "description": "Gets one user role by ID.",
+          "flatPath": "userprofiles/{profileId}/userRoles/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.userRoles.get",
           "parameterOrder": [
@@ -9160,6 +9351,7 @@
         },
         "insert": {
           "description": "Inserts a new user role.",
+          "flatPath": "userprofiles/{profileId}/userRoles",
           "httpMethod": "POST",
           "id": "dfareporting.userRoles.insert",
           "parameterOrder": [
@@ -9187,6 +9379,7 @@
         },
         "list": {
           "description": "Retrieves a list of user roles, possibly filtered. This method supports paging.",
+          "flatPath": "userprofiles/{profileId}/userRoles",
           "httpMethod": "GET",
           "id": "dfareporting.userRoles.list",
           "parameterOrder": [
@@ -9276,18 +9469,17 @@
         },
         "patch": {
           "description": "Updates an existing user role. This method supports patch semantics.",
+          "flatPath": "userprofiles/{profileId}/userRoles",
           "httpMethod": "PATCH",
           "id": "dfareporting.userRoles.patch",
           "parameterOrder": [
-            "profileId",
-            "id"
+            "profileId"
           ],
           "parameters": {
             "id": {
-              "description": "User role ID.",
+              "description": "UserRole ID.",
               "format": "int64",
               "location": "query",
-              "required": true,
               "type": "string"
             },
             "profileId": {
@@ -9311,6 +9503,7 @@
         },
         "update": {
           "description": "Updates an existing user role.",
+          "flatPath": "userprofiles/{profileId}/userRoles",
           "httpMethod": "PUT",
           "id": "dfareporting.userRoles.update",
           "parameterOrder": [
@@ -9342,6 +9535,7 @@
       "methods": {
         "get": {
           "description": "Gets one video format by ID.",
+          "flatPath": "userprofiles/{profileId}/videoFormats/{id}",
           "httpMethod": "GET",
           "id": "dfareporting.videoFormats.get",
           "parameterOrder": [
@@ -9374,6 +9568,7 @@
         },
         "list": {
           "description": "Lists available video formats.",
+          "flatPath": "userprofiles/{profileId}/videoFormats",
           "httpMethod": "GET",
           "id": "dfareporting.videoFormats.list",
           "parameterOrder": [
@@ -9399,8 +9594,8 @@
       }
     }
   },
-  "revision": "20200514",
-  "rootUrl": "https://www.googleapis.com/",
+  "revision": "20200812",
+  "rootUrl": "https://dfareporting.googleapis.com/",
   "schemas": {
     "Account": {
       "description": "Contains properties of a Campaign Manager account.",
@@ -9433,14 +9628,14 @@
         "activeAdsLimitTier": {
           "description": "Maximum number of active ads allowed for this account.",
           "enum": [
+            "ACTIVE_ADS_TIER_40K",
+            "ACTIVE_ADS_TIER_75K",
             "ACTIVE_ADS_TIER_100K",
-            "ACTIVE_ADS_TIER_1M",
             "ACTIVE_ADS_TIER_200K",
             "ACTIVE_ADS_TIER_300K",
-            "ACTIVE_ADS_TIER_40K",
             "ACTIVE_ADS_TIER_500K",
             "ACTIVE_ADS_TIER_750K",
-            "ACTIVE_ADS_TIER_75K"
+            "ACTIVE_ADS_TIER_1M"
           ],
           "enumDescriptions": [
             "",
@@ -9472,7 +9667,7 @@
           "type": "string"
         },
         "currencyId": {
-          "description": "ID of currency associated with this account. This is a required field.\nAcceptable values are: \n- \"1\" for USD \n- \"2\" for GBP \n- \"3\" for ESP \n- \"4\" for SEK \n- \"5\" for CAD \n- \"6\" for JPY \n- \"7\" for DEM \n- \"8\" for AUD \n- \"9\" for FRF \n- \"10\" for ITL \n- \"11\" for DKK \n- \"12\" for NOK \n- \"13\" for FIM \n- \"14\" for ZAR \n- \"15\" for IEP \n- \"16\" for NLG \n- \"17\" for EUR \n- \"18\" for KRW \n- \"19\" for TWD \n- \"20\" for SGD \n- \"21\" for CNY \n- \"22\" for HKD \n- \"23\" for NZD \n- \"24\" for MYR \n- \"25\" for BRL \n- \"26\" for PTE \n- \"27\" for MXP \n- \"28\" for CLP \n- \"29\" for TRY \n- \"30\" for ARS \n- \"31\" for PEN \n- \"32\" for ILS \n- \"33\" for CHF \n- \"34\" for VEF \n- \"35\" for COP \n- \"36\" for GTQ \n- \"37\" for PLN \n- \"39\" for INR \n- \"40\" for THB \n- \"41\" for IDR \n- \"42\" for CZK \n- \"43\" for RON \n- \"44\" for HUF \n- \"45\" for RUB \n- \"46\" for AED \n- \"47\" for BGN \n- \"48\" for HRK \n- \"49\" for MXN \n- \"50\" for NGN \n- \"51\" for EGP",
+          "description": "ID of currency associated with this account. This is a required field. Acceptable values are: - \"1\" for USD - \"2\" for GBP - \"3\" for ESP - \"4\" for SEK - \"5\" for CAD - \"6\" for JPY - \"7\" for DEM - \"8\" for AUD - \"9\" for FRF - \"10\" for ITL - \"11\" for DKK - \"12\" for NOK - \"13\" for FIM - \"14\" for ZAR - \"15\" for IEP - \"16\" for NLG - \"17\" for EUR - \"18\" for KRW - \"19\" for TWD - \"20\" for SGD - \"21\" for CNY - \"22\" for HKD - \"23\" for NZD - \"24\" for MYR - \"25\" for BRL - \"26\" for PTE - \"27\" for MXP - \"28\" for CLP - \"29\" for TRY - \"30\" for ARS - \"31\" for PEN - \"32\" for ILS - \"33\" for CHF - \"34\" for VEF - \"35\" for COP - \"36\" for GTQ - \"37\" for PLN - \"39\" for INR - \"40\" for THB - \"41\" for IDR - \"42\" for CZK - \"43\" for RON - \"44\" for HUF - \"45\" for RUB - \"46\" for AED - \"47\" for BGN - \"48\" for HRK - \"49\" for MXN - \"50\" for NGN - \"51\" for EGP ",
           "format": "int64",
           "type": "string"
         },
@@ -9491,12 +9686,11 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#account",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#account\".",
           "type": "string"
         },
         "locale": {
-          "description": "Locale of this account.\nAcceptable values are: \n- \"cs\" (Czech) \n- \"de\" (German) \n- \"en\" (English) \n- \"en-GB\" (English United Kingdom) \n- \"es\" (Spanish) \n- \"fr\" (French) \n- \"it\" (Italian) \n- \"ja\" (Japanese) \n- \"ko\" (Korean) \n- \"pl\" (Polish) \n- \"pt-BR\" (Portuguese Brazil) \n- \"ru\" (Russian) \n- \"sv\" (Swedish) \n- \"tr\" (Turkish) \n- \"zh-CN\" (Chinese Simplified) \n- \"zh-TW\" (Chinese Traditional)",
+          "description": "Locale of this account. Acceptable values are: - \"cs\" (Czech) - \"de\" (German) - \"en\" (English) - \"en-GB\" (English United Kingdom) - \"es\" (Spanish) - \"fr\" (French) - \"it\" (Italian) - \"ja\" (Japanese) - \"ko\" (Korean) - \"pl\" (Polish) - \"pt-BR\" (Portuguese Brazil) - \"ru\" (Russian) - \"sv\" (Swedish) - \"tr\" (Turkish) - \"zh-CN\" (Chinese Simplified) - \"zh-TW\" (Chinese Traditional) ",
           "type": "string"
         },
         "maximumImageSize": {
@@ -9545,14 +9739,14 @@
         "activeAdsLimitTier": {
           "description": "Maximum number of active ads allowed for the account.",
           "enum": [
+            "ACTIVE_ADS_TIER_40K",
+            "ACTIVE_ADS_TIER_75K",
             "ACTIVE_ADS_TIER_100K",
-            "ACTIVE_ADS_TIER_1M",
             "ACTIVE_ADS_TIER_200K",
             "ACTIVE_ADS_TIER_300K",
-            "ACTIVE_ADS_TIER_40K",
             "ACTIVE_ADS_TIER_500K",
             "ACTIVE_ADS_TIER_750K",
-            "ACTIVE_ADS_TIER_75K"
+            "ACTIVE_ADS_TIER_1M"
           ],
           "enumDescriptions": [
             "",
@@ -9572,7 +9766,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#accountActiveAdSummary",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountActiveAdSummary\".",
           "type": "string"
         }
@@ -9584,7 +9777,11 @@
       "id": "AccountPermission",
       "properties": {
         "accountProfiles": {
-          "description": "Account profiles associated with this account permission.\n\nPossible values are:\n- \"ACCOUNT_PROFILE_BASIC\"\n- \"ACCOUNT_PROFILE_STANDARD\"",
+          "description": "Account profiles associated with this account permission. Possible values are: - \"ACCOUNT_PROFILE_BASIC\" - \"ACCOUNT_PROFILE_STANDARD\" ",
+          "enumDescriptions": [
+            "",
+            ""
+          ],
           "items": {
             "enum": [
               "ACCOUNT_PROFILE_BASIC",
@@ -9604,15 +9801,14 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#accountPermission",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountPermission\".",
           "type": "string"
         },
         "level": {
           "description": "Administrative level required to enable this account permission.",
           "enum": [
-            "ADMINISTRATOR",
-            "USER"
+            "USER",
+            "ADMINISTRATOR"
           ],
           "enumDescriptions": [
             "",
@@ -9642,7 +9838,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#accountPermissionGroup",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountPermissionGroup\".",
           "type": "string"
         },
@@ -9665,7 +9860,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#accountPermissionGroupsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountPermissionGroupsListResponse\".",
           "type": "string"
         }
@@ -9684,7 +9878,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#accountPermissionsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountPermissionsListResponse\".",
           "type": "string"
         }
@@ -9726,16 +9919,15 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#accountUserProfile",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountUserProfile\".",
           "type": "string"
         },
         "locale": {
-          "description": "Locale of the user profile. This is a required field.\nAcceptable values are:  \n- \"cs\" (Czech) \n- \"de\" (German) \n- \"en\" (English) \n- \"en-GB\" (English United Kingdom) \n- \"es\" (Spanish) \n- \"fr\" (French) \n- \"it\" (Italian) \n- \"ja\" (Japanese) \n- \"ko\" (Korean) \n- \"pl\" (Polish) \n- \"pt-BR\" (Portuguese Brazil)\n- \"ru\" (Russian) \n- \"sv\" (Swedish) \n- \"tr\" (Turkish) \n- \"zh-CN\" (Chinese Simplified) \n- \"zh-TW\" (Chinese Traditional)",
+          "description": "Locale of the user profile. This is a required field. Acceptable values are: - \"cs\" (Czech) - \"de\" (German) - \"en\" (English) - \"en-GB\" (English United Kingdom) - \"es\" (Spanish) - \"fr\" (French) - \"it\" (Italian) - \"ja\" (Japanese) - \"ko\" (Korean) - \"pl\" (Polish) - \"pt-BR\" (Portuguese Brazil) - \"ru\" (Russian) - \"sv\" (Swedish) - \"tr\" (Turkish) - \"zh-CN\" (Chinese Simplified) - \"zh-TW\" (Chinese Traditional) ",
           "type": "string"
         },
         "name": {
-          "description": "Name of the user profile. This is a required field. Must be less than 64 characters long, must be globally unique, and cannot contain whitespace or any of the following characters: \"\u0026;\"#%,\".",
+          "description": "Name of the user profile. This is a required field. Must be less than 64 characters long, must be globally unique, and cannot contain whitespace or any of the following characters: \"\u0026;\u003c\u003e\"#%,\".",
           "type": "string"
         },
         "siteFilter": {
@@ -9750,9 +9942,9 @@
         "traffickerType": {
           "description": "Trafficker type of this user profile. This is a read-only field.",
           "enum": [
-            "EXTERNAL_TRAFFICKER",
             "INTERNAL_NON_TRAFFICKER",
-            "INTERNAL_TRAFFICKER"
+            "INTERNAL_TRAFFICKER",
+            "EXTERNAL_TRAFFICKER"
           ],
           "enumDescriptions": [
             "",
@@ -9764,10 +9956,10 @@
         "userAccessType": {
           "description": "User type of the user profile. This is a read-only field that can be left blank.",
           "enum": [
-            "INTERNAL_ADMINISTRATOR",
             "NORMAL_USER",
-            "READ_ONLY_SUPER_USER",
-            "SUPER_USER"
+            "SUPER_USER",
+            "INTERNAL_ADMINISTRATOR",
+            "READ_ONLY_SUPER_USER"
           ],
           "enumDescriptions": [
             "",
@@ -9801,7 +9993,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#accountUserProfilesListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountUserProfilesListResponse\".",
           "type": "string"
         },
@@ -9824,7 +10015,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#accountsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountsListResponse\".",
           "type": "string"
         },
@@ -9847,7 +10037,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#activities",
           "description": "The kind of resource this is, in this case dfareporting#activities.",
           "type": "string"
         },
@@ -9916,12 +10105,12 @@
         "compatibility": {
           "description": "Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to either rendering on desktop or on mobile devices or in mobile apps for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are only used for existing default ads. New mobile placements must be assigned DISPLAY or DISPLAY_INTERSTITIAL and default ads created for those placements will be limited to those compatibility types. IN_STREAM_VIDEO refers to rendering in-stream video ads developed with the VAST standard.",
           "enum": [
-            "APP",
-            "APP_INTERSTITIAL",
             "DISPLAY",
             "DISPLAY_INTERSTITIAL",
-            "IN_STREAM_AUDIO",
-            "IN_STREAM_VIDEO"
+            "APP",
+            "APP_INTERSTITIAL",
+            "IN_STREAM_VIDEO",
+            "IN_STREAM_AUDIO"
           ],
           "enumDescriptions": [
             "",
@@ -9946,7 +10135,7 @@
         },
         "creativeRotation": {
           "$ref": "CreativeRotation",
-          "description": "Creative rotation for this ad. Applicable when type is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field should have exactly one creativeAssignment."
+          "description": "Creative rotation for this ad. Applicable when type is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field should have exactly one creativeAssignment ."
         },
         "dayPartTargeting": {
           "$ref": "DayPartTargeting",
@@ -9965,7 +10154,6 @@
           "type": "boolean"
         },
         "endTime": {
-          "description": "Date and time that this ad should stop serving. Must be later than the start time. This is a required field on insertion.",
           "format": "date-time",
           "type": "string"
         },
@@ -9994,7 +10182,6 @@
           "description": "Key-value targeting information for this ad. This field must be left blank if the ad is using a targeting template. Applicable when type is AD_SERVING_STANDARD_AD."
         },
         "kind": {
-          "default": "dfareporting#ad",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#ad\".",
           "type": "string"
         },
@@ -10034,7 +10221,6 @@
           "type": "boolean"
         },
         "startTime": {
-          "description": "Date and time that this ad should start serving. If creating an ad, this field must be a time in the future. This is a required field on insertion.",
           "format": "date-time",
           "type": "string"
         },
@@ -10053,11 +10239,11 @@
           "description": "Technology platform targeting information for this ad. This field must be left blank if the ad is using a targeting template. Applicable when type is AD_SERVING_STANDARD_AD."
         },
         "type": {
-          "description": "Type of ad. This is a required field on insertion. Note that default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative resource).",
+          "description": "Type of ad. This is a required field on insertion. Note that default ads ( AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative resource).",
           "enum": [
-            "AD_SERVING_CLICK_TRACKER",
-            "AD_SERVING_DEFAULT_AD",
             "AD_SERVING_STANDARD_AD",
+            "AD_SERVING_DEFAULT_AD",
+            "AD_SERVING_CLICK_TRACKER",
             "AD_SERVING_TRACKING"
           ],
           "enumDescriptions": [
@@ -10106,12 +10292,12 @@
         "compatibility": {
           "description": "Ad slot compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop, mobile devices or in mobile apps for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard.",
           "enum": [
-            "APP",
-            "APP_INTERSTITIAL",
             "DISPLAY",
             "DISPLAY_INTERSTITIAL",
-            "IN_STREAM_AUDIO",
-            "IN_STREAM_VIDEO"
+            "APP",
+            "APP_INTERSTITIAL",
+            "IN_STREAM_VIDEO",
+            "IN_STREAM_AUDIO"
           ],
           "enumDescriptions": [
             "",
@@ -10173,7 +10359,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#adsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#adsListResponse\".",
           "type": "string"
         },
@@ -10212,7 +10397,7 @@
           "type": "string"
         },
         "floodlightConfigurationId": {
-          "description": "Floodlight configuration ID of this advertiser. The floodlight configuration ID will be created automatically, so on insert this field should be left blank. This field can be set to another advertiser's floodlight configuration ID in order to share that advertiser's floodlight configuration with this advertiser, so long as: \n- This advertiser's original floodlight configuration is not already associated with floodlight activities or floodlight activity groups. \n- This advertiser's original floodlight configuration is not already shared with another advertiser.",
+          "description": "Floodlight configuration ID of this advertiser. The floodlight configuration ID will be created automatically, so on insert this field should be left blank. This field can be set to another advertiser's floodlight configuration ID in order to share that advertiser's floodlight configuration with this advertiser, so long as: - This advertiser's original floodlight configuration is not already associated with floodlight activities or floodlight activity groups. - This advertiser's original floodlight configuration is not already shared with another advertiser. ",
           "format": "int64",
           "type": "string"
         },
@@ -10230,7 +10415,6 @@
           "description": "Dimension value for the ID of this advertiser. This is a read-only, auto-generated field."
         },
         "kind": {
-          "default": "dfareporting#advertiser",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#advertiser\".",
           "type": "string"
         },
@@ -10282,7 +10466,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#advertiserGroup",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#advertiserGroup\".",
           "type": "string"
         },
@@ -10305,7 +10488,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#advertiserGroupsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#advertiserGroupsListResponse\".",
           "type": "string"
         },
@@ -10321,7 +10503,6 @@
       "id": "AdvertiserLandingPagesListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#advertiserLandingPagesListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#advertiserLandingPagesListResponse\".",
           "type": "string"
         },
@@ -10351,7 +10532,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#advertisersListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#advertisersListResponse\".",
           "type": "string"
         },
@@ -10421,7 +10601,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#browser",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#browser\".",
           "type": "string"
         },
@@ -10452,7 +10631,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#browsersListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#browsersListResponse\".",
           "type": "string"
         }
@@ -10542,7 +10720,6 @@
           "type": "string"
         },
         "endDate": {
-          "description": "Date on which the campaign will stop running. On insert, the end date must be today or a future date. The end date must be later than or be the same as the start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective campaign run date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This is a required field.",
           "format": "date",
           "type": "string"
         },
@@ -10567,7 +10744,6 @@
           "description": "Dimension value for the ID of this campaign. This is a read-only, auto-generated field."
         },
         "kind": {
-          "default": "dfareporting#campaign",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#campaign\".",
           "type": "string"
         },
@@ -10584,7 +10760,6 @@
           "type": "boolean"
         },
         "startDate": {
-          "description": "Date on which the campaign starts running. The start date can be any date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This is a required field.",
           "format": "date",
           "type": "string"
         },
@@ -10613,7 +10788,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#campaignCreativeAssociation",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#campaignCreativeAssociation\".",
           "type": "string"
         }
@@ -10632,7 +10806,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#campaignCreativeAssociationsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#campaignCreativeAssociationsListResponse\".",
           "type": "string"
         },
@@ -10655,7 +10828,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#campaignsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#campaignsListResponse\".",
           "type": "string"
         },
@@ -10680,7 +10852,6 @@
           "type": "string"
         },
         "changeTime": {
-          "description": "Time when the object was modified.",
           "format": "date-time",
           "type": "string"
         },
@@ -10694,7 +10865,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#changeLog",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#changeLog\".",
           "type": "string"
         },
@@ -10749,7 +10919,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#changeLogsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#changeLogsListResponse\".",
           "type": "string"
         },
@@ -10772,7 +10941,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#citiesListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#citiesListResponse\".",
           "type": "string"
         }
@@ -10798,7 +10966,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#city",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#city\".",
           "type": "string"
         },
@@ -10851,7 +11018,7 @@
       "id": "ClickThroughUrl",
       "properties": {
         "computedClickThroughUrl": {
-          "description": "Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows: \n- If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.\n- If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.\n- If neither of the above cases apply, then the customClickThroughUrl is assigned to this field.",
+          "description": "Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows: - If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field. - If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field. - If neither of the above cases apply, then the customClickThroughUrl is assigned to this field. ",
           "type": "string"
         },
         "customClickThroughUrl": {
@@ -10921,7 +11088,6 @@
           "type": "boolean"
         },
         "kind": {
-          "default": "dfareporting#companionSetting",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#companionSetting\".",
           "type": "string"
         }
@@ -10941,7 +11107,6 @@
           "description": "Contains items that are compatible to be selected for a report of type \"FLOODLIGHT\"."
         },
         "kind": {
-          "default": "dfareporting#compatibleFields",
           "description": "The kind of resource this is, in this case dfareporting#compatibleFields.",
           "type": "string"
         },
@@ -10970,7 +11135,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#connectionType",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#connectionType\".",
           "type": "string"
         },
@@ -10993,7 +11157,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#connectionTypesListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#connectionTypesListResponse\".",
           "type": "string"
         }
@@ -11012,7 +11175,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#contentCategoriesListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#contentCategoriesListResponse\".",
           "type": "string"
         },
@@ -11038,7 +11200,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#contentCategory",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#contentCategory\".",
           "type": "string"
         },
@@ -11090,7 +11251,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#conversion",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#conversion\".",
           "type": "string"
         },
@@ -11143,10 +11303,10 @@
         "code": {
           "description": "The error code.",
           "enum": [
-            "INTERNAL",
             "INVALID_ARGUMENT",
-            "NOT_FOUND",
-            "PERMISSION_DENIED"
+            "INTERNAL",
+            "PERMISSION_DENIED",
+            "NOT_FOUND"
           ],
           "enumDescriptions": [
             "",
@@ -11157,7 +11317,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#conversionError",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#conversionError\".",
           "type": "string"
         },
@@ -11184,7 +11343,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#conversionStatus",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#conversionStatus\".",
           "type": "string"
         }
@@ -11207,7 +11365,6 @@
           "description": "Describes how encryptedUserId or encryptedUserIdCandidates[] is encrypted. This is a required field if encryptedUserId or encryptedUserIdCandidates[] is used."
         },
         "kind": {
-          "default": "dfareporting#conversionsBatchInsertRequest",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#conversionsBatchInsertRequest\".",
           "type": "string"
         }
@@ -11223,7 +11380,6 @@
           "type": "boolean"
         },
         "kind": {
-          "default": "dfareporting#conversionsBatchInsertResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#conversionsBatchInsertResponse\".",
           "type": "string"
         },
@@ -11253,7 +11409,6 @@
           "description": "Describes how encryptedUserId is encrypted. This is a required field if encryptedUserId is used."
         },
         "kind": {
-          "default": "dfareporting#conversionsBatchUpdateRequest",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#conversionsBatchUpdateRequest\".",
           "type": "string"
         }
@@ -11269,7 +11424,6 @@
           "type": "boolean"
         },
         "kind": {
-          "default": "dfareporting#conversionsBatchUpdateResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#conversionsBatchUpdateResponse\".",
           "type": "string"
         },
@@ -11295,7 +11449,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#countriesListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#countriesListResponse\".",
           "type": "string"
         }
@@ -11316,7 +11469,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#country",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#country\".",
           "type": "string"
         },
@@ -11380,8 +11532,8 @@
           "enum": [
             "ARTWORK_TYPE_FLASH",
             "ARTWORK_TYPE_HTML5",
-            "ARTWORK_TYPE_IMAGE",
-            "ARTWORK_TYPE_MIXED"
+            "ARTWORK_TYPE_MIXED",
+            "ARTWORK_TYPE_IMAGE"
           ],
           "enumDescriptions": [
             "",
@@ -11394,8 +11546,8 @@
         "authoringSource": {
           "description": "Source application where creative was authored. Presently, only DBM authored creatives will have this field set. Applicable to all creative types.",
           "enum": [
-            "CREATIVE_AUTHORING_SOURCE_DBM",
             "CREATIVE_AUTHORING_SOURCE_DCM",
+            "CREATIVE_AUTHORING_SOURCE_DBM",
             "CREATIVE_AUTHORING_SOURCE_STUDIO"
           ],
           "enumDescriptions": [
@@ -11431,74 +11583,142 @@
         },
         "backupImageFeatures": {
           "description": "List of feature dependencies that will cause a backup image to be served if the browser that serves the ad does not support them. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative asset correctly. This field is initially auto-generated to contain all features detected by Campaign Manager for all the assets of this creative and can then be modified by the client. To reset this field, copy over all the creativeAssets' detected features. Applicable to the following creative types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.",
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+          ],
           "items": {
             "enum": [
-              "APPLICATION_CACHE",
-              "AUDIO",
-              "CANVAS",
-              "CANVAS_TEXT",
-              "CSS_ANIMATIONS",
+              "CSS_FONT_FACE",
               "CSS_BACKGROUND_SIZE",
               "CSS_BORDER_IMAGE",
               "CSS_BORDER_RADIUS",
               "CSS_BOX_SHADOW",
-              "CSS_COLUMNS",
               "CSS_FLEX_BOX",
-              "CSS_FONT_FACE",
-              "CSS_GENERATED_CONTENT",
-              "CSS_GRADIENTS",
               "CSS_HSLA",
               "CSS_MULTIPLE_BGS",
               "CSS_OPACITY",
-              "CSS_REFLECTIONS",
               "CSS_RGBA",
               "CSS_TEXT_SHADOW",
+              "CSS_ANIMATIONS",
+              "CSS_COLUMNS",
+              "CSS_GENERATED_CONTENT",
+              "CSS_GRADIENTS",
+              "CSS_REFLECTIONS",
               "CSS_TRANSFORMS",
               "CSS_TRANSFORMS3D",
               "CSS_TRANSITIONS",
+              "APPLICATION_CACHE",
+              "CANVAS",
+              "CANVAS_TEXT",
               "DRAG_AND_DROP",
-              "GEO_LOCATION",
               "HASH_CHANGE",
               "HISTORY",
+              "AUDIO",
+              "VIDEO",
               "INDEXED_DB",
-              "INLINE_SVG",
               "INPUT_ATTR_AUTOCOMPLETE",
               "INPUT_ATTR_AUTOFOCUS",
               "INPUT_ATTR_LIST",
+              "INPUT_ATTR_PLACEHOLDER",
               "INPUT_ATTR_MAX",
               "INPUT_ATTR_MIN",
               "INPUT_ATTR_MULTIPLE",
               "INPUT_ATTR_PATTERN",
-              "INPUT_ATTR_PLACEHOLDER",
               "INPUT_ATTR_REQUIRED",
               "INPUT_ATTR_STEP",
-              "INPUT_TYPE_COLOR",
-              "INPUT_TYPE_DATE",
-              "INPUT_TYPE_DATETIME",
-              "INPUT_TYPE_DATETIME_LOCAL",
-              "INPUT_TYPE_EMAIL",
-              "INPUT_TYPE_MONTH",
-              "INPUT_TYPE_NUMBER",
-              "INPUT_TYPE_RANGE",
               "INPUT_TYPE_SEARCH",
               "INPUT_TYPE_TEL",
-              "INPUT_TYPE_TIME",
               "INPUT_TYPE_URL",
+              "INPUT_TYPE_EMAIL",
+              "INPUT_TYPE_DATETIME",
+              "INPUT_TYPE_DATE",
+              "INPUT_TYPE_MONTH",
               "INPUT_TYPE_WEEK",
+              "INPUT_TYPE_TIME",
+              "INPUT_TYPE_DATETIME_LOCAL",
+              "INPUT_TYPE_NUMBER",
+              "INPUT_TYPE_RANGE",
+              "INPUT_TYPE_COLOR",
               "LOCAL_STORAGE",
               "POST_MESSAGE",
               "SESSION_STORAGE",
-              "SMIL",
-              "SVG_CLIP_PATHS",
-              "SVG_FE_IMAGE",
-              "SVG_FILTERS",
-              "SVG_HREF",
-              "TOUCH",
-              "VIDEO",
-              "WEBGL",
               "WEB_SOCKETS",
               "WEB_SQL_DATABASE",
-              "WEB_WORKERS"
+              "WEB_WORKERS",
+              "GEO_LOCATION",
+              "INLINE_SVG",
+              "SMIL",
+              "SVG_HREF",
+              "SVG_CLIP_PATHS",
+              "TOUCH",
+              "WEBGL",
+              "SVG_FILTERS",
+              "SVG_FE_IMAGE"
             ],
             "enumDescriptions": [
               "",
@@ -11600,15 +11820,23 @@
           "type": "array"
         },
         "compatibility": {
-          "description": "Compatibilities associated with this creative. This is a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices or in mobile apps for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. Only pre-existing creatives may have these compatibilities since new creatives will either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. IN_STREAM_AUDIO refers to rendering in in-stream audio ads developed with the VAST standard. Applicable to all creative types.\n\nAcceptable values are:\n- \"APP\"\n- \"APP_INTERSTITIAL\"\n- \"IN_STREAM_VIDEO\"\n- \"IN_STREAM_AUDIO\"\n- \"DISPLAY\"\n- \"DISPLAY_INTERSTITIAL\"",
+          "description": "Compatibilities associated with this creative. This is a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices or in mobile apps for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. Only pre-existing creatives may have these compatibilities since new creatives will either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. IN_STREAM_AUDIO refers to rendering in in-stream audio ads developed with the VAST standard. Applicable to all creative types. Acceptable values are: - \"APP\" - \"APP_INTERSTITIAL\" - \"IN_STREAM_VIDEO\" - \"IN_STREAM_AUDIO\" - \"DISPLAY\" - \"DISPLAY_INTERSTITIAL\" ",
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+          ],
           "items": {
             "enum": [
-              "APP",
-              "APP_INTERSTITIAL",
               "DISPLAY",
               "DISPLAY_INTERSTITIAL",
-              "IN_STREAM_AUDIO",
-              "IN_STREAM_VIDEO"
+              "APP",
+              "APP_INTERSTITIAL",
+              "IN_STREAM_VIDEO",
+              "IN_STREAM_AUDIO"
             ],
             "enumDescriptions": [
               "",
@@ -11691,7 +11919,6 @@
           "description": "Dimension value for the ID of this creative. This is a read-only field. Applicable to all creative types."
         },
         "kind": {
-          "default": "dfareporting#creative",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creative\".",
           "type": "string"
         },
@@ -11815,33 +12042,33 @@
           "type": "string"
         },
         "type": {
-          "description": "Type of this creative. This is a required field. Applicable to all creative types.\n\nNote: FLASH_INPAGE, HTML5_BANNER, and IMAGE are only used for existing creatives. New creatives should use DISPLAY as a replacement for these types.",
+          "description": "Type of this creative. This is a required field. Applicable to all creative types. *Note:* FLASH_INPAGE, HTML5_BANNER, and IMAGE are only used for existing creatives. New creatives should use DISPLAY as a replacement for these types.",
           "enum": [
-            "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO",
-            "CUSTOM_DISPLAY",
-            "CUSTOM_DISPLAY_INTERSTITIAL",
-            "DISPLAY",
-            "DISPLAY_IMAGE_GALLERY",
-            "DISPLAY_REDIRECT",
-            "FLASH_INPAGE",
-            "HTML5_BANNER",
             "IMAGE",
-            "INSTREAM_AUDIO",
-            "INSTREAM_VIDEO",
-            "INSTREAM_VIDEO_REDIRECT",
+            "DISPLAY_REDIRECT",
+            "CUSTOM_DISPLAY",
             "INTERNAL_REDIRECT",
+            "CUSTOM_DISPLAY_INTERSTITIAL",
             "INTERSTITIAL_INTERNAL_REDIRECT",
+            "TRACKING_TEXT",
             "RICH_MEDIA_DISPLAY_BANNER",
+            "RICH_MEDIA_INPAGE_FLOATING",
+            "RICH_MEDIA_IM_EXPAND",
             "RICH_MEDIA_DISPLAY_EXPANDING",
             "RICH_MEDIA_DISPLAY_INTERSTITIAL",
             "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL",
-            "RICH_MEDIA_IM_EXPAND",
-            "RICH_MEDIA_INPAGE_FLOATING",
             "RICH_MEDIA_MOBILE_IN_APP",
-            "RICH_MEDIA_PEEL_DOWN",
-            "TRACKING_TEXT",
+            "FLASH_INPAGE",
+            "INSTREAM_VIDEO",
             "VPAID_LINEAR_VIDEO",
-            "VPAID_NON_LINEAR_VIDEO"
+            "VPAID_NON_LINEAR_VIDEO",
+            "INSTREAM_VIDEO_REDIRECT",
+            "RICH_MEDIA_PEEL_DOWN",
+            "HTML5_BANNER",
+            "DISPLAY",
+            "DISPLAY_IMAGE_GALLERY",
+            "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO",
+            "INSTREAM_AUDIO"
           ],
           "enumDescriptions": [
             "",
@@ -11904,12 +12131,12 @@
           "type": "array"
         },
         "alignment": {
-          "description": "Possible alignments for an asset. This is a read-only field. Applicable to the following creative types: RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL.",
+          "description": "Possible alignments for an asset. This is a read-only field. Applicable to the following creative types: RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL .",
           "enum": [
-            "ALIGNMENT_BOTTOM",
-            "ALIGNMENT_LEFT",
+            "ALIGNMENT_TOP",
             "ALIGNMENT_RIGHT",
-            "ALIGNMENT_TOP"
+            "ALIGNMENT_BOTTOM",
+            "ALIGNMENT_LEFT"
           ],
           "enumDescriptions": [
             "",
@@ -11924,8 +12151,8 @@
           "enum": [
             "ARTWORK_TYPE_FLASH",
             "ARTWORK_TYPE_HTML5",
-            "ARTWORK_TYPE_IMAGE",
-            "ARTWORK_TYPE_MIXED"
+            "ARTWORK_TYPE_MIXED",
+            "ARTWORK_TYPE_IMAGE"
           ],
           "enumDescriptions": [
             "",
@@ -11961,10 +12188,10 @@
         "childAssetType": {
           "description": "Rich media child asset type. This is a read-only field. Applicable to the following creative types: all VPAID.",
           "enum": [
-            "CHILD_ASSET_TYPE_DATA",
             "CHILD_ASSET_TYPE_FLASH",
+            "CHILD_ASSET_TYPE_VIDEO",
             "CHILD_ASSET_TYPE_IMAGE",
-            "CHILD_ASSET_TYPE_VIDEO"
+            "CHILD_ASSET_TYPE_DATA"
           ],
           "enumDescriptions": [
             "",
@@ -11993,74 +12220,142 @@
         },
         "detectedFeatures": {
           "description": "List of feature dependencies for the creative asset that are detected by Campaign Manager. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field. Applicable to the following creative types: HTML5_BANNER. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.",
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+          ],
           "items": {
             "enum": [
-              "APPLICATION_CACHE",
-              "AUDIO",
-              "CANVAS",
-              "CANVAS_TEXT",
-              "CSS_ANIMATIONS",
+              "CSS_FONT_FACE",
               "CSS_BACKGROUND_SIZE",
               "CSS_BORDER_IMAGE",
               "CSS_BORDER_RADIUS",
               "CSS_BOX_SHADOW",
-              "CSS_COLUMNS",
               "CSS_FLEX_BOX",
-              "CSS_FONT_FACE",
-              "CSS_GENERATED_CONTENT",
-              "CSS_GRADIENTS",
               "CSS_HSLA",
               "CSS_MULTIPLE_BGS",
               "CSS_OPACITY",
-              "CSS_REFLECTIONS",
               "CSS_RGBA",
               "CSS_TEXT_SHADOW",
+              "CSS_ANIMATIONS",
+              "CSS_COLUMNS",
+              "CSS_GENERATED_CONTENT",
+              "CSS_GRADIENTS",
+              "CSS_REFLECTIONS",
               "CSS_TRANSFORMS",
               "CSS_TRANSFORMS3D",
               "CSS_TRANSITIONS",
+              "APPLICATION_CACHE",
+              "CANVAS",
+              "CANVAS_TEXT",
               "DRAG_AND_DROP",
-              "GEO_LOCATION",
               "HASH_CHANGE",
               "HISTORY",
+              "AUDIO",
+              "VIDEO",
               "INDEXED_DB",
-              "INLINE_SVG",
               "INPUT_ATTR_AUTOCOMPLETE",
               "INPUT_ATTR_AUTOFOCUS",
               "INPUT_ATTR_LIST",
+              "INPUT_ATTR_PLACEHOLDER",
               "INPUT_ATTR_MAX",
               "INPUT_ATTR_MIN",
               "INPUT_ATTR_MULTIPLE",
               "INPUT_ATTR_PATTERN",
-              "INPUT_ATTR_PLACEHOLDER",
               "INPUT_ATTR_REQUIRED",
               "INPUT_ATTR_STEP",
-              "INPUT_TYPE_COLOR",
-              "INPUT_TYPE_DATE",
-              "INPUT_TYPE_DATETIME",
-              "INPUT_TYPE_DATETIME_LOCAL",
-              "INPUT_TYPE_EMAIL",
-              "INPUT_TYPE_MONTH",
-              "INPUT_TYPE_NUMBER",
-              "INPUT_TYPE_RANGE",
               "INPUT_TYPE_SEARCH",
               "INPUT_TYPE_TEL",
-              "INPUT_TYPE_TIME",
               "INPUT_TYPE_URL",
+              "INPUT_TYPE_EMAIL",
+              "INPUT_TYPE_DATETIME",
+              "INPUT_TYPE_DATE",
+              "INPUT_TYPE_MONTH",
               "INPUT_TYPE_WEEK",
+              "INPUT_TYPE_TIME",
+              "INPUT_TYPE_DATETIME_LOCAL",
+              "INPUT_TYPE_NUMBER",
+              "INPUT_TYPE_RANGE",
+              "INPUT_TYPE_COLOR",
               "LOCAL_STORAGE",
               "POST_MESSAGE",
               "SESSION_STORAGE",
-              "SMIL",
-              "SVG_CLIP_PATHS",
-              "SVG_FE_IMAGE",
-              "SVG_FILTERS",
-              "SVG_HREF",
-              "TOUCH",
-              "VIDEO",
-              "WEBGL",
               "WEB_SOCKETS",
               "WEB_SQL_DATABASE",
-              "WEB_WORKERS"
+              "WEB_WORKERS",
+              "GEO_LOCATION",
+              "INLINE_SVG",
+              "SMIL",
+              "SVG_HREF",
+              "SVG_CLIP_PATHS",
+              "TOUCH",
+              "WEBGL",
+              "SVG_FILTERS",
+              "SVG_FE_IMAGE"
             ],
             "enumDescriptions": [
               "",
@@ -12137,16 +12432,16 @@
         "displayType": {
           "description": "Type of rich media asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.",
           "enum": [
-            "ASSET_DISPLAY_TYPE_BACKDROP",
+            "ASSET_DISPLAY_TYPE_INPAGE",
+            "ASSET_DISPLAY_TYPE_FLOATING",
+            "ASSET_DISPLAY_TYPE_OVERLAY",
             "ASSET_DISPLAY_TYPE_EXPANDING",
             "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH",
             "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING",
-            "ASSET_DISPLAY_TYPE_FLOATING",
-            "ASSET_DISPLAY_TYPE_INPAGE",
-            "ASSET_DISPLAY_TYPE_OVERLAY",
             "ASSET_DISPLAY_TYPE_PEEL_DOWN",
             "ASSET_DISPLAY_TYPE_VPAID_LINEAR",
-            "ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR"
+            "ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR",
+            "ASSET_DISPLAY_TYPE_BACKDROP"
           ],
           "enumDescriptions": [
             "",
@@ -12171,8 +12466,8 @@
           "description": "Duration type for which an asset will be displayed. Applicable to the following creative types: all RICH_MEDIA.",
           "enum": [
             "ASSET_DURATION_TYPE_AUTO",
-            "ASSET_DURATION_TYPE_CUSTOM",
-            "ASSET_DURATION_TYPE_NONE"
+            "ASSET_DURATION_TYPE_NONE",
+            "ASSET_DURATION_TYPE_CUSTOM"
           ],
           "enumDescriptions": [
             "",
@@ -12263,8 +12558,8 @@
         "positionLeftUnit": {
           "description": "Offset left unit for an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.",
           "enum": [
-            "OFFSET_UNIT_PERCENT",
             "OFFSET_UNIT_PIXEL",
+            "OFFSET_UNIT_PERCENT",
             "OFFSET_UNIT_PIXEL_FROM_CENTER"
           ],
           "enumDescriptions": [
@@ -12277,8 +12572,8 @@
         "positionTopUnit": {
           "description": "Offset top unit for an asset. This is a read-only field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following creative types: all RICH_MEDIA.",
           "enum": [
-            "OFFSET_UNIT_PERCENT",
             "OFFSET_UNIT_PIXEL",
+            "OFFSET_UNIT_PERCENT",
             "OFFSET_UNIT_PIXEL_FROM_CENTER"
           ],
           "enumDescriptions": [
@@ -12302,18 +12597,18 @@
           "type": "number"
         },
         "role": {
-          "description": "Role of the asset in relation to creative. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT. This is a required field.\nPRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple primary assets), and all VPAID creatives.\nBACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.\nADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives.\nOTHER refers to assets from sources other than Campaign Manager, such as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID creatives.\nPARENT_VIDEO refers to videos uploaded by the user in Campaign Manager and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives.\nTRANSCODED_VIDEO refers to videos transcoded by Campaign Manager from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives.\nALTERNATE_VIDEO refers to the Campaign Manager representation of child asset videos from Studio, and is applicable to VPAID_LINEAR_VIDEO creatives. These cannot be added or removed within Campaign Manager.\nFor VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked active serve as backup in case the VPAID creative cannot be served. Only PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO creative.\nPARENT_AUDIO refers to audios uploaded by the user in Campaign Manager and is applicable to INSTREAM_AUDIO creatives.\nTRANSCODED_AUDIO refers to audios transcoded by Campaign Manager from PARENT_AUDIO assets and is applicable to INSTREAM_AUDIO creatives.",
+          "description": "Role of the asset in relation to creative. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT. This is a required field. PRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple primary assets), and all VPAID creatives. BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives. Applicable to DISPLAY when the primary asset type is not HTML_IMAGE. ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives. OTHER refers to assets from sources other than Campaign Manager, such as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID creatives. PARENT_VIDEO refers to videos uploaded by the user in Campaign Manager and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives. TRANSCODED_VIDEO refers to videos transcoded by Campaign Manager from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives. ALTERNATE_VIDEO refers to the Campaign Manager representation of child asset videos from Studio, and is applicable to VPAID_LINEAR_VIDEO creatives. These cannot be added or removed within Campaign Manager. For VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked active serve as backup in case the VPAID creative cannot be served. Only PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO creative. PARENT_AUDIO refers to audios uploaded by the user in Campaign Manager and is applicable to INSTREAM_AUDIO creatives. TRANSCODED_AUDIO refers to audios transcoded by Campaign Manager from PARENT_AUDIO assets and is applicable to INSTREAM_AUDIO creatives. ",
           "enum": [
-            "ADDITIONAL_FLASH",
-            "ADDITIONAL_IMAGE",
-            "ALTERNATE_VIDEO",
-            "BACKUP_IMAGE",
-            "OTHER",
-            "PARENT_AUDIO",
-            "PARENT_VIDEO",
             "PRIMARY",
-            "TRANSCODED_AUDIO",
-            "TRANSCODED_VIDEO"
+            "BACKUP_IMAGE",
+            "ADDITIONAL_IMAGE",
+            "ADDITIONAL_FLASH",
+            "PARENT_VIDEO",
+            "TRANSCODED_VIDEO",
+            "OTHER",
+            "ALTERNATE_VIDEO",
+            "PARENT_AUDIO",
+            "TRANSCODED_AUDIO"
           ],
           "enumDescriptions": [
             "",
@@ -12340,8 +12635,8 @@
         "startTimeType": {
           "description": "Initial wait time type before making the asset visible. Applicable to the following creative types: all RICH_MEDIA.",
           "enum": [
-            "ASSET_START_TIME_TYPE_CUSTOM",
-            "ASSET_START_TIME_TYPE_NONE"
+            "ASSET_START_TIME_TYPE_NONE",
+            "ASSET_START_TIME_TYPE_CUSTOM"
           ],
           "enumDescriptions": [
             "",
@@ -12365,8 +12660,8 @@
           "description": "Window mode options for flash assets. Applicable to the following creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING, RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and RICH_MEDIA_INPAGE_FLOATING.",
           "enum": [
             "OPAQUE",
-            "TRANSPARENT",
-            "WINDOW"
+            "WINDOW",
+            "TRANSPARENT"
           ],
           "enumDescriptions": [
             "",
@@ -12402,12 +12697,12 @@
         "type": {
           "description": "Type of asset to upload. This is a required field. FLASH and IMAGE are no longer supported for new uploads. All image assets should use HTML_IMAGE.",
           "enum": [
-            "AUDIO",
+            "IMAGE",
             "FLASH",
+            "VIDEO",
             "HTML",
             "HTML_IMAGE",
-            "IMAGE",
-            "VIDEO"
+            "AUDIO"
           ],
           "enumDescriptions": [
             "",
@@ -12439,74 +12734,142 @@
         },
         "detectedFeatures": {
           "description": "List of feature dependencies for the creative asset that are detected by Campaign Manager. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field.",
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+          ],
           "items": {
             "enum": [
-              "APPLICATION_CACHE",
-              "AUDIO",
-              "CANVAS",
-              "CANVAS_TEXT",
-              "CSS_ANIMATIONS",
+              "CSS_FONT_FACE",
               "CSS_BACKGROUND_SIZE",
               "CSS_BORDER_IMAGE",
               "CSS_BORDER_RADIUS",
               "CSS_BOX_SHADOW",
-              "CSS_COLUMNS",
               "CSS_FLEX_BOX",
-              "CSS_FONT_FACE",
-              "CSS_GENERATED_CONTENT",
-              "CSS_GRADIENTS",
               "CSS_HSLA",
               "CSS_MULTIPLE_BGS",
               "CSS_OPACITY",
-              "CSS_REFLECTIONS",
               "CSS_RGBA",
               "CSS_TEXT_SHADOW",
+              "CSS_ANIMATIONS",
+              "CSS_COLUMNS",
+              "CSS_GENERATED_CONTENT",
+              "CSS_GRADIENTS",
+              "CSS_REFLECTIONS",
               "CSS_TRANSFORMS",
               "CSS_TRANSFORMS3D",
               "CSS_TRANSITIONS",
+              "APPLICATION_CACHE",
+              "CANVAS",
+              "CANVAS_TEXT",
               "DRAG_AND_DROP",
-              "GEO_LOCATION",
               "HASH_CHANGE",
               "HISTORY",
+              "AUDIO",
+              "VIDEO",
               "INDEXED_DB",
-              "INLINE_SVG",
               "INPUT_ATTR_AUTOCOMPLETE",
               "INPUT_ATTR_AUTOFOCUS",
               "INPUT_ATTR_LIST",
+              "INPUT_ATTR_PLACEHOLDER",
               "INPUT_ATTR_MAX",
               "INPUT_ATTR_MIN",
               "INPUT_ATTR_MULTIPLE",
               "INPUT_ATTR_PATTERN",
-              "INPUT_ATTR_PLACEHOLDER",
               "INPUT_ATTR_REQUIRED",
               "INPUT_ATTR_STEP",
-              "INPUT_TYPE_COLOR",
-              "INPUT_TYPE_DATE",
-              "INPUT_TYPE_DATETIME",
-              "INPUT_TYPE_DATETIME_LOCAL",
-              "INPUT_TYPE_EMAIL",
-              "INPUT_TYPE_MONTH",
-              "INPUT_TYPE_NUMBER",
-              "INPUT_TYPE_RANGE",
               "INPUT_TYPE_SEARCH",
               "INPUT_TYPE_TEL",
-              "INPUT_TYPE_TIME",
               "INPUT_TYPE_URL",
+              "INPUT_TYPE_EMAIL",
+              "INPUT_TYPE_DATETIME",
+              "INPUT_TYPE_DATE",
+              "INPUT_TYPE_MONTH",
               "INPUT_TYPE_WEEK",
+              "INPUT_TYPE_TIME",
+              "INPUT_TYPE_DATETIME_LOCAL",
+              "INPUT_TYPE_NUMBER",
+              "INPUT_TYPE_RANGE",
+              "INPUT_TYPE_COLOR",
               "LOCAL_STORAGE",
               "POST_MESSAGE",
               "SESSION_STORAGE",
-              "SMIL",
-              "SVG_CLIP_PATHS",
-              "SVG_FE_IMAGE",
-              "SVG_FILTERS",
-              "SVG_HREF",
-              "TOUCH",
-              "VIDEO",
-              "WEBGL",
               "WEB_SOCKETS",
               "WEB_SQL_DATABASE",
-              "WEB_WORKERS"
+              "WEB_WORKERS",
+              "GEO_LOCATION",
+              "INLINE_SVG",
+              "SMIL",
+              "SVG_HREF",
+              "SVG_CLIP_PATHS",
+              "TOUCH",
+              "WEBGL",
+              "SVG_FILTERS",
+              "SVG_FE_IMAGE"
             ],
             "enumDescriptions": [
               "",
@@ -12590,38 +12953,63 @@
           "description": "Dimension value for the numeric ID of the asset. This is a read-only, auto-generated field."
         },
         "kind": {
-          "default": "dfareporting#creativeAssetMetadata",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeAssetMetadata\".",
           "type": "string"
         },
         "warnedValidationRules": {
-          "description": "Rules validated during code generation that generated a warning. This is a read-only, auto-generated field.\n\nPossible values are:\n- \"ADMOB_REFERENCED\"\n- \"ASSET_FORMAT_UNSUPPORTED_DCM\"\n- \"ASSET_INVALID\"\n- \"CLICK_TAG_HARD_CODED\"\n- \"CLICK_TAG_INVALID\"\n- \"CLICK_TAG_IN_GWD\"\n- \"CLICK_TAG_MISSING\"\n- \"CLICK_TAG_MORE_THAN_ONE\"\n- \"CLICK_TAG_NON_TOP_LEVEL\"\n- \"COMPONENT_UNSUPPORTED_DCM\"\n- \"ENABLER_UNSUPPORTED_METHOD_DCM\"\n- \"EXTERNAL_FILE_REFERENCED\"\n- \"FILE_DETAIL_EMPTY\"\n- \"FILE_TYPE_INVALID\"\n- \"GWD_PROPERTIES_INVALID\"\n- \"HTML5_FEATURE_UNSUPPORTED\"\n- \"LINKED_FILE_NOT_FOUND\"\n- \"MAX_FLASH_VERSION_11\"\n- \"MRAID_REFERENCED\"\n- \"NOT_SSL_COMPLIANT\"\n- \"ORPHANED_ASSET\"\n- \"PRIMARY_HTML_MISSING\"\n- \"SVG_INVALID\"\n- \"ZIP_INVALID\"",
+          "description": "Rules validated during code generation that generated a warning. This is a read-only, auto-generated field. Possible values are: - \"ADMOB_REFERENCED\" - \"ASSET_FORMAT_UNSUPPORTED_DCM\" - \"ASSET_INVALID\" - \"CLICK_TAG_HARD_CODED\" - \"CLICK_TAG_INVALID\" - \"CLICK_TAG_IN_GWD\" - \"CLICK_TAG_MISSING\" - \"CLICK_TAG_MORE_THAN_ONE\" - \"CLICK_TAG_NON_TOP_LEVEL\" - \"COMPONENT_UNSUPPORTED_DCM\" - \"ENABLER_UNSUPPORTED_METHOD_DCM\" - \"EXTERNAL_FILE_REFERENCED\" - \"FILE_DETAIL_EMPTY\" - \"FILE_TYPE_INVALID\" - \"GWD_PROPERTIES_INVALID\" - \"HTML5_FEATURE_UNSUPPORTED\" - \"LINKED_FILE_NOT_FOUND\" - \"MAX_FLASH_VERSION_11\" - \"MRAID_REFERENCED\" - \"NOT_SSL_COMPLIANT\" - \"ORPHANED_ASSET\" - \"PRIMARY_HTML_MISSING\" - \"SVG_INVALID\" - \"ZIP_INVALID\" ",
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+          ],
           "items": {
             "enum": [
-              "ADMOB_REFERENCED",
-              "ASSET_FORMAT_UNSUPPORTED_DCM",
-              "ASSET_INVALID",
-              "CLICK_TAG_HARD_CODED",
-              "CLICK_TAG_INVALID",
-              "CLICK_TAG_IN_GWD",
+              "CLICK_TAG_NON_TOP_LEVEL",
               "CLICK_TAG_MISSING",
               "CLICK_TAG_MORE_THAN_ONE",
-              "CLICK_TAG_NON_TOP_LEVEL",
-              "COMPONENT_UNSUPPORTED_DCM",
-              "ENABLER_UNSUPPORTED_METHOD_DCM",
-              "EXTERNAL_FILE_REFERENCED",
-              "FILE_DETAIL_EMPTY",
-              "FILE_TYPE_INVALID",
-              "GWD_PROPERTIES_INVALID",
-              "HTML5_FEATURE_UNSUPPORTED",
-              "LINKED_FILE_NOT_FOUND",
-              "MAX_FLASH_VERSION_11",
-              "MRAID_REFERENCED",
-              "NOT_SSL_COMPLIANT",
+              "CLICK_TAG_INVALID",
               "ORPHANED_ASSET",
               "PRIMARY_HTML_MISSING",
-              "SVG_INVALID",
-              "ZIP_INVALID"
+              "EXTERNAL_FILE_REFERENCED",
+              "MRAID_REFERENCED",
+              "ADMOB_REFERENCED",
+              "FILE_TYPE_INVALID",
+              "ZIP_INVALID",
+              "LINKED_FILE_NOT_FOUND",
+              "MAX_FLASH_VERSION_11",
+              "NOT_SSL_COMPLIANT",
+              "FILE_DETAIL_EMPTY",
+              "ASSET_INVALID",
+              "GWD_PROPERTIES_INVALID",
+              "ENABLER_UNSUPPORTED_METHOD_DCM",
+              "ASSET_FORMAT_UNSUPPORTED_DCM",
+              "COMPONENT_UNSUPPORTED_DCM",
+              "HTML5_FEATURE_UNSUPPORTED",
+              "CLICK_TAG_IN_GWD",
+              "CLICK_TAG_HARD_CODED",
+              "SVG_INVALID"
             ],
             "enumDescriptions": [
               "",
@@ -12715,12 +13103,11 @@
           "description": "Dimension value for the ID of the creative. This is a read-only, auto-generated field."
         },
         "endTime": {
-          "description": "Date and time that the assigned creative should stop serving. Must be later than the start time.",
           "format": "date-time",
           "type": "string"
         },
         "richMediaExitOverrides": {
-          "description": "Rich media exit overrides for this creative assignment.\nApplicable when the creative type is any of the following: \n- DISPLAY\n- RICH_MEDIA_INPAGE\n- RICH_MEDIA_INPAGE_FLOATING\n- RICH_MEDIA_IM_EXPAND\n- RICH_MEDIA_EXPANDING\n- RICH_MEDIA_INTERSTITIAL_FLOAT\n- RICH_MEDIA_MOBILE_IN_APP\n- RICH_MEDIA_MULTI_FLOATING\n- RICH_MEDIA_PEEL_DOWN\n- VPAID_LINEAR\n- VPAID_NON_LINEAR",
+          "description": "Rich media exit overrides for this creative assignment. Applicable when the creative type is any of the following: - DISPLAY - RICH_MEDIA_INPAGE - RICH_MEDIA_INPAGE_FLOATING - RICH_MEDIA_IM_EXPAND - RICH_MEDIA_EXPANDING - RICH_MEDIA_INTERSTITIAL_FLOAT - RICH_MEDIA_MOBILE_IN_APP - RICH_MEDIA_MULTI_FLOATING - RICH_MEDIA_PEEL_DOWN - VPAID_LINEAR - VPAID_NON_LINEAR ",
           "items": {
             "$ref": "RichMediaExitOverride"
           },
@@ -12736,7 +13123,6 @@
           "type": "boolean"
         },
         "startTime": {
-          "description": "Date and time that the assigned creative should start serving.",
           "format": "date-time",
           "type": "string"
         },
@@ -12753,7 +13139,7 @@
       "id": "CreativeClickThroughUrl",
       "properties": {
         "computedClickThroughUrl": {
-          "description": "Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows: \n- If landingPageId is specified then that landing page's URL is assigned to this field.\n- Otherwise, the customClickThroughUrl is assigned to this field.",
+          "description": "Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows: - If landingPageId is specified then that landing page's URL is assigned to this field. - Otherwise, the customClickThroughUrl is assigned to this field. ",
           "type": "string"
         },
         "customClickThroughUrl": {
@@ -12784,9 +13170,9 @@
         "advertiserCustomEventType": {
           "description": "Type of the event. This is a read-only field.",
           "enum": [
-            "ADVERTISER_EVENT_COUNTER",
+            "ADVERTISER_EVENT_TIMER",
             "ADVERTISER_EVENT_EXIT",
-            "ADVERTISER_EVENT_TIMER"
+            "ADVERTISER_EVENT_COUNTER"
           ],
           "enumDescriptions": [
             "",
@@ -12804,8 +13190,8 @@
           "enum": [
             "ARTWORK_TYPE_FLASH",
             "ARTWORK_TYPE_HTML5",
-            "ARTWORK_TYPE_IMAGE",
-            "ARTWORK_TYPE_MIXED"
+            "ARTWORK_TYPE_MIXED",
+            "ARTWORK_TYPE_IMAGE"
           ],
           "enumDescriptions": [
             "",
@@ -12832,10 +13218,10 @@
           "description": "Target type used by the event.",
           "enum": [
             "TARGET_BLANK",
-            "TARGET_PARENT",
-            "TARGET_POPUP",
+            "TARGET_TOP",
             "TARGET_SELF",
-            "TARGET_TOP"
+            "TARGET_PARENT",
+            "TARGET_POPUP"
           ],
           "enumDescriptions": [
             "",
@@ -12877,7 +13263,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#creativeField",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeField\".",
           "type": "string"
         },
@@ -12920,7 +13305,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#creativeFieldValue",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeFieldValue\".",
           "type": "string"
         },
@@ -12943,7 +13327,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#creativeFieldValuesListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeFieldValuesListResponse\".",
           "type": "string"
         },
@@ -12966,7 +13349,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#creativeFieldsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeFieldsListResponse\".",
           "type": "string"
         },
@@ -13006,7 +13388,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#creativeGroup",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeGroup\".",
           "type": "string"
         },
@@ -13058,7 +13439,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#creativeGroupsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeGroupsListResponse\".",
           "type": "string"
         },
@@ -13094,8 +13474,8 @@
           "enum": [
             "CLICK",
             "POST_CLICK",
-            "POST_CLICK_AND_IMPRESSION",
             "POST_IMPRESSION",
+            "POST_CLICK_AND_IMPRESSION",
             "VIDEO_COMPLETION"
           ],
           "enumDescriptions": [
@@ -13129,8 +13509,8 @@
         "type": {
           "description": "Type of creative rotation. Can be used to specify whether to use sequential or random rotation.",
           "enum": [
-            "CREATIVE_ROTATION_TYPE_RANDOM",
-            "CREATIVE_ROTATION_TYPE_SEQUENTIAL"
+            "CREATIVE_ROTATION_TYPE_SEQUENTIAL",
+            "CREATIVE_ROTATION_TYPE_RANDOM"
           ],
           "enumDescriptions": [
             "",
@@ -13141,8 +13521,8 @@
         "weightCalculationStrategy": {
           "description": "Strategy for calculating weights. Used with CREATIVE_ROTATION_TYPE_RANDOM.",
           "enum": [
-            "WEIGHT_STRATEGY_CUSTOM",
             "WEIGHT_STRATEGY_EQUAL",
+            "WEIGHT_STRATEGY_CUSTOM",
             "WEIGHT_STRATEGY_HIGHEST_CTR",
             "WEIGHT_STRATEGY_OPTIMIZED"
           ],
@@ -13169,7 +13549,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#creativesListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativesListResponse\".",
           "type": "string"
         },
@@ -13199,7 +13578,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#crossDimensionReachReportCompatibleFields",
           "description": "The kind of resource this is, in this case dfareporting#crossDimensionReachReportCompatibleFields.",
           "type": "string"
         },
@@ -13225,7 +13603,6 @@
       "id": "CustomFloodlightVariable",
       "properties": {
         "kind": {
-          "default": "dfareporting#customFloodlightVariable",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#customFloodlightVariable\".",
           "type": "string"
         },
@@ -13233,8 +13610,15 @@
           "description": "The type of custom floodlight variable to supply a value for. These map to the \"u[1-20]=\" in the tags.",
           "enum": [
             "U1",
+            "U2",
+            "U3",
+            "U4",
+            "U5",
+            "U6",
+            "U7",
+            "U8",
+            "U9",
             "U10",
-            "U100",
             "U11",
             "U12",
             "U13",
@@ -13244,7 +13628,6 @@
             "U17",
             "U18",
             "U19",
-            "U2",
             "U20",
             "U21",
             "U22",
@@ -13255,7 +13638,6 @@
             "U27",
             "U28",
             "U29",
-            "U3",
             "U30",
             "U31",
             "U32",
@@ -13266,7 +13648,6 @@
             "U37",
             "U38",
             "U39",
-            "U4",
             "U40",
             "U41",
             "U42",
@@ -13277,7 +13658,6 @@
             "U47",
             "U48",
             "U49",
-            "U5",
             "U50",
             "U51",
             "U52",
@@ -13288,7 +13668,6 @@
             "U57",
             "U58",
             "U59",
-            "U6",
             "U60",
             "U61",
             "U62",
@@ -13299,7 +13678,6 @@
             "U67",
             "U68",
             "U69",
-            "U7",
             "U70",
             "U71",
             "U72",
@@ -13310,7 +13688,6 @@
             "U77",
             "U78",
             "U79",
-            "U8",
             "U80",
             "U81",
             "U82",
@@ -13321,7 +13698,6 @@
             "U87",
             "U88",
             "U89",
-            "U9",
             "U90",
             "U91",
             "U92",
@@ -13331,7 +13707,8 @@
             "U96",
             "U97",
             "U98",
-            "U99"
+            "U99",
+            "U100"
           ],
           "enumDescriptions": [
             "",
@@ -13456,7 +13833,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#customRichMediaEvents",
           "description": "The kind of resource this is, in this case dfareporting#customRichMediaEvents.",
           "type": "string"
         }
@@ -13514,35 +13890,33 @@
       "id": "DateRange",
       "properties": {
         "endDate": {
-          "description": "The end date of the date range, inclusive. A string of the format: \"yyyy-MM-dd\".",
           "format": "date",
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#dateRange",
           "description": "The kind of resource this is, in this case dfareporting#dateRange.",
           "type": "string"
         },
         "relativeDateRange": {
           "description": "The date range relative to the date of when the report is run.",
           "enum": [
-            "LAST_14_DAYS",
-            "LAST_24_MONTHS",
-            "LAST_30_DAYS",
-            "LAST_365_DAYS",
-            "LAST_60_DAYS",
-            "LAST_7_DAYS",
-            "LAST_90_DAYS",
+            "TODAY",
+            "YESTERDAY",
+            "WEEK_TO_DATE",
             "MONTH_TO_DATE",
+            "QUARTER_TO_DATE",
+            "YEAR_TO_DATE",
+            "PREVIOUS_WEEK",
             "PREVIOUS_MONTH",
             "PREVIOUS_QUARTER",
-            "PREVIOUS_WEEK",
             "PREVIOUS_YEAR",
-            "QUARTER_TO_DATE",
-            "TODAY",
-            "WEEK_TO_DATE",
-            "YEAR_TO_DATE",
-            "YESTERDAY"
+            "LAST_7_DAYS",
+            "LAST_30_DAYS",
+            "LAST_90_DAYS",
+            "LAST_365_DAYS",
+            "LAST_24_MONTHS",
+            "LAST_14_DAYS",
+            "LAST_60_DAYS"
           ],
           "enumDescriptions": [
             "",
@@ -13566,7 +13940,6 @@
           "type": "string"
         },
         "startDate": {
-          "description": "The start date of the date range, inclusive. A string of the format: \"yyyy-MM-dd\".",
           "format": "date",
           "type": "string"
         }
@@ -13578,16 +13951,25 @@
       "id": "DayPartTargeting",
       "properties": {
         "daysOfWeek": {
-          "description": "Days of the week when the ad will serve.\n\nAcceptable values are:\n- \"SUNDAY\"\n- \"MONDAY\"\n- \"TUESDAY\"\n- \"WEDNESDAY\"\n- \"THURSDAY\"\n- \"FRIDAY\"\n- \"SATURDAY\"",
+          "description": "Days of the week when the ad will serve. Acceptable values are: - \"SUNDAY\" - \"MONDAY\" - \"TUESDAY\" - \"WEDNESDAY\" - \"THURSDAY\" - \"FRIDAY\" - \"SATURDAY\" ",
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+          ],
           "items": {
             "enum": [
-              "FRIDAY",
               "MONDAY",
-              "SATURDAY",
-              "SUNDAY",
-              "THURSDAY",
               "TUESDAY",
-              "WEDNESDAY"
+              "WEDNESDAY",
+              "THURSDAY",
+              "FRIDAY",
+              "SATURDAY",
+              "SUNDAY"
             ],
             "enumDescriptions": [
               "",
@@ -13630,7 +14012,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#deepLink",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#deepLink\".",
           "type": "string"
         },
@@ -13757,7 +14138,6 @@
       "id": "Dimension",
       "properties": {
         "kind": {
-          "default": "dfareporting#dimension",
           "description": "The kind of resource this is, in this case dfareporting#dimension.",
           "type": "string"
         },
@@ -13777,7 +14157,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#dimensionFilter",
           "description": "The kind of resource this is, in this case dfareporting#dimensionFilter.",
           "type": "string"
         },
@@ -13805,16 +14184,15 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#dimensionValue",
           "description": "The kind of resource this is, in this case dfareporting#dimensionValue.",
           "type": "string"
         },
         "matchType": {
           "description": "Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.",
           "enum": [
+            "EXACT",
             "BEGINS_WITH",
             "CONTAINS",
-            "EXACT",
             "WILDCARD_EXPRESSION"
           ],
           "enumDescriptions": [
@@ -13848,7 +14226,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#dimensionValueList",
           "description": "The kind of list this is, in this case dfareporting#dimensionValueList.",
           "type": "string"
         },
@@ -13873,12 +14250,6 @@
           "type": "string"
         },
         "endDate": {
-          "annotations": {
-            "required": [
-              "dfareporting.dimensionValues.query"
-            ]
-          },
-          "description": "The end date of the date range for which to retrieve dimension values. A string of the format \"yyyy-MM-dd\".",
           "format": "date",
           "type": "string"
         },
@@ -13890,17 +14261,10 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#dimensionValueRequest",
-          "description": "The kind of request this is, in this case dfareporting#dimensionValueRequest.",
+          "description": "The kind of request this is, in this case dfareporting#dimensionValueRequest .",
           "type": "string"
         },
         "startDate": {
-          "annotations": {
-            "required": [
-              "dfareporting.dimensionValues.query"
-            ]
-          },
-          "description": "The start date of the date range for which to retrieve dimension values. A string of the format \"yyyy-MM-dd\".",
           "format": "date",
           "type": "string"
         }
@@ -13925,13 +14289,19 @@
           "description": "Dimension value for the ID of this directory site. This is a read-only, auto-generated field."
         },
         "inpageTagFormats": {
-          "description": "Tag types for regular placements.\n\nAcceptable values are:\n- \"STANDARD\"\n- \"IFRAME_JAVASCRIPT_INPAGE\"\n- \"INTERNAL_REDIRECT_INPAGE\"\n- \"JAVASCRIPT_INPAGE\"",
+          "description": "Tag types for regular placements. Acceptable values are: - \"STANDARD\" - \"IFRAME_JAVASCRIPT_INPAGE\" - \"INTERNAL_REDIRECT_INPAGE\" - \"JAVASCRIPT_INPAGE\" ",
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            ""
+          ],
           "items": {
             "enum": [
+              "STANDARD",
               "IFRAME_JAVASCRIPT_INPAGE",
               "INTERNAL_REDIRECT_INPAGE",
-              "JAVASCRIPT_INPAGE",
-              "STANDARD"
+              "JAVASCRIPT_INPAGE"
             ],
             "enumDescriptions": [
               "",
@@ -13944,7 +14314,12 @@
           "type": "array"
         },
         "interstitialTagFormats": {
-          "description": "Tag types for interstitial placements.\n\nAcceptable values are:\n- \"IFRAME_JAVASCRIPT_INTERSTITIAL\"\n- \"INTERNAL_REDIRECT_INTERSTITIAL\"\n- \"JAVASCRIPT_INTERSTITIAL\"",
+          "description": "Tag types for interstitial placements. Acceptable values are: - \"IFRAME_JAVASCRIPT_INTERSTITIAL\" - \"INTERNAL_REDIRECT_INTERSTITIAL\" - \"JAVASCRIPT_INTERSTITIAL\" ",
+          "enumDescriptions": [
+            "",
+            "",
+            ""
+          ],
           "items": {
             "enum": [
               "IFRAME_JAVASCRIPT_INTERSTITIAL",
@@ -13961,7 +14336,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#directorySite",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#directorySite\".",
           "type": "string"
         },
@@ -14015,7 +14389,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#directorySitesListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#directorySitesListResponse\".",
           "type": "string"
         },
@@ -14031,7 +14404,6 @@
       "id": "DynamicTargetingKey",
       "properties": {
         "kind": {
-          "default": "dfareporting#dynamicTargetingKey",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#dynamicTargetingKey\".",
           "type": "string"
         },
@@ -14047,8 +14419,8 @@
         "objectType": {
           "description": "Type of the object of this dynamic targeting key. This is a required field.",
           "enum": [
-            "OBJECT_AD",
             "OBJECT_ADVERTISER",
+            "OBJECT_AD",
             "OBJECT_CREATIVE",
             "OBJECT_PLACEMENT"
           ],
@@ -14075,7 +14447,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#dynamicTargetingKeysListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#dynamicTargetingKeysListResponse\".",
           "type": "string"
         }
@@ -14094,13 +14465,13 @@
         "encryptionEntityType": {
           "description": "The encryption entity type. This should match the encryption configuration for ad serving or Data Transfer.",
           "enum": [
-            "ADWORDS_CUSTOMER",
-            "DBM_ADVERTISER",
-            "DBM_PARTNER",
+            "ENCRYPTION_ENTITY_TYPE_UNKNOWN",
             "DCM_ACCOUNT",
             "DCM_ADVERTISER",
-            "DFP_NETWORK_CODE",
-            "ENCRYPTION_ENTITY_TYPE_UNKNOWN"
+            "DBM_PARTNER",
+            "DBM_ADVERTISER",
+            "ADWORDS_CUSTOMER",
+            "DFP_NETWORK_CODE"
           ],
           "enumDescriptions": [
             "",
@@ -14116,9 +14487,9 @@
         "encryptionSource": {
           "description": "Describes whether the encrypted cookie was received from ad serving (the %m macro) or from Data Transfer.",
           "enum": [
+            "ENCRYPTION_SCOPE_UNKNOWN",
             "AD_SERVING",
-            "DATA_TRANSFER",
-            "ENCRYPTION_SCOPE_UNKNOWN"
+            "DATA_TRANSFER"
           ],
           "enumDescriptions": [
             "",
@@ -14128,7 +14499,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#encryptionInfo",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#encryptionInfo\".",
           "type": "string"
         }
@@ -14176,7 +14546,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#eventTag",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#eventTag\".",
           "type": "string"
         },
@@ -14187,8 +14556,8 @@
         "siteFilterType": {
           "description": "Site filter type for this event tag. If no type is specified then the event tag will be applied to all sites.",
           "enum": [
-            "BLACKLIST",
-            "WHITELIST"
+            "WHITELIST",
+            "BLACKLIST"
           ],
           "enumDescriptions": [
             "",
@@ -14197,7 +14566,7 @@
           "type": "string"
         },
         "siteIds": {
-          "description": "Filter list of site IDs associated with this event tag. The siteFilterType determines whether this is a whitelist or blacklist filter.",
+          "description": "Filter list of site IDs associated with this event tag. The siteFilterType determines whether this is a allowlist or blocklist filter.",
           "items": {
             "format": "int64",
             "type": "string"
@@ -14211,8 +14580,8 @@
         "status": {
           "description": "Status of this event tag. Must be ENABLED for this event tag to fire. This is a required field.",
           "enum": [
-            "DISABLED",
-            "ENABLED"
+            "ENABLED",
+            "DISABLED"
           ],
           "enumDescriptions": [
             "",
@@ -14228,9 +14597,9 @@
         "type": {
           "description": "Event tag type. Can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. This is a required field.",
           "enum": [
-            "CLICK_THROUGH_EVENT_TAG",
             "IMPRESSION_IMAGE_EVENT_TAG",
-            "IMPRESSION_JAVASCRIPT_EVENT_TAG"
+            "IMPRESSION_JAVASCRIPT_EVENT_TAG",
+            "CLICK_THROUGH_EVENT_TAG"
           ],
           "enumDescriptions": [
             "",
@@ -14279,7 +14648,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#eventTagsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#eventTagsListResponse\".",
           "type": "string"
         }
@@ -14320,7 +14688,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#file",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#file\".",
           "type": "string"
         },
@@ -14329,6 +14696,12 @@
           "format": "int64",
           "type": "string"
         },
+        "mediaRequestInfo": {
+          "$ref": "MediaRequestInfo"
+        },
+        "mediaResponseInfo": {
+          "$ref": "MediaResponseInfo"
+        },
         "reportId": {
           "description": "The ID of the report this file was generated from.",
           "format": "int64",
@@ -14337,10 +14710,10 @@
         "status": {
           "description": "The status of the report file.",
           "enum": [
-            "CANCELLED",
-            "FAILED",
             "PROCESSING",
-            "REPORT_AVAILABLE"
+            "REPORT_AVAILABLE",
+            "FAILED",
+            "CANCELLED"
           ],
           "enumDescriptions": [
             "",
@@ -14383,7 +14756,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#fileList",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#fileList\".",
           "type": "string"
         },
@@ -14399,7 +14771,6 @@
       "id": "Flight",
       "properties": {
         "endDate": {
-          "description": "Inventory item flight end date.",
           "format": "date",
           "type": "string"
         },
@@ -14409,7 +14780,6 @@
           "type": "string"
         },
         "startDate": {
-          "description": "Inventory item flight start date.",
           "format": "date",
           "type": "string"
         },
@@ -14434,7 +14804,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#floodlightActivitiesGenerateTagResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightActivitiesGenerateTagResponse\".",
           "type": "string"
         }
@@ -14453,7 +14822,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#floodlightActivitiesListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightActivitiesListResponse\".",
           "type": "string"
         },
@@ -14485,11 +14853,11 @@
         "cacheBustingType": {
           "description": "Code type used for cache busting in the generated tag. Applicable only when floodlightActivityGroupType is COUNTER and countingMethod is STANDARD_COUNTING or UNIQUE_COUNTING.",
           "enum": [
-            "ACTIVE_SERVER_PAGE",
-            "COLD_FUSION",
             "JAVASCRIPT",
+            "ACTIVE_SERVER_PAGE",
             "JSP",
-            "PHP"
+            "PHP",
+            "COLD_FUSION"
           ],
           "enumDescriptions": [
             "",
@@ -14503,11 +14871,11 @@
         "countingMethod": {
           "description": "Counting method for conversions for this floodlight activity. This is a required field.",
           "enum": [
-            "ITEMS_SOLD_COUNTING",
-            "SESSION_COUNTING",
             "STANDARD_COUNTING",
+            "UNIQUE_COUNTING",
+            "SESSION_COUNTING",
             "TRANSACTIONS_COUNTING",
-            "UNIQUE_COUNTING"
+            "ITEMS_SOLD_COUNTING"
           ],
           "enumDescriptions": [
             "",
@@ -14566,9 +14934,9 @@
         "floodlightTagType": {
           "description": "The type of Floodlight tag this activity will generate. This is a required field.",
           "enum": [
-            "GLOBAL_SITE_TAG",
             "IFRAME",
-            "IMAGE"
+            "IMAGE",
+            "GLOBAL_SITE_TAG"
           ],
           "enumDescriptions": [
             "",
@@ -14591,7 +14959,6 @@
           "description": "Dimension value for the ID of this floodlight activity. This is a read-only, auto-generated field."
         },
         "kind": {
-          "default": "dfareporting#floodlightActivity",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightActivity\".",
           "type": "string"
         },
@@ -14640,16 +15007,125 @@
           "type": "string"
         },
         "tagString": {
-          "description": "Value of the cat= parameter in the floodlight tag, which the ad servers use to identify the activity. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activities of the same activity group. This field is read-only after insertion.",
+          "description": "Value of the cat= parameter in the floodlight tag, which the ad servers use to identify the activity. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being a-z0-9[ _ ]. This tag string must also be unique among activities of the same activity group. This field is read-only after insertion.",
           "type": "string"
         },
         "userDefinedVariableTypes": {
-          "description": "List of the user-defined variables used by this conversion tag. These map to the \"u[1-100]=\" in the tags. Each of these can have a user defined type.\nAcceptable values are U1 to U100, inclusive.",
+          "description": "List of the user-defined variables used by this conversion tag. These map to the \"u[1-100]=\" in the tags. Each of these can have a user defined type. Acceptable values are U1 to U100, inclusive. ",
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+          ],
           "items": {
             "enum": [
               "U1",
+              "U2",
+              "U3",
+              "U4",
+              "U5",
+              "U6",
+              "U7",
+              "U8",
+              "U9",
               "U10",
-              "U100",
               "U11",
               "U12",
               "U13",
@@ -14659,7 +15135,6 @@
               "U17",
               "U18",
               "U19",
-              "U2",
               "U20",
               "U21",
               "U22",
@@ -14670,7 +15145,6 @@
               "U27",
               "U28",
               "U29",
-              "U3",
               "U30",
               "U31",
               "U32",
@@ -14681,7 +15155,6 @@
               "U37",
               "U38",
               "U39",
-              "U4",
               "U40",
               "U41",
               "U42",
@@ -14692,7 +15165,6 @@
               "U47",
               "U48",
               "U49",
-              "U5",
               "U50",
               "U51",
               "U52",
@@ -14703,7 +15175,6 @@
               "U57",
               "U58",
               "U59",
-              "U6",
               "U60",
               "U61",
               "U62",
@@ -14714,7 +15185,6 @@
               "U67",
               "U68",
               "U69",
-              "U7",
               "U70",
               "U71",
               "U72",
@@ -14725,7 +15195,6 @@
               "U77",
               "U78",
               "U79",
-              "U8",
               "U80",
               "U81",
               "U82",
@@ -14736,7 +15205,6 @@
               "U87",
               "U88",
               "U89",
-              "U9",
               "U90",
               "U91",
               "U92",
@@ -14746,7 +15214,8 @@
               "U96",
               "U97",
               "U98",
-              "U99"
+              "U99",
+              "U100"
             ],
             "enumDescriptions": [
               "",
@@ -14914,7 +15383,6 @@
           "description": "Dimension value for the ID of this floodlight activity group. This is a read-only, auto-generated field."
         },
         "kind": {
-          "default": "dfareporting#floodlightActivityGroup",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightActivityGroup\".",
           "type": "string"
         },
@@ -14928,7 +15396,7 @@
           "type": "string"
         },
         "tagString": {
-          "description": "Value of the type= parameter in the floodlight tag, which the ad servers use to identify the activity group that the activity belongs to. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activity groups of the same floodlight configuration. This field is read-only after insertion.",
+          "description": "Value of the type= parameter in the floodlight tag, which the ad servers use to identify the activity group that the activity belongs to. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being a-z0-9[ _ ]. This tag string must also be unique among activity groups of the same floodlight configuration. This field is read-only after insertion.",
           "type": "string"
         },
         "type": {
@@ -14958,7 +15426,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#floodlightActivityGroupsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightActivityGroupsListResponse\".",
           "type": "string"
         },
@@ -15058,7 +15525,6 @@
           "type": "boolean"
         },
         "kind": {
-          "default": "dfareporting#floodlightConfiguration",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightConfiguration\".",
           "type": "string"
         },
@@ -15122,7 +15588,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#floodlightConfigurationsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightConfigurationsListResponse\".",
           "type": "string"
         }
@@ -15148,7 +15613,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#floodlightReportCompatibleFields",
           "description": "The kind of resource this is, in this case dfareporting#floodlightReportCompatibleFields.",
           "type": "string"
         },
@@ -15310,7 +15774,6 @@
           "type": "boolean"
         },
         "kind": {
-          "default": "dfareporting#inventoryItem",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#inventoryItem\".",
           "type": "string"
         },
@@ -15364,8 +15827,8 @@
         "type": {
           "description": "Type of inventory item.",
           "enum": [
-            "PLANNING_PLACEMENT_TYPE_CREDIT",
-            "PLANNING_PLACEMENT_TYPE_REGULAR"
+            "PLANNING_PLACEMENT_TYPE_REGULAR",
+            "PLANNING_PLACEMENT_TYPE_CREDIT"
           ],
           "enumDescriptions": [
             "",
@@ -15388,7 +15851,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#inventoryItemsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#inventoryItemsListResponse\".",
           "type": "string"
         },
@@ -15436,7 +15898,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#landingPage",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#landingPage\".",
           "type": "string"
         },
@@ -15461,7 +15922,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#language",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#language\".",
           "type": "string"
         },
@@ -15495,7 +15955,6 @@
       "id": "LanguagesListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#languagesListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#languagesListResponse\".",
           "type": "string"
         },
@@ -15574,12 +16033,12 @@
           "description": "Comparison operator of this term. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.",
           "enum": [
             "NUM_EQUALS",
-            "NUM_GREATER_THAN",
-            "NUM_GREATER_THAN_EQUAL",
             "NUM_LESS_THAN",
             "NUM_LESS_THAN_EQUAL",
-            "STRING_CONTAINS",
-            "STRING_EQUALS"
+            "NUM_GREATER_THAN",
+            "NUM_GREATER_THAN_EQUAL",
+            "STRING_EQUALS",
+            "STRING_CONTAINS"
           ],
           "enumDescriptions": [
             "",
@@ -15654,12 +16113,137 @@
       },
       "type": "object"
     },
+    "MediaRequestInfo": {
+      "description": "Extra information added to operations that support Scotty media requests.",
+      "id": "MediaRequestInfo",
+      "properties": {
+        "currentBytes": {
+          "description": "The number of current bytes uploaded or downloaded.",
+          "format": "int64",
+          "type": "string"
+        },
+        "customData": {
+          "description": "Data to be copied to backend requests. Custom data is returned to Scotty in the agent_state field, which Scotty will then provide in subsequent upload notifications.",
+          "type": "string"
+        },
+        "diffObjectVersion": {
+          "description": "Set if the http request info is diff encoded. The value of this field is the version number of the base revision. This is corresponding to Apiary's mediaDiffObjectVersion (//depot/google3/java/com/google/api/server/media/variable/DiffObjectVersionVariable.java). See go/esf-scotty-diff-upload for more information.",
+          "type": "string"
+        },
+        "notificationType": {
+          "description": "The type of notification received from Scotty.",
+          "enum": [
+            "START",
+            "PROGRESS",
+            "END",
+            "RESPONSE_SENT",
+            "ERROR"
+          ],
+          "enumDescriptions": [
+            "Such requests signals the start of a request containing media upload. Only the media field(s) in the inserted/updated resource are set. The response should either return an error or succeed. On success, responses don't need to contain anything.",
+            "Such requests signals that the upload has progressed and that the backend might want to access the media file specified in relevant fields in the resource. Only the media field(s) in the inserted/updated resource are set. The response should either return an error or succeed. On success, responses don't need to contain anything.",
+            "Such requests signals the end of a request containing media upload. END should be handled just like normal Insert/Upload requests, that is, they should process the request and return a complete resource in the response. Pointers to media data (a GFS path usually) appear in the relevant fields in the inserted/updated resource. See gdata.Media in data.proto.",
+            "Such requests occur after an END and signal that the response has been sent back to the client. RESPONSE_SENT is only sent to the backend if it is configured to receive them. The response does not need to contain anything.",
+            "Such requests indicate that an error occurred while processing the request. ERROR is only sent to the backend if it is configured to receive them. It is not guaranteed that all errors will result in this notification to the backend, even if the backend requests them. Since these requests are just for informational purposes, the response does not need to contain anything."
+          ],
+          "type": "string"
+        },
+        "requestId": {
+          "description": "The Scotty request ID.",
+          "type": "string"
+        },
+        "totalBytes": {
+          "description": "The total size of the file.",
+          "format": "int64",
+          "type": "string"
+        },
+        "totalBytesIsEstimated": {
+          "description": "Whether the total bytes field contains an estimated data.",
+          "type": "boolean"
+        }
+      },
+      "type": "object"
+    },
+    "MediaResponseInfo": {
+      "description": "This message is for backends to pass their scotty media specific fields to ESF. Backend will include this in their response message to ESF. Example: ExportFile is an rpc defined for upload using scotty from ESF. rpc ExportFile(ExportFileRequest) returns (ExportFileResponse) Message ExportFileResponse will include apiserving.MediaResponseInfo to tell ESF about data like dynamic_dropzone it needs to pass to Scotty. message ExportFileResponse { optional gdata.Media blob = 1; optional apiserving.MediaResponseInfo media_response_info = 2 }",
+      "id": "MediaResponseInfo",
+      "properties": {
+        "customData": {
+          "description": "Data to copy from backend response to the next backend requests. Custom data is returned to Scotty in the agent_state field, which Scotty will then provide in subsequent upload notifications.",
+          "type": "string"
+        },
+        "dataStorageTransform": {
+          "description": "Specifies any transformation to be applied to data before persisting it or retrieving from storage. E.g., encryption options for blobstore2. This should be of the form uploader_service.DataStorageTransform.",
+          "format": "byte",
+          "type": "string"
+        },
+        "dynamicDropTarget": {
+          "description": "Specifies the Scotty Drop Target to use for uploads. If present in a media response, Scotty does not upload to a standard drop zone. Instead, Scotty saves the upload directly to the location specified in this drop target. Unlike drop zones, the drop target is the final storage location for an upload. So, the agent does not need to clone the blob at the end of the upload. The agent is responsible for garbage collecting any orphaned blobs that may occur due to aborted uploads. For more information, see the drop target design doc here: http://goto/ScottyDropTarget This field will be preferred to dynamicDropzone. If provided, the identified field in the response must be of the type uploader.agent.DropTarget.",
+          "format": "byte",
+          "type": "string"
+        },
+        "dynamicDropzone": {
+          "description": "Specifies the Scotty dropzone to use for uploads.",
+          "type": "string"
+        },
+        "requestClass": {
+          "description": "Request class to use for all Blobstore operations for this request.",
+          "enum": [
+            "UNKNOWN_REQUEST_CLASS",
+            "LATENCY_SENSITIVE",
+            "PRODUCTION_BATCH",
+            "BEST_EFFORT"
+          ],
+          "enumDescriptions": [
+            "Unpopulated request_class in log files will be taken as 0 in dremel query. GoogleSQL will try to cast it to enum by default. An unused 0 value is added to avoid GoogleSQL casting error. Please refer to b/69677280.",
+            "A latency-sensitive request.",
+            "A request generated by a batch process.",
+            "A best-effort request."
+          ],
+          "type": "string"
+        },
+        "trafficClassField": {
+          "description": "Specifies the TrafficClass that Scotty should use for any RPCs to fetch the response bytes. Will override the traffic class GTOS of the incoming http request. This is a temporary field to facilitate whitelisting and experimentation by the bigstore agent only. For instance, this does not apply to RTMP reads. WARNING: DO NOT USE WITHOUT PERMISSION FROM THE SCOTTY TEAM.",
+          "enum": [
+            "BE1",
+            "AF1",
+            "AF2",
+            "AF3",
+            "AF4",
+            "NC1",
+            "NC0",
+            "BE0",
+            "LLQ",
+            "LLQ1",
+            "LLQ2"
+          ],
+          "enumDescriptions": [
+            "Application-selectable traffic classes Best effort",
+            "Assured forwarding priority 1",
+            "Assured forwarding priority 2",
+            "Assured forwarding priority 3",
+            "Assured forwarding priority 4",
+            "Network control",
+            "Network control",
+            "Best effort at high packet loss",
+            "Low-latency queue (LLQ) best effort (go/llq)",
+            "LLQ best effort (go/llq2)",
+            "LLQ assured forwarding priority 2 (go/llq2)"
+          ],
+          "type": "string"
+        },
+        "verifyHashFromHeader": {
+          "description": "Tells Scotty to verify hashes on the agent's behalf by parsing out the X-Goog-Hash header.",
+          "type": "boolean"
+        }
+      },
+      "type": "object"
+    },
     "Metric": {
       "description": "Represents a metric.",
       "id": "Metric",
       "properties": {
         "kind": {
-          "default": "dfareporting#metric",
           "description": "The kind of resource this is, in this case dfareporting#metric.",
           "type": "string"
         },
@@ -15694,7 +16278,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#metro",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#metro\".",
           "type": "string"
         },
@@ -15714,7 +16297,6 @@
       "id": "MetrosListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#metrosListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#metrosListResponse\".",
           "type": "string"
         },
@@ -15735,9 +16317,9 @@
         "directory": {
           "description": "Mobile app directory.",
           "enum": [
+            "UNKNOWN",
             "APPLE_APP_STORE",
-            "GOOGLE_PLAY_STORE",
-            "UNKNOWN"
+            "GOOGLE_PLAY_STORE"
           ],
           "enumDescriptions": [
             "",
@@ -15751,7 +16333,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#mobileApp",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#mobileApp\".",
           "type": "string"
         },
@@ -15771,7 +16352,6 @@
       "id": "MobileAppsListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#mobileAppsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#mobileAppsListResponse\".",
           "type": "string"
         },
@@ -15808,7 +16388,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#mobileCarrier",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#mobileCarrier\".",
           "type": "string"
         },
@@ -15824,7 +16403,6 @@
       "id": "MobileCarriersListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#mobileCarriersListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#mobileCarriersListResponse\".",
           "type": "string"
         },
@@ -15843,7 +16421,6 @@
       "id": "ObjectFilter",
       "properties": {
         "kind": {
-          "default": "dfareporting#objectFilter",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#objectFilter\".",
           "type": "string"
         },
@@ -15858,9 +16435,9 @@
         "status": {
           "description": "Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.",
           "enum": [
-            "ALL",
+            "NONE",
             "ASSIGNED",
-            "NONE"
+            "ALL"
           ],
           "enumDescriptions": [
             "",
@@ -15918,7 +16495,6 @@
           "type": "boolean"
         },
         "kind": {
-          "default": "dfareporting#operatingSystem",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#operatingSystem\".",
           "type": "string"
         },
@@ -15943,7 +16519,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#operatingSystemVersion",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#operatingSystemVersion\".",
           "type": "string"
         },
@@ -15971,7 +16546,6 @@
       "id": "OperatingSystemVersionsListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#operatingSystemVersionsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#operatingSystemVersionsListResponse\".",
           "type": "string"
         },
@@ -15990,7 +16564,6 @@
       "id": "OperatingSystemsListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#operatingSystemsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#operatingSystemsListResponse\".",
           "type": "string"
         },
@@ -16072,7 +16645,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#order",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#order\".",
           "type": "string"
         },
@@ -16152,8 +16724,8 @@
         "contactType": {
           "description": "Type of this contact.",
           "enum": [
-            "PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT",
             "PLANNING_ORDER_CONTACT_BUYER_CONTACT",
+            "PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT",
             "PLANNING_ORDER_CONTACT_SELLER_CONTACT"
           ],
           "enumDescriptions": [
@@ -16207,7 +16779,6 @@
           "description": "Information about the creation of this order document."
         },
         "effectiveDate": {
-          "description": "Effective date of this order document.",
           "format": "date",
           "type": "string"
         },
@@ -16217,7 +16788,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#orderDocument",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#orderDocument\".",
           "type": "string"
         },
@@ -16229,7 +16799,6 @@
           "type": "array"
         },
         "lastSentTime": {
-          "description": "Timestamp of the last email sent with this order document.",
           "format": "date-time",
           "type": "string"
         },
@@ -16259,8 +16828,8 @@
         "type": {
           "description": "Type of this order document",
           "enum": [
-            "PLANNING_ORDER_TYPE_CHANGE_ORDER",
-            "PLANNING_ORDER_TYPE_INSERTION_ORDER"
+            "PLANNING_ORDER_TYPE_INSERTION_ORDER",
+            "PLANNING_ORDER_TYPE_CHANGE_ORDER"
           ],
           "enumDescriptions": [
             "",
@@ -16276,7 +16845,6 @@
       "id": "OrderDocumentsListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#orderDocumentsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#orderDocumentsListResponse\".",
           "type": "string"
         },
@@ -16299,7 +16867,6 @@
       "id": "OrdersListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#ordersListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#ordersListResponse\".",
           "type": "string"
         },
@@ -16336,7 +16903,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#pathToConversionReportCompatibleFields",
           "description": "The kind of resource this is, in this case dfareporting#pathToConversionReportCompatibleFields.",
           "type": "string"
         },
@@ -16406,12 +16972,12 @@
         "compatibility": {
           "description": "Placement compatibility. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices or in mobile apps for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are no longer allowed for new placement insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. This field is required on insertion.",
           "enum": [
-            "APP",
-            "APP_INTERSTITIAL",
             "DISPLAY",
             "DISPLAY_INTERSTITIAL",
-            "IN_STREAM_AUDIO",
-            "IN_STREAM_VIDEO"
+            "APP",
+            "APP_INTERSTITIAL",
+            "IN_STREAM_VIDEO",
+            "IN_STREAM_AUDIO"
           ],
           "enumDescriptions": [
             "",
@@ -16459,7 +17025,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#placement",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placement\".",
           "type": "string"
         },
@@ -16537,12 +17102,12 @@
         "status": {
           "description": "Third-party placement status.",
           "enum": [
-            "ACKNOWLEDGE_ACCEPTANCE",
-            "ACKNOWLEDGE_REJECTION",
-            "DRAFT",
+            "PENDING_REVIEW",
             "PAYMENT_ACCEPTED",
             "PAYMENT_REJECTED",
-            "PENDING_REVIEW"
+            "ACKNOWLEDGE_REJECTION",
+            "ACKNOWLEDGE_ACCEPTANCE",
+            "DRAFT"
           ],
           "enumDescriptions": [
             "",
@@ -16560,28 +17125,49 @@
           "type": "string"
         },
         "tagFormats": {
-          "description": "Tag formats to generate for this placement. This field is required on insertion.\nAcceptable values are:\n- \"PLACEMENT_TAG_STANDARD\"\n- \"PLACEMENT_TAG_IFRAME_JAVASCRIPT\"\n- \"PLACEMENT_TAG_IFRAME_ILAYER\"\n- \"PLACEMENT_TAG_INTERNAL_REDIRECT\"\n- \"PLACEMENT_TAG_JAVASCRIPT\"\n- \"PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT\"\n- \"PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT\"\n- \"PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT\"\n- \"PLACEMENT_TAG_CLICK_COMMANDS\"\n- \"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH\"\n- \"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3\"\n- \"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4\"\n- \"PLACEMENT_TAG_TRACKING\"\n- \"PLACEMENT_TAG_TRACKING_IFRAME\"\n- \"PLACEMENT_TAG_TRACKING_JAVASCRIPT\"",
+          "description": "Tag formats to generate for this placement. This field is required on insertion. Acceptable values are: - \"PLACEMENT_TAG_STANDARD\" - \"PLACEMENT_TAG_IFRAME_JAVASCRIPT\" - \"PLACEMENT_TAG_IFRAME_ILAYER\" - \"PLACEMENT_TAG_INTERNAL_REDIRECT\" - \"PLACEMENT_TAG_JAVASCRIPT\" - \"PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT\" - \"PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT\" - \"PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT\" - \"PLACEMENT_TAG_CLICK_COMMANDS\" - \"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH\" - \"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3\" - \"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4\" - \"PLACEMENT_TAG_TRACKING\" - \"PLACEMENT_TAG_TRACKING_IFRAME\" - \"PLACEMENT_TAG_TRACKING_JAVASCRIPT\" ",
+          "enumDescriptions": [
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            "",
+            ""
+          ],
           "items": {
             "enum": [
-              "PLACEMENT_TAG_CLICK_COMMANDS",
-              "PLACEMENT_TAG_IFRAME_ILAYER",
+              "PLACEMENT_TAG_STANDARD",
               "PLACEMENT_TAG_IFRAME_JAVASCRIPT",
-              "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
-              "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
-              "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
-              "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4",
+              "PLACEMENT_TAG_IFRAME_ILAYER",
               "PLACEMENT_TAG_INTERNAL_REDIRECT",
+              "PLACEMENT_TAG_JAVASCRIPT",
               "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT",
-              "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
               "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT",
               "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT",
-              "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
-              "PLACEMENT_TAG_JAVASCRIPT",
-              "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
-              "PLACEMENT_TAG_STANDARD",
+              "PLACEMENT_TAG_CLICK_COMMANDS",
+              "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
               "PLACEMENT_TAG_TRACKING",
               "PLACEMENT_TAG_TRACKING_IFRAME",
-              "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+              "PLACEMENT_TAG_TRACKING_JAVASCRIPT",
+              "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
+              "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
+              "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
+              "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
+              "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
+              "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
             ],
             "enumDescriptions": [
               "",
@@ -16621,12 +17207,12 @@
           "description": "A collection of settings which affect video creatives served through this placement. Applicable to placements with IN_STREAM_VIDEO compatibility."
         },
         "vpaidAdapterChoice": {
-          "description": "VPAID adapter setting for this placement. Controls which VPAID format the measurement adapter will use for in-stream video creatives assigned to this placement.\n\nNote: Flash is no longer supported. This field now defaults to HTML5 when the following values are provided: FLASH, BOTH.",
+          "description": "VPAID adapter setting for this placement. Controls which VPAID format the measurement adapter will use for in-stream video creatives assigned to this placement. *Note:* Flash is no longer supported. This field now defaults to HTML5 when the following values are provided: FLASH, BOTH.",
           "enum": [
-            "BOTH",
             "DEFAULT",
             "FLASH",
-            "HTML5"
+            "HTML5",
+            "BOTH"
           ],
           "enumDescriptions": [
             "",
@@ -16738,7 +17324,6 @@
           "description": "Dimension value for the ID of this placement group. This is a read-only, auto-generated field."
         },
         "kind": {
-          "default": "dfareporting#placementGroup",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementGroup\".",
           "type": "string"
         },
@@ -16802,7 +17387,6 @@
       "id": "PlacementGroupsListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#placementGroupsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementGroupsListResponse\".",
           "type": "string"
         },
@@ -16825,7 +17409,6 @@
       "id": "PlacementStrategiesListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#placementStrategiesListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementStrategiesListResponse\".",
           "type": "string"
         },
@@ -16858,7 +17441,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#placementStrategy",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementStrategy\".",
           "type": "string"
         },
@@ -16893,7 +17475,6 @@
       "id": "PlacementsGenerateTagsResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#placementsGenerateTagsResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementsGenerateTagsResponse\".",
           "type": "string"
         },
@@ -16912,7 +17493,6 @@
       "id": "PlacementsListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#placementsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementsListResponse\".",
           "type": "string"
         },
@@ -16940,7 +17520,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#platformType",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#platformType\".",
           "type": "string"
         },
@@ -16956,7 +17535,6 @@
       "id": "PlatformTypesListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#platformTypesListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#platformTypesListResponse\".",
           "type": "string"
         },
@@ -17043,7 +17621,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#postalCode",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#postalCode\".",
           "type": "string"
         }
@@ -17055,7 +17632,6 @@
       "id": "PostalCodesListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#postalCodesListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#postalCodesListResponse\".",
           "type": "string"
         },
@@ -17076,9 +17652,9 @@
         "capCostType": {
           "description": "Cap cost type of this inventory item.",
           "enum": [
-            "PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE",
+            "PLANNING_PLACEMENT_CAP_COST_TYPE_NONE",
             "PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY",
-            "PLANNING_PLACEMENT_CAP_COST_TYPE_NONE"
+            "PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE"
           ],
           "enumDescriptions": [
             "",
@@ -17088,7 +17664,6 @@
           "type": "string"
         },
         "endDate": {
-          "description": "End date of this inventory item.",
           "format": "date",
           "type": "string"
         },
@@ -17114,14 +17689,14 @@
         "pricingType": {
           "description": "Pricing type of this inventory item.",
           "enum": [
-            "PLANNING_PLACEMENT_PRICING_TYPE_CLICKS",
-            "PLANNING_PLACEMENT_PRICING_TYPE_CPA",
-            "PLANNING_PLACEMENT_PRICING_TYPE_CPC",
+            "PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS",
             "PLANNING_PLACEMENT_PRICING_TYPE_CPM",
-            "PLANNING_PLACEMENT_PRICING_TYPE_CPM_ACTIVEVIEW",
-            "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS",
+            "PLANNING_PLACEMENT_PRICING_TYPE_CLICKS",
+            "PLANNING_PLACEMENT_PRICING_TYPE_CPC",
+            "PLANNING_PLACEMENT_PRICING_TYPE_CPA",
             "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS",
-            "PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS"
+            "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS",
+            "PLANNING_PLACEMENT_PRICING_TYPE_CPM_ACTIVEVIEW"
           ],
           "enumDescriptions": [
             "",
@@ -17136,7 +17711,6 @@
           "type": "string"
         },
         "startDate": {
-          "description": "Start date of this inventory item.",
           "format": "date",
           "type": "string"
         }
@@ -17150,9 +17724,9 @@
         "capCostOption": {
           "description": "Placement cap cost option.",
           "enum": [
-            "CAP_COST_CUMULATIVE",
+            "CAP_COST_NONE",
             "CAP_COST_MONTHLY",
-            "CAP_COST_NONE"
+            "CAP_COST_CUMULATIVE"
           ],
           "enumDescriptions": [
             "",
@@ -17166,7 +17740,6 @@
           "type": "boolean"
         },
         "endDate": {
-          "description": "Placement end date. This date must be later than, or the same day as, the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.",
           "format": "date",
           "type": "string"
         },
@@ -17189,12 +17762,12 @@
         "pricingType": {
           "description": "Placement pricing type. This field is required on insertion.",
           "enum": [
-            "PRICING_TYPE_CPA",
-            "PRICING_TYPE_CPC",
             "PRICING_TYPE_CPM",
-            "PRICING_TYPE_CPM_ACTIVEVIEW",
+            "PRICING_TYPE_CPC",
+            "PRICING_TYPE_CPA",
+            "PRICING_TYPE_FLAT_RATE_IMPRESSIONS",
             "PRICING_TYPE_FLAT_RATE_CLICKS",
-            "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
+            "PRICING_TYPE_CPM_ACTIVEVIEW"
           ],
           "enumDescriptions": [
             "",
@@ -17207,12 +17780,10 @@
           "type": "string"
         },
         "startDate": {
-          "description": "Placement start date. This date must be later than, or the same day as, the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.",
           "format": "date",
           "type": "string"
         },
         "testingStartDate": {
-          "description": "Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.",
           "format": "date",
           "type": "string"
         }
@@ -17224,7 +17795,6 @@
       "id": "PricingSchedulePricingPeriod",
       "properties": {
         "endDate": {
-          "description": "Pricing period end date. This date must be later than, or the same day as, the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.",
           "format": "date",
           "type": "string"
         },
@@ -17238,7 +17808,6 @@
           "type": "string"
         },
         "startDate": {
-          "description": "Pricing period start date. This date must be later than, or the same day as, the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.",
           "format": "date",
           "type": "string"
         },
@@ -17289,8 +17858,8 @@
         "audienceGender": {
           "description": "Audience gender of this project.",
           "enum": [
-            "PLANNING_AUDIENCE_GENDER_FEMALE",
-            "PLANNING_AUDIENCE_GENDER_MALE"
+            "PLANNING_AUDIENCE_GENDER_MALE",
+            "PLANNING_AUDIENCE_GENDER_FEMALE"
           ],
           "enumDescriptions": [
             "",
@@ -17312,7 +17881,6 @@
           "type": "string"
         },
         "endDate": {
-          "description": "End date of the project.",
           "format": "date",
           "type": "string"
         },
@@ -17322,7 +17890,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#project",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#project\".",
           "type": "string"
         },
@@ -17339,7 +17906,6 @@
           "type": "string"
         },
         "startDate": {
-          "description": "Start date of the project.",
           "format": "date",
           "type": "string"
         },
@@ -17391,7 +17957,6 @@
       "id": "ProjectsListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#projectsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#projectsListResponse\".",
           "type": "string"
         },
@@ -17428,7 +17993,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#reachReportCompatibleFields",
           "description": "The kind of resource this is, in this case dfareporting#reachReportCompatibleFields.",
           "type": "string"
         },
@@ -17469,8 +18033,8 @@
           },
           "description": "The delivery type for the recipient.",
           "enum": [
-            "ATTACHMENT",
-            "LINK"
+            "LINK",
+            "ATTACHMENT"
           ],
           "enumDescriptions": [
             "",
@@ -17489,7 +18053,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#recipient",
           "description": "The kind of resource this is, in this case dfareporting#recipient.",
           "type": "string"
         }
@@ -17515,7 +18078,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#region",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#region\".",
           "type": "string"
         },
@@ -17535,7 +18097,6 @@
       "id": "RegionsListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#regionsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#regionsListResponse\".",
           "type": "string"
         },
@@ -17581,7 +18142,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#remarketingList",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#remarketingList\".",
           "type": "string"
         },
@@ -17602,17 +18162,17 @@
         "listSource": {
           "description": "Product from which this remarketing list was originated.",
           "enum": [
-            "REMARKETING_LIST_SOURCE_ADX",
-            "REMARKETING_LIST_SOURCE_DBM",
-            "REMARKETING_LIST_SOURCE_DFA",
-            "REMARKETING_LIST_SOURCE_DFP",
-            "REMARKETING_LIST_SOURCE_DMP",
-            "REMARKETING_LIST_SOURCE_GA",
-            "REMARKETING_LIST_SOURCE_GPLUS",
             "REMARKETING_LIST_SOURCE_OTHER",
-            "REMARKETING_LIST_SOURCE_PLAY_STORE",
+            "REMARKETING_LIST_SOURCE_ADX",
+            "REMARKETING_LIST_SOURCE_DFP",
             "REMARKETING_LIST_SOURCE_XFP",
-            "REMARKETING_LIST_SOURCE_YOUTUBE"
+            "REMARKETING_LIST_SOURCE_DFA",
+            "REMARKETING_LIST_SOURCE_GA",
+            "REMARKETING_LIST_SOURCE_YOUTUBE",
+            "REMARKETING_LIST_SOURCE_DBM",
+            "REMARKETING_LIST_SOURCE_GPLUS",
+            "REMARKETING_LIST_SOURCE_DMP",
+            "REMARKETING_LIST_SOURCE_PLAY_STORE"
           ],
           "enumDescriptions": [
             "",
@@ -17646,7 +18206,6 @@
       "id": "RemarketingListShare",
       "properties": {
         "kind": {
-          "default": "dfareporting#remarketingListShare",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#remarketingListShare\".",
           "type": "string"
         },
@@ -17679,7 +18238,6 @@
       "id": "RemarketingListsListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#remarketingListsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#remarketingListsListResponse\".",
           "type": "string"
         },
@@ -17727,7 +18285,7 @@
               "description": "The date range for which this report should be run."
             },
             "dimensionFilters": {
-              "description": "The list of filters on which dimensions are filtered.\nFilters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.",
+              "description": "The list of filters on which dimensions are filtered. Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.",
               "items": {
                 "$ref": "DimensionValue"
               },
@@ -17818,8 +18376,8 @@
             "emailOwnerDeliveryType": {
               "description": "The type of delivery for the owner to receive, if enabled.",
               "enum": [
-                "ATTACHMENT",
-                "LINK"
+                "LINK",
+                "ATTACHMENT"
               ],
               "enumDescriptions": [
                 "",
@@ -17864,7 +18422,7 @@
               "description": "The date range this report should be run for."
             },
             "dimensionFilters": {
-              "description": "The list of filters on which dimensions are filtered.\nFilters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.",
+              "description": "The list of filters on which dimensions are filtered. Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.",
               "items": {
                 "$ref": "DimensionValue"
               },
@@ -17932,7 +18490,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#report",
           "description": "The kind of resource this is, in this case dfareporting#report.",
           "type": "string"
         },
@@ -18085,7 +18642,7 @@
               "description": "The date range this report should be run for."
             },
             "dimensionFilters": {
-              "description": "The list of filters on which dimensions are filtered.\nFilters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.",
+              "description": "The list of filters on which dimensions are filtered. Filters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.",
               "items": {
                 "$ref": "DimensionValue"
               },
@@ -18110,7 +18667,7 @@
               "type": "array"
             },
             "reachByFrequencyMetricNames": {
-              "description": "The list of names of  Reach By Frequency metrics the report should include.",
+              "description": "The list of names of Reach By Frequency metrics the report should include.",
               "items": {
                 "type": "string"
               },
@@ -18138,13 +18695,6 @@
               "type": "integer"
             },
             "expirationDate": {
-              "annotations": {
-                "required": [
-                  "dfareporting.reports.insert",
-                  "dfareporting.reports.update"
-                ]
-              },
-              "description": "The expiration date when the scheduled report stops running.",
               "format": "date",
               "type": "string"
             },
@@ -18155,20 +18705,29 @@
                   "dfareporting.reports.update"
                 ]
               },
-              "description": "The interval for which the report is repeated. Note:  \n- \"DAILY\" also requires field \"every\" to be set. \n- \"WEEKLY\" also requires fields \"every\" and \"repeatsOnWeekDays\" to be set. \n- \"MONTHLY\" also requires fields \"every\" and \"runsOnDayOfMonth\" to be set.",
+              "description": "The interval for which the report is repeated. Note: - \"DAILY\" also requires field \"every\" to be set. - \"WEEKLY\" also requires fields \"every\" and \"repeatsOnWeekDays\" to be set. - \"MONTHLY\" also requires fields \"every\" and \"runsOnDayOfMonth\" to be set. ",
               "type": "string"
             },
             "repeatsOnWeekDays": {
               "description": "List of week days \"WEEKLY\" on which scheduled reports should run.",
+              "enumDescriptions": [
+                "",
+                "",
+                "",
+                "",
+                "",
+                "",
+                ""
+              ],
               "items": {
                 "enum": [
-                  "FRIDAY",
-                  "MONDAY",
-                  "SATURDAY",
                   "SUNDAY",
-                  "THURSDAY",
+                  "MONDAY",
                   "TUESDAY",
-                  "WEDNESDAY"
+                  "WEDNESDAY",
+                  "THURSDAY",
+                  "FRIDAY",
+                  "SATURDAY"
                 ],
                 "enumDescriptions": [
                   "",
@@ -18184,7 +18743,7 @@
               "type": "array"
             },
             "runsOnDayOfMonth": {
-              "description": "Enum to define for \"MONTHLY\" scheduled reports whether reports should be repeated on the same day of the month as \"startDate\" or the same day of the week of the month.\nExample: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), \"DAY_OF_MONTH\" would run subsequent reports on the 2nd of every Month, and \"WEEK_OF_MONTH\" would run subsequent reports on the first Monday of the month.",
+              "description": "Enum to define for \"MONTHLY\" scheduled reports whether reports should be repeated on the same day of the month as \"startDate\" or the same day of the week of the month. Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), \"DAY_OF_MONTH\" would run subsequent reports on the 2nd of every Month, and \"WEEK_OF_MONTH\" would run subsequent reports on the first Monday of the month.",
               "enum": [
                 "DAY_OF_MONTH",
                 "WEEK_OF_MONTH"
@@ -18196,13 +18755,6 @@
               "type": "string"
             },
             "startDate": {
-              "annotations": {
-                "required": [
-                  "dfareporting.reports.insert",
-                  "dfareporting.reports.update"
-                ]
-              },
-              "description": "Start date of date range for which scheduled reports should be run.",
               "format": "date",
               "type": "string"
             }
@@ -18223,11 +18775,11 @@
           },
           "description": "The type of the report.",
           "enum": [
-            "CROSS_DIMENSION_REACH",
-            "FLOODLIGHT",
-            "PATH_TO_CONVERSION",
+            "STANDARD",
             "REACH",
-            "STANDARD"
+            "PATH_TO_CONVERSION",
+            "CROSS_DIMENSION_REACH",
+            "FLOODLIGHT"
           ],
           "enumDescriptions": [
             "",
@@ -18260,7 +18812,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#reportCompatibleFields",
           "description": "The kind of resource this is, in this case dfareporting#reportCompatibleFields.",
           "type": "string"
         },
@@ -18297,7 +18848,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#reportList",
           "description": "The kind of list this is, in this case dfareporting#reportList.",
           "type": "string"
         },
@@ -18321,7 +18871,7 @@
           "description": "Default lookback windows for new advertisers in this account."
         },
         "reportGenerationTimeZoneId": {
-          "description": "Report generation time zone ID of this account. This is a required field that can only be changed by a superuser.\nAcceptable values are:\n\n- \"1\" for \"America/New_York\" \n- \"2\" for \"Europe/London\" \n- \"3\" for \"Europe/Paris\" \n- \"4\" for \"Africa/Johannesburg\" \n- \"5\" for \"Asia/Jerusalem\" \n- \"6\" for \"Asia/Shanghai\" \n- \"7\" for \"Asia/Hong_Kong\" \n- \"8\" for \"Asia/Tokyo\" \n- \"9\" for \"Australia/Sydney\" \n- \"10\" for \"Asia/Dubai\" \n- \"11\" for \"America/Los_Angeles\" \n- \"12\" for \"Pacific/Auckland\" \n- \"13\" for \"America/Sao_Paulo\" \n- \"16\" for \"America/Asuncion\" \n- \"17\" for \"America/Chicago\" \n- \"18\" for \"America/Denver\" \n- \"19\" for \"America/St_Johns\" \n- \"20\" for \"Asia/Dhaka\" \n- \"21\" for \"Asia/Jakarta\" \n- \"22\" for \"Asia/Kabul\" \n- \"23\" for \"Asia/Karachi\" \n- \"24\" for \"Asia/Calcutta\" \n- \"25\" for \"Asia/Pyongyang\" \n- \"26\" for \"Asia/Rangoon\" \n- \"27\" for \"Atlantic/Cape_Verde\" \n- \"28\" for \"Atlantic/South_Georgia\" \n- \"29\" for \"Australia/Adelaide\" \n- \"30\" for \"Australia/Lord_Howe\" \n- \"31\" for \"Europe/Moscow\" \n- \"32\" for \"Pacific/Kiritimati\" \n- \"35\" for \"Pacific/Norfolk\" \n- \"36\" for \"Pacific/Tongatapu\"",
+          "description": "Report generation time zone ID of this account. This is a required field that can only be changed by a superuser. Acceptable values are: - \"1\" for \"America/New_York\" - \"2\" for \"Europe/London\" - \"3\" for \"Europe/Paris\" - \"4\" for \"Africa/Johannesburg\" - \"5\" for \"Asia/Jerusalem\" - \"6\" for \"Asia/Shanghai\" - \"7\" for \"Asia/Hong_Kong\" - \"8\" for \"Asia/Tokyo\" - \"9\" for \"Australia/Sydney\" - \"10\" for \"Asia/Dubai\" - \"11\" for \"America/Los_Angeles\" - \"12\" for \"Pacific/Auckland\" - \"13\" for \"America/Sao_Paulo\" - \"16\" for \"America/Asuncion\" - \"17\" for \"America/Chicago\" - \"18\" for \"America/Denver\" - \"19\" for \"America/St_Johns\" - \"20\" for \"Asia/Dhaka\" - \"21\" for \"Asia/Jakarta\" - \"22\" for \"Asia/Kabul\" - \"23\" for \"Asia/Karachi\" - \"24\" for \"Asia/Calcutta\" - \"25\" for \"Asia/Pyongyang\" - \"26\" for \"Asia/Rangoon\" - \"27\" for \"Atlantic/Cape_Verde\" - \"28\" for \"Atlantic/South_Georgia\" - \"29\" for \"Australia/Adelaide\" - \"30\" for \"Australia/Lord_Howe\" - \"31\" for \"Europe/Moscow\" - \"32\" for \"Pacific/Kiritimati\" - \"35\" for \"Pacific/Norfolk\" - \"36\" for \"Pacific/Tongatapu\" ",
           "format": "int64",
           "type": "string"
         }
@@ -18405,7 +18955,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#site",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#site\".",
           "type": "string"
         },
@@ -18456,7 +19005,6 @@
           "type": "boolean"
         },
         "kind": {
-          "default": "dfareporting#siteCompanionSetting",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#siteCompanionSetting\".",
           "type": "string"
         }
@@ -18536,12 +19084,12 @@
           "type": "boolean"
         },
         "vpaidAdapterChoiceTemplate": {
-          "description": "Default VPAID adapter setting for new placements created under this site. This value will be used to populate the placements.vpaidAdapterChoice field, when no value is specified for the new placement. Controls which VPAID format the measurement adapter will use for in-stream video creatives assigned to the placement. The publisher's specifications will typically determine this setting. For VPAID creatives, the adapter format will match the VPAID format (HTML5 VPAID creatives use the HTML5 adapter).\n\nNote: Flash is no longer supported. This field now defaults to HTML5 when the following values are provided: FLASH, BOTH.",
+          "description": "Default VPAID adapter setting for new placements created under this site. This value will be used to populate the placements.vpaidAdapterChoice field, when no value is specified for the new placement. Controls which VPAID format the measurement adapter will use for in-stream video creatives assigned to the placement. The publisher's specifications will typically determine this setting. For VPAID creatives, the adapter format will match the VPAID format (HTML5 VPAID creatives use the HTML5 adapter). *Note:* Flash is no longer supported. This field now defaults to HTML5 when the following values are provided: FLASH, BOTH.",
           "enum": [
-            "BOTH",
             "DEFAULT",
             "FLASH",
-            "HTML5"
+            "HTML5",
+            "BOTH"
           ],
           "enumDescriptions": [
             "",
@@ -18559,7 +19107,6 @@
       "id": "SiteSkippableSetting",
       "properties": {
         "kind": {
-          "default": "dfareporting#siteSkippableSetting",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#siteSkippableSetting\".",
           "type": "string"
         },
@@ -18591,7 +19138,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#siteTranscodeSetting",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#siteTranscodeSetting\".",
           "type": "string"
         }
@@ -18607,7 +19153,6 @@
           "description": "Settings for the companion creatives of video creatives served to this site."
         },
         "kind": {
-          "default": "dfareporting#siteVideoSettings",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#siteVideoSettings\".",
           "type": "string"
         },
@@ -18641,7 +19186,6 @@
       "id": "SitesListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#sitesListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#sitesListResponse\".",
           "type": "string"
         },
@@ -18678,7 +19222,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#size",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#size\".",
           "type": "string"
         },
@@ -18695,7 +19238,6 @@
       "id": "SizesListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#sizesListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#sizesListResponse\".",
           "type": "string"
         },
@@ -18714,7 +19256,6 @@
       "id": "SkippableSetting",
       "properties": {
         "kind": {
-          "default": "dfareporting#skippableSetting",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#skippableSetting\".",
           "type": "string"
         },
@@ -18738,7 +19279,6 @@
       "id": "SortedDimension",
       "properties": {
         "kind": {
-          "default": "dfareporting#sortedDimension",
           "description": "The kind of resource this is, in this case dfareporting#sortedDimension.",
           "type": "string"
         },
@@ -18784,7 +19324,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#subaccount",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#subaccount\".",
           "type": "string"
         },
@@ -18800,7 +19339,6 @@
       "id": "SubaccountsListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#subaccountsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#subaccountsListResponse\".",
           "type": "string"
         },
@@ -18839,25 +19377,25 @@
         "format": {
           "description": "TagData tag format of this tag.",
           "enum": [
-            "PLACEMENT_TAG_CLICK_COMMANDS",
-            "PLACEMENT_TAG_IFRAME_ILAYER",
+            "PLACEMENT_TAG_STANDARD",
             "PLACEMENT_TAG_IFRAME_JAVASCRIPT",
-            "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
-            "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
-            "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
-            "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4",
+            "PLACEMENT_TAG_IFRAME_ILAYER",
             "PLACEMENT_TAG_INTERNAL_REDIRECT",
+            "PLACEMENT_TAG_JAVASCRIPT",
             "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT",
-            "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
             "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT",
             "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT",
-            "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
-            "PLACEMENT_TAG_JAVASCRIPT",
-            "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
-            "PLACEMENT_TAG_STANDARD",
+            "PLACEMENT_TAG_CLICK_COMMANDS",
+            "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
             "PLACEMENT_TAG_TRACKING",
             "PLACEMENT_TAG_TRACKING_IFRAME",
-            "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+            "PLACEMENT_TAG_TRACKING_JAVASCRIPT",
+            "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
+            "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
+            "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
+            "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
+            "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
+            "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
           ],
           "enumDescriptions": [
             "",
@@ -18908,9 +19446,9 @@
         "keywordOption": {
           "description": "Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.",
           "enum": [
-            "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD",
+            "PLACEHOLDER_WITH_LIST_OF_KEYWORDS",
             "IGNORE",
-            "PLACEHOLDER_WITH_LIST_OF_KEYWORDS"
+            "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD"
           ],
           "enumDescriptions": [
             "",
@@ -18948,9 +19486,9 @@
         "targetWindowOption": {
           "description": "Type of browser window for which the backup image of the flash creative can be displayed.",
           "enum": [
+            "NEW_WINDOW",
             "CURRENT_WINDOW",
-            "CUSTOM",
-            "NEW_WINDOW"
+            "CUSTOM"
           ],
           "enumDescriptions": [
             "",
@@ -18994,7 +19532,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#targetableRemarketingList",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#targetableRemarketingList\".",
           "type": "string"
         },
@@ -19011,17 +19548,17 @@
         "listSource": {
           "description": "Product from which this targetable remarketing list was originated.",
           "enum": [
-            "REMARKETING_LIST_SOURCE_ADX",
-            "REMARKETING_LIST_SOURCE_DBM",
-            "REMARKETING_LIST_SOURCE_DFA",
-            "REMARKETING_LIST_SOURCE_DFP",
-            "REMARKETING_LIST_SOURCE_DMP",
-            "REMARKETING_LIST_SOURCE_GA",
-            "REMARKETING_LIST_SOURCE_GPLUS",
             "REMARKETING_LIST_SOURCE_OTHER",
-            "REMARKETING_LIST_SOURCE_PLAY_STORE",
+            "REMARKETING_LIST_SOURCE_ADX",
+            "REMARKETING_LIST_SOURCE_DFP",
             "REMARKETING_LIST_SOURCE_XFP",
-            "REMARKETING_LIST_SOURCE_YOUTUBE"
+            "REMARKETING_LIST_SOURCE_DFA",
+            "REMARKETING_LIST_SOURCE_GA",
+            "REMARKETING_LIST_SOURCE_YOUTUBE",
+            "REMARKETING_LIST_SOURCE_DBM",
+            "REMARKETING_LIST_SOURCE_GPLUS",
+            "REMARKETING_LIST_SOURCE_DMP",
+            "REMARKETING_LIST_SOURCE_PLAY_STORE"
           ],
           "enumDescriptions": [
             "",
@@ -19055,7 +19592,6 @@
       "id": "TargetableRemarketingListsListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#targetableRemarketingListsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#targetableRemarketingListsListResponse\".",
           "type": "string"
         },
@@ -19109,7 +19645,6 @@
           "description": "Key-value targeting criteria."
         },
         "kind": {
-          "default": "dfareporting#targetingTemplate",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#targetingTemplate\".",
           "type": "string"
         },
@@ -19142,7 +19677,6 @@
       "id": "TargetingTemplatesListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#targetingTemplatesListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#targetingTemplatesListResponse\".",
           "type": "string"
         },
@@ -19231,25 +19765,25 @@
         "thirdPartyUrlType": {
           "description": "Third-party URL type for in-stream video and in-stream audio creatives.",
           "enum": [
-            "CLICK_TRACKING",
             "IMPRESSION",
-            "RICH_MEDIA_BACKUP_IMPRESSION",
-            "RICH_MEDIA_IMPRESSION",
-            "RICH_MEDIA_RM_IMPRESSION",
-            "SURVEY",
-            "VIDEO_COMPLETE",
-            "VIDEO_CUSTOM",
+            "CLICK_TRACKING",
+            "VIDEO_START",
             "VIDEO_FIRST_QUARTILE",
-            "VIDEO_FULLSCREEN",
             "VIDEO_MIDPOINT",
+            "VIDEO_THIRD_QUARTILE",
+            "VIDEO_COMPLETE",
             "VIDEO_MUTE",
             "VIDEO_PAUSE",
-            "VIDEO_PROGRESS",
             "VIDEO_REWIND",
-            "VIDEO_SKIP",
-            "VIDEO_START",
+            "VIDEO_FULLSCREEN",
             "VIDEO_STOP",
-            "VIDEO_THIRD_QUARTILE"
+            "VIDEO_CUSTOM",
+            "SURVEY",
+            "RICH_MEDIA_IMPRESSION",
+            "RICH_MEDIA_RM_IMPRESSION",
+            "RICH_MEDIA_BACKUP_IMPRESSION",
+            "VIDEO_SKIP",
+            "VIDEO_PROGRESS"
           ],
           "enumDescriptions": [
             "",
@@ -19294,7 +19828,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#transcodeSetting",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#transcodeSetting\".",
           "type": "string"
         }
@@ -19308,10 +19841,10 @@
         "registry": {
           "description": "Registry used for the Ad ID value.",
           "enum": [
+            "OTHER",
             "AD_ID.ORG",
             "CLEARCAST",
-            "DCM",
-            "OTHER"
+            "DCM"
           ],
           "enumDescriptions": [
             "",
@@ -19335,8 +19868,8 @@
         "dataType": {
           "description": "Data type for the variable. This is a required field.",
           "enum": [
-            "NUMBER",
-            "STRING"
+            "STRING",
+            "NUMBER"
           ],
           "enumDescriptions": [
             "",
@@ -19352,8 +19885,15 @@
           "description": "Variable name in the tag. This is a required field.",
           "enum": [
             "U1",
+            "U2",
+            "U3",
+            "U4",
+            "U5",
+            "U6",
+            "U7",
+            "U8",
+            "U9",
             "U10",
-            "U100",
             "U11",
             "U12",
             "U13",
@@ -19363,7 +19903,6 @@
             "U17",
             "U18",
             "U19",
-            "U2",
             "U20",
             "U21",
             "U22",
@@ -19374,7 +19913,6 @@
             "U27",
             "U28",
             "U29",
-            "U3",
             "U30",
             "U31",
             "U32",
@@ -19385,7 +19923,6 @@
             "U37",
             "U38",
             "U39",
-            "U4",
             "U40",
             "U41",
             "U42",
@@ -19396,7 +19933,6 @@
             "U47",
             "U48",
             "U49",
-            "U5",
             "U50",
             "U51",
             "U52",
@@ -19407,7 +19943,6 @@
             "U57",
             "U58",
             "U59",
-            "U6",
             "U60",
             "U61",
             "U62",
@@ -19418,7 +19953,6 @@
             "U67",
             "U68",
             "U69",
-            "U7",
             "U70",
             "U71",
             "U72",
@@ -19429,7 +19963,6 @@
             "U77",
             "U78",
             "U79",
-            "U8",
             "U80",
             "U81",
             "U82",
@@ -19440,7 +19973,6 @@
             "U87",
             "U88",
             "U89",
-            "U9",
             "U90",
             "U91",
             "U92",
@@ -19450,7 +19982,8 @@
             "U96",
             "U97",
             "U98",
-            "U99"
+            "U99",
+            "U100"
           ],
           "enumDescriptions": [
             "",
@@ -19560,7 +20093,7 @@
       "type": "object"
     },
     "UserProfile": {
-      "description": "A UserProfile resource lets you list all DFA user profiles that are associated with a Google user account. The profile_id needs to be specified in other API requests. ",
+      "description": "A UserProfile resource lets you list all DFA user profiles that are associated with a Google user account. The profile_id needs to be specified in other API requests. ",
       "id": "UserProfile",
       "properties": {
         "accountId": {
@@ -19577,7 +20110,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#userProfile",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userProfile\".",
           "type": "string"
         },
@@ -19618,7 +20150,6 @@
           "type": "array"
         },
         "kind": {
-          "default": "dfareporting#userProfileList",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userProfileList\".",
           "type": "string"
         }
@@ -19644,7 +20175,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#userRole",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRole\".",
           "type": "string"
         },
@@ -19679,11 +20209,11 @@
         "availability": {
           "description": "Levels of availability for a user role permission.",
           "enum": [
-            "ACCOUNT_ALWAYS",
-            "ACCOUNT_BY_DEFAULT",
             "NOT_AVAILABLE_BY_DEFAULT",
-            "SUBACCOUNT_AND_ACCOUNT_ALWAYS",
-            "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT"
+            "ACCOUNT_BY_DEFAULT",
+            "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT",
+            "ACCOUNT_ALWAYS",
+            "SUBACCOUNT_AND_ACCOUNT_ALWAYS"
           ],
           "enumDescriptions": [
             "",
@@ -19700,7 +20230,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#userRolePermission",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRolePermission\".",
           "type": "string"
         },
@@ -19726,7 +20255,6 @@
           "type": "string"
         },
         "kind": {
-          "default": "dfareporting#userRolePermissionGroup",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRolePermissionGroup\".",
           "type": "string"
         },
@@ -19742,7 +20270,6 @@
       "id": "UserRolePermissionGroupsListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#userRolePermissionGroupsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRolePermissionGroupsListResponse\".",
           "type": "string"
         },
@@ -19761,7 +20288,6 @@
       "id": "UserRolePermissionsListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#userRolePermissionsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRolePermissionsListResponse\".",
           "type": "string"
         },
@@ -19780,7 +20306,6 @@
       "id": "UserRolesListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#userRolesListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRolesListResponse\".",
           "type": "string"
         },
@@ -19806,10 +20331,10 @@
           "description": "File type of the video format.",
           "enum": [
             "FLV",
-            "M3U8",
-            "MP4",
             "THREEGPP",
-            "WEBM"
+            "MP4",
+            "WEBM",
+            "M3U8"
           ],
           "enumDescriptions": [
             "",
@@ -19826,7 +20351,6 @@
           "type": "integer"
         },
         "kind": {
-          "default": "dfareporting#videoFormat",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#videoFormat\".",
           "type": "string"
         },
@@ -19847,7 +20371,6 @@
       "id": "VideoFormatsListResponse",
       "properties": {
         "kind": {
-          "default": "dfareporting#videoFormatsListResponse",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#videoFormatsListResponse\".",
           "type": "string"
         },
@@ -19887,7 +20410,6 @@
           "description": "Settings for the companion creatives of video creatives served to this placement."
         },
         "kind": {
-          "default": "dfareporting#videoSettings",
           "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#videoSettings\".",
           "type": "string"
         },
diff --git a/dfareporting/v3.3/dfareporting-gen.go b/dfareporting/v3.3/dfareporting-gen.go
index 2440317..428987c 100644
--- a/dfareporting/v3.3/dfareporting-gen.go
+++ b/dfareporting/v3.3/dfareporting-gen.go
@@ -78,7 +78,8 @@
 const apiId = "dfareporting:v3.3"
 const apiName = "dfareporting"
 const apiVersion = "v3.3"
-const basePath = "https://www.googleapis.com/dfareporting/v3.3/"
+const basePath = "https://dfareporting.googleapis.com/dfareporting/v3.3/"
+const mtlsBasePath = "https://dfareporting.mtls.googleapis.com/dfareporting/v3.3/"
 
 // OAuth2 scopes used by this API.
 const (
@@ -103,6 +104,7 @@
 	// NOTE: prepend, so we don't override user-specified scopes.
 	opts = append([]option.ClientOption{scopesOption}, opts...)
 	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
+	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
 	client, endpoint, err := htransport.NewClient(ctx, opts...)
 	if err != nil {
 		return nil, err
@@ -907,14 +909,14 @@
 	// account.
 	//
 	// Possible values:
+	//   "ACTIVE_ADS_TIER_40K"
+	//   "ACTIVE_ADS_TIER_75K"
 	//   "ACTIVE_ADS_TIER_100K"
-	//   "ACTIVE_ADS_TIER_1M"
 	//   "ACTIVE_ADS_TIER_200K"
 	//   "ACTIVE_ADS_TIER_300K"
-	//   "ACTIVE_ADS_TIER_40K"
 	//   "ACTIVE_ADS_TIER_500K"
 	//   "ACTIVE_ADS_TIER_750K"
-	//   "ACTIVE_ADS_TIER_75K"
+	//   "ACTIVE_ADS_TIER_1M"
 	ActiveAdsLimitTier string `json:"activeAdsLimitTier,omitempty"`
 
 	// ActiveViewOptOut: Whether to serve creatives with Active View tags.
@@ -930,58 +932,18 @@
 	CountryId int64 `json:"countryId,omitempty,string"`
 
 	// CurrencyId: ID of currency associated with this account. This is a
-	// required field.
-	// Acceptable values are:
-	// - "1" for USD
-	// - "2" for GBP
-	// - "3" for ESP
-	// - "4" for SEK
-	// - "5" for CAD
-	// - "6" for JPY
-	// - "7" for DEM
-	// - "8" for AUD
-	// - "9" for FRF
-	// - "10" for ITL
-	// - "11" for DKK
-	// - "12" for NOK
-	// - "13" for FIM
-	// - "14" for ZAR
-	// - "15" for IEP
-	// - "16" for NLG
-	// - "17" for EUR
-	// - "18" for KRW
-	// - "19" for TWD
-	// - "20" for SGD
-	// - "21" for CNY
-	// - "22" for HKD
-	// - "23" for NZD
-	// - "24" for MYR
-	// - "25" for BRL
-	// - "26" for PTE
-	// - "27" for MXP
-	// - "28" for CLP
-	// - "29" for TRY
-	// - "30" for ARS
-	// - "31" for PEN
-	// - "32" for ILS
-	// - "33" for CHF
-	// - "34" for VEF
-	// - "35" for COP
-	// - "36" for GTQ
-	// - "37" for PLN
-	// - "39" for INR
-	// - "40" for THB
-	// - "41" for IDR
-	// - "42" for CZK
-	// - "43" for RON
-	// - "44" for HUF
-	// - "45" for RUB
-	// - "46" for AED
-	// - "47" for BGN
-	// - "48" for HRK
-	// - "49" for MXN
-	// - "50" for NGN
-	// - "51" for EGP
+	// required field. Acceptable values are: - "1" for USD - "2" for GBP -
+	// "3" for ESP - "4" for SEK - "5" for CAD - "6" for JPY - "7" for DEM -
+	// "8" for AUD - "9" for FRF - "10" for ITL - "11" for DKK - "12" for
+	// NOK - "13" for FIM - "14" for ZAR - "15" for IEP - "16" for NLG -
+	// "17" for EUR - "18" for KRW - "19" for TWD - "20" for SGD - "21" for
+	// CNY - "22" for HKD - "23" for NZD - "24" for MYR - "25" for BRL -
+	// "26" for PTE - "27" for MXP - "28" for CLP - "29" for TRY - "30" for
+	// ARS - "31" for PEN - "32" for ILS - "33" for CHF - "34" for VEF -
+	// "35" for COP - "36" for GTQ - "37" for PLN - "39" for INR - "40" for
+	// THB - "41" for IDR - "42" for CZK - "43" for RON - "44" for HUF -
+	// "45" for RUB - "46" for AED - "47" for BGN - "48" for HRK - "49" for
+	// MXN - "50" for NGN - "51" for EGP
 	CurrencyId int64 `json:"currencyId,omitempty,string"`
 
 	// DefaultCreativeSizeId: Default placement dimensions for this account.
@@ -997,24 +959,12 @@
 	// string "dfareporting#account".
 	Kind string `json:"kind,omitempty"`
 
-	// Locale: Locale of this account.
-	// Acceptable values are:
-	// - "cs" (Czech)
-	// - "de" (German)
-	// - "en" (English)
-	// - "en-GB" (English United Kingdom)
-	// - "es" (Spanish)
-	// - "fr" (French)
-	// - "it" (Italian)
-	// - "ja" (Japanese)
-	// - "ko" (Korean)
-	// - "pl" (Polish)
-	// - "pt-BR" (Portuguese Brazil)
-	// - "ru" (Russian)
-	// - "sv" (Swedish)
-	// - "tr" (Turkish)
-	// - "zh-CN" (Chinese Simplified)
-	// - "zh-TW" (Chinese Traditional)
+	// Locale: Locale of this account. Acceptable values are: - "cs" (Czech)
+	// - "de" (German) - "en" (English) - "en-GB" (English United Kingdom) -
+	// "es" (Spanish) - "fr" (French) - "it" (Italian) - "ja" (Japanese) -
+	// "ko" (Korean) - "pl" (Polish) - "pt-BR" (Portuguese Brazil) - "ru"
+	// (Russian) - "sv" (Swedish) - "tr" (Turkish) - "zh-CN" (Chinese
+	// Simplified) - "zh-TW" (Chinese Traditional)
 	Locale string `json:"locale,omitempty"`
 
 	// MaximumImageSize: Maximum image size allowed for this account, in
@@ -1081,14 +1031,14 @@
 	// account.
 	//
 	// Possible values:
+	//   "ACTIVE_ADS_TIER_40K"
+	//   "ACTIVE_ADS_TIER_75K"
 	//   "ACTIVE_ADS_TIER_100K"
-	//   "ACTIVE_ADS_TIER_1M"
 	//   "ACTIVE_ADS_TIER_200K"
 	//   "ACTIVE_ADS_TIER_300K"
-	//   "ACTIVE_ADS_TIER_40K"
 	//   "ACTIVE_ADS_TIER_500K"
 	//   "ACTIVE_ADS_TIER_750K"
-	//   "ACTIVE_ADS_TIER_75K"
+	//   "ACTIVE_ADS_TIER_1M"
 	ActiveAdsLimitTier string `json:"activeAdsLimitTier,omitempty"`
 
 	// AvailableAds: Ads that can be activated for the account.
@@ -1130,11 +1080,8 @@
 // require an account permission to be present in the account.
 type AccountPermission struct {
 	// AccountProfiles: Account profiles associated with this account
-	// permission.
-	//
-	// Possible values are:
-	// - "ACCOUNT_PROFILE_BASIC"
-	// - "ACCOUNT_PROFILE_STANDARD"
+	// permission. Possible values are: - "ACCOUNT_PROFILE_BASIC" -
+	// "ACCOUNT_PROFILE_STANDARD"
 	//
 	// Possible values:
 	//   "ACCOUNT_PROFILE_BASIC"
@@ -1152,8 +1099,8 @@
 	// permission.
 	//
 	// Possible values:
-	//   "ADMINISTRATOR"
 	//   "USER"
+	//   "ADMINISTRATOR"
 	Level string `json:"level,omitempty"`
 
 	// Name: Name of this account permission.
@@ -1344,30 +1291,18 @@
 	// string "dfareporting#accountUserProfile".
 	Kind string `json:"kind,omitempty"`
 
-	// Locale: Locale of the user profile. This is a required
-	// field.
-	// Acceptable values are:
-	// - "cs" (Czech)
-	// - "de" (German)
-	// - "en" (English)
-	// - "en-GB" (English United Kingdom)
-	// - "es" (Spanish)
-	// - "fr" (French)
-	// - "it" (Italian)
-	// - "ja" (Japanese)
-	// - "ko" (Korean)
-	// - "pl" (Polish)
-	// - "pt-BR" (Portuguese Brazil)
-	// - "ru" (Russian)
-	// - "sv" (Swedish)
-	// - "tr" (Turkish)
-	// - "zh-CN" (Chinese Simplified)
-	// - "zh-TW" (Chinese Traditional)
+	// Locale: Locale of the user profile. This is a required field.
+	// Acceptable values are: - "cs" (Czech) - "de" (German) - "en"
+	// (English) - "en-GB" (English United Kingdom) - "es" (Spanish) - "fr"
+	// (French) - "it" (Italian) - "ja" (Japanese) - "ko" (Korean) - "pl"
+	// (Polish) - "pt-BR" (Portuguese Brazil) - "ru" (Russian) - "sv"
+	// (Swedish) - "tr" (Turkish) - "zh-CN" (Chinese Simplified) - "zh-TW"
+	// (Chinese Traditional)
 	Locale string `json:"locale,omitempty"`
 
 	// Name: Name of the user profile. This is a required field. Must be
 	// less than 64 characters long, must be globally unique, and cannot
-	// contain whitespace or any of the following characters: "&;"#%,".
+	// contain whitespace or any of the following characters: "&;<>"#%,".
 	Name string `json:"name,omitempty"`
 
 	// SiteFilter: Filter that describes which sites are visible to the user
@@ -1382,19 +1317,19 @@
 	// read-only field.
 	//
 	// Possible values:
-	//   "EXTERNAL_TRAFFICKER"
 	//   "INTERNAL_NON_TRAFFICKER"
 	//   "INTERNAL_TRAFFICKER"
+	//   "EXTERNAL_TRAFFICKER"
 	TraffickerType string `json:"traffickerType,omitempty"`
 
 	// UserAccessType: User type of the user profile. This is a read-only
 	// field that can be left blank.
 	//
 	// Possible values:
-	//   "INTERNAL_ADMINISTRATOR"
 	//   "NORMAL_USER"
-	//   "READ_ONLY_SUPER_USER"
 	//   "SUPER_USER"
+	//   "INTERNAL_ADMINISTRATOR"
+	//   "READ_ONLY_SUPER_USER"
 	UserAccessType string `json:"userAccessType,omitempty"`
 
 	// UserRoleFilter: Filter that describes which user roles are visible to
@@ -1605,12 +1540,12 @@
 	// video ads developed with the VAST standard.
 	//
 	// Possible values:
-	//   "APP"
-	//   "APP_INTERSTITIAL"
 	//   "DISPLAY"
 	//   "DISPLAY_INTERSTITIAL"
-	//   "IN_STREAM_AUDIO"
+	//   "APP"
+	//   "APP_INTERSTITIAL"
 	//   "IN_STREAM_VIDEO"
+	//   "IN_STREAM_AUDIO"
 	Compatibility string `json:"compatibility,omitempty"`
 
 	// CreateInfo: Information about the creation of this ad. This is a
@@ -1626,7 +1561,7 @@
 	// CreativeRotation: Creative rotation for this ad. Applicable when type
 	// is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or
 	// AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field
-	// should have exactly one creativeAssignment.
+	// should have exactly one creativeAssignment .
 	CreativeRotation *CreativeRotation `json:"creativeRotation,omitempty"`
 
 	// DayPartTargeting: Time and day targeting information for this ad.
@@ -1650,8 +1585,6 @@
 	// field on insert, and is read-only after insert.
 	DynamicClickTracker bool `json:"dynamicClickTracker,omitempty"`
 
-	// EndTime: Date and time that this ad should stop serving. Must be
-	// later than the start time. This is a required field on insertion.
 	EndTime string `json:"endTime,omitempty"`
 
 	// EventTagOverrides: Event tag overrides for this ad.
@@ -1710,9 +1643,6 @@
 	// that is auto-generated when the ad is inserted or updated.
 	SslRequired bool `json:"sslRequired,omitempty"`
 
-	// StartTime: Date and time that this ad should start serving. If
-	// creating an ad, this field must be a time in the future. This is a
-	// required field on insertion.
 	StartTime string `json:"startTime,omitempty"`
 
 	// SubaccountId: Subaccount ID of this ad. This is a read-only field
@@ -1733,13 +1663,13 @@
 	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
 
 	// Type: Type of ad. This is a required field on insertion. Note that
-	// default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see
+	// default ads ( AD_SERVING_DEFAULT_AD) cannot be created directly (see
 	// Creative resource).
 	//
 	// Possible values:
-	//   "AD_SERVING_CLICK_TRACKER"
-	//   "AD_SERVING_DEFAULT_AD"
 	//   "AD_SERVING_STANDARD_AD"
+	//   "AD_SERVING_DEFAULT_AD"
+	//   "AD_SERVING_CLICK_TRACKER"
 	//   "AD_SERVING_TRACKING"
 	Type string `json:"type,omitempty"`
 
@@ -1831,12 +1761,12 @@
 	// developed with the VAST standard.
 	//
 	// Possible values:
-	//   "APP"
-	//   "APP_INTERSTITIAL"
 	//   "DISPLAY"
 	//   "DISPLAY_INTERSTITIAL"
-	//   "IN_STREAM_AUDIO"
+	//   "APP"
+	//   "APP_INTERSTITIAL"
 	//   "IN_STREAM_VIDEO"
+	//   "IN_STREAM_AUDIO"
 	Compatibility string `json:"compatibility,omitempty"`
 
 	// Height: Height of this ad slot.
@@ -1954,12 +1884,10 @@
 	// automatically, so on insert this field should be left blank. This
 	// field can be set to another advertiser's floodlight configuration ID
 	// in order to share that advertiser's floodlight configuration with
-	// this advertiser, so long as:
-	// - This advertiser's original floodlight configuration is not already
-	// associated with floodlight activities or floodlight activity groups.
-	//
-	// - This advertiser's original floodlight configuration is not already
-	// shared with another advertiser.
+	// this advertiser, so long as: - This advertiser's original floodlight
+	// configuration is not already associated with floodlight activities or
+	// floodlight activity groups. - This advertiser's original floodlight
+	// configuration is not already shared with another advertiser.
 	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
 
 	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
@@ -2439,13 +2367,6 @@
 	// DefaultLandingPageId: The default landing page ID for this campaign.
 	DefaultLandingPageId int64 `json:"defaultLandingPageId,omitempty,string"`
 
-	// EndDate: Date on which the campaign will stop running. On insert, the
-	// end date must be today or a future date. The end date must be later
-	// than or be the same as the start date. If, for example, you set
-	// 6/25/2015 as both the start and end dates, the effective campaign run
-	// date is just that day only, 6/25/2015. The hours, minutes, and
-	// seconds of the end date should not be set, as doing so will result in
-	// an error. This is a required field.
 	EndDate string `json:"endDate,omitempty"`
 
 	// EventTagOverrides: Overrides that can be used to activate or
@@ -2479,10 +2400,6 @@
 	// campaign.
 	NielsenOcrEnabled bool `json:"nielsenOcrEnabled,omitempty"`
 
-	// StartDate: Date on which the campaign starts running. The start date
-	// can be any date. The hours, minutes, and seconds of the start date
-	// should not be set, as doing so will result in an error. This is a
-	// required field.
 	StartDate string `json:"startDate,omitempty"`
 
 	// SubaccountId: Subaccount ID of this campaign. This is a read-only
@@ -2649,7 +2566,6 @@
 	// Action: Action which caused the change.
 	Action string `json:"action,omitempty"`
 
-	// ChangeTime: Time when the object was modified.
 	ChangeTime string `json:"changeTime,omitempty"`
 
 	// FieldName: Field name of the object which changed.
@@ -2892,13 +2808,12 @@
 type ClickThroughUrl struct {
 	// ComputedClickThroughUrl: Read-only convenience field representing the
 	// actual URL that will be used for this click-through. The URL is
-	// computed as follows:
-	// - If defaultLandingPage is enabled then the campaign's default
-	// landing page URL is assigned to this field.
-	// - If defaultLandingPage is not enabled and a landingPageId is
-	// specified then that landing page's URL is assigned to this field.
-	// - If neither of the above cases apply, then the customClickThroughUrl
-	// is assigned to this field.
+	// computed as follows: - If defaultLandingPage is enabled then the
+	// campaign's default landing page URL is assigned to this field. - If
+	// defaultLandingPage is not enabled and a landingPageId is specified
+	// then that landing page's URL is assigned to this field. - If neither
+	// of the above cases apply, then the customClickThroughUrl is assigned
+	// to this field.
 	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
 
 	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
@@ -3409,10 +3324,10 @@
 	// Code: The error code.
 	//
 	// Possible values:
-	//   "INTERNAL"
 	//   "INVALID_ARGUMENT"
-	//   "NOT_FOUND"
+	//   "INTERNAL"
 	//   "PERMISSION_DENIED"
+	//   "NOT_FOUND"
 	Code string `json:"code,omitempty"`
 
 	// Kind: Identifies what kind of resource this is. Value: the fixed
@@ -3769,8 +3684,8 @@
 	// Possible values:
 	//   "ARTWORK_TYPE_FLASH"
 	//   "ARTWORK_TYPE_HTML5"
-	//   "ARTWORK_TYPE_IMAGE"
 	//   "ARTWORK_TYPE_MIXED"
+	//   "ARTWORK_TYPE_IMAGE"
 	ArtworkType string `json:"artworkType,omitempty"`
 
 	// AuthoringSource: Source application where creative was authored.
@@ -3778,8 +3693,8 @@
 	// Applicable to all creative types.
 	//
 	// Possible values:
-	//   "CREATIVE_AUTHORING_SOURCE_DBM"
 	//   "CREATIVE_AUTHORING_SOURCE_DCM"
+	//   "CREATIVE_AUTHORING_SOURCE_DBM"
 	//   "CREATIVE_AUTHORING_SOURCE_STUDIO"
 	AuthoringSource string `json:"authoringSource,omitempty"`
 
@@ -3820,72 +3735,72 @@
 	// when the primary asset type is not HTML_IMAGE.
 	//
 	// Possible values:
-	//   "APPLICATION_CACHE"
-	//   "AUDIO"
-	//   "CANVAS"
-	//   "CANVAS_TEXT"
-	//   "CSS_ANIMATIONS"
+	//   "CSS_FONT_FACE"
 	//   "CSS_BACKGROUND_SIZE"
 	//   "CSS_BORDER_IMAGE"
 	//   "CSS_BORDER_RADIUS"
 	//   "CSS_BOX_SHADOW"
-	//   "CSS_COLUMNS"
 	//   "CSS_FLEX_BOX"
-	//   "CSS_FONT_FACE"
-	//   "CSS_GENERATED_CONTENT"
-	//   "CSS_GRADIENTS"
 	//   "CSS_HSLA"
 	//   "CSS_MULTIPLE_BGS"
 	//   "CSS_OPACITY"
-	//   "CSS_REFLECTIONS"
 	//   "CSS_RGBA"
 	//   "CSS_TEXT_SHADOW"
+	//   "CSS_ANIMATIONS"
+	//   "CSS_COLUMNS"
+	//   "CSS_GENERATED_CONTENT"
+	//   "CSS_GRADIENTS"
+	//   "CSS_REFLECTIONS"
 	//   "CSS_TRANSFORMS"
 	//   "CSS_TRANSFORMS3D"
 	//   "CSS_TRANSITIONS"
+	//   "APPLICATION_CACHE"
+	//   "CANVAS"
+	//   "CANVAS_TEXT"
 	//   "DRAG_AND_DROP"
-	//   "GEO_LOCATION"
 	//   "HASH_CHANGE"
 	//   "HISTORY"
+	//   "AUDIO"
+	//   "VIDEO"
 	//   "INDEXED_DB"
-	//   "INLINE_SVG"
 	//   "INPUT_ATTR_AUTOCOMPLETE"
 	//   "INPUT_ATTR_AUTOFOCUS"
 	//   "INPUT_ATTR_LIST"
+	//   "INPUT_ATTR_PLACEHOLDER"
 	//   "INPUT_ATTR_MAX"
 	//   "INPUT_ATTR_MIN"
 	//   "INPUT_ATTR_MULTIPLE"
 	//   "INPUT_ATTR_PATTERN"
-	//   "INPUT_ATTR_PLACEHOLDER"
 	//   "INPUT_ATTR_REQUIRED"
 	//   "INPUT_ATTR_STEP"
-	//   "INPUT_TYPE_COLOR"
-	//   "INPUT_TYPE_DATE"
-	//   "INPUT_TYPE_DATETIME"
-	//   "INPUT_TYPE_DATETIME_LOCAL"
-	//   "INPUT_TYPE_EMAIL"
-	//   "INPUT_TYPE_MONTH"
-	//   "INPUT_TYPE_NUMBER"
-	//   "INPUT_TYPE_RANGE"
 	//   "INPUT_TYPE_SEARCH"
 	//   "INPUT_TYPE_TEL"
-	//   "INPUT_TYPE_TIME"
 	//   "INPUT_TYPE_URL"
+	//   "INPUT_TYPE_EMAIL"
+	//   "INPUT_TYPE_DATETIME"
+	//   "INPUT_TYPE_DATE"
+	//   "INPUT_TYPE_MONTH"
 	//   "INPUT_TYPE_WEEK"
+	//   "INPUT_TYPE_TIME"
+	//   "INPUT_TYPE_DATETIME_LOCAL"
+	//   "INPUT_TYPE_NUMBER"
+	//   "INPUT_TYPE_RANGE"
+	//   "INPUT_TYPE_COLOR"
 	//   "LOCAL_STORAGE"
 	//   "POST_MESSAGE"
 	//   "SESSION_STORAGE"
-	//   "SMIL"
-	//   "SVG_CLIP_PATHS"
-	//   "SVG_FE_IMAGE"
-	//   "SVG_FILTERS"
-	//   "SVG_HREF"
-	//   "TOUCH"
-	//   "VIDEO"
-	//   "WEBGL"
 	//   "WEB_SOCKETS"
 	//   "WEB_SQL_DATABASE"
 	//   "WEB_WORKERS"
+	//   "GEO_LOCATION"
+	//   "INLINE_SVG"
+	//   "SMIL"
+	//   "SVG_HREF"
+	//   "SVG_CLIP_PATHS"
+	//   "TOUCH"
+	//   "WEBGL"
+	//   "SVG_FILTERS"
+	//   "SVG_FE_IMAGE"
 	BackupImageFeatures []string `json:"backupImageFeatures,omitempty"`
 
 	// BackupImageReportingLabel: Reporting label used for HTML5 banner
@@ -3934,23 +3849,17 @@
 	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
 	// with the VAST standard. IN_STREAM_AUDIO refers to rendering in
 	// in-stream audio ads developed with the VAST standard. Applicable to
-	// all creative types.
-	//
-	// Acceptable values are:
-	// - "APP"
-	// - "APP_INTERSTITIAL"
-	// - "IN_STREAM_VIDEO"
-	// - "IN_STREAM_AUDIO"
-	// - "DISPLAY"
-	// - "DISPLAY_INTERSTITIAL"
+	// all creative types. Acceptable values are: - "APP" -
+	// "APP_INTERSTITIAL" - "IN_STREAM_VIDEO" - "IN_STREAM_AUDIO" -
+	// "DISPLAY" - "DISPLAY_INTERSTITIAL"
 	//
 	// Possible values:
-	//   "APP"
-	//   "APP_INTERSTITIAL"
 	//   "DISPLAY"
 	//   "DISPLAY_INTERSTITIAL"
-	//   "IN_STREAM_AUDIO"
+	//   "APP"
+	//   "APP_INTERSTITIAL"
 	//   "IN_STREAM_VIDEO"
+	//   "IN_STREAM_AUDIO"
 	Compatibility []string `json:"compatibility,omitempty"`
 
 	// ConvertFlashToHtml5: Whether Flash assets associated with the
@@ -4175,38 +4084,36 @@
 	TotalFileSize int64 `json:"totalFileSize,omitempty,string"`
 
 	// Type: Type of this creative. This is a required field. Applicable to
-	// all creative types.
-	//
-	// Note: FLASH_INPAGE, HTML5_BANNER, and IMAGE are only used for
-	// existing creatives. New creatives should use DISPLAY as a replacement
-	// for these types.
+	// all creative types. *Note:* FLASH_INPAGE, HTML5_BANNER, and IMAGE are
+	// only used for existing creatives. New creatives should use DISPLAY as
+	// a replacement for these types.
 	//
 	// Possible values:
-	//   "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
-	//   "CUSTOM_DISPLAY"
-	//   "CUSTOM_DISPLAY_INTERSTITIAL"
-	//   "DISPLAY"
-	//   "DISPLAY_IMAGE_GALLERY"
-	//   "DISPLAY_REDIRECT"
-	//   "FLASH_INPAGE"
-	//   "HTML5_BANNER"
 	//   "IMAGE"
-	//   "INSTREAM_AUDIO"
-	//   "INSTREAM_VIDEO"
-	//   "INSTREAM_VIDEO_REDIRECT"
+	//   "DISPLAY_REDIRECT"
+	//   "CUSTOM_DISPLAY"
 	//   "INTERNAL_REDIRECT"
+	//   "CUSTOM_DISPLAY_INTERSTITIAL"
 	//   "INTERSTITIAL_INTERNAL_REDIRECT"
+	//   "TRACKING_TEXT"
 	//   "RICH_MEDIA_DISPLAY_BANNER"
+	//   "RICH_MEDIA_INPAGE_FLOATING"
+	//   "RICH_MEDIA_IM_EXPAND"
 	//   "RICH_MEDIA_DISPLAY_EXPANDING"
 	//   "RICH_MEDIA_DISPLAY_INTERSTITIAL"
 	//   "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
-	//   "RICH_MEDIA_IM_EXPAND"
-	//   "RICH_MEDIA_INPAGE_FLOATING"
 	//   "RICH_MEDIA_MOBILE_IN_APP"
-	//   "RICH_MEDIA_PEEL_DOWN"
-	//   "TRACKING_TEXT"
+	//   "FLASH_INPAGE"
+	//   "INSTREAM_VIDEO"
 	//   "VPAID_LINEAR_VIDEO"
 	//   "VPAID_NON_LINEAR_VIDEO"
+	//   "INSTREAM_VIDEO_REDIRECT"
+	//   "RICH_MEDIA_PEEL_DOWN"
+	//   "HTML5_BANNER"
+	//   "DISPLAY"
+	//   "DISPLAY_IMAGE_GALLERY"
+	//   "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
+	//   "INSTREAM_AUDIO"
 	Type string `json:"type,omitempty"`
 
 	// UniversalAdId: A Universal Ad ID as per the VAST 4.0 spec. Applicable
@@ -4286,13 +4193,13 @@
 
 	// Alignment: Possible alignments for an asset. This is a read-only
 	// field. Applicable to the following creative types:
-	// RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL.
+	// RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL .
 	//
 	// Possible values:
+	//   "ALIGNMENT_TOP"
+	//   "ALIGNMENT_RIGHT"
 	//   "ALIGNMENT_BOTTOM"
 	//   "ALIGNMENT_LEFT"
-	//   "ALIGNMENT_RIGHT"
-	//   "ALIGNMENT_TOP"
 	Alignment string `json:"alignment,omitempty"`
 
 	// ArtworkType: Artwork type of rich media creative. This is a read-only
@@ -4301,8 +4208,8 @@
 	// Possible values:
 	//   "ARTWORK_TYPE_FLASH"
 	//   "ARTWORK_TYPE_HTML5"
-	//   "ARTWORK_TYPE_IMAGE"
 	//   "ARTWORK_TYPE_MIXED"
+	//   "ARTWORK_TYPE_IMAGE"
 	ArtworkType string `json:"artworkType,omitempty"`
 
 	// AssetIdentifier: Identifier of this asset. This is the same
@@ -4334,10 +4241,10 @@
 	// field. Applicable to the following creative types: all VPAID.
 	//
 	// Possible values:
-	//   "CHILD_ASSET_TYPE_DATA"
 	//   "CHILD_ASSET_TYPE_FLASH"
-	//   "CHILD_ASSET_TYPE_IMAGE"
 	//   "CHILD_ASSET_TYPE_VIDEO"
+	//   "CHILD_ASSET_TYPE_IMAGE"
+	//   "CHILD_ASSET_TYPE_DATA"
 	ChildAssetType string `json:"childAssetType,omitempty"`
 
 	// CollapsedSize: Size of an asset when collapsed. This is a read-only
@@ -4365,88 +4272,88 @@
 	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
 	//
 	// Possible values:
-	//   "APPLICATION_CACHE"
-	//   "AUDIO"
-	//   "CANVAS"
-	//   "CANVAS_TEXT"
-	//   "CSS_ANIMATIONS"
+	//   "CSS_FONT_FACE"
 	//   "CSS_BACKGROUND_SIZE"
 	//   "CSS_BORDER_IMAGE"
 	//   "CSS_BORDER_RADIUS"
 	//   "CSS_BOX_SHADOW"
-	//   "CSS_COLUMNS"
 	//   "CSS_FLEX_BOX"
-	//   "CSS_FONT_FACE"
-	//   "CSS_GENERATED_CONTENT"
-	//   "CSS_GRADIENTS"
 	//   "CSS_HSLA"
 	//   "CSS_MULTIPLE_BGS"
 	//   "CSS_OPACITY"
-	//   "CSS_REFLECTIONS"
 	//   "CSS_RGBA"
 	//   "CSS_TEXT_SHADOW"
+	//   "CSS_ANIMATIONS"
+	//   "CSS_COLUMNS"
+	//   "CSS_GENERATED_CONTENT"
+	//   "CSS_GRADIENTS"
+	//   "CSS_REFLECTIONS"
 	//   "CSS_TRANSFORMS"
 	//   "CSS_TRANSFORMS3D"
 	//   "CSS_TRANSITIONS"
+	//   "APPLICATION_CACHE"
+	//   "CANVAS"
+	//   "CANVAS_TEXT"
 	//   "DRAG_AND_DROP"
-	//   "GEO_LOCATION"
 	//   "HASH_CHANGE"
 	//   "HISTORY"
+	//   "AUDIO"
+	//   "VIDEO"
 	//   "INDEXED_DB"
-	//   "INLINE_SVG"
 	//   "INPUT_ATTR_AUTOCOMPLETE"
 	//   "INPUT_ATTR_AUTOFOCUS"
 	//   "INPUT_ATTR_LIST"
+	//   "INPUT_ATTR_PLACEHOLDER"
 	//   "INPUT_ATTR_MAX"
 	//   "INPUT_ATTR_MIN"
 	//   "INPUT_ATTR_MULTIPLE"
 	//   "INPUT_ATTR_PATTERN"
-	//   "INPUT_ATTR_PLACEHOLDER"
 	//   "INPUT_ATTR_REQUIRED"
 	//   "INPUT_ATTR_STEP"
-	//   "INPUT_TYPE_COLOR"
-	//   "INPUT_TYPE_DATE"
-	//   "INPUT_TYPE_DATETIME"
-	//   "INPUT_TYPE_DATETIME_LOCAL"
-	//   "INPUT_TYPE_EMAIL"
-	//   "INPUT_TYPE_MONTH"
-	//   "INPUT_TYPE_NUMBER"
-	//   "INPUT_TYPE_RANGE"
 	//   "INPUT_TYPE_SEARCH"
 	//   "INPUT_TYPE_TEL"
-	//   "INPUT_TYPE_TIME"
 	//   "INPUT_TYPE_URL"
+	//   "INPUT_TYPE_EMAIL"
+	//   "INPUT_TYPE_DATETIME"
+	//   "INPUT_TYPE_DATE"
+	//   "INPUT_TYPE_MONTH"
 	//   "INPUT_TYPE_WEEK"
+	//   "INPUT_TYPE_TIME"
+	//   "INPUT_TYPE_DATETIME_LOCAL"
+	//   "INPUT_TYPE_NUMBER"
+	//   "INPUT_TYPE_RANGE"
+	//   "INPUT_TYPE_COLOR"
 	//   "LOCAL_STORAGE"
 	//   "POST_MESSAGE"
 	//   "SESSION_STORAGE"
-	//   "SMIL"
-	//   "SVG_CLIP_PATHS"
-	//   "SVG_FE_IMAGE"
-	//   "SVG_FILTERS"
-	//   "SVG_HREF"
-	//   "TOUCH"
-	//   "VIDEO"
-	//   "WEBGL"
 	//   "WEB_SOCKETS"
 	//   "WEB_SQL_DATABASE"
 	//   "WEB_WORKERS"
+	//   "GEO_LOCATION"
+	//   "INLINE_SVG"
+	//   "SMIL"
+	//   "SVG_HREF"
+	//   "SVG_CLIP_PATHS"
+	//   "TOUCH"
+	//   "WEBGL"
+	//   "SVG_FILTERS"
+	//   "SVG_FE_IMAGE"
 	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
 
 	// DisplayType: Type of rich media asset. This is a read-only field.
 	// Applicable to the following creative types: all RICH_MEDIA.
 	//
 	// Possible values:
-	//   "ASSET_DISPLAY_TYPE_BACKDROP"
+	//   "ASSET_DISPLAY_TYPE_INPAGE"
+	//   "ASSET_DISPLAY_TYPE_FLOATING"
+	//   "ASSET_DISPLAY_TYPE_OVERLAY"
 	//   "ASSET_DISPLAY_TYPE_EXPANDING"
 	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH"
 	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING"
-	//   "ASSET_DISPLAY_TYPE_FLOATING"
-	//   "ASSET_DISPLAY_TYPE_INPAGE"
-	//   "ASSET_DISPLAY_TYPE_OVERLAY"
 	//   "ASSET_DISPLAY_TYPE_PEEL_DOWN"
 	//   "ASSET_DISPLAY_TYPE_VPAID_LINEAR"
 	//   "ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR"
+	//   "ASSET_DISPLAY_TYPE_BACKDROP"
 	DisplayType string `json:"displayType,omitempty"`
 
 	// Duration: Duration in seconds for which an asset will be displayed.
@@ -4460,8 +4367,8 @@
 	//
 	// Possible values:
 	//   "ASSET_DURATION_TYPE_AUTO"
-	//   "ASSET_DURATION_TYPE_CUSTOM"
 	//   "ASSET_DURATION_TYPE_NONE"
+	//   "ASSET_DURATION_TYPE_CUSTOM"
 	DurationType string `json:"durationType,omitempty"`
 
 	// ExpandedDimension: Detected expanded dimension for video asset. This
@@ -4549,8 +4456,8 @@
 	// field. Applicable to the following creative types: all RICH_MEDIA.
 	//
 	// Possible values:
-	//   "OFFSET_UNIT_PERCENT"
 	//   "OFFSET_UNIT_PIXEL"
+	//   "OFFSET_UNIT_PERCENT"
 	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
 	PositionLeftUnit string `json:"positionLeftUnit,omitempty"`
 
@@ -4559,8 +4466,8 @@
 	// Applicable to the following creative types: all RICH_MEDIA.
 	//
 	// Possible values:
-	//   "OFFSET_UNIT_PERCENT"
 	//   "OFFSET_UNIT_PIXEL"
+	//   "OFFSET_UNIT_PERCENT"
 	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
 	PositionTopUnit string `json:"positionTopUnit,omitempty"`
 
@@ -4586,50 +4493,43 @@
 
 	// Role: Role of the asset in relation to creative. Applicable to all
 	// but the following creative types: all REDIRECT and TRACKING_TEXT.
-	// This is a required field.
-	// PRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, IMAGE,
-	// DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple
-	// primary assets), and all VPAID creatives.
+	// This is a required field. PRIMARY applies to DISPLAY, FLASH_INPAGE,
+	// HTML5_BANNER, IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may
+	// contain multiple primary assets), and all VPAID creatives.
 	// BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA,
 	// and all VPAID creatives. Applicable to DISPLAY when the primary asset
-	// type is not HTML_IMAGE.
-	// ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE
-	// creatives.
-	// OTHER refers to assets from sources other than Campaign Manager, such
-	// as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID
-	// creatives.
-	// PARENT_VIDEO refers to videos uploaded by the user in Campaign
-	// Manager and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO
-	// creatives.
-	// TRANSCODED_VIDEO refers to videos transcoded by Campaign Manager from
-	// PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and
-	// VPAID_LINEAR_VIDEO creatives.
-	// ALTERNATE_VIDEO refers to the Campaign Manager representation of
-	// child asset videos from Studio, and is applicable to
-	// VPAID_LINEAR_VIDEO creatives. These cannot be added or removed within
-	// Campaign Manager.
-	// For VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO and
-	// ALTERNATE_VIDEO assets that are marked active serve as backup in case
-	// the VPAID creative cannot be served. Only PARENT_VIDEO assets can be
-	// added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO
-	// creative.
-	// PARENT_AUDIO refers to audios uploaded by the user in Campaign
-	// Manager and is applicable to INSTREAM_AUDIO
-	// creatives.
-	// TRANSCODED_AUDIO refers to audios transcoded by Campaign Manager from
-	// PARENT_AUDIO assets and is applicable to INSTREAM_AUDIO creatives.
+	// type is not HTML_IMAGE. ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply
+	// to FLASH_INPAGE creatives. OTHER refers to assets from sources other
+	// than Campaign Manager, such as Studio uploaded assets, applicable to
+	// all RICH_MEDIA and all VPAID creatives. PARENT_VIDEO refers to videos
+	// uploaded by the user in Campaign Manager and is applicable to
+	// INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives. TRANSCODED_VIDEO
+	// refers to videos transcoded by Campaign Manager from PARENT_VIDEO
+	// assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO
+	// creatives. ALTERNATE_VIDEO refers to the Campaign Manager
+	// representation of child asset videos from Studio, and is applicable
+	// to VPAID_LINEAR_VIDEO creatives. These cannot be added or removed
+	// within Campaign Manager. For VPAID_LINEAR_VIDEO creatives,
+	// PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are
+	// marked active serve as backup in case the VPAID creative cannot be
+	// served. Only PARENT_VIDEO assets can be added or removed for an
+	// INSTREAM_VIDEO or VPAID_LINEAR_VIDEO creative. PARENT_AUDIO refers to
+	// audios uploaded by the user in Campaign Manager and is applicable to
+	// INSTREAM_AUDIO creatives. TRANSCODED_AUDIO refers to audios
+	// transcoded by Campaign Manager from PARENT_AUDIO assets and is
+	// applicable to INSTREAM_AUDIO creatives.
 	//
 	// Possible values:
-	//   "ADDITIONAL_FLASH"
-	//   "ADDITIONAL_IMAGE"
-	//   "ALTERNATE_VIDEO"
-	//   "BACKUP_IMAGE"
-	//   "OTHER"
-	//   "PARENT_AUDIO"
-	//   "PARENT_VIDEO"
 	//   "PRIMARY"
-	//   "TRANSCODED_AUDIO"
+	//   "BACKUP_IMAGE"
+	//   "ADDITIONAL_IMAGE"
+	//   "ADDITIONAL_FLASH"
+	//   "PARENT_VIDEO"
 	//   "TRANSCODED_VIDEO"
+	//   "OTHER"
+	//   "ALTERNATE_VIDEO"
+	//   "PARENT_AUDIO"
+	//   "TRANSCODED_AUDIO"
 	Role string `json:"role,omitempty"`
 
 	// Size: Size associated with this creative asset. This is a required
@@ -4650,8 +4550,8 @@
 	// visible. Applicable to the following creative types: all RICH_MEDIA.
 	//
 	// Possible values:
-	//   "ASSET_START_TIME_TYPE_CUSTOM"
 	//   "ASSET_START_TIME_TYPE_NONE"
+	//   "ASSET_START_TIME_TYPE_CUSTOM"
 	StartTimeType string `json:"startTimeType,omitempty"`
 
 	// StreamingServingUrl: Streaming URL for video asset. This is a
@@ -4676,8 +4576,8 @@
 	//
 	// Possible values:
 	//   "OPAQUE"
-	//   "TRANSPARENT"
 	//   "WINDOW"
+	//   "TRANSPARENT"
 	WindowMode string `json:"windowMode,omitempty"`
 
 	// ZIndex: zIndex value of an asset. Applicable to the following
@@ -4749,12 +4649,12 @@
 	// should use HTML_IMAGE.
 	//
 	// Possible values:
-	//   "AUDIO"
+	//   "IMAGE"
 	//   "FLASH"
+	//   "VIDEO"
 	//   "HTML"
 	//   "HTML_IMAGE"
-	//   "IMAGE"
-	//   "VIDEO"
+	//   "AUDIO"
 	Type string `json:"type,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Name") to
@@ -4800,72 +4700,72 @@
 	// field.
 	//
 	// Possible values:
-	//   "APPLICATION_CACHE"
-	//   "AUDIO"
-	//   "CANVAS"
-	//   "CANVAS_TEXT"
-	//   "CSS_ANIMATIONS"
+	//   "CSS_FONT_FACE"
 	//   "CSS_BACKGROUND_SIZE"
 	//   "CSS_BORDER_IMAGE"
 	//   "CSS_BORDER_RADIUS"
 	//   "CSS_BOX_SHADOW"
-	//   "CSS_COLUMNS"
 	//   "CSS_FLEX_BOX"
-	//   "CSS_FONT_FACE"
-	//   "CSS_GENERATED_CONTENT"
-	//   "CSS_GRADIENTS"
 	//   "CSS_HSLA"
 	//   "CSS_MULTIPLE_BGS"
 	//   "CSS_OPACITY"
-	//   "CSS_REFLECTIONS"
 	//   "CSS_RGBA"
 	//   "CSS_TEXT_SHADOW"
+	//   "CSS_ANIMATIONS"
+	//   "CSS_COLUMNS"
+	//   "CSS_GENERATED_CONTENT"
+	//   "CSS_GRADIENTS"
+	//   "CSS_REFLECTIONS"
 	//   "CSS_TRANSFORMS"
 	//   "CSS_TRANSFORMS3D"
 	//   "CSS_TRANSITIONS"
+	//   "APPLICATION_CACHE"
+	//   "CANVAS"
+	//   "CANVAS_TEXT"
 	//   "DRAG_AND_DROP"
-	//   "GEO_LOCATION"
 	//   "HASH_CHANGE"
 	//   "HISTORY"
+	//   "AUDIO"
+	//   "VIDEO"
 	//   "INDEXED_DB"
-	//   "INLINE_SVG"
 	//   "INPUT_ATTR_AUTOCOMPLETE"
 	//   "INPUT_ATTR_AUTOFOCUS"
 	//   "INPUT_ATTR_LIST"
+	//   "INPUT_ATTR_PLACEHOLDER"
 	//   "INPUT_ATTR_MAX"
 	//   "INPUT_ATTR_MIN"
 	//   "INPUT_ATTR_MULTIPLE"
 	//   "INPUT_ATTR_PATTERN"
-	//   "INPUT_ATTR_PLACEHOLDER"
 	//   "INPUT_ATTR_REQUIRED"
 	//   "INPUT_ATTR_STEP"
-	//   "INPUT_TYPE_COLOR"
-	//   "INPUT_TYPE_DATE"
-	//   "INPUT_TYPE_DATETIME"
-	//   "INPUT_TYPE_DATETIME_LOCAL"
-	//   "INPUT_TYPE_EMAIL"
-	//   "INPUT_TYPE_MONTH"
-	//   "INPUT_TYPE_NUMBER"
-	//   "INPUT_TYPE_RANGE"
 	//   "INPUT_TYPE_SEARCH"
 	//   "INPUT_TYPE_TEL"
-	//   "INPUT_TYPE_TIME"
 	//   "INPUT_TYPE_URL"
+	//   "INPUT_TYPE_EMAIL"
+	//   "INPUT_TYPE_DATETIME"
+	//   "INPUT_TYPE_DATE"
+	//   "INPUT_TYPE_MONTH"
 	//   "INPUT_TYPE_WEEK"
+	//   "INPUT_TYPE_TIME"
+	//   "INPUT_TYPE_DATETIME_LOCAL"
+	//   "INPUT_TYPE_NUMBER"
+	//   "INPUT_TYPE_RANGE"
+	//   "INPUT_TYPE_COLOR"
 	//   "LOCAL_STORAGE"
 	//   "POST_MESSAGE"
 	//   "SESSION_STORAGE"
-	//   "SMIL"
-	//   "SVG_CLIP_PATHS"
-	//   "SVG_FE_IMAGE"
-	//   "SVG_FILTERS"
-	//   "SVG_HREF"
-	//   "TOUCH"
-	//   "VIDEO"
-	//   "WEBGL"
 	//   "WEB_SOCKETS"
 	//   "WEB_SQL_DATABASE"
 	//   "WEB_WORKERS"
+	//   "GEO_LOCATION"
+	//   "INLINE_SVG"
+	//   "SMIL"
+	//   "SVG_HREF"
+	//   "SVG_CLIP_PATHS"
+	//   "TOUCH"
+	//   "WEBGL"
+	//   "SVG_FILTERS"
+	//   "SVG_FE_IMAGE"
 	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
 
 	// Id: Numeric ID of the asset. This is a read-only, auto-generated
@@ -4881,60 +4781,44 @@
 	Kind string `json:"kind,omitempty"`
 
 	// WarnedValidationRules: Rules validated during code generation that
-	// generated a warning. This is a read-only, auto-generated
-	// field.
-	//
-	// Possible values are:
-	// - "ADMOB_REFERENCED"
-	// - "ASSET_FORMAT_UNSUPPORTED_DCM"
-	// - "ASSET_INVALID"
-	// - "CLICK_TAG_HARD_CODED"
-	// - "CLICK_TAG_INVALID"
-	// - "CLICK_TAG_IN_GWD"
-	// - "CLICK_TAG_MISSING"
-	// - "CLICK_TAG_MORE_THAN_ONE"
-	// - "CLICK_TAG_NON_TOP_LEVEL"
-	// - "COMPONENT_UNSUPPORTED_DCM"
-	// - "ENABLER_UNSUPPORTED_METHOD_DCM"
-	// - "EXTERNAL_FILE_REFERENCED"
-	// - "FILE_DETAIL_EMPTY"
-	// - "FILE_TYPE_INVALID"
-	// - "GWD_PROPERTIES_INVALID"
-	// - "HTML5_FEATURE_UNSUPPORTED"
-	// - "LINKED_FILE_NOT_FOUND"
-	// - "MAX_FLASH_VERSION_11"
-	// - "MRAID_REFERENCED"
-	// - "NOT_SSL_COMPLIANT"
-	// - "ORPHANED_ASSET"
-	// - "PRIMARY_HTML_MISSING"
-	// - "SVG_INVALID"
-	// - "ZIP_INVALID"
+	// generated a warning. This is a read-only, auto-generated field.
+	// Possible values are: - "ADMOB_REFERENCED" -
+	// "ASSET_FORMAT_UNSUPPORTED_DCM" - "ASSET_INVALID" -
+	// "CLICK_TAG_HARD_CODED" - "CLICK_TAG_INVALID" - "CLICK_TAG_IN_GWD" -
+	// "CLICK_TAG_MISSING" - "CLICK_TAG_MORE_THAN_ONE" -
+	// "CLICK_TAG_NON_TOP_LEVEL" - "COMPONENT_UNSUPPORTED_DCM" -
+	// "ENABLER_UNSUPPORTED_METHOD_DCM" - "EXTERNAL_FILE_REFERENCED" -
+	// "FILE_DETAIL_EMPTY" - "FILE_TYPE_INVALID" - "GWD_PROPERTIES_INVALID"
+	// - "HTML5_FEATURE_UNSUPPORTED" - "LINKED_FILE_NOT_FOUND" -
+	// "MAX_FLASH_VERSION_11" - "MRAID_REFERENCED" - "NOT_SSL_COMPLIANT" -
+	// "ORPHANED_ASSET" - "PRIMARY_HTML_MISSING" - "SVG_INVALID" -
+	// "ZIP_INVALID"
 	//
 	// Possible values:
-	//   "ADMOB_REFERENCED"
-	//   "ASSET_FORMAT_UNSUPPORTED_DCM"
-	//   "ASSET_INVALID"
-	//   "CLICK_TAG_HARD_CODED"
-	//   "CLICK_TAG_INVALID"
-	//   "CLICK_TAG_IN_GWD"
+	//   "CLICK_TAG_NON_TOP_LEVEL"
 	//   "CLICK_TAG_MISSING"
 	//   "CLICK_TAG_MORE_THAN_ONE"
-	//   "CLICK_TAG_NON_TOP_LEVEL"
-	//   "COMPONENT_UNSUPPORTED_DCM"
-	//   "ENABLER_UNSUPPORTED_METHOD_DCM"
-	//   "EXTERNAL_FILE_REFERENCED"
-	//   "FILE_DETAIL_EMPTY"
-	//   "FILE_TYPE_INVALID"
-	//   "GWD_PROPERTIES_INVALID"
-	//   "HTML5_FEATURE_UNSUPPORTED"
-	//   "LINKED_FILE_NOT_FOUND"
-	//   "MAX_FLASH_VERSION_11"
-	//   "MRAID_REFERENCED"
-	//   "NOT_SSL_COMPLIANT"
+	//   "CLICK_TAG_INVALID"
 	//   "ORPHANED_ASSET"
 	//   "PRIMARY_HTML_MISSING"
-	//   "SVG_INVALID"
+	//   "EXTERNAL_FILE_REFERENCED"
+	//   "MRAID_REFERENCED"
+	//   "ADMOB_REFERENCED"
+	//   "FILE_TYPE_INVALID"
 	//   "ZIP_INVALID"
+	//   "LINKED_FILE_NOT_FOUND"
+	//   "MAX_FLASH_VERSION_11"
+	//   "NOT_SSL_COMPLIANT"
+	//   "FILE_DETAIL_EMPTY"
+	//   "ASSET_INVALID"
+	//   "GWD_PROPERTIES_INVALID"
+	//   "ENABLER_UNSUPPORTED_METHOD_DCM"
+	//   "ASSET_FORMAT_UNSUPPORTED_DCM"
+	//   "COMPONENT_UNSUPPORTED_DCM"
+	//   "HTML5_FEATURE_UNSUPPORTED"
+	//   "CLICK_TAG_IN_GWD"
+	//   "CLICK_TAG_HARD_CODED"
+	//   "SVG_INVALID"
 	WarnedValidationRules []string `json:"warnedValidationRules,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -5037,24 +4921,15 @@
 	// This is a read-only, auto-generated field.
 	CreativeIdDimensionValue *DimensionValue `json:"creativeIdDimensionValue,omitempty"`
 
-	// EndTime: Date and time that the assigned creative should stop
-	// serving. Must be later than the start time.
 	EndTime string `json:"endTime,omitempty"`
 
 	// RichMediaExitOverrides: Rich media exit overrides for this creative
-	// assignment.
-	// Applicable when the creative type is any of the following:
-	// - DISPLAY
-	// - RICH_MEDIA_INPAGE
-	// - RICH_MEDIA_INPAGE_FLOATING
-	// - RICH_MEDIA_IM_EXPAND
-	// - RICH_MEDIA_EXPANDING
-	// - RICH_MEDIA_INTERSTITIAL_FLOAT
-	// - RICH_MEDIA_MOBILE_IN_APP
-	// - RICH_MEDIA_MULTI_FLOATING
-	// - RICH_MEDIA_PEEL_DOWN
-	// - VPAID_LINEAR
-	// - VPAID_NON_LINEAR
+	// assignment. Applicable when the creative type is any of the
+	// following: - DISPLAY - RICH_MEDIA_INPAGE - RICH_MEDIA_INPAGE_FLOATING
+	// - RICH_MEDIA_IM_EXPAND - RICH_MEDIA_EXPANDING -
+	// RICH_MEDIA_INTERSTITIAL_FLOAT - RICH_MEDIA_MOBILE_IN_APP -
+	// RICH_MEDIA_MULTI_FLOATING - RICH_MEDIA_PEEL_DOWN - VPAID_LINEAR -
+	// VPAID_NON_LINEAR
 	RichMediaExitOverrides []*RichMediaExitOverride `json:"richMediaExitOverrides,omitempty"`
 
 	// Sequence: Sequence number of the creative assignment, applicable when
@@ -5067,8 +4942,6 @@
 	// inserted or updated.
 	SslCompliant bool `json:"sslCompliant,omitempty"`
 
-	// StartTime: Date and time that the assigned creative should start
-	// serving.
 	StartTime string `json:"startTime,omitempty"`
 
 	// Weight: Weight of the creative assignment, applicable when the
@@ -5103,10 +4976,9 @@
 type CreativeClickThroughUrl struct {
 	// ComputedClickThroughUrl: Read-only convenience field representing the
 	// actual URL that will be used for this click-through. The URL is
-	// computed as follows:
-	// - If landingPageId is specified then that landing page's URL is
-	// assigned to this field.
-	// - Otherwise, the customClickThroughUrl is assigned to this field.
+	// computed as follows: - If landingPageId is specified then that
+	// landing page's URL is assigned to this field. - Otherwise, the
+	// customClickThroughUrl is assigned to this field.
 	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
 
 	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
@@ -5154,9 +5026,9 @@
 	// field.
 	//
 	// Possible values:
-	//   "ADVERTISER_EVENT_COUNTER"
-	//   "ADVERTISER_EVENT_EXIT"
 	//   "ADVERTISER_EVENT_TIMER"
+	//   "ADVERTISER_EVENT_EXIT"
+	//   "ADVERTISER_EVENT_COUNTER"
 	AdvertiserCustomEventType string `json:"advertiserCustomEventType,omitempty"`
 
 	// ArtworkLabel: Artwork label column, used to link events in Campaign
@@ -5170,8 +5042,8 @@
 	// Possible values:
 	//   "ARTWORK_TYPE_FLASH"
 	//   "ARTWORK_TYPE_HTML5"
-	//   "ARTWORK_TYPE_IMAGE"
 	//   "ARTWORK_TYPE_MIXED"
+	//   "ARTWORK_TYPE_IMAGE"
 	ArtworkType string `json:"artworkType,omitempty"`
 
 	// ExitClickThroughUrl: Exit click-through URL for the event. This field
@@ -5190,10 +5062,10 @@
 	//
 	// Possible values:
 	//   "TARGET_BLANK"
+	//   "TARGET_TOP"
+	//   "TARGET_SELF"
 	//   "TARGET_PARENT"
 	//   "TARGET_POPUP"
-	//   "TARGET_SELF"
-	//   "TARGET_TOP"
 	TargetType string `json:"targetType,omitempty"`
 
 	// VideoReportingId: Video reporting ID, used to differentiate multiple
@@ -5600,8 +5472,8 @@
 	// Possible values:
 	//   "CLICK"
 	//   "POST_CLICK"
-	//   "POST_CLICK_AND_IMPRESSION"
 	//   "POST_IMPRESSION"
+	//   "POST_CLICK_AND_IMPRESSION"
 	//   "VIDEO_COMPLETION"
 	OptimizationModel string `json:"optimizationModel,omitempty"`
 
@@ -5644,16 +5516,16 @@
 	// use sequential or random rotation.
 	//
 	// Possible values:
-	//   "CREATIVE_ROTATION_TYPE_RANDOM"
 	//   "CREATIVE_ROTATION_TYPE_SEQUENTIAL"
+	//   "CREATIVE_ROTATION_TYPE_RANDOM"
 	Type string `json:"type,omitempty"`
 
 	// WeightCalculationStrategy: Strategy for calculating weights. Used
 	// with CREATIVE_ROTATION_TYPE_RANDOM.
 	//
 	// Possible values:
-	//   "WEIGHT_STRATEGY_CUSTOM"
 	//   "WEIGHT_STRATEGY_EQUAL"
+	//   "WEIGHT_STRATEGY_CUSTOM"
 	//   "WEIGHT_STRATEGY_HIGHEST_CTR"
 	//   "WEIGHT_STRATEGY_OPTIMIZED"
 	WeightCalculationStrategy string `json:"weightCalculationStrategy,omitempty"`
@@ -5780,8 +5652,15 @@
 	//
 	// Possible values:
 	//   "U1"
+	//   "U2"
+	//   "U3"
+	//   "U4"
+	//   "U5"
+	//   "U6"
+	//   "U7"
+	//   "U8"
+	//   "U9"
 	//   "U10"
-	//   "U100"
 	//   "U11"
 	//   "U12"
 	//   "U13"
@@ -5791,7 +5670,6 @@
 	//   "U17"
 	//   "U18"
 	//   "U19"
-	//   "U2"
 	//   "U20"
 	//   "U21"
 	//   "U22"
@@ -5802,7 +5680,6 @@
 	//   "U27"
 	//   "U28"
 	//   "U29"
-	//   "U3"
 	//   "U30"
 	//   "U31"
 	//   "U32"
@@ -5813,7 +5690,6 @@
 	//   "U37"
 	//   "U38"
 	//   "U39"
-	//   "U4"
 	//   "U40"
 	//   "U41"
 	//   "U42"
@@ -5824,7 +5700,6 @@
 	//   "U47"
 	//   "U48"
 	//   "U49"
-	//   "U5"
 	//   "U50"
 	//   "U51"
 	//   "U52"
@@ -5835,7 +5710,6 @@
 	//   "U57"
 	//   "U58"
 	//   "U59"
-	//   "U6"
 	//   "U60"
 	//   "U61"
 	//   "U62"
@@ -5846,7 +5720,6 @@
 	//   "U67"
 	//   "U68"
 	//   "U69"
-	//   "U7"
 	//   "U70"
 	//   "U71"
 	//   "U72"
@@ -5857,7 +5730,6 @@
 	//   "U77"
 	//   "U78"
 	//   "U79"
-	//   "U8"
 	//   "U80"
 	//   "U81"
 	//   "U82"
@@ -5868,7 +5740,6 @@
 	//   "U87"
 	//   "U88"
 	//   "U89"
-	//   "U9"
 	//   "U90"
 	//   "U91"
 	//   "U92"
@@ -5879,6 +5750,7 @@
 	//   "U97"
 	//   "U98"
 	//   "U99"
+	//   "U100"
 	Type string `json:"type,omitempty"`
 
 	// Value: The value of the custom floodlight variable. The length of
@@ -6021,8 +5893,6 @@
 
 // DateRange: Represents a date range.
 type DateRange struct {
-	// EndDate: The end date of the date range, inclusive. A string of the
-	// format: "yyyy-MM-dd".
 	EndDate string `json:"endDate,omitempty"`
 
 	// Kind: The kind of resource this is, in this case
@@ -6033,27 +5903,25 @@
 	// report is run.
 	//
 	// Possible values:
-	//   "LAST_14_DAYS"
-	//   "LAST_24_MONTHS"
-	//   "LAST_30_DAYS"
-	//   "LAST_365_DAYS"
-	//   "LAST_60_DAYS"
-	//   "LAST_7_DAYS"
-	//   "LAST_90_DAYS"
+	//   "TODAY"
+	//   "YESTERDAY"
+	//   "WEEK_TO_DATE"
 	//   "MONTH_TO_DATE"
+	//   "QUARTER_TO_DATE"
+	//   "YEAR_TO_DATE"
+	//   "PREVIOUS_WEEK"
 	//   "PREVIOUS_MONTH"
 	//   "PREVIOUS_QUARTER"
-	//   "PREVIOUS_WEEK"
 	//   "PREVIOUS_YEAR"
-	//   "QUARTER_TO_DATE"
-	//   "TODAY"
-	//   "WEEK_TO_DATE"
-	//   "YEAR_TO_DATE"
-	//   "YESTERDAY"
+	//   "LAST_7_DAYS"
+	//   "LAST_30_DAYS"
+	//   "LAST_90_DAYS"
+	//   "LAST_365_DAYS"
+	//   "LAST_24_MONTHS"
+	//   "LAST_14_DAYS"
+	//   "LAST_60_DAYS"
 	RelativeDateRange string `json:"relativeDateRange,omitempty"`
 
-	// StartDate: The start date of the date range, inclusive. A string of
-	// the format: "yyyy-MM-dd".
 	StartDate string `json:"startDate,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "EndDate") to
@@ -6081,25 +5949,18 @@
 
 // DayPartTargeting: Day Part Targeting.
 type DayPartTargeting struct {
-	// DaysOfWeek: Days of the week when the ad will serve.
-	//
-	// Acceptable values are:
-	// - "SUNDAY"
-	// - "MONDAY"
-	// - "TUESDAY"
-	// - "WEDNESDAY"
-	// - "THURSDAY"
-	// - "FRIDAY"
-	// - "SATURDAY"
+	// DaysOfWeek: Days of the week when the ad will serve. Acceptable
+	// values are: - "SUNDAY" - "MONDAY" - "TUESDAY" - "WEDNESDAY" -
+	// "THURSDAY" - "FRIDAY" - "SATURDAY"
 	//
 	// Possible values:
-	//   "FRIDAY"
 	//   "MONDAY"
-	//   "SATURDAY"
-	//   "SUNDAY"
-	//   "THURSDAY"
 	//   "TUESDAY"
 	//   "WEDNESDAY"
+	//   "THURSDAY"
+	//   "FRIDAY"
+	//   "SATURDAY"
+	//   "SUNDAY"
 	DaysOfWeek []string `json:"daysOfWeek,omitempty"`
 
 	// HoursOfDay: Hours of the day when the ad will serve, where 0 is
@@ -6418,9 +6279,9 @@
 	// matchType other than EXACT.
 	//
 	// Possible values:
+	//   "EXACT"
 	//   "BEGINS_WITH"
 	//   "CONTAINS"
-	//   "EXACT"
 	//   "WILDCARD_EXPRESSION"
 	MatchType string `json:"matchType,omitempty"`
 
@@ -6501,8 +6362,6 @@
 	// requested.
 	DimensionName string `json:"dimensionName,omitempty"`
 
-	// EndDate: The end date of the date range for which to retrieve
-	// dimension values. A string of the format "yyyy-MM-dd".
 	EndDate string `json:"endDate,omitempty"`
 
 	// Filters: The list of filters by which to filter values. The filters
@@ -6510,11 +6369,9 @@
 	Filters []*DimensionFilter `json:"filters,omitempty"`
 
 	// Kind: The kind of request this is, in this case
-	// dfareporting#dimensionValueRequest.
+	// dfareporting#dimensionValueRequest .
 	Kind string `json:"kind,omitempty"`
 
-	// StartDate: The start date of the date range for which to retrieve
-	// dimension values. A string of the format "yyyy-MM-dd".
 	StartDate string `json:"startDate,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "DimensionName") to
@@ -6555,28 +6412,20 @@
 	// This is a read-only, auto-generated field.
 	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
 
-	// InpageTagFormats: Tag types for regular placements.
-	//
-	// Acceptable values are:
-	// - "STANDARD"
-	// - "IFRAME_JAVASCRIPT_INPAGE"
-	// - "INTERNAL_REDIRECT_INPAGE"
-	// - "JAVASCRIPT_INPAGE"
+	// InpageTagFormats: Tag types for regular placements. Acceptable values
+	// are: - "STANDARD" - "IFRAME_JAVASCRIPT_INPAGE" -
+	// "INTERNAL_REDIRECT_INPAGE" - "JAVASCRIPT_INPAGE"
 	//
 	// Possible values:
+	//   "STANDARD"
 	//   "IFRAME_JAVASCRIPT_INPAGE"
 	//   "INTERNAL_REDIRECT_INPAGE"
 	//   "JAVASCRIPT_INPAGE"
-	//   "STANDARD"
 	InpageTagFormats []string `json:"inpageTagFormats,omitempty"`
 
-	// InterstitialTagFormats: Tag types for interstitial
-	// placements.
-	//
-	// Acceptable values are:
-	// - "IFRAME_JAVASCRIPT_INTERSTITIAL"
-	// - "INTERNAL_REDIRECT_INTERSTITIAL"
-	// - "JAVASCRIPT_INTERSTITIAL"
+	// InterstitialTagFormats: Tag types for interstitial placements.
+	// Acceptable values are: - "IFRAME_JAVASCRIPT_INTERSTITIAL" -
+	// "INTERNAL_REDIRECT_INTERSTITIAL" - "JAVASCRIPT_INTERSTITIAL"
 	//
 	// Possible values:
 	//   "IFRAME_JAVASCRIPT_INTERSTITIAL"
@@ -6730,8 +6579,8 @@
 	// a required field.
 	//
 	// Possible values:
-	//   "OBJECT_AD"
 	//   "OBJECT_ADVERTISER"
+	//   "OBJECT_AD"
 	//   "OBJECT_CREATIVE"
 	//   "OBJECT_PLACEMENT"
 	ObjectType string `json:"objectType,omitempty"`
@@ -6811,22 +6660,22 @@
 	// the encryption configuration for ad serving or Data Transfer.
 	//
 	// Possible values:
-	//   "ADWORDS_CUSTOMER"
-	//   "DBM_ADVERTISER"
-	//   "DBM_PARTNER"
+	//   "ENCRYPTION_ENTITY_TYPE_UNKNOWN"
 	//   "DCM_ACCOUNT"
 	//   "DCM_ADVERTISER"
+	//   "DBM_PARTNER"
+	//   "DBM_ADVERTISER"
+	//   "ADWORDS_CUSTOMER"
 	//   "DFP_NETWORK_CODE"
-	//   "ENCRYPTION_ENTITY_TYPE_UNKNOWN"
 	EncryptionEntityType string `json:"encryptionEntityType,omitempty"`
 
 	// EncryptionSource: Describes whether the encrypted cookie was received
 	// from ad serving (the %m macro) or from Data Transfer.
 	//
 	// Possible values:
+	//   "ENCRYPTION_SCOPE_UNKNOWN"
 	//   "AD_SERVING"
 	//   "DATA_TRANSFER"
-	//   "ENCRYPTION_SCOPE_UNKNOWN"
 	EncryptionSource string `json:"encryptionSource,omitempty"`
 
 	// Kind: Identifies what kind of resource this is. Value: the fixed
@@ -6905,12 +6754,12 @@
 	// specified then the event tag will be applied to all sites.
 	//
 	// Possible values:
-	//   "BLACKLIST"
 	//   "WHITELIST"
+	//   "BLACKLIST"
 	SiteFilterType string `json:"siteFilterType,omitempty"`
 
 	// SiteIds: Filter list of site IDs associated with this event tag. The
-	// siteFilterType determines whether this is a whitelist or blacklist
+	// siteFilterType determines whether this is a allowlist or blocklist
 	// filter.
 	SiteIds googleapi.Int64s `json:"siteIds,omitempty"`
 
@@ -6922,8 +6771,8 @@
 	// to fire. This is a required field.
 	//
 	// Possible values:
-	//   "DISABLED"
 	//   "ENABLED"
+	//   "DISABLED"
 	Status string `json:"status,omitempty"`
 
 	// SubaccountId: Subaccount ID of this event tag. This is a read-only
@@ -6936,9 +6785,9 @@
 	// required field.
 	//
 	// Possible values:
-	//   "CLICK_THROUGH_EVENT_TAG"
 	//   "IMPRESSION_IMAGE_EVENT_TAG"
 	//   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
+	//   "CLICK_THROUGH_EVENT_TAG"
 	Type string `json:"type,omitempty"`
 
 	// Url: Payload URL for this event tag. The URL on a click-through event
@@ -7082,16 +6931,20 @@
 	// file was last modified.
 	LastModifiedTime int64 `json:"lastModifiedTime,omitempty,string"`
 
+	MediaRequestInfo *MediaRequestInfo `json:"mediaRequestInfo,omitempty"`
+
+	MediaResponseInfo *MediaResponseInfo `json:"mediaResponseInfo,omitempty"`
+
 	// ReportId: The ID of the report this file was generated from.
 	ReportId int64 `json:"reportId,omitempty,string"`
 
 	// Status: The status of the report file.
 	//
 	// Possible values:
-	//   "CANCELLED"
-	//   "FAILED"
 	//   "PROCESSING"
 	//   "REPORT_AVAILABLE"
+	//   "FAILED"
+	//   "CANCELLED"
 	Status string `json:"status,omitempty"`
 
 	// Urls: The URLs where the completed report file can be downloaded.
@@ -7203,13 +7056,11 @@
 
 // Flight: Flight
 type Flight struct {
-	// EndDate: Inventory item flight end date.
 	EndDate string `json:"endDate,omitempty"`
 
 	// RateOrCost: Rate or cost of this flight.
 	RateOrCost int64 `json:"rateOrCost,omitempty,string"`
 
-	// StartDate: Inventory item flight start date.
 	StartDate string `json:"startDate,omitempty"`
 
 	// Units: Units of this flight.
@@ -7346,22 +7197,22 @@
 	// countingMethod is STANDARD_COUNTING or UNIQUE_COUNTING.
 	//
 	// Possible values:
-	//   "ACTIVE_SERVER_PAGE"
-	//   "COLD_FUSION"
 	//   "JAVASCRIPT"
+	//   "ACTIVE_SERVER_PAGE"
 	//   "JSP"
 	//   "PHP"
+	//   "COLD_FUSION"
 	CacheBustingType string `json:"cacheBustingType,omitempty"`
 
 	// CountingMethod: Counting method for conversions for this floodlight
 	// activity. This is a required field.
 	//
 	// Possible values:
-	//   "ITEMS_SOLD_COUNTING"
-	//   "SESSION_COUNTING"
 	//   "STANDARD_COUNTING"
-	//   "TRANSACTIONS_COUNTING"
 	//   "UNIQUE_COUNTING"
+	//   "SESSION_COUNTING"
+	//   "TRANSACTIONS_COUNTING"
+	//   "ITEMS_SOLD_COUNTING"
 	CountingMethod string `json:"countingMethod,omitempty"`
 
 	// DefaultTags: Dynamic floodlight tags.
@@ -7406,9 +7257,9 @@
 	// generate. This is a required field.
 	//
 	// Possible values:
-	//   "GLOBAL_SITE_TAG"
 	//   "IFRAME"
 	//   "IMAGE"
+	//   "GLOBAL_SITE_TAG"
 	FloodlightTagType string `json:"floodlightTagType,omitempty"`
 
 	// Hidden: Whether this activity is archived.
@@ -7462,21 +7313,27 @@
 	// TagString: Value of the cat= parameter in the floodlight tag, which
 	// the ad servers use to identify the activity. This is optional: if
 	// empty, a new tag string will be generated for you. This string must
-	// be 1 to 8 characters long, with valid characters being
-	// [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among
-	// activities of the same activity group. This field is read-only after
-	// insertion.
+	// be 1 to 8 characters long, with valid characters being a-z0-9[ _ ].
+	// This tag string must also be unique among activities of the same
+	// activity group. This field is read-only after insertion.
 	TagString string `json:"tagString,omitempty"`
 
 	// UserDefinedVariableTypes: List of the user-defined variables used by
 	// this conversion tag. These map to the "u[1-100]=" in the tags. Each
-	// of these can have a user defined type.
-	// Acceptable values are U1 to U100, inclusive.
+	// of these can have a user defined type. Acceptable values are U1 to
+	// U100, inclusive.
 	//
 	// Possible values:
 	//   "U1"
+	//   "U2"
+	//   "U3"
+	//   "U4"
+	//   "U5"
+	//   "U6"
+	//   "U7"
+	//   "U8"
+	//   "U9"
 	//   "U10"
-	//   "U100"
 	//   "U11"
 	//   "U12"
 	//   "U13"
@@ -7486,7 +7343,6 @@
 	//   "U17"
 	//   "U18"
 	//   "U19"
-	//   "U2"
 	//   "U20"
 	//   "U21"
 	//   "U22"
@@ -7497,7 +7353,6 @@
 	//   "U27"
 	//   "U28"
 	//   "U29"
-	//   "U3"
 	//   "U30"
 	//   "U31"
 	//   "U32"
@@ -7508,7 +7363,6 @@
 	//   "U37"
 	//   "U38"
 	//   "U39"
-	//   "U4"
 	//   "U40"
 	//   "U41"
 	//   "U42"
@@ -7519,7 +7373,6 @@
 	//   "U47"
 	//   "U48"
 	//   "U49"
-	//   "U5"
 	//   "U50"
 	//   "U51"
 	//   "U52"
@@ -7530,7 +7383,6 @@
 	//   "U57"
 	//   "U58"
 	//   "U59"
-	//   "U6"
 	//   "U60"
 	//   "U61"
 	//   "U62"
@@ -7541,7 +7393,6 @@
 	//   "U67"
 	//   "U68"
 	//   "U69"
-	//   "U7"
 	//   "U70"
 	//   "U71"
 	//   "U72"
@@ -7552,7 +7403,6 @@
 	//   "U77"
 	//   "U78"
 	//   "U79"
-	//   "U8"
 	//   "U80"
 	//   "U81"
 	//   "U82"
@@ -7563,7 +7413,6 @@
 	//   "U87"
 	//   "U88"
 	//   "U89"
-	//   "U9"
 	//   "U90"
 	//   "U91"
 	//   "U92"
@@ -7574,6 +7423,7 @@
 	//   "U97"
 	//   "U98"
 	//   "U99"
+	//   "U100"
 	UserDefinedVariableTypes []string `json:"userDefinedVariableTypes,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -7689,9 +7539,9 @@
 	// the ad servers use to identify the activity group that the activity
 	// belongs to. This is optional: if empty, a new tag string will be
 	// generated for you. This string must be 1 to 8 characters long, with
-	// valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must
-	// also be unique among activity groups of the same floodlight
-	// configuration. This field is read-only after insertion.
+	// valid characters being a-z0-9[ _ ]. This tag string must also be
+	// unique among activity groups of the same floodlight configuration.
+	// This field is read-only after insertion.
 	TagString string `json:"tagString,omitempty"`
 
 	// Type: Type of the floodlight activity group. This is a required field
@@ -8229,8 +8079,8 @@
 	// Type: Type of inventory item.
 	//
 	// Possible values:
-	//   "PLANNING_PLACEMENT_TYPE_CREDIT"
 	//   "PLANNING_PLACEMENT_TYPE_REGULAR"
+	//   "PLANNING_PLACEMENT_TYPE_CREDIT"
 	Type string `json:"type,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -8612,12 +8462,12 @@
 	//
 	// Possible values:
 	//   "NUM_EQUALS"
-	//   "NUM_GREATER_THAN"
-	//   "NUM_GREATER_THAN_EQUAL"
 	//   "NUM_LESS_THAN"
 	//   "NUM_LESS_THAN_EQUAL"
-	//   "STRING_CONTAINS"
+	//   "NUM_GREATER_THAN"
+	//   "NUM_GREATER_THAN_EQUAL"
 	//   "STRING_EQUALS"
+	//   "STRING_CONTAINS"
 	Operator string `json:"operator,omitempty"`
 
 	// RemarketingListId: ID of the list in question. This field is only
@@ -8744,6 +8594,187 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// MediaRequestInfo: Extra information added to operations that support
+// Scotty media requests.
+type MediaRequestInfo struct {
+	// CurrentBytes: The number of current bytes uploaded or downloaded.
+	CurrentBytes int64 `json:"currentBytes,omitempty,string"`
+
+	// CustomData: Data to be copied to backend requests. Custom data is
+	// returned to Scotty in the agent_state field, which Scotty will then
+	// provide in subsequent upload notifications.
+	CustomData string `json:"customData,omitempty"`
+
+	// DiffObjectVersion: Set if the http request info is diff encoded. The
+	// value of this field is the version number of the base revision. This
+	// is corresponding to Apiary's mediaDiffObjectVersion
+	// (//depot/google3/java/com/google/api/server/media/variable/DiffObjectV
+	// ersionVariable.java). See go/esf-scotty-diff-upload for more
+	// information.
+	DiffObjectVersion string `json:"diffObjectVersion,omitempty"`
+
+	// NotificationType: The type of notification received from Scotty.
+	//
+	// Possible values:
+	//   "START" - Such requests signals the start of a request containing
+	// media upload. Only the media field(s) in the inserted/updated
+	// resource are set. The response should either return an error or
+	// succeed. On success, responses don't need to contain anything.
+	//   "PROGRESS" - Such requests signals that the upload has progressed
+	// and that the backend might want to access the media file specified in
+	// relevant fields in the resource. Only the media field(s) in the
+	// inserted/updated resource are set. The response should either return
+	// an error or succeed. On success, responses don't need to contain
+	// anything.
+	//   "END" - Such requests signals the end of a request containing media
+	// upload. END should be handled just like normal Insert/Upload
+	// requests, that is, they should process the request and return a
+	// complete resource in the response. Pointers to media data (a GFS path
+	// usually) appear in the relevant fields in the inserted/updated
+	// resource. See gdata.Media in data.proto.
+	//   "RESPONSE_SENT" - Such requests occur after an END and signal that
+	// the response has been sent back to the client. RESPONSE_SENT is only
+	// sent to the backend if it is configured to receive them. The response
+	// does not need to contain anything.
+	//   "ERROR" - Such requests indicate that an error occurred while
+	// processing the request. ERROR is only sent to the backend if it is
+	// configured to receive them. It is not guaranteed that all errors will
+	// result in this notification to the backend, even if the backend
+	// requests them. Since these requests are just for informational
+	// purposes, the response does not need to contain anything.
+	NotificationType string `json:"notificationType,omitempty"`
+
+	// RequestId: The Scotty request ID.
+	RequestId string `json:"requestId,omitempty"`
+
+	// TotalBytes: The total size of the file.
+	TotalBytes int64 `json:"totalBytes,omitempty,string"`
+
+	// TotalBytesIsEstimated: Whether the total bytes field contains an
+	// estimated data.
+	TotalBytesIsEstimated bool `json:"totalBytesIsEstimated,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "CurrentBytes") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "CurrentBytes") to include
+	// in API requests with the JSON null value. By default, fields with
+	// empty values are omitted from API requests. However, any field with
+	// an empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *MediaRequestInfo) MarshalJSON() ([]byte, error) {
+	type NoMethod MediaRequestInfo
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// MediaResponseInfo: This message is for backends to pass their scotty
+// media specific fields to ESF. Backend will include this in their
+// response message to ESF. Example: ExportFile is an rpc defined for
+// upload using scotty from ESF. rpc ExportFile(ExportFileRequest)
+// returns (ExportFileResponse) Message ExportFileResponse will include
+// apiserving.MediaResponseInfo to tell ESF about data like
+// dynamic_dropzone it needs to pass to Scotty. message
+// ExportFileResponse { optional gdata.Media blob = 1; optional
+// apiserving.MediaResponseInfo media_response_info = 2 }
+type MediaResponseInfo struct {
+	// CustomData: Data to copy from backend response to the next backend
+	// requests. Custom data is returned to Scotty in the agent_state field,
+	// which Scotty will then provide in subsequent upload notifications.
+	CustomData string `json:"customData,omitempty"`
+
+	// DataStorageTransform: Specifies any transformation to be applied to
+	// data before persisting it or retrieving from storage. E.g.,
+	// encryption options for blobstore2. This should be of the form
+	// uploader_service.DataStorageTransform.
+	DataStorageTransform string `json:"dataStorageTransform,omitempty"`
+
+	// DynamicDropTarget: Specifies the Scotty Drop Target to use for
+	// uploads. If present in a media response, Scotty does not upload to a
+	// standard drop zone. Instead, Scotty saves the upload directly to the
+	// location specified in this drop target. Unlike drop zones, the drop
+	// target is the final storage location for an upload. So, the agent
+	// does not need to clone the blob at the end of the upload. The agent
+	// is responsible for garbage collecting any orphaned blobs that may
+	// occur due to aborted uploads. For more information, see the drop
+	// target design doc here: http://goto/ScottyDropTarget This field will
+	// be preferred to dynamicDropzone. If provided, the identified field in
+	// the response must be of the type uploader.agent.DropTarget.
+	DynamicDropTarget string `json:"dynamicDropTarget,omitempty"`
+
+	// DynamicDropzone: Specifies the Scotty dropzone to use for uploads.
+	DynamicDropzone string `json:"dynamicDropzone,omitempty"`
+
+	// RequestClass: Request class to use for all Blobstore operations for
+	// this request.
+	//
+	// Possible values:
+	//   "UNKNOWN_REQUEST_CLASS" - Unpopulated request_class in log files
+	// will be taken as 0 in dremel query. GoogleSQL will try to cast it to
+	// enum by default. An unused 0 value is added to avoid GoogleSQL
+	// casting error. Please refer to b/69677280.
+	//   "LATENCY_SENSITIVE" - A latency-sensitive request.
+	//   "PRODUCTION_BATCH" - A request generated by a batch process.
+	//   "BEST_EFFORT" - A best-effort request.
+	RequestClass string `json:"requestClass,omitempty"`
+
+	// TrafficClassField: Specifies the TrafficClass that Scotty should use
+	// for any RPCs to fetch the response bytes. Will override the traffic
+	// class GTOS of the incoming http request. This is a temporary field to
+	// facilitate whitelisting and experimentation by the bigstore agent
+	// only. For instance, this does not apply to RTMP reads. WARNING: DO
+	// NOT USE WITHOUT PERMISSION FROM THE SCOTTY TEAM.
+	//
+	// Possible values:
+	//   "BE1" - Application-selectable traffic classes Best effort
+	//   "AF1" - Assured forwarding priority 1
+	//   "AF2" - Assured forwarding priority 2
+	//   "AF3" - Assured forwarding priority 3
+	//   "AF4" - Assured forwarding priority 4
+	//   "NC1" - Network control
+	//   "NC0" - Network control
+	//   "BE0" - Best effort at high packet loss
+	//   "LLQ" - Low-latency queue (LLQ) best effort (go/llq)
+	//   "LLQ1" - LLQ best effort (go/llq2)
+	//   "LLQ2" - LLQ assured forwarding priority 2 (go/llq2)
+	TrafficClassField string `json:"trafficClassField,omitempty"`
+
+	// VerifyHashFromHeader: Tells Scotty to verify hashes on the agent's
+	// behalf by parsing out the X-Goog-Hash header.
+	VerifyHashFromHeader bool `json:"verifyHashFromHeader,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "CustomData") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "CustomData") to include in
+	// API requests with the JSON null value. By default, fields with empty
+	// values are omitted from API requests. However, any field with an
+	// empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *MediaResponseInfo) MarshalJSON() ([]byte, error) {
+	type NoMethod MediaResponseInfo
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // Metric: Represents a metric.
 type Metric struct {
 	// Kind: The kind of resource this is, in this case dfareporting#metric.
@@ -8869,9 +8900,9 @@
 	// Directory: Mobile app directory.
 	//
 	// Possible values:
+	//   "UNKNOWN"
 	//   "APPLE_APP_STORE"
 	//   "GOOGLE_PLAY_STORE"
-	//   "UNKNOWN"
 	Directory string `json:"directory,omitempty"`
 
 	// Id: ID of this mobile app.
@@ -9054,9 +9085,9 @@
 	// objectIds list.
 	//
 	// Possible values:
-	//   "ALL"
-	//   "ASSIGNED"
 	//   "NONE"
+	//   "ASSIGNED"
+	//   "ALL"
 	Status string `json:"status,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Kind") to
@@ -9470,8 +9501,8 @@
 	// ContactType: Type of this contact.
 	//
 	// Possible values:
-	//   "PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT"
 	//   "PLANNING_ORDER_CONTACT_BUYER_CONTACT"
+	//   "PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT"
 	//   "PLANNING_ORDER_CONTACT_SELLER_CONTACT"
 	ContactType string `json:"contactType,omitempty"`
 
@@ -9525,7 +9556,6 @@
 	// CreatedInfo: Information about the creation of this order document.
 	CreatedInfo *LastModifiedInfo `json:"createdInfo,omitempty"`
 
-	// EffectiveDate: Effective date of this order document.
 	EffectiveDate string `json:"effectiveDate,omitempty"`
 
 	// Id: ID of this order document.
@@ -9539,8 +9569,6 @@
 	// sent document.
 	LastSentRecipients []string `json:"lastSentRecipients,omitempty"`
 
-	// LastSentTime: Timestamp of the last email sent with this order
-	// document.
 	LastSentTime string `json:"lastSentTime,omitempty"`
 
 	// OrderId: ID of the order from which this order document is created.
@@ -9561,8 +9589,8 @@
 	// Type: Type of this order document
 	//
 	// Possible values:
-	//   "PLANNING_ORDER_TYPE_CHANGE_ORDER"
 	//   "PLANNING_ORDER_TYPE_INSERTION_ORDER"
+	//   "PLANNING_ORDER_TYPE_CHANGE_ORDER"
 	Type string `json:"type,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -9769,12 +9797,12 @@
 	// with the VAST standard. This field is required on insertion.
 	//
 	// Possible values:
-	//   "APP"
-	//   "APP_INTERSTITIAL"
 	//   "DISPLAY"
 	//   "DISPLAY_INTERSTITIAL"
-	//   "IN_STREAM_AUDIO"
+	//   "APP"
+	//   "APP_INTERSTITIAL"
 	//   "IN_STREAM_VIDEO"
+	//   "IN_STREAM_AUDIO"
 	Compatibility string `json:"compatibility,omitempty"`
 
 	// ContentCategoryId: ID of the content category assigned to this
@@ -9886,12 +9914,12 @@
 	// Status: Third-party placement status.
 	//
 	// Possible values:
-	//   "ACKNOWLEDGE_ACCEPTANCE"
-	//   "ACKNOWLEDGE_REJECTION"
-	//   "DRAFT"
+	//   "PENDING_REVIEW"
 	//   "PAYMENT_ACCEPTED"
 	//   "PAYMENT_REJECTED"
-	//   "PENDING_REVIEW"
+	//   "ACKNOWLEDGE_REJECTION"
+	//   "ACKNOWLEDGE_ACCEPTANCE"
+	//   "DRAFT"
 	Status string `json:"status,omitempty"`
 
 	// SubaccountId: Subaccount ID of this placement. This field can be left
@@ -9899,44 +9927,40 @@
 	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 
 	// TagFormats: Tag formats to generate for this placement. This field is
-	// required on insertion.
-	// Acceptable values are:
-	// - "PLACEMENT_TAG_STANDARD"
-	// - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
-	// - "PLACEMENT_TAG_IFRAME_ILAYER"
-	// - "PLACEMENT_TAG_INTERNAL_REDIRECT"
-	// - "PLACEMENT_TAG_JAVASCRIPT"
-	// - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
-	// - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
-	// - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
-	// - "PLACEMENT_TAG_CLICK_COMMANDS"
-	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
-	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
-	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
-	// - "PLACEMENT_TAG_TRACKING"
-	// - "PLACEMENT_TAG_TRACKING_IFRAME"
-	// - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+	// required on insertion. Acceptable values are: -
+	// "PLACEMENT_TAG_STANDARD" - "PLACEMENT_TAG_IFRAME_JAVASCRIPT" -
+	// "PLACEMENT_TAG_IFRAME_ILAYER" - "PLACEMENT_TAG_INTERNAL_REDIRECT" -
+	// "PLACEMENT_TAG_JAVASCRIPT" -
+	// "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT" -
+	// "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT" -
+	// "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT" -
+	// "PLACEMENT_TAG_CLICK_COMMANDS" -
+	// "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH" -
+	// "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3" -
+	// "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4" -
+	// "PLACEMENT_TAG_TRACKING" - "PLACEMENT_TAG_TRACKING_IFRAME" -
+	// "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
 	//
 	// Possible values:
-	//   "PLACEMENT_TAG_CLICK_COMMANDS"
-	//   "PLACEMENT_TAG_IFRAME_ILAYER"
+	//   "PLACEMENT_TAG_STANDARD"
 	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
-	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
-	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
-	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
-	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
+	//   "PLACEMENT_TAG_IFRAME_ILAYER"
 	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
+	//   "PLACEMENT_TAG_JAVASCRIPT"
 	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
-	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
 	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
 	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
-	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
-	//   "PLACEMENT_TAG_JAVASCRIPT"
-	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
-	//   "PLACEMENT_TAG_STANDARD"
+	//   "PLACEMENT_TAG_CLICK_COMMANDS"
+	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
 	//   "PLACEMENT_TAG_TRACKING"
 	//   "PLACEMENT_TAG_TRACKING_IFRAME"
 	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
+	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
+	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
+	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
+	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
+	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
 	TagFormats []string `json:"tagFormats,omitempty"`
 
 	// TagSetting: Tag settings for this placement.
@@ -9959,16 +9983,15 @@
 
 	// VpaidAdapterChoice: VPAID adapter setting for this placement.
 	// Controls which VPAID format the measurement adapter will use for
-	// in-stream video creatives assigned to this placement.
-	//
-	// Note: Flash is no longer supported. This field now defaults to HTML5
-	// when the following values are provided: FLASH, BOTH.
+	// in-stream video creatives assigned to this placement. *Note:* Flash
+	// is no longer supported. This field now defaults to HTML5 when the
+	// following values are provided: FLASH, BOTH.
 	//
 	// Possible values:
-	//   "BOTH"
 	//   "DEFAULT"
 	//   "FLASH"
 	//   "HTML5"
+	//   "BOTH"
 	VpaidAdapterChoice string `json:"vpaidAdapterChoice,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -10643,12 +10666,11 @@
 	// CapCostType: Cap cost type of this inventory item.
 	//
 	// Possible values:
-	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE"
-	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY"
 	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_NONE"
+	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY"
+	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE"
 	CapCostType string `json:"capCostType,omitempty"`
 
-	// EndDate: End date of this inventory item.
 	EndDate string `json:"endDate,omitempty"`
 
 	// Flights: Flights of this inventory item. A flight (a.k.a. pricing
@@ -10673,17 +10695,16 @@
 	// PricingType: Pricing type of this inventory item.
 	//
 	// Possible values:
-	//   "PLANNING_PLACEMENT_PRICING_TYPE_CLICKS"
-	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPA"
-	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPC"
-	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM"
-	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM_ACTIVEVIEW"
-	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS"
-	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 	//   "PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS"
+	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM"
+	//   "PLANNING_PLACEMENT_PRICING_TYPE_CLICKS"
+	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPC"
+	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPA"
+	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
+	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS"
+	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM_ACTIVEVIEW"
 	PricingType string `json:"pricingType,omitempty"`
 
-	// StartDate: Start date of this inventory item.
 	StartDate string `json:"startDate,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CapCostType") to
@@ -10714,21 +10735,14 @@
 	// CapCostOption: Placement cap cost option.
 	//
 	// Possible values:
-	//   "CAP_COST_CUMULATIVE"
-	//   "CAP_COST_MONTHLY"
 	//   "CAP_COST_NONE"
+	//   "CAP_COST_MONTHLY"
+	//   "CAP_COST_CUMULATIVE"
 	CapCostOption string `json:"capCostOption,omitempty"`
 
 	// DisregardOverdelivery: Whether cap costs are ignored by ad serving.
 	DisregardOverdelivery bool `json:"disregardOverdelivery,omitempty"`
 
-	// EndDate: Placement end date. This date must be later than, or the
-	// same day as, the placement start date, but not later than the
-	// campaign end date. If, for example, you set 6/25/2015 as both the
-	// start and end dates, the effective placement date is just that day
-	// only, 6/25/2015. The hours, minutes, and seconds of the end date
-	// should not be set, as doing so will result in an error. This field is
-	// required on insertion.
 	EndDate string `json:"endDate,omitempty"`
 
 	// Flighted: Whether this placement is flighted. If true, pricing
@@ -10747,23 +10761,16 @@
 	// insertion.
 	//
 	// Possible values:
-	//   "PRICING_TYPE_CPA"
-	//   "PRICING_TYPE_CPC"
 	//   "PRICING_TYPE_CPM"
-	//   "PRICING_TYPE_CPM_ACTIVEVIEW"
-	//   "PRICING_TYPE_FLAT_RATE_CLICKS"
+	//   "PRICING_TYPE_CPC"
+	//   "PRICING_TYPE_CPA"
 	//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
+	//   "PRICING_TYPE_FLAT_RATE_CLICKS"
+	//   "PRICING_TYPE_CPM_ACTIVEVIEW"
 	PricingType string `json:"pricingType,omitempty"`
 
-	// StartDate: Placement start date. This date must be later than, or the
-	// same day as, the campaign start date. The hours, minutes, and seconds
-	// of the start date should not be set, as doing so will result in an
-	// error. This field is required on insertion.
 	StartDate string `json:"startDate,omitempty"`
 
-	// TestingStartDate: Testing start date of this placement. The hours,
-	// minutes, and seconds of the start date should not be set, as doing so
-	// will result in an error.
 	TestingStartDate string `json:"testingStartDate,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CapCostOption") to
@@ -10791,13 +10798,6 @@
 
 // PricingSchedulePricingPeriod: Pricing Period
 type PricingSchedulePricingPeriod struct {
-	// EndDate: Pricing period end date. This date must be later than, or
-	// the same day as, the pricing period start date, but not later than
-	// the placement end date. The period end date can be the same date as
-	// the period start date. If, for example, you set 6/25/2015 as both the
-	// start and end dates, the effective pricing period date is just that
-	// day only, 6/25/2015. The hours, minutes, and seconds of the end date
-	// should not be set, as doing so will result in an error.
 	EndDate string `json:"endDate,omitempty"`
 
 	// PricingComment: Comments for this pricing period.
@@ -10808,10 +10808,6 @@
 	// 1000000000000000000, inclusive.
 	RateOrCostNanos int64 `json:"rateOrCostNanos,omitempty,string"`
 
-	// StartDate: Pricing period start date. This date must be later than,
-	// or the same day as, the placement start date. The hours, minutes, and
-	// seconds of the start date should not be set, as doing so will result
-	// in an error.
 	StartDate string `json:"startDate,omitempty"`
 
 	// Units: Units of this pricing period. Acceptable values are 0 to
@@ -10864,8 +10860,8 @@
 	// AudienceGender: Audience gender of this project.
 	//
 	// Possible values:
-	//   "PLANNING_AUDIENCE_GENDER_FEMALE"
 	//   "PLANNING_AUDIENCE_GENDER_MALE"
+	//   "PLANNING_AUDIENCE_GENDER_FEMALE"
 	AudienceGender string `json:"audienceGender,omitempty"`
 
 	// Budget: Budget of this project in the currency specified by the
@@ -10880,7 +10876,6 @@
 	// ClientName: Name of the project client.
 	ClientName string `json:"clientName,omitempty"`
 
-	// EndDate: End date of the project.
 	EndDate string `json:"endDate,omitempty"`
 
 	// Id: ID of this project. This is a read-only, auto-generated field.
@@ -10900,7 +10895,6 @@
 	// Overview: Overview of this project.
 	Overview string `json:"overview,omitempty"`
 
-	// StartDate: Start date of the project.
 	StartDate string `json:"startDate,omitempty"`
 
 	// SubaccountId: Subaccount ID of this project.
@@ -11054,8 +11048,8 @@
 	// DeliveryType: The delivery type for the recipient.
 	//
 	// Possible values:
-	//   "ATTACHMENT"
 	//   "LINK"
+	//   "ATTACHMENT"
 	DeliveryType string `json:"deliveryType,omitempty"`
 
 	// Email: The email address of the recipient.
@@ -11219,17 +11213,17 @@
 	// ListSource: Product from which this remarketing list was originated.
 	//
 	// Possible values:
-	//   "REMARKETING_LIST_SOURCE_ADX"
-	//   "REMARKETING_LIST_SOURCE_DBM"
-	//   "REMARKETING_LIST_SOURCE_DFA"
-	//   "REMARKETING_LIST_SOURCE_DFP"
-	//   "REMARKETING_LIST_SOURCE_DMP"
-	//   "REMARKETING_LIST_SOURCE_GA"
-	//   "REMARKETING_LIST_SOURCE_GPLUS"
 	//   "REMARKETING_LIST_SOURCE_OTHER"
-	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
+	//   "REMARKETING_LIST_SOURCE_ADX"
+	//   "REMARKETING_LIST_SOURCE_DFP"
 	//   "REMARKETING_LIST_SOURCE_XFP"
+	//   "REMARKETING_LIST_SOURCE_DFA"
+	//   "REMARKETING_LIST_SOURCE_GA"
 	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
+	//   "REMARKETING_LIST_SOURCE_DBM"
+	//   "REMARKETING_LIST_SOURCE_GPLUS"
+	//   "REMARKETING_LIST_SOURCE_DMP"
+	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
 	ListSource string `json:"listSource,omitempty"`
 
 	// Name: Name of the remarketing list. This is a required field. Must be
@@ -11426,11 +11420,11 @@
 	// Type: The type of the report.
 	//
 	// Possible values:
+	//   "STANDARD"
+	//   "REACH"
+	//   "PATH_TO_CONVERSION"
 	//   "CROSS_DIMENSION_REACH"
 	//   "FLOODLIGHT"
-	//   "PATH_TO_CONVERSION"
-	//   "REACH"
-	//   "STANDARD"
 	Type string `json:"type,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -11472,9 +11466,8 @@
 	DateRange *DateRange `json:"dateRange,omitempty"`
 
 	// DimensionFilters: The list of filters on which dimensions are
-	// filtered.
-	// Filters for different dimensions are ANDed, filters for the same
-	// dimension are grouped together and ORed.
+	// filtered. Filters for different dimensions are ANDed, filters for the
+	// same dimension are grouped together and ORed.
 	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 
 	// Dimensions: The list of standard dimensions the report should
@@ -11571,8 +11564,8 @@
 	// receive, if enabled.
 	//
 	// Possible values:
-	//   "ATTACHMENT"
 	//   "LINK"
+	//   "ATTACHMENT"
 	EmailOwnerDeliveryType string `json:"emailOwnerDeliveryType,omitempty"`
 
 	// Message: The message to be sent with each email.
@@ -11615,9 +11608,8 @@
 	DateRange *DateRange `json:"dateRange,omitempty"`
 
 	// DimensionFilters: The list of filters on which dimensions are
-	// filtered.
-	// Filters for different dimensions are ANDed, filters for the same
-	// dimension are grouped together and ORed.
+	// filtered. Filters for different dimensions are ANDed, filters for the
+	// same dimension are grouped together and ORed.
 	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 
 	// Dimensions: The list of dimensions the report should include.
@@ -11857,9 +11849,8 @@
 	DateRange *DateRange `json:"dateRange,omitempty"`
 
 	// DimensionFilters: The list of filters on which dimensions are
-	// filtered.
-	// Filters for different dimensions are ANDed, filters for the same
-	// dimension are grouped together and ORed.
+	// filtered. Filters for different dimensions are ANDed, filters for the
+	// same dimension are grouped together and ORed.
 	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 
 	// Dimensions: The list of dimensions the report should include.
@@ -11873,7 +11864,7 @@
 	// MetricNames: The list of names of metrics the report should include.
 	MetricNames []string `json:"metricNames,omitempty"`
 
-	// ReachByFrequencyMetricNames: The list of names of  Reach By Frequency
+	// ReachByFrequencyMetricNames: The list of names of Reach By Frequency
 	// metrics the report should include.
 	ReachByFrequencyMetricNames []string `json:"reachByFrequencyMetricNames,omitempty"`
 
@@ -11913,15 +11904,12 @@
 	// "MONTHLY".
 	Every int64 `json:"every,omitempty"`
 
-	// ExpirationDate: The expiration date when the scheduled report stops
-	// running.
 	ExpirationDate string `json:"expirationDate,omitempty"`
 
-	// Repeats: The interval for which the report is repeated. Note:
-	// - "DAILY" also requires field "every" to be set.
-	// - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be
-	// set.
-	// - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be
+	// Repeats: The interval for which the report is repeated. Note: -
+	// "DAILY" also requires field "every" to be set. - "WEEKLY" also
+	// requires fields "every" and "repeatsOnWeekDays" to be set. -
+	// "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be
 	// set.
 	Repeats string `json:"repeats,omitempty"`
 
@@ -11929,30 +11917,28 @@
 	// reports should run.
 	//
 	// Possible values:
-	//   "FRIDAY"
-	//   "MONDAY"
-	//   "SATURDAY"
 	//   "SUNDAY"
-	//   "THURSDAY"
+	//   "MONDAY"
 	//   "TUESDAY"
 	//   "WEDNESDAY"
+	//   "THURSDAY"
+	//   "FRIDAY"
+	//   "SATURDAY"
 	RepeatsOnWeekDays []string `json:"repeatsOnWeekDays,omitempty"`
 
 	// RunsOnDayOfMonth: Enum to define for "MONTHLY" scheduled reports
 	// whether reports should be repeated on the same day of the month as
-	// "startDate" or the same day of the week of the month.
-	// Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02),
-	// "DAY_OF_MONTH" would run subsequent reports on the 2nd of every
-	// Month, and "WEEK_OF_MONTH" would run subsequent reports on the first
-	// Monday of the month.
+	// "startDate" or the same day of the week of the month. Example: If
+	// 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH"
+	// would run subsequent reports on the 2nd of every Month, and
+	// "WEEK_OF_MONTH" would run subsequent reports on the first Monday of
+	// the month.
 	//
 	// Possible values:
 	//   "DAY_OF_MONTH"
 	//   "WEEK_OF_MONTH"
 	RunsOnDayOfMonth string `json:"runsOnDayOfMonth,omitempty"`
 
-	// StartDate: Start date of date range for which scheduled reports
-	// should be run.
 	StartDate string `json:"startDate,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Active") to
@@ -12084,41 +12070,21 @@
 
 	// ReportGenerationTimeZoneId: Report generation time zone ID of this
 	// account. This is a required field that can only be changed by a
-	// superuser.
-	// Acceptable values are:
-	//
-	// - "1" for "America/New_York"
-	// - "2" for "Europe/London"
-	// - "3" for "Europe/Paris"
-	// - "4" for "Africa/Johannesburg"
-	// - "5" for "Asia/Jerusalem"
-	// - "6" for "Asia/Shanghai"
-	// - "7" for "Asia/Hong_Kong"
-	// - "8" for "Asia/Tokyo"
-	// - "9" for "Australia/Sydney"
-	// - "10" for "Asia/Dubai"
-	// - "11" for "America/Los_Angeles"
-	// - "12" for "Pacific/Auckland"
-	// - "13" for "America/Sao_Paulo"
-	// - "16" for "America/Asuncion"
-	// - "17" for "America/Chicago"
-	// - "18" for "America/Denver"
-	// - "19" for "America/St_Johns"
-	// - "20" for "Asia/Dhaka"
-	// - "21" for "Asia/Jakarta"
-	// - "22" for "Asia/Kabul"
-	// - "23" for "Asia/Karachi"
-	// - "24" for "Asia/Calcutta"
-	// - "25" for "Asia/Pyongyang"
-	// - "26" for "Asia/Rangoon"
-	// - "27" for "Atlantic/Cape_Verde"
-	// - "28" for "Atlantic/South_Georgia"
-	// - "29" for "Australia/Adelaide"
-	// - "30" for "Australia/Lord_Howe"
-	// - "31" for "Europe/Moscow"
-	// - "32" for "Pacific/Kiritimati"
-	// - "35" for "Pacific/Norfolk"
-	// - "36" for "Pacific/Tongatapu"
+	// superuser. Acceptable values are: - "1" for "America/New_York" - "2"
+	// for "Europe/London" - "3" for "Europe/Paris" - "4" for
+	// "Africa/Johannesburg" - "5" for "Asia/Jerusalem" - "6" for
+	// "Asia/Shanghai" - "7" for "Asia/Hong_Kong" - "8" for "Asia/Tokyo" -
+	// "9" for "Australia/Sydney" - "10" for "Asia/Dubai" - "11" for
+	// "America/Los_Angeles" - "12" for "Pacific/Auckland" - "13" for
+	// "America/Sao_Paulo" - "16" for "America/Asuncion" - "17" for
+	// "America/Chicago" - "18" for "America/Denver" - "19" for
+	// "America/St_Johns" - "20" for "Asia/Dhaka" - "21" for "Asia/Jakarta"
+	// - "22" for "Asia/Kabul" - "23" for "Asia/Karachi" - "24" for
+	// "Asia/Calcutta" - "25" for "Asia/Pyongyang" - "26" for "Asia/Rangoon"
+	// - "27" for "Atlantic/Cape_Verde" - "28" for "Atlantic/South_Georgia"
+	// - "29" for "Australia/Adelaide" - "30" for "Australia/Lord_Howe" -
+	// "31" for "Europe/Moscow" - "32" for "Pacific/Kiritimati" - "35" for
+	// "Pacific/Norfolk" - "36" for "Pacific/Tongatapu"
 	ReportGenerationTimeZoneId int64 `json:"reportGenerationTimeZoneId,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -12433,17 +12399,15 @@
 	// measurement adapter will use for in-stream video creatives assigned
 	// to the placement. The publisher's specifications will typically
 	// determine this setting. For VPAID creatives, the adapter format will
-	// match the VPAID format (HTML5 VPAID creatives use the HTML5
-	// adapter).
-	//
-	// Note: Flash is no longer supported. This field now defaults to HTML5
-	// when the following values are provided: FLASH, BOTH.
+	// match the VPAID format (HTML5 VPAID creatives use the HTML5 adapter).
+	// *Note:* Flash is no longer supported. This field now defaults to
+	// HTML5 when the following values are provided: FLASH, BOTH.
 	//
 	// Possible values:
-	//   "BOTH"
 	//   "DEFAULT"
 	//   "FLASH"
 	//   "HTML5"
+	//   "BOTH"
 	VpaidAdapterChoiceTemplate string `json:"vpaidAdapterChoiceTemplate,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
@@ -12909,25 +12873,25 @@
 	// Format: TagData tag format of this tag.
 	//
 	// Possible values:
-	//   "PLACEMENT_TAG_CLICK_COMMANDS"
-	//   "PLACEMENT_TAG_IFRAME_ILAYER"
+	//   "PLACEMENT_TAG_STANDARD"
 	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
-	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
-	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
-	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
-	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
+	//   "PLACEMENT_TAG_IFRAME_ILAYER"
 	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
+	//   "PLACEMENT_TAG_JAVASCRIPT"
 	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
-	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
 	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
 	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
-	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
-	//   "PLACEMENT_TAG_JAVASCRIPT"
-	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
-	//   "PLACEMENT_TAG_STANDARD"
+	//   "PLACEMENT_TAG_CLICK_COMMANDS"
+	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
 	//   "PLACEMENT_TAG_TRACKING"
 	//   "PLACEMENT_TAG_TRACKING_IFRAME"
 	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
+	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
+	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
+	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
+	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
+	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
 	Format string `json:"format,omitempty"`
 
 	// ImpressionTag: Tag string for serving an ad.
@@ -12978,9 +12942,9 @@
 	// can then add keywords to those placeholders.
 	//
 	// Possible values:
-	//   "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD"
-	//   "IGNORE"
 	//   "PLACEHOLDER_WITH_LIST_OF_KEYWORDS"
+	//   "IGNORE"
+	//   "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD"
 	KeywordOption string `json:"keywordOption,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AdditionalKeyValues")
@@ -13048,9 +13012,9 @@
 	// of the flash creative can be displayed.
 	//
 	// Possible values:
+	//   "NEW_WINDOW"
 	//   "CURRENT_WINDOW"
 	//   "CUSTOM"
-	//   "NEW_WINDOW"
 	TargetWindowOption string `json:"targetWindowOption,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CustomHtml") to
@@ -13123,17 +13087,17 @@
 	// originated.
 	//
 	// Possible values:
-	//   "REMARKETING_LIST_SOURCE_ADX"
-	//   "REMARKETING_LIST_SOURCE_DBM"
-	//   "REMARKETING_LIST_SOURCE_DFA"
-	//   "REMARKETING_LIST_SOURCE_DFP"
-	//   "REMARKETING_LIST_SOURCE_DMP"
-	//   "REMARKETING_LIST_SOURCE_GA"
-	//   "REMARKETING_LIST_SOURCE_GPLUS"
 	//   "REMARKETING_LIST_SOURCE_OTHER"
-	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
+	//   "REMARKETING_LIST_SOURCE_ADX"
+	//   "REMARKETING_LIST_SOURCE_DFP"
 	//   "REMARKETING_LIST_SOURCE_XFP"
+	//   "REMARKETING_LIST_SOURCE_DFA"
+	//   "REMARKETING_LIST_SOURCE_GA"
 	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
+	//   "REMARKETING_LIST_SOURCE_DBM"
+	//   "REMARKETING_LIST_SOURCE_GPLUS"
+	//   "REMARKETING_LIST_SOURCE_DMP"
+	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
 	ListSource string `json:"listSource,omitempty"`
 
 	// Name: Name of the targetable remarketing list. Is no greater than 128
@@ -13435,25 +13399,25 @@
 	// in-stream audio creatives.
 	//
 	// Possible values:
-	//   "CLICK_TRACKING"
 	//   "IMPRESSION"
-	//   "RICH_MEDIA_BACKUP_IMPRESSION"
-	//   "RICH_MEDIA_IMPRESSION"
-	//   "RICH_MEDIA_RM_IMPRESSION"
-	//   "SURVEY"
-	//   "VIDEO_COMPLETE"
-	//   "VIDEO_CUSTOM"
+	//   "CLICK_TRACKING"
+	//   "VIDEO_START"
 	//   "VIDEO_FIRST_QUARTILE"
-	//   "VIDEO_FULLSCREEN"
 	//   "VIDEO_MIDPOINT"
+	//   "VIDEO_THIRD_QUARTILE"
+	//   "VIDEO_COMPLETE"
 	//   "VIDEO_MUTE"
 	//   "VIDEO_PAUSE"
-	//   "VIDEO_PROGRESS"
 	//   "VIDEO_REWIND"
-	//   "VIDEO_SKIP"
-	//   "VIDEO_START"
+	//   "VIDEO_FULLSCREEN"
 	//   "VIDEO_STOP"
-	//   "VIDEO_THIRD_QUARTILE"
+	//   "VIDEO_CUSTOM"
+	//   "SURVEY"
+	//   "RICH_MEDIA_IMPRESSION"
+	//   "RICH_MEDIA_RM_IMPRESSION"
+	//   "RICH_MEDIA_BACKUP_IMPRESSION"
+	//   "VIDEO_SKIP"
+	//   "VIDEO_PROGRESS"
 	ThirdPartyUrlType string `json:"thirdPartyUrlType,omitempty"`
 
 	// Url: URL for the specified third-party URL type.
@@ -13524,10 +13488,10 @@
 	// Registry: Registry used for the Ad ID value.
 	//
 	// Possible values:
+	//   "OTHER"
 	//   "AD_ID.ORG"
 	//   "CLEARCAST"
 	//   "DCM"
-	//   "OTHER"
 	Registry string `json:"registry,omitempty"`
 
 	// Value: ID value for this creative. Only alphanumeric characters and
@@ -13564,8 +13528,8 @@
 	// DataType: Data type for the variable. This is a required field.
 	//
 	// Possible values:
-	//   "NUMBER"
 	//   "STRING"
+	//   "NUMBER"
 	DataType string `json:"dataType,omitempty"`
 
 	// ReportName: User-friendly name for the variable which will appear in
@@ -13577,8 +13541,15 @@
 	//
 	// Possible values:
 	//   "U1"
+	//   "U2"
+	//   "U3"
+	//   "U4"
+	//   "U5"
+	//   "U6"
+	//   "U7"
+	//   "U8"
+	//   "U9"
 	//   "U10"
-	//   "U100"
 	//   "U11"
 	//   "U12"
 	//   "U13"
@@ -13588,7 +13559,6 @@
 	//   "U17"
 	//   "U18"
 	//   "U19"
-	//   "U2"
 	//   "U20"
 	//   "U21"
 	//   "U22"
@@ -13599,7 +13569,6 @@
 	//   "U27"
 	//   "U28"
 	//   "U29"
-	//   "U3"
 	//   "U30"
 	//   "U31"
 	//   "U32"
@@ -13610,7 +13579,6 @@
 	//   "U37"
 	//   "U38"
 	//   "U39"
-	//   "U4"
 	//   "U40"
 	//   "U41"
 	//   "U42"
@@ -13621,7 +13589,6 @@
 	//   "U47"
 	//   "U48"
 	//   "U49"
-	//   "U5"
 	//   "U50"
 	//   "U51"
 	//   "U52"
@@ -13632,7 +13599,6 @@
 	//   "U57"
 	//   "U58"
 	//   "U59"
-	//   "U6"
 	//   "U60"
 	//   "U61"
 	//   "U62"
@@ -13643,7 +13609,6 @@
 	//   "U67"
 	//   "U68"
 	//   "U69"
-	//   "U7"
 	//   "U70"
 	//   "U71"
 	//   "U72"
@@ -13654,7 +13619,6 @@
 	//   "U77"
 	//   "U78"
 	//   "U79"
-	//   "U8"
 	//   "U80"
 	//   "U81"
 	//   "U82"
@@ -13665,7 +13629,6 @@
 	//   "U87"
 	//   "U88"
 	//   "U89"
-	//   "U9"
 	//   "U90"
 	//   "U91"
 	//   "U92"
@@ -13676,6 +13639,7 @@
 	//   "U97"
 	//   "U98"
 	//   "U99"
+	//   "U100"
 	VariableType string `json:"variableType,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "DataType") to
@@ -13868,11 +13832,11 @@
 	// Availability: Levels of availability for a user role permission.
 	//
 	// Possible values:
-	//   "ACCOUNT_ALWAYS"
-	//   "ACCOUNT_BY_DEFAULT"
 	//   "NOT_AVAILABLE_BY_DEFAULT"
-	//   "SUBACCOUNT_AND_ACCOUNT_ALWAYS"
+	//   "ACCOUNT_BY_DEFAULT"
 	//   "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT"
+	//   "ACCOUNT_ALWAYS"
+	//   "SUBACCOUNT_AND_ACCOUNT_ALWAYS"
 	Availability string `json:"availability,omitempty"`
 
 	// Id: ID of this user role permission.
@@ -14075,10 +14039,10 @@
 	//
 	// Possible values:
 	//   "FLV"
-	//   "M3U8"
-	//   "MP4"
 	//   "THREEGPP"
+	//   "MP4"
 	//   "WEBM"
+	//   "M3U8"
 	FileType string `json:"fileType,omitempty"`
 
 	// Id: ID of the video format.
@@ -14302,7 +14266,7 @@
 
 func (c *AccountActiveAdSummariesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14366,6 +14330,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets the account's active ad summary by account ID.",
+	//   "flatPath": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.accountActiveAdSummaries.get",
 	//   "parameterOrder": [
@@ -14456,7 +14421,7 @@
 
 func (c *AccountPermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14520,6 +14485,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one account permission group by ID.",
+	//   "flatPath": "userprofiles/{profileId}/accountPermissionGroups/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.accountPermissionGroups.get",
 	//   "parameterOrder": [
@@ -14608,7 +14574,7 @@
 
 func (c *AccountPermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14672,6 +14638,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves the list of account permission groups.",
+	//   "flatPath": "userprofiles/{profileId}/accountPermissionGroups",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.accountPermissionGroups.list",
 	//   "parameterOrder": [
@@ -14754,7 +14721,7 @@
 
 func (c *AccountPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14818,6 +14785,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one account permission by ID.",
+	//   "flatPath": "userprofiles/{profileId}/accountPermissions/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.accountPermissions.get",
 	//   "parameterOrder": [
@@ -14906,7 +14874,7 @@
 
 func (c *AccountPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14969,6 +14937,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves the list of account permissions.",
+	//   "flatPath": "userprofiles/{profileId}/accountPermissions",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.accountPermissions.list",
 	//   "parameterOrder": [
@@ -15051,7 +15020,7 @@
 
 func (c *AccountUserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15115,6 +15084,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one account user profile by ID.",
+	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.accountUserProfiles.get",
 	//   "parameterOrder": [
@@ -15194,7 +15164,7 @@
 
 func (c *AccountUserProfilesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15259,6 +15229,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new account user profile.",
+	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.accountUserProfiles.insert",
 	//   "parameterOrder": [
@@ -15425,7 +15396,7 @@
 
 func (c *AccountUserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15488,6 +15459,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of account user profiles, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.accountUserProfiles.list",
 	//   "parameterOrder": [
@@ -15618,14 +15590,19 @@
 
 // Patch: Updates an existing account user profile. This method supports
 // patch semantics.
-func (r *AccountUserProfilesService) Patch(profileId int64, id int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesPatchCall {
+func (r *AccountUserProfilesService) Patch(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesPatchCall {
 	c := &AccountUserProfilesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.accountuserprofile = accountuserprofile
 	return c
 }
 
+// Id sets the optional parameter "id": AccountUserProfile ID.
+func (c *AccountUserProfilesPatchCall) Id(id int64) *AccountUserProfilesPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -15653,7 +15630,7 @@
 
 func (c *AccountUserProfilesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15718,18 +15695,17 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing account user profile. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.accountUserProfiles.patch",
 	//   "parameterOrder": [
-	//     "profileId",
-	//     "id"
+	//     "profileId"
 	//   ],
 	//   "parameters": {
 	//     "id": {
-	//       "description": "User profile ID.",
+	//       "description": "AccountUserProfile ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -15800,7 +15776,7 @@
 
 func (c *AccountUserProfilesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15865,6 +15841,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing account user profile.",
+	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.accountUserProfiles.update",
 	//   "parameterOrder": [
@@ -15950,7 +15927,7 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16014,6 +15991,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one account by ID.",
+	//   "flatPath": "userprofiles/{profileId}/accounts/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.accounts.get",
 	//   "parameterOrder": [
@@ -16171,7 +16149,7 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16234,6 +16212,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves the list of accounts, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/accounts",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.accounts.list",
 	//   "parameterOrder": [
@@ -16352,14 +16331,19 @@
 
 // Patch: Updates an existing account. This method supports patch
 // semantics.
-func (r *AccountsService) Patch(profileId int64, id int64, account *Account) *AccountsPatchCall {
+func (r *AccountsService) Patch(profileId int64, account *Account) *AccountsPatchCall {
 	c := &AccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.account = account
 	return c
 }
 
+// Id sets the optional parameter "id": Account ID.
+func (c *AccountsPatchCall) Id(id int64) *AccountsPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -16387,7 +16371,7 @@
 
 func (c *AccountsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16452,18 +16436,17 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing account. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/accounts",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.accounts.patch",
 	//   "parameterOrder": [
-	//     "profileId",
-	//     "id"
+	//     "profileId"
 	//   ],
 	//   "parameters": {
 	//     "id": {
 	//       "description": "Account ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -16534,7 +16517,7 @@
 
 func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16599,6 +16582,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing account.",
+	//   "flatPath": "userprofiles/{profileId}/accounts",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.accounts.update",
 	//   "parameterOrder": [
@@ -16684,7 +16668,7 @@
 
 func (c *AdsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16748,6 +16732,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one ad by ID.",
+	//   "flatPath": "userprofiles/{profileId}/ads/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.ads.get",
 	//   "parameterOrder": [
@@ -16827,7 +16812,7 @@
 
 func (c *AdsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16892,6 +16877,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new ad.",
+	//   "flatPath": "userprofiles/{profileId}/ads",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.ads.insert",
 	//   "parameterOrder": [
@@ -16990,12 +16976,12 @@
 // in-stream video ads developed with the VAST standard.
 //
 // Possible values:
-//   "APP"
-//   "APP_INTERSTITIAL"
 //   "DISPLAY"
 //   "DISPLAY_INTERSTITIAL"
-//   "IN_STREAM_AUDIO"
+//   "APP"
+//   "APP_INTERSTITIAL"
 //   "IN_STREAM_VIDEO"
+//   "IN_STREAM_AUDIO"
 func (c *AdsListCall) Compatibility(compatibility string) *AdsListCall {
 	c.urlParams_.Set("compatibility", compatibility)
 	return c
@@ -17164,9 +17150,9 @@
 // types.
 //
 // Possible values:
-//   "AD_SERVING_CLICK_TRACKER"
-//   "AD_SERVING_DEFAULT_AD"
 //   "AD_SERVING_STANDARD_AD"
+//   "AD_SERVING_DEFAULT_AD"
+//   "AD_SERVING_CLICK_TRACKER"
 //   "AD_SERVING_TRACKING"
 func (c *AdsListCall) Type(type_ ...string) *AdsListCall {
 	c.urlParams_.SetMulti("type", append([]string{}, type_...))
@@ -17210,7 +17196,7 @@
 
 func (c *AdsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17273,6 +17259,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of ads, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/ads",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.ads.list",
 	//   "parameterOrder": [
@@ -17312,12 +17299,12 @@
 	//     "compatibility": {
 	//       "description": "Select default ads with the specified compatibility. Applicable when type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an in-stream video ads developed with the VAST standard.",
 	//       "enum": [
-	//         "APP",
-	//         "APP_INTERSTITIAL",
 	//         "DISPLAY",
 	//         "DISPLAY_INTERSTITIAL",
-	//         "IN_STREAM_AUDIO",
-	//         "IN_STREAM_VIDEO"
+	//         "APP",
+	//         "APP_INTERSTITIAL",
+	//         "IN_STREAM_VIDEO",
+	//         "IN_STREAM_AUDIO"
 	//       ],
 	//       "enumDescriptions": [
 	//         "",
@@ -17457,9 +17444,9 @@
 	//     "type": {
 	//       "description": "Select only ads with these types.",
 	//       "enum": [
-	//         "AD_SERVING_CLICK_TRACKER",
-	//         "AD_SERVING_DEFAULT_AD",
 	//         "AD_SERVING_STANDARD_AD",
+	//         "AD_SERVING_DEFAULT_AD",
+	//         "AD_SERVING_CLICK_TRACKER",
 	//         "AD_SERVING_TRACKING"
 	//       ],
 	//       "enumDescriptions": [
@@ -17517,14 +17504,19 @@
 }
 
 // Patch: Updates an existing ad. This method supports patch semantics.
-func (r *AdsService) Patch(profileId int64, id int64, ad *Ad) *AdsPatchCall {
+func (r *AdsService) Patch(profileId int64, ad *Ad) *AdsPatchCall {
 	c := &AdsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.ad = ad
 	return c
 }
 
+// Id sets the optional parameter "id": Ad ID.
+func (c *AdsPatchCall) Id(id int64) *AdsPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -17552,7 +17544,7 @@
 
 func (c *AdsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17617,18 +17609,17 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing ad. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/ads",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.ads.patch",
 	//   "parameterOrder": [
-	//     "profileId",
-	//     "id"
+	//     "profileId"
 	//   ],
 	//   "parameters": {
 	//     "id": {
 	//       "description": "Ad ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -17699,7 +17690,7 @@
 
 func (c *AdsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17764,6 +17755,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing ad.",
+	//   "flatPath": "userprofiles/{profileId}/ads",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.ads.update",
 	//   "parameterOrder": [
@@ -17838,7 +17830,7 @@
 
 func (c *AdvertiserGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17874,6 +17866,7 @@
 	return nil
 	// {
 	//   "description": "Deletes an existing advertiser group.",
+	//   "flatPath": "userprofiles/{profileId}/advertiserGroups/{id}",
 	//   "httpMethod": "DELETE",
 	//   "id": "dfareporting.advertiserGroups.delete",
 	//   "parameterOrder": [
@@ -17961,7 +17954,7 @@
 
 func (c *AdvertiserGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18025,6 +18018,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one advertiser group by ID.",
+	//   "flatPath": "userprofiles/{profileId}/advertiserGroups/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.advertiserGroups.get",
 	//   "parameterOrder": [
@@ -18104,7 +18098,7 @@
 
 func (c *AdvertiserGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18169,6 +18163,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new advertiser group.",
+	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.advertiserGroups.insert",
 	//   "parameterOrder": [
@@ -18314,7 +18309,7 @@
 
 func (c *AdvertiserGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18377,6 +18372,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of advertiser groups, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.advertiserGroups.list",
 	//   "parameterOrder": [
@@ -18490,14 +18486,19 @@
 
 // Patch: Updates an existing advertiser group. This method supports
 // patch semantics.
-func (r *AdvertiserGroupsService) Patch(profileId int64, id int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsPatchCall {
+func (r *AdvertiserGroupsService) Patch(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsPatchCall {
 	c := &AdvertiserGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.advertisergroup = advertisergroup
 	return c
 }
 
+// Id sets the optional parameter "id": AdvertiserGroup ID.
+func (c *AdvertiserGroupsPatchCall) Id(id int64) *AdvertiserGroupsPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -18525,7 +18526,7 @@
 
 func (c *AdvertiserGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18590,18 +18591,17 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing advertiser group. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.advertiserGroups.patch",
 	//   "parameterOrder": [
-	//     "profileId",
-	//     "id"
+	//     "profileId"
 	//   ],
 	//   "parameters": {
 	//     "id": {
-	//       "description": "Advertiser group ID.",
+	//       "description": "AdvertiserGroup ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -18672,7 +18672,7 @@
 
 func (c *AdvertiserGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18737,6 +18737,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing advertiser group.",
+	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.advertiserGroups.update",
 	//   "parameterOrder": [
@@ -18822,7 +18823,7 @@
 
 func (c *AdvertiserLandingPagesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18886,6 +18887,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one landing page by ID.",
+	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.advertiserLandingPages.get",
 	//   "parameterOrder": [
@@ -18965,7 +18967,7 @@
 
 func (c *AdvertiserLandingPagesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19030,6 +19032,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new landing page.",
+	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.advertiserLandingPages.insert",
 	//   "parameterOrder": [
@@ -19210,7 +19213,7 @@
 
 func (c *AdvertiserLandingPagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19274,6 +19277,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of landing pages.",
+	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.advertiserLandingPages.list",
 	//   "parameterOrder": [
@@ -19410,16 +19414,21 @@
 	header_     http.Header
 }
 
-// Patch: Updates an existing landing page. This method supports patch
-// semantics.
-func (r *AdvertiserLandingPagesService) Patch(profileId int64, id int64, landingpage *LandingPage) *AdvertiserLandingPagesPatchCall {
+// Patch: Updates an existing advertiser landing page. This method
+// supports patch semantics.
+func (r *AdvertiserLandingPagesService) Patch(profileId int64, landingpage *LandingPage) *AdvertiserLandingPagesPatchCall {
 	c := &AdvertiserLandingPagesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.landingpage = landingpage
 	return c
 }
 
+// Id sets the optional parameter "id": LandingPage ID.
+func (c *AdvertiserLandingPagesPatchCall) Id(id int64) *AdvertiserLandingPagesPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -19447,7 +19456,7 @@
 
 func (c *AdvertiserLandingPagesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19511,19 +19520,18 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates an existing landing page. This method supports patch semantics.",
+	//   "description": "Updates an existing advertiser landing page. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.advertiserLandingPages.patch",
 	//   "parameterOrder": [
-	//     "profileId",
-	//     "id"
+	//     "profileId"
 	//   ],
 	//   "parameters": {
 	//     "id": {
-	//       "description": "Landing page ID.",
+	//       "description": "LandingPage ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -19594,7 +19602,7 @@
 
 func (c *AdvertiserLandingPagesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19659,6 +19667,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing landing page.",
+	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.advertiserLandingPages.update",
 	//   "parameterOrder": [
@@ -19744,7 +19753,7 @@
 
 func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19808,6 +19817,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one advertiser by ID.",
+	//   "flatPath": "userprofiles/{profileId}/advertisers/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.advertisers.get",
 	//   "parameterOrder": [
@@ -19887,7 +19897,7 @@
 
 func (c *AdvertisersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19952,6 +19962,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new advertiser.",
+	//   "flatPath": "userprofiles/{profileId}/advertisers",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.advertisers.insert",
 	//   "parameterOrder": [
@@ -20069,7 +20080,7 @@
 // "advertiser 2015". Most of the searches also add wildcards implicitly
 // at the start and the end of the search string. For example, a search
 // string of "advertiser" will match objects with name "my advertiser",
-// "advertiser 2015", or simply "advertiser".
+// "advertiser 2015", or simply "advertiser" .
 func (c *AdvertisersListCall) SearchString(searchString string) *AdvertisersListCall {
 	c.urlParams_.Set("searchString", searchString)
 	return c
@@ -20152,7 +20163,7 @@
 
 func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20215,6 +20226,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of advertisers, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/advertisers",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.advertisers.list",
 	//   "parameterOrder": [
@@ -20274,7 +20286,7 @@
 	//       "type": "string"
 	//     },
 	//     "searchString": {
-	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"advertiser*2015\" will return objects with names like \"advertiser June 2015\", \"advertiser April 2015\", or simply \"advertiser 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"advertiser\" will match objects with name \"my advertiser\", \"advertiser 2015\", or simply \"advertiser\".",
+	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"advertiser*2015\" will return objects with names like \"advertiser June 2015\", \"advertiser April 2015\", or simply \"advertiser 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"advertiser\" will match objects with name \"my advertiser\", \"advertiser 2015\", or simply \"advertiser\" .",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -20371,14 +20383,19 @@
 
 // Patch: Updates an existing advertiser. This method supports patch
 // semantics.
-func (r *AdvertisersService) Patch(profileId int64, id int64, advertiser *Advertiser) *AdvertisersPatchCall {
+func (r *AdvertisersService) Patch(profileId int64, advertiser *Advertiser) *AdvertisersPatchCall {
 	c := &AdvertisersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.advertiser = advertiser
 	return c
 }
 
+// Id sets the optional parameter "id": Advertiser ID.
+func (c *AdvertisersPatchCall) Id(id int64) *AdvertisersPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -20406,7 +20423,7 @@
 
 func (c *AdvertisersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20471,18 +20488,17 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing advertiser. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/advertisers",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.advertisers.patch",
 	//   "parameterOrder": [
-	//     "profileId",
-	//     "id"
+	//     "profileId"
 	//   ],
 	//   "parameters": {
 	//     "id": {
 	//       "description": "Advertiser ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -20553,7 +20569,7 @@
 
 func (c *AdvertisersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20618,6 +20634,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing advertiser.",
+	//   "flatPath": "userprofiles/{profileId}/advertisers",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.advertisers.update",
 	//   "parameterOrder": [
@@ -20701,7 +20718,7 @@
 
 func (c *BrowsersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20764,6 +20781,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of browsers.",
+	//   "flatPath": "userprofiles/{profileId}/browsers",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.browsers.list",
 	//   "parameterOrder": [
@@ -20839,7 +20857,7 @@
 
 func (c *CampaignCreativeAssociationsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20905,6 +20923,7 @@
 	return ret, nil
 	// {
 	//   "description": "Associates a creative with the specified campaign. This method creates a default ad with dimensions matching the creative in the campaign if such a default ad does not exist already.",
+	//   "flatPath": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.campaignCreativeAssociations.insert",
 	//   "parameterOrder": [
@@ -21024,7 +21043,7 @@
 
 func (c *CampaignCreativeAssociationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21090,6 +21109,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves the list of creative IDs associated with the specified campaign. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.campaignCreativeAssociations.list",
 	//   "parameterOrder": [
@@ -21229,7 +21249,7 @@
 
 func (c *CampaignsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21293,6 +21313,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one campaign by ID.",
+	//   "flatPath": "userprofiles/{profileId}/campaigns/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.campaigns.get",
 	//   "parameterOrder": [
@@ -21372,7 +21393,7 @@
 
 func (c *CampaignsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21437,6 +21458,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new campaign.",
+	//   "flatPath": "userprofiles/{profileId}/campaigns",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.campaigns.insert",
 	//   "parameterOrder": [
@@ -21646,7 +21668,7 @@
 
 func (c *CampaignsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21709,6 +21731,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of campaigns, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/campaigns",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.campaigns.list",
 	//   "parameterOrder": [
@@ -21865,14 +21888,19 @@
 
 // Patch: Updates an existing campaign. This method supports patch
 // semantics.
-func (r *CampaignsService) Patch(profileId int64, id int64, campaign *Campaign) *CampaignsPatchCall {
+func (r *CampaignsService) Patch(profileId int64, campaign *Campaign) *CampaignsPatchCall {
 	c := &CampaignsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.campaign = campaign
 	return c
 }
 
+// Id sets the optional parameter "id": Campaign ID.
+func (c *CampaignsPatchCall) Id(id int64) *CampaignsPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -21900,7 +21928,7 @@
 
 func (c *CampaignsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21965,18 +21993,17 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing campaign. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/campaigns",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.campaigns.patch",
 	//   "parameterOrder": [
-	//     "profileId",
-	//     "id"
+	//     "profileId"
 	//   ],
 	//   "parameters": {
 	//     "id": {
 	//       "description": "Campaign ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -22047,7 +22074,7 @@
 
 func (c *CampaignsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22112,6 +22139,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing campaign.",
+	//   "flatPath": "userprofiles/{profileId}/campaigns",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.campaigns.update",
 	//   "parameterOrder": [
@@ -22197,7 +22225,7 @@
 
 func (c *ChangeLogsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22261,6 +22289,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one change log by ID.",
+	//   "flatPath": "userprofiles/{profileId}/changeLogs/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.changeLogs.get",
 	//   "parameterOrder": [
@@ -22316,23 +22345,23 @@
 // with the specified action.
 //
 // Possible values:
-//   "ACTION_ADD"
-//   "ACTION_ASSIGN"
-//   "ACTION_ASSOCIATE"
 //   "ACTION_CREATE"
-//   "ACTION_DELETE"
-//   "ACTION_DISABLE"
-//   "ACTION_EMAIL_TAGS"
-//   "ACTION_ENABLE"
-//   "ACTION_LINK"
-//   "ACTION_MARK_AS_DEFAULT"
-//   "ACTION_PUSH"
-//   "ACTION_REMOVE"
-//   "ACTION_SEND"
-//   "ACTION_SHARE"
-//   "ACTION_UNASSIGN"
-//   "ACTION_UNLINK"
 //   "ACTION_UPDATE"
+//   "ACTION_DELETE"
+//   "ACTION_ENABLE"
+//   "ACTION_DISABLE"
+//   "ACTION_ADD"
+//   "ACTION_REMOVE"
+//   "ACTION_MARK_AS_DEFAULT"
+//   "ACTION_ASSOCIATE"
+//   "ACTION_ASSIGN"
+//   "ACTION_UNASSIGN"
+//   "ACTION_SEND"
+//   "ACTION_LINK"
+//   "ACTION_UNLINK"
+//   "ACTION_PUSH"
+//   "ACTION_EMAIL_TAGS"
+//   "ACTION_SHARE"
 func (c *ChangeLogsListCall) Action(action string) *ChangeLogsListCall {
 	c.urlParams_.Set("action", action)
 	return c
@@ -22397,46 +22426,46 @@
 // change logs with the specified object type.
 //
 // Possible values:
-//   "OBJECT_ACCOUNT"
-//   "OBJECT_ACCOUNT_BILLING_FEATURE"
-//   "OBJECT_AD"
 //   "OBJECT_ADVERTISER"
+//   "OBJECT_FLOODLIGHT_CONFIGURATION"
+//   "OBJECT_AD"
+//   "OBJECT_FLOODLIGHT_ACTVITY"
+//   "OBJECT_CAMPAIGN"
+//   "OBJECT_FLOODLIGHT_ACTIVITY_GROUP"
+//   "OBJECT_CREATIVE"
+//   "OBJECT_PLACEMENT"
+//   "OBJECT_DFA_SITE"
+//   "OBJECT_USER_ROLE"
+//   "OBJECT_USER_PROFILE"
 //   "OBJECT_ADVERTISER_GROUP"
+//   "OBJECT_ACCOUNT"
+//   "OBJECT_SUBACCOUNT"
+//   "OBJECT_RICHMEDIA_CREATIVE"
+//   "OBJECT_INSTREAM_CREATIVE"
+//   "OBJECT_MEDIA_ORDER"
+//   "OBJECT_CONTENT_CATEGORY"
+//   "OBJECT_PLACEMENT_STRATEGY"
+//   "OBJECT_SD_SITE"
+//   "OBJECT_SIZE"
+//   "OBJECT_CREATIVE_GROUP"
+//   "OBJECT_CREATIVE_ASSET"
+//   "OBJECT_USER_PROFILE_FILTER"
+//   "OBJECT_LANDING_PAGE"
+//   "OBJECT_CREATIVE_FIELD"
+//   "OBJECT_REMARKETING_LIST"
+//   "OBJECT_PROVIDED_LIST_CLIENT"
+//   "OBJECT_EVENT_TAG"
+//   "OBJECT_CREATIVE_BUNDLE"
 //   "OBJECT_BILLING_ACCOUNT_GROUP"
 //   "OBJECT_BILLING_FEATURE"
+//   "OBJECT_RATE_CARD"
+//   "OBJECT_ACCOUNT_BILLING_FEATURE"
 //   "OBJECT_BILLING_MINIMUM_FEE"
 //   "OBJECT_BILLING_PROFILE"
-//   "OBJECT_CAMPAIGN"
-//   "OBJECT_CONTENT_CATEGORY"
-//   "OBJECT_CREATIVE"
-//   "OBJECT_CREATIVE_ASSET"
-//   "OBJECT_CREATIVE_BUNDLE"
-//   "OBJECT_CREATIVE_FIELD"
-//   "OBJECT_CREATIVE_GROUP"
-//   "OBJECT_DFA_SITE"
-//   "OBJECT_EVENT_TAG"
-//   "OBJECT_FLOODLIGHT_ACTIVITY_GROUP"
-//   "OBJECT_FLOODLIGHT_ACTVITY"
-//   "OBJECT_FLOODLIGHT_CONFIGURATION"
-//   "OBJECT_FLOODLIGHT_DV360_LINK"
-//   "OBJECT_INSTREAM_CREATIVE"
-//   "OBJECT_LANDING_PAGE"
-//   "OBJECT_MEDIA_ORDER"
-//   "OBJECT_PLACEMENT"
-//   "OBJECT_PLACEMENT_STRATEGY"
 //   "OBJECT_PLAYSTORE_LINK"
-//   "OBJECT_PROVIDED_LIST_CLIENT"
-//   "OBJECT_RATE_CARD"
-//   "OBJECT_REMARKETING_LIST"
-//   "OBJECT_RICHMEDIA_CREATIVE"
-//   "OBJECT_SD_SITE"
-//   "OBJECT_SEARCH_LIFT_STUDY"
-//   "OBJECT_SIZE"
-//   "OBJECT_SUBACCOUNT"
 //   "OBJECT_TARGETING_TEMPLATE"
-//   "OBJECT_USER_PROFILE"
-//   "OBJECT_USER_PROFILE_FILTER"
-//   "OBJECT_USER_ROLE"
+//   "OBJECT_SEARCH_LIFT_STUDY"
+//   "OBJECT_FLOODLIGHT_DV360_LINK"
 func (c *ChangeLogsListCall) ObjectType(objectType string) *ChangeLogsListCall {
 	c.urlParams_.Set("objectType", objectType)
 	return c
@@ -22505,7 +22534,7 @@
 
 func (c *ChangeLogsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22568,6 +22597,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of change logs. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/changeLogs",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.changeLogs.list",
 	//   "parameterOrder": [
@@ -22577,23 +22607,23 @@
 	//     "action": {
 	//       "description": "Select only change logs with the specified action.",
 	//       "enum": [
-	//         "ACTION_ADD",
-	//         "ACTION_ASSIGN",
-	//         "ACTION_ASSOCIATE",
 	//         "ACTION_CREATE",
+	//         "ACTION_UPDATE",
 	//         "ACTION_DELETE",
-	//         "ACTION_DISABLE",
-	//         "ACTION_EMAIL_TAGS",
 	//         "ACTION_ENABLE",
-	//         "ACTION_LINK",
-	//         "ACTION_MARK_AS_DEFAULT",
-	//         "ACTION_PUSH",
+	//         "ACTION_DISABLE",
+	//         "ACTION_ADD",
 	//         "ACTION_REMOVE",
-	//         "ACTION_SEND",
-	//         "ACTION_SHARE",
+	//         "ACTION_MARK_AS_DEFAULT",
+	//         "ACTION_ASSOCIATE",
+	//         "ACTION_ASSIGN",
 	//         "ACTION_UNASSIGN",
+	//         "ACTION_SEND",
+	//         "ACTION_LINK",
 	//         "ACTION_UNLINK",
-	//         "ACTION_UPDATE"
+	//         "ACTION_PUSH",
+	//         "ACTION_EMAIL_TAGS",
+	//         "ACTION_SHARE"
 	//       ],
 	//       "enumDescriptions": [
 	//         "",
@@ -22653,46 +22683,46 @@
 	//     "objectType": {
 	//       "description": "Select only change logs with the specified object type.",
 	//       "enum": [
-	//         "OBJECT_ACCOUNT",
-	//         "OBJECT_ACCOUNT_BILLING_FEATURE",
-	//         "OBJECT_AD",
 	//         "OBJECT_ADVERTISER",
+	//         "OBJECT_FLOODLIGHT_CONFIGURATION",
+	//         "OBJECT_AD",
+	//         "OBJECT_FLOODLIGHT_ACTVITY",
+	//         "OBJECT_CAMPAIGN",
+	//         "OBJECT_FLOODLIGHT_ACTIVITY_GROUP",
+	//         "OBJECT_CREATIVE",
+	//         "OBJECT_PLACEMENT",
+	//         "OBJECT_DFA_SITE",
+	//         "OBJECT_USER_ROLE",
+	//         "OBJECT_USER_PROFILE",
 	//         "OBJECT_ADVERTISER_GROUP",
+	//         "OBJECT_ACCOUNT",
+	//         "OBJECT_SUBACCOUNT",
+	//         "OBJECT_RICHMEDIA_CREATIVE",
+	//         "OBJECT_INSTREAM_CREATIVE",
+	//         "OBJECT_MEDIA_ORDER",
+	//         "OBJECT_CONTENT_CATEGORY",
+	//         "OBJECT_PLACEMENT_STRATEGY",
+	//         "OBJECT_SD_SITE",
+	//         "OBJECT_SIZE",
+	//         "OBJECT_CREATIVE_GROUP",
+	//         "OBJECT_CREATIVE_ASSET",
+	//         "OBJECT_USER_PROFILE_FILTER",
+	//         "OBJECT_LANDING_PAGE",
+	//         "OBJECT_CREATIVE_FIELD",
+	//         "OBJECT_REMARKETING_LIST",
+	//         "OBJECT_PROVIDED_LIST_CLIENT",
+	//         "OBJECT_EVENT_TAG",
+	//         "OBJECT_CREATIVE_BUNDLE",
 	//         "OBJECT_BILLING_ACCOUNT_GROUP",
 	//         "OBJECT_BILLING_FEATURE",
+	//         "OBJECT_RATE_CARD",
+	//         "OBJECT_ACCOUNT_BILLING_FEATURE",
 	//         "OBJECT_BILLING_MINIMUM_FEE",
 	//         "OBJECT_BILLING_PROFILE",
-	//         "OBJECT_CAMPAIGN",
-	//         "OBJECT_CONTENT_CATEGORY",
-	//         "OBJECT_CREATIVE",
-	//         "OBJECT_CREATIVE_ASSET",
-	//         "OBJECT_CREATIVE_BUNDLE",
-	//         "OBJECT_CREATIVE_FIELD",
-	//         "OBJECT_CREATIVE_GROUP",
-	//         "OBJECT_DFA_SITE",
-	//         "OBJECT_EVENT_TAG",
-	//         "OBJECT_FLOODLIGHT_ACTIVITY_GROUP",
-	//         "OBJECT_FLOODLIGHT_ACTVITY",
-	//         "OBJECT_FLOODLIGHT_CONFIGURATION",
-	//         "OBJECT_FLOODLIGHT_DV360_LINK",
-	//         "OBJECT_INSTREAM_CREATIVE",
-	//         "OBJECT_LANDING_PAGE",
-	//         "OBJECT_MEDIA_ORDER",
-	//         "OBJECT_PLACEMENT",
-	//         "OBJECT_PLACEMENT_STRATEGY",
 	//         "OBJECT_PLAYSTORE_LINK",
-	//         "OBJECT_PROVIDED_LIST_CLIENT",
-	//         "OBJECT_RATE_CARD",
-	//         "OBJECT_REMARKETING_LIST",
-	//         "OBJECT_RICHMEDIA_CREATIVE",
-	//         "OBJECT_SD_SITE",
-	//         "OBJECT_SEARCH_LIFT_STUDY",
-	//         "OBJECT_SIZE",
-	//         "OBJECT_SUBACCOUNT",
 	//         "OBJECT_TARGETING_TEMPLATE",
-	//         "OBJECT_USER_PROFILE",
-	//         "OBJECT_USER_PROFILE_FILTER",
-	//         "OBJECT_USER_ROLE"
+	//         "OBJECT_SEARCH_LIFT_STUDY",
+	//         "OBJECT_FLOODLIGHT_DV360_LINK"
 	//       ],
 	//       "enumDescriptions": [
 	//         "",
@@ -22891,7 +22921,7 @@
 
 func (c *CitiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22954,6 +22984,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of cities, possibly filtered.",
+	//   "flatPath": "userprofiles/{profileId}/cities",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.cities.list",
 	//   "parameterOrder": [
@@ -23062,7 +23093,7 @@
 
 func (c *ConnectionTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23126,6 +23157,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one connection type by ID.",
+	//   "flatPath": "userprofiles/{profileId}/connectionTypes/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.connectionTypes.get",
 	//   "parameterOrder": [
@@ -23214,7 +23246,7 @@
 
 func (c *ConnectionTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23277,6 +23309,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of connection types.",
+	//   "flatPath": "userprofiles/{profileId}/connectionTypes",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.connectionTypes.list",
 	//   "parameterOrder": [
@@ -23348,7 +23381,7 @@
 
 func (c *ContentCategoriesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23384,6 +23417,7 @@
 	return nil
 	// {
 	//   "description": "Deletes an existing content category.",
+	//   "flatPath": "userprofiles/{profileId}/contentCategories/{id}",
 	//   "httpMethod": "DELETE",
 	//   "id": "dfareporting.contentCategories.delete",
 	//   "parameterOrder": [
@@ -23471,7 +23505,7 @@
 
 func (c *ContentCategoriesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23535,6 +23569,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one content category by ID.",
+	//   "flatPath": "userprofiles/{profileId}/contentCategories/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.contentCategories.get",
 	//   "parameterOrder": [
@@ -23614,7 +23649,7 @@
 
 func (c *ContentCategoriesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23679,6 +23714,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new content category.",
+	//   "flatPath": "userprofiles/{profileId}/contentCategories",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.contentCategories.insert",
 	//   "parameterOrder": [
@@ -23824,7 +23860,7 @@
 
 func (c *ContentCategoriesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23887,6 +23923,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of content categories, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/contentCategories",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.contentCategories.list",
 	//   "parameterOrder": [
@@ -24000,14 +24037,19 @@
 
 // Patch: Updates an existing content category. This method supports
 // patch semantics.
-func (r *ContentCategoriesService) Patch(profileId int64, id int64, contentcategory *ContentCategory) *ContentCategoriesPatchCall {
+func (r *ContentCategoriesService) Patch(profileId int64, contentcategory *ContentCategory) *ContentCategoriesPatchCall {
 	c := &ContentCategoriesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.contentcategory = contentcategory
 	return c
 }
 
+// Id sets the optional parameter "id": ContentCategory ID.
+func (c *ContentCategoriesPatchCall) Id(id int64) *ContentCategoriesPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -24035,7 +24077,7 @@
 
 func (c *ContentCategoriesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24100,18 +24142,17 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing content category. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/contentCategories",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.contentCategories.patch",
 	//   "parameterOrder": [
-	//     "profileId",
-	//     "id"
+	//     "profileId"
 	//   ],
 	//   "parameters": {
 	//     "id": {
-	//       "description": "Content category ID.",
+	//       "description": "ContentCategory ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -24182,7 +24223,7 @@
 
 func (c *ContentCategoriesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24247,6 +24288,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing content category.",
+	//   "flatPath": "userprofiles/{profileId}/contentCategories",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.contentCategories.update",
 	//   "parameterOrder": [
@@ -24321,7 +24363,7 @@
 
 func (c *ConversionsBatchinsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24386,6 +24428,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts conversions.",
+	//   "flatPath": "userprofiles/{profileId}/conversions/batchinsert",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.conversions.batchinsert",
 	//   "parameterOrder": [
@@ -24460,7 +24503,7 @@
 
 func (c *ConversionsBatchupdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24525,6 +24568,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates existing conversions.",
+	//   "flatPath": "userprofiles/{profileId}/conversions/batchupdate",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.conversions.batchupdate",
 	//   "parameterOrder": [
@@ -24610,7 +24654,7 @@
 
 func (c *CountriesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24674,6 +24718,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one country by ID.",
+	//   "flatPath": "userprofiles/{profileId}/countries/{dartId}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.countries.get",
 	//   "parameterOrder": [
@@ -24762,7 +24807,7 @@
 
 func (c *CountriesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24825,6 +24870,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of countries.",
+	//   "flatPath": "userprofiles/{profileId}/countries",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.countries.list",
 	//   "parameterOrder": [
@@ -24938,7 +24984,7 @@
 
 func (c *CreativeAssetsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25032,18 +25078,15 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new creative asset.",
+	//   "flatPath": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.creativeAssets.insert",
 	//   "mediaUpload": {
 	//     "accept": [
 	//       "*/*"
 	//     ],
-	//     "maxSize": "1024MB",
+	//     "maxSize": "1073741824",
 	//     "protocols": {
-	//       "resumable": {
-	//         "multipart": true,
-	//         "path": "/resumable/upload/dfareporting/v3.3/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
-	//       },
 	//       "simple": {
 	//         "multipart": true,
 	//         "path": "/upload/dfareporting/v3.3/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
@@ -25133,7 +25176,7 @@
 
 func (c *CreativeFieldValuesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25170,6 +25213,7 @@
 	return nil
 	// {
 	//   "description": "Deletes an existing creative field value.",
+	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
 	//   "httpMethod": "DELETE",
 	//   "id": "dfareporting.creativeFieldValues.delete",
 	//   "parameterOrder": [
@@ -25267,7 +25311,7 @@
 
 func (c *CreativeFieldValuesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25332,6 +25376,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one creative field value by ID.",
+	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.creativeFieldValues.get",
 	//   "parameterOrder": [
@@ -25421,7 +25466,7 @@
 
 func (c *CreativeFieldValuesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25487,6 +25532,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new creative field value.",
+	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.creativeFieldValues.insert",
 	//   "parameterOrder": [
@@ -25636,7 +25682,7 @@
 
 func (c *CreativeFieldValuesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25700,6 +25746,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of creative field values, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.creativeFieldValues.list",
 	//   "parameterOrder": [
@@ -25822,15 +25869,20 @@
 
 // Patch: Updates an existing creative field value. This method supports
 // patch semantics.
-func (r *CreativeFieldValuesService) Patch(profileId int64, creativeFieldId int64, id int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesPatchCall {
+func (r *CreativeFieldValuesService) Patch(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesPatchCall {
 	c := &CreativeFieldValuesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
 	c.creativeFieldId = creativeFieldId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.creativefieldvalue = creativefieldvalue
 	return c
 }
 
+// Id sets the optional parameter "id": CreativeFieldValue ID.
+func (c *CreativeFieldValuesPatchCall) Id(id int64) *CreativeFieldValuesPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -25858,7 +25910,7 @@
 
 func (c *CreativeFieldValuesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25924,26 +25976,25 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing creative field value. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.creativeFieldValues.patch",
 	//   "parameterOrder": [
 	//     "profileId",
-	//     "creativeFieldId",
-	//     "id"
+	//     "creativeFieldId"
 	//   ],
 	//   "parameters": {
 	//     "creativeFieldId": {
-	//       "description": "Creative field ID for this creative field value.",
+	//       "description": "CreativeField ID.",
 	//       "format": "int64",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "id": {
-	//       "description": "Creative Field Value ID",
+	//       "description": "CreativeFieldValue ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -26016,7 +26067,7 @@
 
 func (c *CreativeFieldValuesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26082,6 +26133,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing creative field value.",
+	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.creativeFieldValues.update",
 	//   "parameterOrder": [
@@ -26164,7 +26216,7 @@
 
 func (c *CreativeFieldsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26200,6 +26252,7 @@
 	return nil
 	// {
 	//   "description": "Deletes an existing creative field.",
+	//   "flatPath": "userprofiles/{profileId}/creativeFields/{id}",
 	//   "httpMethod": "DELETE",
 	//   "id": "dfareporting.creativeFields.delete",
 	//   "parameterOrder": [
@@ -26287,7 +26340,7 @@
 
 func (c *CreativeFieldsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26351,6 +26404,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one creative field by ID.",
+	//   "flatPath": "userprofiles/{profileId}/creativeFields/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.creativeFields.get",
 	//   "parameterOrder": [
@@ -26430,7 +26484,7 @@
 
 func (c *CreativeFieldsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26495,6 +26549,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new creative field.",
+	//   "flatPath": "userprofiles/{profileId}/creativeFields",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.creativeFields.insert",
 	//   "parameterOrder": [
@@ -26651,7 +26706,7 @@
 
 func (c *CreativeFieldsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26714,6 +26769,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of creative fields, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/creativeFields",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.creativeFields.list",
 	//   "parameterOrder": [
@@ -26834,14 +26890,19 @@
 
 // Patch: Updates an existing creative field. This method supports patch
 // semantics.
-func (r *CreativeFieldsService) Patch(profileId int64, id int64, creativefield *CreativeField) *CreativeFieldsPatchCall {
+func (r *CreativeFieldsService) Patch(profileId int64, creativefield *CreativeField) *CreativeFieldsPatchCall {
 	c := &CreativeFieldsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.creativefield = creativefield
 	return c
 }
 
+// Id sets the optional parameter "id": CreativeField ID.
+func (c *CreativeFieldsPatchCall) Id(id int64) *CreativeFieldsPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -26869,7 +26930,7 @@
 
 func (c *CreativeFieldsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26934,18 +26995,17 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing creative field. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/creativeFields",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.creativeFields.patch",
 	//   "parameterOrder": [
-	//     "profileId",
-	//     "id"
+	//     "profileId"
 	//   ],
 	//   "parameters": {
 	//     "id": {
-	//       "description": "Creative Field ID",
+	//       "description": "CreativeField ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -27016,7 +27076,7 @@
 
 func (c *CreativeFieldsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27081,6 +27141,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing creative field.",
+	//   "flatPath": "userprofiles/{profileId}/creativeFields",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.creativeFields.update",
 	//   "parameterOrder": [
@@ -27166,7 +27227,7 @@
 
 func (c *CreativeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27230,6 +27291,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one creative group by ID.",
+	//   "flatPath": "userprofiles/{profileId}/creativeGroups/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.creativeGroups.get",
 	//   "parameterOrder": [
@@ -27309,7 +27371,7 @@
 
 func (c *CreativeGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27374,6 +27436,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new creative group.",
+	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.creativeGroups.insert",
 	//   "parameterOrder": [
@@ -27537,7 +27600,7 @@
 
 func (c *CreativeGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27600,6 +27663,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of creative groups, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.creativeGroups.list",
 	//   "parameterOrder": [
@@ -27728,14 +27792,19 @@
 
 // Patch: Updates an existing creative group. This method supports patch
 // semantics.
-func (r *CreativeGroupsService) Patch(profileId int64, id int64, creativegroup *CreativeGroup) *CreativeGroupsPatchCall {
+func (r *CreativeGroupsService) Patch(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsPatchCall {
 	c := &CreativeGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.creativegroup = creativegroup
 	return c
 }
 
+// Id sets the optional parameter "id": CreativeGroup ID.
+func (c *CreativeGroupsPatchCall) Id(id int64) *CreativeGroupsPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -27763,7 +27832,7 @@
 
 func (c *CreativeGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27828,18 +27897,17 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing creative group. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.creativeGroups.patch",
 	//   "parameterOrder": [
-	//     "profileId",
-	//     "id"
+	//     "profileId"
 	//   ],
 	//   "parameters": {
 	//     "id": {
-	//       "description": "Creative group ID.",
+	//       "description": "CreativeGroup ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -27910,7 +27978,7 @@
 
 func (c *CreativeGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27975,6 +28043,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing creative group.",
+	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.creativeGroups.update",
 	//   "parameterOrder": [
@@ -28060,7 +28129,7 @@
 
 func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28124,6 +28193,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one creative by ID.",
+	//   "flatPath": "userprofiles/{profileId}/creatives/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.creatives.get",
 	//   "parameterOrder": [
@@ -28203,7 +28273,7 @@
 
 func (c *CreativesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28268,6 +28338,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new creative.",
+	//   "flatPath": "userprofiles/{profileId}/creatives",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.creatives.insert",
 	//   "parameterOrder": [
@@ -28459,31 +28530,31 @@
 // these creative types.
 //
 // Possible values:
-//   "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
-//   "CUSTOM_DISPLAY"
-//   "CUSTOM_DISPLAY_INTERSTITIAL"
-//   "DISPLAY"
-//   "DISPLAY_IMAGE_GALLERY"
-//   "DISPLAY_REDIRECT"
-//   "FLASH_INPAGE"
-//   "HTML5_BANNER"
 //   "IMAGE"
-//   "INSTREAM_AUDIO"
-//   "INSTREAM_VIDEO"
-//   "INSTREAM_VIDEO_REDIRECT"
+//   "DISPLAY_REDIRECT"
+//   "CUSTOM_DISPLAY"
 //   "INTERNAL_REDIRECT"
+//   "CUSTOM_DISPLAY_INTERSTITIAL"
 //   "INTERSTITIAL_INTERNAL_REDIRECT"
+//   "TRACKING_TEXT"
 //   "RICH_MEDIA_DISPLAY_BANNER"
+//   "RICH_MEDIA_INPAGE_FLOATING"
+//   "RICH_MEDIA_IM_EXPAND"
 //   "RICH_MEDIA_DISPLAY_EXPANDING"
 //   "RICH_MEDIA_DISPLAY_INTERSTITIAL"
 //   "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
-//   "RICH_MEDIA_IM_EXPAND"
-//   "RICH_MEDIA_INPAGE_FLOATING"
 //   "RICH_MEDIA_MOBILE_IN_APP"
-//   "RICH_MEDIA_PEEL_DOWN"
-//   "TRACKING_TEXT"
+//   "FLASH_INPAGE"
+//   "INSTREAM_VIDEO"
 //   "VPAID_LINEAR_VIDEO"
 //   "VPAID_NON_LINEAR_VIDEO"
+//   "INSTREAM_VIDEO_REDIRECT"
+//   "RICH_MEDIA_PEEL_DOWN"
+//   "HTML5_BANNER"
+//   "DISPLAY"
+//   "DISPLAY_IMAGE_GALLERY"
+//   "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
+//   "INSTREAM_AUDIO"
 func (c *CreativesListCall) Types(types ...string) *CreativesListCall {
 	c.urlParams_.SetMulti("types", append([]string{}, types...))
 	return c
@@ -28526,7 +28597,7 @@
 
 func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28589,6 +28660,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of creatives, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/creatives",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.creatives.list",
 	//   "parameterOrder": [
@@ -28715,31 +28787,31 @@
 	//     "types": {
 	//       "description": "Select only creatives with these creative types.",
 	//       "enum": [
-	//         "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO",
-	//         "CUSTOM_DISPLAY",
-	//         "CUSTOM_DISPLAY_INTERSTITIAL",
-	//         "DISPLAY",
-	//         "DISPLAY_IMAGE_GALLERY",
-	//         "DISPLAY_REDIRECT",
-	//         "FLASH_INPAGE",
-	//         "HTML5_BANNER",
 	//         "IMAGE",
-	//         "INSTREAM_AUDIO",
-	//         "INSTREAM_VIDEO",
-	//         "INSTREAM_VIDEO_REDIRECT",
+	//         "DISPLAY_REDIRECT",
+	//         "CUSTOM_DISPLAY",
 	//         "INTERNAL_REDIRECT",
+	//         "CUSTOM_DISPLAY_INTERSTITIAL",
 	//         "INTERSTITIAL_INTERNAL_REDIRECT",
+	//         "TRACKING_TEXT",
 	//         "RICH_MEDIA_DISPLAY_BANNER",
+	//         "RICH_MEDIA_INPAGE_FLOATING",
+	//         "RICH_MEDIA_IM_EXPAND",
 	//         "RICH_MEDIA_DISPLAY_EXPANDING",
 	//         "RICH_MEDIA_DISPLAY_INTERSTITIAL",
 	//         "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL",
-	//         "RICH_MEDIA_IM_EXPAND",
-	//         "RICH_MEDIA_INPAGE_FLOATING",
 	//         "RICH_MEDIA_MOBILE_IN_APP",
-	//         "RICH_MEDIA_PEEL_DOWN",
-	//         "TRACKING_TEXT",
+	//         "FLASH_INPAGE",
+	//         "INSTREAM_VIDEO",
 	//         "VPAID_LINEAR_VIDEO",
-	//         "VPAID_NON_LINEAR_VIDEO"
+	//         "VPAID_NON_LINEAR_VIDEO",
+	//         "INSTREAM_VIDEO_REDIRECT",
+	//         "RICH_MEDIA_PEEL_DOWN",
+	//         "HTML5_BANNER",
+	//         "DISPLAY",
+	//         "DISPLAY_IMAGE_GALLERY",
+	//         "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO",
+	//         "INSTREAM_AUDIO"
 	//       ],
 	//       "enumDescriptions": [
 	//         "",
@@ -28818,14 +28890,19 @@
 
 // Patch: Updates an existing creative. This method supports patch
 // semantics.
-func (r *CreativesService) Patch(profileId int64, id int64, creative *Creative) *CreativesPatchCall {
+func (r *CreativesService) Patch(profileId int64, creative *Creative) *CreativesPatchCall {
 	c := &CreativesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.creative = creative
 	return c
 }
 
+// Id sets the optional parameter "id": Creative ID.
+func (c *CreativesPatchCall) Id(id int64) *CreativesPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -28853,7 +28930,7 @@
 
 func (c *CreativesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28918,18 +28995,17 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing creative. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/creatives",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.creatives.patch",
 	//   "parameterOrder": [
-	//     "profileId",
-	//     "id"
+	//     "profileId"
 	//   ],
 	//   "parameters": {
 	//     "id": {
 	//       "description": "Creative ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -29000,7 +29076,7 @@
 
 func (c *CreativesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29065,6 +29141,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing creative.",
+	//   "flatPath": "userprofiles/{profileId}/creatives",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.creatives.update",
 	//   "parameterOrder": [
@@ -29154,7 +29231,7 @@
 
 func (c *DimensionValuesQueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29219,6 +29296,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves list of report dimension values for a list of filters.",
+	//   "flatPath": "userprofiles/{profileId}/dimensionvalues/query",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.dimensionValues.query",
 	//   "parameterOrder": [
@@ -29339,7 +29417,7 @@
 
 func (c *DirectorySitesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29403,6 +29481,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one directory site by ID.",
+	//   "flatPath": "userprofiles/{profileId}/directorySites/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.directorySites.get",
 	//   "parameterOrder": [
@@ -29482,7 +29561,7 @@
 
 func (c *DirectorySitesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29547,6 +29626,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new directory site.",
+	//   "flatPath": "userprofiles/{profileId}/directorySites",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.directorySites.insert",
 	//   "parameterOrder": [
@@ -29731,7 +29811,7 @@
 
 func (c *DirectorySitesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29794,6 +29874,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of directory sites, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/directorySites",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.directorySites.list",
 	//   "parameterOrder": [
@@ -29967,7 +30048,7 @@
 
 func (c *DynamicTargetingKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30003,6 +30084,7 @@
 	return nil
 	// {
 	//   "description": "Deletes an existing dynamic targeting key.",
+	//   "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "dfareporting.dynamicTargetingKeys.delete",
 	//   "parameterOrder": [
@@ -30028,8 +30110,8 @@
 	//     "objectType": {
 	//       "description": "Type of the object of this dynamic targeting key. This is a required field.",
 	//       "enum": [
-	//         "OBJECT_AD",
 	//         "OBJECT_ADVERTISER",
+	//         "OBJECT_AD",
 	//         "OBJECT_CREATIVE",
 	//         "OBJECT_PLACEMENT"
 	//       ],
@@ -30109,7 +30191,7 @@
 
 func (c *DynamicTargetingKeysInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30174,6 +30256,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new dynamic targeting key. Keys must be created at the advertiser level before being assigned to the advertiser's ads, creatives, or placements. There is a maximum of 1000 keys per advertiser, out of which a maximum of 20 keys can be assigned per ad, creative, or placement.",
+	//   "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.dynamicTargetingKeys.insert",
 	//   "parameterOrder": [
@@ -30245,8 +30328,8 @@
 // dynamic targeting keys with this object type.
 //
 // Possible values:
-//   "OBJECT_AD"
 //   "OBJECT_ADVERTISER"
+//   "OBJECT_AD"
 //   "OBJECT_CREATIVE"
 //   "OBJECT_PLACEMENT"
 func (c *DynamicTargetingKeysListCall) ObjectType(objectType string) *DynamicTargetingKeysListCall {
@@ -30291,7 +30374,7 @@
 
 func (c *DynamicTargetingKeysListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30354,6 +30437,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of dynamic targeting keys.",
+	//   "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.dynamicTargetingKeys.list",
 	//   "parameterOrder": [
@@ -30381,8 +30465,8 @@
 	//     "objectType": {
 	//       "description": "Select only dynamic targeting keys with this object type.",
 	//       "enum": [
-	//         "OBJECT_AD",
 	//         "OBJECT_ADVERTISER",
+	//         "OBJECT_AD",
 	//         "OBJECT_CREATIVE",
 	//         "OBJECT_PLACEMENT"
 	//       ],
@@ -30460,7 +30544,7 @@
 
 func (c *EventTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30496,6 +30580,7 @@
 	return nil
 	// {
 	//   "description": "Deletes an existing event tag.",
+	//   "flatPath": "userprofiles/{profileId}/eventTags/{id}",
 	//   "httpMethod": "DELETE",
 	//   "id": "dfareporting.eventTags.delete",
 	//   "parameterOrder": [
@@ -30583,7 +30668,7 @@
 
 func (c *EventTagsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30647,6 +30732,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one event tag by ID.",
+	//   "flatPath": "userprofiles/{profileId}/eventTags/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.eventTags.get",
 	//   "parameterOrder": [
@@ -30726,7 +30812,7 @@
 
 func (c *EventTagsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30791,6 +30877,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new event tag.",
+	//   "flatPath": "userprofiles/{profileId}/eventTags",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.eventTags.insert",
 	//   "parameterOrder": [
@@ -30891,9 +30978,9 @@
 // either impression or click tracking.
 //
 // Possible values:
-//   "CLICK_THROUGH_EVENT_TAG"
 //   "IMPRESSION_IMAGE_EVENT_TAG"
 //   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
+//   "CLICK_THROUGH_EVENT_TAG"
 func (c *EventTagsListCall) EventTagTypes(eventTagTypes ...string) *EventTagsListCall {
 	c.urlParams_.SetMulti("eventTagTypes", append([]string{}, eventTagTypes...))
 	return c
@@ -30982,7 +31069,7 @@
 
 func (c *EventTagsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -31045,6 +31132,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of event tags, possibly filtered.",
+	//   "flatPath": "userprofiles/{profileId}/eventTags",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.eventTags.list",
 	//   "parameterOrder": [
@@ -31082,9 +31170,9 @@
 	//     "eventTagTypes": {
 	//       "description": "Select only event tags with the specified event tag types. Event tag types can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking.",
 	//       "enum": [
-	//         "CLICK_THROUGH_EVENT_TAG",
 	//         "IMPRESSION_IMAGE_EVENT_TAG",
-	//         "IMPRESSION_JAVASCRIPT_EVENT_TAG"
+	//         "IMPRESSION_JAVASCRIPT_EVENT_TAG",
+	//         "CLICK_THROUGH_EVENT_TAG"
 	//       ],
 	//       "enumDescriptions": [
 	//         "",
@@ -31167,14 +31255,19 @@
 
 // Patch: Updates an existing event tag. This method supports patch
 // semantics.
-func (r *EventTagsService) Patch(profileId int64, id int64, eventtag *EventTag) *EventTagsPatchCall {
+func (r *EventTagsService) Patch(profileId int64, eventtag *EventTag) *EventTagsPatchCall {
 	c := &EventTagsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.eventtag = eventtag
 	return c
 }
 
+// Id sets the optional parameter "id": EventTag ID.
+func (c *EventTagsPatchCall) Id(id int64) *EventTagsPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -31202,7 +31295,7 @@
 
 func (c *EventTagsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -31267,18 +31360,17 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing event tag. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/eventTags",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.eventTags.patch",
 	//   "parameterOrder": [
-	//     "profileId",
-	//     "id"
+	//     "profileId"
 	//   ],
 	//   "parameters": {
 	//     "id": {
-	//       "description": "Event tag ID.",
+	//       "description": "EventTag ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -31349,7 +31441,7 @@
 
 func (c *EventTagsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -31414,6 +31506,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing event tag.",
+	//   "flatPath": "userprofiles/{profileId}/eventTags",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.eventTags.update",
 	//   "parameterOrder": [
@@ -31500,7 +31593,7 @@
 
 func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -31580,6 +31673,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a report file by its report ID and file ID. This method supports media download.",
+	//   "flatPath": "reports/{reportId}/files/{fileId}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.files.get",
 	//   "parameterOrder": [
@@ -31717,7 +31811,7 @@
 
 func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -31780,6 +31874,7 @@
 	return ret, nil
 	// {
 	//   "description": "Lists files for a user profile.",
+	//   "flatPath": "userprofiles/{profileId}/files",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.files.list",
 	//   "parameterOrder": [
@@ -31930,7 +32025,7 @@
 
 func (c *FloodlightActivitiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -31966,6 +32061,7 @@
 	return nil
 	// {
 	//   "description": "Deletes an existing floodlight activity.",
+	//   "flatPath": "userprofiles/{profileId}/floodlightActivities/{id}",
 	//   "httpMethod": "DELETE",
 	//   "id": "dfareporting.floodlightActivities.delete",
 	//   "parameterOrder": [
@@ -32048,7 +32144,7 @@
 
 func (c *FloodlightActivitiesGeneratetagCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -32109,6 +32205,7 @@
 	return ret, nil
 	// {
 	//   "description": "Generates a tag for a floodlight activity.",
+	//   "flatPath": "userprofiles/{profileId}/floodlightActivities/generatetag",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.floodlightActivities.generatetag",
 	//   "parameterOrder": [
@@ -32197,7 +32294,7 @@
 
 func (c *FloodlightActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -32261,6 +32358,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one floodlight activity by ID.",
+	//   "flatPath": "userprofiles/{profileId}/floodlightActivities/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.floodlightActivities.get",
 	//   "parameterOrder": [
@@ -32340,7 +32438,7 @@
 
 func (c *FloodlightActivitiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -32405,6 +32503,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new floodlight activity.",
+	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.floodlightActivities.insert",
 	//   "parameterOrder": [
@@ -32616,7 +32715,7 @@
 
 func (c *FloodlightActivitiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -32679,6 +32778,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of floodlight activities, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.floodlightActivities.list",
 	//   "parameterOrder": [
@@ -32839,14 +32939,19 @@
 
 // Patch: Updates an existing floodlight activity. This method supports
 // patch semantics.
-func (r *FloodlightActivitiesService) Patch(profileId int64, id int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesPatchCall {
+func (r *FloodlightActivitiesService) Patch(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesPatchCall {
 	c := &FloodlightActivitiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.floodlightactivity = floodlightactivity
 	return c
 }
 
+// Id sets the optional parameter "id": FloodlightActivity ID.
+func (c *FloodlightActivitiesPatchCall) Id(id int64) *FloodlightActivitiesPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -32874,7 +32979,7 @@
 
 func (c *FloodlightActivitiesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -32939,18 +33044,17 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing floodlight activity. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.floodlightActivities.patch",
 	//   "parameterOrder": [
-	//     "profileId",
-	//     "id"
+	//     "profileId"
 	//   ],
 	//   "parameters": {
 	//     "id": {
-	//       "description": "Floodlight activity ID.",
+	//       "description": "FloodlightActivity ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -33021,7 +33125,7 @@
 
 func (c *FloodlightActivitiesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -33086,6 +33190,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing floodlight activity.",
+	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.floodlightActivities.update",
 	//   "parameterOrder": [
@@ -33171,7 +33276,7 @@
 
 func (c *FloodlightActivityGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -33235,6 +33340,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one floodlight activity group by ID.",
+	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.floodlightActivityGroups.get",
 	//   "parameterOrder": [
@@ -33314,7 +33420,7 @@
 
 func (c *FloodlightActivityGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -33379,6 +33485,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new floodlight activity group.",
+	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.floodlightActivityGroups.insert",
 	//   "parameterOrder": [
@@ -33555,7 +33662,7 @@
 
 func (c *FloodlightActivityGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -33619,6 +33726,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of floodlight activity groups, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.floodlightActivityGroups.list",
 	//   "parameterOrder": [
@@ -33757,14 +33865,19 @@
 
 // Patch: Updates an existing floodlight activity group. This method
 // supports patch semantics.
-func (r *FloodlightActivityGroupsService) Patch(profileId int64, id int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsPatchCall {
+func (r *FloodlightActivityGroupsService) Patch(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsPatchCall {
 	c := &FloodlightActivityGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.floodlightactivitygroup = floodlightactivitygroup
 	return c
 }
 
+// Id sets the optional parameter "id": FloodlightActivityGroup ID.
+func (c *FloodlightActivityGroupsPatchCall) Id(id int64) *FloodlightActivityGroupsPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -33792,7 +33905,7 @@
 
 func (c *FloodlightActivityGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -33857,18 +33970,17 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing floodlight activity group. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.floodlightActivityGroups.patch",
 	//   "parameterOrder": [
-	//     "profileId",
-	//     "id"
+	//     "profileId"
 	//   ],
 	//   "parameters": {
 	//     "id": {
-	//       "description": "Floodlight activity Group ID.",
+	//       "description": "FloodlightActivityGroup ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -33939,7 +34051,7 @@
 
 func (c *FloodlightActivityGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -34004,6 +34116,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing floodlight activity group.",
+	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.floodlightActivityGroups.update",
 	//   "parameterOrder": [
@@ -34089,7 +34202,7 @@
 
 func (c *FloodlightConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -34153,6 +34266,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one floodlight configuration by ID.",
+	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.floodlightConfigurations.get",
 	//   "parameterOrder": [
@@ -34254,7 +34368,7 @@
 
 func (c *FloodlightConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -34318,6 +34432,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of floodlight configurations, possibly filtered.",
+	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.floodlightConfigurations.list",
 	//   "parameterOrder": [
@@ -34363,14 +34478,19 @@
 
 // Patch: Updates an existing floodlight configuration. This method
 // supports patch semantics.
-func (r *FloodlightConfigurationsService) Patch(profileId int64, id int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsPatchCall {
+func (r *FloodlightConfigurationsService) Patch(profileId int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsPatchCall {
 	c := &FloodlightConfigurationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.floodlightconfiguration = floodlightconfiguration
 	return c
 }
 
+// Id sets the optional parameter "id": FloodlightConfiguration ID.
+func (c *FloodlightConfigurationsPatchCall) Id(id int64) *FloodlightConfigurationsPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -34398,7 +34518,7 @@
 
 func (c *FloodlightConfigurationsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -34463,18 +34583,17 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing floodlight configuration. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.floodlightConfigurations.patch",
 	//   "parameterOrder": [
-	//     "profileId",
-	//     "id"
+	//     "profileId"
 	//   ],
 	//   "parameters": {
 	//     "id": {
-	//       "description": "Floodlight configuration ID.",
+	//       "description": "FloodlightConfiguration ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -34545,7 +34664,7 @@
 
 func (c *FloodlightConfigurationsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -34610,6 +34729,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing floodlight configuration.",
+	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.floodlightConfigurations.update",
 	//   "parameterOrder": [
@@ -34697,7 +34817,7 @@
 
 func (c *InventoryItemsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -34762,6 +34882,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one inventory item by ID.",
+	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.inventoryItems.get",
 	//   "parameterOrder": [
@@ -34904,8 +35025,8 @@
 // with this type.
 //
 // Possible values:
-//   "PLANNING_PLACEMENT_TYPE_CREDIT"
 //   "PLANNING_PLACEMENT_TYPE_REGULAR"
+//   "PLANNING_PLACEMENT_TYPE_CREDIT"
 func (c *InventoryItemsListCall) Type(type_ string) *InventoryItemsListCall {
 	c.urlParams_.Set("type", type_)
 	return c
@@ -34948,7 +35069,7 @@
 
 func (c *InventoryItemsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -35012,6 +35133,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of inventory items, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/inventoryItems",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.inventoryItems.list",
 	//   "parameterOrder": [
@@ -35104,8 +35226,8 @@
 	//     "type": {
 	//       "description": "Select only inventory items with this type.",
 	//       "enum": [
-	//         "PLANNING_PLACEMENT_TYPE_CREDIT",
-	//         "PLANNING_PLACEMENT_TYPE_REGULAR"
+	//         "PLANNING_PLACEMENT_TYPE_REGULAR",
+	//         "PLANNING_PLACEMENT_TYPE_CREDIT"
 	//       ],
 	//       "enumDescriptions": [
 	//         "",
@@ -35202,7 +35324,7 @@
 
 func (c *LanguagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -35265,6 +35387,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of languages.",
+	//   "flatPath": "userprofiles/{profileId}/languages",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.languages.list",
 	//   "parameterOrder": [
@@ -35345,7 +35468,7 @@
 
 func (c *MetrosListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -35408,6 +35531,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of metros.",
+	//   "flatPath": "userprofiles/{profileId}/metros",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.metros.list",
 	//   "parameterOrder": [
@@ -35490,7 +35614,7 @@
 
 func (c *MobileAppsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -35554,6 +35678,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one mobile app by ID.",
+	//   "flatPath": "userprofiles/{profileId}/mobileApps/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.mobileApps.get",
 	//   "parameterOrder": [
@@ -35608,9 +35733,9 @@
 // apps from these directories.
 //
 // Possible values:
+//   "UNKNOWN"
 //   "APPLE_APP_STORE"
 //   "GOOGLE_PLAY_STORE"
-//   "UNKNOWN"
 func (c *MobileAppsListCall) Directories(directories ...string) *MobileAppsListCall {
 	c.urlParams_.SetMulti("directories", append([]string{}, directories...))
 	return c
@@ -35686,7 +35811,7 @@
 
 func (c *MobileAppsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -35749,6 +35874,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves list of available mobile apps.",
+	//   "flatPath": "userprofiles/{profileId}/mobileApps",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.mobileApps.list",
 	//   "parameterOrder": [
@@ -35758,9 +35884,9 @@
 	//     "directories": {
 	//       "description": "Select only apps from these directories.",
 	//       "enum": [
+	//         "UNKNOWN",
 	//         "APPLE_APP_STORE",
-	//         "GOOGLE_PLAY_STORE",
-	//         "UNKNOWN"
+	//         "GOOGLE_PLAY_STORE"
 	//       ],
 	//       "enumDescriptions": [
 	//         "",
@@ -35893,7 +36019,7 @@
 
 func (c *MobileCarriersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -35957,6 +36083,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one mobile carrier by ID.",
+	//   "flatPath": "userprofiles/{profileId}/mobileCarriers/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.mobileCarriers.get",
 	//   "parameterOrder": [
@@ -36045,7 +36172,7 @@
 
 func (c *MobileCarriersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -36108,6 +36235,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of mobile carriers.",
+	//   "flatPath": "userprofiles/{profileId}/mobileCarriers",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.mobileCarriers.list",
 	//   "parameterOrder": [
@@ -36190,7 +36318,7 @@
 
 func (c *OperatingSystemVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -36254,6 +36382,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one operating system version by ID.",
+	//   "flatPath": "userprofiles/{profileId}/operatingSystemVersions/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.operatingSystemVersions.get",
 	//   "parameterOrder": [
@@ -36342,7 +36471,7 @@
 
 func (c *OperatingSystemVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -36406,6 +36535,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of operating system versions.",
+	//   "flatPath": "userprofiles/{profileId}/operatingSystemVersions",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.operatingSystemVersions.list",
 	//   "parameterOrder": [
@@ -36488,7 +36618,7 @@
 
 func (c *OperatingSystemsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -36552,6 +36682,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one operating system by DART ID.",
+	//   "flatPath": "userprofiles/{profileId}/operatingSystems/{dartId}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.operatingSystems.get",
 	//   "parameterOrder": [
@@ -36640,7 +36771,7 @@
 
 func (c *OperatingSystemsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -36703,6 +36834,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of operating systems.",
+	//   "flatPath": "userprofiles/{profileId}/operatingSystems",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.operatingSystems.list",
 	//   "parameterOrder": [
@@ -36787,7 +36919,7 @@
 
 func (c *OrderDocumentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -36852,6 +36984,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one order document by ID.",
+	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.orderDocuments.get",
 	//   "parameterOrder": [
@@ -37041,7 +37174,7 @@
 
 func (c *OrderDocumentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -37105,6 +37238,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of order documents, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orderDocuments",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.orderDocuments.list",
 	//   "parameterOrder": [
@@ -37291,7 +37425,7 @@
 
 func (c *OrdersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -37356,6 +37490,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one order by ID.",
+	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orders/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.orders.get",
 	//   "parameterOrder": [
@@ -37525,7 +37660,7 @@
 
 func (c *OrdersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -37589,6 +37724,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of orders, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orders",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.orders.list",
 	//   "parameterOrder": [
@@ -37761,7 +37897,7 @@
 
 func (c *PlacementGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -37825,6 +37961,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one placement group by ID.",
+	//   "flatPath": "userprofiles/{profileId}/placementGroups/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.placementGroups.get",
 	//   "parameterOrder": [
@@ -37904,7 +38041,7 @@
 
 func (c *PlacementGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -37969,6 +38106,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new placement group.",
+	//   "flatPath": "userprofiles/{profileId}/placementGroups",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.placementGroups.insert",
 	//   "parameterOrder": [
@@ -38159,12 +38297,12 @@
 // placement groups with these pricing types.
 //
 // Possible values:
-//   "PRICING_TYPE_CPA"
-//   "PRICING_TYPE_CPC"
 //   "PRICING_TYPE_CPM"
-//   "PRICING_TYPE_CPM_ACTIVEVIEW"
-//   "PRICING_TYPE_FLAT_RATE_CLICKS"
+//   "PRICING_TYPE_CPC"
+//   "PRICING_TYPE_CPA"
 //   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
+//   "PRICING_TYPE_FLAT_RATE_CLICKS"
+//   "PRICING_TYPE_CPM_ACTIVEVIEW"
 func (c *PlacementGroupsListCall) PricingTypes(pricingTypes ...string) *PlacementGroupsListCall {
 	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
 	return c
@@ -38254,7 +38392,7 @@
 
 func (c *PlacementGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -38317,6 +38455,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of placement groups, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/placementGroups",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.placementGroups.list",
 	//   "parameterOrder": [
@@ -38420,12 +38559,12 @@
 	//     "pricingTypes": {
 	//       "description": "Select only placement groups with these pricing types.",
 	//       "enum": [
-	//         "PRICING_TYPE_CPA",
-	//         "PRICING_TYPE_CPC",
 	//         "PRICING_TYPE_CPM",
-	//         "PRICING_TYPE_CPM_ACTIVEVIEW",
+	//         "PRICING_TYPE_CPC",
+	//         "PRICING_TYPE_CPA",
+	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS",
 	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
-	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
+	//         "PRICING_TYPE_CPM_ACTIVEVIEW"
 	//       ],
 	//       "enumDescriptions": [
 	//         "",
@@ -38532,14 +38671,19 @@
 
 // Patch: Updates an existing placement group. This method supports
 // patch semantics.
-func (r *PlacementGroupsService) Patch(profileId int64, id int64, placementgroup *PlacementGroup) *PlacementGroupsPatchCall {
+func (r *PlacementGroupsService) Patch(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsPatchCall {
 	c := &PlacementGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.placementgroup = placementgroup
 	return c
 }
 
+// Id sets the optional parameter "id": PlacementGroup ID.
+func (c *PlacementGroupsPatchCall) Id(id int64) *PlacementGroupsPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -38567,7 +38711,7 @@
 
 func (c *PlacementGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -38632,18 +38776,17 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing placement group. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/placementGroups",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.placementGroups.patch",
 	//   "parameterOrder": [
-	//     "profileId",
-	//     "id"
+	//     "profileId"
 	//   ],
 	//   "parameters": {
 	//     "id": {
-	//       "description": "Placement group ID.",
+	//       "description": "PlacementGroup ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -38714,7 +38857,7 @@
 
 func (c *PlacementGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -38779,6 +38922,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing placement group.",
+	//   "flatPath": "userprofiles/{profileId}/placementGroups",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.placementGroups.update",
 	//   "parameterOrder": [
@@ -38853,7 +38997,7 @@
 
 func (c *PlacementStrategiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -38889,6 +39033,7 @@
 	return nil
 	// {
 	//   "description": "Deletes an existing placement strategy.",
+	//   "flatPath": "userprofiles/{profileId}/placementStrategies/{id}",
 	//   "httpMethod": "DELETE",
 	//   "id": "dfareporting.placementStrategies.delete",
 	//   "parameterOrder": [
@@ -38976,7 +39121,7 @@
 
 func (c *PlacementStrategiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -39040,6 +39185,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one placement strategy by ID.",
+	//   "flatPath": "userprofiles/{profileId}/placementStrategies/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.placementStrategies.get",
 	//   "parameterOrder": [
@@ -39119,7 +39265,7 @@
 
 func (c *PlacementStrategiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -39184,6 +39330,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new placement strategy.",
+	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.placementStrategies.insert",
 	//   "parameterOrder": [
@@ -39329,7 +39476,7 @@
 
 func (c *PlacementStrategiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -39392,6 +39539,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of placement strategies, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.placementStrategies.list",
 	//   "parameterOrder": [
@@ -39505,14 +39653,19 @@
 
 // Patch: Updates an existing placement strategy. This method supports
 // patch semantics.
-func (r *PlacementStrategiesService) Patch(profileId int64, id int64, placementstrategy *PlacementStrategy) *PlacementStrategiesPatchCall {
+func (r *PlacementStrategiesService) Patch(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesPatchCall {
 	c := &PlacementStrategiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.placementstrategy = placementstrategy
 	return c
 }
 
+// Id sets the optional parameter "id": PlacementStrategy ID.
+func (c *PlacementStrategiesPatchCall) Id(id int64) *PlacementStrategiesPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -39540,7 +39693,7 @@
 
 func (c *PlacementStrategiesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -39605,18 +39758,17 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing placement strategy. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.placementStrategies.patch",
 	//   "parameterOrder": [
-	//     "profileId",
-	//     "id"
+	//     "profileId"
 	//   ],
 	//   "parameters": {
 	//     "id": {
-	//       "description": "Placement strategy ID.",
+	//       "description": "PlacementStrategy ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -39687,7 +39839,7 @@
 
 func (c *PlacementStrategiesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -39752,6 +39904,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing placement strategy.",
+	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.placementStrategies.update",
 	//   "parameterOrder": [
@@ -39816,31 +39969,29 @@
 }
 
 // TagFormats sets the optional parameter "tagFormats": Tag formats to
-// generate for these placements.
-//
-// Note: PLACEMENT_TAG_STANDARD can only be generated for 1x1
-// placements.
+// generate for these placements. *Note:* PLACEMENT_TAG_STANDARD can
+// only be generated for 1x1 placements.
 //
 // Possible values:
-//   "PLACEMENT_TAG_CLICK_COMMANDS"
-//   "PLACEMENT_TAG_IFRAME_ILAYER"
+//   "PLACEMENT_TAG_STANDARD"
 //   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
-//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
-//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
-//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
-//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
+//   "PLACEMENT_TAG_IFRAME_ILAYER"
 //   "PLACEMENT_TAG_INTERNAL_REDIRECT"
+//   "PLACEMENT_TAG_JAVASCRIPT"
 //   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
-//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
 //   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
 //   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
-//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
-//   "PLACEMENT_TAG_JAVASCRIPT"
-//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
-//   "PLACEMENT_TAG_STANDARD"
+//   "PLACEMENT_TAG_CLICK_COMMANDS"
+//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
 //   "PLACEMENT_TAG_TRACKING"
 //   "PLACEMENT_TAG_TRACKING_IFRAME"
 //   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
+//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
+//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
+//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
+//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
+//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
 func (c *PlacementsGeneratetagsCall) TagFormats(tagFormats ...string) *PlacementsGeneratetagsCall {
 	c.urlParams_.SetMulti("tagFormats", append([]string{}, tagFormats...))
 	return c
@@ -39873,7 +40024,7 @@
 
 func (c *PlacementsGeneratetagsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -39933,6 +40084,7 @@
 	return ret, nil
 	// {
 	//   "description": "Generates tags for a placement.",
+	//   "flatPath": "userprofiles/{profileId}/placements/generatetags",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.placements.generatetags",
 	//   "parameterOrder": [
@@ -39960,27 +40112,27 @@
 	//       "type": "string"
 	//     },
 	//     "tagFormats": {
-	//       "description": "Tag formats to generate for these placements.\n\nNote: PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements.",
+	//       "description": "Tag formats to generate for these placements. *Note:* PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements.",
 	//       "enum": [
-	//         "PLACEMENT_TAG_CLICK_COMMANDS",
-	//         "PLACEMENT_TAG_IFRAME_ILAYER",
+	//         "PLACEMENT_TAG_STANDARD",
 	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT",
-	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
-	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
-	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
-	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4",
+	//         "PLACEMENT_TAG_IFRAME_ILAYER",
 	//         "PLACEMENT_TAG_INTERNAL_REDIRECT",
+	//         "PLACEMENT_TAG_JAVASCRIPT",
 	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT",
-	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
 	//         "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT",
 	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT",
-	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
-	//         "PLACEMENT_TAG_JAVASCRIPT",
-	//         "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
-	//         "PLACEMENT_TAG_STANDARD",
+	//         "PLACEMENT_TAG_CLICK_COMMANDS",
+	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
 	//         "PLACEMENT_TAG_TRACKING",
 	//         "PLACEMENT_TAG_TRACKING_IFRAME",
-	//         "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
+	//         "PLACEMENT_TAG_TRACKING_JAVASCRIPT",
+	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
+	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
+	//         "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
+	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
+	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
+	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
 	//       ],
 	//       "enumDescriptions": [
 	//         "",
@@ -40076,7 +40228,7 @@
 
 func (c *PlacementsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -40140,6 +40292,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one placement by ID.",
+	//   "flatPath": "userprofiles/{profileId}/placements/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.placements.get",
 	//   "parameterOrder": [
@@ -40219,7 +40372,7 @@
 
 func (c *PlacementsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -40284,6 +40437,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new placement.",
+	//   "flatPath": "userprofiles/{profileId}/placements",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.placements.insert",
 	//   "parameterOrder": [
@@ -40370,12 +40524,12 @@
 // with the VAST standard.
 //
 // Possible values:
-//   "APP"
-//   "APP_INTERSTITIAL"
 //   "DISPLAY"
 //   "DISPLAY_INTERSTITIAL"
-//   "IN_STREAM_AUDIO"
+//   "APP"
+//   "APP_INTERSTITIAL"
 //   "IN_STREAM_VIDEO"
+//   "IN_STREAM_AUDIO"
 func (c *PlacementsListCall) Compatibilities(compatibilities ...string) *PlacementsListCall {
 	c.urlParams_.SetMulti("compatibilities", append([]string{}, compatibilities...))
 	return c
@@ -40500,12 +40654,12 @@
 // placements with these pricing types.
 //
 // Possible values:
-//   "PRICING_TYPE_CPA"
-//   "PRICING_TYPE_CPC"
 //   "PRICING_TYPE_CPM"
-//   "PRICING_TYPE_CPM_ACTIVEVIEW"
-//   "PRICING_TYPE_FLAT_RATE_CLICKS"
+//   "PRICING_TYPE_CPC"
+//   "PRICING_TYPE_CPA"
 //   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
+//   "PRICING_TYPE_FLAT_RATE_CLICKS"
+//   "PRICING_TYPE_CPM_ACTIVEVIEW"
 func (c *PlacementsListCall) PricingTypes(pricingTypes ...string) *PlacementsListCall {
 	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
 	return c
@@ -40518,7 +40672,7 @@
 // 2015". Most of the searches also add wildcards implicitly at the
 // start and the end of the search string. For example, a search string
 // of "placement" will match placements with name "my placement",
-// "placement 2015", or simply "placement".
+// "placement 2015", or simply "placement" .
 func (c *PlacementsListCall) SearchString(searchString string) *PlacementsListCall {
 	c.urlParams_.Set("searchString", searchString)
 	return c
@@ -40605,7 +40759,7 @@
 
 func (c *PlacementsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -40668,6 +40822,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of placements, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/placements",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.placements.list",
 	//   "parameterOrder": [
@@ -40696,12 +40851,12 @@
 	//     "compatibilities": {
 	//       "description": "Select only placements that are associated with these compatibilities. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard.",
 	//       "enum": [
-	//         "APP",
-	//         "APP_INTERSTITIAL",
 	//         "DISPLAY",
 	//         "DISPLAY_INTERSTITIAL",
-	//         "IN_STREAM_AUDIO",
-	//         "IN_STREAM_VIDEO"
+	//         "APP",
+	//         "APP_INTERSTITIAL",
+	//         "IN_STREAM_VIDEO",
+	//         "IN_STREAM_AUDIO"
 	//       ],
 	//       "enumDescriptions": [
 	//         "",
@@ -40800,12 +40955,12 @@
 	//     "pricingTypes": {
 	//       "description": "Select only placements with these pricing types.",
 	//       "enum": [
-	//         "PRICING_TYPE_CPA",
-	//         "PRICING_TYPE_CPC",
 	//         "PRICING_TYPE_CPM",
-	//         "PRICING_TYPE_CPM_ACTIVEVIEW",
+	//         "PRICING_TYPE_CPC",
+	//         "PRICING_TYPE_CPA",
+	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS",
 	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
-	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
+	//         "PRICING_TYPE_CPM_ACTIVEVIEW"
 	//       ],
 	//       "enumDescriptions": [
 	//         "",
@@ -40827,7 +40982,7 @@
 	//       "type": "string"
 	//     },
 	//     "searchString": {
-	//       "description": "Allows searching for placements by name or ID. Wildcards (*) are allowed. For example, \"placement*2015\" will return placements with names like \"placement June 2015\", \"placement May 2015\", or simply \"placements 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"placement\" will match placements with name \"my placement\", \"placement 2015\", or simply \"placement\".",
+	//       "description": "Allows searching for placements by name or ID. Wildcards (*) are allowed. For example, \"placement*2015\" will return placements with names like \"placement June 2015\", \"placement May 2015\", or simply \"placements 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"placement\" will match placements with name \"my placement\", \"placement 2015\", or simply \"placement\" .",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -40919,14 +41074,19 @@
 
 // Patch: Updates an existing placement. This method supports patch
 // semantics.
-func (r *PlacementsService) Patch(profileId int64, id int64, placement *Placement) *PlacementsPatchCall {
+func (r *PlacementsService) Patch(profileId int64, placement *Placement) *PlacementsPatchCall {
 	c := &PlacementsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.placement = placement
 	return c
 }
 
+// Id sets the optional parameter "id": Placement ID.
+func (c *PlacementsPatchCall) Id(id int64) *PlacementsPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -40954,7 +41114,7 @@
 
 func (c *PlacementsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -41019,18 +41179,17 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing placement. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/placements",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.placements.patch",
 	//   "parameterOrder": [
-	//     "profileId",
-	//     "id"
+	//     "profileId"
 	//   ],
 	//   "parameters": {
 	//     "id": {
 	//       "description": "Placement ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -41101,7 +41260,7 @@
 
 func (c *PlacementsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -41166,6 +41325,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing placement.",
+	//   "flatPath": "userprofiles/{profileId}/placements",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.placements.update",
 	//   "parameterOrder": [
@@ -41251,7 +41411,7 @@
 
 func (c *PlatformTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -41315,6 +41475,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one platform type by ID.",
+	//   "flatPath": "userprofiles/{profileId}/platformTypes/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.platformTypes.get",
 	//   "parameterOrder": [
@@ -41403,7 +41564,7 @@
 
 func (c *PlatformTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -41466,6 +41627,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of platform types.",
+	//   "flatPath": "userprofiles/{profileId}/platformTypes",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.platformTypes.list",
 	//   "parameterOrder": [
@@ -41548,7 +41710,7 @@
 
 func (c *PostalCodesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -41612,6 +41774,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one postal code by ID.",
+	//   "flatPath": "userprofiles/{profileId}/postalCodes/{code}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.postalCodes.get",
 	//   "parameterOrder": [
@@ -41699,7 +41862,7 @@
 
 func (c *PostalCodesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -41762,6 +41925,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of postal codes.",
+	//   "flatPath": "userprofiles/{profileId}/postalCodes",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.postalCodes.list",
 	//   "parameterOrder": [
@@ -41844,7 +42008,7 @@
 
 func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -41908,6 +42072,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one project by ID.",
+	//   "flatPath": "userprofiles/{profileId}/projects/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.projects.get",
 	//   "parameterOrder": [
@@ -41953,7 +42118,7 @@
 }
 
 // List: Retrieves a list of projects, possibly filtered. This method
-// supports paging.
+// supports paging .
 func (r *ProjectsService) List(profileId int64) *ProjectsListCall {
 	c := &ProjectsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
@@ -42068,7 +42233,7 @@
 
 func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -42130,7 +42295,8 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Retrieves a list of projects, possibly filtered. This method supports paging.",
+	//   "description": "Retrieves a list of projects, possibly filtered. This method supports paging .",
+	//   "flatPath": "userprofiles/{profileId}/projects",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.projects.list",
 	//   "parameterOrder": [
@@ -42293,7 +42459,7 @@
 
 func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -42356,6 +42522,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of regions.",
+	//   "flatPath": "userprofiles/{profileId}/regions",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.regions.list",
 	//   "parameterOrder": [
@@ -42438,7 +42605,7 @@
 
 func (c *RemarketingListSharesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -42502,6 +42669,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one remarketing list share by remarketing list ID.",
+	//   "flatPath": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.remarketingListShares.get",
 	//   "parameterOrder": [
@@ -42540,6 +42708,7 @@
 type RemarketingListSharesPatchCall struct {
 	s                    *Service
 	profileId            int64
+	remarketingListId    int64
 	remarketinglistshare *RemarketingListShare
 	urlParams_           gensupport.URLParams
 	ctx_                 context.Context
@@ -42551,11 +42720,17 @@
 func (r *RemarketingListSharesService) Patch(profileId int64, remarketingListId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesPatchCall {
 	c := &RemarketingListSharesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("remarketingListId", fmt.Sprint(remarketingListId))
+	c.remarketingListId = remarketingListId
 	c.remarketinglistshare = remarketinglistshare
 	return c
 }
 
+// Id sets the optional parameter "id": RemarketingListShare ID.
+func (c *RemarketingListSharesPatchCall) Id(id int64) *RemarketingListSharesPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -42583,7 +42758,7 @@
 
 func (c *RemarketingListSharesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -42596,7 +42771,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists/{remarketingListId}/remarketingListShares")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("PATCH", urls, body)
 	if err != nil {
@@ -42604,7 +42779,8 @@
 	}
 	req.Header = reqHeaders
 	googleapi.Expand(req.URL, map[string]string{
-		"profileId": strconv.FormatInt(c.profileId, 10),
+		"profileId":         strconv.FormatInt(c.profileId, 10),
+		"remarketingListId": strconv.FormatInt(c.remarketingListId, 10),
 	})
 	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 }
@@ -42648,6 +42824,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing remarketing list share. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/remarketingLists/{remarketingListId}/remarketingListShares",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.remarketingListShares.patch",
 	//   "parameterOrder": [
@@ -42655,6 +42832,12 @@
 	//     "remarketingListId"
 	//   ],
 	//   "parameters": {
+	//     "id": {
+	//       "description": "RemarketingListShare ID.",
+	//       "format": "int64",
+	//       "location": "query",
+	//       "type": "string"
+	//     },
 	//     "profileId": {
 	//       "description": "User profile ID associated with this request.",
 	//       "format": "int64",
@@ -42663,14 +42846,14 @@
 	//       "type": "string"
 	//     },
 	//     "remarketingListId": {
-	//       "description": "Remarketing list ID.",
+	//       "description": "RemarketingList ID.",
 	//       "format": "int64",
-	//       "location": "query",
+	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "userprofiles/{profileId}/remarketingListShares",
+	//   "path": "userprofiles/{profileId}/remarketingLists/{remarketingListId}/remarketingListShares",
 	//   "request": {
 	//     "$ref": "RemarketingListShare"
 	//   },
@@ -42730,7 +42913,7 @@
 
 func (c *RemarketingListSharesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -42795,6 +42978,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing remarketing list share.",
+	//   "flatPath": "userprofiles/{profileId}/remarketingListShares",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.remarketingListShares.update",
 	//   "parameterOrder": [
@@ -42880,7 +43064,7 @@
 
 func (c *RemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -42944,6 +43128,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one remarketing list by ID.",
+	//   "flatPath": "userprofiles/{profileId}/remarketingLists/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.remarketingLists.get",
 	//   "parameterOrder": [
@@ -43023,7 +43208,7 @@
 
 func (c *RemarketingListsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -43088,6 +43273,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new remarketing list.",
+	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.remarketingLists.insert",
 	//   "parameterOrder": [
@@ -43237,7 +43423,7 @@
 
 func (c *RemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -43300,6 +43486,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of remarketing lists, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.remarketingLists.list",
 	//   "parameterOrder": [
@@ -43425,14 +43612,19 @@
 
 // Patch: Updates an existing remarketing list. This method supports
 // patch semantics.
-func (r *RemarketingListsService) Patch(profileId int64, id int64, remarketinglist *RemarketingList) *RemarketingListsPatchCall {
+func (r *RemarketingListsService) Patch(profileId int64, remarketinglist *RemarketingList) *RemarketingListsPatchCall {
 	c := &RemarketingListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.remarketinglist = remarketinglist
 	return c
 }
 
+// Id sets the optional parameter "id": RemarketingList ID.
+func (c *RemarketingListsPatchCall) Id(id int64) *RemarketingListsPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -43460,7 +43652,7 @@
 
 func (c *RemarketingListsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -43525,18 +43717,17 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing remarketing list. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.remarketingLists.patch",
 	//   "parameterOrder": [
-	//     "profileId",
-	//     "id"
+	//     "profileId"
 	//   ],
 	//   "parameters": {
 	//     "id": {
-	//       "description": "Remarketing list ID.",
+	//       "description": "RemarketingList ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -43607,7 +43798,7 @@
 
 func (c *RemarketingListsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -43672,6 +43863,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing remarketing list.",
+	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.remarketingLists.update",
 	//   "parameterOrder": [
@@ -43746,7 +43938,7 @@
 
 func (c *ReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -43782,6 +43974,7 @@
 	return nil
 	// {
 	//   "description": "Deletes a report by its ID.",
+	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "dfareporting.reports.delete",
 	//   "parameterOrder": [
@@ -43869,7 +44062,7 @@
 
 func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -43933,6 +44126,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a report by its ID.",
+	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.reports.get",
 	//   "parameterOrder": [
@@ -44012,7 +44206,7 @@
 
 func (c *ReportsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -44077,6 +44271,7 @@
 	return ret, nil
 	// {
 	//   "description": "Creates a report.",
+	//   "flatPath": "userprofiles/{profileId}/reports",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.reports.insert",
 	//   "parameterOrder": [
@@ -44208,7 +44403,7 @@
 
 func (c *ReportsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -44271,6 +44466,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves list of reports.",
+	//   "flatPath": "userprofiles/{profileId}/reports",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.reports.list",
 	//   "parameterOrder": [
@@ -44387,7 +44583,8 @@
 	header_    http.Header
 }
 
-// Patch: Updates a report. This method supports patch semantics.
+// Patch: Updates an existing report. This method supports patch
+// semantics.
 func (r *ReportsService) Patch(profileId int64, reportId int64, report *Report) *ReportsPatchCall {
 	c := &ReportsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
@@ -44423,7 +44620,7 @@
 
 func (c *ReportsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -44488,7 +44685,8 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates a report. This method supports patch semantics.",
+	//   "description": "Updates an existing report. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.reports.patch",
 	//   "parameterOrder": [
@@ -44578,7 +44776,7 @@
 
 func (c *ReportsRunCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -44639,6 +44837,7 @@
 	return ret, nil
 	// {
 	//   "description": "Runs a report.",
+	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}/run",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.reports.run",
 	//   "parameterOrder": [
@@ -44726,7 +44925,7 @@
 
 func (c *ReportsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -44792,6 +44991,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates a report.",
+	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.reports.update",
 	//   "parameterOrder": [
@@ -44876,7 +45076,7 @@
 
 func (c *ReportsCompatibleFieldsQueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -44941,6 +45141,7 @@
 	return ret, nil
 	// {
 	//   "description": "Returns the fields that are compatible to be selected in the respective sections of a report criteria, given the fields already selected in the input report and user permissions.",
+	//   "flatPath": "userprofiles/{profileId}/reports/compatiblefields/query",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.reports.compatibleFields.query",
 	//   "parameterOrder": [
@@ -45029,7 +45230,7 @@
 
 func (c *ReportsFilesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -45110,6 +45311,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a report file by its report ID and file ID. This method supports media download.",
+	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.reports.files.get",
 	//   "parameterOrder": [
@@ -45245,7 +45447,7 @@
 
 func (c *ReportsFilesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -45309,6 +45511,7 @@
 	return ret, nil
 	// {
 	//   "description": "Lists files for a report.",
+	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}/files",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.reports.files.list",
 	//   "parameterOrder": [
@@ -45462,7 +45665,7 @@
 
 func (c *SitesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -45526,6 +45729,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one site by ID.",
+	//   "flatPath": "userprofiles/{profileId}/sites/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.sites.get",
 	//   "parameterOrder": [
@@ -45605,7 +45809,7 @@
 
 func (c *SitesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -45670,6 +45874,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new site.",
+	//   "flatPath": "userprofiles/{profileId}/sites",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.sites.insert",
 	//   "parameterOrder": [
@@ -45887,7 +46092,7 @@
 
 func (c *SitesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -45950,6 +46155,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of sites, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/sites",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.sites.list",
 	//   "parameterOrder": [
@@ -46113,14 +46319,19 @@
 
 // Patch: Updates an existing site. This method supports patch
 // semantics.
-func (r *SitesService) Patch(profileId int64, id int64, site *Site) *SitesPatchCall {
+func (r *SitesService) Patch(profileId int64, site *Site) *SitesPatchCall {
 	c := &SitesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.site = site
 	return c
 }
 
+// Id sets the optional parameter "id": Site ID.
+func (c *SitesPatchCall) Id(id int64) *SitesPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -46148,7 +46359,7 @@
 
 func (c *SitesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -46213,18 +46424,17 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing site. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/sites",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.sites.patch",
 	//   "parameterOrder": [
-	//     "profileId",
-	//     "id"
+	//     "profileId"
 	//   ],
 	//   "parameters": {
 	//     "id": {
 	//       "description": "Site ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -46295,7 +46505,7 @@
 
 func (c *SitesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -46360,6 +46570,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing site.",
+	//   "flatPath": "userprofiles/{profileId}/sites",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.sites.update",
 	//   "parameterOrder": [
@@ -46445,7 +46656,7 @@
 
 func (c *SizesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -46509,6 +46720,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one size by ID.",
+	//   "flatPath": "userprofiles/{profileId}/sizes/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.sizes.get",
 	//   "parameterOrder": [
@@ -46588,7 +46800,7 @@
 
 func (c *SizesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -46653,6 +46865,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new size.",
+	//   "flatPath": "userprofiles/{profileId}/sizes",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.sizes.insert",
 	//   "parameterOrder": [
@@ -46771,7 +46984,7 @@
 
 func (c *SizesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -46834,6 +47047,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of sizes, possibly filtered. Retrieved sizes are globally unique and may include values not currently in use by your account. Due to this, the list of sizes returned by this method may differ from the list seen in the Trafficking UI.",
+	//   "flatPath": "userprofiles/{profileId}/sizes",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.sizes.list",
 	//   "parameterOrder": [
@@ -46944,7 +47158,7 @@
 
 func (c *SubaccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -47008,6 +47222,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one subaccount by ID.",
+	//   "flatPath": "userprofiles/{profileId}/subaccounts/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.subaccounts.get",
 	//   "parameterOrder": [
@@ -47087,7 +47302,7 @@
 
 func (c *SubaccountsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -47152,6 +47367,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new subaccount.",
+	//   "flatPath": "userprofiles/{profileId}/subaccounts",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.subaccounts.insert",
 	//   "parameterOrder": [
@@ -47231,7 +47447,7 @@
 // "subaccount 2015". Most of the searches also add wildcards implicitly
 // at the start and the end of the search string. For example, a search
 // string of "subaccount" will match objects with name "my subaccount",
-// "subaccount 2015", or simply "subaccount".
+// "subaccount 2015", or simply "subaccount" .
 func (c *SubaccountsListCall) SearchString(searchString string) *SubaccountsListCall {
 	c.urlParams_.Set("searchString", searchString)
 	return c
@@ -47296,7 +47512,7 @@
 
 func (c *SubaccountsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -47359,6 +47575,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a list of subaccounts, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/subaccounts",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.subaccounts.list",
 	//   "parameterOrder": [
@@ -47394,7 +47611,7 @@
 	//       "type": "string"
 	//     },
 	//     "searchString": {
-	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"subaccount*2015\" will return objects with names like \"subaccount June 2015\", \"subaccount April 2015\", or simply \"subaccount 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"subaccount\" will match objects with name \"my subaccount\", \"subaccount 2015\", or simply \"subaccount\".",
+	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"subaccount*2015\" will return objects with names like \"subaccount June 2015\", \"subaccount April 2015\", or simply \"subaccount 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"subaccount\" will match objects with name \"my subaccount\", \"subaccount 2015\", or simply \"subaccount\" .",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -47472,14 +47689,19 @@
 
 // Patch: Updates an existing subaccount. This method supports patch
 // semantics.
-func (r *SubaccountsService) Patch(profileId int64, id int64, subaccount *Subaccount) *SubaccountsPatchCall {
+func (r *SubaccountsService) Patch(profileId int64, subaccount *Subaccount) *SubaccountsPatchCall {
 	c := &SubaccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.subaccount = subaccount
 	return c
 }
 
+// Id sets the optional parameter "id": Subaccount ID.
+func (c *SubaccountsPatchCall) Id(id int64) *SubaccountsPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -47507,7 +47729,7 @@
 
 func (c *SubaccountsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -47572,18 +47794,17 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing subaccount. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/subaccounts",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.subaccounts.patch",
 	//   "parameterOrder": [
-	//     "profileId",
-	//     "id"
+	//     "profileId"
 	//   ],
 	//   "parameters": {
 	//     "id": {
 	//       "description": "Subaccount ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -47654,7 +47875,7 @@
 
 func (c *SubaccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -47719,6 +47940,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing subaccount.",
+	//   "flatPath": "userprofiles/{profileId}/subaccounts",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.subaccounts.update",
 	//   "parameterOrder": [
@@ -47804,7 +48026,7 @@
 
 func (c *TargetableRemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -47868,6 +48090,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one remarketing list by ID.",
+	//   "flatPath": "userprofiles/{profileId}/targetableRemarketingLists/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.targetableRemarketingLists.get",
 	//   "parameterOrder": [
@@ -48014,7 +48237,7 @@
 
 func (c *TargetableRemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -48078,6 +48301,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of targetable remarketing lists, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/targetableRemarketingLists",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.targetableRemarketingLists.list",
 	//   "parameterOrder": [
@@ -48241,7 +48465,7 @@
 
 func (c *TargetingTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -48305,6 +48529,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one targeting template by ID.",
+	//   "flatPath": "userprofiles/{profileId}/targetingTemplates/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.targetingTemplates.get",
 	//   "parameterOrder": [
@@ -48384,7 +48609,7 @@
 
 func (c *TargetingTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -48449,6 +48674,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new targeting template.",
+	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.targetingTemplates.insert",
 	//   "parameterOrder": [
@@ -48600,7 +48826,7 @@
 
 func (c *TargetingTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -48663,6 +48889,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of targeting templates, optionally filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.targetingTemplates.list",
 	//   "parameterOrder": [
@@ -48782,14 +49009,19 @@
 
 // Patch: Updates an existing targeting template. This method supports
 // patch semantics.
-func (r *TargetingTemplatesService) Patch(profileId int64, id int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesPatchCall {
+func (r *TargetingTemplatesService) Patch(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesPatchCall {
 	c := &TargetingTemplatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.targetingtemplate = targetingtemplate
 	return c
 }
 
+// Id sets the optional parameter "id": TargetingTemplate ID.
+func (c *TargetingTemplatesPatchCall) Id(id int64) *TargetingTemplatesPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -48817,7 +49049,7 @@
 
 func (c *TargetingTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -48882,18 +49114,17 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing targeting template. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.targetingTemplates.patch",
 	//   "parameterOrder": [
-	//     "profileId",
-	//     "id"
+	//     "profileId"
 	//   ],
 	//   "parameters": {
 	//     "id": {
-	//       "description": "Targeting template ID.",
+	//       "description": "TargetingTemplate ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -48964,7 +49195,7 @@
 
 func (c *TargetingTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49029,6 +49260,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing targeting template.",
+	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.targetingTemplates.update",
 	//   "parameterOrder": [
@@ -49112,7 +49344,7 @@
 
 func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49175,6 +49407,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one user profile by ID.",
+	//   "flatPath": "userprofiles/{profileId}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.userProfiles.get",
 	//   "parameterOrder": [
@@ -49194,6 +49427,7 @@
 	//     "$ref": "UserProfile"
 	//   },
 	//   "scopes": [
+	//     "https://www.googleapis.com/auth/ddmconversions",
 	//     "https://www.googleapis.com/auth/dfareporting",
 	//     "https://www.googleapis.com/auth/dfatrafficking"
 	//   ]
@@ -49254,7 +49488,7 @@
 
 func (c *UserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49314,13 +49548,17 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves list of user profiles for a user.",
+	//   "flatPath": "userprofiles",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.userProfiles.list",
+	//   "parameterOrder": [],
+	//   "parameters": {},
 	//   "path": "userprofiles",
 	//   "response": {
 	//     "$ref": "UserProfileList"
 	//   },
 	//   "scopes": [
+	//     "https://www.googleapis.com/auth/ddmconversions",
 	//     "https://www.googleapis.com/auth/dfareporting",
 	//     "https://www.googleapis.com/auth/dfatrafficking"
 	//   ]
@@ -49385,7 +49623,7 @@
 
 func (c *UserRolePermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49449,6 +49687,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one user role permission group by ID.",
+	//   "flatPath": "userprofiles/{profileId}/userRolePermissionGroups/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.userRolePermissionGroups.get",
 	//   "parameterOrder": [
@@ -49537,7 +49776,7 @@
 
 func (c *UserRolePermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49601,6 +49840,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a list of all supported user role permission groups.",
+	//   "flatPath": "userprofiles/{profileId}/userRolePermissionGroups",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.userRolePermissionGroups.list",
 	//   "parameterOrder": [
@@ -49683,7 +49923,7 @@
 
 func (c *UserRolePermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49747,6 +49987,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one user role permission by ID.",
+	//   "flatPath": "userprofiles/{profileId}/userRolePermissions/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.userRolePermissions.get",
 	//   "parameterOrder": [
@@ -49846,7 +50087,7 @@
 
 func (c *UserRolePermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49909,6 +50150,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets a list of user role permissions, possibly filtered.",
+	//   "flatPath": "userprofiles/{profileId}/userRolePermissions",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.userRolePermissions.list",
 	//   "parameterOrder": [
@@ -49987,7 +50229,7 @@
 
 func (c *UserRolesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -50023,6 +50265,7 @@
 	return nil
 	// {
 	//   "description": "Deletes an existing user role.",
+	//   "flatPath": "userprofiles/{profileId}/userRoles/{id}",
 	//   "httpMethod": "DELETE",
 	//   "id": "dfareporting.userRoles.delete",
 	//   "parameterOrder": [
@@ -50110,7 +50353,7 @@
 
 func (c *UserRolesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -50174,6 +50417,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one user role by ID.",
+	//   "flatPath": "userprofiles/{profileId}/userRoles/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.userRoles.get",
 	//   "parameterOrder": [
@@ -50253,7 +50497,7 @@
 
 func (c *UserRolesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -50318,6 +50562,7 @@
 	return ret, nil
 	// {
 	//   "description": "Inserts a new user role.",
+	//   "flatPath": "userprofiles/{profileId}/userRoles",
 	//   "httpMethod": "POST",
 	//   "id": "dfareporting.userRoles.insert",
 	//   "parameterOrder": [
@@ -50477,7 +50722,7 @@
 
 func (c *UserRolesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -50540,6 +50785,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a list of user roles, possibly filtered. This method supports paging.",
+	//   "flatPath": "userprofiles/{profileId}/userRoles",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.userRoles.list",
 	//   "parameterOrder": [
@@ -50664,14 +50910,19 @@
 
 // Patch: Updates an existing user role. This method supports patch
 // semantics.
-func (r *UserRolesService) Patch(profileId int64, id int64, userrole *UserRole) *UserRolesPatchCall {
+func (r *UserRolesService) Patch(profileId int64, userrole *UserRole) *UserRolesPatchCall {
 	c := &UserRolesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.profileId = profileId
-	c.urlParams_.Set("id", fmt.Sprint(id))
 	c.userrole = userrole
 	return c
 }
 
+// Id sets the optional parameter "id": UserRole ID.
+func (c *UserRolesPatchCall) Id(id int64) *UserRolesPatchCall {
+	c.urlParams_.Set("id", fmt.Sprint(id))
+	return c
+}
+
 // Fields allows partial responses to be retrieved. See
 // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 // for more information.
@@ -50699,7 +50950,7 @@
 
 func (c *UserRolesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -50764,18 +51015,17 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing user role. This method supports patch semantics.",
+	//   "flatPath": "userprofiles/{profileId}/userRoles",
 	//   "httpMethod": "PATCH",
 	//   "id": "dfareporting.userRoles.patch",
 	//   "parameterOrder": [
-	//     "profileId",
-	//     "id"
+	//     "profileId"
 	//   ],
 	//   "parameters": {
 	//     "id": {
-	//       "description": "User role ID.",
+	//       "description": "UserRole ID.",
 	//       "format": "int64",
 	//       "location": "query",
-	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "profileId": {
@@ -50846,7 +51096,7 @@
 
 func (c *UserRolesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -50911,6 +51161,7 @@
 	return ret, nil
 	// {
 	//   "description": "Updates an existing user role.",
+	//   "flatPath": "userprofiles/{profileId}/userRoles",
 	//   "httpMethod": "PUT",
 	//   "id": "dfareporting.userRoles.update",
 	//   "parameterOrder": [
@@ -50996,7 +51247,7 @@
 
 func (c *VideoFormatsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -51060,6 +51311,7 @@
 	return ret, nil
 	// {
 	//   "description": "Gets one video format by ID.",
+	//   "flatPath": "userprofiles/{profileId}/videoFormats/{id}",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.videoFormats.get",
 	//   "parameterOrder": [
@@ -51148,7 +51400,7 @@
 
 func (c *VideoFormatsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -51211,6 +51463,7 @@
 	return ret, nil
 	// {
 	//   "description": "Lists available video formats.",
+	//   "flatPath": "userprofiles/{profileId}/videoFormats",
 	//   "httpMethod": "GET",
 	//   "id": "dfareporting.videoFormats.list",
 	//   "parameterOrder": [
diff --git a/dfareporting/v3.4/dfareporting-gen.go b/dfareporting/v3.4/dfareporting-gen.go
index 2572b37..868f3c7 100644
--- a/dfareporting/v3.4/dfareporting-gen.go
+++ b/dfareporting/v3.4/dfareporting-gen.go
@@ -15256,7 +15256,7 @@
 
 func (c *AccountActiveAdSummariesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15411,7 +15411,7 @@
 
 func (c *AccountPermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15564,7 +15564,7 @@
 
 func (c *AccountPermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15711,7 +15711,7 @@
 
 func (c *AccountPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15864,7 +15864,7 @@
 
 func (c *AccountPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16010,7 +16010,7 @@
 
 func (c *AccountUserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16154,7 +16154,7 @@
 
 func (c *AccountUserProfilesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16386,7 +16386,7 @@
 
 func (c *AccountUserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16620,7 +16620,7 @@
 
 func (c *AccountUserProfilesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16766,7 +16766,7 @@
 
 func (c *AccountUserProfilesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16917,7 +16917,7 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17139,7 +17139,7 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17361,7 +17361,7 @@
 
 func (c *AccountsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17507,7 +17507,7 @@
 
 func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17658,7 +17658,7 @@
 
 func (c *AdsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17802,7 +17802,7 @@
 
 func (c *AdsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18186,7 +18186,7 @@
 
 func (c *AdsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18534,7 +18534,7 @@
 
 func (c *AdsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18680,7 +18680,7 @@
 
 func (c *AdsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18820,7 +18820,7 @@
 
 func (c *AdvertiserGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18944,7 +18944,7 @@
 
 func (c *AdvertiserGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19088,7 +19088,7 @@
 
 func (c *AdvertiserGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19299,7 +19299,7 @@
 
 func (c *AdvertiserGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19516,7 +19516,7 @@
 
 func (c *AdvertiserGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19662,7 +19662,7 @@
 
 func (c *AdvertiserGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19813,7 +19813,7 @@
 
 func (c *AdvertiserLandingPagesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19957,7 +19957,7 @@
 
 func (c *AdvertiserLandingPagesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20203,7 +20203,7 @@
 
 func (c *AdvertiserLandingPagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20446,7 +20446,7 @@
 
 func (c *AdvertiserLandingPagesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20592,7 +20592,7 @@
 
 func (c *AdvertiserLandingPagesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20743,7 +20743,7 @@
 
 func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20887,7 +20887,7 @@
 
 func (c *AdvertisersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21153,7 +21153,7 @@
 
 func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21413,7 +21413,7 @@
 
 func (c *AdvertisersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21559,7 +21559,7 @@
 
 func (c *AdvertisersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21708,7 +21708,7 @@
 
 func (c *BrowsersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21847,7 +21847,7 @@
 
 func (c *CampaignCreativeAssociationsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22033,7 +22033,7 @@
 
 func (c *CampaignCreativeAssociationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22239,7 +22239,7 @@
 
 func (c *CampaignsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22383,7 +22383,7 @@
 
 func (c *CampaignsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22658,7 +22658,7 @@
 
 func (c *CampaignsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22918,7 +22918,7 @@
 
 func (c *CampaignsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23064,7 +23064,7 @@
 
 func (c *CampaignsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23215,7 +23215,7 @@
 
 func (c *ChangeLogsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23524,7 +23524,7 @@
 
 func (c *ChangeLogsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23911,7 +23911,7 @@
 
 func (c *CitiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24083,7 +24083,7 @@
 
 func (c *ConnectionTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24236,7 +24236,7 @@
 
 func (c *ConnectionTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24371,7 +24371,7 @@
 
 func (c *ContentCategoriesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24495,7 +24495,7 @@
 
 func (c *ContentCategoriesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24639,7 +24639,7 @@
 
 func (c *ContentCategoriesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24850,7 +24850,7 @@
 
 func (c *ContentCategoriesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25067,7 +25067,7 @@
 
 func (c *ContentCategoriesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25213,7 +25213,7 @@
 
 func (c *ContentCategoriesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25353,7 +25353,7 @@
 
 func (c *ConversionsBatchinsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25493,7 +25493,7 @@
 
 func (c *ConversionsBatchupdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25644,7 +25644,7 @@
 
 func (c *CountriesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25797,7 +25797,7 @@
 
 func (c *CountriesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25974,7 +25974,7 @@
 
 func (c *CreativeAssetsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26166,7 +26166,7 @@
 
 func (c *CreativeFieldValuesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26301,7 +26301,7 @@
 
 func (c *CreativeFieldValuesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26456,7 +26456,7 @@
 
 func (c *CreativeFieldValuesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26672,7 +26672,7 @@
 
 func (c *CreativeFieldValuesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26900,7 +26900,7 @@
 
 func (c *CreativeFieldValuesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27057,7 +27057,7 @@
 
 func (c *CreativeFieldValuesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27206,7 +27206,7 @@
 
 func (c *CreativeFieldsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27330,7 +27330,7 @@
 
 func (c *CreativeFieldsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27474,7 +27474,7 @@
 
 func (c *CreativeFieldsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27696,7 +27696,7 @@
 
 func (c *CreativeFieldsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27920,7 +27920,7 @@
 
 func (c *CreativeFieldsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28066,7 +28066,7 @@
 
 func (c *CreativeFieldsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28217,7 +28217,7 @@
 
 func (c *CreativeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28361,7 +28361,7 @@
 
 func (c *CreativeGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28590,7 +28590,7 @@
 
 func (c *CreativeGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28822,7 +28822,7 @@
 
 func (c *CreativeGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28968,7 +28968,7 @@
 
 func (c *CreativeGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29119,7 +29119,7 @@
 
 func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29263,7 +29263,7 @@
 
 func (c *CreativesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29587,7 +29587,7 @@
 
 func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29920,7 +29920,7 @@
 
 func (c *CreativesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30066,7 +30066,7 @@
 
 func (c *CreativesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30206,7 +30206,7 @@
 
 func (c *CustomEventsBatchinsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30361,7 +30361,7 @@
 
 func (c *DimensionValuesQueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30547,7 +30547,7 @@
 
 func (c *DirectorySitesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30691,7 +30691,7 @@
 
 func (c *DirectorySitesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30941,7 +30941,7 @@
 
 func (c *DirectorySitesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -31178,7 +31178,7 @@
 
 func (c *DynamicTargetingKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -31321,7 +31321,7 @@
 
 func (c *DynamicTargetingKeysInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -31504,7 +31504,7 @@
 
 func (c *DynamicTargetingKeysListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -31674,7 +31674,7 @@
 
 func (c *EventTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -31798,7 +31798,7 @@
 
 func (c *EventTagsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -31942,7 +31942,7 @@
 
 func (c *EventTagsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -32199,7 +32199,7 @@
 
 func (c *EventTagsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -32425,7 +32425,7 @@
 
 func (c *EventTagsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -32571,7 +32571,7 @@
 
 func (c *EventTagsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -32723,7 +32723,7 @@
 
 func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -32941,7 +32941,7 @@
 
 func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -33155,7 +33155,7 @@
 
 func (c *FloodlightActivitiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -33274,7 +33274,7 @@
 
 func (c *FloodlightActivitiesGeneratetagCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -33424,7 +33424,7 @@
 
 func (c *FloodlightActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -33568,7 +33568,7 @@
 
 func (c *FloodlightActivitiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -33845,7 +33845,7 @@
 
 func (c *FloodlightActivitiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -34109,7 +34109,7 @@
 
 func (c *FloodlightActivitiesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -34255,7 +34255,7 @@
 
 func (c *FloodlightActivitiesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -34406,7 +34406,7 @@
 
 func (c *FloodlightActivityGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -34550,7 +34550,7 @@
 
 func (c *FloodlightActivityGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -34792,7 +34792,7 @@
 
 func (c *FloodlightActivityGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -35035,7 +35035,7 @@
 
 func (c *FloodlightActivityGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -35181,7 +35181,7 @@
 
 func (c *FloodlightActivityGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -35332,7 +35332,7 @@
 
 func (c *FloodlightConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -35498,7 +35498,7 @@
 
 func (c *FloodlightConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -35648,7 +35648,7 @@
 
 func (c *FloodlightConfigurationsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -35794,7 +35794,7 @@
 
 func (c *FloodlightConfigurationsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -35947,7 +35947,7 @@
 
 func (c *InventoryItemsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -36199,7 +36199,7 @@
 
 func (c *InventoryItemsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -36454,7 +36454,7 @@
 
 func (c *LanguagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -36598,7 +36598,7 @@
 
 func (c *MetrosListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -36744,7 +36744,7 @@
 
 func (c *MobileAppsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -36941,7 +36941,7 @@
 
 func (c *MobileAppsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -37149,7 +37149,7 @@
 
 func (c *MobileCarriersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -37302,7 +37302,7 @@
 
 func (c *MobileCarriersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -37448,7 +37448,7 @@
 
 func (c *OperatingSystemVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -37601,7 +37601,7 @@
 
 func (c *OperatingSystemVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -37748,7 +37748,7 @@
 
 func (c *OperatingSystemsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -37901,7 +37901,7 @@
 
 func (c *OperatingSystemsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -38049,7 +38049,7 @@
 
 func (c *OrderDocumentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -38304,7 +38304,7 @@
 
 func (c *OrderDocumentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -38555,7 +38555,7 @@
 
 func (c *OrdersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -38790,7 +38790,7 @@
 
 func (c *OrdersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -39027,7 +39027,7 @@
 
 func (c *PlacementGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -39171,7 +39171,7 @@
 
 func (c *PlacementGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -39522,7 +39522,7 @@
 
 func (c *PlacementGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -39841,7 +39841,7 @@
 
 func (c *PlacementGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -39987,7 +39987,7 @@
 
 func (c *PlacementGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -40127,7 +40127,7 @@
 
 func (c *PlacementStrategiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -40251,7 +40251,7 @@
 
 func (c *PlacementStrategiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -40395,7 +40395,7 @@
 
 func (c *PlacementStrategiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -40606,7 +40606,7 @@
 
 func (c *PlacementStrategiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -40823,7 +40823,7 @@
 
 func (c *PlacementStrategiesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -40969,7 +40969,7 @@
 
 func (c *PlacementStrategiesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -41154,7 +41154,7 @@
 
 func (c *PlacementsGeneratetagsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -41358,7 +41358,7 @@
 
 func (c *PlacementsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -41502,7 +41502,7 @@
 
 func (c *PlacementsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -41889,7 +41889,7 @@
 
 func (c *PlacementsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -42244,7 +42244,7 @@
 
 func (c *PlacementsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -42390,7 +42390,7 @@
 
 func (c *PlacementsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -42541,7 +42541,7 @@
 
 func (c *PlatformTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -42694,7 +42694,7 @@
 
 func (c *PlatformTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -42840,7 +42840,7 @@
 
 func (c *PostalCodesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -42992,7 +42992,7 @@
 
 func (c *PostalCodesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -43138,7 +43138,7 @@
 
 func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -43363,7 +43363,7 @@
 
 func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -43589,7 +43589,7 @@
 
 func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -43735,7 +43735,7 @@
 
 func (c *RemarketingListSharesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -43888,7 +43888,7 @@
 
 func (c *RemarketingListSharesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -44043,7 +44043,7 @@
 
 func (c *RemarketingListSharesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -44194,7 +44194,7 @@
 
 func (c *RemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -44338,7 +44338,7 @@
 
 func (c *RemarketingListsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -44553,7 +44553,7 @@
 
 func (c *RemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -44782,7 +44782,7 @@
 
 func (c *RemarketingListsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -44928,7 +44928,7 @@
 
 func (c *RemarketingListsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -45068,7 +45068,7 @@
 
 func (c *ReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -45192,7 +45192,7 @@
 
 func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -45336,7 +45336,7 @@
 
 func (c *ReportsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -45533,7 +45533,7 @@
 
 func (c *ReportsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -45750,7 +45750,7 @@
 
 func (c *ReportsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -45906,7 +45906,7 @@
 
 func (c *ReportsRunCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -46055,7 +46055,7 @@
 
 func (c *ReportsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -46206,7 +46206,7 @@
 
 func (c *ReportsCompatibleFieldsQueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -46360,7 +46360,7 @@
 
 func (c *ReportsFilesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -46577,7 +46577,7 @@
 
 func (c *ReportsFilesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -46795,7 +46795,7 @@
 
 func (c *SitesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -46939,7 +46939,7 @@
 
 func (c *SitesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -47222,7 +47222,7 @@
 
 func (c *SitesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -47489,7 +47489,7 @@
 
 func (c *SitesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -47635,7 +47635,7 @@
 
 func (c *SitesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -47786,7 +47786,7 @@
 
 func (c *SizesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -47930,7 +47930,7 @@
 
 func (c *SizesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -48114,7 +48114,7 @@
 
 func (c *SizesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -48288,7 +48288,7 @@
 
 func (c *SubaccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -48432,7 +48432,7 @@
 
 func (c *SubaccountsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -48642,7 +48642,7 @@
 
 func (c *SubaccountsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -48859,7 +48859,7 @@
 
 func (c *SubaccountsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49005,7 +49005,7 @@
 
 func (c *SubaccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49156,7 +49156,7 @@
 
 func (c *TargetableRemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49367,7 +49367,7 @@
 
 func (c *TargetableRemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49595,7 +49595,7 @@
 
 func (c *TargetingTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49739,7 +49739,7 @@
 
 func (c *TargetingTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -49956,7 +49956,7 @@
 
 func (c *TargetingTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -50179,7 +50179,7 @@
 
 func (c *TargetingTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -50325,7 +50325,7 @@
 
 func (c *TargetingTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -50474,7 +50474,7 @@
 
 func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -50618,7 +50618,7 @@
 
 func (c *UserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -50753,7 +50753,7 @@
 
 func (c *UserRolePermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -50906,7 +50906,7 @@
 
 func (c *UserRolePermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -51053,7 +51053,7 @@
 
 func (c *UserRolePermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -51217,7 +51217,7 @@
 
 func (c *UserRolePermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -51359,7 +51359,7 @@
 
 func (c *UserRolesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -51483,7 +51483,7 @@
 
 func (c *UserRolesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -51627,7 +51627,7 @@
 
 func (c *UserRolesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -51852,7 +51852,7 @@
 
 func (c *UserRolesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -52080,7 +52080,7 @@
 
 func (c *UserRolesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -52226,7 +52226,7 @@
 
 func (c *UserRolesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -52377,7 +52377,7 @@
 
 func (c *VideoFormatsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -52530,7 +52530,7 @@
 
 func (c *VideoFormatsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/dialogflow/v2/dialogflow-gen.go b/dialogflow/v2/dialogflow-gen.go
index 9cded8a..1650124 100644
--- a/dialogflow/v2/dialogflow-gen.go
+++ b/dialogflow/v2/dialogflow-gen.go
@@ -8720,7 +8720,7 @@
 
 func (c *ProjectsDeleteAgentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8862,7 +8862,7 @@
 
 func (c *ProjectsGetAgentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9005,7 +9005,7 @@
 
 func (c *ProjectsSetAgentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9152,7 +9152,7 @@
 
 func (c *ProjectsAgentExportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9302,7 +9302,7 @@
 
 func (c *ProjectsAgentGetFulfillmentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9461,7 +9461,7 @@
 
 func (c *ProjectsAgentGetValidationResultCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9612,7 +9612,7 @@
 
 func (c *ProjectsAgentImportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9761,7 +9761,7 @@
 
 func (c *ProjectsAgentRestoreCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9931,7 +9931,7 @@
 
 func (c *ProjectsAgentSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10101,7 +10101,7 @@
 
 func (c *ProjectsAgentTrainCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10250,7 +10250,7 @@
 
 func (c *ProjectsAgentUpdateFulfillmentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10398,7 +10398,7 @@
 
 func (c *ProjectsAgentEntityTypesBatchDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10540,7 +10540,7 @@
 
 func (c *ProjectsAgentEntityTypesBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10692,7 +10692,7 @@
 
 func (c *ProjectsAgentEntityTypesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10837,7 +10837,7 @@
 
 func (c *ProjectsAgentEntityTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10990,7 +10990,7 @@
 
 func (c *ProjectsAgentEntityTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11166,7 +11166,7 @@
 
 func (c *ProjectsAgentEntityTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11359,7 +11359,7 @@
 
 func (c *ProjectsAgentEntityTypesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11513,7 +11513,7 @@
 
 func (c *ProjectsAgentEntityTypesEntitiesBatchCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11654,7 +11654,7 @@
 
 func (c *ProjectsAgentEntityTypesEntitiesBatchDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11797,7 +11797,7 @@
 
 func (c *ProjectsAgentEntityTypesEntitiesBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11962,7 +11962,7 @@
 
 func (c *ProjectsAgentEnvironmentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12130,7 +12130,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsDeleteContextsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12266,7 +12266,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsDetectIntentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12410,7 +12410,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsContextsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12549,7 +12549,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsContextsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12691,7 +12691,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsContextsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12850,7 +12850,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsContextsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13027,7 +13027,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsContextsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13178,7 +13178,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsEntityTypesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13322,7 +13322,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsEntityTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13466,7 +13466,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsEntityTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13630,7 +13630,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsEntityTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13809,7 +13809,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsEntityTypesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13958,7 +13958,7 @@
 
 func (c *ProjectsAgentIntentsBatchDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14100,7 +14100,7 @@
 
 func (c *ProjectsAgentIntentsBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14264,7 +14264,7 @@
 
 func (c *ProjectsAgentIntentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14422,7 +14422,7 @@
 
 func (c *ProjectsAgentIntentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14587,7 +14587,7 @@
 
 func (c *ProjectsAgentIntentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14787,7 +14787,7 @@
 
 func (c *ProjectsAgentIntentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15005,7 +15005,7 @@
 
 func (c *ProjectsAgentIntentsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15168,7 +15168,7 @@
 
 func (c *ProjectsAgentSessionsDeleteContextsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15304,7 +15304,7 @@
 
 func (c *ProjectsAgentSessionsDetectIntentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15448,7 +15448,7 @@
 
 func (c *ProjectsAgentSessionsContextsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15587,7 +15587,7 @@
 
 func (c *ProjectsAgentSessionsContextsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15729,7 +15729,7 @@
 
 func (c *ProjectsAgentSessionsContextsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15888,7 +15888,7 @@
 
 func (c *ProjectsAgentSessionsContextsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16065,7 +16065,7 @@
 
 func (c *ProjectsAgentSessionsContextsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16216,7 +16216,7 @@
 
 func (c *ProjectsAgentSessionsEntityTypesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16360,7 +16360,7 @@
 
 func (c *ProjectsAgentSessionsEntityTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16504,7 +16504,7 @@
 
 func (c *ProjectsAgentSessionsEntityTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16668,7 +16668,7 @@
 
 func (c *ProjectsAgentSessionsEntityTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16847,7 +16847,7 @@
 
 func (c *ProjectsAgentSessionsEntityTypesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17003,7 +17003,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17147,7 +17147,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17322,7 +17322,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17503,7 +17503,7 @@
 
 func (c *ProjectsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17647,7 +17647,7 @@
 
 func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17822,7 +17822,7 @@
 
 func (c *ProjectsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/dialogflow/v2beta1/dialogflow-gen.go b/dialogflow/v2beta1/dialogflow-gen.go
index bc76a5e..0593f17 100644
--- a/dialogflow/v2beta1/dialogflow-gen.go
+++ b/dialogflow/v2beta1/dialogflow-gen.go
@@ -9305,7 +9305,7 @@
 
 func (c *ProjectsDeleteAgentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9447,7 +9447,7 @@
 
 func (c *ProjectsGetAgentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9591,7 +9591,7 @@
 
 func (c *ProjectsSetAgentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9739,7 +9739,7 @@
 
 func (c *ProjectsAgentExportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9889,7 +9889,7 @@
 
 func (c *ProjectsAgentGetFulfillmentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10048,7 +10048,7 @@
 
 func (c *ProjectsAgentGetValidationResultCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10200,7 +10200,7 @@
 
 func (c *ProjectsAgentImportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10349,7 +10349,7 @@
 
 func (c *ProjectsAgentRestoreCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10519,7 +10519,7 @@
 
 func (c *ProjectsAgentSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10689,7 +10689,7 @@
 
 func (c *ProjectsAgentTrainCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10838,7 +10838,7 @@
 
 func (c *ProjectsAgentUpdateFulfillmentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10986,7 +10986,7 @@
 
 func (c *ProjectsAgentEntityTypesBatchDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11128,7 +11128,7 @@
 
 func (c *ProjectsAgentEntityTypesBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11280,7 +11280,7 @@
 
 func (c *ProjectsAgentEntityTypesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11425,7 +11425,7 @@
 
 func (c *ProjectsAgentEntityTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11578,7 +11578,7 @@
 
 func (c *ProjectsAgentEntityTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11754,7 +11754,7 @@
 
 func (c *ProjectsAgentEntityTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11947,7 +11947,7 @@
 
 func (c *ProjectsAgentEntityTypesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12101,7 +12101,7 @@
 
 func (c *ProjectsAgentEntityTypesEntitiesBatchCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12242,7 +12242,7 @@
 
 func (c *ProjectsAgentEntityTypesEntitiesBatchDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12385,7 +12385,7 @@
 
 func (c *ProjectsAgentEntityTypesEntitiesBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12550,7 +12550,7 @@
 
 func (c *ProjectsAgentEnvironmentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12718,7 +12718,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsDeleteContextsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12854,7 +12854,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsDetectIntentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12998,7 +12998,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsContextsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13138,7 +13138,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsContextsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13280,7 +13280,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsContextsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13440,7 +13440,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsContextsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13617,7 +13617,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsContextsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13769,7 +13769,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsEntityTypesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13913,7 +13913,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsEntityTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14057,7 +14057,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsEntityTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14221,7 +14221,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsEntityTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14401,7 +14401,7 @@
 
 func (c *ProjectsAgentEnvironmentsUsersSessionsEntityTypesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14550,7 +14550,7 @@
 
 func (c *ProjectsAgentIntentsBatchDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14692,7 +14692,7 @@
 
 func (c *ProjectsAgentIntentsBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14856,7 +14856,7 @@
 
 func (c *ProjectsAgentIntentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15015,7 +15015,7 @@
 
 func (c *ProjectsAgentIntentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15180,7 +15180,7 @@
 
 func (c *ProjectsAgentIntentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15381,7 +15381,7 @@
 
 func (c *ProjectsAgentIntentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15599,7 +15599,7 @@
 
 func (c *ProjectsAgentIntentsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15767,7 +15767,7 @@
 
 func (c *ProjectsAgentKnowledgeBasesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15918,7 +15918,7 @@
 
 func (c *ProjectsAgentKnowledgeBasesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16067,7 +16067,7 @@
 
 func (c *ProjectsAgentKnowledgeBasesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16230,7 +16230,7 @@
 
 func (c *ProjectsAgentKnowledgeBasesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16412,7 +16412,7 @@
 
 func (c *ProjectsAgentKnowledgeBasesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16563,7 +16563,7 @@
 
 func (c *ProjectsAgentKnowledgeBasesDocumentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16704,7 +16704,7 @@
 
 func (c *ProjectsAgentKnowledgeBasesDocumentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16848,7 +16848,7 @@
 
 func (c *ProjectsAgentKnowledgeBasesDocumentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17010,7 +17010,7 @@
 
 func (c *ProjectsAgentKnowledgeBasesDocumentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17191,7 +17191,7 @@
 
 func (c *ProjectsAgentKnowledgeBasesDocumentsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17344,7 +17344,7 @@
 
 func (c *ProjectsAgentKnowledgeBasesDocumentsReloadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17483,7 +17483,7 @@
 
 func (c *ProjectsAgentSessionsDeleteContextsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17619,7 +17619,7 @@
 
 func (c *ProjectsAgentSessionsDetectIntentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17763,7 +17763,7 @@
 
 func (c *ProjectsAgentSessionsContextsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17903,7 +17903,7 @@
 
 func (c *ProjectsAgentSessionsContextsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18045,7 +18045,7 @@
 
 func (c *ProjectsAgentSessionsContextsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18205,7 +18205,7 @@
 
 func (c *ProjectsAgentSessionsContextsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18382,7 +18382,7 @@
 
 func (c *ProjectsAgentSessionsContextsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18534,7 +18534,7 @@
 
 func (c *ProjectsAgentSessionsEntityTypesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18678,7 +18678,7 @@
 
 func (c *ProjectsAgentSessionsEntityTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18822,7 +18822,7 @@
 
 func (c *ProjectsAgentSessionsEntityTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18986,7 +18986,7 @@
 
 func (c *ProjectsAgentSessionsEntityTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19166,7 +19166,7 @@
 
 func (c *ProjectsAgentSessionsEntityTypesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19317,7 +19317,7 @@
 
 func (c *ProjectsKnowledgeBasesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19468,7 +19468,7 @@
 
 func (c *ProjectsKnowledgeBasesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19617,7 +19617,7 @@
 
 func (c *ProjectsKnowledgeBasesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19780,7 +19780,7 @@
 
 func (c *ProjectsKnowledgeBasesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19962,7 +19962,7 @@
 
 func (c *ProjectsKnowledgeBasesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20113,7 +20113,7 @@
 
 func (c *ProjectsKnowledgeBasesDocumentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20254,7 +20254,7 @@
 
 func (c *ProjectsKnowledgeBasesDocumentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20398,7 +20398,7 @@
 
 func (c *ProjectsKnowledgeBasesDocumentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20560,7 +20560,7 @@
 
 func (c *ProjectsKnowledgeBasesDocumentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20741,7 +20741,7 @@
 
 func (c *ProjectsKnowledgeBasesDocumentsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20894,7 +20894,7 @@
 
 func (c *ProjectsKnowledgeBasesDocumentsReloadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21033,7 +21033,7 @@
 
 func (c *ProjectsLocationsDeleteAgentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21175,7 +21175,7 @@
 
 func (c *ProjectsLocationsGetAgentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21319,7 +21319,7 @@
 
 func (c *ProjectsLocationsSetAgentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21467,7 +21467,7 @@
 
 func (c *ProjectsLocationsAgentExportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21617,7 +21617,7 @@
 
 func (c *ProjectsLocationsAgentGetFulfillmentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21763,7 +21763,7 @@
 
 func (c *ProjectsLocationsAgentImportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21912,7 +21912,7 @@
 
 func (c *ProjectsLocationsAgentRestoreCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22082,7 +22082,7 @@
 
 func (c *ProjectsLocationsAgentSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22252,7 +22252,7 @@
 
 func (c *ProjectsLocationsAgentTrainCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22401,7 +22401,7 @@
 
 func (c *ProjectsLocationsAgentUpdateFulfillmentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22549,7 +22549,7 @@
 
 func (c *ProjectsLocationsAgentEntityTypesBatchDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22691,7 +22691,7 @@
 
 func (c *ProjectsLocationsAgentEntityTypesBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22843,7 +22843,7 @@
 
 func (c *ProjectsLocationsAgentEntityTypesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22988,7 +22988,7 @@
 
 func (c *ProjectsLocationsAgentEntityTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23141,7 +23141,7 @@
 
 func (c *ProjectsLocationsAgentEntityTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23317,7 +23317,7 @@
 
 func (c *ProjectsLocationsAgentEntityTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23510,7 +23510,7 @@
 
 func (c *ProjectsLocationsAgentEntityTypesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23664,7 +23664,7 @@
 
 func (c *ProjectsLocationsAgentEntityTypesEntitiesBatchCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23805,7 +23805,7 @@
 
 func (c *ProjectsLocationsAgentEntityTypesEntitiesBatchDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23948,7 +23948,7 @@
 
 func (c *ProjectsLocationsAgentEntityTypesEntitiesBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24113,7 +24113,7 @@
 
 func (c *ProjectsLocationsAgentEnvironmentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24281,7 +24281,7 @@
 
 func (c *ProjectsLocationsAgentEnvironmentsUsersSessionsDeleteContextsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24417,7 +24417,7 @@
 
 func (c *ProjectsLocationsAgentEnvironmentsUsersSessionsDetectIntentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24561,7 +24561,7 @@
 
 func (c *ProjectsLocationsAgentEnvironmentsUsersSessionsContextsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24701,7 +24701,7 @@
 
 func (c *ProjectsLocationsAgentEnvironmentsUsersSessionsContextsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24843,7 +24843,7 @@
 
 func (c *ProjectsLocationsAgentEnvironmentsUsersSessionsContextsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25003,7 +25003,7 @@
 
 func (c *ProjectsLocationsAgentEnvironmentsUsersSessionsContextsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25180,7 +25180,7 @@
 
 func (c *ProjectsLocationsAgentEnvironmentsUsersSessionsContextsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25332,7 +25332,7 @@
 
 func (c *ProjectsLocationsAgentEnvironmentsUsersSessionsEntityTypesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25476,7 +25476,7 @@
 
 func (c *ProjectsLocationsAgentEnvironmentsUsersSessionsEntityTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25620,7 +25620,7 @@
 
 func (c *ProjectsLocationsAgentEnvironmentsUsersSessionsEntityTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25784,7 +25784,7 @@
 
 func (c *ProjectsLocationsAgentEnvironmentsUsersSessionsEntityTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25964,7 +25964,7 @@
 
 func (c *ProjectsLocationsAgentEnvironmentsUsersSessionsEntityTypesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26113,7 +26113,7 @@
 
 func (c *ProjectsLocationsAgentIntentsBatchDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26255,7 +26255,7 @@
 
 func (c *ProjectsLocationsAgentIntentsBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26419,7 +26419,7 @@
 
 func (c *ProjectsLocationsAgentIntentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26578,7 +26578,7 @@
 
 func (c *ProjectsLocationsAgentIntentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26743,7 +26743,7 @@
 
 func (c *ProjectsLocationsAgentIntentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26944,7 +26944,7 @@
 
 func (c *ProjectsLocationsAgentIntentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27162,7 +27162,7 @@
 
 func (c *ProjectsLocationsAgentIntentsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27326,7 +27326,7 @@
 
 func (c *ProjectsLocationsAgentSessionsDeleteContextsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27462,7 +27462,7 @@
 
 func (c *ProjectsLocationsAgentSessionsDetectIntentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27606,7 +27606,7 @@
 
 func (c *ProjectsLocationsAgentSessionsContextsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27746,7 +27746,7 @@
 
 func (c *ProjectsLocationsAgentSessionsContextsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27888,7 +27888,7 @@
 
 func (c *ProjectsLocationsAgentSessionsContextsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28048,7 +28048,7 @@
 
 func (c *ProjectsLocationsAgentSessionsContextsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28225,7 +28225,7 @@
 
 func (c *ProjectsLocationsAgentSessionsContextsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28377,7 +28377,7 @@
 
 func (c *ProjectsLocationsAgentSessionsEntityTypesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28521,7 +28521,7 @@
 
 func (c *ProjectsLocationsAgentSessionsEntityTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28665,7 +28665,7 @@
 
 func (c *ProjectsLocationsAgentSessionsEntityTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28829,7 +28829,7 @@
 
 func (c *ProjectsLocationsAgentSessionsEntityTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29009,7 +29009,7 @@
 
 func (c *ProjectsLocationsAgentSessionsEntityTypesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29165,7 +29165,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29309,7 +29309,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29484,7 +29484,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29665,7 +29665,7 @@
 
 func (c *ProjectsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29809,7 +29809,7 @@
 
 func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29984,7 +29984,7 @@
 
 func (c *ProjectsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/digitalassetlinks/v1/digitalassetlinks-gen.go b/digitalassetlinks/v1/digitalassetlinks-gen.go
index 29c5c96..efdb049 100644
--- a/digitalassetlinks/v1/digitalassetlinks-gen.go
+++ b/digitalassetlinks/v1/digitalassetlinks-gen.go
@@ -890,7 +890,7 @@
 
 func (c *AssetlinksCheckCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1197,7 +1197,7 @@
 
 func (c *StatementsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/discovery/v1/discovery-gen.go b/discovery/v1/discovery-gen.go
index 846d90f..e2c2b2b 100644
--- a/discovery/v1/discovery-gen.go
+++ b/discovery/v1/discovery-gen.go
@@ -1054,7 +1054,7 @@
 
 func (c *ApisGetRestCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1213,7 +1213,7 @@
 
 func (c *ApisListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/displayvideo/v1/displayvideo-gen.go b/displayvideo/v1/displayvideo-gen.go
index 395c7fe..c84ce8d 100644
--- a/displayvideo/v1/displayvideo-gen.go
+++ b/displayvideo/v1/displayvideo-gen.go
@@ -12548,7 +12548,7 @@
 
 func (c *AdvertisersAuditCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12695,7 +12695,7 @@
 
 func (c *AdvertisersBulkEditAdvertiserAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12891,7 +12891,7 @@
 
 func (c *AdvertisersBulkListAdvertiserAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13071,7 +13071,7 @@
 
 func (c *AdvertisersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13198,7 +13198,7 @@
 
 func (c *AdvertisersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13340,7 +13340,7 @@
 
 func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13534,7 +13534,7 @@
 
 func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13713,7 +13713,7 @@
 
 func (c *AdvertisersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13902,7 +13902,7 @@
 
 func (c *AdvertisersAssetsUploadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14084,7 +14084,7 @@
 
 func (c *AdvertisersCampaignsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14228,7 +14228,7 @@
 
 func (c *AdvertisersCampaignsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14383,7 +14383,7 @@
 
 func (c *AdvertisersCampaignsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14585,7 +14585,7 @@
 
 func (c *AdvertisersCampaignsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14774,7 +14774,7 @@
 
 func (c *AdvertisersCampaignsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14940,7 +14940,7 @@
 
 func (c *AdvertisersChannelsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15105,7 +15105,7 @@
 
 func (c *AdvertisersChannelsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15315,7 +15315,7 @@
 
 func (c *AdvertisersChannelsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15515,7 +15515,7 @@
 
 func (c *AdvertisersChannelsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15681,7 +15681,7 @@
 
 func (c *AdvertisersChannelsSitesBulkEditCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15840,7 +15840,7 @@
 
 func (c *AdvertisersChannelsSitesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16005,7 +16005,7 @@
 
 func (c *AdvertisersChannelsSitesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16220,7 +16220,7 @@
 
 func (c *AdvertisersChannelsSitesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16415,7 +16415,7 @@
 
 func (c *AdvertisersCreativesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16559,7 +16559,7 @@
 
 func (c *AdvertisersCreativesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16713,7 +16713,7 @@
 
 func (c *AdvertisersCreativesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16942,7 +16942,7 @@
 
 func (c *AdvertisersCreativesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17130,7 +17130,7 @@
 
 func (c *AdvertisersCreativesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17288,7 +17288,7 @@
 
 func (c *AdvertisersInsertionOrdersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17432,7 +17432,7 @@
 
 func (c *AdvertisersInsertionOrdersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17587,7 +17587,7 @@
 
 func (c *AdvertisersInsertionOrdersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17791,7 +17791,7 @@
 
 func (c *AdvertisersInsertionOrdersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17979,7 +17979,7 @@
 
 func (c *AdvertisersInsertionOrdersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18143,7 +18143,7 @@
 
 func (c *AdvertisersLineItemsBulkEditLineItemAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18355,7 +18355,7 @@
 
 func (c *AdvertisersLineItemsBulkListLineItemAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18546,7 +18546,7 @@
 
 func (c *AdvertisersLineItemsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18690,7 +18690,7 @@
 
 func (c *AdvertisersLineItemsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18844,7 +18844,7 @@
 
 func (c *AdvertisersLineItemsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19056,7 +19056,7 @@
 
 func (c *AdvertisersLineItemsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19244,7 +19244,7 @@
 
 func (c *AdvertisersLineItemsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19406,7 +19406,7 @@
 
 func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19650,7 +19650,7 @@
 
 func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19906,7 +19906,7 @@
 
 func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20209,7 +20209,7 @@
 
 func (c *AdvertisersLineItemsTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20489,7 +20489,7 @@
 
 func (c *AdvertisersLocationListsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20641,7 +20641,7 @@
 
 func (c *AdvertisersLocationListsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20838,7 +20838,7 @@
 
 func (c *AdvertisersLocationListsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21026,7 +21026,7 @@
 
 func (c *AdvertisersLocationListsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21189,7 +21189,7 @@
 
 func (c *AdvertisersLocationListsAssignedLocationsBulkEditCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21342,7 +21342,7 @@
 
 func (c *AdvertisersLocationListsAssignedLocationsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21494,7 +21494,7 @@
 
 func (c *AdvertisersLocationListsAssignedLocationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21697,7 +21697,7 @@
 
 func (c *AdvertisersLocationListsAssignedLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21884,7 +21884,7 @@
 
 func (c *AdvertisersNegativeKeywordListsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22026,7 +22026,7 @@
 
 func (c *AdvertisersNegativeKeywordListsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22181,7 +22181,7 @@
 
 func (c *AdvertisersNegativeKeywordListsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22354,7 +22354,7 @@
 
 func (c *AdvertisersNegativeKeywordListsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22532,7 +22532,7 @@
 
 func (c *AdvertisersNegativeKeywordListsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22696,7 +22696,7 @@
 
 func (c *AdvertisersNegativeKeywordListsNegativeKeywordsBulkEditCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22848,7 +22848,7 @@
 
 func (c *AdvertisersNegativeKeywordListsNegativeKeywordsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23000,7 +23000,7 @@
 
 func (c *AdvertisersNegativeKeywordListsNegativeKeywordsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23203,7 +23203,7 @@
 
 func (c *AdvertisersNegativeKeywordListsNegativeKeywordsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23394,7 +23394,7 @@
 
 func (c *AdvertisersTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23626,7 +23626,7 @@
 
 func (c *AdvertisersTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23870,7 +23870,7 @@
 
 func (c *AdvertisersTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24158,7 +24158,7 @@
 
 func (c *AdvertisersTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24450,7 +24450,7 @@
 
 func (c *CombinedAudiencesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24662,7 +24662,7 @@
 
 func (c *CombinedAudiencesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24862,7 +24862,7 @@
 
 func (c *CustomBiddingAlgorithmsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25085,7 +25085,7 @@
 
 func (c *CustomBiddingAlgorithmsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25279,7 +25279,7 @@
 
 func (c *CustomListsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25478,7 +25478,7 @@
 
 func (c *CustomListsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25674,7 +25674,7 @@
 
 func (c *FirstAndThirdPartyAudiencesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25889,7 +25889,7 @@
 
 func (c *FirstAndThirdPartyAudiencesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26083,7 +26083,7 @@
 
 func (c *FloodlightGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26240,7 +26240,7 @@
 
 func (c *FloodlightGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26415,7 +26415,7 @@
 
 func (c *GoogleAudiencesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26627,7 +26627,7 @@
 
 func (c *GoogleAudiencesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26820,7 +26820,7 @@
 
 func (c *InventorySourceGroupsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -26974,7 +26974,7 @@
 
 func (c *InventorySourceGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27145,7 +27145,7 @@
 
 func (c *InventorySourceGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27357,7 +27357,7 @@
 
 func (c *InventorySourceGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27559,7 +27559,7 @@
 
 func (c *InventorySourceGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27723,7 +27723,7 @@
 
 func (c *InventorySourceGroupsAssignedInventorySourcesBulkEditCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -27884,7 +27884,7 @@
 
 func (c *InventorySourceGroupsAssignedInventorySourcesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28055,7 +28055,7 @@
 
 func (c *InventorySourceGroupsAssignedInventorySourcesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28279,7 +28279,7 @@
 
 func (c *InventorySourceGroupsAssignedInventorySourcesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28487,7 +28487,7 @@
 
 func (c *InventorySourcesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28699,7 +28699,7 @@
 
 func (c *InventorySourcesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -28887,7 +28887,7 @@
 
 func (c *MediaDownloadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29045,7 +29045,7 @@
 
 func (c *PartnersBulkEditPartnerAssignedTargetingOptionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29197,7 +29197,7 @@
 
 func (c *PartnersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29382,7 +29382,7 @@
 
 func (c *PartnersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29555,7 +29555,7 @@
 
 func (c *PartnersChannelsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29720,7 +29720,7 @@
 
 func (c *PartnersChannelsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -29930,7 +29930,7 @@
 
 func (c *PartnersChannelsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30130,7 +30130,7 @@
 
 func (c *PartnersChannelsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30296,7 +30296,7 @@
 
 func (c *PartnersChannelsSitesBulkEditCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30455,7 +30455,7 @@
 
 func (c *PartnersChannelsSitesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30620,7 +30620,7 @@
 
 func (c *PartnersChannelsSitesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -30835,7 +30835,7 @@
 
 func (c *PartnersChannelsSitesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -31032,7 +31032,7 @@
 
 func (c *PartnersTargetingTypesAssignedTargetingOptionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -31264,7 +31264,7 @@
 
 func (c *PartnersTargetingTypesAssignedTargetingOptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -31508,7 +31508,7 @@
 
 func (c *PartnersTargetingTypesAssignedTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -31796,7 +31796,7 @@
 
 func (c *PartnersTargetingTypesAssignedTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -32071,7 +32071,7 @@
 
 func (c *SdfdownloadtasksCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -32209,7 +32209,7 @@
 
 func (c *SdfdownloadtasksOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -32363,7 +32363,7 @@
 
 func (c *TargetingTypesTargetingOptionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -32650,7 +32650,7 @@
 
 func (c *TargetingTypesTargetingOptionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -32917,7 +32917,7 @@
 
 func (c *UsersBulkEditAssignedUserRolesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -33058,7 +33058,7 @@
 
 func (c *UsersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -33183,7 +33183,7 @@
 
 func (c *UsersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -33325,7 +33325,7 @@
 
 func (c *UsersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -33527,7 +33527,7 @@
 
 func (c *UsersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -33700,7 +33700,7 @@
 
 func (c *UsersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/dlp/v2/dlp-gen.go b/dlp/v2/dlp-gen.go
index 7b46316..1b66a20 100644
--- a/dlp/v2/dlp-gen.go
+++ b/dlp/v2/dlp-gen.go
@@ -8157,7 +8157,7 @@
 
 func (c *InfoTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8336,7 +8336,7 @@
 
 func (c *LocationsInfoTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8490,7 +8490,7 @@
 
 func (c *OrganizationsDeidentifyTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8631,7 +8631,7 @@
 
 func (c *OrganizationsDeidentifyTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8774,7 +8774,7 @@
 
 func (c *OrganizationsDeidentifyTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8958,7 +8958,7 @@
 
 func (c *OrganizationsDeidentifyTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9139,7 +9139,7 @@
 
 func (c *OrganizationsDeidentifyTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9282,7 +9282,7 @@
 
 func (c *OrganizationsInspectTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9422,7 +9422,7 @@
 
 func (c *OrganizationsInspectTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9564,7 +9564,7 @@
 
 func (c *OrganizationsInspectTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9747,7 +9747,7 @@
 
 func (c *OrganizationsInspectTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9927,7 +9927,7 @@
 
 func (c *OrganizationsInspectTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10071,7 +10071,7 @@
 
 func (c *OrganizationsLocationsDeidentifyTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10212,7 +10212,7 @@
 
 func (c *OrganizationsLocationsDeidentifyTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10355,7 +10355,7 @@
 
 func (c *OrganizationsLocationsDeidentifyTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10539,7 +10539,7 @@
 
 func (c *OrganizationsLocationsDeidentifyTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10720,7 +10720,7 @@
 
 func (c *OrganizationsLocationsDeidentifyTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10863,7 +10863,7 @@
 
 func (c *OrganizationsLocationsInspectTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11003,7 +11003,7 @@
 
 func (c *OrganizationsLocationsInspectTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11145,7 +11145,7 @@
 
 func (c *OrganizationsLocationsInspectTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11328,7 +11328,7 @@
 
 func (c *OrganizationsLocationsInspectTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11508,7 +11508,7 @@
 
 func (c *OrganizationsLocationsInspectTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11652,7 +11652,7 @@
 
 func (c *OrganizationsLocationsStoredInfoTypesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11792,7 +11792,7 @@
 
 func (c *OrganizationsLocationsStoredInfoTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11935,7 +11935,7 @@
 
 func (c *OrganizationsLocationsStoredInfoTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12118,7 +12118,7 @@
 
 func (c *OrganizationsLocationsStoredInfoTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12301,7 +12301,7 @@
 
 func (c *OrganizationsLocationsStoredInfoTypesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12444,7 +12444,7 @@
 
 func (c *OrganizationsStoredInfoTypesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12584,7 +12584,7 @@
 
 func (c *OrganizationsStoredInfoTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12727,7 +12727,7 @@
 
 func (c *OrganizationsStoredInfoTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12910,7 +12910,7 @@
 
 func (c *OrganizationsStoredInfoTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13093,7 +13093,7 @@
 
 func (c *OrganizationsStoredInfoTypesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13239,7 +13239,7 @@
 
 func (c *ProjectsContentDeidentifyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13388,7 +13388,7 @@
 
 func (c *ProjectsContentInspectCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13532,7 +13532,7 @@
 
 func (c *ProjectsContentReidentifyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13677,7 +13677,7 @@
 
 func (c *ProjectsDeidentifyTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13818,7 +13818,7 @@
 
 func (c *ProjectsDeidentifyTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13961,7 +13961,7 @@
 
 func (c *ProjectsDeidentifyTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14145,7 +14145,7 @@
 
 func (c *ProjectsDeidentifyTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14326,7 +14326,7 @@
 
 func (c *ProjectsDeidentifyTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14472,7 +14472,7 @@
 
 func (c *ProjectsDlpJobsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14618,7 +14618,7 @@
 
 func (c *ProjectsDlpJobsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14761,7 +14761,7 @@
 
 func (c *ProjectsDlpJobsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14905,7 +14905,7 @@
 
 func (c *ProjectsDlpJobsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15122,7 +15122,7 @@
 
 func (c *ProjectsDlpJobsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15326,7 +15326,7 @@
 
 func (c *ProjectsImageRedactCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15469,7 +15469,7 @@
 
 func (c *ProjectsInspectTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15609,7 +15609,7 @@
 
 func (c *ProjectsInspectTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15751,7 +15751,7 @@
 
 func (c *ProjectsInspectTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15934,7 +15934,7 @@
 
 func (c *ProjectsInspectTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16114,7 +16114,7 @@
 
 func (c *ProjectsInspectTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16256,7 +16256,7 @@
 
 func (c *ProjectsJobTriggersActivateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16399,7 +16399,7 @@
 
 func (c *ProjectsJobTriggersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16539,7 +16539,7 @@
 
 func (c *ProjectsJobTriggersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16682,7 +16682,7 @@
 
 func (c *ProjectsJobTriggersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16887,7 +16887,7 @@
 
 func (c *ProjectsJobTriggersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17073,7 +17073,7 @@
 
 func (c *ProjectsJobTriggersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17219,7 +17219,7 @@
 
 func (c *ProjectsLocationsContentDeidentifyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17368,7 +17368,7 @@
 
 func (c *ProjectsLocationsContentInspectCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17512,7 +17512,7 @@
 
 func (c *ProjectsLocationsContentReidentifyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17657,7 +17657,7 @@
 
 func (c *ProjectsLocationsDeidentifyTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17798,7 +17798,7 @@
 
 func (c *ProjectsLocationsDeidentifyTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17941,7 +17941,7 @@
 
 func (c *ProjectsLocationsDeidentifyTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18125,7 +18125,7 @@
 
 func (c *ProjectsLocationsDeidentifyTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18306,7 +18306,7 @@
 
 func (c *ProjectsLocationsDeidentifyTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18452,7 +18452,7 @@
 
 func (c *ProjectsLocationsDlpJobsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18598,7 +18598,7 @@
 
 func (c *ProjectsLocationsDlpJobsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18741,7 +18741,7 @@
 
 func (c *ProjectsLocationsDlpJobsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18877,7 +18877,7 @@
 
 func (c *ProjectsLocationsDlpJobsFinishCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19029,7 +19029,7 @@
 
 func (c *ProjectsLocationsDlpJobsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19168,7 +19168,7 @@
 
 func (c *ProjectsLocationsDlpJobsHybridInspectCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19391,7 +19391,7 @@
 
 func (c *ProjectsLocationsDlpJobsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19595,7 +19595,7 @@
 
 func (c *ProjectsLocationsImageRedactCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19738,7 +19738,7 @@
 
 func (c *ProjectsLocationsInspectTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19878,7 +19878,7 @@
 
 func (c *ProjectsLocationsInspectTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20020,7 +20020,7 @@
 
 func (c *ProjectsLocationsInspectTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20203,7 +20203,7 @@
 
 func (c *ProjectsLocationsInspectTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20383,7 +20383,7 @@
 
 func (c *ProjectsLocationsInspectTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20525,7 +20525,7 @@
 
 func (c *ProjectsLocationsJobTriggersActivateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20668,7 +20668,7 @@
 
 func (c *ProjectsLocationsJobTriggersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20808,7 +20808,7 @@
 
 func (c *ProjectsLocationsJobTriggersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20951,7 +20951,7 @@
 
 func (c *ProjectsLocationsJobTriggersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21091,7 +21091,7 @@
 
 func (c *ProjectsLocationsJobTriggersHybridInspectCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21302,7 +21302,7 @@
 
 func (c *ProjectsLocationsJobTriggersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21488,7 +21488,7 @@
 
 func (c *ProjectsLocationsJobTriggersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21631,7 +21631,7 @@
 
 func (c *ProjectsLocationsStoredInfoTypesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21771,7 +21771,7 @@
 
 func (c *ProjectsLocationsStoredInfoTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21914,7 +21914,7 @@
 
 func (c *ProjectsLocationsStoredInfoTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22097,7 +22097,7 @@
 
 func (c *ProjectsLocationsStoredInfoTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22280,7 +22280,7 @@
 
 func (c *ProjectsLocationsStoredInfoTypesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22423,7 +22423,7 @@
 
 func (c *ProjectsStoredInfoTypesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22563,7 +22563,7 @@
 
 func (c *ProjectsStoredInfoTypesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22706,7 +22706,7 @@
 
 func (c *ProjectsStoredInfoTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22889,7 +22889,7 @@
 
 func (c *ProjectsStoredInfoTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23072,7 +23072,7 @@
 
 func (c *ProjectsStoredInfoTypesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200810")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/dns/v1/dns-gen.go b/dns/v1/dns-gen.go
index 634d3dd..dc2eebe 100644
--- a/dns/v1/dns-gen.go
+++ b/dns/v1/dns-gen.go
@@ -1777,7 +1777,7 @@
 
 func (c *ChangesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1952,7 +1952,7 @@
 
 func (c *ChangesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2154,7 +2154,7 @@
 
 func (c *ChangesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2379,7 +2379,7 @@
 
 func (c *DnsKeysGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2578,7 +2578,7 @@
 
 func (c *DnsKeysListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2782,7 +2782,7 @@
 
 func (c *ManagedZoneOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2978,7 +2978,7 @@
 
 func (c *ManagedZoneOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3179,7 +3179,7 @@
 
 func (c *ManagedZonesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3333,7 +3333,7 @@
 
 func (c *ManagedZonesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3470,7 +3470,7 @@
 
 func (c *ManagedZonesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3653,7 +3653,7 @@
 
 func (c *ManagedZonesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3838,7 +3838,7 @@
 
 func (c *ManagedZonesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4002,7 +4002,7 @@
 
 func (c *ManagedZonesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4164,7 +4164,7 @@
 
 func (c *PoliciesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4319,7 +4319,7 @@
 
 func (c *PoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4456,7 +4456,7 @@
 
 func (c *PoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4631,7 +4631,7 @@
 
 func (c *PoliciesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4811,7 +4811,7 @@
 
 func (c *PoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4975,7 +4975,7 @@
 
 func (c *PoliciesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5146,7 +5146,7 @@
 
 func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5331,7 +5331,7 @@
 
 func (c *ResourceRecordSetsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/dns/v1beta2/dns-gen.go b/dns/v1beta2/dns-gen.go
index 26801f6..bac5c18 100644
--- a/dns/v1beta2/dns-gen.go
+++ b/dns/v1beta2/dns-gen.go
@@ -1850,7 +1850,7 @@
 
 func (c *ChangesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2025,7 +2025,7 @@
 
 func (c *ChangesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2227,7 +2227,7 @@
 
 func (c *ChangesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2452,7 +2452,7 @@
 
 func (c *DnsKeysGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2651,7 +2651,7 @@
 
 func (c *DnsKeysListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2855,7 +2855,7 @@
 
 func (c *ManagedZoneOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3051,7 +3051,7 @@
 
 func (c *ManagedZoneOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3252,7 +3252,7 @@
 
 func (c *ManagedZonesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3406,7 +3406,7 @@
 
 func (c *ManagedZonesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3543,7 +3543,7 @@
 
 func (c *ManagedZonesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3726,7 +3726,7 @@
 
 func (c *ManagedZonesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3911,7 +3911,7 @@
 
 func (c *ManagedZonesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4075,7 +4075,7 @@
 
 func (c *ManagedZonesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4237,7 +4237,7 @@
 
 func (c *PoliciesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4392,7 +4392,7 @@
 
 func (c *PoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4529,7 +4529,7 @@
 
 func (c *PoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4704,7 +4704,7 @@
 
 func (c *PoliciesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4884,7 +4884,7 @@
 
 func (c *PoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5048,7 +5048,7 @@
 
 func (c *PoliciesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5219,7 +5219,7 @@
 
 func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5404,7 +5404,7 @@
 
 func (c *ResourceRecordSetsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/docs/v1/docs-gen.go b/docs/v1/docs-gen.go
index 2f88424..4ce41ac 100644
--- a/docs/v1/docs-gen.go
+++ b/docs/v1/docs-gen.go
@@ -7027,7 +7027,7 @@
 
 func (c *DocumentsBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7168,7 +7168,7 @@
 
 func (c *DocumentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7335,7 +7335,7 @@
 
 func (c *DocumentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/documentai/v1beta2/documentai-gen.go b/documentai/v1beta2/documentai-gen.go
index 4f143d0..0590968 100644
--- a/documentai/v1beta2/documentai-gen.go
+++ b/documentai/v1beta2/documentai-gen.go
@@ -3888,7 +3888,7 @@
 
 func (c *ProjectsDocumentsBatchProcessCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4028,7 +4028,7 @@
 
 func (c *ProjectsDocumentsProcessCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4171,7 +4171,7 @@
 
 func (c *ProjectsLocationsDocumentsBatchProcessCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4311,7 +4311,7 @@
 
 func (c *ProjectsLocationsDocumentsProcessCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4465,7 +4465,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4613,7 +4613,7 @@
 
 func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/domainsrdap/v1/domainsrdap-gen.go b/domainsrdap/v1/domainsrdap-gen.go
index ac533e1..4ac80fb 100644
--- a/domainsrdap/v1/domainsrdap-gen.go
+++ b/domainsrdap/v1/domainsrdap-gen.go
@@ -449,7 +449,7 @@
 
 func (c *AutnumGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -588,7 +588,7 @@
 
 func (c *DomainGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -730,7 +730,7 @@
 
 func (c *EntityGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -872,7 +872,7 @@
 
 func (c *IpGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1019,7 +1019,7 @@
 
 func (c *NameserverGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1158,7 +1158,7 @@
 
 func (c *V1GetDomainsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1286,7 +1286,7 @@
 
 func (c *V1GetEntitiesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1413,7 +1413,7 @@
 
 func (c *V1GetHelpCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1541,7 +1541,7 @@
 
 func (c *V1GetIpCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1669,7 +1669,7 @@
 
 func (c *V1GetNameserversCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/doubleclickbidmanager/v1.1/doubleclickbidmanager-api.json b/doubleclickbidmanager/v1.1/doubleclickbidmanager-api.json
index 595c1ac..8e14d6a 100644
--- a/doubleclickbidmanager/v1.1/doubleclickbidmanager-api.json
+++ b/doubleclickbidmanager/v1.1/doubleclickbidmanager-api.json
@@ -8,8 +8,8 @@
       }
     }
   },
-  "basePath": "",
-  "baseUrl": "https://www.googleapis.com/",
+  "basePath": "/doubleclickbidmanager/v1.1/",
+  "baseUrl": "https://www.googleapis.com/doubleclickbidmanager/v1.1/",
   "batchPath": "batch/doubleclickbidmanager",
   "canonicalName": "DoubleClick Bid Manager",
   "description": "DoubleClick Bid Manager API allows users to manage and create campaigns and reports.",
@@ -108,13 +108,13 @@
     "lineitems": {
       "methods": {
         "downloadlineitems": {
-          "description": "Retrieves line items in CSV format. YouTube \u0026 partners line items are not\nsupported.",
-          "flatPath": "doubleclickbidmanager/v1.1/lineitems/downloadlineitems",
+          "description": "Retrieves line items in CSV format. YouTube \u0026 partners line items are not supported.",
+          "flatPath": "lineitems/downloadlineitems",
           "httpMethod": "POST",
           "id": "doubleclickbidmanager.lineitems.downloadlineitems",
           "parameterOrder": [],
           "parameters": {},
-          "path": "doubleclickbidmanager/v1.1/lineitems/downloadlineitems",
+          "path": "lineitems/downloadlineitems",
           "request": {
             "$ref": "DownloadLineItemsRequest"
           },
@@ -126,13 +126,13 @@
           ]
         },
         "uploadlineitems": {
-          "description": "Uploads line items in CSV format. YouTube \u0026 partners line items are not\nsupported.",
-          "flatPath": "doubleclickbidmanager/v1.1/lineitems/uploadlineitems",
+          "description": "Uploads line items in CSV format. YouTube \u0026 partners line items are not supported.",
+          "flatPath": "lineitems/uploadlineitems",
           "httpMethod": "POST",
           "id": "doubleclickbidmanager.lineitems.uploadlineitems",
           "parameterOrder": [],
           "parameters": {},
-          "path": "doubleclickbidmanager/v1.1/lineitems/uploadlineitems",
+          "path": "lineitems/uploadlineitems",
           "request": {
             "$ref": "UploadLineItemsRequest"
           },
@@ -149,19 +149,19 @@
       "methods": {
         "createquery": {
           "description": "Creates a query.",
-          "flatPath": "doubleclickbidmanager/v1.1/query",
+          "flatPath": "query",
           "httpMethod": "POST",
           "id": "doubleclickbidmanager.queries.createquery",
           "parameterOrder": [],
           "parameters": {
             "asynchronous": {
               "default": "false",
-              "description": "If true, tries to run the query asynchronously. Only applicable when\nthe frequency is \u003ccode\u003eONE_TIME\u003c/code\u003e.",
+              "description": "If true, tries to run the query asynchronously. Only applicable when the frequency is ONE_TIME.",
               "location": "query",
               "type": "boolean"
             }
           },
-          "path": "doubleclickbidmanager/v1.1/query",
+          "path": "query",
           "request": {
             "$ref": "Query"
           },
@@ -174,7 +174,7 @@
         },
         "deletequery": {
           "description": "Deletes a stored query as well as the associated stored reports.",
-          "flatPath": "doubleclickbidmanager/v1.1/query/{queryId}",
+          "flatPath": "query/{queryId}",
           "httpMethod": "DELETE",
           "id": "doubleclickbidmanager.queries.deletequery",
           "parameterOrder": [
@@ -189,14 +189,14 @@
               "type": "string"
             }
           },
-          "path": "doubleclickbidmanager/v1.1/query/{queryId}",
+          "path": "query/{queryId}",
           "scopes": [
             "https://www.googleapis.com/auth/doubleclickbidmanager"
           ]
         },
         "getquery": {
           "description": "Retrieves a stored query.",
-          "flatPath": "doubleclickbidmanager/v1.1/query/{queryId}",
+          "flatPath": "query/{queryId}",
           "httpMethod": "GET",
           "id": "doubleclickbidmanager.queries.getquery",
           "parameterOrder": [
@@ -211,7 +211,7 @@
               "type": "string"
             }
           },
-          "path": "doubleclickbidmanager/v1.1/query/{queryId}",
+          "path": "query/{queryId}",
           "response": {
             "$ref": "Query"
           },
@@ -221,13 +221,13 @@
         },
         "listqueries": {
           "description": "Retrieves stored queries.",
-          "flatPath": "doubleclickbidmanager/v1.1/queries",
+          "flatPath": "queries",
           "httpMethod": "GET",
           "id": "doubleclickbidmanager.queries.listqueries",
           "parameterOrder": [],
           "parameters": {
             "pageSize": {
-              "description": "Maximum number of results per page. Must be between \u003ccode\u003e1\u003c/code\u003e and\n\u003ccode\u003e100\u003c/code\u003e. Defaults to \u003ccode\u003e100\u003c/code\u003e if unspecified.",
+              "description": "Maximum number of results per page. Must be between 1 and 100. Defaults to 100 if unspecified.",
               "format": "int32",
               "location": "query",
               "type": "integer"
@@ -238,7 +238,7 @@
               "type": "string"
             }
           },
-          "path": "doubleclickbidmanager/v1.1/queries",
+          "path": "queries",
           "response": {
             "$ref": "ListQueriesResponse"
           },
@@ -248,7 +248,7 @@
         },
         "runquery": {
           "description": "Runs a stored query to generate a report.",
-          "flatPath": "doubleclickbidmanager/v1.1/query/{queryId}",
+          "flatPath": "query/{queryId}",
           "httpMethod": "POST",
           "id": "doubleclickbidmanager.queries.runquery",
           "parameterOrder": [
@@ -269,7 +269,7 @@
               "type": "string"
             }
           },
-          "path": "doubleclickbidmanager/v1.1/query/{queryId}",
+          "path": "query/{queryId}",
           "request": {
             "$ref": "RunQueryRequest"
           },
@@ -283,7 +283,7 @@
       "methods": {
         "listreports": {
           "description": "Retrieves stored reports.",
-          "flatPath": "doubleclickbidmanager/v1.1/queries/{queryId}/reports",
+          "flatPath": "queries/{queryId}/reports",
           "httpMethod": "GET",
           "id": "doubleclickbidmanager.reports.listreports",
           "parameterOrder": [
@@ -291,7 +291,7 @@
           ],
           "parameters": {
             "pageSize": {
-              "description": "Maximum number of results per page. Must be between \u003ccode\u003e1\u003c/code\u003e and\n\u003ccode\u003e100\u003c/code\u003e. Defaults to \u003ccode\u003e100\u003c/code\u003e if unspecified.",
+              "description": "Maximum number of results per page. Must be between 1 and 100. Defaults to 100 if unspecified.",
               "format": "int32",
               "location": "query",
               "type": "integer"
@@ -309,7 +309,7 @@
               "type": "string"
             }
           },
-          "path": "doubleclickbidmanager/v1.1/queries/{queryId}/reports",
+          "path": "queries/{queryId}/reports",
           "response": {
             "$ref": "ListReportsResponse"
           },
@@ -323,12 +323,12 @@
       "methods": {
         "download": {
           "description": "Retrieves entities in SDF format.",
-          "flatPath": "doubleclickbidmanager/v1.1/sdf/download",
+          "flatPath": "sdf/download",
           "httpMethod": "POST",
           "id": "doubleclickbidmanager.sdf.download",
           "parameterOrder": [],
           "parameters": {},
-          "path": "doubleclickbidmanager/v1.1/sdf/download",
+          "path": "sdf/download",
           "request": {
             "$ref": "DownloadRequest"
           },
@@ -342,15 +342,15 @@
       }
     }
   },
-  "revision": "20200731",
+  "revision": "20200811",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "ChannelGrouping": {
-      "description": "A channel grouping defines a set of rules that can be used to categorize\nevents in a path report.",
+      "description": "A channel grouping defines a set of rules that can be used to categorize events in a path report.",
       "id": "ChannelGrouping",
       "properties": {
         "fallbackName": {
-          "description": "The name to apply to an event that does not match any of the rules in the\nchannel grouping.",
+          "description": "The name to apply to an event that does not match any of the rules in the channel grouping.",
           "type": "string"
         },
         "name": {
@@ -358,7 +358,7 @@
           "type": "string"
         },
         "rules": {
-          "description": "Rules within Channel Grouping. There is a limit of 100 rules that can be\nset per channel grouping.",
+          "description": "Rules within Channel Grouping. There is a limit of 100 rules that can be set per channel grouping.",
           "items": {
             "$ref": "Rule"
           },
@@ -372,7 +372,7 @@
       "id": "DisjunctiveMatchStatement",
       "properties": {
         "eventFilters": {
-          "description": "Filters. There is a limit of 100 filters that can be set per disjunctive\nmatch statement.",
+          "description": "Filters. There is a limit of 100 filters that can be set per disjunctive match statement.",
           "items": {
             "$ref": "EventFilter"
           },
@@ -386,7 +386,7 @@
       "id": "DownloadLineItemsRequest",
       "properties": {
         "fileSpec": {
-          "description": "File specification (column names, types, order) in which the line items\nwill be returned. Default to \u003ccode\u003eEWF\u003c/code\u003e.",
+          "description": "File specification (column names, types, order) in which the line items will be returned. Default to EWF.",
           "enum": [
             "EWF"
           ],
@@ -396,7 +396,7 @@
           "type": "string"
         },
         "filterIds": {
-          "description": "Ids of the specified filter type used to filter line items to fetch. If\nomitted, all the line items will be returned.",
+          "description": "Ids of the specified filter type used to filter line items to fetch. If omitted, all the line items will be returned.",
           "items": {
             "format": "int64",
             "type": "string"
@@ -418,7 +418,7 @@
           "type": "string"
         },
         "format": {
-          "description": "Format in which the line items will be returned. Default to\n\u003ccode\u003eCSV\u003c/code\u003e.",
+          "description": "Format in which the line items will be returned. Default to CSV.",
           "enum": [
             "CSV"
           ],
@@ -435,18 +435,18 @@
       "id": "DownloadLineItemsResponse",
       "properties": {
         "lineItems": {
-          "description": "Retrieved line items in CSV format. For more information about file\nformats, see \u003ca\nhref=\"https://developers.google.com/bid-manager/guides/entity-write/format\"\u003e\nEntity Write File Format\u003c/a\u003e.",
+          "description": "Retrieved line items in CSV format. For more information about file formats, see Entity Write File Format.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "DownloadRequest": {
-      "description": "Request to fetch stored inventory sources, campaigns, insertion orders, line\nitems, YouTube ad groups and ads.",
+      "description": "Request to fetch stored inventory sources, campaigns, insertion orders, line items, YouTube ad groups and ads.",
       "id": "DownloadRequest",
       "properties": {
         "fileTypes": {
-          "description": "File types that will be returned. If INVENTORY_SOURCE is requested, no\nother file types may be requested. \u003cbr\u003e\u003cbr\u003eAcceptable values are: \u003cul\u003e\n\u003cli\u003e\"\u003ccode\u003eAD\u003c/code\u003e\"\u003c/li\u003e \u003cli\u003e\"\u003ccode\u003eAD_GROUP\u003c/code\u003e\"\u003c/li\u003e\n\u003cli\u003e\"\u003ccode\u003eCAMPAIGN\u003c/code\u003e\"\u003c/li\u003e \u003cli\u003e\"\u003ccode\u003eINSERTION_ORDER\u003c/code\u003e\"\u003c/li\u003e\n\u003cli\u003e\"\u003ccode\u003eINVENTORY_SOURCE\u003c/code\u003e\"\u003c/li\u003e \u003cli\u003e\"\u003ccode\u003eLINE_ITEM\u003c/code\u003e\"\u003c/li\u003e\n\u003c/ul\u003e",
+          "description": "File types that will be returned. If INVENTORY_SOURCE is requested, no other file types may be requested. Acceptable values are: - \"AD\" - \"AD_GROUP\" - \"CAMPAIGN\" - \"INSERTION_ORDER\" - \"INVENTORY_SOURCE\" - \"LINE_ITEM\" ",
           "enumDescriptions": [
             "",
             "",
@@ -464,12 +464,20 @@
               "CAMPAIGN",
               "INVENTORY_SOURCE"
             ],
+            "enumDescriptions": [
+              "",
+              "",
+              "",
+              "",
+              "",
+              ""
+            ],
             "type": "string"
           },
           "type": "array"
         },
         "filterIds": {
-          "description": "The IDs of the specified filter type. This is used to filter entities to\nfetch. At least one ID must be specified.",
+          "description": "The IDs of the specified filter type. This is used to filter entities to fetch. At least one ID must be specified.",
           "items": {
             "format": "int64",
             "type": "string"
@@ -477,7 +485,7 @@
           "type": "array"
         },
         "filterType": {
-          "description": "Filter type used to filter entities to fetch. PARTNER_ID and\nINVENTORY_SOURCE_ID may only be used when downloading inventory sources.",
+          "description": "Filter type used to filter entities to fetch. PARTNER_ID and INVENTORY_SOURCE_ID may only be used when downloading inventory sources.",
           "enum": [
             "ADVERTISER_ID",
             "INSERTION_ORDER_ID",
@@ -497,7 +505,7 @@
           "type": "string"
         },
         "version": {
-          "description": "SDF Version (column names, types, order) in which the entities will be\nreturned. Default to \u003ccode\u003e5\u003c/code\u003e.",
+          "description": "SDF Version (column names, types, order) in which the entities will be returned. Default to 5.",
           "type": "string"
         }
       },
@@ -534,7 +542,7 @@
       "type": "object"
     },
     "EventFilter": {
-      "description": "Defines the type of filter to be applied to the path, a DV360 event dimension\nfilter.",
+      "description": "Defines the type of filter to be applied to the path, a DV360 event dimension filter.",
       "id": "EventFilter",
       "properties": {
         "dimensionFilter": {
@@ -1092,7 +1100,7 @@
       "id": "ListQueriesResponse",
       "properties": {
         "kind": {
-          "description": "Identifies what kind of resource this is. Value: the fixed string\n\u003ccode\u003e\"doubleclickbidmanager#listQueriesResponse\"\u003c/code\u003e.",
+          "description": "Identifies what kind of resource this is. Value: the fixed string \"doubleclickbidmanager#listQueriesResponse\".",
           "type": "string"
         },
         "nextPageToken": {
@@ -1114,7 +1122,7 @@
       "id": "ListReportsResponse",
       "properties": {
         "kind": {
-          "description": "Identifies what kind of resource this is. Value: the fixed string\n\u003ccode\u003e\"doubleclickbidmanager#listReportsResponse\"\u003c/code\u003e.",
+          "description": "Identifies what kind of resource this is. Value: the fixed string \"doubleclickbidmanager#listReportsResponse\".",
           "type": "string"
         },
         "nextPageToken": {
@@ -1136,7 +1144,7 @@
       "id": "Options",
       "properties": {
         "includeOnlyTargetedUserLists": {
-          "description": "Set to true and filter your report by `FILTER_INSERTION_ORDER` or\n`FILTER_LINE_ITEM` to include data for audience lists specifically targeted\nby those items.",
+          "description": "Set to true and filter your report by `FILTER_INSERTION_ORDER` or `FILTER_LINE_ITEM` to include data for audience lists specifically targeted by those items.",
           "type": "boolean"
         },
         "pathQueryOptions": {
@@ -1688,6 +1696,270 @@
               "FILTER_EVENT_TYPE",
               "FILTER_CHANNEL_GROUPING"
             ],
+            "enumDescriptions": [
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              ""
+            ],
             "type": "string"
           },
           "type": "array"
@@ -2579,6 +2851,446 @@
               "METRIC_PERCENT_INVALID_IMPRESSIONS_PREBID",
               "METRIC_PROVISIONAL_IMPRESSIONS"
             ],
+            "enumDescriptions": [
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              ""
+            ],
             "type": "string"
           },
           "type": "array"
@@ -2667,7 +3379,7 @@
       "type": "object"
     },
     "PathFilter": {
-      "description": "Path filters specify which paths to include in a report. A path is the result\nof combining DV360 events based on User ID to create a workflow of\nusers' actions.\u003cbr\u003e\u003cbr\u003e When a path filter is set, the resulting report will only include paths that match the specified event at the specified position. All other paths will be excluded.",
+      "description": "Path filters specify which paths to include in a report. A path is the result of combining DV360 events based on User ID to create a workflow of users' actions. When a path filter is set, the resulting report will only include paths that match the specified event at the specified position. All other paths will be excluded.",
       "id": "PathFilter",
       "properties": {
         "eventFilters": {
@@ -2678,7 +3390,7 @@
           "type": "array"
         },
         "pathMatchPosition": {
-          "description": "Indicates the position of the path the filter should match to (first, last,\nor any event in path).",
+          "description": "Indicates the position of the path the filter should match to (first, last, or any event in path).",
           "enum": [
             "ANY",
             "FIRST",
@@ -2703,7 +3415,7 @@
           "description": "Custom Channel Groupings."
         },
         "pathFilters": {
-          "description": "Path Filters. There is a limit of 100 path filters that can be set per\nreport.",
+          "description": "Path Filters. There is a limit of 100 path filters that can be set per report.",
           "items": {
             "$ref": "PathFilter"
           },
@@ -3281,7 +3993,7 @@
       "id": "Query",
       "properties": {
         "kind": {
-          "description": "Identifies what kind of resource this is. Value: the fixed string\n\u003ccode\u003e\"doubleclickbidmanager#query\"\u003c/code\u003e.",
+          "description": "Identifies what kind of resource this is. Value: the fixed string \"doubleclickbidmanager#query\".",
           "type": "string"
         },
         "metadata": {
@@ -3298,12 +4010,12 @@
           "type": "string"
         },
         "reportDataEndTimeMs": {
-          "description": "The ending time for the data that is shown in the report. Note,\n\u003ccode\u003ereportDataEndTimeMs\u003c/code\u003e is required if\n\u003ccode\u003emetadata.dataRange\u003c/code\u003e is \u003ccode\u003eCUSTOM_DATES\u003c/code\u003e and ignored\notherwise.",
+          "description": "The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.",
           "format": "int64",
           "type": "string"
         },
         "reportDataStartTimeMs": {
-          "description": "The starting time for the data that is shown in the report. Note,\n\u003ccode\u003ereportDataStartTimeMs\u003c/code\u003e is required if\n\u003ccode\u003emetadata.dataRange\u003c/code\u003e is \u003ccode\u003eCUSTOM_DATES\u003c/code\u003e and ignored\notherwise.",
+          "description": "The starting time for the data that is shown in the report. Note, reportDataStartTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.",
           "format": "int64",
           "type": "string"
         },
@@ -3312,7 +4024,7 @@
           "description": "Information on how often and when to run a query."
         },
         "timezoneCode": {
-          "description": "Canonical timezone code for report data time. Defaults to\n\u003ccode\u003eAmerica/New_York\u003c/code\u003e.",
+          "description": "Canonical timezone code for report data time. Defaults to America/New_York.",
           "type": "string"
         }
       },
@@ -3385,7 +4097,7 @@
           "type": "string"
         },
         "googleCloudStoragePathForLatestReport": {
-          "description": "The path to the location in Google Cloud Storage where the latest report is\nstored.",
+          "description": "The path to the location in Google Cloud Storage where the latest report is stored.",
           "type": "string"
         },
         "googleDrivePathForLatestReport": {
@@ -3398,7 +4110,7 @@
           "type": "string"
         },
         "locale": {
-          "description": "Locale of the generated reports. Valid values are cs      CZECH de\nGERMAN en      ENGLISH es      SPANISH fr      FRENCH it      ITALIAN ja\nJAPANESE ko      KOREAN pl      POLISH pt-BR   BRAZILIAN_PORTUGUESE ru\nRUSSIAN tr      TURKISH uk      UKRAINIAN zh-CN   CHINA_CHINESE zh-TW\nTAIWAN_CHINESE \u003cbr\u003e\u003cbr\u003e An locale string not in the list above will\ngenerate reports in English.",
+          "description": "Locale of the generated reports. Valid values are cs CZECH de GERMAN en ENGLISH es SPANISH fr FRENCH it ITALIAN ja JAPANESE ko KOREAN pl POLISH pt-BR BRAZILIAN_PORTUGUESE ru RUSSIAN tr TURKISH uk UKRAINIAN zh-CN CHINA_CHINESE zh-TW TAIWAN_CHINESE An locale string not in the list above will generate reports in English.",
           "type": "string"
         },
         "reportCount": {
@@ -3411,11 +4123,11 @@
           "type": "boolean"
         },
         "sendNotification": {
-          "description": "Whether to send an email notification when a report is ready. Default to\nfalse.",
+          "description": "Whether to send an email notification when a report is ready. Default to false.",
           "type": "boolean"
         },
         "shareEmailAddress": {
-          "description": "List of email addresses which are sent email notifications when the report\nis finished. Separate from \u003ccode\u003esendNotification\u003c/code\u003e.",
+          "description": "List of email addresses which are sent email notifications when the report is finished. Separate from sendNotification.",
           "items": {
             "type": "string"
           },
@@ -3458,12 +4170,12 @@
           "type": "string"
         },
         "nextRunMinuteOfDay": {
-          "description": "Time of day at which a new report will be generated, represented as minutes\npast midnight. Range is 0 to 1439. Only applies to scheduled reports.",
+          "description": "Time of day at which a new report will be generated, represented as minutes past midnight. Range is 0 to 1439. Only applies to scheduled reports.",
           "format": "int32",
           "type": "integer"
         },
         "nextRunTimezoneCode": {
-          "description": "Canonical timezone code for report generation time. Defaults to\n\u003ccode\u003eAmerica/New_York\u003c/code\u003e.",
+          "description": "Canonical timezone code for report generation time. Defaults to America/New_York.",
           "type": "string"
         },
         "startTimeMs": {
@@ -3566,7 +4278,7 @@
       "id": "ReportMetadata",
       "properties": {
         "googleCloudStoragePath": {
-          "description": "The path to the location in Google Cloud Storage where the report is\nstored.",
+          "description": "The path to the location in Google Cloud Storage where the report is stored.",
           "type": "string"
         },
         "reportDataEndTimeMs": {
@@ -3667,7 +4379,7 @@
       "type": "object"
     },
     "Rule": {
-      "description": "A Rule defines a name, and a boolean expression in [conjunctive normal\nform](http:\n//mathworld.wolfram.com/ConjunctiveNormalForm.html){.external} that can be\n// applied to a path event to determine if that name should be applied.",
+      "description": "A Rule defines a name, and a boolean expression in [conjunctive normal form](http: //mathworld.wolfram.com/ConjunctiveNormalForm.html){.external} that can be // applied to a path event to determine if that name should be applied.",
       "id": "Rule",
       "properties": {
         "disjunctiveMatchStatements": {
@@ -3736,17 +4448,17 @@
           "type": "string"
         },
         "reportDataEndTimeMs": {
-          "description": "The ending time for the data that is shown in the report. Note,\n\u003ccode\u003ereportDataEndTimeMs\u003c/code\u003e is required if \u003ccode\u003edataRange\u003c/code\u003e is\n\u003ccode\u003eCUSTOM_DATES\u003c/code\u003e and ignored otherwise.",
+          "description": "The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if dataRange is CUSTOM_DATES and ignored otherwise.",
           "format": "int64",
           "type": "string"
         },
         "reportDataStartTimeMs": {
-          "description": "The starting time for the data that is shown in the report. Note,\n\u003ccode\u003ereportDataStartTimeMs\u003c/code\u003e is required if \u003ccode\u003edataRange\u003c/code\u003e is\n\u003ccode\u003eCUSTOM_DATES\u003c/code\u003e and ignored otherwise.",
+          "description": "The starting time for the data that is shown in the report. Note, reportDataStartTimeMs is required if dataRange is CUSTOM_DATES and ignored otherwise.",
           "format": "int64",
           "type": "string"
         },
         "timezoneCode": {
-          "description": "Canonical timezone code for report data time. Defaults to\n\u003ccode\u003eAmerica/New_York\u003c/code\u003e.",
+          "description": "Canonical timezone code for report data time. Defaults to America/New_York.",
           "type": "string"
         }
       },
@@ -3757,11 +4469,11 @@
       "id": "UploadLineItemsRequest",
       "properties": {
         "dryRun": {
-          "description": "Set to \u003ccode\u003etrue\u003c/code\u003e to get upload status without actually persisting\nthe line items.",
+          "description": "Set to true to get upload status without actually persisting the line items.",
           "type": "boolean"
         },
         "format": {
-          "description": "Format the line items are in. Default to \u003ccode\u003eCSV\u003c/code\u003e.",
+          "description": "Format the line items are in. Default to CSV.",
           "enum": [
             "CSV"
           ],
@@ -3771,7 +4483,7 @@
           "type": "string"
         },
         "lineItems": {
-          "description": "Line items in CSV to upload. Refer to \u003ca\nhref=\"https://developers.google.com/bid-manager/guides/entity-write/format\"\u003e\nEntity Write File Format\u003c/a\u003e for more information on file format.",
+          "description": "Line items in CSV to upload. Refer to Entity Write File Format for more information on file format.",
           "type": "string"
         }
       },
@@ -3810,7 +4522,7 @@
       "type": "object"
     }
   },
-  "servicePath": "",
+  "servicePath": "doubleclickbidmanager/v1.1/",
   "title": "DoubleClick Bid Manager API",
   "version": "v1.1"
 }
\ No newline at end of file
diff --git a/doubleclickbidmanager/v1.1/doubleclickbidmanager-gen.go b/doubleclickbidmanager/v1.1/doubleclickbidmanager-gen.go
index e62cb02..89bcd50 100644
--- a/doubleclickbidmanager/v1.1/doubleclickbidmanager-gen.go
+++ b/doubleclickbidmanager/v1.1/doubleclickbidmanager-gen.go
@@ -74,8 +74,8 @@
 const apiId = "doubleclickbidmanager:v1.1"
 const apiName = "doubleclickbidmanager"
 const apiVersion = "v1.1"
-const basePath = "https://www.googleapis.com/"
-const mtlsBasePath = "https://www.mtls.googleapis.com/"
+const basePath = "https://www.googleapis.com/doubleclickbidmanager/v1.1/"
+const mtlsBasePath = "https://www.mtls.googleapis.com/doubleclickbidmanager/v1.1/"
 
 // OAuth2 scopes used by this API.
 const (
@@ -181,20 +181,17 @@
 }
 
 // ChannelGrouping: A channel grouping defines a set of rules that can
-// be used to categorize
-// events in a path report.
+// be used to categorize events in a path report.
 type ChannelGrouping struct {
 	// FallbackName: The name to apply to an event that does not match any
-	// of the rules in the
-	// channel grouping.
+	// of the rules in the channel grouping.
 	FallbackName string `json:"fallbackName,omitempty"`
 
 	// Name: Channel Grouping name.
 	Name string `json:"name,omitempty"`
 
 	// Rules: Rules within Channel Grouping. There is a limit of 100 rules
-	// that can be
-	// set per channel grouping.
+	// that can be set per channel grouping.
 	Rules []*Rule `json:"rules,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "FallbackName") to
@@ -224,8 +221,7 @@
 // contained filters.
 type DisjunctiveMatchStatement struct {
 	// EventFilters: Filters. There is a limit of 100 filters that can be
-	// set per disjunctive
-	// match statement.
+	// set per disjunctive match statement.
 	EventFilters []*EventFilter `json:"eventFilters,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "EventFilters") to
@@ -254,16 +250,14 @@
 // DownloadLineItemsRequest: Request to fetch stored line items.
 type DownloadLineItemsRequest struct {
 	// FileSpec: File specification (column names, types, order) in which
-	// the line items
-	// will be returned. Default to <code>EWF</code>.
+	// the line items will be returned. Default to EWF.
 	//
 	// Possible values:
 	//   "EWF"
 	FileSpec string `json:"fileSpec,omitempty"`
 
 	// FilterIds: Ids of the specified filter type used to filter line items
-	// to fetch. If
-	// omitted, all the line items will be returned.
+	// to fetch. If omitted, all the line items will be returned.
 	FilterIds googleapi.Int64s `json:"filterIds,omitempty"`
 
 	// FilterType: Filter type used to filter line items to fetch.
@@ -274,9 +268,8 @@
 	//   "LINE_ITEM_ID"
 	FilterType string `json:"filterType,omitempty"`
 
-	// Format: Format in which the line items will be returned. Default
-	// to
-	// <code>CSV</code>.
+	// Format: Format in which the line items will be returned. Default to
+	// CSV.
 	//
 	// Possible values:
 	//   "CSV"
@@ -308,12 +301,7 @@
 // DownloadLineItemsResponse: Download line items response.
 type DownloadLineItemsResponse struct {
 	// LineItems: Retrieved line items in CSV format. For more information
-	// about file
-	// formats, see
-	// <a
-	// href="https://developers.google.com/bid-manager/guides/entity-write
-	// /format">
-	// Entity Write File Format</a>.
+	// about file formats, see Entity Write File Format.
 	LineItems string `json:"lineItems,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -344,20 +332,12 @@
 }
 
 // DownloadRequest: Request to fetch stored inventory sources,
-// campaigns, insertion orders, line
-// items, YouTube ad groups and ads.
+// campaigns, insertion orders, line items, YouTube ad groups and ads.
 type DownloadRequest struct {
 	// FileTypes: File types that will be returned. If INVENTORY_SOURCE is
-	// requested, no
-	// other file types may be requested. <br><br>Acceptable values are:
-	// <ul>
-	// <li>"<code>AD</code>"</li>
-	// <li>"<code>AD_GROUP</code>"</li>
-	// <li>"<code>CAMPAIGN</code>"</li>
-	// <li>"<code>INSERTION_ORDER</code>"</li>
-	// <li>"<code>INVENTORY_SOURCE</c
-	// ode>"</li> <li>"<code>LINE_ITEM</code>"</li>
-	// </ul>
+	// requested, no other file types may be requested. Acceptable values
+	// are: - "AD" - "AD_GROUP" - "CAMPAIGN" - "INSERTION_ORDER" -
+	// "INVENTORY_SOURCE" - "LINE_ITEM"
 	//
 	// Possible values:
 	//   "INSERTION_ORDER"
@@ -369,13 +349,11 @@
 	FileTypes []string `json:"fileTypes,omitempty"`
 
 	// FilterIds: The IDs of the specified filter type. This is used to
-	// filter entities to
-	// fetch. At least one ID must be specified.
+	// filter entities to fetch. At least one ID must be specified.
 	FilterIds googleapi.Int64s `json:"filterIds,omitempty"`
 
 	// FilterType: Filter type used to filter entities to fetch. PARTNER_ID
-	// and
-	// INVENTORY_SOURCE_ID may only be used when downloading inventory
+	// and INVENTORY_SOURCE_ID may only be used when downloading inventory
 	// sources.
 	//
 	// Possible values:
@@ -388,8 +366,7 @@
 	FilterType string `json:"filterType,omitempty"`
 
 	// Version: SDF Version (column names, types, order) in which the
-	// entities will be
-	// returned. Default to <code>5</code>.
+	// entities will be returned. Default to 5.
 	Version string `json:"version,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "FileTypes") to
@@ -462,8 +439,7 @@
 }
 
 // EventFilter: Defines the type of filter to be applied to the path, a
-// DV360 event dimension
-// filter.
+// DV360 event dimension filter.
 type EventFilter struct {
 	// DimensionFilter: Filter on a dimension.
 	DimensionFilter *PathQueryOptionsFilter `json:"dimensionFilter,omitempty"`
@@ -790,8 +766,7 @@
 // ListQueriesResponse: List queries response.
 type ListQueriesResponse struct {
 	// Kind: Identifies what kind of resource this is. Value: the fixed
-	// string
-	// <code>"doubleclickbidmanager#listQueriesResponse"</code>.
+	// string "doubleclickbidmanager#listQueriesResponse".
 	Kind string `json:"kind,omitempty"`
 
 	// NextPageToken: Next page's pagination token if one exists.
@@ -830,8 +805,7 @@
 // ListReportsResponse: List reports response.
 type ListReportsResponse struct {
 	// Kind: Identifies what kind of resource this is. Value: the fixed
-	// string
-	// <code>"doubleclickbidmanager#listReportsResponse"</code>.
+	// string "doubleclickbidmanager#listReportsResponse".
 	Kind string `json:"kind,omitempty"`
 
 	// NextPageToken: Next page's pagination token if one exists.
@@ -870,10 +844,8 @@
 // Options: Additional query options.
 type Options struct {
 	// IncludeOnlyTargetedUserLists: Set to true and filter your report by
-	// `FILTER_INSERTION_ORDER` or
-	// `FILTER_LINE_ITEM` to include data for audience lists specifically
-	// targeted
-	// by those items.
+	// `FILTER_INSERTION_ORDER` or `FILTER_LINE_ITEM` to include data for
+	// audience lists specifically targeted by those items.
 	IncludeOnlyTargetedUserLists bool `json:"includeOnlyTargetedUserLists,omitempty"`
 
 	// PathQueryOptions: Options that contain Path Filters and Custom
@@ -1715,20 +1687,17 @@
 }
 
 // PathFilter: Path filters specify which paths to include in a report.
-// A path is the result
-// of combining DV360 events based on User ID to create a workflow
-// of
-// users' actions.<br><br> When a path filter is set, the resulting
-// report will only include paths that match the specified event at the
-// specified position. All other paths will be excluded.
+// A path is the result of combining DV360 events based on User ID to
+// create a workflow of users' actions. When a path filter is set, the
+// resulting report will only include paths that match the specified
+// event at the specified position. All other paths will be excluded.
 type PathFilter struct {
 	// EventFilters: Filter on an event to be applied to some part of the
 	// path.
 	EventFilters []*EventFilter `json:"eventFilters,omitempty"`
 
 	// PathMatchPosition: Indicates the position of the path the filter
-	// should match to (first, last,
-	// or any event in path).
+	// should match to (first, last, or any event in path).
 	//
 	// Possible values:
 	//   "ANY"
@@ -1765,8 +1734,7 @@
 	ChannelGrouping *ChannelGrouping `json:"channelGrouping,omitempty"`
 
 	// PathFilters: Path Filters. There is a limit of 100 path filters that
-	// can be set per
-	// report.
+	// can be set per report.
 	PathFilters []*PathFilter `json:"pathFilters,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ChannelGrouping") to
@@ -2101,8 +2069,7 @@
 // Query: Represents a query.
 type Query struct {
 	// Kind: Identifies what kind of resource this is. Value: the fixed
-	// string
-	// <code>"doubleclickbidmanager#query"</code>.
+	// string "doubleclickbidmanager#query".
 	Kind string `json:"kind,omitempty"`
 
 	// Metadata: Query metadata.
@@ -2115,29 +2082,20 @@
 	QueryId int64 `json:"queryId,omitempty,string"`
 
 	// ReportDataEndTimeMs: The ending time for the data that is shown in
-	// the report. Note,
-	// <code>reportDataEndTimeMs</code> is required
-	// if
-	// <code>metadata.dataRange</code> is <code>CUSTOM_DATES</code> and
-	// ignored
-	// otherwise.
+	// the report. Note, reportDataEndTimeMs is required if
+	// metadata.dataRange is CUSTOM_DATES and ignored otherwise.
 	ReportDataEndTimeMs int64 `json:"reportDataEndTimeMs,omitempty,string"`
 
 	// ReportDataStartTimeMs: The starting time for the data that is shown
-	// in the report. Note,
-	// <code>reportDataStartTimeMs</code> is required
-	// if
-	// <code>metadata.dataRange</code> is <code>CUSTOM_DATES</code> and
-	// ignored
-	// otherwise.
+	// in the report. Note, reportDataStartTimeMs is required if
+	// metadata.dataRange is CUSTOM_DATES and ignored otherwise.
 	ReportDataStartTimeMs int64 `json:"reportDataStartTimeMs,omitempty,string"`
 
 	// Schedule: Information on how often and when to run a query.
 	Schedule *QuerySchedule `json:"schedule,omitempty"`
 
 	// TimezoneCode: Canonical timezone code for report data time. Defaults
-	// to
-	// <code>America/New_York</code>.
+	// to America/New_York.
 	TimezoneCode string `json:"timezoneCode,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2203,8 +2161,7 @@
 	Format string `json:"format,omitempty"`
 
 	// GoogleCloudStoragePathForLatestReport: The path to the location in
-	// Google Cloud Storage where the latest report is
-	// stored.
+	// Google Cloud Storage where the latest report is stored.
 	GoogleCloudStoragePathForLatestReport string `json:"googleCloudStoragePathForLatestReport,omitempty"`
 
 	// GoogleDrivePathForLatestReport: The path in Google Drive for the
@@ -2215,17 +2172,11 @@
 	// run.
 	LatestReportRunTimeMs int64 `json:"latestReportRunTimeMs,omitempty,string"`
 
-	// Locale: Locale of the generated reports. Valid values are cs
-	// CZECH de
-	// GERMAN en      ENGLISH es      SPANISH fr      FRENCH it      ITALIAN
-	// ja
-	// JAPANESE ko      KOREAN pl      POLISH pt-BR   BRAZILIAN_PORTUGUESE
-	// ru
-	// RUSSIAN tr      TURKISH uk      UKRAINIAN zh-CN   CHINA_CHINESE
-	// zh-TW
-	// TAIWAN_CHINESE <br><br> An locale string not in the list above
-	// will
-	// generate reports in English.
+	// Locale: Locale of the generated reports. Valid values are cs CZECH de
+	// GERMAN en ENGLISH es SPANISH fr FRENCH it ITALIAN ja JAPANESE ko
+	// KOREAN pl POLISH pt-BR BRAZILIAN_PORTUGUESE ru RUSSIAN tr TURKISH uk
+	// UKRAINIAN zh-CN CHINA_CHINESE zh-TW TAIWAN_CHINESE An locale string
+	// not in the list above will generate reports in English.
 	Locale string `json:"locale,omitempty"`
 
 	// ReportCount: Number of reports that have been generated for the
@@ -2236,13 +2187,12 @@
 	Running bool `json:"running,omitempty"`
 
 	// SendNotification: Whether to send an email notification when a report
-	// is ready. Default to
-	// false.
+	// is ready. Default to false.
 	SendNotification bool `json:"sendNotification,omitempty"`
 
 	// ShareEmailAddress: List of email addresses which are sent email
-	// notifications when the report
-	// is finished. Separate from <code>sendNotification</code>.
+	// notifications when the report is finished. Separate from
+	// sendNotification.
 	ShareEmailAddress []string `json:"shareEmailAddress,omitempty"`
 
 	// Title: Query title. It is used to name the reports generated from
@@ -2289,13 +2239,12 @@
 	Frequency string `json:"frequency,omitempty"`
 
 	// NextRunMinuteOfDay: Time of day at which a new report will be
-	// generated, represented as minutes
-	// past midnight. Range is 0 to 1439. Only applies to scheduled reports.
+	// generated, represented as minutes past midnight. Range is 0 to 1439.
+	// Only applies to scheduled reports.
 	NextRunMinuteOfDay int64 `json:"nextRunMinuteOfDay,omitempty"`
 
 	// NextRunTimezoneCode: Canonical timezone code for report generation
-	// time. Defaults to
-	// <code>America/New_York</code>.
+	// time. Defaults to America/New_York.
 	NextRunTimezoneCode string `json:"nextRunTimezoneCode,omitempty"`
 
 	// StartTimeMs: When to start running the query. Not applicable to
@@ -2441,8 +2390,7 @@
 // ReportMetadata: Report metadata.
 type ReportMetadata struct {
 	// GoogleCloudStoragePath: The path to the location in Google Cloud
-	// Storage where the report is
-	// stored.
+	// Storage where the report is stored.
 	GoogleCloudStoragePath string `json:"googleCloudStoragePath,omitempty"`
 
 	// ReportDataEndTimeMs: The ending time for the data that is shown in
@@ -2573,11 +2521,9 @@
 }
 
 // Rule: A Rule defines a name, and a boolean expression in [conjunctive
-// normal
-// form](http:
-// //mathworld.wolfram.com/ConjunctiveNormalForm.html)
-// {.external} that can be
-// // applied to a path event to determine if that name should be
+// normal form](http:
+// //mathworld.wolfram.com/ConjunctiveNormalForm.html){.external} that
+// can be // applied to a path event to determine if that name should be
 // applied.
 type Rule struct {
 	DisjunctiveMatchStatements []*DisjunctiveMatchStatement `json:"disjunctiveMatchStatements,omitempty"`
@@ -2638,22 +2584,17 @@
 	DataRange string `json:"dataRange,omitempty"`
 
 	// ReportDataEndTimeMs: The ending time for the data that is shown in
-	// the report. Note,
-	// <code>reportDataEndTimeMs</code> is required if
-	// <code>dataRange</code> is
-	// <code>CUSTOM_DATES</code> and ignored otherwise.
+	// the report. Note, reportDataEndTimeMs is required if dataRange is
+	// CUSTOM_DATES and ignored otherwise.
 	ReportDataEndTimeMs int64 `json:"reportDataEndTimeMs,omitempty,string"`
 
 	// ReportDataStartTimeMs: The starting time for the data that is shown
-	// in the report. Note,
-	// <code>reportDataStartTimeMs</code> is required if
-	// <code>dataRange</code> is
-	// <code>CUSTOM_DATES</code> and ignored otherwise.
+	// in the report. Note, reportDataStartTimeMs is required if dataRange
+	// is CUSTOM_DATES and ignored otherwise.
 	ReportDataStartTimeMs int64 `json:"reportDataStartTimeMs,omitempty,string"`
 
 	// TimezoneCode: Canonical timezone code for report data time. Defaults
-	// to
-	// <code>America/New_York</code>.
+	// to America/New_York.
 	TimezoneCode string `json:"timezoneCode,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "DataRange") to
@@ -2681,22 +2622,18 @@
 
 // UploadLineItemsRequest: Request to upload line items.
 type UploadLineItemsRequest struct {
-	// DryRun: Set to <code>true</code> to get upload status without
-	// actually persisting
+	// DryRun: Set to true to get upload status without actually persisting
 	// the line items.
 	DryRun bool `json:"dryRun,omitempty"`
 
-	// Format: Format the line items are in. Default to <code>CSV</code>.
+	// Format: Format the line items are in. Default to CSV.
 	//
 	// Possible values:
 	//   "CSV"
 	Format string `json:"format,omitempty"`
 
-	// LineItems: Line items in CSV to upload. Refer to
-	// <a
-	// href="https://developers.google.com/bid-manager/guides/entity-write
-	// /format">
-	// Entity Write File Format</a> for more information on file format.
+	// LineItems: Line items in CSV to upload. Refer to Entity Write File
+	// Format for more information on file format.
 	LineItems string `json:"lineItems,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "DryRun") to
@@ -2796,8 +2733,7 @@
 }
 
 // Downloadlineitems: Retrieves line items in CSV format. YouTube &
-// partners line items are not
-// supported.
+// partners line items are not supported.
 func (r *LineitemsService) Downloadlineitems(downloadlineitemsrequest *DownloadLineItemsRequest) *LineitemsDownloadlineitemsCall {
 	c := &LineitemsDownloadlineitemsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.downloadlineitemsrequest = downloadlineitemsrequest
@@ -2831,7 +2767,7 @@
 
 func (c *LineitemsDownloadlineitemsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2844,7 +2780,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "doubleclickbidmanager/v1.1/lineitems/downloadlineitems")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "lineitems/downloadlineitems")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -2892,13 +2828,13 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Retrieves line items in CSV format. YouTube \u0026 partners line items are not\nsupported.",
-	//   "flatPath": "doubleclickbidmanager/v1.1/lineitems/downloadlineitems",
+	//   "description": "Retrieves line items in CSV format. YouTube \u0026 partners line items are not supported.",
+	//   "flatPath": "lineitems/downloadlineitems",
 	//   "httpMethod": "POST",
 	//   "id": "doubleclickbidmanager.lineitems.downloadlineitems",
 	//   "parameterOrder": [],
 	//   "parameters": {},
-	//   "path": "doubleclickbidmanager/v1.1/lineitems/downloadlineitems",
+	//   "path": "lineitems/downloadlineitems",
 	//   "request": {
 	//     "$ref": "DownloadLineItemsRequest"
 	//   },
@@ -2923,8 +2859,7 @@
 }
 
 // Uploadlineitems: Uploads line items in CSV format. YouTube & partners
-// line items are not
-// supported.
+// line items are not supported.
 func (r *LineitemsService) Uploadlineitems(uploadlineitemsrequest *UploadLineItemsRequest) *LineitemsUploadlineitemsCall {
 	c := &LineitemsUploadlineitemsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.uploadlineitemsrequest = uploadlineitemsrequest
@@ -2958,7 +2893,7 @@
 
 func (c *LineitemsUploadlineitemsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2971,7 +2906,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "doubleclickbidmanager/v1.1/lineitems/uploadlineitems")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "lineitems/uploadlineitems")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -3019,13 +2954,13 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Uploads line items in CSV format. YouTube \u0026 partners line items are not\nsupported.",
-	//   "flatPath": "doubleclickbidmanager/v1.1/lineitems/uploadlineitems",
+	//   "description": "Uploads line items in CSV format. YouTube \u0026 partners line items are not supported.",
+	//   "flatPath": "lineitems/uploadlineitems",
 	//   "httpMethod": "POST",
 	//   "id": "doubleclickbidmanager.lineitems.uploadlineitems",
 	//   "parameterOrder": [],
 	//   "parameters": {},
-	//   "path": "doubleclickbidmanager/v1.1/lineitems/uploadlineitems",
+	//   "path": "lineitems/uploadlineitems",
 	//   "request": {
 	//     "$ref": "UploadLineItemsRequest"
 	//   },
@@ -3057,8 +2992,8 @@
 }
 
 // Asynchronous sets the optional parameter "asynchronous": If true,
-// tries to run the query asynchronously. Only applicable when
-// the frequency is <code>ONE_TIME</code>.
+// tries to run the query asynchronously. Only applicable when the
+// frequency is ONE_TIME.
 func (c *QueriesCreatequeryCall) Asynchronous(asynchronous bool) *QueriesCreatequeryCall {
 	c.urlParams_.Set("asynchronous", fmt.Sprint(asynchronous))
 	return c
@@ -3091,7 +3026,7 @@
 
 func (c *QueriesCreatequeryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3104,7 +3039,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "doubleclickbidmanager/v1.1/query")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "query")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -3153,19 +3088,19 @@
 	return ret, nil
 	// {
 	//   "description": "Creates a query.",
-	//   "flatPath": "doubleclickbidmanager/v1.1/query",
+	//   "flatPath": "query",
 	//   "httpMethod": "POST",
 	//   "id": "doubleclickbidmanager.queries.createquery",
 	//   "parameterOrder": [],
 	//   "parameters": {
 	//     "asynchronous": {
 	//       "default": "false",
-	//       "description": "If true, tries to run the query asynchronously. Only applicable when\nthe frequency is \u003ccode\u003eONE_TIME\u003c/code\u003e.",
+	//       "description": "If true, tries to run the query asynchronously. Only applicable when the frequency is ONE_TIME.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     }
 	//   },
-	//   "path": "doubleclickbidmanager/v1.1/query",
+	//   "path": "query",
 	//   "request": {
 	//     "$ref": "Query"
 	//   },
@@ -3224,7 +3159,7 @@
 
 func (c *QueriesDeletequeryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3232,7 +3167,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "doubleclickbidmanager/v1.1/query/{queryId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "query/{queryId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("DELETE", urls, body)
 	if err != nil {
@@ -3259,7 +3194,7 @@
 	return nil
 	// {
 	//   "description": "Deletes a stored query as well as the associated stored reports.",
-	//   "flatPath": "doubleclickbidmanager/v1.1/query/{queryId}",
+	//   "flatPath": "query/{queryId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "doubleclickbidmanager.queries.deletequery",
 	//   "parameterOrder": [
@@ -3274,7 +3209,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "doubleclickbidmanager/v1.1/query/{queryId}",
+	//   "path": "query/{queryId}",
 	//   "scopes": [
 	//     "https://www.googleapis.com/auth/doubleclickbidmanager"
 	//   ]
@@ -3337,7 +3272,7 @@
 
 func (c *QueriesGetqueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3348,7 +3283,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "doubleclickbidmanager/v1.1/query/{queryId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "query/{queryId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -3400,7 +3335,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a stored query.",
-	//   "flatPath": "doubleclickbidmanager/v1.1/query/{queryId}",
+	//   "flatPath": "query/{queryId}",
 	//   "httpMethod": "GET",
 	//   "id": "doubleclickbidmanager.queries.getquery",
 	//   "parameterOrder": [
@@ -3415,7 +3350,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "doubleclickbidmanager/v1.1/query/{queryId}",
+	//   "path": "query/{queryId}",
 	//   "response": {
 	//     "$ref": "Query"
 	//   },
@@ -3443,9 +3378,8 @@
 }
 
 // PageSize sets the optional parameter "pageSize": Maximum number of
-// results per page. Must be between <code>1</code>
-// and
-// <code>100</code>. Defaults to <code>100</code> if unspecified.
+// results per page. Must be between 1 and 100. Defaults to 100 if
+// unspecified.
 func (c *QueriesListqueriesCall) PageSize(pageSize int64) *QueriesListqueriesCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
@@ -3495,7 +3429,7 @@
 
 func (c *QueriesListqueriesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3506,7 +3440,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "doubleclickbidmanager/v1.1/queries")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "queries")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -3555,13 +3489,13 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves stored queries.",
-	//   "flatPath": "doubleclickbidmanager/v1.1/queries",
+	//   "flatPath": "queries",
 	//   "httpMethod": "GET",
 	//   "id": "doubleclickbidmanager.queries.listqueries",
 	//   "parameterOrder": [],
 	//   "parameters": {
 	//     "pageSize": {
-	//       "description": "Maximum number of results per page. Must be between \u003ccode\u003e1\u003c/code\u003e and\n\u003ccode\u003e100\u003c/code\u003e. Defaults to \u003ccode\u003e100\u003c/code\u003e if unspecified.",
+	//       "description": "Maximum number of results per page. Must be between 1 and 100. Defaults to 100 if unspecified.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
@@ -3572,7 +3506,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "doubleclickbidmanager/v1.1/queries",
+	//   "path": "queries",
 	//   "response": {
 	//     "$ref": "ListQueriesResponse"
 	//   },
@@ -3657,7 +3591,7 @@
 
 func (c *QueriesRunqueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3670,7 +3604,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "doubleclickbidmanager/v1.1/query/{queryId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "query/{queryId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -3697,7 +3631,7 @@
 	return nil
 	// {
 	//   "description": "Runs a stored query to generate a report.",
-	//   "flatPath": "doubleclickbidmanager/v1.1/query/{queryId}",
+	//   "flatPath": "query/{queryId}",
 	//   "httpMethod": "POST",
 	//   "id": "doubleclickbidmanager.queries.runquery",
 	//   "parameterOrder": [
@@ -3718,7 +3652,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "doubleclickbidmanager/v1.1/query/{queryId}",
+	//   "path": "query/{queryId}",
 	//   "request": {
 	//     "$ref": "RunQueryRequest"
 	//   },
@@ -3748,9 +3682,8 @@
 }
 
 // PageSize sets the optional parameter "pageSize": Maximum number of
-// results per page. Must be between <code>1</code>
-// and
-// <code>100</code>. Defaults to <code>100</code> if unspecified.
+// results per page. Must be between 1 and 100. Defaults to 100 if
+// unspecified.
 func (c *ReportsListreportsCall) PageSize(pageSize int64) *ReportsListreportsCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
@@ -3800,7 +3733,7 @@
 
 func (c *ReportsListreportsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3811,7 +3744,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "doubleclickbidmanager/v1.1/queries/{queryId}/reports")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "queries/{queryId}/reports")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -3863,7 +3796,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves stored reports.",
-	//   "flatPath": "doubleclickbidmanager/v1.1/queries/{queryId}/reports",
+	//   "flatPath": "queries/{queryId}/reports",
 	//   "httpMethod": "GET",
 	//   "id": "doubleclickbidmanager.reports.listreports",
 	//   "parameterOrder": [
@@ -3871,7 +3804,7 @@
 	//   ],
 	//   "parameters": {
 	//     "pageSize": {
-	//       "description": "Maximum number of results per page. Must be between \u003ccode\u003e1\u003c/code\u003e and\n\u003ccode\u003e100\u003c/code\u003e. Defaults to \u003ccode\u003e100\u003c/code\u003e if unspecified.",
+	//       "description": "Maximum number of results per page. Must be between 1 and 100. Defaults to 100 if unspecified.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
@@ -3889,7 +3822,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "doubleclickbidmanager/v1.1/queries/{queryId}/reports",
+	//   "path": "queries/{queryId}/reports",
 	//   "response": {
 	//     "$ref": "ListReportsResponse"
 	//   },
@@ -3965,7 +3898,7 @@
 
 func (c *SdfDownloadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3978,7 +3911,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "doubleclickbidmanager/v1.1/sdf/download")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "sdf/download")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -4027,12 +3960,12 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves entities in SDF format.",
-	//   "flatPath": "doubleclickbidmanager/v1.1/sdf/download",
+	//   "flatPath": "sdf/download",
 	//   "httpMethod": "POST",
 	//   "id": "doubleclickbidmanager.sdf.download",
 	//   "parameterOrder": [],
 	//   "parameters": {},
-	//   "path": "doubleclickbidmanager/v1.1/sdf/download",
+	//   "path": "sdf/download",
 	//   "request": {
 	//     "$ref": "DownloadRequest"
 	//   },
diff --git a/doubleclickbidmanager/v1/doubleclickbidmanager-api.json b/doubleclickbidmanager/v1/doubleclickbidmanager-api.json
index 2205270..50354c5 100644
--- a/doubleclickbidmanager/v1/doubleclickbidmanager-api.json
+++ b/doubleclickbidmanager/v1/doubleclickbidmanager-api.json
@@ -8,8 +8,8 @@
       }
     }
   },
-  "basePath": "",
-  "baseUrl": "https://www.googleapis.com/",
+  "basePath": "/doubleclickbidmanager/v1/",
+  "baseUrl": "https://www.googleapis.com/doubleclickbidmanager/v1/",
   "batchPath": "batch/doubleclickbidmanager",
   "canonicalName": "DoubleClick Bid Manager",
   "description": "DoubleClick Bid Manager API allows users to manage and create campaigns and reports.",
@@ -108,13 +108,13 @@
     "lineitems": {
       "methods": {
         "downloadlineitems": {
-          "description": "Retrieves line items in CSV format. YouTube \u0026 partners line items are not\nsupported.",
-          "flatPath": "doubleclickbidmanager/v1/lineitems/downloadlineitems",
+          "description": "Retrieves line items in CSV format. YouTube \u0026 partners line items are not supported.",
+          "flatPath": "lineitems/downloadlineitems",
           "httpMethod": "POST",
           "id": "doubleclickbidmanager.lineitems.downloadlineitems",
           "parameterOrder": [],
           "parameters": {},
-          "path": "doubleclickbidmanager/v1/lineitems/downloadlineitems",
+          "path": "lineitems/downloadlineitems",
           "request": {
             "$ref": "DownloadLineItemsRequest"
           },
@@ -126,13 +126,13 @@
           ]
         },
         "uploadlineitems": {
-          "description": "Uploads line items in CSV format. YouTube \u0026 partners line items are not\nsupported.",
-          "flatPath": "doubleclickbidmanager/v1/lineitems/uploadlineitems",
+          "description": "Uploads line items in CSV format. YouTube \u0026 partners line items are not supported.",
+          "flatPath": "lineitems/uploadlineitems",
           "httpMethod": "POST",
           "id": "doubleclickbidmanager.lineitems.uploadlineitems",
           "parameterOrder": [],
           "parameters": {},
-          "path": "doubleclickbidmanager/v1/lineitems/uploadlineitems",
+          "path": "lineitems/uploadlineitems",
           "request": {
             "$ref": "UploadLineItemsRequest"
           },
@@ -149,12 +149,12 @@
       "methods": {
         "createquery": {
           "description": "Creates a query.",
-          "flatPath": "doubleclickbidmanager/v1/query",
+          "flatPath": "query",
           "httpMethod": "POST",
           "id": "doubleclickbidmanager.queries.createquery",
           "parameterOrder": [],
           "parameters": {},
-          "path": "doubleclickbidmanager/v1/query",
+          "path": "query",
           "request": {
             "$ref": "Query"
           },
@@ -167,7 +167,7 @@
         },
         "deletequery": {
           "description": "Deletes a stored query as well as the associated stored reports.",
-          "flatPath": "doubleclickbidmanager/v1/query/{queryId}",
+          "flatPath": "query/{queryId}",
           "httpMethod": "DELETE",
           "id": "doubleclickbidmanager.queries.deletequery",
           "parameterOrder": [
@@ -182,14 +182,14 @@
               "type": "string"
             }
           },
-          "path": "doubleclickbidmanager/v1/query/{queryId}",
+          "path": "query/{queryId}",
           "scopes": [
             "https://www.googleapis.com/auth/doubleclickbidmanager"
           ]
         },
         "getquery": {
           "description": "Retrieves a stored query.",
-          "flatPath": "doubleclickbidmanager/v1/query/{queryId}",
+          "flatPath": "query/{queryId}",
           "httpMethod": "GET",
           "id": "doubleclickbidmanager.queries.getquery",
           "parameterOrder": [
@@ -204,7 +204,7 @@
               "type": "string"
             }
           },
-          "path": "doubleclickbidmanager/v1/query/{queryId}",
+          "path": "query/{queryId}",
           "response": {
             "$ref": "Query"
           },
@@ -214,12 +214,12 @@
         },
         "listqueries": {
           "description": "Retrieves stored queries.",
-          "flatPath": "doubleclickbidmanager/v1/queries",
+          "flatPath": "queries",
           "httpMethod": "GET",
           "id": "doubleclickbidmanager.queries.listqueries",
           "parameterOrder": [],
           "parameters": {},
-          "path": "doubleclickbidmanager/v1/queries",
+          "path": "queries",
           "response": {
             "$ref": "ListQueriesResponse"
           },
@@ -229,7 +229,7 @@
         },
         "runquery": {
           "description": "Runs a stored query to generate a report.",
-          "flatPath": "doubleclickbidmanager/v1/query/{queryId}",
+          "flatPath": "query/{queryId}",
           "httpMethod": "POST",
           "id": "doubleclickbidmanager.queries.runquery",
           "parameterOrder": [
@@ -244,7 +244,7 @@
               "type": "string"
             }
           },
-          "path": "doubleclickbidmanager/v1/query/{queryId}",
+          "path": "query/{queryId}",
           "request": {
             "$ref": "RunQueryRequest"
           },
@@ -258,7 +258,7 @@
       "methods": {
         "listreports": {
           "description": "Retrieves stored reports.",
-          "flatPath": "doubleclickbidmanager/v1/queries/{queryId}/reports",
+          "flatPath": "queries/{queryId}/reports",
           "httpMethod": "GET",
           "id": "doubleclickbidmanager.reports.listreports",
           "parameterOrder": [
@@ -273,7 +273,7 @@
               "type": "string"
             }
           },
-          "path": "doubleclickbidmanager/v1/queries/{queryId}/reports",
+          "path": "queries/{queryId}/reports",
           "response": {
             "$ref": "ListReportsResponse"
           },
@@ -287,12 +287,12 @@
       "methods": {
         "download": {
           "description": "Retrieves entities in SDF format.",
-          "flatPath": "doubleclickbidmanager/v1/sdf/download",
+          "flatPath": "sdf/download",
           "httpMethod": "POST",
           "id": "doubleclickbidmanager.sdf.download",
           "parameterOrder": [],
           "parameters": {},
-          "path": "doubleclickbidmanager/v1/sdf/download",
+          "path": "sdf/download",
           "request": {
             "$ref": "DownloadRequest"
           },
@@ -306,7 +306,7 @@
       }
     }
   },
-  "revision": "20200731",
+  "revision": "20200811",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "DownloadLineItemsRequest": {
@@ -314,7 +314,7 @@
       "id": "DownloadLineItemsRequest",
       "properties": {
         "fileSpec": {
-          "description": "File specification (column names, types, order) in which the line items\nwill be returned. Default to \u003ccode\u003eEWF\u003c/code\u003e.",
+          "description": "File specification (column names, types, order) in which the line items will be returned. Default to EWF.",
           "enum": [
             "EWF"
           ],
@@ -324,7 +324,7 @@
           "type": "string"
         },
         "filterIds": {
-          "description": "Ids of the specified filter type used to filter line items to fetch. If\nomitted, all the line items will be returned.",
+          "description": "Ids of the specified filter type used to filter line items to fetch. If omitted, all the line items will be returned.",
           "items": {
             "format": "int64",
             "type": "string"
@@ -346,7 +346,7 @@
           "type": "string"
         },
         "format": {
-          "description": "Format in which the line items will be returned. Default to\n\u003ccode\u003eCSV\u003c/code\u003e.",
+          "description": "Format in which the line items will be returned. Default to CSV.",
           "enum": [
             "CSV"
           ],
@@ -363,18 +363,18 @@
       "id": "DownloadLineItemsResponse",
       "properties": {
         "lineItems": {
-          "description": "Retrieved line items in CSV format. For more information about file\nformats, see \u003ca\nhref=\"https://developers.google.com/bid-manager/guides/entity-write/format\"\u003e\nEntity Write File Format\u003c/a\u003e.",
+          "description": "Retrieved line items in CSV format. For more information about file formats, see Entity Write File Format.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "DownloadRequest": {
-      "description": "Request to fetch stored inventory sources, campaigns, insertion orders, line\nitems, YouTube ad groups and ads.",
+      "description": "Request to fetch stored inventory sources, campaigns, insertion orders, line items, YouTube ad groups and ads.",
       "id": "DownloadRequest",
       "properties": {
         "fileTypes": {
-          "description": "File types that will be returned. If INVENTORY_SOURCE is requested, no\nother file types may be requested. \u003cbr\u003e\u003cbr\u003eAcceptable values are: \u003cul\u003e\n\u003cli\u003e\"\u003ccode\u003eAD\u003c/code\u003e\"\u003c/li\u003e \u003cli\u003e\"\u003ccode\u003eAD_GROUP\u003c/code\u003e\"\u003c/li\u003e\n\u003cli\u003e\"\u003ccode\u003eCAMPAIGN\u003c/code\u003e\"\u003c/li\u003e \u003cli\u003e\"\u003ccode\u003eINSERTION_ORDER\u003c/code\u003e\"\u003c/li\u003e\n\u003cli\u003e\"\u003ccode\u003eINVENTORY_SOURCE\u003c/code\u003e\"\u003c/li\u003e \u003cli\u003e\"\u003ccode\u003eLINE_ITEM\u003c/code\u003e\"\u003c/li\u003e\n\u003c/ul\u003e",
+          "description": "File types that will be returned. If INVENTORY_SOURCE is requested, no other file types may be requested. Acceptable values are: - \"AD\" - \"AD_GROUP\" - \"CAMPAIGN\" - \"INSERTION_ORDER\" - \"INVENTORY_SOURCE\" - \"LINE_ITEM\" ",
           "enumDescriptions": [
             "",
             "",
@@ -392,12 +392,20 @@
               "CAMPAIGN",
               "INVENTORY_SOURCE"
             ],
+            "enumDescriptions": [
+              "",
+              "",
+              "",
+              "",
+              "",
+              ""
+            ],
             "type": "string"
           },
           "type": "array"
         },
         "filterIds": {
-          "description": "The IDs of the specified filter type. This is used to filter entities to\nfetch. At least one ID must be specified.",
+          "description": "The IDs of the specified filter type. This is used to filter entities to fetch. At least one ID must be specified.",
           "items": {
             "format": "int64",
             "type": "string"
@@ -405,7 +413,7 @@
           "type": "array"
         },
         "filterType": {
-          "description": "Filter type used to filter entities to fetch. PARTNER_ID and\nINVENTORY_SOURCE_ID may only be used when downloading inventory sources.",
+          "description": "Filter type used to filter entities to fetch. PARTNER_ID and INVENTORY_SOURCE_ID may only be used when downloading inventory sources.",
           "enum": [
             "ADVERTISER_ID",
             "INSERTION_ORDER_ID",
@@ -425,7 +433,7 @@
           "type": "string"
         },
         "version": {
-          "description": "SDF Version (column names, types, order) in which the entities will be\nreturned. Default to \u003ccode\u003e5\u003c/code\u003e.",
+          "description": "SDF Version (column names, types, order) in which the entities will be returned. Default to 5.",
           "type": "string"
         }
       },
@@ -719,7 +727,7 @@
       "id": "ListQueriesResponse",
       "properties": {
         "kind": {
-          "description": "Identifies what kind of resource this is. Value: the fixed string\n\u003ccode\u003e\"doubleclickbidmanager#listQueriesResponse\"\u003c/code\u003e.",
+          "description": "Identifies what kind of resource this is. Value: the fixed string \"doubleclickbidmanager#listQueriesResponse\".",
           "type": "string"
         },
         "queries": {
@@ -737,7 +745,7 @@
       "id": "ListReportsResponse",
       "properties": {
         "kind": {
-          "description": "Identifies what kind of resource this is. Value: the fixed string\n\u003ccode\u003e\"doubleclickbidmanager#listReportsResponse\"\u003c/code\u003e.",
+          "description": "Identifies what kind of resource this is. Value: the fixed string \"doubleclickbidmanager#listReportsResponse\".",
           "type": "string"
         },
         "reports": {
@@ -1002,6 +1010,125 @@
               "FILTER_AUTHORIZED_SELLER_STATE",
               "FILTER_VIDEO_DURATION_SECONDS_RANGE"
             ],
+            "enumDescriptions": [
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              ""
+            ],
             "type": "string"
           },
           "type": "array"
@@ -1561,6 +1688,280 @@
               "METRIC_FLOODLIGHT_IMPRESSIONS",
               "METRIC_BILLABLE_IMPRESSIONS"
             ],
+            "enumDescriptions": [
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              "",
+              ""
+            ],
             "type": "string"
           },
           "type": "array"
@@ -1645,7 +2046,7 @@
       "id": "Query",
       "properties": {
         "kind": {
-          "description": "Identifies what kind of resource this is. Value: the fixed string\n\u003ccode\u003e\"doubleclickbidmanager#query\"\u003c/code\u003e.",
+          "description": "Identifies what kind of resource this is. Value: the fixed string \"doubleclickbidmanager#query\".",
           "type": "string"
         },
         "metadata": {
@@ -1662,12 +2063,12 @@
           "type": "string"
         },
         "reportDataEndTimeMs": {
-          "description": "The ending time for the data that is shown in the report. Note,\n\u003ccode\u003ereportDataEndTimeMs\u003c/code\u003e is required if\n\u003ccode\u003emetadata.dataRange\u003c/code\u003e is \u003ccode\u003eCUSTOM_DATES\u003c/code\u003e and ignored\notherwise.",
+          "description": "The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.",
           "format": "int64",
           "type": "string"
         },
         "reportDataStartTimeMs": {
-          "description": "The starting time for the data that is shown in the report. Note,\n\u003ccode\u003ereportDataStartTimeMs\u003c/code\u003e is required if\n\u003ccode\u003emetadata.dataRange\u003c/code\u003e is \u003ccode\u003eCUSTOM_DATES\u003c/code\u003e and ignored\notherwise.",
+          "description": "The starting time for the data that is shown in the report. Note, reportDataStartTimeMs is required if metadata.dataRange is CUSTOM_DATES and ignored otherwise.",
           "format": "int64",
           "type": "string"
         },
@@ -1676,7 +2077,7 @@
           "description": "Information on how often and when to run a query."
         },
         "timezoneCode": {
-          "description": "Canonical timezone code for report data time. Defaults to\n\u003ccode\u003eAmerica/New_York\u003c/code\u003e.",
+          "description": "Canonical timezone code for report data time. Defaults to America/New_York.",
           "type": "string"
         }
       },
@@ -1747,7 +2148,7 @@
           "type": "string"
         },
         "googleCloudStoragePathForLatestReport": {
-          "description": "The path to the location in Google Cloud Storage where the latest report is\nstored.",
+          "description": "The path to the location in Google Cloud Storage where the latest report is stored.",
           "type": "string"
         },
         "googleDrivePathForLatestReport": {
@@ -1760,7 +2161,7 @@
           "type": "string"
         },
         "locale": {
-          "description": "Locale of the generated reports. Valid values are cs      CZECH de\nGERMAN en      ENGLISH es      SPANISH fr      FRENCH it      ITALIAN ja\nJAPANESE ko      KOREAN pl      POLISH pt-BR   BRAZILIAN_PORTUGUESE ru\nRUSSIAN tr      TURKISH uk      UKRAINIAN zh-CN   CHINA_CHINESE zh-TW\nTAIWAN_CHINESE \u003cbr\u003e\u003cbr\u003e An locale string not in the list above will\ngenerate reports in English.",
+          "description": "Locale of the generated reports. Valid values are cs CZECH de GERMAN en ENGLISH es SPANISH fr FRENCH it ITALIAN ja JAPANESE ko KOREAN pl POLISH pt-BR BRAZILIAN_PORTUGUESE ru RUSSIAN tr TURKISH uk UKRAINIAN zh-CN CHINA_CHINESE zh-TW TAIWAN_CHINESE An locale string not in the list above will generate reports in English.",
           "type": "string"
         },
         "reportCount": {
@@ -1773,11 +2174,11 @@
           "type": "boolean"
         },
         "sendNotification": {
-          "description": "Whether to send an email notification when a report is ready. Default to\nfalse.",
+          "description": "Whether to send an email notification when a report is ready. Default to false.",
           "type": "boolean"
         },
         "shareEmailAddress": {
-          "description": "List of email addresses which are sent email notifications when the report\nis finished. Separate from \u003ccode\u003esendNotification\u003c/code\u003e.",
+          "description": "List of email addresses which are sent email notifications when the report is finished. Separate from sendNotification.",
           "items": {
             "type": "string"
           },
@@ -1820,12 +2221,12 @@
           "type": "string"
         },
         "nextRunMinuteOfDay": {
-          "description": "Time of day at which a new report will be generated, represented as minutes\npast midnight. Range is 0 to 1439. Only applies to scheduled reports.",
+          "description": "Time of day at which a new report will be generated, represented as minutes past midnight. Range is 0 to 1439. Only applies to scheduled reports.",
           "format": "int32",
           "type": "integer"
         },
         "nextRunTimezoneCode": {
-          "description": "Canonical timezone code for report generation time. Defaults to\n\u003ccode\u003eAmerica/New_York\u003c/code\u003e.",
+          "description": "Canonical timezone code for report generation time. Defaults to America/New_York.",
           "type": "string"
         }
       },
@@ -1923,7 +2324,7 @@
       "id": "ReportMetadata",
       "properties": {
         "googleCloudStoragePath": {
-          "description": "The path to the location in Google Cloud Storage where the report is\nstored.",
+          "description": "The path to the location in Google Cloud Storage where the report is stored.",
           "type": "string"
         },
         "reportDataEndTimeMs": {
@@ -2074,17 +2475,17 @@
           "type": "string"
         },
         "reportDataEndTimeMs": {
-          "description": "The ending time for the data that is shown in the report. Note,\n\u003ccode\u003ereportDataEndTimeMs\u003c/code\u003e is required if \u003ccode\u003edataRange\u003c/code\u003e is\n\u003ccode\u003eCUSTOM_DATES\u003c/code\u003e and ignored otherwise.",
+          "description": "The ending time for the data that is shown in the report. Note, reportDataEndTimeMs is required if dataRange is CUSTOM_DATES and ignored otherwise.",
           "format": "int64",
           "type": "string"
         },
         "reportDataStartTimeMs": {
-          "description": "The starting time for the data that is shown in the report. Note,\n\u003ccode\u003ereportDataStartTimeMs\u003c/code\u003e is required if \u003ccode\u003edataRange\u003c/code\u003e is\n\u003ccode\u003eCUSTOM_DATES\u003c/code\u003e and ignored otherwise.",
+          "description": "The starting time for the data that is shown in the report. Note, reportDataStartTimeMs is required if dataRange is CUSTOM_DATES and ignored otherwise.",
           "format": "int64",
           "type": "string"
         },
         "timezoneCode": {
-          "description": "Canonical timezone code for report data time. Defaults to\n\u003ccode\u003eAmerica/New_York\u003c/code\u003e.",
+          "description": "Canonical timezone code for report data time. Defaults to America/New_York.",
           "type": "string"
         }
       },
@@ -2095,11 +2496,11 @@
       "id": "UploadLineItemsRequest",
       "properties": {
         "dryRun": {
-          "description": "Set to \u003ccode\u003etrue\u003c/code\u003e to get upload status without actually persisting\nthe line items.",
+          "description": "Set to true to get upload status without actually persisting the line items.",
           "type": "boolean"
         },
         "format": {
-          "description": "Format the line items are in. Default to \u003ccode\u003eCSV\u003c/code\u003e.",
+          "description": "Format the line items are in. Default to CSV.",
           "enum": [
             "CSV"
           ],
@@ -2109,7 +2510,7 @@
           "type": "string"
         },
         "lineItems": {
-          "description": "Line items in CSV to upload. Refer to \u003ca\nhref=\"https://developers.google.com/bid-manager/guides/entity-write/format\"\u003e\nEntity Write File Format\u003c/a\u003e for more information on file format.",
+          "description": "Line items in CSV to upload. Refer to Entity Write File Format for more information on file format.",
           "type": "string"
         }
       },
@@ -2148,7 +2549,7 @@
       "type": "object"
     }
   },
-  "servicePath": "",
+  "servicePath": "doubleclickbidmanager/v1/",
   "title": "DoubleClick Bid Manager API",
   "version": "v1"
 }
\ No newline at end of file
diff --git a/doubleclickbidmanager/v1/doubleclickbidmanager-gen.go b/doubleclickbidmanager/v1/doubleclickbidmanager-gen.go
index f849277..e409cd3 100644
--- a/doubleclickbidmanager/v1/doubleclickbidmanager-gen.go
+++ b/doubleclickbidmanager/v1/doubleclickbidmanager-gen.go
@@ -74,8 +74,8 @@
 const apiId = "doubleclickbidmanager:v1"
 const apiName = "doubleclickbidmanager"
 const apiVersion = "v1"
-const basePath = "https://www.googleapis.com/"
-const mtlsBasePath = "https://www.mtls.googleapis.com/"
+const basePath = "https://www.googleapis.com/doubleclickbidmanager/v1/"
+const mtlsBasePath = "https://www.mtls.googleapis.com/doubleclickbidmanager/v1/"
 
 // OAuth2 scopes used by this API.
 const (
@@ -183,16 +183,14 @@
 // DownloadLineItemsRequest: Request to fetch stored line items.
 type DownloadLineItemsRequest struct {
 	// FileSpec: File specification (column names, types, order) in which
-	// the line items
-	// will be returned. Default to <code>EWF</code>.
+	// the line items will be returned. Default to EWF.
 	//
 	// Possible values:
 	//   "EWF"
 	FileSpec string `json:"fileSpec,omitempty"`
 
 	// FilterIds: Ids of the specified filter type used to filter line items
-	// to fetch. If
-	// omitted, all the line items will be returned.
+	// to fetch. If omitted, all the line items will be returned.
 	FilterIds googleapi.Int64s `json:"filterIds,omitempty"`
 
 	// FilterType: Filter type used to filter line items to fetch.
@@ -203,9 +201,8 @@
 	//   "LINE_ITEM_ID"
 	FilterType string `json:"filterType,omitempty"`
 
-	// Format: Format in which the line items will be returned. Default
-	// to
-	// <code>CSV</code>.
+	// Format: Format in which the line items will be returned. Default to
+	// CSV.
 	//
 	// Possible values:
 	//   "CSV"
@@ -237,12 +234,7 @@
 // DownloadLineItemsResponse: Download line items response.
 type DownloadLineItemsResponse struct {
 	// LineItems: Retrieved line items in CSV format. For more information
-	// about file
-	// formats, see
-	// <a
-	// href="https://developers.google.com/bid-manager/guides/entity-write
-	// /format">
-	// Entity Write File Format</a>.
+	// about file formats, see Entity Write File Format.
 	LineItems string `json:"lineItems,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -273,20 +265,12 @@
 }
 
 // DownloadRequest: Request to fetch stored inventory sources,
-// campaigns, insertion orders, line
-// items, YouTube ad groups and ads.
+// campaigns, insertion orders, line items, YouTube ad groups and ads.
 type DownloadRequest struct {
 	// FileTypes: File types that will be returned. If INVENTORY_SOURCE is
-	// requested, no
-	// other file types may be requested. <br><br>Acceptable values are:
-	// <ul>
-	// <li>"<code>AD</code>"</li>
-	// <li>"<code>AD_GROUP</code>"</li>
-	// <li>"<code>CAMPAIGN</code>"</li>
-	// <li>"<code>INSERTION_ORDER</code>"</li>
-	// <li>"<code>INVENTORY_SOURCE</c
-	// ode>"</li> <li>"<code>LINE_ITEM</code>"</li>
-	// </ul>
+	// requested, no other file types may be requested. Acceptable values
+	// are: - "AD" - "AD_GROUP" - "CAMPAIGN" - "INSERTION_ORDER" -
+	// "INVENTORY_SOURCE" - "LINE_ITEM"
 	//
 	// Possible values:
 	//   "INSERTION_ORDER"
@@ -298,13 +282,11 @@
 	FileTypes []string `json:"fileTypes,omitempty"`
 
 	// FilterIds: The IDs of the specified filter type. This is used to
-	// filter entities to
-	// fetch. At least one ID must be specified.
+	// filter entities to fetch. At least one ID must be specified.
 	FilterIds googleapi.Int64s `json:"filterIds,omitempty"`
 
 	// FilterType: Filter type used to filter entities to fetch. PARTNER_ID
-	// and
-	// INVENTORY_SOURCE_ID may only be used when downloading inventory
+	// and INVENTORY_SOURCE_ID may only be used when downloading inventory
 	// sources.
 	//
 	// Possible values:
@@ -317,8 +299,7 @@
 	FilterType string `json:"filterType,omitempty"`
 
 	// Version: SDF Version (column names, types, order) in which the
-	// entities will be
-	// returned. Default to <code>5</code>.
+	// entities will be returned. Default to 5.
 	Version string `json:"version,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "FileTypes") to
@@ -543,8 +524,7 @@
 // ListQueriesResponse: List queries response.
 type ListQueriesResponse struct {
 	// Kind: Identifies what kind of resource this is. Value: the fixed
-	// string
-	// <code>"doubleclickbidmanager#listQueriesResponse"</code>.
+	// string "doubleclickbidmanager#listQueriesResponse".
 	Kind string `json:"kind,omitempty"`
 
 	// Queries: Retrieved queries.
@@ -580,8 +560,7 @@
 // ListReportsResponse: List reports response.
 type ListReportsResponse struct {
 	// Kind: Identifies what kind of resource this is. Value: the fixed
-	// string
-	// <code>"doubleclickbidmanager#listReportsResponse"</code>.
+	// string "doubleclickbidmanager#listReportsResponse".
 	Kind string `json:"kind,omitempty"`
 
 	// Reports: Retrieved reports.
@@ -1084,8 +1063,7 @@
 // Query: Represents a query.
 type Query struct {
 	// Kind: Identifies what kind of resource this is. Value: the fixed
-	// string
-	// <code>"doubleclickbidmanager#query"</code>.
+	// string "doubleclickbidmanager#query".
 	Kind string `json:"kind,omitempty"`
 
 	// Metadata: Query metadata.
@@ -1098,29 +1076,20 @@
 	QueryId int64 `json:"queryId,omitempty,string"`
 
 	// ReportDataEndTimeMs: The ending time for the data that is shown in
-	// the report. Note,
-	// <code>reportDataEndTimeMs</code> is required
-	// if
-	// <code>metadata.dataRange</code> is <code>CUSTOM_DATES</code> and
-	// ignored
-	// otherwise.
+	// the report. Note, reportDataEndTimeMs is required if
+	// metadata.dataRange is CUSTOM_DATES and ignored otherwise.
 	ReportDataEndTimeMs int64 `json:"reportDataEndTimeMs,omitempty,string"`
 
 	// ReportDataStartTimeMs: The starting time for the data that is shown
-	// in the report. Note,
-	// <code>reportDataStartTimeMs</code> is required
-	// if
-	// <code>metadata.dataRange</code> is <code>CUSTOM_DATES</code> and
-	// ignored
-	// otherwise.
+	// in the report. Note, reportDataStartTimeMs is required if
+	// metadata.dataRange is CUSTOM_DATES and ignored otherwise.
 	ReportDataStartTimeMs int64 `json:"reportDataStartTimeMs,omitempty,string"`
 
 	// Schedule: Information on how often and when to run a query.
 	Schedule *QuerySchedule `json:"schedule,omitempty"`
 
 	// TimezoneCode: Canonical timezone code for report data time. Defaults
-	// to
-	// <code>America/New_York</code>.
+	// to America/New_York.
 	TimezoneCode string `json:"timezoneCode,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1185,8 +1154,7 @@
 	Format string `json:"format,omitempty"`
 
 	// GoogleCloudStoragePathForLatestReport: The path to the location in
-	// Google Cloud Storage where the latest report is
-	// stored.
+	// Google Cloud Storage where the latest report is stored.
 	GoogleCloudStoragePathForLatestReport string `json:"googleCloudStoragePathForLatestReport,omitempty"`
 
 	// GoogleDrivePathForLatestReport: The path in Google Drive for the
@@ -1197,17 +1165,11 @@
 	// run.
 	LatestReportRunTimeMs int64 `json:"latestReportRunTimeMs,omitempty,string"`
 
-	// Locale: Locale of the generated reports. Valid values are cs
-	// CZECH de
-	// GERMAN en      ENGLISH es      SPANISH fr      FRENCH it      ITALIAN
-	// ja
-	// JAPANESE ko      KOREAN pl      POLISH pt-BR   BRAZILIAN_PORTUGUESE
-	// ru
-	// RUSSIAN tr      TURKISH uk      UKRAINIAN zh-CN   CHINA_CHINESE
-	// zh-TW
-	// TAIWAN_CHINESE <br><br> An locale string not in the list above
-	// will
-	// generate reports in English.
+	// Locale: Locale of the generated reports. Valid values are cs CZECH de
+	// GERMAN en ENGLISH es SPANISH fr FRENCH it ITALIAN ja JAPANESE ko
+	// KOREAN pl POLISH pt-BR BRAZILIAN_PORTUGUESE ru RUSSIAN tr TURKISH uk
+	// UKRAINIAN zh-CN CHINA_CHINESE zh-TW TAIWAN_CHINESE An locale string
+	// not in the list above will generate reports in English.
 	Locale string `json:"locale,omitempty"`
 
 	// ReportCount: Number of reports that have been generated for the
@@ -1218,13 +1180,12 @@
 	Running bool `json:"running,omitempty"`
 
 	// SendNotification: Whether to send an email notification when a report
-	// is ready. Default to
-	// false.
+	// is ready. Default to false.
 	SendNotification bool `json:"sendNotification,omitempty"`
 
 	// ShareEmailAddress: List of email addresses which are sent email
-	// notifications when the report
-	// is finished. Separate from <code>sendNotification</code>.
+	// notifications when the report is finished. Separate from
+	// sendNotification.
 	ShareEmailAddress []string `json:"shareEmailAddress,omitempty"`
 
 	// Title: Query title. It is used to name the reports generated from
@@ -1271,13 +1232,12 @@
 	Frequency string `json:"frequency,omitempty"`
 
 	// NextRunMinuteOfDay: Time of day at which a new report will be
-	// generated, represented as minutes
-	// past midnight. Range is 0 to 1439. Only applies to scheduled reports.
+	// generated, represented as minutes past midnight. Range is 0 to 1439.
+	// Only applies to scheduled reports.
 	NextRunMinuteOfDay int64 `json:"nextRunMinuteOfDay,omitempty"`
 
 	// NextRunTimezoneCode: Canonical timezone code for report generation
-	// time. Defaults to
-	// <code>America/New_York</code>.
+	// time. Defaults to America/New_York.
 	NextRunTimezoneCode string `json:"nextRunTimezoneCode,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "EndTimeMs") to
@@ -1419,8 +1379,7 @@
 // ReportMetadata: Report metadata.
 type ReportMetadata struct {
 	// GoogleCloudStoragePath: The path to the location in Google Cloud
-	// Storage where the report is
-	// stored.
+	// Storage where the report is stored.
 	GoogleCloudStoragePath string `json:"googleCloudStoragePath,omitempty"`
 
 	// ReportDataEndTimeMs: The ending time for the data that is shown in
@@ -1577,22 +1536,17 @@
 	DataRange string `json:"dataRange,omitempty"`
 
 	// ReportDataEndTimeMs: The ending time for the data that is shown in
-	// the report. Note,
-	// <code>reportDataEndTimeMs</code> is required if
-	// <code>dataRange</code> is
-	// <code>CUSTOM_DATES</code> and ignored otherwise.
+	// the report. Note, reportDataEndTimeMs is required if dataRange is
+	// CUSTOM_DATES and ignored otherwise.
 	ReportDataEndTimeMs int64 `json:"reportDataEndTimeMs,omitempty,string"`
 
 	// ReportDataStartTimeMs: The starting time for the data that is shown
-	// in the report. Note,
-	// <code>reportDataStartTimeMs</code> is required if
-	// <code>dataRange</code> is
-	// <code>CUSTOM_DATES</code> and ignored otherwise.
+	// in the report. Note, reportDataStartTimeMs is required if dataRange
+	// is CUSTOM_DATES and ignored otherwise.
 	ReportDataStartTimeMs int64 `json:"reportDataStartTimeMs,omitempty,string"`
 
 	// TimezoneCode: Canonical timezone code for report data time. Defaults
-	// to
-	// <code>America/New_York</code>.
+	// to America/New_York.
 	TimezoneCode string `json:"timezoneCode,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "DataRange") to
@@ -1620,22 +1574,18 @@
 
 // UploadLineItemsRequest: Request to upload line items.
 type UploadLineItemsRequest struct {
-	// DryRun: Set to <code>true</code> to get upload status without
-	// actually persisting
+	// DryRun: Set to true to get upload status without actually persisting
 	// the line items.
 	DryRun bool `json:"dryRun,omitempty"`
 
-	// Format: Format the line items are in. Default to <code>CSV</code>.
+	// Format: Format the line items are in. Default to CSV.
 	//
 	// Possible values:
 	//   "CSV"
 	Format string `json:"format,omitempty"`
 
-	// LineItems: Line items in CSV to upload. Refer to
-	// <a
-	// href="https://developers.google.com/bid-manager/guides/entity-write
-	// /format">
-	// Entity Write File Format</a> for more information on file format.
+	// LineItems: Line items in CSV to upload. Refer to Entity Write File
+	// Format for more information on file format.
 	LineItems string `json:"lineItems,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "DryRun") to
@@ -1735,8 +1685,7 @@
 }
 
 // Downloadlineitems: Retrieves line items in CSV format. YouTube &
-// partners line items are not
-// supported.
+// partners line items are not supported.
 func (r *LineitemsService) Downloadlineitems(downloadlineitemsrequest *DownloadLineItemsRequest) *LineitemsDownloadlineitemsCall {
 	c := &LineitemsDownloadlineitemsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.downloadlineitemsrequest = downloadlineitemsrequest
@@ -1770,7 +1719,7 @@
 
 func (c *LineitemsDownloadlineitemsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1783,7 +1732,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "doubleclickbidmanager/v1/lineitems/downloadlineitems")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "lineitems/downloadlineitems")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -1831,13 +1780,13 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Retrieves line items in CSV format. YouTube \u0026 partners line items are not\nsupported.",
-	//   "flatPath": "doubleclickbidmanager/v1/lineitems/downloadlineitems",
+	//   "description": "Retrieves line items in CSV format. YouTube \u0026 partners line items are not supported.",
+	//   "flatPath": "lineitems/downloadlineitems",
 	//   "httpMethod": "POST",
 	//   "id": "doubleclickbidmanager.lineitems.downloadlineitems",
 	//   "parameterOrder": [],
 	//   "parameters": {},
-	//   "path": "doubleclickbidmanager/v1/lineitems/downloadlineitems",
+	//   "path": "lineitems/downloadlineitems",
 	//   "request": {
 	//     "$ref": "DownloadLineItemsRequest"
 	//   },
@@ -1862,8 +1811,7 @@
 }
 
 // Uploadlineitems: Uploads line items in CSV format. YouTube & partners
-// line items are not
-// supported.
+// line items are not supported.
 func (r *LineitemsService) Uploadlineitems(uploadlineitemsrequest *UploadLineItemsRequest) *LineitemsUploadlineitemsCall {
 	c := &LineitemsUploadlineitemsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.uploadlineitemsrequest = uploadlineitemsrequest
@@ -1897,7 +1845,7 @@
 
 func (c *LineitemsUploadlineitemsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1910,7 +1858,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "doubleclickbidmanager/v1/lineitems/uploadlineitems")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "lineitems/uploadlineitems")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -1958,13 +1906,13 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Uploads line items in CSV format. YouTube \u0026 partners line items are not\nsupported.",
-	//   "flatPath": "doubleclickbidmanager/v1/lineitems/uploadlineitems",
+	//   "description": "Uploads line items in CSV format. YouTube \u0026 partners line items are not supported.",
+	//   "flatPath": "lineitems/uploadlineitems",
 	//   "httpMethod": "POST",
 	//   "id": "doubleclickbidmanager.lineitems.uploadlineitems",
 	//   "parameterOrder": [],
 	//   "parameters": {},
-	//   "path": "doubleclickbidmanager/v1/lineitems/uploadlineitems",
+	//   "path": "lineitems/uploadlineitems",
 	//   "request": {
 	//     "$ref": "UploadLineItemsRequest"
 	//   },
@@ -2022,7 +1970,7 @@
 
 func (c *QueriesCreatequeryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2035,7 +1983,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "doubleclickbidmanager/v1/query")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "query")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -2084,12 +2032,12 @@
 	return ret, nil
 	// {
 	//   "description": "Creates a query.",
-	//   "flatPath": "doubleclickbidmanager/v1/query",
+	//   "flatPath": "query",
 	//   "httpMethod": "POST",
 	//   "id": "doubleclickbidmanager.queries.createquery",
 	//   "parameterOrder": [],
 	//   "parameters": {},
-	//   "path": "doubleclickbidmanager/v1/query",
+	//   "path": "query",
 	//   "request": {
 	//     "$ref": "Query"
 	//   },
@@ -2148,7 +2096,7 @@
 
 func (c *QueriesDeletequeryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2156,7 +2104,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "doubleclickbidmanager/v1/query/{queryId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "query/{queryId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("DELETE", urls, body)
 	if err != nil {
@@ -2183,7 +2131,7 @@
 	return nil
 	// {
 	//   "description": "Deletes a stored query as well as the associated stored reports.",
-	//   "flatPath": "doubleclickbidmanager/v1/query/{queryId}",
+	//   "flatPath": "query/{queryId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "doubleclickbidmanager.queries.deletequery",
 	//   "parameterOrder": [
@@ -2198,7 +2146,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "doubleclickbidmanager/v1/query/{queryId}",
+	//   "path": "query/{queryId}",
 	//   "scopes": [
 	//     "https://www.googleapis.com/auth/doubleclickbidmanager"
 	//   ]
@@ -2261,7 +2209,7 @@
 
 func (c *QueriesGetqueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2272,7 +2220,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "doubleclickbidmanager/v1/query/{queryId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "query/{queryId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -2324,7 +2272,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves a stored query.",
-	//   "flatPath": "doubleclickbidmanager/v1/query/{queryId}",
+	//   "flatPath": "query/{queryId}",
 	//   "httpMethod": "GET",
 	//   "id": "doubleclickbidmanager.queries.getquery",
 	//   "parameterOrder": [
@@ -2339,7 +2287,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "doubleclickbidmanager/v1/query/{queryId}",
+	//   "path": "query/{queryId}",
 	//   "response": {
 	//     "$ref": "Query"
 	//   },
@@ -2403,7 +2351,7 @@
 
 func (c *QueriesListqueriesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2414,7 +2362,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "doubleclickbidmanager/v1/queries")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "queries")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -2463,12 +2411,12 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves stored queries.",
-	//   "flatPath": "doubleclickbidmanager/v1/queries",
+	//   "flatPath": "queries",
 	//   "httpMethod": "GET",
 	//   "id": "doubleclickbidmanager.queries.listqueries",
 	//   "parameterOrder": [],
 	//   "parameters": {},
-	//   "path": "doubleclickbidmanager/v1/queries",
+	//   "path": "queries",
 	//   "response": {
 	//     "$ref": "ListQueriesResponse"
 	//   },
@@ -2525,7 +2473,7 @@
 
 func (c *QueriesRunqueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2538,7 +2486,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "doubleclickbidmanager/v1/query/{queryId}")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "query/{queryId}")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -2565,7 +2513,7 @@
 	return nil
 	// {
 	//   "description": "Runs a stored query to generate a report.",
-	//   "flatPath": "doubleclickbidmanager/v1/query/{queryId}",
+	//   "flatPath": "query/{queryId}",
 	//   "httpMethod": "POST",
 	//   "id": "doubleclickbidmanager.queries.runquery",
 	//   "parameterOrder": [
@@ -2580,7 +2528,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "doubleclickbidmanager/v1/query/{queryId}",
+	//   "path": "query/{queryId}",
 	//   "request": {
 	//     "$ref": "RunQueryRequest"
 	//   },
@@ -2646,7 +2594,7 @@
 
 func (c *ReportsListreportsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2657,7 +2605,7 @@
 	var body io.Reader = nil
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "doubleclickbidmanager/v1/queries/{queryId}/reports")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "queries/{queryId}/reports")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("GET", urls, body)
 	if err != nil {
@@ -2709,7 +2657,7 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves stored reports.",
-	//   "flatPath": "doubleclickbidmanager/v1/queries/{queryId}/reports",
+	//   "flatPath": "queries/{queryId}/reports",
 	//   "httpMethod": "GET",
 	//   "id": "doubleclickbidmanager.reports.listreports",
 	//   "parameterOrder": [
@@ -2724,7 +2672,7 @@
 	//       "type": "string"
 	//     }
 	//   },
-	//   "path": "doubleclickbidmanager/v1/queries/{queryId}/reports",
+	//   "path": "queries/{queryId}/reports",
 	//   "response": {
 	//     "$ref": "ListReportsResponse"
 	//   },
@@ -2779,7 +2727,7 @@
 
 func (c *SdfDownloadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2792,7 +2740,7 @@
 	reqHeaders.Set("Content-Type", "application/json")
 	c.urlParams_.Set("alt", alt)
 	c.urlParams_.Set("prettyPrint", "false")
-	urls := googleapi.ResolveRelative(c.s.BasePath, "doubleclickbidmanager/v1/sdf/download")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "sdf/download")
 	urls += "?" + c.urlParams_.Encode()
 	req, err := http.NewRequest("POST", urls, body)
 	if err != nil {
@@ -2841,12 +2789,12 @@
 	return ret, nil
 	// {
 	//   "description": "Retrieves entities in SDF format.",
-	//   "flatPath": "doubleclickbidmanager/v1/sdf/download",
+	//   "flatPath": "sdf/download",
 	//   "httpMethod": "POST",
 	//   "id": "doubleclickbidmanager.sdf.download",
 	//   "parameterOrder": [],
 	//   "parameters": {},
-	//   "path": "doubleclickbidmanager/v1/sdf/download",
+	//   "path": "sdf/download",
 	//   "request": {
 	//     "$ref": "DownloadRequest"
 	//   },
diff --git a/doubleclicksearch/v2/doubleclicksearch-gen.go b/doubleclicksearch/v2/doubleclicksearch-gen.go
index 46b2250..7bf164b 100644
--- a/doubleclicksearch/v2/doubleclicksearch-gen.go
+++ b/doubleclicksearch/v2/doubleclicksearch-gen.go
@@ -1155,7 +1155,7 @@
 
 func (c *ConversionGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1368,7 +1368,7 @@
 
 func (c *ConversionInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1493,7 +1493,7 @@
 
 func (c *ConversionUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1619,7 +1619,7 @@
 
 func (c *ConversionUpdateAvailabilityCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1744,7 +1744,7 @@
 
 func (c *ReportsGenerateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1880,7 +1880,7 @@
 
 func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2025,7 +2025,7 @@
 
 func (c *ReportsGetFileCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2157,7 +2157,7 @@
 
 func (c *ReportsRequestCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2295,7 +2295,7 @@
 
 func (c *SavedColumnsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/drive/v2/drive-gen.go b/drive/v2/drive-gen.go
index 5d139a5..39da535 100644
--- a/drive/v2/drive-gen.go
+++ b/drive/v2/drive-gen.go
@@ -4025,7 +4025,7 @@
 
 func (c *AboutGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4180,7 +4180,7 @@
 
 func (c *AppsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4356,7 +4356,7 @@
 
 func (c *AppsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4533,7 +4533,7 @@
 
 func (c *ChangesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4733,7 +4733,7 @@
 
 func (c *ChangesGetStartPageTokenCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5005,7 +5005,7 @@
 
 func (c *ChangesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5349,7 +5349,7 @@
 
 func (c *ChangesWatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5563,7 +5563,7 @@
 
 func (c *ChannelsStopCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5677,7 +5677,7 @@
 
 func (c *ChildrenDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5805,7 +5805,7 @@
 
 func (c *ChildrenGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5981,7 +5981,7 @@
 
 func (c *ChildrenInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6183,7 +6183,7 @@
 
 func (c *ChildrenListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6366,7 +6366,7 @@
 
 func (c *CommentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6496,7 +6496,7 @@
 
 func (c *CommentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6645,7 +6645,7 @@
 
 func (c *CommentsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6825,7 +6825,7 @@
 
 func (c *CommentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7008,7 +7008,7 @@
 
 func (c *CommentsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7157,7 +7157,7 @@
 
 func (c *CommentsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7303,7 +7303,7 @@
 
 func (c *DrivesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7423,7 +7423,7 @@
 
 func (c *DrivesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7561,7 +7561,7 @@
 
 func (c *DrivesHideCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7690,7 +7690,7 @@
 
 func (c *DrivesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7862,7 +7862,7 @@
 
 func (c *DrivesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8028,7 +8028,7 @@
 
 func (c *DrivesUnhideCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8167,7 +8167,7 @@
 
 func (c *DrivesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8401,7 +8401,7 @@
 
 func (c *FilesCopyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8628,7 +8628,7 @@
 
 func (c *FilesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8740,7 +8740,7 @@
 
 func (c *FilesEmptyTrashCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8840,7 +8840,7 @@
 
 func (c *FilesExportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8994,7 +8994,7 @@
 
 func (c *FilesGenerateIdsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9200,7 +9200,7 @@
 
 func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9540,7 +9540,7 @@
 
 func (c *FilesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9931,7 +9931,7 @@
 
 func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10334,7 +10334,7 @@
 
 func (c *FilesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10610,7 +10610,7 @@
 
 func (c *FilesTouchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10789,7 +10789,7 @@
 
 func (c *FilesTrashCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10963,7 +10963,7 @@
 
 func (c *FilesUntrashCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11308,7 +11308,7 @@
 
 func (c *FilesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11666,7 +11666,7 @@
 
 func (c *FilesWatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11887,7 +11887,7 @@
 
 func (c *ParentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12015,7 +12015,7 @@
 
 func (c *ParentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12191,7 +12191,7 @@
 
 func (c *ParentsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12358,7 +12358,7 @@
 
 func (c *ParentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12522,7 +12522,7 @@
 
 func (c *PermissionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12687,7 +12687,7 @@
 
 func (c *PermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12860,7 +12860,7 @@
 
 func (c *PermissionsGetIdForEmailCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13066,7 +13066,7 @@
 
 func (c *PermissionsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13307,7 +13307,7 @@
 
 func (c *PermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13544,7 +13544,7 @@
 
 func (c *PermissionsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13763,7 +13763,7 @@
 
 func (c *PermissionsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13947,7 +13947,7 @@
 
 func (c *PropertiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14084,7 +14084,7 @@
 
 func (c *PropertiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14238,7 +14238,7 @@
 
 func (c *PropertiesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14388,7 +14388,7 @@
 
 func (c *PropertiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14537,7 +14537,7 @@
 
 func (c *PropertiesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14702,7 +14702,7 @@
 
 func (c *PropertiesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14859,7 +14859,7 @@
 
 func (c *RepliesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14998,7 +14998,7 @@
 
 func (c *RepliesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15157,7 +15157,7 @@
 
 func (c *RepliesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15339,7 +15339,7 @@
 
 func (c *RepliesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15527,7 +15527,7 @@
 
 func (c *RepliesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15686,7 +15686,7 @@
 
 func (c *RepliesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15844,7 +15844,7 @@
 
 func (c *RevisionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15967,7 +15967,7 @@
 
 func (c *RevisionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16138,7 +16138,7 @@
 
 func (c *RevisionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16314,7 +16314,7 @@
 
 func (c *RevisionsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16464,7 +16464,7 @@
 
 func (c *RevisionsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16610,7 +16610,7 @@
 
 func (c *TeamdrivesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16730,7 +16730,7 @@
 
 func (c *TeamdrivesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16869,7 +16869,7 @@
 
 func (c *TeamdrivesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17041,7 +17041,7 @@
 
 func (c *TeamdrivesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17218,7 +17218,7 @@
 
 func (c *TeamdrivesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/drive/v3/drive-gen.go b/drive/v3/drive-gen.go
index ede3de2..e390a66 100644
--- a/drive/v3/drive-gen.go
+++ b/drive/v3/drive-gen.go
@@ -3006,7 +3006,7 @@
 
 func (c *AboutGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3169,7 +3169,7 @@
 
 func (c *ChangesGetStartPageTokenCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3425,7 +3425,7 @@
 
 func (c *ChangesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3732,7 +3732,7 @@
 
 func (c *ChangesWatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3945,7 +3945,7 @@
 
 func (c *ChannelsStopCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4048,7 +4048,7 @@
 
 func (c *CommentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4187,7 +4187,7 @@
 
 func (c *CommentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4317,7 +4317,7 @@
 
 func (c *CommentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4506,7 +4506,7 @@
 
 func (c *CommentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4689,7 +4689,7 @@
 
 func (c *CommentsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4835,7 +4835,7 @@
 
 func (c *DrivesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4969,7 +4969,7 @@
 
 func (c *DrivesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5089,7 +5089,7 @@
 
 func (c *DrivesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5227,7 +5227,7 @@
 
 func (c *DrivesHideCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5394,7 +5394,7 @@
 
 func (c *DrivesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5560,7 +5560,7 @@
 
 func (c *DrivesUnhideCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5699,7 +5699,7 @@
 
 func (c *DrivesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5906,7 +5906,7 @@
 
 func (c *FilesCopyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6195,7 +6195,7 @@
 
 func (c *FilesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6431,7 +6431,7 @@
 
 func (c *FilesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6543,7 +6543,7 @@
 
 func (c *FilesEmptyTrashCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6643,7 +6643,7 @@
 
 func (c *FilesExportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6797,7 +6797,7 @@
 
 func (c *FilesGenerateIdsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6977,7 +6977,7 @@
 
 func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7290,7 +7290,7 @@
 
 func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7643,7 +7643,7 @@
 
 func (c *FilesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7913,7 +7913,7 @@
 
 func (c *FilesWatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8175,7 +8175,7 @@
 
 func (c *PermissionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8385,7 +8385,7 @@
 
 func (c *PermissionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8550,7 +8550,7 @@
 
 func (c *PermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8774,7 +8774,7 @@
 
 func (c *PermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9012,7 +9012,7 @@
 
 func (c *PermissionsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9191,7 +9191,7 @@
 
 func (c *RepliesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9340,7 +9340,7 @@
 
 func (c *RepliesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9480,7 +9480,7 @@
 
 func (c *RepliesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9671,7 +9671,7 @@
 
 func (c *RepliesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9859,7 +9859,7 @@
 
 func (c *RepliesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10017,7 +10017,7 @@
 
 func (c *RevisionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10149,7 +10149,7 @@
 
 func (c *RevisionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10344,7 +10344,7 @@
 
 func (c *RevisionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10520,7 +10520,7 @@
 
 func (c *RevisionsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10667,7 +10667,7 @@
 
 func (c *TeamdrivesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10800,7 +10800,7 @@
 
 func (c *TeamdrivesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10920,7 +10920,7 @@
 
 func (c *TeamdrivesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11097,7 +11097,7 @@
 
 func (c *TeamdrivesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11274,7 +11274,7 @@
 
 func (c *TeamdrivesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/driveactivity/v2/driveactivity-gen.go b/driveactivity/v2/driveactivity-gen.go
index cf1178f..0c64641 100644
--- a/driveactivity/v2/driveactivity-gen.go
+++ b/driveactivity/v2/driveactivity-gen.go
@@ -1875,7 +1875,7 @@
 
 func (c *ActivityQueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/factchecktools/v1alpha1/factchecktools-gen.go b/factchecktools/v1alpha1/factchecktools-gen.go
index 2ed27ca..fee6479 100644
--- a/factchecktools/v1alpha1/factchecktools-gen.go
+++ b/factchecktools/v1alpha1/factchecktools-gen.go
@@ -730,7 +730,7 @@
 
 func (c *ClaimsSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -910,7 +910,7 @@
 
 func (c *PagesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1038,7 +1038,7 @@
 
 func (c *PagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1179,7 +1179,7 @@
 
 func (c *PagesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1371,7 +1371,7 @@
 
 func (c *PagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1549,7 +1549,7 @@
 
 func (c *PagesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/fcm/v1/fcm-gen.go b/fcm/v1/fcm-gen.go
index fc124f9..c7849b8 100644
--- a/fcm/v1/fcm-gen.go
+++ b/fcm/v1/fcm-gen.go
@@ -1039,7 +1039,7 @@
 
 func (c *ProjectsMessagesSendCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/file/v1/file-gen.go b/file/v1/file-gen.go
index e88ece1..e51ee94 100644
--- a/file/v1/file-gen.go
+++ b/file/v1/file-gen.go
@@ -1165,7 +1165,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1339,7 +1339,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1524,7 +1524,7 @@
 
 func (c *ProjectsLocationsInstancesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1667,7 +1667,7 @@
 
 func (c *ProjectsLocationsInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1808,7 +1808,7 @@
 
 func (c *ProjectsLocationsInstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1981,7 +1981,7 @@
 
 func (c *ProjectsLocationsInstancesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2167,7 +2167,7 @@
 
 func (c *ProjectsLocationsInstancesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2322,7 +2322,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2463,7 +2463,7 @@
 
 func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2606,7 +2606,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2780,7 +2780,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/file/v1beta1/file-gen.go b/file/v1beta1/file-gen.go
index f65bbaa..9365cdd 100644
--- a/file/v1beta1/file-gen.go
+++ b/file/v1beta1/file-gen.go
@@ -1242,7 +1242,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1416,7 +1416,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1603,7 +1603,7 @@
 
 func (c *ProjectsLocationsInstancesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1746,7 +1746,7 @@
 
 func (c *ProjectsLocationsInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1887,7 +1887,7 @@
 
 func (c *ProjectsLocationsInstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2060,7 +2060,7 @@
 
 func (c *ProjectsLocationsInstancesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2246,7 +2246,7 @@
 
 func (c *ProjectsLocationsInstancesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2401,7 +2401,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2542,7 +2542,7 @@
 
 func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2685,7 +2685,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2859,7 +2859,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/firebase/v1beta1/firebase-gen.go b/firebase/v1beta1/firebase-gen.go
index 3e723ad..99484d4 100644
--- a/firebase/v1beta1/firebase-gen.go
+++ b/firebase/v1beta1/firebase-gen.go
@@ -1883,7 +1883,7 @@
 
 func (c *AvailableProjectsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2052,7 +2052,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2212,7 +2212,7 @@
 
 func (c *ProjectsAddFirebaseCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2393,7 +2393,7 @@
 
 func (c *ProjectsAddGoogleAnalyticsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2543,7 +2543,7 @@
 
 func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2695,7 +2695,7 @@
 
 func (c *ProjectsGetAdminSdkConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2845,7 +2845,7 @@
 
 func (c *ProjectsGetAnalyticsDetailsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3016,7 +3016,7 @@
 
 func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3184,7 +3184,7 @@
 
 func (c *ProjectsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3343,7 +3343,7 @@
 
 func (c *ProjectsRemoveAnalyticsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3515,7 +3515,7 @@
 
 func (c *ProjectsSearchAppsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3689,7 +3689,7 @@
 
 func (c *ProjectsAndroidAppsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3839,7 +3839,7 @@
 
 func (c *ProjectsAndroidAppsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3987,7 +3987,7 @@
 
 func (c *ProjectsAndroidAppsGetConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4154,7 +4154,7 @@
 
 func (c *ProjectsAndroidAppsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4332,7 +4332,7 @@
 
 func (c *ProjectsAndroidAppsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4479,7 +4479,7 @@
 
 func (c *ProjectsAndroidAppsShaCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4618,7 +4618,7 @@
 
 func (c *ProjectsAndroidAppsShaDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4761,7 +4761,7 @@
 
 func (c *ProjectsAndroidAppsShaListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4943,7 +4943,7 @@
 
 func (c *ProjectsAvailableLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5143,7 +5143,7 @@
 
 func (c *ProjectsDefaultLocationFinalizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5288,7 +5288,7 @@
 
 func (c *ProjectsIosAppsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5438,7 +5438,7 @@
 
 func (c *ProjectsIosAppsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5586,7 +5586,7 @@
 
 func (c *ProjectsIosAppsGetConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5753,7 +5753,7 @@
 
 func (c *ProjectsIosAppsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5931,7 +5931,7 @@
 
 func (c *ProjectsIosAppsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6082,7 +6082,7 @@
 
 func (c *ProjectsWebAppsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6232,7 +6232,7 @@
 
 func (c *ProjectsWebAppsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6380,7 +6380,7 @@
 
 func (c *ProjectsWebAppsGetConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6547,7 +6547,7 @@
 
 func (c *ProjectsWebAppsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6725,7 +6725,7 @@
 
 func (c *ProjectsWebAppsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/firebasedynamiclinks/v1/firebasedynamiclinks-gen.go b/firebasedynamiclinks/v1/firebasedynamiclinks-gen.go
index 71fef90..26adec7 100644
--- a/firebasedynamiclinks/v1/firebasedynamiclinks-gen.go
+++ b/firebasedynamiclinks/v1/firebasedynamiclinks-gen.go
@@ -1430,7 +1430,7 @@
 
 func (c *ManagedShortLinksCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1561,7 +1561,7 @@
 
 func (c *ShortLinksCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1713,7 +1713,7 @@
 
 func (c *V1GetLinkStatsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1857,7 +1857,7 @@
 
 func (c *V1InstallAttributionCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1984,7 +1984,7 @@
 
 func (c *V1ReopenAttributionCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/firebasehosting/v1/firebasehosting-gen.go b/firebasehosting/v1/firebasehosting-gen.go
index 1cf6f21..6d27d00 100644
--- a/firebasehosting/v1/firebasehosting-gen.go
+++ b/firebasehosting/v1/firebasehosting-gen.go
@@ -344,7 +344,7 @@
 
 func (c *OperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -482,7 +482,7 @@
 
 func (c *OperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -650,7 +650,7 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/firebasehosting/v1beta1/firebasehosting-api.json b/firebasehosting/v1beta1/firebasehosting-api.json
index 201ff06..f504303 100644
--- a/firebasehosting/v1beta1/firebasehosting-api.json
+++ b/firebasehosting/v1beta1/firebasehosting-api.json
@@ -1391,7 +1391,7 @@
       }
     }
   },
-  "revision": "20200731",
+  "revision": "20200811",
   "rootUrl": "https://firebasehosting.googleapis.com/",
   "schemas": {
     "ActingUser": {
@@ -1634,6 +1634,17 @@
       },
       "type": "object"
     },
+    "I18nConfig": {
+      "description": "If provided, i18n rewrites are enabled.",
+      "id": "I18nConfig",
+      "properties": {
+        "root": {
+          "description": "Required. The user-supplied path where country and language specific content will be looked for within the public directory.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "ListDomainsResponse": {
       "description": "The response to listing Domains.",
       "id": "ListDomainsResponse",
@@ -1911,6 +1922,10 @@
           },
           "type": "array"
         },
+        "i18n": {
+          "$ref": "I18nConfig",
+          "description": "Optional. Defines i18n rewrite behavior."
+        },
         "redirects": {
           "description": "An array of objects (called redirect rules), where each rule specifies a URL pattern that, if matched to the request URL path, triggers Hosting to respond with a redirect to the specified destination path.",
           "items": {
diff --git a/firebasehosting/v1beta1/firebasehosting-gen.go b/firebasehosting/v1beta1/firebasehosting-gen.go
index 1928631..d119c27 100644
--- a/firebasehosting/v1beta1/firebasehosting-gen.go
+++ b/firebasehosting/v1beta1/firebasehosting-gen.go
@@ -718,6 +718,35 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// I18nConfig: If provided, i18n rewrites are enabled.
+type I18nConfig struct {
+	// Root: Required. The user-supplied path where country and language
+	// specific content will be looked for within the public directory.
+	Root string `json:"root,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "Root") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "Root") to include in API
+	// requests with the JSON null value. By default, fields with empty
+	// values are omitted from API requests. However, any field with an
+	// empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *I18nConfig) MarshalJSON() ([]byte, error) {
+	type NoMethod I18nConfig
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // ListDomainsResponse: The response to listing Domains.
 type ListDomainsResponse struct {
 	// Domains: The list of domains, if any exist.
@@ -1222,6 +1251,9 @@
 	// apply the specified custom response headers.
 	Headers []*Header `json:"headers,omitempty"`
 
+	// I18n: Optional. Defines i18n rewrite behavior.
+	I18n *I18nConfig `json:"i18n,omitempty"`
+
 	// Redirects: An array of objects (called redirect rules), where each
 	// rule specifies a URL pattern that, if matched to the request URL
 	// path, triggers Hosting to respond with a redirect to the specified
@@ -1562,7 +1594,7 @@
 
 func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1709,7 +1741,7 @@
 
 func (c *ProjectsSitesGetConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1857,7 +1889,7 @@
 
 func (c *ProjectsSitesUpdateConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2016,7 +2048,7 @@
 
 func (c *ProjectsSitesChannelsReleasesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2186,7 +2218,7 @@
 
 func (c *ProjectsSitesChannelsReleasesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2356,7 +2388,7 @@
 
 func (c *ProjectsSitesDomainsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2495,7 +2527,7 @@
 
 func (c *ProjectsSitesDomainsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2637,7 +2669,7 @@
 
 func (c *ProjectsSitesDomainsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2798,7 +2830,7 @@
 
 func (c *ProjectsSitesDomainsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2969,7 +3001,7 @@
 
 func (c *ProjectsSitesDomainsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3122,7 +3154,7 @@
 
 func (c *ProjectsSitesReleasesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3292,7 +3324,7 @@
 
 func (c *ProjectsSitesReleasesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3477,7 +3509,7 @@
 
 func (c *ProjectsSitesVersionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3627,7 +3659,7 @@
 
 func (c *ProjectsSitesVersionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3795,7 +3827,7 @@
 
 func (c *ProjectsSitesVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3985,7 +4017,7 @@
 
 func (c *ProjectsSitesVersionsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4133,7 +4165,7 @@
 
 func (c *ProjectsSitesVersionsPopulateFilesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4314,7 +4346,7 @@
 
 func (c *ProjectsSitesVersionsFilesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4508,7 +4540,7 @@
 
 func (c *SitesGetConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4656,7 +4688,7 @@
 
 func (c *SitesUpdateConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4815,7 +4847,7 @@
 
 func (c *SitesChannelsReleasesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4985,7 +5017,7 @@
 
 func (c *SitesChannelsReleasesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5155,7 +5187,7 @@
 
 func (c *SitesDomainsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5294,7 +5326,7 @@
 
 func (c *SitesDomainsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5436,7 +5468,7 @@
 
 func (c *SitesDomainsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5597,7 +5629,7 @@
 
 func (c *SitesDomainsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5768,7 +5800,7 @@
 
 func (c *SitesDomainsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5921,7 +5953,7 @@
 
 func (c *SitesReleasesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6091,7 +6123,7 @@
 
 func (c *SitesReleasesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6276,7 +6308,7 @@
 
 func (c *SitesVersionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6426,7 +6458,7 @@
 
 func (c *SitesVersionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6594,7 +6626,7 @@
 
 func (c *SitesVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6784,7 +6816,7 @@
 
 func (c *SitesVersionsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6932,7 +6964,7 @@
 
 func (c *SitesVersionsPopulateFilesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7113,7 +7145,7 @@
 
 func (c *SitesVersionsFilesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/firebaseml/v1/firebaseml-gen.go b/firebaseml/v1/firebaseml-gen.go
index 871498f..ade5b5e 100644
--- a/firebaseml/v1/firebaseml-gen.go
+++ b/firebaseml/v1/firebaseml-gen.go
@@ -395,7 +395,7 @@
 
 func (c *OperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -536,7 +536,7 @@
 
 func (c *OperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -707,7 +707,7 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/firebaseml/v1beta2/firebaseml-gen.go b/firebaseml/v1beta2/firebaseml-gen.go
index b2809b2..91f045d 100644
--- a/firebaseml/v1beta2/firebaseml-gen.go
+++ b/firebaseml/v1beta2/firebaseml-gen.go
@@ -556,7 +556,7 @@
 
 func (c *ProjectsModelsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -694,7 +694,7 @@
 
 func (c *ProjectsModelsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -835,7 +835,7 @@
 
 func (c *ProjectsModelsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1000,7 +1000,7 @@
 
 func (c *ProjectsModelsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1179,7 +1179,7 @@
 
 func (c *ProjectsModelsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1336,7 +1336,7 @@
 
 func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/firebaserules/v1/firebaserules-gen.go b/firebaserules/v1/firebaserules-gen.go
index f2da26a..5aef956 100644
--- a/firebaserules/v1/firebaserules-gen.go
+++ b/firebaserules/v1/firebaserules-gen.go
@@ -1201,7 +1201,7 @@
 
 func (c *ProjectsTestCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1358,7 +1358,7 @@
 
 func (c *ProjectsReleasesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1497,7 +1497,7 @@
 
 func (c *ProjectsReleasesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1639,7 +1639,7 @@
 
 func (c *ProjectsReleasesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1802,7 +1802,7 @@
 
 func (c *ProjectsReleasesGetExecutableCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2006,7 +2006,7 @@
 
 func (c *ProjectsReleasesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2183,7 +2183,7 @@
 
 func (c *ProjectsReleasesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2328,7 +2328,7 @@
 
 func (c *ProjectsRulesetsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2468,7 +2468,7 @@
 
 func (c *ProjectsRulesetsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2610,7 +2610,7 @@
 
 func (c *ProjectsRulesetsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2785,7 +2785,7 @@
 
 func (c *ProjectsRulesetsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/firestore/v1/firestore-api.json b/firestore/v1/firestore-api.json
index 33355a5..3c96bc3 100644
--- a/firestore/v1/firestore-api.json
+++ b/firestore/v1/firestore-api.json
@@ -15,7 +15,7 @@
   "baseUrl": "https://firestore.googleapis.com/",
   "batchPath": "batch",
   "canonicalName": "Firestore",
-  "description": "Accesses the NoSQL document database built for automatic scaling, high performance, and ease of application development.\n",
+  "description": "Accesses the NoSQL document database built for automatic scaling, high performance, and ease of application development. ",
   "discoveryVersion": "v1",
   "documentationLink": "https://cloud.google.com/firestore",
   "fullyEncodeReservedExpansion": true,
@@ -113,7 +113,7 @@
         "databases": {
           "methods": {
             "exportDocuments": {
-              "description": "Exports a copy of all or a subset of documents from Google Cloud Firestore\nto another storage system, such as Google Cloud Storage. Recent updates to\ndocuments may not be reflected in the export. The export occurs in the\nbackground and its progress can be monitored and managed via the\nOperation resource that is created. The output of an export may only be\nused once the associated operation is done. If an export operation is\ncancelled before completion it may leave partial data behind in Google\nCloud Storage.",
+              "description": "Exports a copy of all or a subset of documents from Google Cloud Firestore to another storage system, such as Google Cloud Storage. Recent updates to documents may not be reflected in the export. The export occurs in the background and its progress can be monitored and managed via the Operation resource that is created. The output of an export may only be used once the associated operation is done. If an export operation is cancelled before completion it may leave partial data behind in Google Cloud Storage.",
               "flatPath": "v1/projects/{projectsId}/databases/{databasesId}:exportDocuments",
               "httpMethod": "POST",
               "id": "firestore.projects.databases.exportDocuments",
@@ -122,7 +122,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. Database to export. Should be of the form:\n`projects/{project_id}/databases/{database_id}`.",
+                  "description": "Required. Database to export. Should be of the form: `projects/{project_id}/databases/{database_id}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/databases/[^/]+$",
                   "required": true,
@@ -142,7 +142,7 @@
               ]
             },
             "importDocuments": {
-              "description": "Imports documents into Google Cloud Firestore. Existing documents with the\nsame name are overwritten. The import occurs in the background and its\nprogress can be monitored and managed via the Operation resource that is\ncreated. If an ImportDocuments operation is cancelled, it is possible\nthat a subset of the data has already been imported to Cloud Firestore.",
+              "description": "Imports documents into Google Cloud Firestore. Existing documents with the same name are overwritten. The import occurs in the background and its progress can be monitored and managed via the Operation resource that is created. If an ImportDocuments operation is cancelled, it is possible that a subset of the data has already been imported to Cloud Firestore.",
               "flatPath": "v1/projects/{projectsId}/databases/{databasesId}:importDocuments",
               "httpMethod": "POST",
               "id": "firestore.projects.databases.importDocuments",
@@ -151,7 +151,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. Database to import into. Should be of the form:\n`projects/{project_id}/databases/{database_id}`.",
+                  "description": "Required. Database to import into. Should be of the form: `projects/{project_id}/databases/{database_id}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/databases/[^/]+$",
                   "required": true,
@@ -186,7 +186,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. A name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_id}`",
+                          "description": "Required. A name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_id}`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+/fields/[^/]+$",
                           "required": true,
@@ -203,7 +203,7 @@
                       ]
                     },
                     "list": {
-                      "description": "Lists the field configuration and metadata for this database.\n\nCurrently, FirestoreAdmin.ListFields only supports listing fields\nthat have been explicitly overridden. To issue this query, call\nFirestoreAdmin.ListFields with the filter set to\n`indexConfig.usesAncestorConfig:false`.",
+                      "description": "Lists the field configuration and metadata for this database. Currently, FirestoreAdmin.ListFields only supports listing fields that have been explicitly overridden. To issue this query, call FirestoreAdmin.ListFields with the filter set to `indexConfig.usesAncestorConfig:false`.",
                       "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/collectionGroups/{collectionGroupsId}/fields",
                       "httpMethod": "GET",
                       "id": "firestore.projects.databases.collectionGroups.fields.list",
@@ -212,7 +212,7 @@
                       ],
                       "parameters": {
                         "filter": {
-                          "description": "The filter to apply to list results. Currently,\nFirestoreAdmin.ListFields only supports listing fields\nthat have been explicitly overridden. To issue this query, call\nFirestoreAdmin.ListFields with the filter set to\n`indexConfig.usesAncestorConfig:false`.",
+                          "description": "The filter to apply to list results. Currently, FirestoreAdmin.ListFields only supports listing fields that have been explicitly overridden. To issue this query, call FirestoreAdmin.ListFields with the filter set to `indexConfig.usesAncestorConfig:false`.",
                           "location": "query",
                           "type": "string"
                         },
@@ -223,12 +223,12 @@
                           "type": "integer"
                         },
                         "pageToken": {
-                          "description": "A page token, returned from a previous call to\nFirestoreAdmin.ListFields, that may be used to get the next\npage of results.",
+                          "description": "A page token, returned from a previous call to FirestoreAdmin.ListFields, that may be used to get the next page of results.",
                           "location": "query",
                           "type": "string"
                         },
                         "parent": {
-                          "description": "Required. A parent name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
+                          "description": "Required. A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+$",
                           "required": true,
@@ -245,7 +245,7 @@
                       ]
                     },
                     "patch": {
-                      "description": "Updates a field configuration. Currently, field updates apply only to\nsingle field index configuration. However, calls to\nFirestoreAdmin.UpdateField should provide a field mask to avoid\nchanging any configuration that the caller isn't aware of. The field mask\nshould be specified as: `{ paths: \"index_config\" }`.\n\nThis call returns a google.longrunning.Operation which may be used to\ntrack the status of the field update. The metadata for\nthe operation will be the type FieldOperationMetadata.\n\nTo configure the default field settings for the database, use\nthe special `Field` with resource name:\n`projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`.",
+                      "description": "Updates a field configuration. Currently, field updates apply only to single field index configuration. However, calls to FirestoreAdmin.UpdateField should provide a field mask to avoid changing any configuration that the caller isn't aware of. The field mask should be specified as: `{ paths: \"index_config\" }`. This call returns a google.longrunning.Operation which may be used to track the status of the field update. The metadata for the operation will be the type FieldOperationMetadata. To configure the default field settings for the database, use the special `Field` with resource name: `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`.",
                       "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/collectionGroups/{collectionGroupsId}/fields/{fieldsId}",
                       "httpMethod": "PATCH",
                       "id": "firestore.projects.databases.collectionGroups.fields.patch",
@@ -254,14 +254,14 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "A field name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}`\n\nA field path may be a simple field name, e.g. `address` or a path to fields\nwithin map_value , e.g. `address.city`,\nor a special field path. The only valid special field is `*`, which\nrepresents any field.\n\nField paths may be quoted using ` (backtick). The only character that needs\nto be escaped within a quoted field path is the backtick character itself,\nescaped using a backslash. Special characters in field paths that\nmust be quoted include: `*`, `.`,\n``` (backtick), `[`, `]`, as well as any ascii symbolic characters.\n\nExamples:\n(Note: Comments here are written in markdown syntax, so there is an\n additional layer of backticks to represent a code block)\n`\\`address.city\\`` represents a field named `address.city`, not the map key\n`city` in the field `address`.\n`\\`*\\`` represents a field named `*`, not any field.\n\nA special `Field` contains the default indexing settings for all fields.\nThis field's resource name is:\n`projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`\nIndexes defined on this `Field` will be applied to all fields which do not\nhave their own `Field` index configuration.",
+                          "description": "A field name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}` A field path may be a simple field name, e.g. `address` or a path to fields within map_value , e.g. `address.city`, or a special field path. The only valid special field is `*`, which represents any field. Field paths may be quoted using ` (backtick). The only character that needs to be escaped within a quoted field path is the backtick character itself, escaped using a backslash. Special characters in field paths that must be quoted include: `*`, `.`, ``` (backtick), `[`, `]`, as well as any ascii symbolic characters. Examples: (Note: Comments here are written in markdown syntax, so there is an additional layer of backticks to represent a code block) `\\`address.city\\`` represents a field named `address.city`, not the map key `city` in the field `address`. `\\`*\\`` represents a field named `*`, not any field. A special `Field` contains the default indexing settings for all fields. This field's resource name is: `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*` Indexes defined on this `Field` will be applied to all fields which do not have their own `Field` index configuration.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+/fields/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
                         "updateMask": {
-                          "description": "A mask, relative to the field. If specified, only configuration specified\nby this field_mask will be updated in the field.",
+                          "description": "A mask, relative to the field. If specified, only configuration specified by this field_mask will be updated in the field.",
                           "format": "google-fieldmask",
                           "location": "query",
                           "type": "string"
@@ -284,7 +284,7 @@
                 "indexes": {
                   "methods": {
                     "create": {
-                      "description": "Creates a composite index. This returns a google.longrunning.Operation\nwhich may be used to track the status of the creation. The metadata for\nthe operation will be the type IndexOperationMetadata.",
+                      "description": "Creates a composite index. This returns a google.longrunning.Operation which may be used to track the status of the creation. The metadata for the operation will be the type IndexOperationMetadata.",
                       "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/collectionGroups/{collectionGroupsId}/indexes",
                       "httpMethod": "POST",
                       "id": "firestore.projects.databases.collectionGroups.indexes.create",
@@ -293,7 +293,7 @@
                       ],
                       "parameters": {
                         "parent": {
-                          "description": "Required. A parent name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
+                          "description": "Required. A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+$",
                           "required": true,
@@ -322,7 +322,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. A name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`",
+                          "description": "Required. A name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+/indexes/[^/]+$",
                           "required": true,
@@ -348,7 +348,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "Required. A name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`",
+                          "description": "Required. A name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+/indexes/[^/]+$",
                           "required": true,
@@ -385,12 +385,12 @@
                           "type": "integer"
                         },
                         "pageToken": {
-                          "description": "A page token, returned from a previous call to\nFirestoreAdmin.ListIndexes, that may be used to get the next\npage of results.",
+                          "description": "A page token, returned from a previous call to FirestoreAdmin.ListIndexes, that may be used to get the next page of results.",
                           "location": "query",
                           "type": "string"
                         },
                         "parent": {
-                          "description": "Required. A parent name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
+                          "description": "Required. A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+$",
                           "required": true,
@@ -413,7 +413,7 @@
             "documents": {
               "methods": {
                 "batchGet": {
-                  "description": "Gets multiple documents.\n\nDocuments returned by this method are not guaranteed to be returned in the\nsame order that they were requested.",
+                  "description": "Gets multiple documents. Documents returned by this method are not guaranteed to be returned in the same order that they were requested.",
                   "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/documents:batchGet",
                   "httpMethod": "POST",
                   "id": "firestore.projects.databases.documents.batchGet",
@@ -422,7 +422,7 @@
                   ],
                   "parameters": {
                     "database": {
-                      "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+                      "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+$",
                       "required": true,
@@ -442,7 +442,7 @@
                   ]
                 },
                 "batchWrite": {
-                  "description": "Applies a batch of write operations.\n\nThe BatchWrite method does not apply the write operations atomically\nand can apply them out of order. Method does not allow more than one write\nper document. Each write succeeds or fails independently. See the\nBatchWriteResponse for the success status of each write.\n\nIf you require an atomically applied set of writes, use\nCommit instead.",
+                  "description": "Applies a batch of write operations. The BatchWrite method does not apply the write operations atomically and can apply them out of order. Method does not allow more than one write per document. Each write succeeds or fails independently. See the BatchWriteResponse for the success status of each write. If you require an atomically applied set of writes, use Commit instead.",
                   "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/documents:batchWrite",
                   "httpMethod": "POST",
                   "id": "firestore.projects.databases.documents.batchWrite",
@@ -451,7 +451,7 @@
                   ],
                   "parameters": {
                     "database": {
-                      "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+                      "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+$",
                       "required": true,
@@ -480,7 +480,7 @@
                   ],
                   "parameters": {
                     "database": {
-                      "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+                      "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+$",
                       "required": true,
@@ -509,7 +509,7 @@
                   ],
                   "parameters": {
                     "database": {
-                      "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+                      "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+$",
                       "required": true,
@@ -545,18 +545,18 @@
                       "type": "string"
                     },
                     "documentId": {
-                      "description": "The client-assigned document ID to use for this document.\n\nOptional. If not specified, an ID will be assigned by the service.",
+                      "description": "The client-assigned document ID to use for this document. Optional. If not specified, an ID will be assigned by the service.",
                       "location": "query",
                       "type": "string"
                     },
                     "mask.fieldPaths": {
-                      "description": "The list of field paths in the mask. See Document.fields for a field\npath syntax reference.",
+                      "description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.",
                       "location": "query",
                       "repeated": true,
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The parent resource. For example:\n`projects/{project_id}/databases/{database_id}/documents` or\n`projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}`",
+                      "description": "Required. The parent resource. For example: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+/documents/.*$",
                       "required": true,
@@ -585,18 +585,18 @@
                   ],
                   "parameters": {
                     "currentDocument.exists": {
-                      "description": "When set to `true`, the target document must exist.\nWhen set to `false`, the target document must not exist.",
+                      "description": "When set to `true`, the target document must exist. When set to `false`, the target document must not exist.",
                       "location": "query",
                       "type": "boolean"
                     },
                     "currentDocument.updateTime": {
-                      "description": "When set, the target document must exist and have been last updated at\nthat time.",
+                      "description": "When set, the target document must exist and have been last updated at that time.",
                       "format": "google-datetime",
                       "location": "query",
                       "type": "string"
                     },
                     "name": {
-                      "description": "Required. The resource name of the Document to delete. In the format:\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
+                      "description": "Required. The resource name of the Document to delete. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
                       "required": true,
@@ -622,20 +622,20 @@
                   ],
                   "parameters": {
                     "mask.fieldPaths": {
-                      "description": "The list of field paths in the mask. See Document.fields for a field\npath syntax reference.",
+                      "description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.",
                       "location": "query",
                       "repeated": true,
                       "type": "string"
                     },
                     "name": {
-                      "description": "Required. The resource name of the Document to get. In the format:\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
+                      "description": "Required. The resource name of the Document to get. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
                       "required": true,
                       "type": "string"
                     },
                     "readTime": {
-                      "description": "Reads the version of the document at the given time.\nThis may not be older than 270 seconds.",
+                      "description": "Reads the version of the document at the given time. This may not be older than 270 seconds.",
                       "format": "google-datetime",
                       "location": "query",
                       "type": "string"
@@ -667,13 +667,13 @@
                   ],
                   "parameters": {
                     "collectionId": {
-                      "description": "Required. The collection ID, relative to `parent`, to list. For example: `chatrooms`\nor `messages`.",
+                      "description": "Required. The collection ID, relative to `parent`, to list. For example: `chatrooms` or `messages`.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "mask.fieldPaths": {
-                      "description": "The list of field paths in the mask. See Document.fields for a field\npath syntax reference.",
+                      "description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.",
                       "location": "query",
                       "repeated": true,
                       "type": "string"
@@ -695,20 +695,20 @@
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The parent resource name. In the format:\n`projects/{project_id}/databases/{database_id}/documents` or\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.\nFor example:\n`projects/my-project/databases/my-database/documents` or\n`projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
+                      "description": "Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
                       "required": true,
                       "type": "string"
                     },
                     "readTime": {
-                      "description": "Reads documents as they were at the given time.\nThis may not be older than 270 seconds.",
+                      "description": "Reads documents as they were at the given time. This may not be older than 270 seconds.",
                       "format": "google-datetime",
                       "location": "query",
                       "type": "string"
                     },
                     "showMissing": {
-                      "description": "If the list should show missing documents. A missing document is a\ndocument that does not exist but has sub-documents. These documents will\nbe returned with a key but will not have fields, Document.create_time,\nor Document.update_time set.\n\nRequests with `show_missing` may not specify `where` or\n`order_by`.",
+                      "description": "If the list should show missing documents. A missing document is a document that does not exist but has sub-documents. These documents will be returned with a key but will not have fields, Document.create_time, or Document.update_time set. Requests with `show_missing` may not specify `where` or `order_by`.",
                       "location": "query",
                       "type": "boolean"
                     },
@@ -738,7 +738,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Required. The parent document. In the format:\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.\nFor example:\n`projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
+                      "description": "Required. The parent document. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
                       "required": true,
@@ -767,7 +767,7 @@
                   ],
                   "parameters": {
                     "database": {
-                      "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+                      "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+$",
                       "required": true,
@@ -787,7 +787,7 @@
                   ]
                 },
                 "partitionQuery": {
-                  "description": "Partitions a query by returning partition cursors that can be used to run\nthe query in parallel. The returned partition cursors are split points that\ncan be used by RunQuery as starting/end points for the query results.",
+                  "description": "Partitions a query by returning partition cursors that can be used to run the query in parallel. The returned partition cursors are split points that can be used by RunQuery as starting/end points for the query results.",
                   "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/documents/{documentsId}/{documentsId1}:partitionQuery",
                   "httpMethod": "POST",
                   "id": "firestore.projects.databases.documents.partitionQuery",
@@ -796,7 +796,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Required. The parent resource name. In the format:\n`projects/{project_id}/databases/{database_id}/documents`.\nDocument resource names are not supported; only database resource names\ncan be specified.",
+                      "description": "Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents`. Document resource names are not supported; only database resource names can be specified.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
                       "required": true,
@@ -825,31 +825,31 @@
                   ],
                   "parameters": {
                     "currentDocument.exists": {
-                      "description": "When set to `true`, the target document must exist.\nWhen set to `false`, the target document must not exist.",
+                      "description": "When set to `true`, the target document must exist. When set to `false`, the target document must not exist.",
                       "location": "query",
                       "type": "boolean"
                     },
                     "currentDocument.updateTime": {
-                      "description": "When set, the target document must exist and have been last updated at\nthat time.",
+                      "description": "When set, the target document must exist and have been last updated at that time.",
                       "format": "google-datetime",
                       "location": "query",
                       "type": "string"
                     },
                     "mask.fieldPaths": {
-                      "description": "The list of field paths in the mask. See Document.fields for a field\npath syntax reference.",
+                      "description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.",
                       "location": "query",
                       "repeated": true,
                       "type": "string"
                     },
                     "name": {
-                      "description": "The resource name of the document, for example\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
+                      "description": "The resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
                       "required": true,
                       "type": "string"
                     },
                     "updateMask.fieldPaths": {
-                      "description": "The list of field paths in the mask. See Document.fields for a field\npath syntax reference.",
+                      "description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.",
                       "location": "query",
                       "repeated": true,
                       "type": "string"
@@ -877,7 +877,7 @@
                   ],
                   "parameters": {
                     "database": {
-                      "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+                      "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+$",
                       "required": true,
@@ -906,7 +906,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Required. The parent resource name. In the format:\n`projects/{project_id}/databases/{database_id}/documents` or\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.\nFor example:\n`projects/my-project/databases/my-database/documents` or\n`projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
+                      "description": "Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
                       "required": true,
@@ -935,7 +935,7 @@
                   ],
                   "parameters": {
                     "database": {
-                      "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.\nThis is only required in the first message.",
+                      "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`. This is only required in the first message.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+$",
                       "required": true,
@@ -959,7 +959,7 @@
             "operations": {
               "methods": {
                 "cancel": {
-                  "description": "Starts asynchronous cancellation on a long-running operation.  The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed.  If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.  Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
+                  "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
                   "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/operations/{operationsId}:cancel",
                   "httpMethod": "POST",
                   "id": "firestore.projects.databases.operations.cancel",
@@ -988,7 +988,7 @@
                   ]
                 },
                 "delete": {
-                  "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.",
+                  "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
                   "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/operations/{operationsId}",
                   "httpMethod": "DELETE",
                   "id": "firestore.projects.databases.operations.delete",
@@ -1014,7 +1014,7 @@
                   ]
                 },
                 "get": {
-                  "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+                  "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
                   "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/operations/{operationsId}",
                   "httpMethod": "GET",
                   "id": "firestore.projects.databases.operations.get",
@@ -1040,7 +1040,7 @@
                   ]
                 },
                 "list": {
-                  "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
+                  "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
                   "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/operations",
                   "httpMethod": "GET",
                   "id": "firestore.projects.databases.operations.list",
@@ -1160,7 +1160,7 @@
       }
     }
   },
-  "revision": "20200725",
+  "revision": "20200801",
   "rootUrl": "https://firestore.googleapis.com/",
   "schemas": {
     "ArrayValue": {
@@ -1182,7 +1182,7 @@
       "id": "BatchGetDocumentsRequest",
       "properties": {
         "documents": {
-          "description": "The names of the documents to retrieve. In the format:\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.\nThe request will fail if any of the document is not a child resource of the\ngiven `database`. Duplicate names will be elided.",
+          "description": "The names of the documents to retrieve. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. The request will fail if any of the document is not a child resource of the given `database`. Duplicate names will be elided.",
           "items": {
             "type": "string"
           },
@@ -1190,14 +1190,14 @@
         },
         "mask": {
           "$ref": "DocumentMask",
-          "description": "The fields to return. If not set, returns all fields.\n\nIf a document has a field that is not present in this mask, that field will\nnot be returned in the response."
+          "description": "The fields to return. If not set, returns all fields. If a document has a field that is not present in this mask, that field will not be returned in the response."
         },
         "newTransaction": {
           "$ref": "TransactionOptions",
-          "description": "Starts a new transaction and reads the documents.\nDefaults to a read-only transaction.\nThe new transaction ID will be returned as the first response in the\nstream."
+          "description": "Starts a new transaction and reads the documents. Defaults to a read-only transaction. The new transaction ID will be returned as the first response in the stream."
         },
         "readTime": {
-          "description": "Reads documents as they were at the given time.\nThis may not be older than 270 seconds.",
+          "description": "Reads documents as they were at the given time. This may not be older than 270 seconds.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -1218,16 +1218,16 @@
           "description": "A document that was requested."
         },
         "missing": {
-          "description": "A document name that was requested but does not exist. In the format:\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
+          "description": "A document name that was requested but does not exist. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
           "type": "string"
         },
         "readTime": {
-          "description": "The time at which the document was read.\nThis may be monotically increasing, in this case the previous documents in\nthe result stream are guaranteed not to have changed between their\nread_time and this one.",
+          "description": "The time at which the document was read. This may be monotically increasing, in this case the previous documents in the result stream are guaranteed not to have changed between their read_time and this one.",
           "format": "google-datetime",
           "type": "string"
         },
         "transaction": {
-          "description": "The transaction that was started as part of this request.\nWill only be set in the first response, and only if\nBatchGetDocumentsRequest.new_transaction was set in the request.",
+          "description": "The transaction that was started as part of this request. Will only be set in the first response, and only if BatchGetDocumentsRequest.new_transaction was set in the request.",
           "format": "byte",
           "type": "string"
         }
@@ -1246,7 +1246,7 @@
           "type": "object"
         },
         "writes": {
-          "description": "The writes to apply.\n\nMethod does not apply writes atomically and does not guarantee ordering.\nEach write succeeds or fails independently. You cannot write to the same\ndocument more than once per request.",
+          "description": "The writes to apply. Method does not apply writes atomically and does not guarantee ordering. Each write succeeds or fails independently. You cannot write to the same document more than once per request.",
           "items": {
             "$ref": "Write"
           },
@@ -1260,14 +1260,14 @@
       "id": "BatchWriteResponse",
       "properties": {
         "status": {
-          "description": "The status of applying the writes.\n\nThis i-th write status corresponds to the i-th write in the\nrequest.",
+          "description": "The status of applying the writes. This i-th write status corresponds to the i-th write in the request.",
           "items": {
             "$ref": "Status"
           },
           "type": "array"
         },
         "writeResults": {
-          "description": "The result of applying the writes.\n\nThis i-th write result corresponds to the i-th write in the\nrequest.",
+          "description": "The result of applying the writes. This i-th write result corresponds to the i-th write in the request.",
           "items": {
             "$ref": "WriteResult"
           },
@@ -1282,7 +1282,7 @@
       "properties": {
         "options": {
           "$ref": "TransactionOptions",
-          "description": "The options for the transaction.\nDefaults to a read-write transaction."
+          "description": "The options for the transaction. Defaults to a read-write transaction."
         }
       },
       "type": "object"
@@ -1304,11 +1304,11 @@
       "id": "CollectionSelector",
       "properties": {
         "allDescendants": {
-          "description": "When false, selects only collections that are immediate children of\nthe `parent` specified in the containing `RunQueryRequest`.\nWhen true, selects all descendant collections.",
+          "description": "When false, selects only collections that are immediate children of the `parent` specified in the containing `RunQueryRequest`. When true, selects all descendant collections.",
           "type": "boolean"
         },
         "collectionId": {
-          "description": "The collection ID.\nWhen set, selects only collections with this ID.",
+          "description": "The collection ID. When set, selects only collections with this ID.",
           "type": "string"
         }
       },
@@ -1324,7 +1324,7 @@
           "type": "string"
         },
         "writes": {
-          "description": "The writes to apply.\n\nAlways executed atomically and in order.",
+          "description": "The writes to apply. Always executed atomically and in order.",
           "items": {
             "$ref": "Write"
           },
@@ -1338,12 +1338,12 @@
       "id": "CommitResponse",
       "properties": {
         "commitTime": {
-          "description": "The time at which the commit occurred. Any read with an equal or greater\n`read_time` is guaranteed to see the effects of the commit.",
+          "description": "The time at which the commit occurred. Any read with an equal or greater `read_time` is guaranteed to see the effects of the commit.",
           "format": "google-datetime",
           "type": "string"
         },
         "writeResults": {
-          "description": "The result of applying the writes.\n\nThis i-th write result corresponds to the i-th write in the\nrequest.",
+          "description": "The result of applying the writes. This i-th write result corresponds to the i-th write in the request.",
           "items": {
             "$ref": "WriteResult"
           },
@@ -1357,7 +1357,7 @@
       "id": "CompositeFilter",
       "properties": {
         "filters": {
-          "description": "The list of filters to combine.\nMust contain at least one filter.",
+          "description": "The list of filters to combine. Must contain at least one filter.",
           "items": {
             "$ref": "Filter"
           },
@@ -1383,11 +1383,11 @@
       "id": "Cursor",
       "properties": {
         "before": {
-          "description": "If the position is just before or just after the given values, relative\nto the sort order defined by the query.",
+          "description": "If the position is just before or just after the given values, relative to the sort order defined by the query.",
           "type": "boolean"
         },
         "values": {
-          "description": "The values that represent a position, in the order they appear in\nthe order by clause of a query.\n\nCan contain fewer values than specified in the order by clause.",
+          "description": "The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.",
           "items": {
             "$ref": "Value"
           },
@@ -1397,11 +1397,11 @@
       "type": "object"
     },
     "Document": {
-      "description": "A Firestore document.\n\nMust not exceed 1 MiB - 4 bytes.",
+      "description": "A Firestore document. Must not exceed 1 MiB - 4 bytes.",
       "id": "Document",
       "properties": {
         "createTime": {
-          "description": "Output only. The time at which the document was created.\n\nThis value increases monotonically when a document is deleted then\nrecreated. It can also be compared to values from other documents and\nthe `read_time` of a query.",
+          "description": "Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -1409,15 +1409,15 @@
           "additionalProperties": {
             "$ref": "Value"
           },
-          "description": "The document's fields.\n\nThe map keys represent field names.\n\nA simple field name contains only characters `a` to `z`, `A` to `Z`,\n`0` to `9`, or `_`, and must not start with `0` to `9`. For example,\n`foo_bar_17`.\n\nField names matching the regular expression `__.*__` are reserved. Reserved\nfield names are forbidden except in certain documented contexts. The map\nkeys, represented as UTF-8, must not exceed 1,500 bytes and cannot be\nempty.\n\nField paths may be used in other contexts to refer to structured fields\ndefined here. For `map_value`, the field path is represented by the simple\nor quoted field names of the containing fields, delimited by `.`. For\nexample, the structured field\n`\"foo\" : { map_value: { \"x\u0026y\" : { string_value: \"hello\" }}}` would be\nrepresented by the field path `foo.x\u0026y`.\n\nWithin a field path, a quoted field name starts and ends with `` ` `` and\nmay contain any character. Some characters, including `` ` ``, must be\nescaped using a `\\`. For example, `` `x\u0026y` `` represents `x\u0026y` and\n`` `bak\\`tik` `` represents `` bak`tik ``.",
+          "description": "The document's fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `\"foo\" : { map_value: { \"x\u0026y\" : { string_value: \"hello\" }}}` would be represented by the field path `foo.x\u0026y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\\`. For example, `` `x\u0026y` `` represents `x\u0026y` and `` `bak\\`tik` `` represents `` bak`tik ``.",
           "type": "object"
         },
         "name": {
-          "description": "The resource name of the document, for example\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
+          "description": "The resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
           "type": "string"
         },
         "updateTime": {
-          "description": "Output only. The time at which the document was last changed.\n\nThis value is initially set to the `create_time` then increases\nmonotonically with each change to the document. It can also be\ncompared to values from other documents and the `read_time` of a query.",
+          "description": "Output only. The time at which the document was last changed. This value is initially set to the `create_time` then increases monotonically with each change to the document. It can also be compared to values from other documents and the `read_time` of a query.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -1425,12 +1425,12 @@
       "type": "object"
     },
     "DocumentChange": {
-      "description": "A Document has changed.\n\nMay be the result of multiple writes, including deletes, that\nultimately resulted in a new value for the Document.\n\nMultiple DocumentChange messages may be returned for the same logical\nchange, if multiple targets are affected.",
+      "description": "A Document has changed. May be the result of multiple writes, including deletes, that ultimately resulted in a new value for the Document. Multiple DocumentChange messages may be returned for the same logical change, if multiple targets are affected.",
       "id": "DocumentChange",
       "properties": {
         "document": {
           "$ref": "Document",
-          "description": "The new state of the Document.\n\nIf `mask` is set, contains only fields that were updated or added."
+          "description": "The new state of the Document. If `mask` is set, contains only fields that were updated or added."
         },
         "removedTargetIds": {
           "description": "A set of target IDs for targets that no longer match this document.",
@@ -1452,7 +1452,7 @@
       "type": "object"
     },
     "DocumentDelete": {
-      "description": "A Document has been deleted.\n\nMay be the result of multiple writes, including updates, the\nlast of which deleted the Document.\n\nMultiple DocumentDelete messages may be returned for the same logical\ndelete, if multiple targets are affected.",
+      "description": "A Document has been deleted. May be the result of multiple writes, including updates, the last of which deleted the Document. Multiple DocumentDelete messages may be returned for the same logical delete, if multiple targets are affected.",
       "id": "DocumentDelete",
       "properties": {
         "document": {
@@ -1460,7 +1460,7 @@
           "type": "string"
         },
         "readTime": {
-          "description": "The read timestamp at which the delete was observed.\n\nGreater or equal to the `commit_time` of the delete.",
+          "description": "The read timestamp at which the delete was observed. Greater or equal to the `commit_time` of the delete.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -1476,11 +1476,11 @@
       "type": "object"
     },
     "DocumentMask": {
-      "description": "A set of field paths on a document.\nUsed to restrict a get or update operation on a document to a subset of its\nfields.\nThis is different from standard field masks, as this is always scoped to a\nDocument, and takes in account the dynamic nature of Value.",
+      "description": "A set of field paths on a document. Used to restrict a get or update operation on a document to a subset of its fields. This is different from standard field masks, as this is always scoped to a Document, and takes in account the dynamic nature of Value.",
       "id": "DocumentMask",
       "properties": {
         "fieldPaths": {
-          "description": "The list of field paths in the mask. See Document.fields for a field\npath syntax reference.",
+          "description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.",
           "items": {
             "type": "string"
           },
@@ -1490,7 +1490,7 @@
       "type": "object"
     },
     "DocumentRemove": {
-      "description": "A Document has been removed from the view of the targets.\n\nSent if the document is no longer relevant to a target and is out of view.\nCan be sent instead of a DocumentDelete or a DocumentChange if the server\ncan not send the new value of the document.\n\nMultiple DocumentRemove messages may be returned for the same logical\nwrite or delete, if multiple targets are affected.",
+      "description": "A Document has been removed from the view of the targets. Sent if the document is no longer relevant to a target and is out of view. Can be sent instead of a DocumentDelete or a DocumentChange if the server can not send the new value of the document. Multiple DocumentRemove messages may be returned for the same logical write or delete, if multiple targets are affected.",
       "id": "DocumentRemove",
       "properties": {
         "document": {
@@ -1498,7 +1498,7 @@
           "type": "string"
         },
         "readTime": {
-          "description": "The read timestamp at which the remove was observed.\n\nGreater or equal to the `commit_time` of the change/delete/remove.",
+          "description": "The read timestamp at which the remove was observed. Greater or equal to the `commit_time` of the change/delete/remove.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -1522,7 +1522,7 @@
           "type": "string"
         },
         "fieldTransforms": {
-          "description": "The list of transformations to apply to the fields of the document, in\norder.\nThis must not be empty.",
+          "description": "The list of transformations to apply to the fields of the document, in order. This must not be empty.",
           "items": {
             "$ref": "FieldTransform"
           },
@@ -1536,7 +1536,7 @@
       "id": "DocumentsTarget",
       "properties": {
         "documents": {
-          "description": "The names of the documents to retrieve. In the format:\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.\nThe request will fail if any of the document is not a child resource of\nthe given `database`. Duplicate names will be elided.",
+          "description": "The names of the documents to retrieve. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. The request will fail if any of the document is not a child resource of the given `database`. Duplicate names will be elided.",
           "items": {
             "type": "string"
           },
@@ -1546,7 +1546,7 @@
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
@@ -1556,7 +1556,7 @@
       "id": "ExistenceFilter",
       "properties": {
         "count": {
-          "description": "The total count of documents that match target_id.\n\nIf different from the count of documents in the client that match, the\nclient must manually determine which documents no longer match the target.",
+          "description": "The total count of documents that match target_id. If different from the count of documents in the client that match, the client must manually determine which documents no longer match the target.",
           "format": "int32",
           "type": "integer"
         },
@@ -1591,14 +1591,14 @@
           ],
           "enumDescriptions": [
             "Unspecified. This value must not be used.",
-            "The given `field` is less than the given `value`.\n\nRequires:\n\n* That `field` come first in `order_by`.",
-            "The given `field` is less than or equal to the given `value`.\n\nRequires:\n\n* That `field` come first in `order_by`.",
-            "The given `field` is greater than the given `value`.\n\nRequires:\n\n* That `field` come first in `order_by`.",
-            "The given `field` is greater than or equal to the given `value`.\n\nRequires:\n\n* That `field` come first in `order_by`.",
+            "The given `field` is less than the given `value`. Requires: * That `field` come first in `order_by`.",
+            "The given `field` is less than or equal to the given `value`. Requires: * That `field` come first in `order_by`.",
+            "The given `field` is greater than the given `value`. Requires: * That `field` come first in `order_by`.",
+            "The given `field` is greater than or equal to the given `value`. Requires: * That `field` come first in `order_by`.",
             "The given `field` is equal to the given `value`.",
             "The given `field` is an array that contains the given `value`.",
-            "The given `field` is equal to at least one value in the given array.\n\nRequires:\n\n* That `value` is a non-empty `ArrayValue` with at most 10 values.\n* No other `IN` or `ARRAY_CONTAINS_ANY`.",
-            "The given `field` is an array that contains any of the values in the\ngiven array.\n\nRequires:\n\n* That `value` is a non-empty `ArrayValue` with at most 10 values.\n* No other `IN` or `ARRAY_CONTAINS_ANY`."
+            "The given `field` is equal to at least one value in the given array. Requires: * That `value` is a non-empty `ArrayValue` with at most 10 values. * No other `IN` or `ARRAY_CONTAINS_ANY`.",
+            "The given `field` is an array that contains any of the values in the given array. Requires: * That `value` is a non-empty `ArrayValue` with at most 10 values. * No other `IN` or `ARRAY_CONTAINS_ANY`."
           ],
           "type": "string"
         },
@@ -1625,27 +1625,27 @@
       "properties": {
         "appendMissingElements": {
           "$ref": "ArrayValue",
-          "description": "Append the given elements in order if they are not already present in\nthe current field value.\nIf the field is not an array, or if the field does not yet exist, it is\nfirst set to the empty array.\n\nEquivalent numbers of different types (e.g. 3L and 3.0) are\nconsidered equal when checking if a value is missing.\nNaN is equal to NaN, and Null is equal to Null.\nIf the input contains multiple equivalent values, only the first will\nbe considered.\n\nThe corresponding transform_result will be the null value."
+          "description": "Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value."
         },
         "fieldPath": {
-          "description": "The path of the field. See Document.fields for the field path syntax\nreference.",
+          "description": "The path of the field. See Document.fields for the field path syntax reference.",
           "type": "string"
         },
         "increment": {
           "$ref": "Value",
-          "description": "Adds the given value to the field's current value.\n\nThis must be an integer or a double value.\nIf the field is not an integer or double, or if the field does not yet\nexist, the transformation will set the field to the given value.\nIf either of the given value or the current field value are doubles,\nboth values will be interpreted as doubles. Double arithmetic and\nrepresentation of double values follow IEEE 754 semantics.\nIf there is positive/negative integer overflow, the field is resolved\nto the largest magnitude positive/negative integer."
+          "description": "Adds the given value to the field's current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer."
         },
         "maximum": {
           "$ref": "Value",
-          "description": "Sets the field to the maximum of its current value and the given value.\n\nThis must be an integer or a double value.\nIf the field is not an integer or double, or if the field does not yet\nexist, the transformation will set the field to the given value.\nIf a maximum operation is applied where the field and the input value\nare of mixed types (that is - one is an integer and one is a double)\nthe field takes on the type of the larger operand. If the operands are\nequivalent (e.g. 3 and 3.0), the field does not change.\n0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and\nzero input value is always the stored value.\nThe maximum of any numeric value x and NaN is NaN."
+          "description": "Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN."
         },
         "minimum": {
           "$ref": "Value",
-          "description": "Sets the field to the minimum of its current value and the given value.\n\nThis must be an integer or a double value.\nIf the field is not an integer or double, or if the field does not yet\nexist, the transformation will set the field to the input value.\nIf a minimum operation is applied where the field and the input value\nare of mixed types (that is - one is an integer and one is a double)\nthe field takes on the type of the smaller operand. If the operands are\nequivalent (e.g. 3 and 3.0), the field does not change.\n0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and\nzero input value is always the stored value.\nThe minimum of any numeric value x and NaN is NaN."
+          "description": "Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN."
         },
         "removeAllFromArray": {
           "$ref": "ArrayValue",
-          "description": "Remove all of the given elements from the array in the field.\nIf the field is not an array, or if the field does not yet exist, it is\nset to the empty array.\n\nEquivalent numbers of the different types (e.g. 3L and 3.0) are\nconsidered equal when deciding whether an element should be removed.\nNaN is equal to NaN, and Null is equal to Null.\nThis will remove all equivalent values if there are duplicates.\n\nThe corresponding transform_result will be the null value."
+          "description": "Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value."
         },
         "setToServerValue": {
           "description": "Sets the field to the given server value.",
@@ -1655,7 +1655,7 @@
           ],
           "enumDescriptions": [
             "Unspecified. This value must not be used.",
-            "The time at which the server processed the request, with millisecond\nprecision."
+            "The time at which the server processed the request, with millisecond precision."
           ],
           "type": "string"
         }
@@ -1682,7 +1682,7 @@
       "type": "object"
     },
     "GoogleFirestoreAdminV1ExportDocumentsMetadata": {
-      "description": "Metadata for google.longrunning.Operation results from\nFirestoreAdmin.ExportDocuments.",
+      "description": "Metadata for google.longrunning.Operation results from FirestoreAdmin.ExportDocuments.",
       "id": "GoogleFirestoreAdminV1ExportDocumentsMetadata",
       "properties": {
         "collectionIds": {
@@ -1693,7 +1693,7 @@
           "type": "array"
         },
         "endTime": {
-          "description": "The time this operation completed. Will be unset if operation still in\nprogress.",
+          "description": "The time this operation completed. Will be unset if operation still in progress.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -1713,11 +1713,11 @@
             "Unspecified.",
             "Request is being prepared for processing.",
             "Request is actively being processed.",
-            "Request is in the process of being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation on the operation.",
+            "Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.",
             "Request has been processed and is in its finalization stage.",
             "Request has completed successfully.",
             "Request has finished being processed, but encountered an error.",
-            "Request has finished being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation."
+            "Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation."
           ],
           "type": "string"
         },
@@ -1753,7 +1753,7 @@
           "type": "array"
         },
         "outputUriPrefix": {
-          "description": "The output URI. Currently only supports Google Cloud Storage URIs of the\nform: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the name\nof the Google Cloud Storage bucket and `NAMESPACE_PATH` is an optional\nGoogle Cloud Storage namespace path. When\nchoosing a name, be sure to consider Google Cloud Storage naming\nguidelines: https://cloud.google.com/storage/docs/naming.\nIf the URI is a bucket (without a namespace path), a prefix will be\ngenerated based on the start time.",
+          "description": "The output URI. Currently only supports Google Cloud Storage URIs of the form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the name of the Google Cloud Storage bucket and `NAMESPACE_PATH` is an optional Google Cloud Storage namespace path. When choosing a name, be sure to consider Google Cloud Storage naming guidelines: https://cloud.google.com/storage/docs/naming. If the URI is a bucket (without a namespace path), a prefix will be generated based on the start time.",
           "type": "string"
         }
       },
@@ -1764,42 +1764,42 @@
       "id": "GoogleFirestoreAdminV1ExportDocumentsResponse",
       "properties": {
         "outputUriPrefix": {
-          "description": "Location of the output files. This can be used to begin an import\ninto Cloud Firestore (this project or another project) after the operation\ncompletes successfully.",
+          "description": "Location of the output files. This can be used to begin an import into Cloud Firestore (this project or another project) after the operation completes successfully.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleFirestoreAdminV1Field": {
-      "description": "Represents a single field in the database.\n\nFields are grouped by their \"Collection Group\", which represent all\ncollections in the database with the same id.",
+      "description": "Represents a single field in the database. Fields are grouped by their \"Collection Group\", which represent all collections in the database with the same id.",
       "id": "GoogleFirestoreAdminV1Field",
       "properties": {
         "indexConfig": {
           "$ref": "GoogleFirestoreAdminV1IndexConfig",
-          "description": "The index configuration for this field. If unset, field indexing will\nrevert to the configuration defined by the `ancestor_field`. To\nexplicitly remove all indexes for this field, specify an index config\nwith an empty list of indexes."
+          "description": "The index configuration for this field. If unset, field indexing will revert to the configuration defined by the `ancestor_field`. To explicitly remove all indexes for this field, specify an index config with an empty list of indexes."
         },
         "name": {
-          "description": "A field name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}`\n\nA field path may be a simple field name, e.g. `address` or a path to fields\nwithin map_value , e.g. `address.city`,\nor a special field path. The only valid special field is `*`, which\nrepresents any field.\n\nField paths may be quoted using ` (backtick). The only character that needs\nto be escaped within a quoted field path is the backtick character itself,\nescaped using a backslash. Special characters in field paths that\nmust be quoted include: `*`, `.`,\n``` (backtick), `[`, `]`, as well as any ascii symbolic characters.\n\nExamples:\n(Note: Comments here are written in markdown syntax, so there is an\n additional layer of backticks to represent a code block)\n`\\`address.city\\`` represents a field named `address.city`, not the map key\n`city` in the field `address`.\n`\\`*\\`` represents a field named `*`, not any field.\n\nA special `Field` contains the default indexing settings for all fields.\nThis field's resource name is:\n`projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`\nIndexes defined on this `Field` will be applied to all fields which do not\nhave their own `Field` index configuration.",
+          "description": "A field name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}` A field path may be a simple field name, e.g. `address` or a path to fields within map_value , e.g. `address.city`, or a special field path. The only valid special field is `*`, which represents any field. Field paths may be quoted using ` (backtick). The only character that needs to be escaped within a quoted field path is the backtick character itself, escaped using a backslash. Special characters in field paths that must be quoted include: `*`, `.`, ``` (backtick), `[`, `]`, as well as any ascii symbolic characters. Examples: (Note: Comments here are written in markdown syntax, so there is an additional layer of backticks to represent a code block) `\\`address.city\\`` represents a field named `address.city`, not the map key `city` in the field `address`. `\\`*\\`` represents a field named `*`, not any field. A special `Field` contains the default indexing settings for all fields. This field's resource name is: `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*` Indexes defined on this `Field` will be applied to all fields which do not have their own `Field` index configuration.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleFirestoreAdminV1FieldOperationMetadata": {
-      "description": "Metadata for google.longrunning.Operation results from\nFirestoreAdmin.UpdateField.",
+      "description": "Metadata for google.longrunning.Operation results from FirestoreAdmin.UpdateField.",
       "id": "GoogleFirestoreAdminV1FieldOperationMetadata",
       "properties": {
         "endTime": {
-          "description": "The time this operation completed. Will be unset if operation still in\nprogress.",
+          "description": "The time this operation completed. Will be unset if operation still in progress.",
           "format": "google-datetime",
           "type": "string"
         },
         "field": {
-          "description": "The field resource that this operation is acting on. For example:\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}`",
+          "description": "The field resource that this operation is acting on. For example: `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}`",
           "type": "string"
         },
         "indexConfigDeltas": {
-          "description": "A list of IndexConfigDelta, which describe the intent of this\noperation.",
+          "description": "A list of IndexConfigDelta, which describe the intent of this operation.",
           "items": {
             "$ref": "GoogleFirestoreAdminV1IndexConfigDelta"
           },
@@ -1834,11 +1834,11 @@
             "Unspecified.",
             "Request is being prepared for processing.",
             "Request is actively being processed.",
-            "Request is in the process of being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation on the operation.",
+            "Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.",
             "Request has been processed and is in its finalization stage.",
             "Request has completed successfully.",
             "Request has finished being processed, but encountered an error.",
-            "Request has finished being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation."
+            "Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation."
           ],
           "type": "string"
         }
@@ -1846,7 +1846,7 @@
       "type": "object"
     },
     "GoogleFirestoreAdminV1ImportDocumentsMetadata": {
-      "description": "Metadata for google.longrunning.Operation results from\nFirestoreAdmin.ImportDocuments.",
+      "description": "Metadata for google.longrunning.Operation results from FirestoreAdmin.ImportDocuments.",
       "id": "GoogleFirestoreAdminV1ImportDocumentsMetadata",
       "properties": {
         "collectionIds": {
@@ -1857,7 +1857,7 @@
           "type": "array"
         },
         "endTime": {
-          "description": "The time this operation completed. Will be unset if operation still in\nprogress.",
+          "description": "The time this operation completed. Will be unset if operation still in progress.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -1881,11 +1881,11 @@
             "Unspecified.",
             "Request is being prepared for processing.",
             "Request is actively being processed.",
-            "Request is in the process of being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation on the operation.",
+            "Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.",
             "Request has been processed and is in its finalization stage.",
             "Request has completed successfully.",
             "Request has finished being processed, but encountered an error.",
-            "Request has finished being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation."
+            "Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation."
           ],
           "type": "string"
         },
@@ -1910,36 +1910,36 @@
       "id": "GoogleFirestoreAdminV1ImportDocumentsRequest",
       "properties": {
         "collectionIds": {
-          "description": "Which collection ids to import. Unspecified means all collections included\nin the import.",
+          "description": "Which collection ids to import. Unspecified means all collections included in the import.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "inputUriPrefix": {
-          "description": "Location of the exported files.\nThis must match the output_uri_prefix of an ExportDocumentsResponse from\nan export that has completed successfully.\nSee:\ngoogle.firestore.admin.v1.ExportDocumentsResponse.output_uri_prefix.",
+          "description": "Location of the exported files. This must match the output_uri_prefix of an ExportDocumentsResponse from an export that has completed successfully. See: google.firestore.admin.v1.ExportDocumentsResponse.output_uri_prefix.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleFirestoreAdminV1Index": {
-      "description": "Cloud Firestore indexes enable simple and complex queries against\ndocuments in a database.",
+      "description": "Cloud Firestore indexes enable simple and complex queries against documents in a database.",
       "id": "GoogleFirestoreAdminV1Index",
       "properties": {
         "fields": {
-          "description": "The fields supported by this index.\n\nFor composite indexes, this is always 2 or more fields.\nThe last field entry is always for the field path `__name__`. If, on\ncreation, `__name__` was not specified as the last field, it will be added\nautomatically with the same direction as that of the last field defined. If\nthe final field in a composite index is not directional, the `__name__`\nwill be ordered ASCENDING (unless explicitly specified).\n\nFor single field indexes, this will always be exactly one entry with a\nfield path equal to the field path of the associated field.",
+          "description": "The fields supported by this index. For composite indexes, this is always 2 or more fields. The last field entry is always for the field path `__name__`. If, on creation, `__name__` was not specified as the last field, it will be added automatically with the same direction as that of the last field defined. If the final field in a composite index is not directional, the `__name__` will be ordered ASCENDING (unless explicitly specified). For single field indexes, this will always be exactly one entry with a field path equal to the field path of the associated field.",
           "items": {
             "$ref": "GoogleFirestoreAdminV1IndexField"
           },
           "type": "array"
         },
         "name": {
-          "description": "Output only. A server defined name for this index.\nThe form of this name for composite indexes will be:\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id}`\nFor single field indexes, this field will be empty.",
+          "description": "Output only. A server defined name for this index. The form of this name for composite indexes will be: `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id}` For single field indexes, this field will be empty.",
           "type": "string"
         },
         "queryScope": {
-          "description": "Indexes with a collection query scope specified allow queries\nagainst a collection that is the child of a specific document, specified at\nquery time, and that has the same collection id.\n\nIndexes with a collection group query scope specified allow queries against\nall collections descended from a specific document, specified at query\ntime, and that have the same collection id as this index.",
+          "description": "Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the same collection id. Indexes with a collection group query scope specified allow queries against all collections descended from a specific document, specified at query time, and that have the same collection id as this index.",
           "enum": [
             "QUERY_SCOPE_UNSPECIFIED",
             "COLLECTION",
@@ -1947,8 +1947,8 @@
           ],
           "enumDescriptions": [
             "The query scope is unspecified. Not a valid option.",
-            "Indexes with a collection query scope specified allow queries\nagainst a collection that is the child of a specific document, specified\nat query time, and that has the collection id specified by the index.",
-            "Indexes with a collection group query scope specified allow queries\nagainst all collections that has the collection id specified by the\nindex."
+            "Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the collection id specified by the index.",
+            "Indexes with a collection group query scope specified allow queries against all collections that has the collection id specified by the index."
           ],
           "type": "string"
         },
@@ -1962,9 +1962,9 @@
           ],
           "enumDescriptions": [
             "The state is unspecified.",
-            "The index is being created.\nThere is an active long-running operation for the index.\nThe index is updated when writing a document.\nSome index data may exist.",
-            "The index is ready to be used.\nThe index is updated when writing a document.\nThe index is fully populated from all stored documents it applies to.",
-            "The index was being created, but something went wrong.\nThere is no active long-running operation for the index,\nand the most recently finished long-running operation failed.\nThe index is not updated when writing a document.\nSome index data may exist.\nUse the google.longrunning.Operations API to determine why the operation\nthat last attempted to create this index failed, then re-create the\nindex."
+            "The index is being created. There is an active long-running operation for the index. The index is updated when writing a document. Some index data may exist.",
+            "The index is ready to be used. The index is updated when writing a document. The index is fully populated from all stored documents it applies to.",
+            "The index was being created, but something went wrong. There is no active long-running operation for the index, and the most recently finished long-running operation failed. The index is not updated when writing a document. Some index data may exist. Use the google.longrunning.Operations API to determine why the operation that last attempted to create this index failed, then re-create the index."
           ],
           "type": "string"
         }
@@ -1976,7 +1976,7 @@
       "id": "GoogleFirestoreAdminV1IndexConfig",
       "properties": {
         "ancestorField": {
-          "description": "Output only. Specifies the resource name of the `Field` from which this field's\nindex configuration is set (when `uses_ancestor_config` is true),\nor from which it *would* be set if this field had no index configuration\n(when `uses_ancestor_config` is false).",
+          "description": "Output only. Specifies the resource name of the `Field` from which this field's index configuration is set (when `uses_ancestor_config` is true), or from which it *would* be set if this field had no index configuration (when `uses_ancestor_config` is false).",
           "type": "string"
         },
         "indexes": {
@@ -1987,11 +1987,11 @@
           "type": "array"
         },
         "reverting": {
-          "description": "Output only\nWhen true, the `Field`'s index configuration is in the process of being\nreverted. Once complete, the index config will transition to the same\nstate as the field specified by `ancestor_field`, at which point\n`uses_ancestor_config` will be `true` and `reverting` will be `false`.",
+          "description": "Output only When true, the `Field`'s index configuration is in the process of being reverted. Once complete, the index config will transition to the same state as the field specified by `ancestor_field`, at which point `uses_ancestor_config` will be `true` and `reverting` will be `false`.",
           "type": "boolean"
         },
         "usesAncestorConfig": {
-          "description": "Output only. When true, the `Field`'s index configuration is set from the\nconfiguration specified by the `ancestor_field`.\nWhen false, the `Field`'s index configuration is defined explicitly.",
+          "description": "Output only. When true, the `Field`'s index configuration is set from the configuration specified by the `ancestor_field`. When false, the `Field`'s index configuration is defined explicitly.",
           "type": "boolean"
         }
       },
@@ -2023,7 +2023,7 @@
       "type": "object"
     },
     "GoogleFirestoreAdminV1IndexField": {
-      "description": "A field in an index.\nThe field_path describes which field is indexed, the value_mode describes\nhow the field value is indexed.",
+      "description": "A field in an index. The field_path describes which field is indexed, the value_mode describes how the field value is indexed.",
       "id": "GoogleFirestoreAdminV1IndexField",
       "properties": {
         "arrayConfig": {
@@ -2039,11 +2039,11 @@
           "type": "string"
         },
         "fieldPath": {
-          "description": "Can be __name__.\nFor single field indexes, this must match the name of the field or may\nbe omitted.",
+          "description": "Can be __name__. For single field indexes, this must match the name of the field or may be omitted.",
           "type": "string"
         },
         "order": {
-          "description": "Indicates that this field supports ordering by the specified order or\ncomparing using =, \u003c, \u003c=, \u003e, \u003e=.",
+          "description": "Indicates that this field supports ordering by the specified order or comparing using =, \u003c, \u003c=, \u003e, \u003e=.",
           "enum": [
             "ORDER_UNSPECIFIED",
             "ASCENDING",
@@ -2060,16 +2060,16 @@
       "type": "object"
     },
     "GoogleFirestoreAdminV1IndexOperationMetadata": {
-      "description": "Metadata for google.longrunning.Operation results from\nFirestoreAdmin.CreateIndex.",
+      "description": "Metadata for google.longrunning.Operation results from FirestoreAdmin.CreateIndex.",
       "id": "GoogleFirestoreAdminV1IndexOperationMetadata",
       "properties": {
         "endTime": {
-          "description": "The time this operation completed. Will be unset if operation still in\nprogress.",
+          "description": "The time this operation completed. Will be unset if operation still in progress.",
           "format": "google-datetime",
           "type": "string"
         },
         "index": {
-          "description": "The index resource that this operation is acting on. For example:\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`",
+          "description": "The index resource that this operation is acting on. For example: `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`",
           "type": "string"
         },
         "progressBytes": {
@@ -2101,11 +2101,11 @@
             "Unspecified.",
             "Request is being prepared for processing.",
             "Request is actively being processed.",
-            "Request is in the process of being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation on the operation.",
+            "Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.",
             "Request has been processed and is in its finalization stage.",
             "Request has completed successfully.",
             "Request has finished being processed, but encountered an error.",
-            "Request has finished being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation."
+            "Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation."
           ],
           "type": "string"
         }
@@ -2124,7 +2124,7 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "A page token that may be used to request another page of results. If blank,\nthis is the last page.",
+          "description": "A page token that may be used to request another page of results. If blank, this is the last page.",
           "type": "string"
         }
       },
@@ -2142,7 +2142,7 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "A page token that may be used to request another page of results. If blank,\nthis is the last page.",
+          "description": "A page token that may be used to request another page of results. If blank, this is the last page.",
           "type": "string"
         }
       },
@@ -2155,7 +2155,7 @@
       "type": "object"
     },
     "GoogleFirestoreAdminV1Progress": {
-      "description": "Describes the progress of the operation.\nUnit of work is generic and must be interpreted based on where Progress\nis used.",
+      "description": "Describes the progress of the operation. Unit of work is generic and must be interpreted based on where Progress is used.",
       "id": "GoogleFirestoreAdminV1Progress",
       "properties": {
         "completedWork": {
@@ -2196,11 +2196,11 @@
       "type": "object"
     },
     "GoogleLongrunningOperation": {
-      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
+      "description": "This resource represents a long-running operation that is the result of a network API call.",
       "id": "GoogleLongrunningOperation",
       "properties": {
         "done": {
-          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
+          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
           "type": "boolean"
         },
         "error": {
@@ -2212,11 +2212,11 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "Service-specific metadata associated with the operation.  It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata.  Any method that returns a\nlong-running operation should document the metadata type, if any.",
+          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
           "type": "object"
         },
         "name": {
-          "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.",
+          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
           "type": "string"
         },
         "response": {
@@ -2224,14 +2224,14 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "The normal response of the operation in case of success.  If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`.  If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource.  For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name.  For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
+          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
           "type": "object"
         }
       },
       "type": "object"
     },
     "LatLng": {
-      "description": "An object representing a latitude/longitude pair. This is expressed as a pair\nof doubles representing degrees latitude and degrees longitude. Unless\nspecified otherwise, this must conform to the\n\u003ca href=\"http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\"\u003eWGS84\nstandard\u003c/a\u003e. Values must be within normalized ranges.",
+      "description": "An object representing a latitude/longitude pair. This is expressed as a pair of doubles representing degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges.",
       "id": "LatLng",
       "properties": {
         "latitude": {
@@ -2257,7 +2257,7 @@
           "type": "integer"
         },
         "pageToken": {
-          "description": "A page token. Must be a value from\nListCollectionIdsResponse.",
+          "description": "A page token. Must be a value from ListCollectionIdsResponse.",
           "type": "string"
         }
       },
@@ -2354,11 +2354,11 @@
         },
         "documentRemove": {
           "$ref": "DocumentRemove",
-          "description": "A Document has been removed from a target (because it is no longer\nrelevant to that target)."
+          "description": "A Document has been removed from a target (because it is no longer relevant to that target)."
         },
         "filter": {
           "$ref": "ExistenceFilter",
-          "description": "A filter to apply to the set of documents previously returned for the\ngiven target.\n\nReturned when documents may have been removed from the given target, but\nthe exact documents are unknown."
+          "description": "A filter to apply to the set of documents previously returned for the given target. Returned when documents may have been removed from the given target, but the exact documents are unknown."
         },
         "targetChange": {
           "$ref": "TargetChange",
@@ -2372,14 +2372,14 @@
       "id": "Location",
       "properties": {
         "displayName": {
-          "description": "The friendly name for this location, typically a nearby city name.\nFor example, \"Tokyo\".",
+          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
           "type": "string"
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Cross-service attributes for the location. For example\n\n    {\"cloud.googleapis.com/region\": \"us-east1\"}",
+          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
           "type": "object"
         },
         "locationId": {
@@ -2391,11 +2391,11 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "Service-specific metadata. For example the available capacity at the given\nlocation.",
+          "description": "Service-specific metadata. For example the available capacity at the given location.",
           "type": "object"
         },
         "name": {
-          "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`",
+          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
           "type": "string"
         }
       },
@@ -2409,7 +2409,7 @@
           "additionalProperties": {
             "$ref": "Value"
           },
-          "description": "The map's fields.\n\nThe map keys represent field names. Field names matching the regular\nexpression `__.*__` are reserved. Reserved field names are forbidden except\nin certain documented contexts. The map keys, represented as UTF-8, must\nnot exceed 1,500 bytes and cannot be empty.",
+          "description": "The map's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.",
           "type": "object"
         }
       },
@@ -2445,22 +2445,22 @@
       "id": "PartitionQueryRequest",
       "properties": {
         "pageSize": {
-          "description": "The maximum number of partitions to return in this call, subject to\n`partition_count`.\n\nFor example, if `partition_count` = 10 and `page_size` = 8, the first call\nto PartitionQuery will return up to 8 partitions and a `next_page_token`\nif more results exist. A second call to PartitionQuery will return up to\n2 partitions, to complete the total of 10 specified in `partition_count`.",
+          "description": "The maximum number of partitions to return in this call, subject to `partition_count`. For example, if `partition_count` = 10 and `page_size` = 8, the first call to PartitionQuery will return up to 8 partitions and a `next_page_token` if more results exist. A second call to PartitionQuery will return up to 2 partitions, to complete the total of 10 specified in `partition_count`.",
           "format": "int32",
           "type": "integer"
         },
         "pageToken": {
-          "description": "The `next_page_token` value returned from a previous call to\nPartitionQuery that may be used to get an additional set of results.\nThere are no ordering guarantees between sets of results. Thus, using\nmultiple sets of results will require merging the different result sets.\n\nFor example, two subsequent calls using a page_token may return:\n\n * cursor B, cursor M, cursor Q\n * cursor A, cursor U, cursor W\n\nTo obtain a complete result set ordered with respect to the results of the\nquery supplied to PartitionQuery, the results sets should be merged:\ncursor A, cursor B, cursor M, cursor Q, cursor U, cursor W",
+          "description": "The `next_page_token` value returned from a previous call to PartitionQuery that may be used to get an additional set of results. There are no ordering guarantees between sets of results. Thus, using multiple sets of results will require merging the different result sets. For example, two subsequent calls using a page_token may return: * cursor B, cursor M, cursor Q * cursor A, cursor U, cursor W To obtain a complete result set ordered with respect to the results of the query supplied to PartitionQuery, the results sets should be merged: cursor A, cursor B, cursor M, cursor Q, cursor U, cursor W",
           "type": "string"
         },
         "partitionCount": {
-          "description": "The desired maximum number of partition points.\nThe partitions may be returned across multiple pages of results.\nThe number must be strictly positive. The actual number of partitions\nreturned may be fewer.\n\nFor example, this may be set to one fewer than the number of parallel\nqueries to be run, or in running a data pipeline job, one fewer than the\nnumber of workers or compute instances available.",
+          "description": "The desired maximum number of partition points. The partitions may be returned across multiple pages of results. The number must be positive. The actual number of partitions returned may be fewer. For example, this may be set to one fewer than the number of parallel queries to be run, or in running a data pipeline job, one fewer than the number of workers or compute instances available.",
           "format": "int64",
           "type": "string"
         },
         "structuredQuery": {
           "$ref": "StructuredQuery",
-          "description": "A structured query.\nFilters, order bys, limits, offsets, and start/end cursors are not\nsupported."
+          "description": "A structured query. Query must specify collection with all descendants and be ordered by name ascending. Other filters, order bys, limits, offsets, and start/end cursors are not supported."
         }
       },
       "type": "object"
@@ -2470,11 +2470,11 @@
       "id": "PartitionQueryResponse",
       "properties": {
         "nextPageToken": {
-          "description": "A page token that may be used to request an additional set of results, up\nto the number specified by `partition_count` in the PartitionQuery request.\nIf blank, there are no more results.",
+          "description": "A page token that may be used to request an additional set of results, up to the number specified by `partition_count` in the PartitionQuery request. If blank, there are no more results.",
           "type": "string"
         },
         "partitions": {
-          "description": "Partition results.\nEach partition is a split point that can be used by RunQuery as a starting\nor end point for the query results. The RunQuery requests must be made with\nthe same query supplied to this PartitionQuery request. The partition\ncursors will be ordered according to same ordering as the results of the\nquery supplied to PartitionQuery.\n\nFor example, if a PartitionQuery request returns partition cursors A and B,\nrunning the following three queries will return the entire result set of\nthe original query:\n\n * query, end_at A\n * query, start_at A, end_at B\n * query, start_at B",
+          "description": "Partition results. Each partition is a split point that can be used by RunQuery as a starting or end point for the query results. The RunQuery requests must be made with the same query supplied to this PartitionQuery request. The partition cursors will be ordered according to same ordering as the results of the query supplied to PartitionQuery. For example, if a PartitionQuery request returns partition cursors A and B, running the following three queries will return the entire result set of the original query: * query, end_at A * query, start_at A, end_at B * query, start_at B An empty result may indicate that the query has too few results to be partitioned.",
           "items": {
             "$ref": "Cursor"
           },
@@ -2488,11 +2488,11 @@
       "id": "Precondition",
       "properties": {
         "exists": {
-          "description": "When set to `true`, the target document must exist.\nWhen set to `false`, the target document must not exist.",
+          "description": "When set to `true`, the target document must exist. When set to `false`, the target document must not exist.",
           "type": "boolean"
         },
         "updateTime": {
-          "description": "When set, the target document must exist and have been last updated at\nthat time.",
+          "description": "When set, the target document must exist and have been last updated at that time.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -2504,7 +2504,7 @@
       "id": "Projection",
       "properties": {
         "fields": {
-          "description": "The fields to return.\n\nIf empty, all fields are returned. To only return the name\nof the document, use `['__name__']`.",
+          "description": "The fields to return. If empty, all fields are returned. To only return the name of the document, use `['__name__']`.",
           "items": {
             "$ref": "FieldReference"
           },
@@ -2518,7 +2518,7 @@
       "id": "QueryTarget",
       "properties": {
         "parent": {
-          "description": "The parent resource name. In the format:\n`projects/{project_id}/databases/{database_id}/documents` or\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.\nFor example:\n`projects/my-project/databases/my-database/documents` or\n`projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
+          "description": "The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
           "type": "string"
         },
         "structuredQuery": {
@@ -2533,7 +2533,7 @@
       "id": "ReadOnly",
       "properties": {
         "readTime": {
-          "description": "Reads documents at the given time.\nThis may not be older than 60 seconds.",
+          "description": "Reads documents at the given time. This may not be older than 60 seconds.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -2570,10 +2570,10 @@
       "properties": {
         "newTransaction": {
           "$ref": "TransactionOptions",
-          "description": "Starts a new transaction and reads the documents.\nDefaults to a read-only transaction.\nThe new transaction ID will be returned as the first response in the\nstream."
+          "description": "Starts a new transaction and reads the documents. Defaults to a read-only transaction. The new transaction ID will be returned as the first response in the stream."
         },
         "readTime": {
-          "description": "Reads documents as they were at the given time.\nThis may not be older than 270 seconds.",
+          "description": "Reads documents as they were at the given time. This may not be older than 270 seconds.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -2595,20 +2595,20 @@
       "properties": {
         "document": {
           "$ref": "Document",
-          "description": "A query result.\nNot set when reporting partial progress."
+          "description": "A query result. Not set when reporting partial progress."
         },
         "readTime": {
-          "description": "The time at which the document was read. This may be monotonically\nincreasing; in this case, the previous documents in the result stream are\nguaranteed not to have changed between their `read_time` and this one.\n\nIf the query returns no results, a response with `read_time` and no\n`document` will be sent, and this represents the time at which the query\nwas run.",
+          "description": "The time at which the document was read. This may be monotonically increasing; in this case, the previous documents in the result stream are guaranteed not to have changed between their `read_time` and this one. If the query returns no results, a response with `read_time` and no `document` will be sent, and this represents the time at which the query was run.",
           "format": "google-datetime",
           "type": "string"
         },
         "skippedResults": {
-          "description": "The number of results that have been skipped due to an offset between\nthe last response and the current response.",
+          "description": "The number of results that have been skipped due to an offset between the last response and the current response.",
           "format": "int32",
           "type": "integer"
         },
         "transaction": {
-          "description": "The transaction that was started as part of this request.\nCan only be set in the first response, and only if\nRunQueryRequest.new_transaction was set in the request.\nIf set, no other fields will be set in this response.",
+          "description": "The transaction that was started as part of this request. Can only be set in the first response, and only if RunQueryRequest.new_transaction was set in the request. If set, no other fields will be set in this response.",
           "format": "byte",
           "type": "string"
         }
@@ -2616,7 +2616,7 @@
       "type": "object"
     },
     "Status": {
-      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "Status",
       "properties": {
         "code": {
@@ -2625,7 +2625,7 @@
           "type": "integer"
         },
         "details": {
-          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -2636,7 +2636,7 @@
           "type": "array"
         },
         "message": {
-          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
           "type": "string"
         }
       },
@@ -2658,17 +2658,17 @@
           "type": "array"
         },
         "limit": {
-          "description": "The maximum number of results to return.\n\nApplies after all other constraints.\nMust be \u003e= 0 if specified.",
+          "description": "The maximum number of results to return. Applies after all other constraints. Must be \u003e= 0 if specified.",
           "format": "int32",
           "type": "integer"
         },
         "offset": {
-          "description": "The number of results to skip.\n\nApplies before limit, but after all other constraints. Must be \u003e= 0 if\nspecified.",
+          "description": "The number of results to skip. Applies before limit, but after all other constraints. Must be \u003e= 0 if specified.",
           "format": "int32",
           "type": "integer"
         },
         "orderBy": {
-          "description": "The order to apply to the query results.\n\nFirestore guarantees a stable ordering through the following rules:\n\n * Any field required to appear in `order_by`, that is not already\n   specified in `order_by`, is appended to the order in field name order\n   by default.\n * If an order on `__name__` is not specified, it is appended by default.\n\nFields are appended with the same sort direction as the last order\nspecified, or 'ASCENDING' if no order was specified. For example:\n\n * `SELECT * FROM Foo ORDER BY A` becomes\n   `SELECT * FROM Foo ORDER BY A, __name__`\n * `SELECT * FROM Foo ORDER BY A DESC` becomes\n   `SELECT * FROM Foo ORDER BY A DESC, __name__ DESC`\n * `SELECT * FROM Foo WHERE A \u003e 1` becomes\n   `SELECT * FROM Foo WHERE A \u003e 1 ORDER BY A, __name__`",
+          "description": "The order to apply to the query results. Firestore guarantees a stable ordering through the following rules: * Any field required to appear in `order_by`, that is not already specified in `order_by`, is appended to the order in field name order by default. * If an order on `__name__` is not specified, it is appended by default. Fields are appended with the same sort direction as the last order specified, or 'ASCENDING' if no order was specified. For example: * `SELECT * FROM Foo ORDER BY A` becomes `SELECT * FROM Foo ORDER BY A, __name__` * `SELECT * FROM Foo ORDER BY A DESC` becomes `SELECT * FROM Foo ORDER BY A DESC, __name__ DESC` * `SELECT * FROM Foo WHERE A \u003e 1` becomes `SELECT * FROM Foo WHERE A \u003e 1 ORDER BY A, __name__`",
           "items": {
             "$ref": "Order"
           },
@@ -2706,17 +2706,17 @@
           "description": "A target specified by a query."
         },
         "readTime": {
-          "description": "Start listening after a specific `read_time`.\n\nThe client must know the state of matching documents at this time.",
+          "description": "Start listening after a specific `read_time`. The client must know the state of matching documents at this time.",
           "format": "google-datetime",
           "type": "string"
         },
         "resumeToken": {
-          "description": "A resume token from a prior TargetChange for an identical target.\n\nUsing a resume token with a different target is unsupported and may fail.",
+          "description": "A resume token from a prior TargetChange for an identical target. Using a resume token with a different target is unsupported and may fail.",
           "format": "byte",
           "type": "string"
         },
         "targetId": {
-          "description": "The target ID that identifies the target on the stream. Must be a positive\nnumber and non-zero.",
+          "description": "The target ID that identifies the target on the stream. Must be a positive number and non-zero.",
           "format": "int32",
           "type": "integer"
         }
@@ -2732,12 +2732,12 @@
           "description": "The error that resulted in this change, if applicable."
         },
         "readTime": {
-          "description": "The consistent `read_time` for the given `target_ids` (omitted when the\ntarget_ids are not at a consistent snapshot).\n\nThe stream is guaranteed to send a `read_time` with `target_ids` empty\nwhenever the entire stream reaches a new consistent snapshot. ADD,\nCURRENT, and RESET messages are guaranteed to (eventually) result in a\nnew consistent snapshot (while NO_CHANGE and REMOVE messages are not).\n\nFor a given stream, `read_time` is guaranteed to be monotonically\nincreasing.",
+          "description": "The consistent `read_time` for the given `target_ids` (omitted when the target_ids are not at a consistent snapshot). The stream is guaranteed to send a `read_time` with `target_ids` empty whenever the entire stream reaches a new consistent snapshot. ADD, CURRENT, and RESET messages are guaranteed to (eventually) result in a new consistent snapshot (while NO_CHANGE and REMOVE messages are not). For a given stream, `read_time` is guaranteed to be monotonically increasing.",
           "format": "google-datetime",
           "type": "string"
         },
         "resumeToken": {
-          "description": "A token that can be used to resume the stream for the given `target_ids`,\nor all targets if `target_ids` is empty.\n\nNot set on every target change.",
+          "description": "A token that can be used to resume the stream for the given `target_ids`, or all targets if `target_ids` is empty. Not set on every target change.",
           "format": "byte",
           "type": "string"
         },
@@ -2754,13 +2754,13 @@
             "No change has occurred. Used only to send an updated `resume_token`.",
             "The targets have been added.",
             "The targets have been removed.",
-            "The targets reflect all changes committed before the targets were added\nto the stream.\n\nThis will be sent after or with a `read_time` that is greater than or\nequal to the time at which the targets were added.\n\nListeners can wait for this change if read-after-write semantics\nare desired.",
-            "The targets have been reset, and a new initial state for the targets\nwill be returned in subsequent changes.\n\nAfter the initial state is complete, `CURRENT` will be returned even\nif the target was previously indicated to be `CURRENT`."
+            "The targets reflect all changes committed before the targets were added to the stream. This will be sent after or with a `read_time` that is greater than or equal to the time at which the targets were added. Listeners can wait for this change if read-after-write semantics are desired.",
+            "The targets have been reset, and a new initial state for the targets will be returned in subsequent changes. After the initial state is complete, `CURRENT` will be returned even if the target was previously indicated to be `CURRENT`."
           ],
           "type": "string"
         },
         "targetIds": {
-          "description": "The target IDs of targets that have changed.\n\nIf empty, the change applies to all targets.\n\nThe order of the target IDs is not defined.",
+          "description": "The target IDs of targets that have changed. If empty, the change applies to all targets. The order of the target IDs is not defined.",
           "items": {
             "format": "int32",
             "type": "integer"
@@ -2816,14 +2816,14 @@
       "properties": {
         "arrayValue": {
           "$ref": "ArrayValue",
-          "description": "An array value.\n\nCannot directly contain another array value, though can contain an\nmap which contains another array."
+          "description": "An array value. Cannot directly contain another array value, though can contain an map which contains another array."
         },
         "booleanValue": {
           "description": "A boolean value.",
           "type": "boolean"
         },
         "bytesValue": {
-          "description": "A bytes value.\n\nMust not exceed 1 MiB - 89 bytes.\nOnly the first 1,500 bytes are considered by queries.",
+          "description": "A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.",
           "format": "byte",
           "type": "string"
         },
@@ -2856,15 +2856,15 @@
           "type": "string"
         },
         "referenceValue": {
-          "description": "A reference to a document. For example:\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
+          "description": "A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
           "type": "string"
         },
         "stringValue": {
-          "description": "A string value.\n\nThe string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.\nOnly the first 1,500 bytes of the UTF-8 representation are considered by\nqueries.",
+          "description": "A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.",
           "type": "string"
         },
         "timestampValue": {
-          "description": "A timestamp value.\n\nPrecise only to microseconds. When stored, any additional precision is\nrounded down.",
+          "description": "A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -2877,10 +2877,10 @@
       "properties": {
         "currentDocument": {
           "$ref": "Precondition",
-          "description": "An optional precondition on the document.\n\nThe write will fail if this is set and not met by the target document."
+          "description": "An optional precondition on the document. The write will fail if this is set and not met by the target document."
         },
         "delete": {
-          "description": "A document name to delete. In the format:\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
+          "description": "A document name to delete. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
           "type": "string"
         },
         "transform": {
@@ -2893,10 +2893,10 @@
         },
         "updateMask": {
           "$ref": "DocumentMask",
-          "description": "The fields to update in this write.\n\nThis field can be set only when the operation is `update`.\nIf the mask is not set for an `update` and the document exists, any\nexisting data will be overwritten.\nIf the mask is set and the document on the server has fields not covered by\nthe mask, they are left unchanged.\nFields referenced in the mask, but not present in the input document, are\ndeleted from the document on the server.\nThe field paths in this mask must not contain a reserved field name."
+          "description": "The fields to update in this write. This field can be set only when the operation is `update`. If the mask is not set for an `update` and the document exists, any existing data will be overwritten. If the mask is set and the document on the server has fields not covered by the mask, they are left unchanged. Fields referenced in the mask, but not present in the input document, are deleted from the document on the server. The field paths in this mask must not contain a reserved field name."
         },
         "updateTransforms": {
-          "description": "The transforms to perform after update.\n\nThis field can be set only when the operation is `update`. If present, this\nwrite is equivalent to performing `update` and `transform` to the same\ndocument atomically and in order.",
+          "description": "The transforms to perform after update. This field can be set only when the operation is `update`. If present, this write is equivalent to performing `update` and `transform` to the same document atomically and in order.",
           "items": {
             "$ref": "FieldTransform"
           },
@@ -2906,7 +2906,7 @@
       "type": "object"
     },
     "WriteRequest": {
-      "description": "The request for Firestore.Write.\n\nThe first request creates a stream, or resumes an existing one from a token.\n\nWhen creating a new stream, the server replies with a response containing\nonly an ID and a token, to use in the next request.\n\nWhen resuming a stream, the server first streams any responses later than the\ngiven token, then a response containing only an up-to-date token, to use in\nthe next request.",
+      "description": "The request for Firestore.Write. The first request creates a stream, or resumes an existing one from a token. When creating a new stream, the server replies with a response containing only an ID and a token, to use in the next request. When resuming a stream, the server first streams any responses later than the given token, then a response containing only an up-to-date token, to use in the next request.",
       "id": "WriteRequest",
       "properties": {
         "labels": {
@@ -2917,16 +2917,16 @@
           "type": "object"
         },
         "streamId": {
-          "description": "The ID of the write stream to resume.\nThis may only be set in the first message. When left empty, a new write\nstream will be created.",
+          "description": "The ID of the write stream to resume. This may only be set in the first message. When left empty, a new write stream will be created.",
           "type": "string"
         },
         "streamToken": {
-          "description": "A stream token that was previously sent by the server.\n\nThe client should set this field to the token from the most recent\nWriteResponse it has received. This acknowledges that the client has\nreceived responses up to this token. After sending this token, earlier\ntokens may not be used anymore.\n\nThe server may close the stream if there are too many unacknowledged\nresponses.\n\nLeave this field unset when creating a new stream. To resume a stream at\na specific point, set this field and the `stream_id` field.\n\nLeave this field unset when creating a new stream.",
+          "description": "A stream token that was previously sent by the server. The client should set this field to the token from the most recent WriteResponse it has received. This acknowledges that the client has received responses up to this token. After sending this token, earlier tokens may not be used anymore. The server may close the stream if there are too many unacknowledged responses. Leave this field unset when creating a new stream. To resume a stream at a specific point, set this field and the `stream_id` field. Leave this field unset when creating a new stream.",
           "format": "byte",
           "type": "string"
         },
         "writes": {
-          "description": "The writes to apply.\n\nAlways executed atomically and in order.\nThis must be empty on the first request.\nThis may be empty on the last request.\nThis must not be empty on all other requests.",
+          "description": "The writes to apply. Always executed atomically and in order. This must be empty on the first request. This may be empty on the last request. This must not be empty on all other requests.",
           "items": {
             "$ref": "Write"
           },
@@ -2940,21 +2940,21 @@
       "id": "WriteResponse",
       "properties": {
         "commitTime": {
-          "description": "The time at which the commit occurred. Any read with an equal or greater\n`read_time` is guaranteed to see the effects of the write.",
+          "description": "The time at which the commit occurred. Any read with an equal or greater `read_time` is guaranteed to see the effects of the write.",
           "format": "google-datetime",
           "type": "string"
         },
         "streamId": {
-          "description": "The ID of the stream.\nOnly set on the first message, when a new stream was created.",
+          "description": "The ID of the stream. Only set on the first message, when a new stream was created.",
           "type": "string"
         },
         "streamToken": {
-          "description": "A token that represents the position of this response in the stream.\nThis can be used by a client to resume the stream at this point.\n\nThis field is always set.",
+          "description": "A token that represents the position of this response in the stream. This can be used by a client to resume the stream at this point. This field is always set.",
           "format": "byte",
           "type": "string"
         },
         "writeResults": {
-          "description": "The result of applying the writes.\n\nThis i-th write result corresponds to the i-th write in the\nrequest.",
+          "description": "The result of applying the writes. This i-th write result corresponds to the i-th write in the request.",
           "items": {
             "$ref": "WriteResult"
           },
@@ -2968,14 +2968,14 @@
       "id": "WriteResult",
       "properties": {
         "transformResults": {
-          "description": "The results of applying each DocumentTransform.FieldTransform, in the\nsame order.",
+          "description": "The results of applying each DocumentTransform.FieldTransform, in the same order.",
           "items": {
             "$ref": "Value"
           },
           "type": "array"
         },
         "updateTime": {
-          "description": "The last update time of the document after applying the write. Not set\nafter a `delete`.\n\nIf the write did not actually change the document, this will be the\nprevious update_time.",
+          "description": "The last update time of the document after applying the write. Not set after a `delete`. If the write did not actually change the document, this will be the previous update_time.",
           "format": "google-datetime",
           "type": "string"
         }
diff --git a/firestore/v1/firestore-gen.go b/firestore/v1/firestore-gen.go
index 1633fdc..2a12463 100644
--- a/firestore/v1/firestore-gen.go
+++ b/firestore/v1/firestore-gen.go
@@ -269,32 +269,24 @@
 // BatchGetDocumentsRequest: The request for
 // Firestore.BatchGetDocuments.
 type BatchGetDocumentsRequest struct {
-	// Documents: The names of the documents to retrieve. In the
-	// format:
-	// `projects/{project_id}/databases/{database_id}/documents/{docu
-	// ment_path}`.
-	// The request will fail if any of the document is not a child resource
-	// of the
-	// given `database`. Duplicate names will be elided.
+	// Documents: The names of the documents to retrieve. In the format:
+	// `projects/{project_id}/databases/{database_id}/documents/{document_pat
+	// h}`. The request will fail if any of the document is not a child
+	// resource of the given `database`. Duplicate names will be elided.
 	Documents []string `json:"documents,omitempty"`
 
-	// Mask: The fields to return. If not set, returns all fields.
-	//
-	// If a document has a field that is not present in this mask, that
-	// field will
-	// not be returned in the response.
+	// Mask: The fields to return. If not set, returns all fields. If a
+	// document has a field that is not present in this mask, that field
+	// will not be returned in the response.
 	Mask *DocumentMask `json:"mask,omitempty"`
 
-	// NewTransaction: Starts a new transaction and reads the
-	// documents.
-	// Defaults to a read-only transaction.
-	// The new transaction ID will be returned as the first response in
-	// the
-	// stream.
+	// NewTransaction: Starts a new transaction and reads the documents.
+	// Defaults to a read-only transaction. The new transaction ID will be
+	// returned as the first response in the stream.
 	NewTransaction *TransactionOptions `json:"newTransaction,omitempty"`
 
-	// ReadTime: Reads documents as they were at the given time.
-	// This may not be older than 270 seconds.
+	// ReadTime: Reads documents as they were at the given time. This may
+	// not be older than 270 seconds.
 	ReadTime string `json:"readTime,omitempty"`
 
 	// Transaction: Reads documents in a transaction.
@@ -330,24 +322,19 @@
 	Found *Document `json:"found,omitempty"`
 
 	// Missing: A document name that was requested but does not exist. In
-	// the
-	// format:
-	// `projects/{project_id}/databases/{database_id}/documents/{docu
-	// ment_path}`.
+	// the format:
+	// `projects/{project_id}/databases/{database_id}/documents/{document_pat
+	// h}`.
 	Missing string `json:"missing,omitempty"`
 
-	// ReadTime: The time at which the document was read.
-	// This may be monotically increasing, in this case the previous
-	// documents in
-	// the result stream are guaranteed not to have changed between
-	// their
+	// ReadTime: The time at which the document was read. This may be
+	// monotically increasing, in this case the previous documents in the
+	// result stream are guaranteed not to have changed between their
 	// read_time and this one.
 	ReadTime string `json:"readTime,omitempty"`
 
 	// Transaction: The transaction that was started as part of this
-	// request.
-	// Will only be set in the first response, and only
-	// if
+	// request. Will only be set in the first response, and only if
 	// BatchGetDocumentsRequest.new_transaction was set in the request.
 	Transaction string `json:"transaction,omitempty"`
 
@@ -383,13 +370,10 @@
 	// Labels: Labels associated with this batch write.
 	Labels map[string]string `json:"labels,omitempty"`
 
-	// Writes: The writes to apply.
-	//
-	// Method does not apply writes atomically and does not guarantee
-	// ordering.
-	// Each write succeeds or fails independently. You cannot write to the
-	// same
-	// document more than once per request.
+	// Writes: The writes to apply. Method does not apply writes atomically
+	// and does not guarantee ordering. Each write succeeds or fails
+	// independently. You cannot write to the same document more than once
+	// per request.
 	Writes []*Write `json:"writes,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Labels") to
@@ -417,16 +401,12 @@
 
 // BatchWriteResponse: The response from Firestore.BatchWrite.
 type BatchWriteResponse struct {
-	// Status: The status of applying the writes.
-	//
-	// This i-th write status corresponds to the i-th write in the
-	// request.
+	// Status: The status of applying the writes. This i-th write status
+	// corresponds to the i-th write in the request.
 	Status []*Status `json:"status,omitempty"`
 
-	// WriteResults: The result of applying the writes.
-	//
-	// This i-th write result corresponds to the i-th write in the
-	// request.
+	// WriteResults: The result of applying the writes. This i-th write
+	// result corresponds to the i-th write in the request.
 	WriteResults []*WriteResult `json:"writeResults,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -458,8 +438,8 @@
 
 // BeginTransactionRequest: The request for Firestore.BeginTransaction.
 type BeginTransactionRequest struct {
-	// Options: The options for the transaction.
-	// Defaults to a read-write transaction.
+	// Options: The options for the transaction. Defaults to a read-write
+	// transaction.
 	Options *TransactionOptions `json:"options,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Options") to
@@ -522,13 +502,12 @@
 // m1`.
 type CollectionSelector struct {
 	// AllDescendants: When false, selects only collections that are
-	// immediate children of
-	// the `parent` specified in the containing `RunQueryRequest`.
-	// When true, selects all descendant collections.
+	// immediate children of the `parent` specified in the containing
+	// `RunQueryRequest`. When true, selects all descendant collections.
 	AllDescendants bool `json:"allDescendants,omitempty"`
 
-	// CollectionId: The collection ID.
-	// When set, selects only collections with this ID.
+	// CollectionId: The collection ID. When set, selects only collections
+	// with this ID.
 	CollectionId string `json:"collectionId,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AllDescendants") to
@@ -561,9 +540,7 @@
 	// commits it.
 	Transaction string `json:"transaction,omitempty"`
 
-	// Writes: The writes to apply.
-	//
-	// Always executed atomically and in order.
+	// Writes: The writes to apply. Always executed atomically and in order.
 	Writes []*Write `json:"writes,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Transaction") to
@@ -592,14 +569,12 @@
 // CommitResponse: The response for Firestore.Commit.
 type CommitResponse struct {
 	// CommitTime: The time at which the commit occurred. Any read with an
-	// equal or greater
-	// `read_time` is guaranteed to see the effects of the commit.
+	// equal or greater `read_time` is guaranteed to see the effects of the
+	// commit.
 	CommitTime string `json:"commitTime,omitempty"`
 
-	// WriteResults: The result of applying the writes.
-	//
-	// This i-th write result corresponds to the i-th write in the
-	// request.
+	// WriteResults: The result of applying the writes. This i-th write
+	// result corresponds to the i-th write in the request.
 	WriteResults []*WriteResult `json:"writeResults,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -632,8 +607,8 @@
 // CompositeFilter: A filter that merges multiple other filters using
 // the given operator.
 type CompositeFilter struct {
-	// Filters: The list of filters to combine.
-	// Must contain at least one filter.
+	// Filters: The list of filters to combine. Must contain at least one
+	// filter.
 	Filters []*Filter `json:"filters,omitempty"`
 
 	// Op: The operator for combining multiple filters.
@@ -670,15 +645,12 @@
 // Cursor: A position in a query result set.
 type Cursor struct {
 	// Before: If the position is just before or just after the given
-	// values, relative
-	// to the sort order defined by the query.
+	// values, relative to the sort order defined by the query.
 	Before bool `json:"before,omitempty"`
 
 	// Values: The values that represent a position, in the order they
-	// appear in
-	// the order by clause of a query.
-	//
-	// Can contain fewer values than specified in the order by clause.
+	// appear in the order by clause of a query. Can contain fewer values
+	// than specified in the order by clause.
 	Values []*Value `json:"values,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Before") to
@@ -704,71 +676,41 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// Document: A Firestore document.
-//
-// Must not exceed 1 MiB - 4 bytes.
+// Document: A Firestore document. Must not exceed 1 MiB - 4 bytes.
 type Document struct {
-	// CreateTime: Output only. The time at which the document was
-	// created.
-	//
-	// This value increases monotonically when a document is deleted
-	// then
-	// recreated. It can also be compared to values from other documents
-	// and
+	// CreateTime: Output only. The time at which the document was created.
+	// This value increases monotonically when a document is deleted then
+	// recreated. It can also be compared to values from other documents and
 	// the `read_time` of a query.
 	CreateTime string `json:"createTime,omitempty"`
 
-	// Fields: The document's fields.
-	//
-	// The map keys represent field names.
-	//
-	// A simple field name contains only characters `a` to `z`, `A` to
-	// `Z`,
-	// `0` to `9`, or `_`, and must not start with `0` to `9`. For
-	// example,
-	// `foo_bar_17`.
-	//
-	// Field names matching the regular expression `__.*__` are reserved.
-	// Reserved
-	// field names are forbidden except in certain documented contexts. The
-	// map
-	// keys, represented as UTF-8, must not exceed 1,500 bytes and cannot
-	// be
-	// empty.
-	//
-	// Field paths may be used in other contexts to refer to structured
-	// fields
-	// defined here. For `map_value`, the field path is represented by the
-	// simple
-	// or quoted field names of the containing fields, delimited by `.`.
-	// For
-	// example, the structured field
-	// "foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would
-	// be
-	// represented by the field path `foo.x&y`.
-	//
-	// Within a field path, a quoted field name starts and ends with `` ` ``
-	// and
+	// Fields: The document's fields. The map keys represent field names. A
+	// simple field name contains only characters `a` to `z`, `A` to `Z`,
+	// `0` to `9`, or `_`, and must not start with `0` to `9`. For example,
+	// `foo_bar_17`. Field names matching the regular expression `__.*__`
+	// are reserved. Reserved field names are forbidden except in certain
+	// documented contexts. The map keys, represented as UTF-8, must not
+	// exceed 1,500 bytes and cannot be empty. Field paths may be used in
+	// other contexts to refer to structured fields defined here. For
+	// `map_value`, the field path is represented by the simple or quoted
+	// field names of the containing fields, delimited by `.`. For example,
+	// the structured field "foo" : { map_value: { "x&y" : { string_value:
+	// "hello" }}}` would be represented by the field path `foo.x&y`. Within
+	// a field path, a quoted field name starts and ends with `` ` `` and
 	// may contain any character. Some characters, including `` ` ``, must
-	// be
-	// escaped using a `\`. For example, `` `x&y` `` represents `x&y` and
+	// be escaped using a `\`. For example, `` `x&y` `` represents `x&y` and
 	// `` `bak\`tik` `` represents `` bak`tik ``.
 	Fields map[string]Value `json:"fields,omitempty"`
 
-	// Name: The resource name of the document, for
-	// example
-	// `projects/{project_id}/databases/{database_id}/documents/{docu
-	// ment_path}`.
+	// Name: The resource name of the document, for example
+	// `projects/{project_id}/databases/{database_id}/documents/{document_pat
+	// h}`.
 	Name string `json:"name,omitempty"`
 
 	// UpdateTime: Output only. The time at which the document was last
-	// changed.
-	//
-	// This value is initially set to the `create_time` then
-	// increases
-	// monotonically with each change to the document. It can also
-	// be
-	// compared to values from other documents and the `read_time` of a
+	// changed. This value is initially set to the `create_time` then
+	// increases monotonically with each change to the document. It can also
+	// be compared to values from other documents and the `read_time` of a
 	// query.
 	UpdateTime string `json:"updateTime,omitempty"`
 
@@ -799,19 +741,13 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// DocumentChange: A Document has changed.
-//
-// May be the result of multiple writes, including deletes,
-// that
-// ultimately resulted in a new value for the Document.
-//
-// Multiple DocumentChange messages may be returned for the same
-// logical
-// change, if multiple targets are affected.
+// DocumentChange: A Document has changed. May be the result of multiple
+// writes, including deletes, that ultimately resulted in a new value
+// for the Document. Multiple DocumentChange messages may be returned
+// for the same logical change, if multiple targets are affected.
 type DocumentChange struct {
-	// Document: The new state of the Document.
-	//
-	// If `mask` is set, contains only fields that were updated or added.
+	// Document: The new state of the Document. If `mask` is set, contains
+	// only fields that were updated or added.
 	Document *Document `json:"document,omitempty"`
 
 	// RemovedTargetIds: A set of target IDs for targets that no longer
@@ -844,21 +780,15 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// DocumentDelete: A Document has been deleted.
-//
-// May be the result of multiple writes, including updates, the
-// last of which deleted the Document.
-//
-// Multiple DocumentDelete messages may be returned for the same
-// logical
-// delete, if multiple targets are affected.
+// DocumentDelete: A Document has been deleted. May be the result of
+// multiple writes, including updates, the last of which deleted the
+// Document. Multiple DocumentDelete messages may be returned for the
+// same logical delete, if multiple targets are affected.
 type DocumentDelete struct {
 	// Document: The resource name of the Document that was deleted.
 	Document string `json:"document,omitempty"`
 
-	// ReadTime: The read timestamp at which the delete was
-	// observed.
-	//
+	// ReadTime: The read timestamp at which the delete was observed.
 	// Greater or equal to the `commit_time` of the delete.
 	ReadTime string `json:"readTime,omitempty"`
 
@@ -889,17 +819,13 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// DocumentMask: A set of field paths on a document.
-// Used to restrict a get or update operation on a document to a subset
-// of its
-// fields.
-// This is different from standard field masks, as this is always scoped
-// to a
+// DocumentMask: A set of field paths on a document. Used to restrict a
+// get or update operation on a document to a subset of its fields. This
+// is different from standard field masks, as this is always scoped to a
 // Document, and takes in account the dynamic nature of Value.
 type DocumentMask struct {
 	// FieldPaths: The list of field paths in the mask. See Document.fields
-	// for a field
-	// path syntax reference.
+	// for a field path syntax reference.
 	FieldPaths []string `json:"fieldPaths,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "FieldPaths") to
@@ -926,25 +852,17 @@
 }
 
 // DocumentRemove: A Document has been removed from the view of the
-// targets.
-//
-// Sent if the document is no longer relevant to a target and is out of
-// view.
-// Can be sent instead of a DocumentDelete or a DocumentChange if the
-// server
-// can not send the new value of the document.
-//
-// Multiple DocumentRemove messages may be returned for the same
-// logical
-// write or delete, if multiple targets are affected.
+// targets. Sent if the document is no longer relevant to a target and
+// is out of view. Can be sent instead of a DocumentDelete or a
+// DocumentChange if the server can not send the new value of the
+// document. Multiple DocumentRemove messages may be returned for the
+// same logical write or delete, if multiple targets are affected.
 type DocumentRemove struct {
 	// Document: The resource name of the Document that has gone out of
 	// view.
 	Document string `json:"document,omitempty"`
 
-	// ReadTime: The read timestamp at which the remove was
-	// observed.
-	//
+	// ReadTime: The read timestamp at which the remove was observed.
 	// Greater or equal to the `commit_time` of the change/delete/remove.
 	ReadTime string `json:"readTime,omitempty"`
 
@@ -981,9 +899,7 @@
 	Document string `json:"document,omitempty"`
 
 	// FieldTransforms: The list of transformations to apply to the fields
-	// of the document, in
-	// order.
-	// This must not be empty.
+	// of the document, in order. This must not be empty.
 	FieldTransforms []*FieldTransform `json:"fieldTransforms,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Document") to
@@ -1011,13 +927,10 @@
 
 // DocumentsTarget: A target specified by a set of documents names.
 type DocumentsTarget struct {
-	// Documents: The names of the documents to retrieve. In the
-	// format:
-	// `projects/{project_id}/databases/{database_id}/documents/{docu
-	// ment_path}`.
-	// The request will fail if any of the document is not a child resource
-	// of
-	// the given `database`. Duplicate names will be elided.
+	// Documents: The names of the documents to retrieve. In the format:
+	// `projects/{project_id}/databases/{database_id}/documents/{document_pat
+	// h}`. The request will fail if any of the document is not a child
+	// resource of the given `database`. Duplicate names will be elided.
 	Documents []string `json:"documents,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Documents") to
@@ -1044,17 +957,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -1064,10 +971,8 @@
 // ExistenceFilter: A digest of all the documents that match a given
 // target.
 type ExistenceFilter struct {
-	// Count: The total count of documents that match target_id.
-	//
-	// If different from the count of documents in the client that match,
-	// the
+	// Count: The total count of documents that match target_id. If
+	// different from the count of documents in the client that match, the
 	// client must manually determine which documents no longer match the
 	// target.
 	Count int64 `json:"count,omitempty"`
@@ -1107,48 +1012,25 @@
 	//
 	// Possible values:
 	//   "OPERATOR_UNSPECIFIED" - Unspecified. This value must not be used.
-	//   "LESS_THAN" - The given `field` is less than the given
-	// `value`.
-	//
-	// Requires:
-	//
-	// * That `field` come first in `order_by`.
+	//   "LESS_THAN" - The given `field` is less than the given `value`.
+	// Requires: * That `field` come first in `order_by`.
 	//   "LESS_THAN_OR_EQUAL" - The given `field` is less than or equal to
-	// the given `value`.
-	//
-	// Requires:
-	//
-	// * That `field` come first in `order_by`.
+	// the given `value`. Requires: * That `field` come first in `order_by`.
 	//   "GREATER_THAN" - The given `field` is greater than the given
-	// `value`.
-	//
-	// Requires:
-	//
-	// * That `field` come first in `order_by`.
+	// `value`. Requires: * That `field` come first in `order_by`.
 	//   "GREATER_THAN_OR_EQUAL" - The given `field` is greater than or
-	// equal to the given `value`.
-	//
-	// Requires:
-	//
-	// * That `field` come first in `order_by`.
+	// equal to the given `value`. Requires: * That `field` come first in
+	// `order_by`.
 	//   "EQUAL" - The given `field` is equal to the given `value`.
 	//   "ARRAY_CONTAINS" - The given `field` is an array that contains the
 	// given `value`.
 	//   "IN" - The given `field` is equal to at least one value in the
-	// given array.
-	//
-	// Requires:
-	//
-	// * That `value` is a non-empty `ArrayValue` with at most 10 values.
-	// * No other `IN` or `ARRAY_CONTAINS_ANY`.
+	// given array. Requires: * That `value` is a non-empty `ArrayValue`
+	// with at most 10 values. * No other `IN` or `ARRAY_CONTAINS_ANY`.
 	//   "ARRAY_CONTAINS_ANY" - The given `field` is an array that contains
-	// any of the values in the
-	// given array.
-	//
-	// Requires:
-	//
-	// * That `value` is a non-empty `ArrayValue` with at most 10 values.
-	// * No other `IN` or `ARRAY_CONTAINS_ANY`.
+	// any of the values in the given array. Requires: * That `value` is a
+	// non-empty `ArrayValue` with at most 10 values. * No other `IN` or
+	// `ARRAY_CONTAINS_ANY`.
 	Op string `json:"op,omitempty"`
 
 	// Value: The value to compare to.
@@ -1208,98 +1090,64 @@
 // FieldTransform: A transformation of a field of the document.
 type FieldTransform struct {
 	// AppendMissingElements: Append the given elements in order if they are
-	// not already present in
-	// the current field value.
-	// If the field is not an array, or if the field does not yet exist, it
-	// is
-	// first set to the empty array.
-	//
-	// Equivalent numbers of different types (e.g. 3L and 3.0)
-	// are
-	// considered equal when checking if a value is missing.
-	// NaN is equal to NaN, and Null is equal to Null.
-	// If the input contains multiple equivalent values, only the first
-	// will
-	// be considered.
-	//
-	// The corresponding transform_result will be the null value.
+	// not already present in the current field value. If the field is not
+	// an array, or if the field does not yet exist, it is first set to the
+	// empty array. Equivalent numbers of different types (e.g. 3L and 3.0)
+	// are considered equal when checking if a value is missing. NaN is
+	// equal to NaN, and Null is equal to Null. If the input contains
+	// multiple equivalent values, only the first will be considered. The
+	// corresponding transform_result will be the null value.
 	AppendMissingElements *ArrayValue `json:"appendMissingElements,omitempty"`
 
 	// FieldPath: The path of the field. See Document.fields for the field
-	// path syntax
-	// reference.
+	// path syntax reference.
 	FieldPath string `json:"fieldPath,omitempty"`
 
-	// Increment: Adds the given value to the field's current value.
-	//
-	// This must be an integer or a double value.
-	// If the field is not an integer or double, or if the field does not
-	// yet
-	// exist, the transformation will set the field to the given value.
-	// If either of the given value or the current field value are
-	// doubles,
-	// both values will be interpreted as doubles. Double arithmetic
-	// and
-	// representation of double values follow IEEE 754 semantics.
-	// If there is positive/negative integer overflow, the field is
-	// resolved
-	// to the largest magnitude positive/negative integer.
+	// Increment: Adds the given value to the field's current value. This
+	// must be an integer or a double value. If the field is not an integer
+	// or double, or if the field does not yet exist, the transformation
+	// will set the field to the given value. If either of the given value
+	// or the current field value are doubles, both values will be
+	// interpreted as doubles. Double arithmetic and representation of
+	// double values follow IEEE 754 semantics. If there is
+	// positive/negative integer overflow, the field is resolved to the
+	// largest magnitude positive/negative integer.
 	Increment *Value `json:"increment,omitempty"`
 
 	// Maximum: Sets the field to the maximum of its current value and the
-	// given value.
-	//
-	// This must be an integer or a double value.
-	// If the field is not an integer or double, or if the field does not
-	// yet
-	// exist, the transformation will set the field to the given value.
-	// If a maximum operation is applied where the field and the input
-	// value
-	// are of mixed types (that is - one is an integer and one is a
-	// double)
-	// the field takes on the type of the larger operand. If the operands
-	// are
-	// equivalent (e.g. 3 and 3.0), the field does not change.
-	// 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value
-	// and
-	// zero input value is always the stored value.
-	// The maximum of any numeric value x and NaN is NaN.
+	// given value. This must be an integer or a double value. If the field
+	// is not an integer or double, or if the field does not yet exist, the
+	// transformation will set the field to the given value. If a maximum
+	// operation is applied where the field and the input value are of mixed
+	// types (that is - one is an integer and one is a double) the field
+	// takes on the type of the larger operand. If the operands are
+	// equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and
+	// -0.0 are all zero. The maximum of a zero stored value and zero input
+	// value is always the stored value. The maximum of any numeric value x
+	// and NaN is NaN.
 	Maximum *Value `json:"maximum,omitempty"`
 
 	// Minimum: Sets the field to the minimum of its current value and the
-	// given value.
-	//
-	// This must be an integer or a double value.
-	// If the field is not an integer or double, or if the field does not
-	// yet
-	// exist, the transformation will set the field to the input value.
-	// If a minimum operation is applied where the field and the input
-	// value
-	// are of mixed types (that is - one is an integer and one is a
-	// double)
-	// the field takes on the type of the smaller operand. If the operands
-	// are
-	// equivalent (e.g. 3 and 3.0), the field does not change.
-	// 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value
-	// and
-	// zero input value is always the stored value.
-	// The minimum of any numeric value x and NaN is NaN.
+	// given value. This must be an integer or a double value. If the field
+	// is not an integer or double, or if the field does not yet exist, the
+	// transformation will set the field to the input value. If a minimum
+	// operation is applied where the field and the input value are of mixed
+	// types (that is - one is an integer and one is a double) the field
+	// takes on the type of the smaller operand. If the operands are
+	// equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and
+	// -0.0 are all zero. The minimum of a zero stored value and zero input
+	// value is always the stored value. The minimum of any numeric value x
+	// and NaN is NaN.
 	Minimum *Value `json:"minimum,omitempty"`
 
 	// RemoveAllFromArray: Remove all of the given elements from the array
-	// in the field.
-	// If the field is not an array, or if the field does not yet exist, it
-	// is
-	// set to the empty array.
-	//
-	// Equivalent numbers of the different types (e.g. 3L and 3.0)
-	// are
-	// considered equal when deciding whether an element should be
-	// removed.
-	// NaN is equal to NaN, and Null is equal to Null.
-	// This will remove all equivalent values if there are duplicates.
-	//
-	// The corresponding transform_result will be the null value.
+	// in the field. If the field is not an array, or if the field does not
+	// yet exist, it is set to the empty array. Equivalent numbers of the
+	// different types (e.g. 3L and 3.0) are considered equal when deciding
+	// whether an element should be removed. NaN is equal to NaN, and Null
+	// is equal to Null. This will remove all equivalent values if there are
+	// duplicates. The corresponding transform_result will be the null
+	// value.
 	RemoveAllFromArray *ArrayValue `json:"removeAllFromArray,omitempty"`
 
 	// SetToServerValue: Sets the field to the given server value.
@@ -1308,8 +1156,7 @@
 	//   "SERVER_VALUE_UNSPECIFIED" - Unspecified. This value must not be
 	// used.
 	//   "REQUEST_TIME" - The time at which the server processed the
-	// request, with millisecond
-	// precision.
+	// request, with millisecond precision.
 	SetToServerValue string `json:"setToServerValue,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -1373,16 +1220,14 @@
 }
 
 // GoogleFirestoreAdminV1ExportDocumentsMetadata: Metadata for
-// google.longrunning.Operation results
-// from
+// google.longrunning.Operation results from
 // FirestoreAdmin.ExportDocuments.
 type GoogleFirestoreAdminV1ExportDocumentsMetadata struct {
 	// CollectionIds: Which collection ids are being exported.
 	CollectionIds []string `json:"collectionIds,omitempty"`
 
 	// EndTime: The time this operation completed. Will be unset if
-	// operation still in
-	// progress.
+	// operation still in progress.
 	EndTime string `json:"endTime,omitempty"`
 
 	// OperationState: The state of the export operation.
@@ -1392,16 +1237,15 @@
 	//   "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
-	// google.longrunning.Operations.CancelOperation on the operation.
+	// user called google.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
-	// google.longrunning.Operations.CancelOperation.
+	// called google.longrunning.Operations.CancelOperation.
 	OperationState string `json:"operationState,omitempty"`
 
 	// OutputUriPrefix: Where the entities are being exported to.
@@ -1447,18 +1291,13 @@
 	CollectionIds []string `json:"collectionIds,omitempty"`
 
 	// OutputUriPrefix: The output URI. Currently only supports Google Cloud
-	// Storage URIs of the
-	// form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the
-	// name
-	// of the Google Cloud Storage bucket and `NAMESPACE_PATH` is an
-	// optional
-	// Google Cloud Storage namespace path. When
-	// choosing a name, be sure to consider Google Cloud Storage
-	// naming
-	// guidelines: https://cloud.google.com/storage/docs/naming.
-	// If the URI is a bucket (without a namespace path), a prefix will
-	// be
-	// generated based on the start time.
+	// Storage URIs of the form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where
+	// `BUCKET_NAME` is the name of the Google Cloud Storage bucket and
+	// `NAMESPACE_PATH` is an optional Google Cloud Storage namespace path.
+	// When choosing a name, be sure to consider Google Cloud Storage naming
+	// guidelines: https://cloud.google.com/storage/docs/naming. If the URI
+	// is a bucket (without a namespace path), a prefix will be generated
+	// based on the start time.
 	OutputUriPrefix string `json:"outputUriPrefix,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CollectionIds") to
@@ -1488,10 +1327,8 @@
 // google.longrunning.Operation response field.
 type GoogleFirestoreAdminV1ExportDocumentsResponse struct {
 	// OutputUriPrefix: Location of the output files. This can be used to
-	// begin an import
-	// into Cloud Firestore (this project or another project) after the
-	// operation
-	// completes successfully.
+	// begin an import into Cloud Firestore (this project or another
+	// project) after the operation completes successfully.
 	OutputUriPrefix string `json:"outputUriPrefix,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "OutputUriPrefix") to
@@ -1519,61 +1356,35 @@
 }
 
 // GoogleFirestoreAdminV1Field: Represents a single field in the
-// database.
-//
-// Fields are grouped by their "Collection Group", which represent
-// all
-// collections in the database with the same id.
+// database. Fields are grouped by their "Collection Group", which
+// represent all collections in the database with the same id.
 type GoogleFirestoreAdminV1Field struct {
 	// IndexConfig: The index configuration for this field. If unset, field
-	// indexing will
-	// revert to the configuration defined by the `ancestor_field`.
-	// To
-	// explicitly remove all indexes for this field, specify an index
-	// config
-	// with an empty list of indexes.
+	// indexing will revert to the configuration defined by the
+	// `ancestor_field`. To explicitly remove all indexes for this field,
+	// specify an index config with an empty list of indexes.
 	IndexConfig *GoogleFirestoreAdminV1IndexConfig `json:"indexConfig,omitempty"`
 
-	// Name: A field name of the
-	// form
-	// `projects/{project_id}/databases/{database_id}/collectionGroups/{
-	// collection_id}/fields/{field_path}`
-	//
-	// A field path may be a simple field name, e.g. `address` or a path to
-	// fields
-	// within map_value , e.g. `address.city`,
-	// or a special field path. The only valid special field is `*`,
-	// which
-	// represents any field.
-	//
-	// Field paths may be quoted using ` (backtick). The only character that
-	// needs
-	// to be escaped within a quoted field path is the backtick character
-	// itself,
-	// escaped using a backslash. Special characters in field paths
-	// that
-	// must be quoted include: `*`, `.`,
-	// ``` (backtick), `[`, `]`, as well as any ascii symbolic
-	// characters.
-	//
-	// Examples:
-	// (Note: Comments here are written in markdown syntax, so there is an
-	//  additional layer of backticks to represent a code
-	// block)
-	// `\`address.city\`` represents a field named `address.city`, not the
-	// map key
-	// `city` in the field `address`.
-	// `\`*\`` represents a field named `*`, not any field.
-	//
-	// A special `Field` contains the default indexing settings for all
-	// fields.
-	// This field's resource name
-	// is:
-	// `projects/{project_id}/databases/{database_id}/collectionGroups/__
-	// default__/fields/*`
-	// Indexes defined on this `Field` will be applied to all fields which
-	// do not
-	// have their own `Field` index configuration.
+	// Name: A field name of the form
+	// `projects/{project_id}/databases/{database_id}/collectionGroups/{colle
+	// ction_id}/fields/{field_path}` A field path may be a simple field
+	// name, e.g. `address` or a path to fields within map_value , e.g.
+	// `address.city`, or a special field path. The only valid special field
+	// is `*`, which represents any field. Field paths may be quoted using `
+	// (backtick). The only character that needs to be escaped within a
+	// quoted field path is the backtick character itself, escaped using a
+	// backslash. Special characters in field paths that must be quoted
+	// include: `*`, `.`, ``` (backtick), `[`, `]`, as well as any ascii
+	// symbolic characters. Examples: (Note: Comments here are written in
+	// markdown syntax, so there is an additional layer of backticks to
+	// represent a code block) `\`address.city\`` represents a field named
+	// `address.city`, not the map key `city` in the field `address`.
+	// `\`*\`` represents a field named `*`, not any field. A special
+	// `Field` contains the default indexing settings for all fields. This
+	// field's resource name is:
+	// `projects/{project_id}/databases/{database_id}/collectionGroups/__defa
+	// ult__/fields/*` Indexes defined on this `Field` will be applied to
+	// all fields which do not have their own `Field` index configuration.
 	Name string `json:"name,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1604,23 +1415,20 @@
 }
 
 // GoogleFirestoreAdminV1FieldOperationMetadata: Metadata for
-// google.longrunning.Operation results from
-// FirestoreAdmin.UpdateField.
+// google.longrunning.Operation results from FirestoreAdmin.UpdateField.
 type GoogleFirestoreAdminV1FieldOperationMetadata struct {
 	// EndTime: The time this operation completed. Will be unset if
-	// operation still in
-	// progress.
+	// operation still in progress.
 	EndTime string `json:"endTime,omitempty"`
 
 	// Field: The field resource that this operation is acting on. For
 	// example:
-	// `projects/{project_id}/databases/{database_id}/collectionGrou
-	// ps/{collection_id}/fields/{field_path}`
+	// `projects/{project_id}/databases/{database_id}/collectionGroups/{colle
+	// ction_id}/fields/{field_path}`
 	Field string `json:"field,omitempty"`
 
 	// IndexConfigDeltas: A list of IndexConfigDelta, which describe the
-	// intent of this
-	// operation.
+	// intent of this operation.
 	IndexConfigDeltas []*GoogleFirestoreAdminV1IndexConfigDelta `json:"indexConfigDeltas,omitempty"`
 
 	// ProgressBytes: The progress, in bytes, of this operation.
@@ -1639,16 +1447,15 @@
 	//   "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
-	// google.longrunning.Operations.CancelOperation on the operation.
+	// user called google.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
-	// google.longrunning.Operations.CancelOperation.
+	// called google.longrunning.Operations.CancelOperation.
 	State string `json:"state,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "EndTime") to
@@ -1675,16 +1482,14 @@
 }
 
 // GoogleFirestoreAdminV1ImportDocumentsMetadata: Metadata for
-// google.longrunning.Operation results
-// from
+// google.longrunning.Operation results from
 // FirestoreAdmin.ImportDocuments.
 type GoogleFirestoreAdminV1ImportDocumentsMetadata struct {
 	// CollectionIds: Which collection ids are being imported.
 	CollectionIds []string `json:"collectionIds,omitempty"`
 
 	// EndTime: The time this operation completed. Will be unset if
-	// operation still in
-	// progress.
+	// operation still in progress.
 	EndTime string `json:"endTime,omitempty"`
 
 	// InputUriPrefix: The location of the documents being imported.
@@ -1697,16 +1502,15 @@
 	//   "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
-	// google.longrunning.Operations.CancelOperation on the operation.
+	// user called google.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
-	// google.longrunning.Operations.CancelOperation.
+	// called google.longrunning.Operations.CancelOperation.
 	OperationState string `json:"operationState,omitempty"`
 
 	// ProgressBytes: The progress, in bytes, of this operation.
@@ -1745,18 +1549,13 @@
 // FirestoreAdmin.ImportDocuments.
 type GoogleFirestoreAdminV1ImportDocumentsRequest struct {
 	// CollectionIds: Which collection ids to import. Unspecified means all
-	// collections included
-	// in the import.
+	// collections included in the import.
 	CollectionIds []string `json:"collectionIds,omitempty"`
 
-	// InputUriPrefix: Location of the exported files.
-	// This must match the output_uri_prefix of an ExportDocumentsResponse
-	// from
-	// an export that has completed
-	// successfully.
-	// See:
-	// google.firestore.admin.v1.ExportDocumentsResponse.o
-	// utput_uri_prefix.
+	// InputUriPrefix: Location of the exported files. This must match the
+	// output_uri_prefix of an ExportDocumentsResponse from an export that
+	// has completed successfully. See:
+	// google.firestore.admin.v1.ExportDocumentsResponse.output_uri_prefix.
 	InputUriPrefix string `json:"inputUriPrefix,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CollectionIds") to
@@ -1783,84 +1582,63 @@
 }
 
 // GoogleFirestoreAdminV1Index: Cloud Firestore indexes enable simple
-// and complex queries against
-// documents in a database.
+// and complex queries against documents in a database.
 type GoogleFirestoreAdminV1Index struct {
-	// Fields: The fields supported by this index.
-	//
-	// For composite indexes, this is always 2 or more fields.
-	// The last field entry is always for the field path `__name__`. If,
-	// on
-	// creation, `__name__` was not specified as the last field, it will be
-	// added
-	// automatically with the same direction as that of the last field
-	// defined. If
-	// the final field in a composite index is not directional, the
-	// `__name__`
-	// will be ordered ASCENDING (unless explicitly specified).
-	//
-	// For single field indexes, this will always be exactly one entry with
-	// a
-	// field path equal to the field path of the associated field.
+	// Fields: The fields supported by this index. For composite indexes,
+	// this is always 2 or more fields. The last field entry is always for
+	// the field path `__name__`. If, on creation, `__name__` was not
+	// specified as the last field, it will be added automatically with the
+	// same direction as that of the last field defined. If the final field
+	// in a composite index is not directional, the `__name__` will be
+	// ordered ASCENDING (unless explicitly specified). For single field
+	// indexes, this will always be exactly one entry with a field path
+	// equal to the field path of the associated field.
 	Fields []*GoogleFirestoreAdminV1IndexField `json:"fields,omitempty"`
 
-	// Name: Output only. A server defined name for this index.
-	// The form of this name for composite indexes will
-	// be:
-	// `projects/{project_id}/databases/{database_id}/collectionGroups/{c
-	// ollection_id}/indexes/{composite_index_id}`
-	// For single field indexes, this field will be empty.
+	// Name: Output only. A server defined name for this index. The form of
+	// this name for composite indexes will be:
+	// `projects/{project_id}/databases/{database_id}/collectionGroups/{colle
+	// ction_id}/indexes/{composite_index_id}` For single field indexes,
+	// this field will be empty.
 	Name string `json:"name,omitempty"`
 
 	// QueryScope: Indexes with a collection query scope specified allow
-	// queries
-	// against a collection that is the child of a specific document,
-	// specified at
-	// query time, and that has the same collection id.
-	//
-	// Indexes with a collection group query scope specified allow queries
-	// against
-	// all collections descended from a specific document, specified at
-	// query
-	// time, and that have the same collection id as this index.
+	// queries against a collection that is the child of a specific
+	// document, specified at query time, and that has the same collection
+	// id. Indexes with a collection group query scope specified allow
+	// queries against all collections descended from a specific document,
+	// specified at query time, and that have the same collection id as this
+	// index.
 	//
 	// Possible values:
 	//   "QUERY_SCOPE_UNSPECIFIED" - The query scope is unspecified. Not a
 	// valid option.
 	//   "COLLECTION" - Indexes with a collection query scope specified
-	// allow queries
-	// against a collection that is the child of a specific document,
-	// specified
-	// at query time, and that has the collection id specified by the index.
+	// allow queries against a collection that is the child of a specific
+	// document, specified at query time, and that has the collection id
+	// specified by the index.
 	//   "COLLECTION_GROUP" - Indexes with a collection group query scope
-	// specified allow queries
-	// against all collections that has the collection id specified by
-	// the
-	// index.
+	// specified allow queries against all collections that has the
+	// collection id specified by the index.
 	QueryScope string `json:"queryScope,omitempty"`
 
 	// State: Output only. The serving state of the index.
 	//
 	// Possible values:
 	//   "STATE_UNSPECIFIED" - The state is unspecified.
-	//   "CREATING" - The index is being created.
-	// There is an active long-running operation for the index.
-	// The index is updated when writing a document.
-	// Some index data may exist.
-	//   "READY" - The index is ready to be used.
-	// The index is updated when writing a document.
-	// The index is fully populated from all stored documents it applies to.
+	//   "CREATING" - The index is being created. There is an active
+	// long-running operation for the index. The index is updated when
+	// writing a document. Some index data may exist.
+	//   "READY" - The index is ready to be used. The index is updated when
+	// writing a document. The index is fully populated from all stored
+	// documents it applies to.
 	//   "NEEDS_REPAIR" - The index was being created, but something went
-	// wrong.
-	// There is no active long-running operation for the index,
-	// and the most recently finished long-running operation failed.
-	// The index is not updated when writing a document.
-	// Some index data may exist.
+	// wrong. There is no active long-running operation for the index, and
+	// the most recently finished long-running operation failed. The index
+	// is not updated when writing a document. Some index data may exist.
 	// Use the google.longrunning.Operations API to determine why the
-	// operation
-	// that last attempted to create this index failed, then re-create
-	// the
-	// index.
+	// operation that last attempted to create this index failed, then
+	// re-create the index.
 	State string `json:"state,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1894,31 +1672,26 @@
 // field.
 type GoogleFirestoreAdminV1IndexConfig struct {
 	// AncestorField: Output only. Specifies the resource name of the
-	// `Field` from which this field's
-	// index configuration is set (when `uses_ancestor_config` is true),
-	// or from which it *would* be set if this field had no index
-	// configuration
-	// (when `uses_ancestor_config` is false).
+	// `Field` from which this field's index configuration is set (when
+	// `uses_ancestor_config` is true), or from which it *would* be set if
+	// this field had no index configuration (when `uses_ancestor_config` is
+	// false).
 	AncestorField string `json:"ancestorField,omitempty"`
 
 	// Indexes: The indexes supported for this field.
 	Indexes []*GoogleFirestoreAdminV1Index `json:"indexes,omitempty"`
 
-	// Reverting: Output only
-	// When true, the `Field`'s index configuration is in the process of
-	// being
-	// reverted. Once complete, the index config will transition to the
-	// same
-	// state as the field specified by `ancestor_field`, at which
-	// point
-	// `uses_ancestor_config` will be `true` and `reverting` will be
-	// `false`.
+	// Reverting: Output only When true, the `Field`'s index configuration
+	// is in the process of being reverted. Once complete, the index config
+	// will transition to the same state as the field specified by
+	// `ancestor_field`, at which point `uses_ancestor_config` will be
+	// `true` and `reverting` will be `false`.
 	Reverting bool `json:"reverting,omitempty"`
 
 	// UsesAncestorConfig: Output only. When true, the `Field`'s index
-	// configuration is set from the
-	// configuration specified by the `ancestor_field`.
-	// When false, the `Field`'s index configuration is defined explicitly.
+	// configuration is set from the configuration specified by the
+	// `ancestor_field`. When false, the `Field`'s index configuration is
+	// defined explicitly.
 	UsesAncestorConfig bool `json:"usesAncestorConfig,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AncestorField") to
@@ -1982,10 +1755,9 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GoogleFirestoreAdminV1IndexField: A field in an index.
-// The field_path describes which field is indexed, the value_mode
-// describes
-// how the field value is indexed.
+// GoogleFirestoreAdminV1IndexField: A field in an index. The field_path
+// describes which field is indexed, the value_mode describes how the
+// field value is indexed.
 type GoogleFirestoreAdminV1IndexField struct {
 	// ArrayConfig: Indicates that this field supports operations on
 	// `array_value`s.
@@ -1996,15 +1768,12 @@
 	//   "CONTAINS" - The index supports array containment queries.
 	ArrayConfig string `json:"arrayConfig,omitempty"`
 
-	// FieldPath: Can be __name__.
-	// For single field indexes, this must match the name of the field or
-	// may
-	// be omitted.
+	// FieldPath: Can be __name__. For single field indexes, this must match
+	// the name of the field or may be omitted.
 	FieldPath string `json:"fieldPath,omitempty"`
 
 	// Order: Indicates that this field supports ordering by the specified
-	// order or
-	// comparing using =, <, <=, >, >=.
+	// order or comparing using =, <, <=, >, >=.
 	//
 	// Possible values:
 	//   "ORDER_UNSPECIFIED" - The ordering is unspecified. Not a valid
@@ -2037,18 +1806,16 @@
 }
 
 // GoogleFirestoreAdminV1IndexOperationMetadata: Metadata for
-// google.longrunning.Operation results from
-// FirestoreAdmin.CreateIndex.
+// google.longrunning.Operation results from FirestoreAdmin.CreateIndex.
 type GoogleFirestoreAdminV1IndexOperationMetadata struct {
 	// EndTime: The time this operation completed. Will be unset if
-	// operation still in
-	// progress.
+	// operation still in progress.
 	EndTime string `json:"endTime,omitempty"`
 
 	// Index: The index resource that this operation is acting on. For
 	// example:
-	// `projects/{project_id}/databases/{database_id}/collectionGrou
-	// ps/{collection_id}/indexes/{index_id}`
+	// `projects/{project_id}/databases/{database_id}/collectionGroups/{colle
+	// ction_id}/indexes/{index_id}`
 	Index string `json:"index,omitempty"`
 
 	// ProgressBytes: The progress, in bytes, of this operation.
@@ -2067,16 +1834,15 @@
 	//   "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
-	// google.longrunning.Operations.CancelOperation on the operation.
+	// user called google.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
-	// google.longrunning.Operations.CancelOperation.
+	// called google.longrunning.Operations.CancelOperation.
 	State string `json:"state,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "EndTime") to
@@ -2109,8 +1875,7 @@
 	Fields []*GoogleFirestoreAdminV1Field `json:"fields,omitempty"`
 
 	// NextPageToken: A page token that may be used to request another page
-	// of results. If blank,
-	// this is the last page.
+	// of results. If blank, this is the last page.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2147,8 +1912,7 @@
 	Indexes []*GoogleFirestoreAdminV1Index `json:"indexes,omitempty"`
 
 	// NextPageToken: A page token that may be used to request another page
-	// of results. If blank,
-	// this is the last page.
+	// of results. If blank, this is the last page.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2184,10 +1948,8 @@
 }
 
 // GoogleFirestoreAdminV1Progress: Describes the progress of the
-// operation.
-// Unit of work is generic and must be interpreted based on where
-// Progress
-// is used.
+// operation. Unit of work is generic and must be interpreted based on
+// where Progress is used.
 type GoogleFirestoreAdminV1Progress struct {
 	// CompletedWork: The amount of work completed.
 	CompletedWork int64 `json:"completedWork,omitempty,string"`
@@ -2261,52 +2023,38 @@
 }
 
 // GoogleLongrunningOperation: This resource represents a long-running
-// operation that is the result of a
-// network API call.
+// operation that is the result of a network API call.
 type GoogleLongrunningOperation struct {
 	// Done: 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.
+	// progress. If `true`, the operation is completed, and either `error`
+	// or `response` is available.
 	Done bool `json:"done,omitempty"`
 
 	// Error: The error result of the operation in case of failure or
 	// cancellation.
 	Error *Status `json:"error,omitempty"`
 
-	// Metadata: 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.
+	// Metadata: 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.
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Name: The server-assigned name, which is only unique within the same
-	// service that
-	// originally returns it. If you use the default HTTP mapping,
-	// the
-	// `name` should be a resource name ending with
+	// service that originally returns it. If you use the default HTTP
+	// mapping, the `name` should be a resource name ending with
 	// `operations/{unique_id}`.
 	Name string `json:"name,omitempty"`
 
-	// Response: 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`.
+	// Response: 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`.
 	Response googleapi.RawMessage `json:"response,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2337,14 +2085,9 @@
 }
 
 // LatLng: An object representing a latitude/longitude pair. This is
-// expressed as a pair
-// of doubles representing degrees latitude and degrees longitude.
-// Unless
-// specified otherwise, this must conform to the
-// <a
-// href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
-// st
-// andard</a>. Values must be within normalized ranges.
+// expressed as a pair of doubles representing degrees latitude and
+// degrees longitude. Unless specified otherwise, this must conform to
+// the WGS84 standard. Values must be within normalized ranges.
 type LatLng struct {
 	// Latitude: The latitude in degrees. It must be in the range [-90.0,
 	// +90.0].
@@ -2399,8 +2142,7 @@
 	// PageSize: The maximum number of results to return.
 	PageSize int64 `json:"pageSize,omitempty"`
 
-	// PageToken: A page token. Must be a value
-	// from
+	// PageToken: A page token. Must be a value from
 	// ListCollectionIdsResponse.
 	PageToken string `json:"pageToken,omitempty"`
 
@@ -2578,17 +2320,12 @@
 	DocumentDelete *DocumentDelete `json:"documentDelete,omitempty"`
 
 	// DocumentRemove: A Document has been removed from a target (because it
-	// is no longer
-	// relevant to that target).
+	// is no longer relevant to that target).
 	DocumentRemove *DocumentRemove `json:"documentRemove,omitempty"`
 
 	// Filter: A filter to apply to the set of documents previously returned
-	// for the
-	// given target.
-	//
-	// Returned when documents may have been removed from the given target,
-	// but
-	// the exact documents are unknown.
+	// for the given target. Returned when documents may have been removed
+	// from the given target, but the exact documents are unknown.
 	Filter *ExistenceFilter `json:"filter,omitempty"`
 
 	// TargetChange: Targets have changed.
@@ -2625,13 +2362,11 @@
 // Location: A resource that represents Google Cloud Platform location.
 type Location struct {
 	// DisplayName: The friendly name for this location, typically a nearby
-	// city name.
-	// For example, "Tokyo".
+	// city name. For example, "Tokyo".
 	DisplayName string `json:"displayName,omitempty"`
 
 	// Labels: Cross-service attributes for the location. For example
-	//
-	//     {"cloud.googleapis.com/region": "us-east1"}
+	// {"cloud.googleapis.com/region": "us-east1"}
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// LocationId: The canonical id for this location. For example:
@@ -2639,13 +2374,12 @@
 	LocationId string `json:"locationId,omitempty"`
 
 	// Metadata: Service-specific metadata. For example the available
-	// capacity at the given
-	// location.
+	// capacity at the given location.
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Name: Resource name for the location, which may vary between
-	// implementations.
-	// For example: "projects/example-project/locations/us-east1"
+	// implementations. For example:
+	// "projects/example-project/locations/us-east1"
 	Name string `json:"name,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2677,15 +2411,11 @@
 
 // MapValue: A map value.
 type MapValue struct {
-	// Fields: The map's fields.
-	//
-	// The map keys represent field names. Field names matching the
-	// regular
-	// expression `__.*__` are reserved. Reserved field names are forbidden
-	// except
-	// in certain documented contexts. The map keys, represented as UTF-8,
-	// must
-	// not exceed 1,500 bytes and cannot be empty.
+	// Fields: The map's fields. The map keys represent field names. Field
+	// names matching the regular expression `__.*__` are reserved. Reserved
+	// field names are forbidden except in certain documented contexts. The
+	// map keys, represented as UTF-8, must not exceed 1,500 bytes and
+	// cannot be empty.
 	Fields map[string]Value `json:"fields,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Fields") to
@@ -2750,57 +2480,36 @@
 // PartitionQueryRequest: The request for Firestore.PartitionQuery.
 type PartitionQueryRequest struct {
 	// PageSize: The maximum number of partitions to return in this call,
-	// subject to
-	// `partition_count`.
-	//
-	// For example, if `partition_count` = 10 and `page_size` = 8, the first
-	// call
-	// to PartitionQuery will return up to 8 partitions and a
-	// `next_page_token`
-	// if more results exist. A second call to PartitionQuery will return up
-	// to
-	// 2 partitions, to complete the total of 10 specified in
-	// `partition_count`.
+	// subject to `partition_count`. For example, if `partition_count` = 10
+	// and `page_size` = 8, the first call to PartitionQuery will return up
+	// to 8 partitions and a `next_page_token` if more results exist. A
+	// second call to PartitionQuery will return up to 2 partitions, to
+	// complete the total of 10 specified in `partition_count`.
 	PageSize int64 `json:"pageSize,omitempty"`
 
 	// PageToken: The `next_page_token` value returned from a previous call
-	// to
-	// PartitionQuery that may be used to get an additional set of
-	// results.
-	// There are no ordering guarantees between sets of results. Thus,
-	// using
-	// multiple sets of results will require merging the different result
-	// sets.
-	//
-	// For example, two subsequent calls using a page_token may return:
-	//
-	//  * cursor B, cursor M, cursor Q
-	//  * cursor A, cursor U, cursor W
-	//
-	// To obtain a complete result set ordered with respect to the results
-	// of the
-	// query supplied to PartitionQuery, the results sets should be
-	// merged:
-	// cursor A, cursor B, cursor M, cursor Q, cursor U, cursor W
+	// to PartitionQuery that may be used to get an additional set of
+	// results. There are no ordering guarantees between sets of results.
+	// Thus, using multiple sets of results will require merging the
+	// different result sets. For example, two subsequent calls using a
+	// page_token may return: * cursor B, cursor M, cursor Q * cursor A,
+	// cursor U, cursor W To obtain a complete result set ordered with
+	// respect to the results of the query supplied to PartitionQuery, the
+	// results sets should be merged: cursor A, cursor B, cursor M, cursor
+	// Q, cursor U, cursor W
 	PageToken string `json:"pageToken,omitempty"`
 
-	// PartitionCount: The desired maximum number of partition points.
-	// The partitions may be returned across multiple pages of results.
-	// The number must be strictly positive. The actual number of
-	// partitions
-	// returned may be fewer.
-	//
-	// For example, this may be set to one fewer than the number of
-	// parallel
-	// queries to be run, or in running a data pipeline job, one fewer than
-	// the
-	// number of workers or compute instances available.
+	// PartitionCount: The desired maximum number of partition points. The
+	// partitions may be returned across multiple pages of results. The
+	// number must be positive. The actual number of partitions returned may
+	// be fewer. For example, this may be set to one fewer than the number
+	// of parallel queries to be run, or in running a data pipeline job, one
+	// fewer than the number of workers or compute instances available.
 	PartitionCount int64 `json:"partitionCount,omitempty,string"`
 
-	// StructuredQuery: A structured query.
-	// Filters, order bys, limits, offsets, and start/end cursors are
-	// not
-	// supported.
+	// StructuredQuery: A structured query. Query must specify collection
+	// with all descendants and be ordered by name ascending. Other filters,
+	// order bys, limits, offsets, and start/end cursors are not supported.
 	StructuredQuery *StructuredQuery `json:"structuredQuery,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "PageSize") to
@@ -2829,32 +2538,21 @@
 // PartitionQueryResponse: The response for Firestore.PartitionQuery.
 type PartitionQueryResponse struct {
 	// NextPageToken: A page token that may be used to request an additional
-	// set of results, up
-	// to the number specified by `partition_count` in the PartitionQuery
-	// request.
-	// If blank, there are no more results.
+	// set of results, up to the number specified by `partition_count` in
+	// the PartitionQuery request. If blank, there are no more results.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
-	// Partitions: Partition results.
-	// Each partition is a split point that can be used by RunQuery as a
-	// starting
-	// or end point for the query results. The RunQuery requests must be
-	// made with
-	// the same query supplied to this PartitionQuery request. The
-	// partition
-	// cursors will be ordered according to same ordering as the results of
-	// the
-	// query supplied to PartitionQuery.
-	//
-	// For example, if a PartitionQuery request returns partition cursors A
-	// and B,
-	// running the following three queries will return the entire result set
-	// of
-	// the original query:
-	//
-	//  * query, end_at A
-	//  * query, start_at A, end_at B
-	//  * query, start_at B
+	// Partitions: Partition results. Each partition is a split point that
+	// can be used by RunQuery as a starting or end point for the query
+	// results. The RunQuery requests must be made with the same query
+	// supplied to this PartitionQuery request. The partition cursors will
+	// be ordered according to same ordering as the results of the query
+	// supplied to PartitionQuery. For example, if a PartitionQuery request
+	// returns partition cursors A and B, running the following three
+	// queries will return the entire result set of the original query: *
+	// query, end_at A * query, start_at A, end_at B * query, start_at B An
+	// empty result may indicate that the query has too few results to be
+	// partitioned.
 	Partitions []*Cursor `json:"partitions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2887,13 +2585,12 @@
 // Precondition: A precondition on a document, used for conditional
 // operations.
 type Precondition struct {
-	// Exists: When set to `true`, the target document must exist.
-	// When set to `false`, the target document must not exist.
+	// Exists: When set to `true`, the target document must exist. When set
+	// to `false`, the target document must not exist.
 	Exists bool `json:"exists,omitempty"`
 
 	// UpdateTime: When set, the target document must exist and have been
-	// last updated at
-	// that time.
+	// last updated at that time.
 	UpdateTime string `json:"updateTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Exists") to
@@ -2921,10 +2618,8 @@
 
 // Projection: The projection of document's fields to return.
 type Projection struct {
-	// Fields: The fields to return.
-	//
-	// If empty, all fields are returned. To only return the name
-	// of the document, use `['__name__']`.
+	// Fields: The fields to return. If empty, all fields are returned. To
+	// only return the name of the document, use `['__name__']`.
 	Fields []*FieldReference `json:"fields,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Fields") to
@@ -2952,17 +2647,13 @@
 
 // QueryTarget: A target specified by a query.
 type QueryTarget struct {
-	// Parent: The parent resource name. In the
-	// format:
-	// `projects/{project_id}/databases/{database_id}/documents`
-	// or
-	// `projects/{project_id}/databases/{database_id}/documents/{document_
-	// path}`.
-	// For example:
-	// `projects/my-project/databases/my-database/documents`
-	// or
-	// `projects/my-project/databases/my-database/documents/chatrooms/my-c
-	// hatroom`
+	// Parent: The parent resource name. In the format:
+	// `projects/{project_id}/databases/{database_id}/documents` or
+	// `projects/{project_id}/databases/{database_id}/documents/{document_pat
+	// h}`. For example:
+	// `projects/my-project/databases/my-database/documents` or
+	// `projects/my-project/databases/my-database/documents/chatrooms/my-chat
+	// room`
 	Parent string `json:"parent,omitempty"`
 
 	// StructuredQuery: A structured query.
@@ -2994,8 +2685,8 @@
 // ReadOnly: Options for a transaction that can only be used to read
 // documents.
 type ReadOnly struct {
-	// ReadTime: Reads documents at the given time.
-	// This may not be older than 60 seconds.
+	// ReadTime: Reads documents at the given time. This may not be older
+	// than 60 seconds.
 	ReadTime string `json:"readTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ReadTime") to
@@ -3081,16 +2772,13 @@
 
 // RunQueryRequest: The request for Firestore.RunQuery.
 type RunQueryRequest struct {
-	// NewTransaction: Starts a new transaction and reads the
-	// documents.
-	// Defaults to a read-only transaction.
-	// The new transaction ID will be returned as the first response in
-	// the
-	// stream.
+	// NewTransaction: Starts a new transaction and reads the documents.
+	// Defaults to a read-only transaction. The new transaction ID will be
+	// returned as the first response in the stream.
 	NewTransaction *TransactionOptions `json:"newTransaction,omitempty"`
 
-	// ReadTime: Reads documents as they were at the given time.
-	// This may not be older than 270 seconds.
+	// ReadTime: Reads documents as they were at the given time. This may
+	// not be older than 270 seconds.
 	ReadTime string `json:"readTime,omitempty"`
 
 	// StructuredQuery: A structured query.
@@ -3125,35 +2813,25 @@
 
 // RunQueryResponse: The response for Firestore.RunQuery.
 type RunQueryResponse struct {
-	// Document: A query result.
-	// Not set when reporting partial progress.
+	// Document: A query result. Not set when reporting partial progress.
 	Document *Document `json:"document,omitempty"`
 
 	// ReadTime: The time at which the document was read. This may be
-	// monotonically
-	// increasing; in this case, the previous documents in the result stream
-	// are
-	// guaranteed not to have changed between their `read_time` and this
-	// one.
-	//
-	// If the query returns no results, a response with `read_time` and
-	// no
-	// `document` will be sent, and this represents the time at which the
-	// query
-	// was run.
+	// monotonically increasing; in this case, the previous documents in the
+	// result stream are guaranteed not to have changed between their
+	// `read_time` and this one. If the query returns no results, a response
+	// with `read_time` and no `document` will be sent, and this represents
+	// the time at which the query was run.
 	ReadTime string `json:"readTime,omitempty"`
 
 	// SkippedResults: The number of results that have been skipped due to
-	// an offset between
-	// the last response and the current response.
+	// an offset between the last response and the current response.
 	SkippedResults int64 `json:"skippedResults,omitempty"`
 
 	// Transaction: The transaction that was started as part of this
-	// request.
-	// Can only be set in the first response, and only
-	// if
-	// RunQueryRequest.new_transaction was set in the request.
-	// If set, no other fields will be set in this response.
+	// request. Can only be set in the first response, and only if
+	// RunQueryRequest.new_transaction was set in the request. If set, no
+	// other fields will be set in this response.
 	Transaction string `json:"transaction,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -3184,32 +2862,24 @@
 }
 
 // Status: The `Status` type defines a logical error model that is
-// suitable for
-// different programming environments, including REST APIs and RPC APIs.
-// It is
-// used by [gRPC](https://github.com/grpc). Each `Status` message
-// contains
-// three pieces of data: error code, error message, and error
-// details.
-//
-// You can find out more about this error model and how to work with it
-// in the
-// [API Design Guide](https://cloud.google.com/apis/design/errors).
+// suitable for different programming environments, including REST APIs
+// and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each
+// `Status` message contains three pieces of data: error code, error
+// message, and error details. You can find out more about this error
+// model and how to work with it in the [API Design
+// Guide](https://cloud.google.com/apis/design/errors).
 type Status struct {
 	// Code: The status code, which should be an enum value of
 	// google.rpc.Code.
 	Code int64 `json:"code,omitempty"`
 
-	// Details: A list of messages that carry the error details.  There is a
-	// common set of
-	// message types for APIs to use.
+	// Details: A list of messages that carry the error details. There is a
+	// common set of message types for APIs to use.
 	Details []googleapi.RawMessage `json:"details,omitempty"`
 
 	// Message: 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.
+	// English. Any user-facing error message should be localized and sent
+	// in the google.rpc.Status.details field, or localized by the client.
 	Message string `json:"message,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Code") to
@@ -3243,40 +2913,26 @@
 	// From: The collections to query.
 	From []*CollectionSelector `json:"from,omitempty"`
 
-	// Limit: The maximum number of results to return.
-	//
-	// Applies after all other constraints.
-	// Must be >= 0 if specified.
+	// Limit: The maximum number of results to return. Applies after all
+	// other constraints. Must be >= 0 if specified.
 	Limit int64 `json:"limit,omitempty"`
 
-	// Offset: The number of results to skip.
-	//
-	// Applies before limit, but after all other constraints. Must be >= 0
-	// if
-	// specified.
+	// Offset: The number of results to skip. Applies before limit, but
+	// after all other constraints. Must be >= 0 if specified.
 	Offset int64 `json:"offset,omitempty"`
 
-	// OrderBy: The order to apply to the query results.
-	//
-	// Firestore guarantees a stable ordering through the following rules:
-	//
-	//  * Any field required to appear in `order_by`, that is not already
-	//    specified in `order_by`, is appended to the order in field name
-	// order
-	//    by default.
-	//  * If an order on `__name__` is not specified, it is appended by
-	// default.
-	//
-	// Fields are appended with the same sort direction as the last
-	// order
-	// specified, or 'ASCENDING' if no order was specified. For example:
-	//
-	//  * `SELECT * FROM Foo ORDER BY A` becomes
-	//    `SELECT * FROM Foo ORDER BY A, __name__`
-	//  * `SELECT * FROM Foo ORDER BY A DESC` becomes
-	//    `SELECT * FROM Foo ORDER BY A DESC, __name__ DESC`
-	//  * `SELECT * FROM Foo WHERE A > 1` becomes
-	//    `SELECT * FROM Foo WHERE A > 1 ORDER BY A, __name__`
+	// OrderBy: The order to apply to the query results. Firestore
+	// guarantees a stable ordering through the following rules: * Any field
+	// required to appear in `order_by`, that is not already specified in
+	// `order_by`, is appended to the order in field name order by default.
+	// * If an order on `__name__` is not specified, it is appended by
+	// default. Fields are appended with the same sort direction as the last
+	// order specified, or 'ASCENDING' if no order was specified. For
+	// example: * `SELECT * FROM Foo ORDER BY A` becomes `SELECT * FROM Foo
+	// ORDER BY A, __name__` * `SELECT * FROM Foo ORDER BY A DESC` becomes
+	// `SELECT * FROM Foo ORDER BY A DESC, __name__ DESC` * `SELECT * FROM
+	// Foo WHERE A > 1` becomes `SELECT * FROM Foo WHERE A > 1 ORDER BY A,
+	// __name__`
 	OrderBy []*Order `json:"orderBy,omitempty"`
 
 	// Select: The projection to return.
@@ -3323,21 +2979,17 @@
 	// Query: A target specified by a query.
 	Query *QueryTarget `json:"query,omitempty"`
 
-	// ReadTime: Start listening after a specific `read_time`.
-	//
-	// The client must know the state of matching documents at this time.
+	// ReadTime: Start listening after a specific `read_time`. The client
+	// must know the state of matching documents at this time.
 	ReadTime string `json:"readTime,omitempty"`
 
 	// ResumeToken: A resume token from a prior TargetChange for an
-	// identical target.
-	//
-	// Using a resume token with a different target is unsupported and may
-	// fail.
+	// identical target. Using a resume token with a different target is
+	// unsupported and may fail.
 	ResumeToken string `json:"resumeToken,omitempty"`
 
 	// TargetId: The target ID that identifies the target on the stream.
-	// Must be a positive
-	// number and non-zero.
+	// Must be a positive number and non-zero.
 	TargetId int64 `json:"targetId,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Documents") to
@@ -3369,28 +3021,18 @@
 	Cause *Status `json:"cause,omitempty"`
 
 	// ReadTime: The consistent `read_time` for the given `target_ids`
-	// (omitted when the
-	// target_ids are not at a consistent snapshot).
-	//
-	// The stream is guaranteed to send a `read_time` with `target_ids`
-	// empty
-	// whenever the entire stream reaches a new consistent snapshot.
-	// ADD,
+	// (omitted when the target_ids are not at a consistent snapshot). The
+	// stream is guaranteed to send a `read_time` with `target_ids` empty
+	// whenever the entire stream reaches a new consistent snapshot. ADD,
 	// CURRENT, and RESET messages are guaranteed to (eventually) result in
-	// a
-	// new consistent snapshot (while NO_CHANGE and REMOVE messages are
-	// not).
-	//
-	// For a given stream, `read_time` is guaranteed to be
-	// monotonically
-	// increasing.
+	// a new consistent snapshot (while NO_CHANGE and REMOVE messages are
+	// not). For a given stream, `read_time` is guaranteed to be
+	// monotonically increasing.
 	ReadTime string `json:"readTime,omitempty"`
 
 	// ResumeToken: A token that can be used to resume the stream for the
-	// given `target_ids`,
-	// or all targets if `target_ids` is empty.
-	//
-	// Not set on every target change.
+	// given `target_ids`, or all targets if `target_ids` is empty. Not set
+	// on every target change.
 	ResumeToken string `json:"resumeToken,omitempty"`
 
 	// TargetChangeType: The type of change that occurred.
@@ -3401,29 +3043,19 @@
 	//   "ADD" - The targets have been added.
 	//   "REMOVE" - The targets have been removed.
 	//   "CURRENT" - The targets reflect all changes committed before the
-	// targets were added
-	// to the stream.
-	//
-	// This will be sent after or with a `read_time` that is greater than
-	// or
-	// equal to the time at which the targets were added.
-	//
-	// Listeners can wait for this change if read-after-write semantics
-	// are desired.
+	// targets were added to the stream. This will be sent after or with a
+	// `read_time` that is greater than or equal to the time at which the
+	// targets were added. Listeners can wait for this change if
+	// read-after-write semantics are desired.
 	//   "RESET" - The targets have been reset, and a new initial state for
-	// the targets
-	// will be returned in subsequent changes.
-	//
-	// After the initial state is complete, `CURRENT` will be returned
-	// even
-	// if the target was previously indicated to be `CURRENT`.
+	// the targets will be returned in subsequent changes. After the initial
+	// state is complete, `CURRENT` will be returned even if the target was
+	// previously indicated to be `CURRENT`.
 	TargetChangeType string `json:"targetChangeType,omitempty"`
 
-	// TargetIds: The target IDs of targets that have changed.
-	//
-	// If empty, the change applies to all targets.
-	//
-	// The order of the target IDs is not defined.
+	// TargetIds: The target IDs of targets that have changed. If empty, the
+	// change applies to all targets. The order of the target IDs is not
+	// defined.
 	TargetIds []int64 `json:"targetIds,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Cause") to
@@ -3519,20 +3151,15 @@
 
 // Value: A message that can hold any of the supported value types.
 type Value struct {
-	// ArrayValue: An array value.
-	//
-	// Cannot directly contain another array value, though can contain
-	// an
-	// map which contains another array.
+	// ArrayValue: An array value. Cannot directly contain another array
+	// value, though can contain an map which contains another array.
 	ArrayValue *ArrayValue `json:"arrayValue,omitempty"`
 
 	// BooleanValue: A boolean value.
 	BooleanValue bool `json:"booleanValue,omitempty"`
 
-	// BytesValue: A bytes value.
-	//
-	// Must not exceed 1 MiB - 89 bytes.
-	// Only the first 1,500 bytes are considered by queries.
+	// BytesValue: A bytes value. Must not exceed 1 MiB - 89 bytes. Only the
+	// first 1,500 bytes are considered by queries.
 	BytesValue string `json:"bytesValue,omitempty"`
 
 	// DoubleValue: A double value.
@@ -3554,26 +3181,18 @@
 	//   "NULL_VALUE" - Null value.
 	NullValue string `json:"nullValue,omitempty"`
 
-	// ReferenceValue: A reference to a document. For
-	// example:
-	// `projects/{project_id}/databases/{database_id}/documents/{doc
-	// ument_path}`.
+	// ReferenceValue: A reference to a document. For example:
+	// `projects/{project_id}/databases/{database_id}/documents/{document_pat
+	// h}`.
 	ReferenceValue string `json:"referenceValue,omitempty"`
 
-	// StringValue: A string value.
-	//
-	// The string, represented as UTF-8, must not exceed 1 MiB - 89
-	// bytes.
-	// Only the first 1,500 bytes of the UTF-8 representation are considered
-	// by
-	// queries.
+	// StringValue: A string value. The string, represented as UTF-8, must
+	// not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8
+	// representation are considered by queries.
 	StringValue string `json:"stringValue,omitempty"`
 
-	// TimestampValue: A timestamp value.
-	//
-	// Precise only to microseconds. When stored, any additional precision
-	// is
-	// rounded down.
+	// TimestampValue: A timestamp value. Precise only to microseconds. When
+	// stored, any additional precision is rounded down.
 	TimestampValue string `json:"timestampValue,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ArrayValue") to
@@ -3615,16 +3234,13 @@
 
 // Write: A write on a document.
 type Write struct {
-	// CurrentDocument: An optional precondition on the document.
-	//
-	// The write will fail if this is set and not met by the target
-	// document.
+	// CurrentDocument: An optional precondition on the document. The write
+	// will fail if this is set and not met by the target document.
 	CurrentDocument *Precondition `json:"currentDocument,omitempty"`
 
-	// Delete: A document name to delete. In the
-	// format:
-	// `projects/{project_id}/databases/{database_id}/documents/{docu
-	// ment_path}`.
+	// Delete: A document name to delete. In the format:
+	// `projects/{project_id}/databases/{database_id}/documents/{document_pat
+	// h}`.
 	Delete string `json:"delete,omitempty"`
 
 	// Transform: Applies a transformation to a document.
@@ -3633,28 +3249,20 @@
 	// Update: A document to write.
 	Update *Document `json:"update,omitempty"`
 
-	// UpdateMask: The fields to update in this write.
-	//
-	// This field can be set only when the operation is `update`.
-	// If the mask is not set for an `update` and the document exists,
-	// any
-	// existing data will be overwritten.
-	// If the mask is set and the document on the server has fields not
-	// covered by
-	// the mask, they are left unchanged.
-	// Fields referenced in the mask, but not present in the input document,
-	// are
-	// deleted from the document on the server.
-	// The field paths in this mask must not contain a reserved field name.
+	// UpdateMask: The fields to update in this write. This field can be set
+	// only when the operation is `update`. If the mask is not set for an
+	// `update` and the document exists, any existing data will be
+	// overwritten. If the mask is set and the document on the server has
+	// fields not covered by the mask, they are left unchanged. Fields
+	// referenced in the mask, but not present in the input document, are
+	// deleted from the document on the server. The field paths in this mask
+	// must not contain a reserved field name.
 	UpdateMask *DocumentMask `json:"updateMask,omitempty"`
 
-	// UpdateTransforms: The transforms to perform after update.
-	//
-	// This field can be set only when the operation is `update`. If
-	// present, this
+	// UpdateTransforms: The transforms to perform after update. This field
+	// can be set only when the operation is `update`. If present, this
 	// write is equivalent to performing `update` and `transform` to the
-	// same
-	// document atomically and in order.
+	// same document atomically and in order.
 	UpdateTransforms []*FieldTransform `json:"updateTransforms,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CurrentDocument") to
@@ -3681,58 +3289,36 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// WriteRequest: The request for Firestore.Write.
-//
-// The first request creates a stream, or resumes an existing one from a
-// token.
-//
-// When creating a new stream, the server replies with a response
-// containing
-// only an ID and a token, to use in the next request.
-//
-// When resuming a stream, the server first streams any responses later
-// than the
-// given token, then a response containing only an up-to-date token, to
-// use in
+// WriteRequest: The request for Firestore.Write. The first request
+// creates a stream, or resumes an existing one from a token. When
+// creating a new stream, the server replies with a response containing
+// only an ID and a token, to use in the next request. When resuming a
+// stream, the server first streams any responses later than the given
+// token, then a response containing only an up-to-date token, to use in
 // the next request.
 type WriteRequest struct {
 	// Labels: Labels associated with this write request.
 	Labels map[string]string `json:"labels,omitempty"`
 
-	// StreamId: The ID of the write stream to resume.
-	// This may only be set in the first message. When left empty, a new
-	// write
-	// stream will be created.
+	// StreamId: The ID of the write stream to resume. This may only be set
+	// in the first message. When left empty, a new write stream will be
+	// created.
 	StreamId string `json:"streamId,omitempty"`
 
-	// StreamToken: A stream token that was previously sent by the
-	// server.
-	//
-	// The client should set this field to the token from the most
-	// recent
-	// WriteResponse it has received. This acknowledges that the client
-	// has
+	// StreamToken: A stream token that was previously sent by the server.
+	// The client should set this field to the token from the most recent
+	// WriteResponse it has received. This acknowledges that the client has
 	// received responses up to this token. After sending this token,
-	// earlier
-	// tokens may not be used anymore.
-	//
-	// The server may close the stream if there are too many
-	// unacknowledged
-	// responses.
-	//
-	// Leave this field unset when creating a new stream. To resume a stream
-	// at
-	// a specific point, set this field and the `stream_id` field.
-	//
-	// Leave this field unset when creating a new stream.
+	// earlier tokens may not be used anymore. The server may close the
+	// stream if there are too many unacknowledged responses. Leave this
+	// field unset when creating a new stream. To resume a stream at a
+	// specific point, set this field and the `stream_id` field. Leave this
+	// field unset when creating a new stream.
 	StreamToken string `json:"streamToken,omitempty"`
 
-	// Writes: The writes to apply.
-	//
-	// Always executed atomically and in order.
-	// This must be empty on the first request.
-	// This may be empty on the last request.
-	// This must not be empty on all other requests.
+	// Writes: The writes to apply. Always executed atomically and in order.
+	// This must be empty on the first request. This may be empty on the
+	// last request. This must not be empty on all other requests.
 	Writes []*Write `json:"writes,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Labels") to
@@ -3761,26 +3347,21 @@
 // WriteResponse: The response for Firestore.Write.
 type WriteResponse struct {
 	// CommitTime: The time at which the commit occurred. Any read with an
-	// equal or greater
-	// `read_time` is guaranteed to see the effects of the write.
+	// equal or greater `read_time` is guaranteed to see the effects of the
+	// write.
 	CommitTime string `json:"commitTime,omitempty"`
 
-	// StreamId: The ID of the stream.
-	// Only set on the first message, when a new stream was created.
+	// StreamId: The ID of the stream. Only set on the first message, when a
+	// new stream was created.
 	StreamId string `json:"streamId,omitempty"`
 
 	// StreamToken: A token that represents the position of this response in
-	// the stream.
-	// This can be used by a client to resume the stream at this
-	// point.
-	//
-	// This field is always set.
+	// the stream. This can be used by a client to resume the stream at this
+	// point. This field is always set.
 	StreamToken string `json:"streamToken,omitempty"`
 
-	// WriteResults: The result of applying the writes.
-	//
-	// This i-th write result corresponds to the i-th write in the
-	// request.
+	// WriteResults: The result of applying the writes. This i-th write
+	// result corresponds to the i-th write in the request.
 	WriteResults []*WriteResult `json:"writeResults,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -3813,17 +3394,12 @@
 // WriteResult: The result of applying a write.
 type WriteResult struct {
 	// TransformResults: The results of applying each
-	// DocumentTransform.FieldTransform, in the
-	// same order.
+	// DocumentTransform.FieldTransform, in the same order.
 	TransformResults []*Value `json:"transformResults,omitempty"`
 
 	// UpdateTime: The last update time of the document after applying the
-	// write. Not set
-	// after a `delete`.
-	//
-	// If the write did not actually change the document, this will be
-	// the
-	// previous update_time.
+	// write. Not set after a `delete`. If the write did not actually change
+	// the document, this will be the previous update_time.
 	UpdateTime string `json:"updateTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "TransformResults") to
@@ -3862,20 +3438,13 @@
 }
 
 // ExportDocuments: Exports a copy of all or a subset of documents from
-// Google Cloud Firestore
-// to another storage system, such as Google Cloud Storage. Recent
-// updates to
-// documents may not be reflected in the export. The export occurs in
-// the
-// background and its progress can be monitored and managed via
-// the
-// Operation resource that is created. The output of an export may only
-// be
-// used once the associated operation is done. If an export operation
-// is
-// cancelled before completion it may leave partial data behind in
-// Google
-// Cloud Storage.
+// Google Cloud Firestore to another storage system, such as Google
+// Cloud Storage. Recent updates to documents may not be reflected in
+// the export. The export occurs in the background and its progress can
+// be monitored and managed via the Operation resource that is created.
+// The output of an export may only be used once the associated
+// operation is done. If an export operation is cancelled before
+// completion it may leave partial data behind in Google Cloud Storage.
 func (r *ProjectsDatabasesService) ExportDocuments(name string, googlefirestoreadminv1exportdocumentsrequest *GoogleFirestoreAdminV1ExportDocumentsRequest) *ProjectsDatabasesExportDocumentsCall {
 	c := &ProjectsDatabasesExportDocumentsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3910,7 +3479,7 @@
 
 func (c *ProjectsDatabasesExportDocumentsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3974,7 +3543,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Exports a copy of all or a subset of documents from Google Cloud Firestore\nto another storage system, such as Google Cloud Storage. Recent updates to\ndocuments may not be reflected in the export. The export occurs in the\nbackground and its progress can be monitored and managed via the\nOperation resource that is created. The output of an export may only be\nused once the associated operation is done. If an export operation is\ncancelled before completion it may leave partial data behind in Google\nCloud Storage.",
+	//   "description": "Exports a copy of all or a subset of documents from Google Cloud Firestore to another storage system, such as Google Cloud Storage. Recent updates to documents may not be reflected in the export. The export occurs in the background and its progress can be monitored and managed via the Operation resource that is created. The output of an export may only be used once the associated operation is done. If an export operation is cancelled before completion it may leave partial data behind in Google Cloud Storage.",
 	//   "flatPath": "v1/projects/{projectsId}/databases/{databasesId}:exportDocuments",
 	//   "httpMethod": "POST",
 	//   "id": "firestore.projects.databases.exportDocuments",
@@ -3983,7 +3552,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. Database to export. Should be of the form:\n`projects/{project_id}/databases/{database_id}`.",
+	//       "description": "Required. Database to export. Should be of the form: `projects/{project_id}/databases/{database_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -4017,15 +3586,11 @@
 }
 
 // ImportDocuments: Imports documents into Google Cloud Firestore.
-// Existing documents with the
-// same name are overwritten. The import occurs in the background and
-// its
-// progress can be monitored and managed via the Operation resource that
-// is
-// created. If an ImportDocuments operation is cancelled, it is
-// possible
-// that a subset of the data has already been imported to Cloud
-// Firestore.
+// Existing documents with the same name are overwritten. The import
+// occurs in the background and its progress can be monitored and
+// managed via the Operation resource that is created. If an
+// ImportDocuments operation is cancelled, it is possible that a subset
+// of the data has already been imported to Cloud Firestore.
 func (r *ProjectsDatabasesService) ImportDocuments(name string, googlefirestoreadminv1importdocumentsrequest *GoogleFirestoreAdminV1ImportDocumentsRequest) *ProjectsDatabasesImportDocumentsCall {
 	c := &ProjectsDatabasesImportDocumentsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4060,7 +3625,7 @@
 
 func (c *ProjectsDatabasesImportDocumentsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4124,7 +3689,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Imports documents into Google Cloud Firestore. Existing documents with the\nsame name are overwritten. The import occurs in the background and its\nprogress can be monitored and managed via the Operation resource that is\ncreated. If an ImportDocuments operation is cancelled, it is possible\nthat a subset of the data has already been imported to Cloud Firestore.",
+	//   "description": "Imports documents into Google Cloud Firestore. Existing documents with the same name are overwritten. The import occurs in the background and its progress can be monitored and managed via the Operation resource that is created. If an ImportDocuments operation is cancelled, it is possible that a subset of the data has already been imported to Cloud Firestore.",
 	//   "flatPath": "v1/projects/{projectsId}/databases/{databasesId}:importDocuments",
 	//   "httpMethod": "POST",
 	//   "id": "firestore.projects.databases.importDocuments",
@@ -4133,7 +3698,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. Database to import into. Should be of the form:\n`projects/{project_id}/databases/{database_id}`.",
+	//       "description": "Required. Database to import into. Should be of the form: `projects/{project_id}/databases/{database_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -4210,7 +3775,7 @@
 
 func (c *ProjectsDatabasesCollectionGroupsFieldsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4281,7 +3846,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. A name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_id}`",
+	//       "description": "Required. A name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_id}`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+/fields/[^/]+$",
 	//       "required": true,
@@ -4311,15 +3876,10 @@
 	header_      http.Header
 }
 
-// List: Lists the field configuration and metadata for this
-// database.
-//
-// Currently, FirestoreAdmin.ListFields only supports listing
-// fields
-// that have been explicitly overridden. To issue this query,
-// call
-// FirestoreAdmin.ListFields with the filter set
-// to
+// List: Lists the field configuration and metadata for this database.
+// Currently, FirestoreAdmin.ListFields only supports listing fields
+// that have been explicitly overridden. To issue this query, call
+// FirestoreAdmin.ListFields with the filter set to
 // `indexConfig.usesAncestorConfig:false`.
 func (r *ProjectsDatabasesCollectionGroupsFieldsService) List(parent string) *ProjectsDatabasesCollectionGroupsFieldsListCall {
 	c := &ProjectsDatabasesCollectionGroupsFieldsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -4328,12 +3888,9 @@
 }
 
 // Filter sets the optional parameter "filter": The filter to apply to
-// list results. Currently,
-// FirestoreAdmin.ListFields only supports listing fields
-// that have been explicitly overridden. To issue this query,
-// call
-// FirestoreAdmin.ListFields with the filter set
-// to
+// list results. Currently, FirestoreAdmin.ListFields only supports
+// listing fields that have been explicitly overridden. To issue this
+// query, call FirestoreAdmin.ListFields with the filter set to
 // `indexConfig.usesAncestorConfig:false`.
 func (c *ProjectsDatabasesCollectionGroupsFieldsListCall) Filter(filter string) *ProjectsDatabasesCollectionGroupsFieldsListCall {
 	c.urlParams_.Set("filter", filter)
@@ -4348,9 +3905,8 @@
 }
 
 // PageToken sets the optional parameter "pageToken": A page token,
-// returned from a previous call to
-// FirestoreAdmin.ListFields, that may be used to get the next
-// page of results.
+// returned from a previous call to FirestoreAdmin.ListFields, that may
+// be used to get the next page of results.
 func (c *ProjectsDatabasesCollectionGroupsFieldsListCall) PageToken(pageToken string) *ProjectsDatabasesCollectionGroupsFieldsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -4393,7 +3949,7 @@
 
 func (c *ProjectsDatabasesCollectionGroupsFieldsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4457,7 +4013,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists the field configuration and metadata for this database.\n\nCurrently, FirestoreAdmin.ListFields only supports listing fields\nthat have been explicitly overridden. To issue this query, call\nFirestoreAdmin.ListFields with the filter set to\n`indexConfig.usesAncestorConfig:false`.",
+	//   "description": "Lists the field configuration and metadata for this database. Currently, FirestoreAdmin.ListFields only supports listing fields that have been explicitly overridden. To issue this query, call FirestoreAdmin.ListFields with the filter set to `indexConfig.usesAncestorConfig:false`.",
 	//   "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/collectionGroups/{collectionGroupsId}/fields",
 	//   "httpMethod": "GET",
 	//   "id": "firestore.projects.databases.collectionGroups.fields.list",
@@ -4466,7 +4022,7 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "The filter to apply to list results. Currently,\nFirestoreAdmin.ListFields only supports listing fields\nthat have been explicitly overridden. To issue this query, call\nFirestoreAdmin.ListFields with the filter set to\n`indexConfig.usesAncestorConfig:false`.",
+	//       "description": "The filter to apply to list results. Currently, FirestoreAdmin.ListFields only supports listing fields that have been explicitly overridden. To issue this query, call FirestoreAdmin.ListFields with the filter set to `indexConfig.usesAncestorConfig:false`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -4477,12 +4033,12 @@
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "A page token, returned from a previous call to\nFirestoreAdmin.ListFields, that may be used to get the next\npage of results.",
+	//       "description": "A page token, returned from a previous call to FirestoreAdmin.ListFields, that may be used to get the next page of results.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. A parent name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
+	//       "description": "Required. A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+$",
 	//       "required": true,
@@ -4534,25 +4090,17 @@
 }
 
 // Patch: Updates a field configuration. Currently, field updates apply
-// only to
-// single field index configuration. However, calls
-// to
-// FirestoreAdmin.UpdateField should provide a field mask to
-// avoid
+// only to single field index configuration. However, calls to
+// FirestoreAdmin.UpdateField should provide a field mask to avoid
 // changing any configuration that the caller isn't aware of. The field
-// mask
-// should be specified as: `{ paths: "index_config" }`.
-//
-// This call returns a google.longrunning.Operation which may be used
-// to
-// track the status of the field update. The metadata for
-// the operation will be the type FieldOperationMetadata.
-//
-// To configure the default field settings for the database, use
-// the special `Field` with resource
+// mask should be specified as: `{ paths: "index_config" }`. This call
+// returns a google.longrunning.Operation which may be used to track the
+// status of the field update. The metadata for the operation will be
+// the type FieldOperationMetadata. To configure the default field
+// settings for the database, use the special `Field` with resource
 // name:
-// `projects/{project_id}/databases/{database_id}/collectionGroups/
-// __default__/fields/*`.
+// `projects/{project_id}/databases/{database_id}/collectionGroups/__defa
+// ult__/fields/*`.
 func (r *ProjectsDatabasesCollectionGroupsFieldsService) Patch(name string, googlefirestoreadminv1field *GoogleFirestoreAdminV1Field) *ProjectsDatabasesCollectionGroupsFieldsPatchCall {
 	c := &ProjectsDatabasesCollectionGroupsFieldsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4561,8 +4109,8 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": A mask, relative
-// to the field. If specified, only configuration specified
-// by this field_mask will be updated in the field.
+// to the field. If specified, only configuration specified by this
+// field_mask will be updated in the field.
 func (c *ProjectsDatabasesCollectionGroupsFieldsPatchCall) UpdateMask(updateMask string) *ProjectsDatabasesCollectionGroupsFieldsPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
 	return c
@@ -4595,7 +4143,7 @@
 
 func (c *ProjectsDatabasesCollectionGroupsFieldsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4659,7 +4207,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates a field configuration. Currently, field updates apply only to\nsingle field index configuration. However, calls to\nFirestoreAdmin.UpdateField should provide a field mask to avoid\nchanging any configuration that the caller isn't aware of. The field mask\nshould be specified as: `{ paths: \"index_config\" }`.\n\nThis call returns a google.longrunning.Operation which may be used to\ntrack the status of the field update. The metadata for\nthe operation will be the type FieldOperationMetadata.\n\nTo configure the default field settings for the database, use\nthe special `Field` with resource name:\n`projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`.",
+	//   "description": "Updates a field configuration. Currently, field updates apply only to single field index configuration. However, calls to FirestoreAdmin.UpdateField should provide a field mask to avoid changing any configuration that the caller isn't aware of. The field mask should be specified as: `{ paths: \"index_config\" }`. This call returns a google.longrunning.Operation which may be used to track the status of the field update. The metadata for the operation will be the type FieldOperationMetadata. To configure the default field settings for the database, use the special `Field` with resource name: `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`.",
 	//   "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/collectionGroups/{collectionGroupsId}/fields/{fieldsId}",
 	//   "httpMethod": "PATCH",
 	//   "id": "firestore.projects.databases.collectionGroups.fields.patch",
@@ -4668,14 +4216,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "A field name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}`\n\nA field path may be a simple field name, e.g. `address` or a path to fields\nwithin map_value , e.g. `address.city`,\nor a special field path. The only valid special field is `*`, which\nrepresents any field.\n\nField paths may be quoted using ` (backtick). The only character that needs\nto be escaped within a quoted field path is the backtick character itself,\nescaped using a backslash. Special characters in field paths that\nmust be quoted include: `*`, `.`,\n``` (backtick), `[`, `]`, as well as any ascii symbolic characters.\n\nExamples:\n(Note: Comments here are written in markdown syntax, so there is an\n additional layer of backticks to represent a code block)\n`\\`address.city\\`` represents a field named `address.city`, not the map key\n`city` in the field `address`.\n`\\`*\\`` represents a field named `*`, not any field.\n\nA special `Field` contains the default indexing settings for all fields.\nThis field's resource name is:\n`projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`\nIndexes defined on this `Field` will be applied to all fields which do not\nhave their own `Field` index configuration.",
+	//       "description": "A field name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}` A field path may be a simple field name, e.g. `address` or a path to fields within map_value , e.g. `address.city`, or a special field path. The only valid special field is `*`, which represents any field. Field paths may be quoted using ` (backtick). The only character that needs to be escaped within a quoted field path is the backtick character itself, escaped using a backslash. Special characters in field paths that must be quoted include: `*`, `.`, ``` (backtick), `[`, `]`, as well as any ascii symbolic characters. Examples: (Note: Comments here are written in markdown syntax, so there is an additional layer of backticks to represent a code block) `\\`address.city\\`` represents a field named `address.city`, not the map key `city` in the field `address`. `\\`*\\`` represents a field named `*`, not any field. A special `Field` contains the default indexing settings for all fields. This field's resource name is: `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*` Indexes defined on this `Field` will be applied to all fields which do not have their own `Field` index configuration.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+/fields/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "A mask, relative to the field. If specified, only configuration specified\nby this field_mask will be updated in the field.",
+	//       "description": "A mask, relative to the field. If specified, only configuration specified by this field_mask will be updated in the field.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -4708,10 +4256,9 @@
 }
 
 // Create: Creates a composite index. This returns a
-// google.longrunning.Operation
-// which may be used to track the status of the creation. The metadata
-// for
-// the operation will be the type IndexOperationMetadata.
+// google.longrunning.Operation which may be used to track the status of
+// the creation. The metadata for the operation will be the type
+// IndexOperationMetadata.
 func (r *ProjectsDatabasesCollectionGroupsIndexesService) Create(parent string, googlefirestoreadminv1index *GoogleFirestoreAdminV1Index) *ProjectsDatabasesCollectionGroupsIndexesCreateCall {
 	c := &ProjectsDatabasesCollectionGroupsIndexesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -4746,7 +4293,7 @@
 
 func (c *ProjectsDatabasesCollectionGroupsIndexesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4810,7 +4357,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a composite index. This returns a google.longrunning.Operation\nwhich may be used to track the status of the creation. The metadata for\nthe operation will be the type IndexOperationMetadata.",
+	//   "description": "Creates a composite index. This returns a google.longrunning.Operation which may be used to track the status of the creation. The metadata for the operation will be the type IndexOperationMetadata.",
 	//   "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/collectionGroups/{collectionGroupsId}/indexes",
 	//   "httpMethod": "POST",
 	//   "id": "firestore.projects.databases.collectionGroups.indexes.create",
@@ -4819,7 +4366,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. A parent name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
+	//       "description": "Required. A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+$",
 	//       "required": true,
@@ -4885,7 +4432,7 @@
 
 func (c *ProjectsDatabasesCollectionGroupsIndexesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4953,7 +4500,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. A name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`",
+	//       "description": "Required. A name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+/indexes/[^/]+$",
 	//       "required": true,
@@ -5027,7 +4574,7 @@
 
 func (c *ProjectsDatabasesCollectionGroupsIndexesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5098,7 +4645,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. A name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`",
+	//       "description": "Required. A name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+/indexes/[^/]+$",
 	//       "required": true,
@@ -5150,9 +4697,8 @@
 }
 
 // PageToken sets the optional parameter "pageToken": A page token,
-// returned from a previous call to
-// FirestoreAdmin.ListIndexes, that may be used to get the next
-// page of results.
+// returned from a previous call to FirestoreAdmin.ListIndexes, that may
+// be used to get the next page of results.
 func (c *ProjectsDatabasesCollectionGroupsIndexesListCall) PageToken(pageToken string) *ProjectsDatabasesCollectionGroupsIndexesListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -5195,7 +4741,7 @@
 
 func (c *ProjectsDatabasesCollectionGroupsIndexesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5279,12 +4825,12 @@
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "A page token, returned from a previous call to\nFirestoreAdmin.ListIndexes, that may be used to get the next\npage of results.",
+	//       "description": "A page token, returned from a previous call to FirestoreAdmin.ListIndexes, that may be used to get the next page of results.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. A parent name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
+	//       "description": "Required. A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+$",
 	//       "required": true,
@@ -5335,11 +4881,9 @@
 	header_                  http.Header
 }
 
-// BatchGet: Gets multiple documents.
-//
-// Documents returned by this method are not guaranteed to be returned
-// in the
-// same order that they were requested.
+// BatchGet: Gets multiple documents. Documents returned by this method
+// are not guaranteed to be returned in the same order that they were
+// requested.
 func (r *ProjectsDatabasesDocumentsService) BatchGet(database string, batchgetdocumentsrequest *BatchGetDocumentsRequest) *ProjectsDatabasesDocumentsBatchGetCall {
 	c := &ProjectsDatabasesDocumentsBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.database = database
@@ -5374,7 +4918,7 @@
 
 func (c *ProjectsDatabasesDocumentsBatchGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5438,7 +4982,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets multiple documents.\n\nDocuments returned by this method are not guaranteed to be returned in the\nsame order that they were requested.",
+	//   "description": "Gets multiple documents. Documents returned by this method are not guaranteed to be returned in the same order that they were requested.",
 	//   "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/documents:batchGet",
 	//   "httpMethod": "POST",
 	//   "id": "firestore.projects.databases.documents.batchGet",
@@ -5447,7 +4991,7 @@
 	//   ],
 	//   "parameters": {
 	//     "database": {
-	//       "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+	//       "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -5480,18 +5024,12 @@
 	header_           http.Header
 }
 
-// BatchWrite: Applies a batch of write operations.
-//
-// The BatchWrite method does not apply the write operations
-// atomically
-// and can apply them out of order. Method does not allow more than one
-// write
-// per document. Each write succeeds or fails independently. See
-// the
-// BatchWriteResponse for the success status of each write.
-//
-// If you require an atomically applied set of writes, use
-// Commit instead.
+// BatchWrite: Applies a batch of write operations. The BatchWrite
+// method does not apply the write operations atomically and can apply
+// them out of order. Method does not allow more than one write per
+// document. Each write succeeds or fails independently. See the
+// BatchWriteResponse for the success status of each write. If you
+// require an atomically applied set of writes, use Commit instead.
 func (r *ProjectsDatabasesDocumentsService) BatchWrite(database string, batchwriterequest *BatchWriteRequest) *ProjectsDatabasesDocumentsBatchWriteCall {
 	c := &ProjectsDatabasesDocumentsBatchWriteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.database = database
@@ -5526,7 +5064,7 @@
 
 func (c *ProjectsDatabasesDocumentsBatchWriteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5590,7 +5128,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Applies a batch of write operations.\n\nThe BatchWrite method does not apply the write operations atomically\nand can apply them out of order. Method does not allow more than one write\nper document. Each write succeeds or fails independently. See the\nBatchWriteResponse for the success status of each write.\n\nIf you require an atomically applied set of writes, use\nCommit instead.",
+	//   "description": "Applies a batch of write operations. The BatchWrite method does not apply the write operations atomically and can apply them out of order. Method does not allow more than one write per document. Each write succeeds or fails independently. See the BatchWriteResponse for the success status of each write. If you require an atomically applied set of writes, use Commit instead.",
 	//   "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/documents:batchWrite",
 	//   "httpMethod": "POST",
 	//   "id": "firestore.projects.databases.documents.batchWrite",
@@ -5599,7 +5137,7 @@
 	//   ],
 	//   "parameters": {
 	//     "database": {
-	//       "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+	//       "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -5667,7 +5205,7 @@
 
 func (c *ProjectsDatabasesDocumentsBeginTransactionCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5740,7 +5278,7 @@
 	//   ],
 	//   "parameters": {
 	//     "database": {
-	//       "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+	//       "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -5808,7 +5346,7 @@
 
 func (c *ProjectsDatabasesDocumentsCommitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5881,7 +5419,7 @@
 	//   ],
 	//   "parameters": {
 	//     "database": {
-	//       "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+	//       "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -5925,17 +5463,16 @@
 }
 
 // DocumentId sets the optional parameter "documentId": The
-// client-assigned document ID to use for this document.
-//
-//  If not specified, an ID will be assigned by the service.
+// client-assigned document ID to use for this document.  If not
+// specified, an ID will be assigned by the service.
 func (c *ProjectsDatabasesDocumentsCreateDocumentCall) DocumentId(documentId string) *ProjectsDatabasesDocumentsCreateDocumentCall {
 	c.urlParams_.Set("documentId", documentId)
 	return c
 }
 
 // MaskFieldPaths sets the optional parameter "mask.fieldPaths": The
-// list of field paths in the mask. See Document.fields for a field
-// path syntax reference.
+// list of field paths in the mask. See Document.fields for a field path
+// syntax reference.
 func (c *ProjectsDatabasesDocumentsCreateDocumentCall) MaskFieldPaths(maskFieldPaths ...string) *ProjectsDatabasesDocumentsCreateDocumentCall {
 	c.urlParams_.SetMulti("mask.fieldPaths", append([]string{}, maskFieldPaths...))
 	return c
@@ -5968,7 +5505,7 @@
 
 func (c *ProjectsDatabasesDocumentsCreateDocumentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6049,18 +5586,18 @@
 	//       "type": "string"
 	//     },
 	//     "documentId": {
-	//       "description": "The client-assigned document ID to use for this document.\n\nOptional. If not specified, an ID will be assigned by the service.",
+	//       "description": "The client-assigned document ID to use for this document. Optional. If not specified, an ID will be assigned by the service.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "mask.fieldPaths": {
-	//       "description": "The list of field paths in the mask. See Document.fields for a field\npath syntax reference.",
+	//       "description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.",
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The parent resource. For example:\n`projects/{project_id}/databases/{database_id}/documents` or\n`projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}`",
+	//       "description": "Required. The parent resource. For example: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/documents/.*$",
 	//       "required": true,
@@ -6101,8 +5638,7 @@
 
 // CurrentDocumentExists sets the optional parameter
 // "currentDocument.exists": When set to `true`, the target document
-// must exist.
-// When set to `false`, the target document must not exist.
+// must exist. When set to `false`, the target document must not exist.
 func (c *ProjectsDatabasesDocumentsDeleteCall) CurrentDocumentExists(currentDocumentExists bool) *ProjectsDatabasesDocumentsDeleteCall {
 	c.urlParams_.Set("currentDocument.exists", fmt.Sprint(currentDocumentExists))
 	return c
@@ -6110,8 +5646,7 @@
 
 // CurrentDocumentUpdateTime sets the optional parameter
 // "currentDocument.updateTime": When set, the target document must
-// exist and have been last updated at
-// that time.
+// exist and have been last updated at that time.
 func (c *ProjectsDatabasesDocumentsDeleteCall) CurrentDocumentUpdateTime(currentDocumentUpdateTime string) *ProjectsDatabasesDocumentsDeleteCall {
 	c.urlParams_.Set("currentDocument.updateTime", currentDocumentUpdateTime)
 	return c
@@ -6144,7 +5679,7 @@
 
 func (c *ProjectsDatabasesDocumentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6212,18 +5747,18 @@
 	//   ],
 	//   "parameters": {
 	//     "currentDocument.exists": {
-	//       "description": "When set to `true`, the target document must exist.\nWhen set to `false`, the target document must not exist.",
+	//       "description": "When set to `true`, the target document must exist. When set to `false`, the target document must not exist.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
 	//     "currentDocument.updateTime": {
-	//       "description": "When set, the target document must exist and have been last updated at\nthat time.",
+	//       "description": "When set, the target document must exist and have been last updated at that time.",
 	//       "format": "google-datetime",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "Required. The resource name of the Document to delete. In the format:\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
+	//       "description": "Required. The resource name of the Document to delete. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
 	//       "required": true,
@@ -6261,16 +5796,16 @@
 }
 
 // MaskFieldPaths sets the optional parameter "mask.fieldPaths": The
-// list of field paths in the mask. See Document.fields for a field
-// path syntax reference.
+// list of field paths in the mask. See Document.fields for a field path
+// syntax reference.
 func (c *ProjectsDatabasesDocumentsGetCall) MaskFieldPaths(maskFieldPaths ...string) *ProjectsDatabasesDocumentsGetCall {
 	c.urlParams_.SetMulti("mask.fieldPaths", append([]string{}, maskFieldPaths...))
 	return c
 }
 
 // ReadTime sets the optional parameter "readTime": Reads the version of
-// the document at the given time.
-// This may not be older than 270 seconds.
+// the document at the given time. This may not be older than 270
+// seconds.
 func (c *ProjectsDatabasesDocumentsGetCall) ReadTime(readTime string) *ProjectsDatabasesDocumentsGetCall {
 	c.urlParams_.Set("readTime", readTime)
 	return c
@@ -6320,7 +5855,7 @@
 
 func (c *ProjectsDatabasesDocumentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6391,20 +5926,20 @@
 	//   ],
 	//   "parameters": {
 	//     "mask.fieldPaths": {
-	//       "description": "The list of field paths in the mask. See Document.fields for a field\npath syntax reference.",
+	//       "description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.",
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "Required. The resource name of the Document to get. In the format:\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
+	//       "description": "Required. The resource name of the Document to get. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "readTime": {
-	//       "description": "Reads the version of the document at the given time.\nThis may not be older than 270 seconds.",
+	//       "description": "Reads the version of the document at the given time. This may not be older than 270 seconds.",
 	//       "format": "google-datetime",
 	//       "location": "query",
 	//       "type": "string"
@@ -6449,8 +5984,8 @@
 }
 
 // MaskFieldPaths sets the optional parameter "mask.fieldPaths": The
-// list of field paths in the mask. See Document.fields for a field
-// path syntax reference.
+// list of field paths in the mask. See Document.fields for a field path
+// syntax reference.
 func (c *ProjectsDatabasesDocumentsListCall) MaskFieldPaths(maskFieldPaths ...string) *ProjectsDatabasesDocumentsListCall {
 	c.urlParams_.SetMulti("mask.fieldPaths", append([]string{}, maskFieldPaths...))
 	return c
@@ -6479,23 +6014,18 @@
 }
 
 // ReadTime sets the optional parameter "readTime": Reads documents as
-// they were at the given time.
-// This may not be older than 270 seconds.
+// they were at the given time. This may not be older than 270 seconds.
 func (c *ProjectsDatabasesDocumentsListCall) ReadTime(readTime string) *ProjectsDatabasesDocumentsListCall {
 	c.urlParams_.Set("readTime", readTime)
 	return c
 }
 
 // ShowMissing sets the optional parameter "showMissing": If the list
-// should show missing documents. A missing document is a
-// document that does not exist but has sub-documents. These documents
-// will
-// be returned with a key but will not have fields,
-// Document.create_time,
-// or Document.update_time set.
-//
-// Requests with `show_missing` may not specify `where` or
-// `order_by`.
+// should show missing documents. A missing document is a document that
+// does not exist but has sub-documents. These documents will be
+// returned with a key but will not have fields, Document.create_time,
+// or Document.update_time set. Requests with `show_missing` may not
+// specify `where` or `order_by`.
 func (c *ProjectsDatabasesDocumentsListCall) ShowMissing(showMissing bool) *ProjectsDatabasesDocumentsListCall {
 	c.urlParams_.Set("showMissing", fmt.Sprint(showMissing))
 	return c
@@ -6545,7 +6075,7 @@
 
 func (c *ProjectsDatabasesDocumentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6618,13 +6148,13 @@
 	//   ],
 	//   "parameters": {
 	//     "collectionId": {
-	//       "description": "Required. The collection ID, relative to `parent`, to list. For example: `chatrooms`\nor `messages`.",
+	//       "description": "Required. The collection ID, relative to `parent`, to list. For example: `chatrooms` or `messages`.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "mask.fieldPaths": {
-	//       "description": "The list of field paths in the mask. See Document.fields for a field\npath syntax reference.",
+	//       "description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.",
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
@@ -6646,20 +6176,20 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The parent resource name. In the format:\n`projects/{project_id}/databases/{database_id}/documents` or\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.\nFor example:\n`projects/my-project/databases/my-database/documents` or\n`projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
+	//       "description": "Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "readTime": {
-	//       "description": "Reads documents as they were at the given time.\nThis may not be older than 270 seconds.",
+	//       "description": "Reads documents as they were at the given time. This may not be older than 270 seconds.",
 	//       "format": "google-datetime",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "showMissing": {
-	//       "description": "If the list should show missing documents. A missing document is a\ndocument that does not exist but has sub-documents. These documents will\nbe returned with a key but will not have fields, Document.create_time,\nor Document.update_time set.\n\nRequests with `show_missing` may not specify `where` or\n`order_by`.",
+	//       "description": "If the list should show missing documents. A missing document is a document that does not exist but has sub-documents. These documents will be returned with a key but will not have fields, Document.create_time, or Document.update_time set. Requests with `show_missing` may not specify `where` or `order_by`.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -6750,7 +6280,7 @@
 
 func (c *ProjectsDatabasesDocumentsListCollectionIdsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6823,7 +6353,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The parent document. In the format:\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.\nFor example:\n`projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
+	//       "description": "Required. The parent document. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
 	//       "required": true,
@@ -6912,7 +6442,7 @@
 
 func (c *ProjectsDatabasesDocumentsListenCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6985,7 +6515,7 @@
 	//   ],
 	//   "parameters": {
 	//     "database": {
-	//       "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+	//       "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -7019,10 +6549,9 @@
 }
 
 // PartitionQuery: Partitions a query by returning partition cursors
-// that can be used to run
-// the query in parallel. The returned partition cursors are split
-// points that
-// can be used by RunQuery as starting/end points for the query results.
+// that can be used to run the query in parallel. The returned partition
+// cursors are split points that can be used by RunQuery as starting/end
+// points for the query results.
 func (r *ProjectsDatabasesDocumentsService) PartitionQuery(parent string, partitionqueryrequest *PartitionQueryRequest) *ProjectsDatabasesDocumentsPartitionQueryCall {
 	c := &ProjectsDatabasesDocumentsPartitionQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -7057,7 +6586,7 @@
 
 func (c *ProjectsDatabasesDocumentsPartitionQueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7121,7 +6650,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Partitions a query by returning partition cursors that can be used to run\nthe query in parallel. The returned partition cursors are split points that\ncan be used by RunQuery as starting/end points for the query results.",
+	//   "description": "Partitions a query by returning partition cursors that can be used to run the query in parallel. The returned partition cursors are split points that can be used by RunQuery as starting/end points for the query results.",
 	//   "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/documents/{documentsId}/{documentsId1}:partitionQuery",
 	//   "httpMethod": "POST",
 	//   "id": "firestore.projects.databases.documents.partitionQuery",
@@ -7130,7 +6659,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The parent resource name. In the format:\n`projects/{project_id}/databases/{database_id}/documents`.\nDocument resource names are not supported; only database resource names\ncan be specified.",
+	//       "description": "Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents`. Document resource names are not supported; only database resource names can be specified.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
 	//       "required": true,
@@ -7194,8 +6723,7 @@
 
 // CurrentDocumentExists sets the optional parameter
 // "currentDocument.exists": When set to `true`, the target document
-// must exist.
-// When set to `false`, the target document must not exist.
+// must exist. When set to `false`, the target document must not exist.
 func (c *ProjectsDatabasesDocumentsPatchCall) CurrentDocumentExists(currentDocumentExists bool) *ProjectsDatabasesDocumentsPatchCall {
 	c.urlParams_.Set("currentDocument.exists", fmt.Sprint(currentDocumentExists))
 	return c
@@ -7203,16 +6731,15 @@
 
 // CurrentDocumentUpdateTime sets the optional parameter
 // "currentDocument.updateTime": When set, the target document must
-// exist and have been last updated at
-// that time.
+// exist and have been last updated at that time.
 func (c *ProjectsDatabasesDocumentsPatchCall) CurrentDocumentUpdateTime(currentDocumentUpdateTime string) *ProjectsDatabasesDocumentsPatchCall {
 	c.urlParams_.Set("currentDocument.updateTime", currentDocumentUpdateTime)
 	return c
 }
 
 // MaskFieldPaths sets the optional parameter "mask.fieldPaths": The
-// list of field paths in the mask. See Document.fields for a field
-// path syntax reference.
+// list of field paths in the mask. See Document.fields for a field path
+// syntax reference.
 func (c *ProjectsDatabasesDocumentsPatchCall) MaskFieldPaths(maskFieldPaths ...string) *ProjectsDatabasesDocumentsPatchCall {
 	c.urlParams_.SetMulti("mask.fieldPaths", append([]string{}, maskFieldPaths...))
 	return c
@@ -7220,8 +6747,7 @@
 
 // UpdateMaskFieldPaths sets the optional parameter
 // "updateMask.fieldPaths": The list of field paths in the mask. See
-// Document.fields for a field
-// path syntax reference.
+// Document.fields for a field path syntax reference.
 func (c *ProjectsDatabasesDocumentsPatchCall) UpdateMaskFieldPaths(updateMaskFieldPaths ...string) *ProjectsDatabasesDocumentsPatchCall {
 	c.urlParams_.SetMulti("updateMask.fieldPaths", append([]string{}, updateMaskFieldPaths...))
 	return c
@@ -7254,7 +6780,7 @@
 
 func (c *ProjectsDatabasesDocumentsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7327,31 +6853,31 @@
 	//   ],
 	//   "parameters": {
 	//     "currentDocument.exists": {
-	//       "description": "When set to `true`, the target document must exist.\nWhen set to `false`, the target document must not exist.",
+	//       "description": "When set to `true`, the target document must exist. When set to `false`, the target document must not exist.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
 	//     "currentDocument.updateTime": {
-	//       "description": "When set, the target document must exist and have been last updated at\nthat time.",
+	//       "description": "When set, the target document must exist and have been last updated at that time.",
 	//       "format": "google-datetime",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "mask.fieldPaths": {
-	//       "description": "The list of field paths in the mask. See Document.fields for a field\npath syntax reference.",
+	//       "description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.",
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "The resource name of the document, for example\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
+	//       "description": "The resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask.fieldPaths": {
-	//       "description": "The list of field paths in the mask. See Document.fields for a field\npath syntax reference.",
+	//       "description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.",
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
@@ -7418,7 +6944,7 @@
 
 func (c *ProjectsDatabasesDocumentsRollbackCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7491,7 +7017,7 @@
 	//   ],
 	//   "parameters": {
 	//     "database": {
-	//       "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+	//       "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -7559,7 +7085,7 @@
 
 func (c *ProjectsDatabasesDocumentsRunQueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7632,7 +7158,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The parent resource name. In the format:\n`projects/{project_id}/databases/{database_id}/documents` or\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.\nFor example:\n`projects/my-project/databases/my-database/documents` or\n`projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
+	//       "description": "Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
 	//       "required": true,
@@ -7700,7 +7226,7 @@
 
 func (c *ProjectsDatabasesDocumentsWriteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7773,7 +7299,7 @@
 	//   ],
 	//   "parameters": {
 	//     "database": {
-	//       "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.\nThis is only required in the first message.",
+	//       "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`. This is only required in the first message.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -7807,23 +7333,15 @@
 }
 
 // Cancel: 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`.
+// 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`.
 func (r *ProjectsDatabasesOperationsService) Cancel(name string, googlelongrunningcanceloperationrequest *GoogleLongrunningCancelOperationRequest) *ProjectsDatabasesOperationsCancelCall {
 	c := &ProjectsDatabasesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -7858,7 +7376,7 @@
 
 func (c *ProjectsDatabasesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7922,7 +7440,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Starts asynchronous cancellation on a long-running operation.  The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed.  If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.  Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
+	//   "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
 	//   "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/operations/{operationsId}:cancel",
 	//   "httpMethod": "POST",
 	//   "id": "firestore.projects.databases.operations.cancel",
@@ -7964,12 +7482,9 @@
 }
 
 // Delete: 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`.
+// 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`.
 func (r *ProjectsDatabasesOperationsService) Delete(name string) *ProjectsDatabasesOperationsDeleteCall {
 	c := &ProjectsDatabasesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -8003,7 +7518,7 @@
 
 func (c *ProjectsDatabasesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8062,7 +7577,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.",
+	//   "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
 	//   "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/operations/{operationsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "firestore.projects.databases.operations.delete",
@@ -8101,11 +7616,9 @@
 	header_      http.Header
 }
 
-// Get: 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.
+// Get: 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.
 func (r *ProjectsDatabasesOperationsService) Get(name string) *ProjectsDatabasesOperationsGetCall {
 	c := &ProjectsDatabasesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -8149,7 +7662,7 @@
 
 func (c *ProjectsDatabasesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8211,7 +7724,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+	//   "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
 	//   "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/operations/{operationsId}",
 	//   "httpMethod": "GET",
 	//   "id": "firestore.projects.databases.operations.get",
@@ -8251,22 +7764,15 @@
 }
 
 // List: 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. 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.
 func (r *ProjectsDatabasesOperationsService) List(name string) *ProjectsDatabasesOperationsListCall {
 	c := &ProjectsDatabasesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -8331,7 +7837,7 @@
 
 func (c *ProjectsDatabasesOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8394,7 +7900,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
+	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
 	//   "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/operations",
 	//   "httpMethod": "GET",
 	//   "id": "firestore.projects.databases.operations.list",
@@ -8514,7 +8020,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8681,7 +8187,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/firestore/v1beta1/firestore-api.json b/firestore/v1beta1/firestore-api.json
index b7e7897..faae912 100644
--- a/firestore/v1beta1/firestore-api.json
+++ b/firestore/v1beta1/firestore-api.json
@@ -15,7 +15,7 @@
   "baseUrl": "https://firestore.googleapis.com/",
   "batchPath": "batch",
   "canonicalName": "Firestore",
-  "description": "Accesses the NoSQL document database built for automatic scaling, high performance, and ease of application development.\n",
+  "description": "Accesses the NoSQL document database built for automatic scaling, high performance, and ease of application development. ",
   "discoveryVersion": "v1",
   "documentationLink": "https://cloud.google.com/firestore",
   "fullyEncodeReservedExpansion": true,
@@ -113,7 +113,7 @@
         "databases": {
           "methods": {
             "exportDocuments": {
-              "description": "Exports a copy of all or a subset of documents from Google Cloud Firestore\nto another storage system, such as Google Cloud Storage. Recent updates to\ndocuments may not be reflected in the export. The export occurs in the\nbackground and its progress can be monitored and managed via the\nOperation resource that is created. The output of an export may only be\nused once the associated operation is done. If an export operation is\ncancelled before completion it may leave partial data behind in Google\nCloud Storage.",
+              "description": "Exports a copy of all or a subset of documents from Google Cloud Firestore to another storage system, such as Google Cloud Storage. Recent updates to documents may not be reflected in the export. The export occurs in the background and its progress can be monitored and managed via the Operation resource that is created. The output of an export may only be used once the associated operation is done. If an export operation is cancelled before completion it may leave partial data behind in Google Cloud Storage.",
               "flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}:exportDocuments",
               "httpMethod": "POST",
               "id": "firestore.projects.databases.exportDocuments",
@@ -122,7 +122,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Database to export. Should be of the form:\n`projects/{project_id}/databases/{database_id}`.",
+                  "description": "Database to export. Should be of the form: `projects/{project_id}/databases/{database_id}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/databases/[^/]+$",
                   "required": true,
@@ -142,7 +142,7 @@
               ]
             },
             "importDocuments": {
-              "description": "Imports documents into Google Cloud Firestore. Existing documents with the\nsame name are overwritten. The import occurs in the background and its\nprogress can be monitored and managed via the Operation resource that is\ncreated. If an ImportDocuments operation is cancelled, it is possible\nthat a subset of the data has already been imported to Cloud Firestore.",
+              "description": "Imports documents into Google Cloud Firestore. Existing documents with the same name are overwritten. The import occurs in the background and its progress can be monitored and managed via the Operation resource that is created. If an ImportDocuments operation is cancelled, it is possible that a subset of the data has already been imported to Cloud Firestore.",
               "flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}:importDocuments",
               "httpMethod": "POST",
               "id": "firestore.projects.databases.importDocuments",
@@ -151,7 +151,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Database to import into. Should be of the form:\n`projects/{project_id}/databases/{database_id}`.",
+                  "description": "Database to import into. Should be of the form: `projects/{project_id}/databases/{database_id}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/databases/[^/]+$",
                   "required": true,
@@ -175,7 +175,7 @@
             "documents": {
               "methods": {
                 "batchGet": {
-                  "description": "Gets multiple documents.\n\nDocuments returned by this method are not guaranteed to be returned in the\nsame order that they were requested.",
+                  "description": "Gets multiple documents. Documents returned by this method are not guaranteed to be returned in the same order that they were requested.",
                   "flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents:batchGet",
                   "httpMethod": "POST",
                   "id": "firestore.projects.databases.documents.batchGet",
@@ -184,7 +184,7 @@
                   ],
                   "parameters": {
                     "database": {
-                      "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+                      "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+$",
                       "required": true,
@@ -204,7 +204,7 @@
                   ]
                 },
                 "batchWrite": {
-                  "description": "Applies a batch of write operations.\n\nThe BatchWrite method does not apply the write operations atomically\nand can apply them out of order. Method does not allow more than one write\nper document. Each write succeeds or fails independently. See the\nBatchWriteResponse for the success status of each write.\n\nIf you require an atomically applied set of writes, use\nCommit instead.",
+                  "description": "Applies a batch of write operations. The BatchWrite method does not apply the write operations atomically and can apply them out of order. Method does not allow more than one write per document. Each write succeeds or fails independently. See the BatchWriteResponse for the success status of each write. If you require an atomically applied set of writes, use Commit instead.",
                   "flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents:batchWrite",
                   "httpMethod": "POST",
                   "id": "firestore.projects.databases.documents.batchWrite",
@@ -213,7 +213,7 @@
                   ],
                   "parameters": {
                     "database": {
-                      "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+                      "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+$",
                       "required": true,
@@ -242,7 +242,7 @@
                   ],
                   "parameters": {
                     "database": {
-                      "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+                      "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+$",
                       "required": true,
@@ -271,7 +271,7 @@
                   ],
                   "parameters": {
                     "database": {
-                      "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+                      "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+$",
                       "required": true,
@@ -307,18 +307,18 @@
                       "type": "string"
                     },
                     "documentId": {
-                      "description": "The client-assigned document ID to use for this document.\n\nOptional. If not specified, an ID will be assigned by the service.",
+                      "description": "The client-assigned document ID to use for this document. Optional. If not specified, an ID will be assigned by the service.",
                       "location": "query",
                       "type": "string"
                     },
                     "mask.fieldPaths": {
-                      "description": "The list of field paths in the mask. See Document.fields for a field\npath syntax reference.",
+                      "description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.",
                       "location": "query",
                       "repeated": true,
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The parent resource. For example:\n`projects/{project_id}/databases/{database_id}/documents` or\n`projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}`",
+                      "description": "Required. The parent resource. For example: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+/documents/.*$",
                       "required": true,
@@ -347,18 +347,18 @@
                   ],
                   "parameters": {
                     "currentDocument.exists": {
-                      "description": "When set to `true`, the target document must exist.\nWhen set to `false`, the target document must not exist.",
+                      "description": "When set to `true`, the target document must exist. When set to `false`, the target document must not exist.",
                       "location": "query",
                       "type": "boolean"
                     },
                     "currentDocument.updateTime": {
-                      "description": "When set, the target document must exist and have been last updated at\nthat time.",
+                      "description": "When set, the target document must exist and have been last updated at that time.",
                       "format": "google-datetime",
                       "location": "query",
                       "type": "string"
                     },
                     "name": {
-                      "description": "Required. The resource name of the Document to delete. In the format:\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
+                      "description": "Required. The resource name of the Document to delete. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
                       "required": true,
@@ -384,20 +384,20 @@
                   ],
                   "parameters": {
                     "mask.fieldPaths": {
-                      "description": "The list of field paths in the mask. See Document.fields for a field\npath syntax reference.",
+                      "description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.",
                       "location": "query",
                       "repeated": true,
                       "type": "string"
                     },
                     "name": {
-                      "description": "Required. The resource name of the Document to get. In the format:\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
+                      "description": "Required. The resource name of the Document to get. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
                       "required": true,
                       "type": "string"
                     },
                     "readTime": {
-                      "description": "Reads the version of the document at the given time.\nThis may not be older than 270 seconds.",
+                      "description": "Reads the version of the document at the given time. This may not be older than 270 seconds.",
                       "format": "google-datetime",
                       "location": "query",
                       "type": "string"
@@ -429,13 +429,13 @@
                   ],
                   "parameters": {
                     "collectionId": {
-                      "description": "Required. The collection ID, relative to `parent`, to list. For example: `chatrooms`\nor `messages`.",
+                      "description": "Required. The collection ID, relative to `parent`, to list. For example: `chatrooms` or `messages`.",
                       "location": "path",
                       "required": true,
                       "type": "string"
                     },
                     "mask.fieldPaths": {
-                      "description": "The list of field paths in the mask. See Document.fields for a field\npath syntax reference.",
+                      "description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.",
                       "location": "query",
                       "repeated": true,
                       "type": "string"
@@ -457,20 +457,20 @@
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The parent resource name. In the format:\n`projects/{project_id}/databases/{database_id}/documents` or\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.\nFor example:\n`projects/my-project/databases/my-database/documents` or\n`projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
+                      "description": "Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
                       "required": true,
                       "type": "string"
                     },
                     "readTime": {
-                      "description": "Reads documents as they were at the given time.\nThis may not be older than 270 seconds.",
+                      "description": "Reads documents as they were at the given time. This may not be older than 270 seconds.",
                       "format": "google-datetime",
                       "location": "query",
                       "type": "string"
                     },
                     "showMissing": {
-                      "description": "If the list should show missing documents. A missing document is a\ndocument that does not exist but has sub-documents. These documents will\nbe returned with a key but will not have fields, Document.create_time,\nor Document.update_time set.\n\nRequests with `show_missing` may not specify `where` or\n`order_by`.",
+                      "description": "If the list should show missing documents. A missing document is a document that does not exist but has sub-documents. These documents will be returned with a key but will not have fields, Document.create_time, or Document.update_time set. Requests with `show_missing` may not specify `where` or `order_by`.",
                       "location": "query",
                       "type": "boolean"
                     },
@@ -500,7 +500,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Required. The parent document. In the format:\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.\nFor example:\n`projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
+                      "description": "Required. The parent document. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
                       "required": true,
@@ -529,7 +529,7 @@
                   ],
                   "parameters": {
                     "database": {
-                      "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+                      "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+$",
                       "required": true,
@@ -549,7 +549,7 @@
                   ]
                 },
                 "partitionQuery": {
-                  "description": "Partitions a query by returning partition cursors that can be used to run\nthe query in parallel. The returned partition cursors are split points that\ncan be used by RunQuery as starting/end points for the query results.",
+                  "description": "Partitions a query by returning partition cursors that can be used to run the query in parallel. The returned partition cursors are split points that can be used by RunQuery as starting/end points for the query results.",
                   "flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents/{documentsId}/{documentsId1}:partitionQuery",
                   "httpMethod": "POST",
                   "id": "firestore.projects.databases.documents.partitionQuery",
@@ -558,7 +558,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Required. The parent resource name. In the format:\n`projects/{project_id}/databases/{database_id}/documents`.\nDocument resource names are not supported; only database resource names\ncan be specified.",
+                      "description": "Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents`. Document resource names are not supported; only database resource names can be specified.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
                       "required": true,
@@ -587,31 +587,31 @@
                   ],
                   "parameters": {
                     "currentDocument.exists": {
-                      "description": "When set to `true`, the target document must exist.\nWhen set to `false`, the target document must not exist.",
+                      "description": "When set to `true`, the target document must exist. When set to `false`, the target document must not exist.",
                       "location": "query",
                       "type": "boolean"
                     },
                     "currentDocument.updateTime": {
-                      "description": "When set, the target document must exist and have been last updated at\nthat time.",
+                      "description": "When set, the target document must exist and have been last updated at that time.",
                       "format": "google-datetime",
                       "location": "query",
                       "type": "string"
                     },
                     "mask.fieldPaths": {
-                      "description": "The list of field paths in the mask. See Document.fields for a field\npath syntax reference.",
+                      "description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.",
                       "location": "query",
                       "repeated": true,
                       "type": "string"
                     },
                     "name": {
-                      "description": "The resource name of the document, for example\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
+                      "description": "The resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
                       "required": true,
                       "type": "string"
                     },
                     "updateMask.fieldPaths": {
-                      "description": "The list of field paths in the mask. See Document.fields for a field\npath syntax reference.",
+                      "description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.",
                       "location": "query",
                       "repeated": true,
                       "type": "string"
@@ -639,7 +639,7 @@
                   ],
                   "parameters": {
                     "database": {
-                      "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+                      "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+$",
                       "required": true,
@@ -668,7 +668,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Required. The parent resource name. In the format:\n`projects/{project_id}/databases/{database_id}/documents` or\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.\nFor example:\n`projects/my-project/databases/my-database/documents` or\n`projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
+                      "description": "Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
                       "required": true,
@@ -697,7 +697,7 @@
                   ],
                   "parameters": {
                     "database": {
-                      "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.\nThis is only required in the first message.",
+                      "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`. This is only required in the first message.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+$",
                       "required": true,
@@ -721,7 +721,7 @@
             "indexes": {
               "methods": {
                 "create": {
-                  "description": "Creates the specified index.\nA newly created index's initial state is `CREATING`. On completion of the\nreturned google.longrunning.Operation, the state will be `READY`.\nIf the index already exists, the call will return an `ALREADY_EXISTS`\nstatus.\n\nDuring creation, the process could result in an error, in which case the\nindex will move to the `ERROR` state. The process can be recovered by\nfixing the data that caused the error, removing the index with\ndelete, then re-creating the index with\ncreate.\n\nIndexes with a single field cannot be created.",
+                  "description": "Creates the specified index. A newly created index's initial state is `CREATING`. On completion of the returned google.longrunning.Operation, the state will be `READY`. If the index already exists, the call will return an `ALREADY_EXISTS` status. During creation, the process could result in an error, in which case the index will move to the `ERROR` state. The process can be recovered by fixing the data that caused the error, removing the index with delete, then re-creating the index with create. Indexes with a single field cannot be created.",
                   "flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/indexes",
                   "httpMethod": "POST",
                   "id": "firestore.projects.databases.indexes.create",
@@ -730,7 +730,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "The name of the database this index will apply to. For example:\n`projects/{project_id}/databases/{database_id}`",
+                      "description": "The name of the database this index will apply to. For example: `projects/{project_id}/databases/{database_id}`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+$",
                       "required": true,
@@ -759,7 +759,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The index name. For example:\n`projects/{project_id}/databases/{database_id}/indexes/{index_id}`",
+                      "description": "The index name. For example: `projects/{project_id}/databases/{database_id}/indexes/{index_id}`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+/indexes/[^/]+$",
                       "required": true,
@@ -785,7 +785,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The name of the index. For example:\n`projects/{project_id}/databases/{database_id}/indexes/{index_id}`",
+                      "description": "The name of the index. For example: `projects/{project_id}/databases/{database_id}/indexes/{index_id}`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+/indexes/[^/]+$",
                       "required": true,
@@ -826,7 +826,7 @@
                       "type": "string"
                     },
                     "parent": {
-                      "description": "The database name. For example:\n`projects/{project_id}/databases/{database_id}`",
+                      "description": "The database name. For example: `projects/{project_id}/databases/{database_id}`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/databases/[^/]+$",
                       "required": true,
@@ -849,7 +849,7 @@
       }
     }
   },
-  "revision": "20200725",
+  "revision": "20200801",
   "rootUrl": "https://firestore.googleapis.com/",
   "schemas": {
     "ArrayValue": {
@@ -871,7 +871,7 @@
       "id": "BatchGetDocumentsRequest",
       "properties": {
         "documents": {
-          "description": "The names of the documents to retrieve. In the format:\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.\nThe request will fail if any of the document is not a child resource of the\ngiven `database`. Duplicate names will be elided.",
+          "description": "The names of the documents to retrieve. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. The request will fail if any of the document is not a child resource of the given `database`. Duplicate names will be elided.",
           "items": {
             "type": "string"
           },
@@ -879,14 +879,14 @@
         },
         "mask": {
           "$ref": "DocumentMask",
-          "description": "The fields to return. If not set, returns all fields.\n\nIf a document has a field that is not present in this mask, that field will\nnot be returned in the response."
+          "description": "The fields to return. If not set, returns all fields. If a document has a field that is not present in this mask, that field will not be returned in the response."
         },
         "newTransaction": {
           "$ref": "TransactionOptions",
-          "description": "Starts a new transaction and reads the documents.\nDefaults to a read-only transaction.\nThe new transaction ID will be returned as the first response in the\nstream."
+          "description": "Starts a new transaction and reads the documents. Defaults to a read-only transaction. The new transaction ID will be returned as the first response in the stream."
         },
         "readTime": {
-          "description": "Reads documents as they were at the given time.\nThis may not be older than 270 seconds.",
+          "description": "Reads documents as they were at the given time. This may not be older than 270 seconds.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -907,16 +907,16 @@
           "description": "A document that was requested."
         },
         "missing": {
-          "description": "A document name that was requested but does not exist. In the format:\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
+          "description": "A document name that was requested but does not exist. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
           "type": "string"
         },
         "readTime": {
-          "description": "The time at which the document was read.\nThis may be monotically increasing, in this case the previous documents in\nthe result stream are guaranteed not to have changed between their\nread_time and this one.",
+          "description": "The time at which the document was read. This may be monotically increasing, in this case the previous documents in the result stream are guaranteed not to have changed between their read_time and this one.",
           "format": "google-datetime",
           "type": "string"
         },
         "transaction": {
-          "description": "The transaction that was started as part of this request.\nWill only be set in the first response, and only if\nBatchGetDocumentsRequest.new_transaction was set in the request.",
+          "description": "The transaction that was started as part of this request. Will only be set in the first response, and only if BatchGetDocumentsRequest.new_transaction was set in the request.",
           "format": "byte",
           "type": "string"
         }
@@ -935,7 +935,7 @@
           "type": "object"
         },
         "writes": {
-          "description": "The writes to apply.\n\nMethod does not apply writes atomically and does not guarantee ordering.\nEach write succeeds or fails independently. You cannot write to the same\ndocument more than once per request.",
+          "description": "The writes to apply. Method does not apply writes atomically and does not guarantee ordering. Each write succeeds or fails independently. You cannot write to the same document more than once per request.",
           "items": {
             "$ref": "Write"
           },
@@ -949,14 +949,14 @@
       "id": "BatchWriteResponse",
       "properties": {
         "status": {
-          "description": "The status of applying the writes.\n\nThis i-th write status corresponds to the i-th write in the\nrequest.",
+          "description": "The status of applying the writes. This i-th write status corresponds to the i-th write in the request.",
           "items": {
             "$ref": "Status"
           },
           "type": "array"
         },
         "writeResults": {
-          "description": "The result of applying the writes.\n\nThis i-th write result corresponds to the i-th write in the\nrequest.",
+          "description": "The result of applying the writes. This i-th write result corresponds to the i-th write in the request.",
           "items": {
             "$ref": "WriteResult"
           },
@@ -971,7 +971,7 @@
       "properties": {
         "options": {
           "$ref": "TransactionOptions",
-          "description": "The options for the transaction.\nDefaults to a read-write transaction."
+          "description": "The options for the transaction. Defaults to a read-write transaction."
         }
       },
       "type": "object"
@@ -993,11 +993,11 @@
       "id": "CollectionSelector",
       "properties": {
         "allDescendants": {
-          "description": "When false, selects only collections that are immediate children of\nthe `parent` specified in the containing `RunQueryRequest`.\nWhen true, selects all descendant collections.",
+          "description": "When false, selects only collections that are immediate children of the `parent` specified in the containing `RunQueryRequest`. When true, selects all descendant collections.",
           "type": "boolean"
         },
         "collectionId": {
-          "description": "The collection ID.\nWhen set, selects only collections with this ID.",
+          "description": "The collection ID. When set, selects only collections with this ID.",
           "type": "string"
         }
       },
@@ -1013,7 +1013,7 @@
           "type": "string"
         },
         "writes": {
-          "description": "The writes to apply.\n\nAlways executed atomically and in order.",
+          "description": "The writes to apply. Always executed atomically and in order.",
           "items": {
             "$ref": "Write"
           },
@@ -1027,12 +1027,12 @@
       "id": "CommitResponse",
       "properties": {
         "commitTime": {
-          "description": "The time at which the commit occurred. Any read with an equal or greater\n`read_time` is guaranteed to see the effects of the commit.",
+          "description": "The time at which the commit occurred. Any read with an equal or greater `read_time` is guaranteed to see the effects of the commit.",
           "format": "google-datetime",
           "type": "string"
         },
         "writeResults": {
-          "description": "The result of applying the writes.\n\nThis i-th write result corresponds to the i-th write in the\nrequest.",
+          "description": "The result of applying the writes. This i-th write result corresponds to the i-th write in the request.",
           "items": {
             "$ref": "WriteResult"
           },
@@ -1046,7 +1046,7 @@
       "id": "CompositeFilter",
       "properties": {
         "filters": {
-          "description": "The list of filters to combine.\nMust contain at least one filter.",
+          "description": "The list of filters to combine. Must contain at least one filter.",
           "items": {
             "$ref": "Filter"
           },
@@ -1072,11 +1072,11 @@
       "id": "Cursor",
       "properties": {
         "before": {
-          "description": "If the position is just before or just after the given values, relative\nto the sort order defined by the query.",
+          "description": "If the position is just before or just after the given values, relative to the sort order defined by the query.",
           "type": "boolean"
         },
         "values": {
-          "description": "The values that represent a position, in the order they appear in\nthe order by clause of a query.\n\nCan contain fewer values than specified in the order by clause.",
+          "description": "The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.",
           "items": {
             "$ref": "Value"
           },
@@ -1086,11 +1086,11 @@
       "type": "object"
     },
     "Document": {
-      "description": "A Firestore document.\n\nMust not exceed 1 MiB - 4 bytes.",
+      "description": "A Firestore document. Must not exceed 1 MiB - 4 bytes.",
       "id": "Document",
       "properties": {
         "createTime": {
-          "description": "Output only. The time at which the document was created.\n\nThis value increases monotonically when a document is deleted then\nrecreated. It can also be compared to values from other documents and\nthe `read_time` of a query.",
+          "description": "Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -1098,15 +1098,15 @@
           "additionalProperties": {
             "$ref": "Value"
           },
-          "description": "The document's fields.\n\nThe map keys represent field names.\n\nA simple field name contains only characters `a` to `z`, `A` to `Z`,\n`0` to `9`, or `_`, and must not start with `0` to `9`. For example,\n`foo_bar_17`.\n\nField names matching the regular expression `__.*__` are reserved. Reserved\nfield names are forbidden except in certain documented contexts. The map\nkeys, represented as UTF-8, must not exceed 1,500 bytes and cannot be\nempty.\n\nField paths may be used in other contexts to refer to structured fields\ndefined here. For `map_value`, the field path is represented by the simple\nor quoted field names of the containing fields, delimited by `.`. For\nexample, the structured field\n`\"foo\" : { map_value: { \"x\u0026y\" : { string_value: \"hello\" }}}` would be\nrepresented by the field path `foo.x\u0026y`.\n\nWithin a field path, a quoted field name starts and ends with `` ` `` and\nmay contain any character. Some characters, including `` ` ``, must be\nescaped using a `\\`. For example, `` `x\u0026y` `` represents `x\u0026y` and\n`` `bak\\`tik` `` represents `` bak`tik ``.",
+          "description": "The document's fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `\"foo\" : { map_value: { \"x\u0026y\" : { string_value: \"hello\" }}}` would be represented by the field path `foo.x\u0026y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\\`. For example, `` `x\u0026y` `` represents `x\u0026y` and `` `bak\\`tik` `` represents `` bak`tik ``.",
           "type": "object"
         },
         "name": {
-          "description": "The resource name of the document, for example\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
+          "description": "The resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
           "type": "string"
         },
         "updateTime": {
-          "description": "Output only. The time at which the document was last changed.\n\nThis value is initially set to the `create_time` then increases\nmonotonically with each change to the document. It can also be\ncompared to values from other documents and the `read_time` of a query.",
+          "description": "Output only. The time at which the document was last changed. This value is initially set to the `create_time` then increases monotonically with each change to the document. It can also be compared to values from other documents and the `read_time` of a query.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -1114,12 +1114,12 @@
       "type": "object"
     },
     "DocumentChange": {
-      "description": "A Document has changed.\n\nMay be the result of multiple writes, including deletes, that\nultimately resulted in a new value for the Document.\n\nMultiple DocumentChange messages may be returned for the same logical\nchange, if multiple targets are affected.",
+      "description": "A Document has changed. May be the result of multiple writes, including deletes, that ultimately resulted in a new value for the Document. Multiple DocumentChange messages may be returned for the same logical change, if multiple targets are affected.",
       "id": "DocumentChange",
       "properties": {
         "document": {
           "$ref": "Document",
-          "description": "The new state of the Document.\n\nIf `mask` is set, contains only fields that were updated or added."
+          "description": "The new state of the Document. If `mask` is set, contains only fields that were updated or added."
         },
         "removedTargetIds": {
           "description": "A set of target IDs for targets that no longer match this document.",
@@ -1141,7 +1141,7 @@
       "type": "object"
     },
     "DocumentDelete": {
-      "description": "A Document has been deleted.\n\nMay be the result of multiple writes, including updates, the\nlast of which deleted the Document.\n\nMultiple DocumentDelete messages may be returned for the same logical\ndelete, if multiple targets are affected.",
+      "description": "A Document has been deleted. May be the result of multiple writes, including updates, the last of which deleted the Document. Multiple DocumentDelete messages may be returned for the same logical delete, if multiple targets are affected.",
       "id": "DocumentDelete",
       "properties": {
         "document": {
@@ -1149,7 +1149,7 @@
           "type": "string"
         },
         "readTime": {
-          "description": "The read timestamp at which the delete was observed.\n\nGreater or equal to the `commit_time` of the delete.",
+          "description": "The read timestamp at which the delete was observed. Greater or equal to the `commit_time` of the delete.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -1165,11 +1165,11 @@
       "type": "object"
     },
     "DocumentMask": {
-      "description": "A set of field paths on a document.\nUsed to restrict a get or update operation on a document to a subset of its\nfields.\nThis is different from standard field masks, as this is always scoped to a\nDocument, and takes in account the dynamic nature of Value.",
+      "description": "A set of field paths on a document. Used to restrict a get or update operation on a document to a subset of its fields. This is different from standard field masks, as this is always scoped to a Document, and takes in account the dynamic nature of Value.",
       "id": "DocumentMask",
       "properties": {
         "fieldPaths": {
-          "description": "The list of field paths in the mask. See Document.fields for a field\npath syntax reference.",
+          "description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.",
           "items": {
             "type": "string"
           },
@@ -1179,7 +1179,7 @@
       "type": "object"
     },
     "DocumentRemove": {
-      "description": "A Document has been removed from the view of the targets.\n\nSent if the document is no longer relevant to a target and is out of view.\nCan be sent instead of a DocumentDelete or a DocumentChange if the server\ncan not send the new value of the document.\n\nMultiple DocumentRemove messages may be returned for the same logical\nwrite or delete, if multiple targets are affected.",
+      "description": "A Document has been removed from the view of the targets. Sent if the document is no longer relevant to a target and is out of view. Can be sent instead of a DocumentDelete or a DocumentChange if the server can not send the new value of the document. Multiple DocumentRemove messages may be returned for the same logical write or delete, if multiple targets are affected.",
       "id": "DocumentRemove",
       "properties": {
         "document": {
@@ -1187,7 +1187,7 @@
           "type": "string"
         },
         "readTime": {
-          "description": "The read timestamp at which the remove was observed.\n\nGreater or equal to the `commit_time` of the change/delete/remove.",
+          "description": "The read timestamp at which the remove was observed. Greater or equal to the `commit_time` of the change/delete/remove.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -1211,7 +1211,7 @@
           "type": "string"
         },
         "fieldTransforms": {
-          "description": "The list of transformations to apply to the fields of the document, in\norder.\nThis must not be empty.",
+          "description": "The list of transformations to apply to the fields of the document, in order. This must not be empty.",
           "items": {
             "$ref": "FieldTransform"
           },
@@ -1225,7 +1225,7 @@
       "id": "DocumentsTarget",
       "properties": {
         "documents": {
-          "description": "The names of the documents to retrieve. In the format:\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.\nThe request will fail if any of the document is not a child resource of\nthe given `database`. Duplicate names will be elided.",
+          "description": "The names of the documents to retrieve. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. The request will fail if any of the document is not a child resource of the given `database`. Duplicate names will be elided.",
           "items": {
             "type": "string"
           },
@@ -1235,7 +1235,7 @@
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
@@ -1245,7 +1245,7 @@
       "id": "ExistenceFilter",
       "properties": {
         "count": {
-          "description": "The total count of documents that match target_id.\n\nIf different from the count of documents in the client that match, the\nclient must manually determine which documents no longer match the target.",
+          "description": "The total count of documents that match target_id. If different from the count of documents in the client that match, the client must manually determine which documents no longer match the target.",
           "format": "int32",
           "type": "integer"
         },
@@ -1280,14 +1280,14 @@
           ],
           "enumDescriptions": [
             "Unspecified. This value must not be used.",
-            "The given `field` is less than the given `value`.\n\nRequires:\n\n* That `field` come first in `order_by`.",
-            "The given `field` is less than or equal to the given `value`.\n\nRequires:\n\n* That `field` come first in `order_by`.",
-            "The given `field` is greater than the given `value`.\n\nRequires:\n\n* That `field` come first in `order_by`.",
-            "The given `field` is greater than or equal to the given `value`.\n\nRequires:\n\n* That `field` come first in `order_by`.",
+            "The given `field` is less than the given `value`. Requires: * That `field` come first in `order_by`.",
+            "The given `field` is less than or equal to the given `value`. Requires: * That `field` come first in `order_by`.",
+            "The given `field` is greater than the given `value`. Requires: * That `field` come first in `order_by`.",
+            "The given `field` is greater than or equal to the given `value`. Requires: * That `field` come first in `order_by`.",
             "The given `field` is equal to the given `value`.",
             "The given `field` is an array that contains the given `value`.",
-            "The given `field` is equal to at least one value in the given array.\n\nRequires:\n\n* That `value` is a non-empty `ArrayValue` with at most 10 values.\n* No other `IN` or `ARRAY_CONTAINS_ANY`.",
-            "The given `field` is an array that contains any of the values in the\ngiven array.\n\nRequires:\n\n* That `value` is a non-empty `ArrayValue` with at most 10 values.\n* No other `IN` or `ARRAY_CONTAINS_ANY`."
+            "The given `field` is equal to at least one value in the given array. Requires: * That `value` is a non-empty `ArrayValue` with at most 10 values. * No other `IN` or `ARRAY_CONTAINS_ANY`.",
+            "The given `field` is an array that contains any of the values in the given array. Requires: * That `value` is a non-empty `ArrayValue` with at most 10 values. * No other `IN` or `ARRAY_CONTAINS_ANY`."
           ],
           "type": "string"
         },
@@ -1314,27 +1314,27 @@
       "properties": {
         "appendMissingElements": {
           "$ref": "ArrayValue",
-          "description": "Append the given elements in order if they are not already present in\nthe current field value.\nIf the field is not an array, or if the field does not yet exist, it is\nfirst set to the empty array.\n\nEquivalent numbers of different types (e.g. 3L and 3.0) are\nconsidered equal when checking if a value is missing.\nNaN is equal to NaN, and Null is equal to Null.\nIf the input contains multiple equivalent values, only the first will\nbe considered.\n\nThe corresponding transform_result will be the null value."
+          "description": "Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value."
         },
         "fieldPath": {
-          "description": "The path of the field. See Document.fields for the field path syntax\nreference.",
+          "description": "The path of the field. See Document.fields for the field path syntax reference.",
           "type": "string"
         },
         "increment": {
           "$ref": "Value",
-          "description": "Adds the given value to the field's current value.\n\nThis must be an integer or a double value.\nIf the field is not an integer or double, or if the field does not yet\nexist, the transformation will set the field to the given value.\nIf either of the given value or the current field value are doubles,\nboth values will be interpreted as doubles. Double arithmetic and\nrepresentation of double values follow IEEE 754 semantics.\nIf there is positive/negative integer overflow, the field is resolved\nto the largest magnitude positive/negative integer."
+          "description": "Adds the given value to the field's current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer."
         },
         "maximum": {
           "$ref": "Value",
-          "description": "Sets the field to the maximum of its current value and the given value.\n\nThis must be an integer or a double value.\nIf the field is not an integer or double, or if the field does not yet\nexist, the transformation will set the field to the given value.\nIf a maximum operation is applied where the field and the input value\nare of mixed types (that is - one is an integer and one is a double)\nthe field takes on the type of the larger operand. If the operands are\nequivalent (e.g. 3 and 3.0), the field does not change.\n0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and\nzero input value is always the stored value.\nThe maximum of any numeric value x and NaN is NaN."
+          "description": "Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN."
         },
         "minimum": {
           "$ref": "Value",
-          "description": "Sets the field to the minimum of its current value and the given value.\n\nThis must be an integer or a double value.\nIf the field is not an integer or double, or if the field does not yet\nexist, the transformation will set the field to the input value.\nIf a minimum operation is applied where the field and the input value\nare of mixed types (that is - one is an integer and one is a double)\nthe field takes on the type of the smaller operand. If the operands are\nequivalent (e.g. 3 and 3.0), the field does not change.\n0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and\nzero input value is always the stored value.\nThe minimum of any numeric value x and NaN is NaN."
+          "description": "Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN."
         },
         "removeAllFromArray": {
           "$ref": "ArrayValue",
-          "description": "Remove all of the given elements from the array in the field.\nIf the field is not an array, or if the field does not yet exist, it is\nset to the empty array.\n\nEquivalent numbers of the different types (e.g. 3L and 3.0) are\nconsidered equal when deciding whether an element should be removed.\nNaN is equal to NaN, and Null is equal to Null.\nThis will remove all equivalent values if there are duplicates.\n\nThe corresponding transform_result will be the null value."
+          "description": "Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value."
         },
         "setToServerValue": {
           "description": "Sets the field to the given server value.",
@@ -1344,7 +1344,7 @@
           ],
           "enumDescriptions": [
             "Unspecified. This value must not be used.",
-            "The time at which the server processed the request, with millisecond\nprecision."
+            "The time at which the server processed the request, with millisecond precision."
           ],
           "type": "string"
         }
@@ -1382,7 +1382,7 @@
           "type": "array"
         },
         "endTime": {
-          "description": "The time the operation ended, either successfully or otherwise. Unset if\nthe operation is still active.",
+          "description": "The time the operation ended, either successfully or otherwise. Unset if the operation is still active.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -1402,11 +1402,11 @@
             "Unspecified.",
             "Request is being prepared for processing.",
             "Request is actively being processed.",
-            "Request is in the process of being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation on the operation.",
+            "Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.",
             "Request has been processed and is in its finalization stage.",
             "Request has completed successfully.",
             "Request has finished being processed, but encountered an error.",
-            "Request has finished being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation."
+            "Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation."
           ],
           "type": "string"
         },
@@ -1442,7 +1442,7 @@
           "type": "array"
         },
         "outputUriPrefix": {
-          "description": "The output URI. Currently only supports Google Cloud Storage URIs of the\nform: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the name\nof the Google Cloud Storage bucket and `NAMESPACE_PATH` is an optional\nGoogle Cloud Storage namespace path. When\nchoosing a name, be sure to consider Google Cloud Storage naming\nguidelines: https://cloud.google.com/storage/docs/naming.\nIf the URI is a bucket (without a namespace path), a prefix will be\ngenerated based on the start time.",
+          "description": "The output URI. Currently only supports Google Cloud Storage URIs of the form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the name of the Google Cloud Storage bucket and `NAMESPACE_PATH` is an optional Google Cloud Storage namespace path. When choosing a name, be sure to consider Google Cloud Storage naming guidelines: https://cloud.google.com/storage/docs/naming. If the URI is a bucket (without a namespace path), a prefix will be generated based on the start time.",
           "type": "string"
         }
       },
@@ -1453,7 +1453,7 @@
       "id": "GoogleFirestoreAdminV1beta1ExportDocumentsResponse",
       "properties": {
         "outputUriPrefix": {
-          "description": "Location of the output files. This can be used to begin an import\ninto Cloud Firestore (this project or another project) after the operation\ncompletes successfully.",
+          "description": "Location of the output files. This can be used to begin an import into Cloud Firestore (this project or another project) after the operation completes successfully.",
           "type": "string"
         }
       },
@@ -1471,7 +1471,7 @@
           "type": "array"
         },
         "endTime": {
-          "description": "The time the operation ended, either successfully or otherwise. Unset if\nthe operation is still active.",
+          "description": "The time the operation ended, either successfully or otherwise. Unset if the operation is still active.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -1495,11 +1495,11 @@
             "Unspecified.",
             "Request is being prepared for processing.",
             "Request is actively being processed.",
-            "Request is in the process of being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation on the operation.",
+            "Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.",
             "Request has been processed and is in its finalization stage.",
             "Request has completed successfully.",
             "Request has finished being processed, but encountered an error.",
-            "Request has finished being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation."
+            "Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation."
           ],
           "type": "string"
         },
@@ -1524,14 +1524,14 @@
       "id": "GoogleFirestoreAdminV1beta1ImportDocumentsRequest",
       "properties": {
         "collectionIds": {
-          "description": "Which collection ids to import. Unspecified means all collections included\nin the import.",
+          "description": "Which collection ids to import. Unspecified means all collections included in the import.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "inputUriPrefix": {
-          "description": "Location of the exported files.\nThis must match the output_uri_prefix of an ExportDocumentsResponse from\nan export that has completed successfully.\nSee:\ngoogle.firestore.admin.v1beta1.ExportDocumentsResponse.output_uri_prefix.",
+          "description": "Location of the exported files. This must match the output_uri_prefix of an ExportDocumentsResponse from an export that has completed successfully. See: google.firestore.admin.v1beta1.ExportDocumentsResponse.output_uri_prefix.",
           "type": "string"
         }
       },
@@ -1553,11 +1553,11 @@
           "type": "array"
         },
         "name": {
-          "description": "The resource name of the index.\nOutput only.",
+          "description": "The resource name of the index. Output only.",
           "type": "string"
         },
         "state": {
-          "description": "The state of the index.\nOutput only.",
+          "description": "The state of the index. Output only.",
           "enum": [
             "STATE_UNSPECIFIED",
             "CREATING",
@@ -1566,9 +1566,9 @@
           ],
           "enumDescriptions": [
             "The state is unspecified.",
-            "The index is being created.\nThere is an active long-running operation for the index.\nThe index is updated when writing a document.\nSome index data may exist.",
-            "The index is ready to be used.\nThe index is updated when writing a document.\nThe index is fully populated from all stored documents it applies to.",
-            "The index was being created, but something went wrong.\nThere is no active long-running operation for the index,\nand the most recently finished long-running operation failed.\nThe index is not updated when writing a document.\nSome index data may exist."
+            "The index is being created. There is an active long-running operation for the index. The index is updated when writing a document. Some index data may exist.",
+            "The index is ready to be used. The index is updated when writing a document. The index is fully populated from all stored documents it applies to.",
+            "The index was being created, but something went wrong. There is no active long-running operation for the index, and the most recently finished long-running operation failed. The index is not updated when writing a document. Some index data may exist."
           ],
           "type": "string"
         }
@@ -1580,7 +1580,7 @@
       "id": "GoogleFirestoreAdminV1beta1IndexField",
       "properties": {
         "fieldPath": {
-          "description": "The path of the field. Must match the field path specification described\nby google.firestore.v1beta1.Document.fields.\nSpecial field path `__name__` may be used by itself or at the end of a\npath. `__type__` may be used only at the end of path.",
+          "description": "The path of the field. Must match the field path specification described by google.firestore.v1beta1.Document.fields. Special field path `__name__` may be used by itself or at the end of a path. `__type__` may be used only at the end of path.",
           "type": "string"
         },
         "mode": {
@@ -1593,9 +1593,9 @@
           ],
           "enumDescriptions": [
             "The mode is unspecified.",
-            "The field's values are indexed so as to support sequencing in\nascending order and also query by \u003c, \u003e, \u003c=, \u003e=, and =.",
-            "The field's values are indexed so as to support sequencing in\ndescending order and also query by \u003c, \u003e, \u003c=, \u003e=, and =.",
-            "The field's array values are indexed so as to support membership using\nARRAY_CONTAINS queries."
+            "The field's values are indexed so as to support sequencing in ascending order and also query by \u003c, \u003e, \u003c=, \u003e=, and =.",
+            "The field's values are indexed so as to support sequencing in descending order and also query by \u003c, \u003e, \u003c=, \u003e=, and =.",
+            "The field's array values are indexed so as to support membership using ARRAY_CONTAINS queries."
           ],
           "type": "string"
         }
@@ -1603,11 +1603,11 @@
       "type": "object"
     },
     "GoogleFirestoreAdminV1beta1IndexOperationMetadata": {
-      "description": "Metadata for index operations. This metadata populates\nthe metadata field of google.longrunning.Operation.",
+      "description": "Metadata for index operations. This metadata populates the metadata field of google.longrunning.Operation.",
       "id": "GoogleFirestoreAdminV1beta1IndexOperationMetadata",
       "properties": {
         "cancelled": {
-          "description": "True if the [google.longrunning.Operation] was cancelled. If the\ncancellation is in progress, cancelled will be true but\ngoogle.longrunning.Operation.done will be false.",
+          "description": "True if the [google.longrunning.Operation] was cancelled. If the cancellation is in progress, cancelled will be true but google.longrunning.Operation.done will be false.",
           "type": "boolean"
         },
         "documentProgress": {
@@ -1615,12 +1615,12 @@
           "description": "Progress of the existing operation, measured in number of documents."
         },
         "endTime": {
-          "description": "The time the operation ended, either successfully or otherwise. Unset if\nthe operation is still active.",
+          "description": "The time the operation ended, either successfully or otherwise. Unset if the operation is still active.",
           "format": "google-datetime",
           "type": "string"
         },
         "index": {
-          "description": "The index resource that this operation is acting on. For example:\n`projects/{project_id}/databases/{database_id}/indexes/{index_id}`",
+          "description": "The index resource that this operation is acting on. For example: `projects/{project_id}/databases/{database_id}/indexes/{index_id}`",
           "type": "string"
         },
         "operationType": {
@@ -1672,12 +1672,12 @@
       "id": "GoogleFirestoreAdminV1beta1Progress",
       "properties": {
         "workCompleted": {
-          "description": "An estimate of how much work has been completed. Note that this may be\ngreater than `work_estimated`.",
+          "description": "An estimate of how much work has been completed. Note that this may be greater than `work_estimated`.",
           "format": "int64",
           "type": "string"
         },
         "workEstimated": {
-          "description": "An estimate of how much work needs to be performed. Zero if the\nwork estimate is unavailable. May change as work progresses.",
+          "description": "An estimate of how much work needs to be performed. Zero if the work estimate is unavailable. May change as work progresses.",
           "format": "int64",
           "type": "string"
         }
@@ -1685,11 +1685,11 @@
       "type": "object"
     },
     "GoogleLongrunningOperation": {
-      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
+      "description": "This resource represents a long-running operation that is the result of a network API call.",
       "id": "GoogleLongrunningOperation",
       "properties": {
         "done": {
-          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
+          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
           "type": "boolean"
         },
         "error": {
@@ -1701,11 +1701,11 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "Service-specific metadata associated with the operation.  It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata.  Any method that returns a\nlong-running operation should document the metadata type, if any.",
+          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
           "type": "object"
         },
         "name": {
-          "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.",
+          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
           "type": "string"
         },
         "response": {
@@ -1713,14 +1713,14 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "The normal response of the operation in case of success.  If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`.  If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource.  For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name.  For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
+          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
           "type": "object"
         }
       },
       "type": "object"
     },
     "LatLng": {
-      "description": "An object representing a latitude/longitude pair. This is expressed as a pair\nof doubles representing degrees latitude and degrees longitude. Unless\nspecified otherwise, this must conform to the\n\u003ca href=\"http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\"\u003eWGS84\nstandard\u003c/a\u003e. Values must be within normalized ranges.",
+      "description": "An object representing a latitude/longitude pair. This is expressed as a pair of doubles representing degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges.",
       "id": "LatLng",
       "properties": {
         "latitude": {
@@ -1746,7 +1746,7 @@
           "type": "integer"
         },
         "pageToken": {
-          "description": "A page token. Must be a value from\nListCollectionIdsResponse.",
+          "description": "A page token. Must be a value from ListCollectionIdsResponse.",
           "type": "string"
         }
       },
@@ -1825,11 +1825,11 @@
         },
         "documentRemove": {
           "$ref": "DocumentRemove",
-          "description": "A Document has been removed from a target (because it is no longer\nrelevant to that target)."
+          "description": "A Document has been removed from a target (because it is no longer relevant to that target)."
         },
         "filter": {
           "$ref": "ExistenceFilter",
-          "description": "A filter to apply to the set of documents previously returned for the\ngiven target.\n\nReturned when documents may have been removed from the given target, but\nthe exact documents are unknown."
+          "description": "A filter to apply to the set of documents previously returned for the given target. Returned when documents may have been removed from the given target, but the exact documents are unknown."
         },
         "targetChange": {
           "$ref": "TargetChange",
@@ -1846,7 +1846,7 @@
           "additionalProperties": {
             "$ref": "Value"
           },
-          "description": "The map's fields.\n\nThe map keys represent field names. Field names matching the regular\nexpression `__.*__` are reserved. Reserved field names are forbidden except\nin certain documented contexts. The map keys, represented as UTF-8, must\nnot exceed 1,500 bytes and cannot be empty.",
+          "description": "The map's fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.",
           "type": "object"
         }
       },
@@ -1882,22 +1882,22 @@
       "id": "PartitionQueryRequest",
       "properties": {
         "pageSize": {
-          "description": "The maximum number of partitions to return in this call, subject to\n`partition_count`.\n\nFor example, if `partition_count` = 10 and `page_size` = 8, the first call\nto PartitionQuery will return up to 8 partitions and a `next_page_token`\nif more results exist. A second call to PartitionQuery will return up to\n2 partitions, to complete the total of 10 specified in `partition_count`.",
+          "description": "The maximum number of partitions to return in this call, subject to `partition_count`. For example, if `partition_count` = 10 and `page_size` = 8, the first call to PartitionQuery will return up to 8 partitions and a `next_page_token` if more results exist. A second call to PartitionQuery will return up to 2 partitions, to complete the total of 10 specified in `partition_count`.",
           "format": "int32",
           "type": "integer"
         },
         "pageToken": {
-          "description": "The `next_page_token` value returned from a previous call to\nPartitionQuery that may be used to get an additional set of results.\nThere are no ordering guarantees between sets of results. Thus, using\nmultiple sets of results will require merging the different result sets.\n\nFor example, two subsequent calls using a page_token may return:\n\n * cursor B, cursor M, cursor Q\n * cursor A, cursor U, cursor W\n\nTo obtain a complete result set ordered with respect to the results of the\nquery supplied to PartitionQuery, the results sets should be merged:\ncursor A, cursor B, cursor M, cursor Q, cursor U, cursor W",
+          "description": "The `next_page_token` value returned from a previous call to PartitionQuery that may be used to get an additional set of results. There are no ordering guarantees between sets of results. Thus, using multiple sets of results will require merging the different result sets. For example, two subsequent calls using a page_token may return: * cursor B, cursor M, cursor Q * cursor A, cursor U, cursor W To obtain a complete result set ordered with respect to the results of the query supplied to PartitionQuery, the results sets should be merged: cursor A, cursor B, cursor M, cursor Q, cursor U, cursor W",
           "type": "string"
         },
         "partitionCount": {
-          "description": "The desired maximum number of partition points.\nThe partitions may be returned across multiple pages of results.\nThe number must be strictly positive. The actual number of partitions\nreturned may be fewer.\n\nFor example, this may be set to one fewer than the number of parallel\nqueries to be run, or in running a data pipeline job, one fewer than the\nnumber of workers or compute instances available.",
+          "description": "The desired maximum number of partition points. The partitions may be returned across multiple pages of results. The number must be positive. The actual number of partitions returned may be fewer. For example, this may be set to one fewer than the number of parallel queries to be run, or in running a data pipeline job, one fewer than the number of workers or compute instances available.",
           "format": "int64",
           "type": "string"
         },
         "structuredQuery": {
           "$ref": "StructuredQuery",
-          "description": "A structured query.\nFilters, order bys, limits, offsets, and start/end cursors are not\nsupported."
+          "description": "A structured query. Query must specify collection with all descendants and be ordered by name ascending. Other filters, order bys, limits, offsets, and start/end cursors are not supported."
         }
       },
       "type": "object"
@@ -1907,11 +1907,11 @@
       "id": "PartitionQueryResponse",
       "properties": {
         "nextPageToken": {
-          "description": "A page token that may be used to request an additional set of results, up\nto the number specified by `partition_count` in the PartitionQuery request.\nIf blank, there are no more results.",
+          "description": "A page token that may be used to request an additional set of results, up to the number specified by `partition_count` in the PartitionQuery request. If blank, there are no more results.",
           "type": "string"
         },
         "partitions": {
-          "description": "Partition results.\nEach partition is a split point that can be used by RunQuery as a starting\nor end point for the query results. The RunQuery requests must be made with\nthe same query supplied to this PartitionQuery request. The partition\ncursors will be ordered according to same ordering as the results of the\nquery supplied to PartitionQuery.\n\nFor example, if a PartitionQuery request returns partition cursors A and B,\nrunning the following three queries will return the entire result set of\nthe original query:\n\n * query, end_at A\n * query, start_at A, end_at B\n * query, start_at B",
+          "description": "Partition results. Each partition is a split point that can be used by RunQuery as a starting or end point for the query results. The RunQuery requests must be made with the same query supplied to this PartitionQuery request. The partition cursors will be ordered according to same ordering as the results of the query supplied to PartitionQuery. For example, if a PartitionQuery request returns partition cursors A and B, running the following three queries will return the entire result set of the original query: * query, end_at A * query, start_at A, end_at B * query, start_at B An empty result may indicate that the query has too few results to be partitioned.",
           "items": {
             "$ref": "Cursor"
           },
@@ -1925,11 +1925,11 @@
       "id": "Precondition",
       "properties": {
         "exists": {
-          "description": "When set to `true`, the target document must exist.\nWhen set to `false`, the target document must not exist.",
+          "description": "When set to `true`, the target document must exist. When set to `false`, the target document must not exist.",
           "type": "boolean"
         },
         "updateTime": {
-          "description": "When set, the target document must exist and have been last updated at\nthat time.",
+          "description": "When set, the target document must exist and have been last updated at that time.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -1941,7 +1941,7 @@
       "id": "Projection",
       "properties": {
         "fields": {
-          "description": "The fields to return.\n\nIf empty, all fields are returned. To only return the name\nof the document, use `['__name__']`.",
+          "description": "The fields to return. If empty, all fields are returned. To only return the name of the document, use `['__name__']`.",
           "items": {
             "$ref": "FieldReference"
           },
@@ -1955,7 +1955,7 @@
       "id": "QueryTarget",
       "properties": {
         "parent": {
-          "description": "The parent resource name. In the format:\n`projects/{project_id}/databases/{database_id}/documents` or\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.\nFor example:\n`projects/my-project/databases/my-database/documents` or\n`projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
+          "description": "The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
           "type": "string"
         },
         "structuredQuery": {
@@ -1970,7 +1970,7 @@
       "id": "ReadOnly",
       "properties": {
         "readTime": {
-          "description": "Reads documents at the given time.\nThis may not be older than 60 seconds.",
+          "description": "Reads documents at the given time. This may not be older than 60 seconds.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -2007,10 +2007,10 @@
       "properties": {
         "newTransaction": {
           "$ref": "TransactionOptions",
-          "description": "Starts a new transaction and reads the documents.\nDefaults to a read-only transaction.\nThe new transaction ID will be returned as the first response in the\nstream."
+          "description": "Starts a new transaction and reads the documents. Defaults to a read-only transaction. The new transaction ID will be returned as the first response in the stream."
         },
         "readTime": {
-          "description": "Reads documents as they were at the given time.\nThis may not be older than 270 seconds.",
+          "description": "Reads documents as they were at the given time. This may not be older than 270 seconds.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -2032,20 +2032,20 @@
       "properties": {
         "document": {
           "$ref": "Document",
-          "description": "A query result.\nNot set when reporting partial progress."
+          "description": "A query result. Not set when reporting partial progress."
         },
         "readTime": {
-          "description": "The time at which the document was read. This may be monotonically\nincreasing; in this case, the previous documents in the result stream are\nguaranteed not to have changed between their `read_time` and this one.\n\nIf the query returns no results, a response with `read_time` and no\n`document` will be sent, and this represents the time at which the query\nwas run.",
+          "description": "The time at which the document was read. This may be monotonically increasing; in this case, the previous documents in the result stream are guaranteed not to have changed between their `read_time` and this one. If the query returns no results, a response with `read_time` and no `document` will be sent, and this represents the time at which the query was run.",
           "format": "google-datetime",
           "type": "string"
         },
         "skippedResults": {
-          "description": "The number of results that have been skipped due to an offset between\nthe last response and the current response.",
+          "description": "The number of results that have been skipped due to an offset between the last response and the current response.",
           "format": "int32",
           "type": "integer"
         },
         "transaction": {
-          "description": "The transaction that was started as part of this request.\nCan only be set in the first response, and only if\nRunQueryRequest.new_transaction was set in the request.\nIf set, no other fields will be set in this response.",
+          "description": "The transaction that was started as part of this request. Can only be set in the first response, and only if RunQueryRequest.new_transaction was set in the request. If set, no other fields will be set in this response.",
           "format": "byte",
           "type": "string"
         }
@@ -2053,7 +2053,7 @@
       "type": "object"
     },
     "Status": {
-      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "Status",
       "properties": {
         "code": {
@@ -2062,7 +2062,7 @@
           "type": "integer"
         },
         "details": {
-          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -2073,7 +2073,7 @@
           "type": "array"
         },
         "message": {
-          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
           "type": "string"
         }
       },
@@ -2095,17 +2095,17 @@
           "type": "array"
         },
         "limit": {
-          "description": "The maximum number of results to return.\n\nApplies after all other constraints.\nMust be \u003e= 0 if specified.",
+          "description": "The maximum number of results to return. Applies after all other constraints. Must be \u003e= 0 if specified.",
           "format": "int32",
           "type": "integer"
         },
         "offset": {
-          "description": "The number of results to skip.\n\nApplies before limit, but after all other constraints. Must be \u003e= 0 if\nspecified.",
+          "description": "The number of results to skip. Applies before limit, but after all other constraints. Must be \u003e= 0 if specified.",
           "format": "int32",
           "type": "integer"
         },
         "orderBy": {
-          "description": "The order to apply to the query results.\n\nFirestore guarantees a stable ordering through the following rules:\n\n * Any field required to appear in `order_by`, that is not already\n   specified in `order_by`, is appended to the order in field name order\n   by default.\n * If an order on `__name__` is not specified, it is appended by default.\n\nFields are appended with the same sort direction as the last order\nspecified, or 'ASCENDING' if no order was specified. For example:\n\n * `SELECT * FROM Foo ORDER BY A` becomes\n   `SELECT * FROM Foo ORDER BY A, __name__`\n * `SELECT * FROM Foo ORDER BY A DESC` becomes\n   `SELECT * FROM Foo ORDER BY A DESC, __name__ DESC`\n * `SELECT * FROM Foo WHERE A \u003e 1` becomes\n   `SELECT * FROM Foo WHERE A \u003e 1 ORDER BY A, __name__`",
+          "description": "The order to apply to the query results. Firestore guarantees a stable ordering through the following rules: * Any field required to appear in `order_by`, that is not already specified in `order_by`, is appended to the order in field name order by default. * If an order on `__name__` is not specified, it is appended by default. Fields are appended with the same sort direction as the last order specified, or 'ASCENDING' if no order was specified. For example: * `SELECT * FROM Foo ORDER BY A` becomes `SELECT * FROM Foo ORDER BY A, __name__` * `SELECT * FROM Foo ORDER BY A DESC` becomes `SELECT * FROM Foo ORDER BY A DESC, __name__ DESC` * `SELECT * FROM Foo WHERE A \u003e 1` becomes `SELECT * FROM Foo WHERE A \u003e 1 ORDER BY A, __name__`",
           "items": {
             "$ref": "Order"
           },
@@ -2143,17 +2143,17 @@
           "description": "A target specified by a query."
         },
         "readTime": {
-          "description": "Start listening after a specific `read_time`.\n\nThe client must know the state of matching documents at this time.",
+          "description": "Start listening after a specific `read_time`. The client must know the state of matching documents at this time.",
           "format": "google-datetime",
           "type": "string"
         },
         "resumeToken": {
-          "description": "A resume token from a prior TargetChange for an identical target.\n\nUsing a resume token with a different target is unsupported and may fail.",
+          "description": "A resume token from a prior TargetChange for an identical target. Using a resume token with a different target is unsupported and may fail.",
           "format": "byte",
           "type": "string"
         },
         "targetId": {
-          "description": "The target ID that identifies the target on the stream. Must be a positive\nnumber and non-zero.",
+          "description": "The target ID that identifies the target on the stream. Must be a positive number and non-zero.",
           "format": "int32",
           "type": "integer"
         }
@@ -2169,12 +2169,12 @@
           "description": "The error that resulted in this change, if applicable."
         },
         "readTime": {
-          "description": "The consistent `read_time` for the given `target_ids` (omitted when the\ntarget_ids are not at a consistent snapshot).\n\nThe stream is guaranteed to send a `read_time` with `target_ids` empty\nwhenever the entire stream reaches a new consistent snapshot. ADD,\nCURRENT, and RESET messages are guaranteed to (eventually) result in a\nnew consistent snapshot (while NO_CHANGE and REMOVE messages are not).\n\nFor a given stream, `read_time` is guaranteed to be monotonically\nincreasing.",
+          "description": "The consistent `read_time` for the given `target_ids` (omitted when the target_ids are not at a consistent snapshot). The stream is guaranteed to send a `read_time` with `target_ids` empty whenever the entire stream reaches a new consistent snapshot. ADD, CURRENT, and RESET messages are guaranteed to (eventually) result in a new consistent snapshot (while NO_CHANGE and REMOVE messages are not). For a given stream, `read_time` is guaranteed to be monotonically increasing.",
           "format": "google-datetime",
           "type": "string"
         },
         "resumeToken": {
-          "description": "A token that can be used to resume the stream for the given `target_ids`,\nor all targets if `target_ids` is empty.\n\nNot set on every target change.",
+          "description": "A token that can be used to resume the stream for the given `target_ids`, or all targets if `target_ids` is empty. Not set on every target change.",
           "format": "byte",
           "type": "string"
         },
@@ -2191,13 +2191,13 @@
             "No change has occurred. Used only to send an updated `resume_token`.",
             "The targets have been added.",
             "The targets have been removed.",
-            "The targets reflect all changes committed before the targets were added\nto the stream.\n\nThis will be sent after or with a `read_time` that is greater than or\nequal to the time at which the targets were added.\n\nListeners can wait for this change if read-after-write semantics\nare desired.",
-            "The targets have been reset, and a new initial state for the targets\nwill be returned in subsequent changes.\n\nAfter the initial state is complete, `CURRENT` will be returned even\nif the target was previously indicated to be `CURRENT`."
+            "The targets reflect all changes committed before the targets were added to the stream. This will be sent after or with a `read_time` that is greater than or equal to the time at which the targets were added. Listeners can wait for this change if read-after-write semantics are desired.",
+            "The targets have been reset, and a new initial state for the targets will be returned in subsequent changes. After the initial state is complete, `CURRENT` will be returned even if the target was previously indicated to be `CURRENT`."
           ],
           "type": "string"
         },
         "targetIds": {
-          "description": "The target IDs of targets that have changed.\n\nIf empty, the change applies to all targets.\n\nThe order of the target IDs is not defined.",
+          "description": "The target IDs of targets that have changed. If empty, the change applies to all targets. The order of the target IDs is not defined.",
           "items": {
             "format": "int32",
             "type": "integer"
@@ -2253,14 +2253,14 @@
       "properties": {
         "arrayValue": {
           "$ref": "ArrayValue",
-          "description": "An array value.\n\nCannot directly contain another array value, though can contain an\nmap which contains another array."
+          "description": "An array value. Cannot directly contain another array value, though can contain an map which contains another array."
         },
         "booleanValue": {
           "description": "A boolean value.",
           "type": "boolean"
         },
         "bytesValue": {
-          "description": "A bytes value.\n\nMust not exceed 1 MiB - 89 bytes.\nOnly the first 1,500 bytes are considered by queries.",
+          "description": "A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.",
           "format": "byte",
           "type": "string"
         },
@@ -2293,15 +2293,15 @@
           "type": "string"
         },
         "referenceValue": {
-          "description": "A reference to a document. For example:\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
+          "description": "A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
           "type": "string"
         },
         "stringValue": {
-          "description": "A string value.\n\nThe string, represented as UTF-8, must not exceed 1 MiB - 89 bytes.\nOnly the first 1,500 bytes of the UTF-8 representation are considered by\nqueries.",
+          "description": "A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.",
           "type": "string"
         },
         "timestampValue": {
-          "description": "A timestamp value.\n\nPrecise only to microseconds. When stored, any additional precision is\nrounded down.",
+          "description": "A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -2314,10 +2314,10 @@
       "properties": {
         "currentDocument": {
           "$ref": "Precondition",
-          "description": "An optional precondition on the document.\n\nThe write will fail if this is set and not met by the target document."
+          "description": "An optional precondition on the document. The write will fail if this is set and not met by the target document."
         },
         "delete": {
-          "description": "A document name to delete. In the format:\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
+          "description": "A document name to delete. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
           "type": "string"
         },
         "transform": {
@@ -2330,10 +2330,10 @@
         },
         "updateMask": {
           "$ref": "DocumentMask",
-          "description": "The fields to update in this write.\n\nThis field can be set only when the operation is `update`.\nIf the mask is not set for an `update` and the document exists, any\nexisting data will be overwritten.\nIf the mask is set and the document on the server has fields not covered by\nthe mask, they are left unchanged.\nFields referenced in the mask, but not present in the input document, are\ndeleted from the document on the server.\nThe field paths in this mask must not contain a reserved field name."
+          "description": "The fields to update in this write. This field can be set only when the operation is `update`. If the mask is not set for an `update` and the document exists, any existing data will be overwritten. If the mask is set and the document on the server has fields not covered by the mask, they are left unchanged. Fields referenced in the mask, but not present in the input document, are deleted from the document on the server. The field paths in this mask must not contain a reserved field name."
         },
         "updateTransforms": {
-          "description": "The transforms to perform after update.\n\nThis field can be set only when the operation is `update`. If present, this\nwrite is equivalent to performing `update` and `transform` to the same\ndocument atomically and in order.",
+          "description": "The transforms to perform after update. This field can be set only when the operation is `update`. If present, this write is equivalent to performing `update` and `transform` to the same document atomically and in order.",
           "items": {
             "$ref": "FieldTransform"
           },
@@ -2343,7 +2343,7 @@
       "type": "object"
     },
     "WriteRequest": {
-      "description": "The request for Firestore.Write.\n\nThe first request creates a stream, or resumes an existing one from a token.\n\nWhen creating a new stream, the server replies with a response containing\nonly an ID and a token, to use in the next request.\n\nWhen resuming a stream, the server first streams any responses later than the\ngiven token, then a response containing only an up-to-date token, to use in\nthe next request.",
+      "description": "The request for Firestore.Write. The first request creates a stream, or resumes an existing one from a token. When creating a new stream, the server replies with a response containing only an ID and a token, to use in the next request. When resuming a stream, the server first streams any responses later than the given token, then a response containing only an up-to-date token, to use in the next request.",
       "id": "WriteRequest",
       "properties": {
         "labels": {
@@ -2354,16 +2354,16 @@
           "type": "object"
         },
         "streamId": {
-          "description": "The ID of the write stream to resume.\nThis may only be set in the first message. When left empty, a new write\nstream will be created.",
+          "description": "The ID of the write stream to resume. This may only be set in the first message. When left empty, a new write stream will be created.",
           "type": "string"
         },
         "streamToken": {
-          "description": "A stream token that was previously sent by the server.\n\nThe client should set this field to the token from the most recent\nWriteResponse it has received. This acknowledges that the client has\nreceived responses up to this token. After sending this token, earlier\ntokens may not be used anymore.\n\nThe server may close the stream if there are too many unacknowledged\nresponses.\n\nLeave this field unset when creating a new stream. To resume a stream at\na specific point, set this field and the `stream_id` field.\n\nLeave this field unset when creating a new stream.",
+          "description": "A stream token that was previously sent by the server. The client should set this field to the token from the most recent WriteResponse it has received. This acknowledges that the client has received responses up to this token. After sending this token, earlier tokens may not be used anymore. The server may close the stream if there are too many unacknowledged responses. Leave this field unset when creating a new stream. To resume a stream at a specific point, set this field and the `stream_id` field. Leave this field unset when creating a new stream.",
           "format": "byte",
           "type": "string"
         },
         "writes": {
-          "description": "The writes to apply.\n\nAlways executed atomically and in order.\nThis must be empty on the first request.\nThis may be empty on the last request.\nThis must not be empty on all other requests.",
+          "description": "The writes to apply. Always executed atomically and in order. This must be empty on the first request. This may be empty on the last request. This must not be empty on all other requests.",
           "items": {
             "$ref": "Write"
           },
@@ -2377,21 +2377,21 @@
       "id": "WriteResponse",
       "properties": {
         "commitTime": {
-          "description": "The time at which the commit occurred. Any read with an equal or greater\n`read_time` is guaranteed to see the effects of the write.",
+          "description": "The time at which the commit occurred. Any read with an equal or greater `read_time` is guaranteed to see the effects of the write.",
           "format": "google-datetime",
           "type": "string"
         },
         "streamId": {
-          "description": "The ID of the stream.\nOnly set on the first message, when a new stream was created.",
+          "description": "The ID of the stream. Only set on the first message, when a new stream was created.",
           "type": "string"
         },
         "streamToken": {
-          "description": "A token that represents the position of this response in the stream.\nThis can be used by a client to resume the stream at this point.\n\nThis field is always set.",
+          "description": "A token that represents the position of this response in the stream. This can be used by a client to resume the stream at this point. This field is always set.",
           "format": "byte",
           "type": "string"
         },
         "writeResults": {
-          "description": "The result of applying the writes.\n\nThis i-th write result corresponds to the i-th write in the\nrequest.",
+          "description": "The result of applying the writes. This i-th write result corresponds to the i-th write in the request.",
           "items": {
             "$ref": "WriteResult"
           },
@@ -2405,14 +2405,14 @@
       "id": "WriteResult",
       "properties": {
         "transformResults": {
-          "description": "The results of applying each DocumentTransform.FieldTransform, in the\nsame order.",
+          "description": "The results of applying each DocumentTransform.FieldTransform, in the same order.",
           "items": {
             "$ref": "Value"
           },
           "type": "array"
         },
         "updateTime": {
-          "description": "The last update time of the document after applying the write. Not set\nafter a `delete`.\n\nIf the write did not actually change the document, this will be the\nprevious update_time.",
+          "description": "The last update time of the document after applying the write. Not set after a `delete`. If the write did not actually change the document, this will be the previous update_time.",
           "format": "google-datetime",
           "type": "string"
         }
diff --git a/firestore/v1beta1/firestore-gen.go b/firestore/v1beta1/firestore-gen.go
index 0d2b1cb..3067439 100644
--- a/firestore/v1beta1/firestore-gen.go
+++ b/firestore/v1beta1/firestore-gen.go
@@ -221,32 +221,24 @@
 // BatchGetDocumentsRequest: The request for
 // Firestore.BatchGetDocuments.
 type BatchGetDocumentsRequest struct {
-	// Documents: The names of the documents to retrieve. In the
-	// format:
-	// `projects/{project_id}/databases/{database_id}/documents/{docu
-	// ment_path}`.
-	// The request will fail if any of the document is not a child resource
-	// of the
-	// given `database`. Duplicate names will be elided.
+	// Documents: The names of the documents to retrieve. In the format:
+	// `projects/{project_id}/databases/{database_id}/documents/{document_pat
+	// h}`. The request will fail if any of the document is not a child
+	// resource of the given `database`. Duplicate names will be elided.
 	Documents []string `json:"documents,omitempty"`
 
-	// Mask: The fields to return. If not set, returns all fields.
-	//
-	// If a document has a field that is not present in this mask, that
-	// field will
-	// not be returned in the response.
+	// Mask: The fields to return. If not set, returns all fields. If a
+	// document has a field that is not present in this mask, that field
+	// will not be returned in the response.
 	Mask *DocumentMask `json:"mask,omitempty"`
 
-	// NewTransaction: Starts a new transaction and reads the
-	// documents.
-	// Defaults to a read-only transaction.
-	// The new transaction ID will be returned as the first response in
-	// the
-	// stream.
+	// NewTransaction: Starts a new transaction and reads the documents.
+	// Defaults to a read-only transaction. The new transaction ID will be
+	// returned as the first response in the stream.
 	NewTransaction *TransactionOptions `json:"newTransaction,omitempty"`
 
-	// ReadTime: Reads documents as they were at the given time.
-	// This may not be older than 270 seconds.
+	// ReadTime: Reads documents as they were at the given time. This may
+	// not be older than 270 seconds.
 	ReadTime string `json:"readTime,omitempty"`
 
 	// Transaction: Reads documents in a transaction.
@@ -282,24 +274,19 @@
 	Found *Document `json:"found,omitempty"`
 
 	// Missing: A document name that was requested but does not exist. In
-	// the
-	// format:
-	// `projects/{project_id}/databases/{database_id}/documents/{docu
-	// ment_path}`.
+	// the format:
+	// `projects/{project_id}/databases/{database_id}/documents/{document_pat
+	// h}`.
 	Missing string `json:"missing,omitempty"`
 
-	// ReadTime: The time at which the document was read.
-	// This may be monotically increasing, in this case the previous
-	// documents in
-	// the result stream are guaranteed not to have changed between
-	// their
+	// ReadTime: The time at which the document was read. This may be
+	// monotically increasing, in this case the previous documents in the
+	// result stream are guaranteed not to have changed between their
 	// read_time and this one.
 	ReadTime string `json:"readTime,omitempty"`
 
 	// Transaction: The transaction that was started as part of this
-	// request.
-	// Will only be set in the first response, and only
-	// if
+	// request. Will only be set in the first response, and only if
 	// BatchGetDocumentsRequest.new_transaction was set in the request.
 	Transaction string `json:"transaction,omitempty"`
 
@@ -335,13 +322,10 @@
 	// Labels: Labels associated with this batch write.
 	Labels map[string]string `json:"labels,omitempty"`
 
-	// Writes: The writes to apply.
-	//
-	// Method does not apply writes atomically and does not guarantee
-	// ordering.
-	// Each write succeeds or fails independently. You cannot write to the
-	// same
-	// document more than once per request.
+	// Writes: The writes to apply. Method does not apply writes atomically
+	// and does not guarantee ordering. Each write succeeds or fails
+	// independently. You cannot write to the same document more than once
+	// per request.
 	Writes []*Write `json:"writes,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Labels") to
@@ -369,16 +353,12 @@
 
 // BatchWriteResponse: The response from Firestore.BatchWrite.
 type BatchWriteResponse struct {
-	// Status: The status of applying the writes.
-	//
-	// This i-th write status corresponds to the i-th write in the
-	// request.
+	// Status: The status of applying the writes. This i-th write status
+	// corresponds to the i-th write in the request.
 	Status []*Status `json:"status,omitempty"`
 
-	// WriteResults: The result of applying the writes.
-	//
-	// This i-th write result corresponds to the i-th write in the
-	// request.
+	// WriteResults: The result of applying the writes. This i-th write
+	// result corresponds to the i-th write in the request.
 	WriteResults []*WriteResult `json:"writeResults,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -410,8 +390,8 @@
 
 // BeginTransactionRequest: The request for Firestore.BeginTransaction.
 type BeginTransactionRequest struct {
-	// Options: The options for the transaction.
-	// Defaults to a read-write transaction.
+	// Options: The options for the transaction. Defaults to a read-write
+	// transaction.
 	Options *TransactionOptions `json:"options,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Options") to
@@ -474,13 +454,12 @@
 // m1`.
 type CollectionSelector struct {
 	// AllDescendants: When false, selects only collections that are
-	// immediate children of
-	// the `parent` specified in the containing `RunQueryRequest`.
-	// When true, selects all descendant collections.
+	// immediate children of the `parent` specified in the containing
+	// `RunQueryRequest`. When true, selects all descendant collections.
 	AllDescendants bool `json:"allDescendants,omitempty"`
 
-	// CollectionId: The collection ID.
-	// When set, selects only collections with this ID.
+	// CollectionId: The collection ID. When set, selects only collections
+	// with this ID.
 	CollectionId string `json:"collectionId,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AllDescendants") to
@@ -513,9 +492,7 @@
 	// commits it.
 	Transaction string `json:"transaction,omitempty"`
 
-	// Writes: The writes to apply.
-	//
-	// Always executed atomically and in order.
+	// Writes: The writes to apply. Always executed atomically and in order.
 	Writes []*Write `json:"writes,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Transaction") to
@@ -544,14 +521,12 @@
 // CommitResponse: The response for Firestore.Commit.
 type CommitResponse struct {
 	// CommitTime: The time at which the commit occurred. Any read with an
-	// equal or greater
-	// `read_time` is guaranteed to see the effects of the commit.
+	// equal or greater `read_time` is guaranteed to see the effects of the
+	// commit.
 	CommitTime string `json:"commitTime,omitempty"`
 
-	// WriteResults: The result of applying the writes.
-	//
-	// This i-th write result corresponds to the i-th write in the
-	// request.
+	// WriteResults: The result of applying the writes. This i-th write
+	// result corresponds to the i-th write in the request.
 	WriteResults []*WriteResult `json:"writeResults,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -584,8 +559,8 @@
 // CompositeFilter: A filter that merges multiple other filters using
 // the given operator.
 type CompositeFilter struct {
-	// Filters: The list of filters to combine.
-	// Must contain at least one filter.
+	// Filters: The list of filters to combine. Must contain at least one
+	// filter.
 	Filters []*Filter `json:"filters,omitempty"`
 
 	// Op: The operator for combining multiple filters.
@@ -622,15 +597,12 @@
 // Cursor: A position in a query result set.
 type Cursor struct {
 	// Before: If the position is just before or just after the given
-	// values, relative
-	// to the sort order defined by the query.
+	// values, relative to the sort order defined by the query.
 	Before bool `json:"before,omitempty"`
 
 	// Values: The values that represent a position, in the order they
-	// appear in
-	// the order by clause of a query.
-	//
-	// Can contain fewer values than specified in the order by clause.
+	// appear in the order by clause of a query. Can contain fewer values
+	// than specified in the order by clause.
 	Values []*Value `json:"values,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Before") to
@@ -656,71 +628,41 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// Document: A Firestore document.
-//
-// Must not exceed 1 MiB - 4 bytes.
+// Document: A Firestore document. Must not exceed 1 MiB - 4 bytes.
 type Document struct {
-	// CreateTime: Output only. The time at which the document was
-	// created.
-	//
-	// This value increases monotonically when a document is deleted
-	// then
-	// recreated. It can also be compared to values from other documents
-	// and
+	// CreateTime: Output only. The time at which the document was created.
+	// This value increases monotonically when a document is deleted then
+	// recreated. It can also be compared to values from other documents and
 	// the `read_time` of a query.
 	CreateTime string `json:"createTime,omitempty"`
 
-	// Fields: The document's fields.
-	//
-	// The map keys represent field names.
-	//
-	// A simple field name contains only characters `a` to `z`, `A` to
-	// `Z`,
-	// `0` to `9`, or `_`, and must not start with `0` to `9`. For
-	// example,
-	// `foo_bar_17`.
-	//
-	// Field names matching the regular expression `__.*__` are reserved.
-	// Reserved
-	// field names are forbidden except in certain documented contexts. The
-	// map
-	// keys, represented as UTF-8, must not exceed 1,500 bytes and cannot
-	// be
-	// empty.
-	//
-	// Field paths may be used in other contexts to refer to structured
-	// fields
-	// defined here. For `map_value`, the field path is represented by the
-	// simple
-	// or quoted field names of the containing fields, delimited by `.`.
-	// For
-	// example, the structured field
-	// "foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would
-	// be
-	// represented by the field path `foo.x&y`.
-	//
-	// Within a field path, a quoted field name starts and ends with `` ` ``
-	// and
+	// Fields: The document's fields. The map keys represent field names. A
+	// simple field name contains only characters `a` to `z`, `A` to `Z`,
+	// `0` to `9`, or `_`, and must not start with `0` to `9`. For example,
+	// `foo_bar_17`. Field names matching the regular expression `__.*__`
+	// are reserved. Reserved field names are forbidden except in certain
+	// documented contexts. The map keys, represented as UTF-8, must not
+	// exceed 1,500 bytes and cannot be empty. Field paths may be used in
+	// other contexts to refer to structured fields defined here. For
+	// `map_value`, the field path is represented by the simple or quoted
+	// field names of the containing fields, delimited by `.`. For example,
+	// the structured field "foo" : { map_value: { "x&y" : { string_value:
+	// "hello" }}}` would be represented by the field path `foo.x&y`. Within
+	// a field path, a quoted field name starts and ends with `` ` `` and
 	// may contain any character. Some characters, including `` ` ``, must
-	// be
-	// escaped using a `\`. For example, `` `x&y` `` represents `x&y` and
+	// be escaped using a `\`. For example, `` `x&y` `` represents `x&y` and
 	// `` `bak\`tik` `` represents `` bak`tik ``.
 	Fields map[string]Value `json:"fields,omitempty"`
 
-	// Name: The resource name of the document, for
-	// example
-	// `projects/{project_id}/databases/{database_id}/documents/{docu
-	// ment_path}`.
+	// Name: The resource name of the document, for example
+	// `projects/{project_id}/databases/{database_id}/documents/{document_pat
+	// h}`.
 	Name string `json:"name,omitempty"`
 
 	// UpdateTime: Output only. The time at which the document was last
-	// changed.
-	//
-	// This value is initially set to the `create_time` then
-	// increases
-	// monotonically with each change to the document. It can also
-	// be
-	// compared to values from other documents and the `read_time` of a
+	// changed. This value is initially set to the `create_time` then
+	// increases monotonically with each change to the document. It can also
+	// be compared to values from other documents and the `read_time` of a
 	// query.
 	UpdateTime string `json:"updateTime,omitempty"`
 
@@ -751,19 +693,13 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// DocumentChange: A Document has changed.
-//
-// May be the result of multiple writes, including deletes,
-// that
-// ultimately resulted in a new value for the Document.
-//
-// Multiple DocumentChange messages may be returned for the same
-// logical
-// change, if multiple targets are affected.
+// DocumentChange: A Document has changed. May be the result of multiple
+// writes, including deletes, that ultimately resulted in a new value
+// for the Document. Multiple DocumentChange messages may be returned
+// for the same logical change, if multiple targets are affected.
 type DocumentChange struct {
-	// Document: The new state of the Document.
-	//
-	// If `mask` is set, contains only fields that were updated or added.
+	// Document: The new state of the Document. If `mask` is set, contains
+	// only fields that were updated or added.
 	Document *Document `json:"document,omitempty"`
 
 	// RemovedTargetIds: A set of target IDs for targets that no longer
@@ -796,21 +732,15 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// DocumentDelete: A Document has been deleted.
-//
-// May be the result of multiple writes, including updates, the
-// last of which deleted the Document.
-//
-// Multiple DocumentDelete messages may be returned for the same
-// logical
-// delete, if multiple targets are affected.
+// DocumentDelete: A Document has been deleted. May be the result of
+// multiple writes, including updates, the last of which deleted the
+// Document. Multiple DocumentDelete messages may be returned for the
+// same logical delete, if multiple targets are affected.
 type DocumentDelete struct {
 	// Document: The resource name of the Document that was deleted.
 	Document string `json:"document,omitempty"`
 
-	// ReadTime: The read timestamp at which the delete was
-	// observed.
-	//
+	// ReadTime: The read timestamp at which the delete was observed.
 	// Greater or equal to the `commit_time` of the delete.
 	ReadTime string `json:"readTime,omitempty"`
 
@@ -841,17 +771,13 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// DocumentMask: A set of field paths on a document.
-// Used to restrict a get or update operation on a document to a subset
-// of its
-// fields.
-// This is different from standard field masks, as this is always scoped
-// to a
+// DocumentMask: A set of field paths on a document. Used to restrict a
+// get or update operation on a document to a subset of its fields. This
+// is different from standard field masks, as this is always scoped to a
 // Document, and takes in account the dynamic nature of Value.
 type DocumentMask struct {
 	// FieldPaths: The list of field paths in the mask. See Document.fields
-	// for a field
-	// path syntax reference.
+	// for a field path syntax reference.
 	FieldPaths []string `json:"fieldPaths,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "FieldPaths") to
@@ -878,25 +804,17 @@
 }
 
 // DocumentRemove: A Document has been removed from the view of the
-// targets.
-//
-// Sent if the document is no longer relevant to a target and is out of
-// view.
-// Can be sent instead of a DocumentDelete or a DocumentChange if the
-// server
-// can not send the new value of the document.
-//
-// Multiple DocumentRemove messages may be returned for the same
-// logical
-// write or delete, if multiple targets are affected.
+// targets. Sent if the document is no longer relevant to a target and
+// is out of view. Can be sent instead of a DocumentDelete or a
+// DocumentChange if the server can not send the new value of the
+// document. Multiple DocumentRemove messages may be returned for the
+// same logical write or delete, if multiple targets are affected.
 type DocumentRemove struct {
 	// Document: The resource name of the Document that has gone out of
 	// view.
 	Document string `json:"document,omitempty"`
 
-	// ReadTime: The read timestamp at which the remove was
-	// observed.
-	//
+	// ReadTime: The read timestamp at which the remove was observed.
 	// Greater or equal to the `commit_time` of the change/delete/remove.
 	ReadTime string `json:"readTime,omitempty"`
 
@@ -933,9 +851,7 @@
 	Document string `json:"document,omitempty"`
 
 	// FieldTransforms: The list of transformations to apply to the fields
-	// of the document, in
-	// order.
-	// This must not be empty.
+	// of the document, in order. This must not be empty.
 	FieldTransforms []*FieldTransform `json:"fieldTransforms,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Document") to
@@ -963,13 +879,10 @@
 
 // DocumentsTarget: A target specified by a set of documents names.
 type DocumentsTarget struct {
-	// Documents: The names of the documents to retrieve. In the
-	// format:
-	// `projects/{project_id}/databases/{database_id}/documents/{docu
-	// ment_path}`.
-	// The request will fail if any of the document is not a child resource
-	// of
-	// the given `database`. Duplicate names will be elided.
+	// Documents: The names of the documents to retrieve. In the format:
+	// `projects/{project_id}/databases/{database_id}/documents/{document_pat
+	// h}`. The request will fail if any of the document is not a child
+	// resource of the given `database`. Duplicate names will be elided.
 	Documents []string `json:"documents,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Documents") to
@@ -996,17 +909,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -1016,10 +923,8 @@
 // ExistenceFilter: A digest of all the documents that match a given
 // target.
 type ExistenceFilter struct {
-	// Count: The total count of documents that match target_id.
-	//
-	// If different from the count of documents in the client that match,
-	// the
+	// Count: The total count of documents that match target_id. If
+	// different from the count of documents in the client that match, the
 	// client must manually determine which documents no longer match the
 	// target.
 	Count int64 `json:"count,omitempty"`
@@ -1059,48 +964,25 @@
 	//
 	// Possible values:
 	//   "OPERATOR_UNSPECIFIED" - Unspecified. This value must not be used.
-	//   "LESS_THAN" - The given `field` is less than the given
-	// `value`.
-	//
-	// Requires:
-	//
-	// * That `field` come first in `order_by`.
+	//   "LESS_THAN" - The given `field` is less than the given `value`.
+	// Requires: * That `field` come first in `order_by`.
 	//   "LESS_THAN_OR_EQUAL" - The given `field` is less than or equal to
-	// the given `value`.
-	//
-	// Requires:
-	//
-	// * That `field` come first in `order_by`.
+	// the given `value`. Requires: * That `field` come first in `order_by`.
 	//   "GREATER_THAN" - The given `field` is greater than the given
-	// `value`.
-	//
-	// Requires:
-	//
-	// * That `field` come first in `order_by`.
+	// `value`. Requires: * That `field` come first in `order_by`.
 	//   "GREATER_THAN_OR_EQUAL" - The given `field` is greater than or
-	// equal to the given `value`.
-	//
-	// Requires:
-	//
-	// * That `field` come first in `order_by`.
+	// equal to the given `value`. Requires: * That `field` come first in
+	// `order_by`.
 	//   "EQUAL" - The given `field` is equal to the given `value`.
 	//   "ARRAY_CONTAINS" - The given `field` is an array that contains the
 	// given `value`.
 	//   "IN" - The given `field` is equal to at least one value in the
-	// given array.
-	//
-	// Requires:
-	//
-	// * That `value` is a non-empty `ArrayValue` with at most 10 values.
-	// * No other `IN` or `ARRAY_CONTAINS_ANY`.
+	// given array. Requires: * That `value` is a non-empty `ArrayValue`
+	// with at most 10 values. * No other `IN` or `ARRAY_CONTAINS_ANY`.
 	//   "ARRAY_CONTAINS_ANY" - The given `field` is an array that contains
-	// any of the values in the
-	// given array.
-	//
-	// Requires:
-	//
-	// * That `value` is a non-empty `ArrayValue` with at most 10 values.
-	// * No other `IN` or `ARRAY_CONTAINS_ANY`.
+	// any of the values in the given array. Requires: * That `value` is a
+	// non-empty `ArrayValue` with at most 10 values. * No other `IN` or
+	// `ARRAY_CONTAINS_ANY`.
 	Op string `json:"op,omitempty"`
 
 	// Value: The value to compare to.
@@ -1160,98 +1042,64 @@
 // FieldTransform: A transformation of a field of the document.
 type FieldTransform struct {
 	// AppendMissingElements: Append the given elements in order if they are
-	// not already present in
-	// the current field value.
-	// If the field is not an array, or if the field does not yet exist, it
-	// is
-	// first set to the empty array.
-	//
-	// Equivalent numbers of different types (e.g. 3L and 3.0)
-	// are
-	// considered equal when checking if a value is missing.
-	// NaN is equal to NaN, and Null is equal to Null.
-	// If the input contains multiple equivalent values, only the first
-	// will
-	// be considered.
-	//
-	// The corresponding transform_result will be the null value.
+	// not already present in the current field value. If the field is not
+	// an array, or if the field does not yet exist, it is first set to the
+	// empty array. Equivalent numbers of different types (e.g. 3L and 3.0)
+	// are considered equal when checking if a value is missing. NaN is
+	// equal to NaN, and Null is equal to Null. If the input contains
+	// multiple equivalent values, only the first will be considered. The
+	// corresponding transform_result will be the null value.
 	AppendMissingElements *ArrayValue `json:"appendMissingElements,omitempty"`
 
 	// FieldPath: The path of the field. See Document.fields for the field
-	// path syntax
-	// reference.
+	// path syntax reference.
 	FieldPath string `json:"fieldPath,omitempty"`
 
-	// Increment: Adds the given value to the field's current value.
-	//
-	// This must be an integer or a double value.
-	// If the field is not an integer or double, or if the field does not
-	// yet
-	// exist, the transformation will set the field to the given value.
-	// If either of the given value or the current field value are
-	// doubles,
-	// both values will be interpreted as doubles. Double arithmetic
-	// and
-	// representation of double values follow IEEE 754 semantics.
-	// If there is positive/negative integer overflow, the field is
-	// resolved
-	// to the largest magnitude positive/negative integer.
+	// Increment: Adds the given value to the field's current value. This
+	// must be an integer or a double value. If the field is not an integer
+	// or double, or if the field does not yet exist, the transformation
+	// will set the field to the given value. If either of the given value
+	// or the current field value are doubles, both values will be
+	// interpreted as doubles. Double arithmetic and representation of
+	// double values follow IEEE 754 semantics. If there is
+	// positive/negative integer overflow, the field is resolved to the
+	// largest magnitude positive/negative integer.
 	Increment *Value `json:"increment,omitempty"`
 
 	// Maximum: Sets the field to the maximum of its current value and the
-	// given value.
-	//
-	// This must be an integer or a double value.
-	// If the field is not an integer or double, or if the field does not
-	// yet
-	// exist, the transformation will set the field to the given value.
-	// If a maximum operation is applied where the field and the input
-	// value
-	// are of mixed types (that is - one is an integer and one is a
-	// double)
-	// the field takes on the type of the larger operand. If the operands
-	// are
-	// equivalent (e.g. 3 and 3.0), the field does not change.
-	// 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value
-	// and
-	// zero input value is always the stored value.
-	// The maximum of any numeric value x and NaN is NaN.
+	// given value. This must be an integer or a double value. If the field
+	// is not an integer or double, or if the field does not yet exist, the
+	// transformation will set the field to the given value. If a maximum
+	// operation is applied where the field and the input value are of mixed
+	// types (that is - one is an integer and one is a double) the field
+	// takes on the type of the larger operand. If the operands are
+	// equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and
+	// -0.0 are all zero. The maximum of a zero stored value and zero input
+	// value is always the stored value. The maximum of any numeric value x
+	// and NaN is NaN.
 	Maximum *Value `json:"maximum,omitempty"`
 
 	// Minimum: Sets the field to the minimum of its current value and the
-	// given value.
-	//
-	// This must be an integer or a double value.
-	// If the field is not an integer or double, or if the field does not
-	// yet
-	// exist, the transformation will set the field to the input value.
-	// If a minimum operation is applied where the field and the input
-	// value
-	// are of mixed types (that is - one is an integer and one is a
-	// double)
-	// the field takes on the type of the smaller operand. If the operands
-	// are
-	// equivalent (e.g. 3 and 3.0), the field does not change.
-	// 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value
-	// and
-	// zero input value is always the stored value.
-	// The minimum of any numeric value x and NaN is NaN.
+	// given value. This must be an integer or a double value. If the field
+	// is not an integer or double, or if the field does not yet exist, the
+	// transformation will set the field to the input value. If a minimum
+	// operation is applied where the field and the input value are of mixed
+	// types (that is - one is an integer and one is a double) the field
+	// takes on the type of the smaller operand. If the operands are
+	// equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and
+	// -0.0 are all zero. The minimum of a zero stored value and zero input
+	// value is always the stored value. The minimum of any numeric value x
+	// and NaN is NaN.
 	Minimum *Value `json:"minimum,omitempty"`
 
 	// RemoveAllFromArray: Remove all of the given elements from the array
-	// in the field.
-	// If the field is not an array, or if the field does not yet exist, it
-	// is
-	// set to the empty array.
-	//
-	// Equivalent numbers of the different types (e.g. 3L and 3.0)
-	// are
-	// considered equal when deciding whether an element should be
-	// removed.
-	// NaN is equal to NaN, and Null is equal to Null.
-	// This will remove all equivalent values if there are duplicates.
-	//
-	// The corresponding transform_result will be the null value.
+	// in the field. If the field is not an array, or if the field does not
+	// yet exist, it is set to the empty array. Equivalent numbers of the
+	// different types (e.g. 3L and 3.0) are considered equal when deciding
+	// whether an element should be removed. NaN is equal to NaN, and Null
+	// is equal to Null. This will remove all equivalent values if there are
+	// duplicates. The corresponding transform_result will be the null
+	// value.
 	RemoveAllFromArray *ArrayValue `json:"removeAllFromArray,omitempty"`
 
 	// SetToServerValue: Sets the field to the given server value.
@@ -1260,8 +1108,7 @@
 	//   "SERVER_VALUE_UNSPECIFIED" - Unspecified. This value must not be
 	// used.
 	//   "REQUEST_TIME" - The time at which the server processed the
-	// request, with millisecond
-	// precision.
+	// request, with millisecond precision.
 	SetToServerValue string `json:"setToServerValue,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -1331,8 +1178,7 @@
 	CollectionIds []string `json:"collectionIds,omitempty"`
 
 	// EndTime: The time the operation ended, either successfully or
-	// otherwise. Unset if
-	// the operation is still active.
+	// otherwise. Unset if the operation is still active.
 	EndTime string `json:"endTime,omitempty"`
 
 	// OperationState: The state of the export operation.
@@ -1342,16 +1188,15 @@
 	//   "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
-	// google.longrunning.Operations.CancelOperation on the operation.
+	// user called google.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
-	// google.longrunning.Operations.CancelOperation.
+	// called google.longrunning.Operations.CancelOperation.
 	OperationState string `json:"operationState,omitempty"`
 
 	// OutputUriPrefix: Where the entities are being exported to.
@@ -1397,18 +1242,13 @@
 	CollectionIds []string `json:"collectionIds,omitempty"`
 
 	// OutputUriPrefix: The output URI. Currently only supports Google Cloud
-	// Storage URIs of the
-	// form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the
-	// name
-	// of the Google Cloud Storage bucket and `NAMESPACE_PATH` is an
-	// optional
-	// Google Cloud Storage namespace path. When
-	// choosing a name, be sure to consider Google Cloud Storage
-	// naming
-	// guidelines: https://cloud.google.com/storage/docs/naming.
-	// If the URI is a bucket (without a namespace path), a prefix will
-	// be
-	// generated based on the start time.
+	// Storage URIs of the form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where
+	// `BUCKET_NAME` is the name of the Google Cloud Storage bucket and
+	// `NAMESPACE_PATH` is an optional Google Cloud Storage namespace path.
+	// When choosing a name, be sure to consider Google Cloud Storage naming
+	// guidelines: https://cloud.google.com/storage/docs/naming. If the URI
+	// is a bucket (without a namespace path), a prefix will be generated
+	// based on the start time.
 	OutputUriPrefix string `json:"outputUriPrefix,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CollectionIds") to
@@ -1438,10 +1278,8 @@
 // google.longrunning.Operation response field.
 type GoogleFirestoreAdminV1beta1ExportDocumentsResponse struct {
 	// OutputUriPrefix: Location of the output files. This can be used to
-	// begin an import
-	// into Cloud Firestore (this project or another project) after the
-	// operation
-	// completes successfully.
+	// begin an import into Cloud Firestore (this project or another
+	// project) after the operation completes successfully.
 	OutputUriPrefix string `json:"outputUriPrefix,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "OutputUriPrefix") to
@@ -1475,8 +1313,7 @@
 	CollectionIds []string `json:"collectionIds,omitempty"`
 
 	// EndTime: The time the operation ended, either successfully or
-	// otherwise. Unset if
-	// the operation is still active.
+	// otherwise. Unset if the operation is still active.
 	EndTime string `json:"endTime,omitempty"`
 
 	// InputUriPrefix: The location of the documents being imported.
@@ -1489,16 +1326,15 @@
 	//   "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
-	// google.longrunning.Operations.CancelOperation on the operation.
+	// user called google.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
-	// google.longrunning.Operations.CancelOperation.
+	// called google.longrunning.Operations.CancelOperation.
 	OperationState string `json:"operationState,omitempty"`
 
 	// ProgressBytes: An estimate of the number of bytes processed.
@@ -1537,18 +1373,14 @@
 // FirestoreAdmin.ImportDocuments.
 type GoogleFirestoreAdminV1beta1ImportDocumentsRequest struct {
 	// CollectionIds: Which collection ids to import. Unspecified means all
-	// collections included
-	// in the import.
+	// collections included in the import.
 	CollectionIds []string `json:"collectionIds,omitempty"`
 
-	// InputUriPrefix: Location of the exported files.
-	// This must match the output_uri_prefix of an ExportDocumentsResponse
-	// from
-	// an export that has completed
-	// successfully.
-	// See:
-	// google.firestore.admin.v1beta1.ExportDocumentsRespo
-	// nse.output_uri_prefix.
+	// InputUriPrefix: Location of the exported files. This must match the
+	// output_uri_prefix of an ExportDocumentsResponse from an export that
+	// has completed successfully. See:
+	// google.firestore.admin.v1beta1.ExportDocumentsResponse.output_uri_pref
+	// ix.
 	InputUriPrefix string `json:"inputUriPrefix,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CollectionIds") to
@@ -1583,28 +1415,23 @@
 	// Fields: The fields to index.
 	Fields []*GoogleFirestoreAdminV1beta1IndexField `json:"fields,omitempty"`
 
-	// Name: The resource name of the index.
-	// Output only.
+	// Name: The resource name of the index. Output only.
 	Name string `json:"name,omitempty"`
 
-	// State: The state of the index.
-	// Output only.
+	// State: The state of the index. Output only.
 	//
 	// Possible values:
 	//   "STATE_UNSPECIFIED" - The state is unspecified.
-	//   "CREATING" - The index is being created.
-	// There is an active long-running operation for the index.
-	// The index is updated when writing a document.
-	// Some index data may exist.
-	//   "READY" - The index is ready to be used.
-	// The index is updated when writing a document.
-	// The index is fully populated from all stored documents it applies to.
-	//   "ERROR" - The index was being created, but something went
-	// wrong.
-	// There is no active long-running operation for the index,
-	// and the most recently finished long-running operation failed.
-	// The index is not updated when writing a document.
-	// Some index data may exist.
+	//   "CREATING" - The index is being created. There is an active
+	// long-running operation for the index. The index is updated when
+	// writing a document. Some index data may exist.
+	//   "READY" - The index is ready to be used. The index is updated when
+	// writing a document. The index is fully populated from all stored
+	// documents it applies to.
+	//   "ERROR" - The index was being created, but something went wrong.
+	// There is no active long-running operation for the index, and the most
+	// recently finished long-running operation failed. The index is not
+	// updated when writing a document. Some index data may exist.
 	State string `json:"state,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1637,11 +1464,9 @@
 // GoogleFirestoreAdminV1beta1IndexField: A field of an index.
 type GoogleFirestoreAdminV1beta1IndexField struct {
 	// FieldPath: The path of the field. Must match the field path
-	// specification described
-	// by google.firestore.v1beta1.Document.fields.
+	// specification described by google.firestore.v1beta1.Document.fields.
 	// Special field path `__name__` may be used by itself or at the end of
-	// a
-	// path. `__type__` may be used only at the end of path.
+	// a path. `__type__` may be used only at the end of path.
 	FieldPath string `json:"fieldPath,omitempty"`
 
 	// Mode: The field's mode.
@@ -1649,14 +1474,11 @@
 	// Possible values:
 	//   "MODE_UNSPECIFIED" - The mode is unspecified.
 	//   "ASCENDING" - The field's values are indexed so as to support
-	// sequencing in
-	// ascending order and also query by <, >, <=, >=, and =.
+	// sequencing in ascending order and also query by <, >, <=, >=, and =.
 	//   "DESCENDING" - The field's values are indexed so as to support
-	// sequencing in
-	// descending order and also query by <, >, <=, >=, and =.
+	// sequencing in descending order and also query by <, >, <=, >=, and =.
 	//   "ARRAY_CONTAINS" - The field's array values are indexed so as to
-	// support membership using
-	// ARRAY_CONTAINS queries.
+	// support membership using ARRAY_CONTAINS queries.
 	Mode string `json:"mode,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "FieldPath") to
@@ -1683,13 +1505,11 @@
 }
 
 // GoogleFirestoreAdminV1beta1IndexOperationMetadata: Metadata for index
-// operations. This metadata populates
-// the metadata field of google.longrunning.Operation.
+// operations. This metadata populates the metadata field of
+// google.longrunning.Operation.
 type GoogleFirestoreAdminV1beta1IndexOperationMetadata struct {
 	// Cancelled: True if the [google.longrunning.Operation] was cancelled.
-	// If the
-	// cancellation is in progress, cancelled will be true
-	// but
+	// If the cancellation is in progress, cancelled will be true but
 	// google.longrunning.Operation.done will be false.
 	Cancelled bool `json:"cancelled,omitempty"`
 
@@ -1698,14 +1518,12 @@
 	DocumentProgress *GoogleFirestoreAdminV1beta1Progress `json:"documentProgress,omitempty"`
 
 	// EndTime: The time the operation ended, either successfully or
-	// otherwise. Unset if
-	// the operation is still active.
+	// otherwise. Unset if the operation is still active.
 	EndTime string `json:"endTime,omitempty"`
 
 	// Index: The index resource that this operation is acting on. For
 	// example:
-	// `projects/{project_id}/databases/{database_id}/indexes/{index
-	// _id}`
+	// `projects/{project_id}/databases/{database_id}/indexes/{index_id}`
 	Index string `json:"index,omitempty"`
 
 	// OperationType: The type of index operation.
@@ -1787,13 +1605,12 @@
 // particular metric.
 type GoogleFirestoreAdminV1beta1Progress struct {
 	// WorkCompleted: An estimate of how much work has been completed. Note
-	// that this may be
-	// greater than `work_estimated`.
+	// that this may be greater than `work_estimated`.
 	WorkCompleted int64 `json:"workCompleted,omitempty,string"`
 
 	// WorkEstimated: An estimate of how much work needs to be performed.
-	// Zero if the
-	// work estimate is unavailable. May change as work progresses.
+	// Zero if the work estimate is unavailable. May change as work
+	// progresses.
 	WorkEstimated int64 `json:"workEstimated,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "WorkCompleted") to
@@ -1820,52 +1637,38 @@
 }
 
 // GoogleLongrunningOperation: This resource represents a long-running
-// operation that is the result of a
-// network API call.
+// operation that is the result of a network API call.
 type GoogleLongrunningOperation struct {
 	// Done: 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.
+	// progress. If `true`, the operation is completed, and either `error`
+	// or `response` is available.
 	Done bool `json:"done,omitempty"`
 
 	// Error: The error result of the operation in case of failure or
 	// cancellation.
 	Error *Status `json:"error,omitempty"`
 
-	// Metadata: 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.
+	// Metadata: 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.
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Name: The server-assigned name, which is only unique within the same
-	// service that
-	// originally returns it. If you use the default HTTP mapping,
-	// the
-	// `name` should be a resource name ending with
+	// service that originally returns it. If you use the default HTTP
+	// mapping, the `name` should be a resource name ending with
 	// `operations/{unique_id}`.
 	Name string `json:"name,omitempty"`
 
-	// Response: 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`.
+	// Response: 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`.
 	Response googleapi.RawMessage `json:"response,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1896,14 +1699,9 @@
 }
 
 // LatLng: An object representing a latitude/longitude pair. This is
-// expressed as a pair
-// of doubles representing degrees latitude and degrees longitude.
-// Unless
-// specified otherwise, this must conform to the
-// <a
-// href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
-// st
-// andard</a>. Values must be within normalized ranges.
+// expressed as a pair of doubles representing degrees latitude and
+// degrees longitude. Unless specified otherwise, this must conform to
+// the WGS84 standard. Values must be within normalized ranges.
 type LatLng struct {
 	// Latitude: The latitude in degrees. It must be in the range [-90.0,
 	// +90.0].
@@ -1958,8 +1756,7 @@
 	// PageSize: The maximum number of results to return.
 	PageSize int64 `json:"pageSize,omitempty"`
 
-	// PageToken: A page token. Must be a value
-	// from
+	// PageToken: A page token. Must be a value from
 	// ListCollectionIdsResponse.
 	PageToken string `json:"pageToken,omitempty"`
 
@@ -2100,17 +1897,12 @@
 	DocumentDelete *DocumentDelete `json:"documentDelete,omitempty"`
 
 	// DocumentRemove: A Document has been removed from a target (because it
-	// is no longer
-	// relevant to that target).
+	// is no longer relevant to that target).
 	DocumentRemove *DocumentRemove `json:"documentRemove,omitempty"`
 
 	// Filter: A filter to apply to the set of documents previously returned
-	// for the
-	// given target.
-	//
-	// Returned when documents may have been removed from the given target,
-	// but
-	// the exact documents are unknown.
+	// for the given target. Returned when documents may have been removed
+	// from the given target, but the exact documents are unknown.
 	Filter *ExistenceFilter `json:"filter,omitempty"`
 
 	// TargetChange: Targets have changed.
@@ -2146,15 +1938,11 @@
 
 // MapValue: A map value.
 type MapValue struct {
-	// Fields: The map's fields.
-	//
-	// The map keys represent field names. Field names matching the
-	// regular
-	// expression `__.*__` are reserved. Reserved field names are forbidden
-	// except
-	// in certain documented contexts. The map keys, represented as UTF-8,
-	// must
-	// not exceed 1,500 bytes and cannot be empty.
+	// Fields: The map's fields. The map keys represent field names. Field
+	// names matching the regular expression `__.*__` are reserved. Reserved
+	// field names are forbidden except in certain documented contexts. The
+	// map keys, represented as UTF-8, must not exceed 1,500 bytes and
+	// cannot be empty.
 	Fields map[string]Value `json:"fields,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Fields") to
@@ -2219,57 +2007,36 @@
 // PartitionQueryRequest: The request for Firestore.PartitionQuery.
 type PartitionQueryRequest struct {
 	// PageSize: The maximum number of partitions to return in this call,
-	// subject to
-	// `partition_count`.
-	//
-	// For example, if `partition_count` = 10 and `page_size` = 8, the first
-	// call
-	// to PartitionQuery will return up to 8 partitions and a
-	// `next_page_token`
-	// if more results exist. A second call to PartitionQuery will return up
-	// to
-	// 2 partitions, to complete the total of 10 specified in
-	// `partition_count`.
+	// subject to `partition_count`. For example, if `partition_count` = 10
+	// and `page_size` = 8, the first call to PartitionQuery will return up
+	// to 8 partitions and a `next_page_token` if more results exist. A
+	// second call to PartitionQuery will return up to 2 partitions, to
+	// complete the total of 10 specified in `partition_count`.
 	PageSize int64 `json:"pageSize,omitempty"`
 
 	// PageToken: The `next_page_token` value returned from a previous call
-	// to
-	// PartitionQuery that may be used to get an additional set of
-	// results.
-	// There are no ordering guarantees between sets of results. Thus,
-	// using
-	// multiple sets of results will require merging the different result
-	// sets.
-	//
-	// For example, two subsequent calls using a page_token may return:
-	//
-	//  * cursor B, cursor M, cursor Q
-	//  * cursor A, cursor U, cursor W
-	//
-	// To obtain a complete result set ordered with respect to the results
-	// of the
-	// query supplied to PartitionQuery, the results sets should be
-	// merged:
-	// cursor A, cursor B, cursor M, cursor Q, cursor U, cursor W
+	// to PartitionQuery that may be used to get an additional set of
+	// results. There are no ordering guarantees between sets of results.
+	// Thus, using multiple sets of results will require merging the
+	// different result sets. For example, two subsequent calls using a
+	// page_token may return: * cursor B, cursor M, cursor Q * cursor A,
+	// cursor U, cursor W To obtain a complete result set ordered with
+	// respect to the results of the query supplied to PartitionQuery, the
+	// results sets should be merged: cursor A, cursor B, cursor M, cursor
+	// Q, cursor U, cursor W
 	PageToken string `json:"pageToken,omitempty"`
 
-	// PartitionCount: The desired maximum number of partition points.
-	// The partitions may be returned across multiple pages of results.
-	// The number must be strictly positive. The actual number of
-	// partitions
-	// returned may be fewer.
-	//
-	// For example, this may be set to one fewer than the number of
-	// parallel
-	// queries to be run, or in running a data pipeline job, one fewer than
-	// the
-	// number of workers or compute instances available.
+	// PartitionCount: The desired maximum number of partition points. The
+	// partitions may be returned across multiple pages of results. The
+	// number must be positive. The actual number of partitions returned may
+	// be fewer. For example, this may be set to one fewer than the number
+	// of parallel queries to be run, or in running a data pipeline job, one
+	// fewer than the number of workers or compute instances available.
 	PartitionCount int64 `json:"partitionCount,omitempty,string"`
 
-	// StructuredQuery: A structured query.
-	// Filters, order bys, limits, offsets, and start/end cursors are
-	// not
-	// supported.
+	// StructuredQuery: A structured query. Query must specify collection
+	// with all descendants and be ordered by name ascending. Other filters,
+	// order bys, limits, offsets, and start/end cursors are not supported.
 	StructuredQuery *StructuredQuery `json:"structuredQuery,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "PageSize") to
@@ -2298,32 +2065,21 @@
 // PartitionQueryResponse: The response for Firestore.PartitionQuery.
 type PartitionQueryResponse struct {
 	// NextPageToken: A page token that may be used to request an additional
-	// set of results, up
-	// to the number specified by `partition_count` in the PartitionQuery
-	// request.
-	// If blank, there are no more results.
+	// set of results, up to the number specified by `partition_count` in
+	// the PartitionQuery request. If blank, there are no more results.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
-	// Partitions: Partition results.
-	// Each partition is a split point that can be used by RunQuery as a
-	// starting
-	// or end point for the query results. The RunQuery requests must be
-	// made with
-	// the same query supplied to this PartitionQuery request. The
-	// partition
-	// cursors will be ordered according to same ordering as the results of
-	// the
-	// query supplied to PartitionQuery.
-	//
-	// For example, if a PartitionQuery request returns partition cursors A
-	// and B,
-	// running the following three queries will return the entire result set
-	// of
-	// the original query:
-	//
-	//  * query, end_at A
-	//  * query, start_at A, end_at B
-	//  * query, start_at B
+	// Partitions: Partition results. Each partition is a split point that
+	// can be used by RunQuery as a starting or end point for the query
+	// results. The RunQuery requests must be made with the same query
+	// supplied to this PartitionQuery request. The partition cursors will
+	// be ordered according to same ordering as the results of the query
+	// supplied to PartitionQuery. For example, if a PartitionQuery request
+	// returns partition cursors A and B, running the following three
+	// queries will return the entire result set of the original query: *
+	// query, end_at A * query, start_at A, end_at B * query, start_at B An
+	// empty result may indicate that the query has too few results to be
+	// partitioned.
 	Partitions []*Cursor `json:"partitions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2356,13 +2112,12 @@
 // Precondition: A precondition on a document, used for conditional
 // operations.
 type Precondition struct {
-	// Exists: When set to `true`, the target document must exist.
-	// When set to `false`, the target document must not exist.
+	// Exists: When set to `true`, the target document must exist. When set
+	// to `false`, the target document must not exist.
 	Exists bool `json:"exists,omitempty"`
 
 	// UpdateTime: When set, the target document must exist and have been
-	// last updated at
-	// that time.
+	// last updated at that time.
 	UpdateTime string `json:"updateTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Exists") to
@@ -2390,10 +2145,8 @@
 
 // Projection: The projection of document's fields to return.
 type Projection struct {
-	// Fields: The fields to return.
-	//
-	// If empty, all fields are returned. To only return the name
-	// of the document, use `['__name__']`.
+	// Fields: The fields to return. If empty, all fields are returned. To
+	// only return the name of the document, use `['__name__']`.
 	Fields []*FieldReference `json:"fields,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Fields") to
@@ -2421,17 +2174,13 @@
 
 // QueryTarget: A target specified by a query.
 type QueryTarget struct {
-	// Parent: The parent resource name. In the
-	// format:
-	// `projects/{project_id}/databases/{database_id}/documents`
-	// or
-	// `projects/{project_id}/databases/{database_id}/documents/{document_
-	// path}`.
-	// For example:
-	// `projects/my-project/databases/my-database/documents`
-	// or
-	// `projects/my-project/databases/my-database/documents/chatrooms/my-c
-	// hatroom`
+	// Parent: The parent resource name. In the format:
+	// `projects/{project_id}/databases/{database_id}/documents` or
+	// `projects/{project_id}/databases/{database_id}/documents/{document_pat
+	// h}`. For example:
+	// `projects/my-project/databases/my-database/documents` or
+	// `projects/my-project/databases/my-database/documents/chatrooms/my-chat
+	// room`
 	Parent string `json:"parent,omitempty"`
 
 	// StructuredQuery: A structured query.
@@ -2463,8 +2212,8 @@
 // ReadOnly: Options for a transaction that can only be used to read
 // documents.
 type ReadOnly struct {
-	// ReadTime: Reads documents at the given time.
-	// This may not be older than 60 seconds.
+	// ReadTime: Reads documents at the given time. This may not be older
+	// than 60 seconds.
 	ReadTime string `json:"readTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ReadTime") to
@@ -2550,16 +2299,13 @@
 
 // RunQueryRequest: The request for Firestore.RunQuery.
 type RunQueryRequest struct {
-	// NewTransaction: Starts a new transaction and reads the
-	// documents.
-	// Defaults to a read-only transaction.
-	// The new transaction ID will be returned as the first response in
-	// the
-	// stream.
+	// NewTransaction: Starts a new transaction and reads the documents.
+	// Defaults to a read-only transaction. The new transaction ID will be
+	// returned as the first response in the stream.
 	NewTransaction *TransactionOptions `json:"newTransaction,omitempty"`
 
-	// ReadTime: Reads documents as they were at the given time.
-	// This may not be older than 270 seconds.
+	// ReadTime: Reads documents as they were at the given time. This may
+	// not be older than 270 seconds.
 	ReadTime string `json:"readTime,omitempty"`
 
 	// StructuredQuery: A structured query.
@@ -2594,35 +2340,25 @@
 
 // RunQueryResponse: The response for Firestore.RunQuery.
 type RunQueryResponse struct {
-	// Document: A query result.
-	// Not set when reporting partial progress.
+	// Document: A query result. Not set when reporting partial progress.
 	Document *Document `json:"document,omitempty"`
 
 	// ReadTime: The time at which the document was read. This may be
-	// monotonically
-	// increasing; in this case, the previous documents in the result stream
-	// are
-	// guaranteed not to have changed between their `read_time` and this
-	// one.
-	//
-	// If the query returns no results, a response with `read_time` and
-	// no
-	// `document` will be sent, and this represents the time at which the
-	// query
-	// was run.
+	// monotonically increasing; in this case, the previous documents in the
+	// result stream are guaranteed not to have changed between their
+	// `read_time` and this one. If the query returns no results, a response
+	// with `read_time` and no `document` will be sent, and this represents
+	// the time at which the query was run.
 	ReadTime string `json:"readTime,omitempty"`
 
 	// SkippedResults: The number of results that have been skipped due to
-	// an offset between
-	// the last response and the current response.
+	// an offset between the last response and the current response.
 	SkippedResults int64 `json:"skippedResults,omitempty"`
 
 	// Transaction: The transaction that was started as part of this
-	// request.
-	// Can only be set in the first response, and only
-	// if
-	// RunQueryRequest.new_transaction was set in the request.
-	// If set, no other fields will be set in this response.
+	// request. Can only be set in the first response, and only if
+	// RunQueryRequest.new_transaction was set in the request. If set, no
+	// other fields will be set in this response.
 	Transaction string `json:"transaction,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2653,32 +2389,24 @@
 }
 
 // Status: The `Status` type defines a logical error model that is
-// suitable for
-// different programming environments, including REST APIs and RPC APIs.
-// It is
-// used by [gRPC](https://github.com/grpc). Each `Status` message
-// contains
-// three pieces of data: error code, error message, and error
-// details.
-//
-// You can find out more about this error model and how to work with it
-// in the
-// [API Design Guide](https://cloud.google.com/apis/design/errors).
+// suitable for different programming environments, including REST APIs
+// and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each
+// `Status` message contains three pieces of data: error code, error
+// message, and error details. You can find out more about this error
+// model and how to work with it in the [API Design
+// Guide](https://cloud.google.com/apis/design/errors).
 type Status struct {
 	// Code: The status code, which should be an enum value of
 	// google.rpc.Code.
 	Code int64 `json:"code,omitempty"`
 
-	// Details: A list of messages that carry the error details.  There is a
-	// common set of
-	// message types for APIs to use.
+	// Details: A list of messages that carry the error details. There is a
+	// common set of message types for APIs to use.
 	Details []googleapi.RawMessage `json:"details,omitempty"`
 
 	// Message: 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.
+	// English. Any user-facing error message should be localized and sent
+	// in the google.rpc.Status.details field, or localized by the client.
 	Message string `json:"message,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Code") to
@@ -2712,40 +2440,26 @@
 	// From: The collections to query.
 	From []*CollectionSelector `json:"from,omitempty"`
 
-	// Limit: The maximum number of results to return.
-	//
-	// Applies after all other constraints.
-	// Must be >= 0 if specified.
+	// Limit: The maximum number of results to return. Applies after all
+	// other constraints. Must be >= 0 if specified.
 	Limit int64 `json:"limit,omitempty"`
 
-	// Offset: The number of results to skip.
-	//
-	// Applies before limit, but after all other constraints. Must be >= 0
-	// if
-	// specified.
+	// Offset: The number of results to skip. Applies before limit, but
+	// after all other constraints. Must be >= 0 if specified.
 	Offset int64 `json:"offset,omitempty"`
 
-	// OrderBy: The order to apply to the query results.
-	//
-	// Firestore guarantees a stable ordering through the following rules:
-	//
-	//  * Any field required to appear in `order_by`, that is not already
-	//    specified in `order_by`, is appended to the order in field name
-	// order
-	//    by default.
-	//  * If an order on `__name__` is not specified, it is appended by
-	// default.
-	//
-	// Fields are appended with the same sort direction as the last
-	// order
-	// specified, or 'ASCENDING' if no order was specified. For example:
-	//
-	//  * `SELECT * FROM Foo ORDER BY A` becomes
-	//    `SELECT * FROM Foo ORDER BY A, __name__`
-	//  * `SELECT * FROM Foo ORDER BY A DESC` becomes
-	//    `SELECT * FROM Foo ORDER BY A DESC, __name__ DESC`
-	//  * `SELECT * FROM Foo WHERE A > 1` becomes
-	//    `SELECT * FROM Foo WHERE A > 1 ORDER BY A, __name__`
+	// OrderBy: The order to apply to the query results. Firestore
+	// guarantees a stable ordering through the following rules: * Any field
+	// required to appear in `order_by`, that is not already specified in
+	// `order_by`, is appended to the order in field name order by default.
+	// * If an order on `__name__` is not specified, it is appended by
+	// default. Fields are appended with the same sort direction as the last
+	// order specified, or 'ASCENDING' if no order was specified. For
+	// example: * `SELECT * FROM Foo ORDER BY A` becomes `SELECT * FROM Foo
+	// ORDER BY A, __name__` * `SELECT * FROM Foo ORDER BY A DESC` becomes
+	// `SELECT * FROM Foo ORDER BY A DESC, __name__ DESC` * `SELECT * FROM
+	// Foo WHERE A > 1` becomes `SELECT * FROM Foo WHERE A > 1 ORDER BY A,
+	// __name__`
 	OrderBy []*Order `json:"orderBy,omitempty"`
 
 	// Select: The projection to return.
@@ -2792,21 +2506,17 @@
 	// Query: A target specified by a query.
 	Query *QueryTarget `json:"query,omitempty"`
 
-	// ReadTime: Start listening after a specific `read_time`.
-	//
-	// The client must know the state of matching documents at this time.
+	// ReadTime: Start listening after a specific `read_time`. The client
+	// must know the state of matching documents at this time.
 	ReadTime string `json:"readTime,omitempty"`
 
 	// ResumeToken: A resume token from a prior TargetChange for an
-	// identical target.
-	//
-	// Using a resume token with a different target is unsupported and may
-	// fail.
+	// identical target. Using a resume token with a different target is
+	// unsupported and may fail.
 	ResumeToken string `json:"resumeToken,omitempty"`
 
 	// TargetId: The target ID that identifies the target on the stream.
-	// Must be a positive
-	// number and non-zero.
+	// Must be a positive number and non-zero.
 	TargetId int64 `json:"targetId,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Documents") to
@@ -2838,28 +2548,18 @@
 	Cause *Status `json:"cause,omitempty"`
 
 	// ReadTime: The consistent `read_time` for the given `target_ids`
-	// (omitted when the
-	// target_ids are not at a consistent snapshot).
-	//
-	// The stream is guaranteed to send a `read_time` with `target_ids`
-	// empty
-	// whenever the entire stream reaches a new consistent snapshot.
-	// ADD,
+	// (omitted when the target_ids are not at a consistent snapshot). The
+	// stream is guaranteed to send a `read_time` with `target_ids` empty
+	// whenever the entire stream reaches a new consistent snapshot. ADD,
 	// CURRENT, and RESET messages are guaranteed to (eventually) result in
-	// a
-	// new consistent snapshot (while NO_CHANGE and REMOVE messages are
-	// not).
-	//
-	// For a given stream, `read_time` is guaranteed to be
-	// monotonically
-	// increasing.
+	// a new consistent snapshot (while NO_CHANGE and REMOVE messages are
+	// not). For a given stream, `read_time` is guaranteed to be
+	// monotonically increasing.
 	ReadTime string `json:"readTime,omitempty"`
 
 	// ResumeToken: A token that can be used to resume the stream for the
-	// given `target_ids`,
-	// or all targets if `target_ids` is empty.
-	//
-	// Not set on every target change.
+	// given `target_ids`, or all targets if `target_ids` is empty. Not set
+	// on every target change.
 	ResumeToken string `json:"resumeToken,omitempty"`
 
 	// TargetChangeType: The type of change that occurred.
@@ -2870,29 +2570,19 @@
 	//   "ADD" - The targets have been added.
 	//   "REMOVE" - The targets have been removed.
 	//   "CURRENT" - The targets reflect all changes committed before the
-	// targets were added
-	// to the stream.
-	//
-	// This will be sent after or with a `read_time` that is greater than
-	// or
-	// equal to the time at which the targets were added.
-	//
-	// Listeners can wait for this change if read-after-write semantics
-	// are desired.
+	// targets were added to the stream. This will be sent after or with a
+	// `read_time` that is greater than or equal to the time at which the
+	// targets were added. Listeners can wait for this change if
+	// read-after-write semantics are desired.
 	//   "RESET" - The targets have been reset, and a new initial state for
-	// the targets
-	// will be returned in subsequent changes.
-	//
-	// After the initial state is complete, `CURRENT` will be returned
-	// even
-	// if the target was previously indicated to be `CURRENT`.
+	// the targets will be returned in subsequent changes. After the initial
+	// state is complete, `CURRENT` will be returned even if the target was
+	// previously indicated to be `CURRENT`.
 	TargetChangeType string `json:"targetChangeType,omitempty"`
 
-	// TargetIds: The target IDs of targets that have changed.
-	//
-	// If empty, the change applies to all targets.
-	//
-	// The order of the target IDs is not defined.
+	// TargetIds: The target IDs of targets that have changed. If empty, the
+	// change applies to all targets. The order of the target IDs is not
+	// defined.
 	TargetIds []int64 `json:"targetIds,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Cause") to
@@ -2988,20 +2678,15 @@
 
 // Value: A message that can hold any of the supported value types.
 type Value struct {
-	// ArrayValue: An array value.
-	//
-	// Cannot directly contain another array value, though can contain
-	// an
-	// map which contains another array.
+	// ArrayValue: An array value. Cannot directly contain another array
+	// value, though can contain an map which contains another array.
 	ArrayValue *ArrayValue `json:"arrayValue,omitempty"`
 
 	// BooleanValue: A boolean value.
 	BooleanValue bool `json:"booleanValue,omitempty"`
 
-	// BytesValue: A bytes value.
-	//
-	// Must not exceed 1 MiB - 89 bytes.
-	// Only the first 1,500 bytes are considered by queries.
+	// BytesValue: A bytes value. Must not exceed 1 MiB - 89 bytes. Only the
+	// first 1,500 bytes are considered by queries.
 	BytesValue string `json:"bytesValue,omitempty"`
 
 	// DoubleValue: A double value.
@@ -3023,26 +2708,18 @@
 	//   "NULL_VALUE" - Null value.
 	NullValue string `json:"nullValue,omitempty"`
 
-	// ReferenceValue: A reference to a document. For
-	// example:
-	// `projects/{project_id}/databases/{database_id}/documents/{doc
-	// ument_path}`.
+	// ReferenceValue: A reference to a document. For example:
+	// `projects/{project_id}/databases/{database_id}/documents/{document_pat
+	// h}`.
 	ReferenceValue string `json:"referenceValue,omitempty"`
 
-	// StringValue: A string value.
-	//
-	// The string, represented as UTF-8, must not exceed 1 MiB - 89
-	// bytes.
-	// Only the first 1,500 bytes of the UTF-8 representation are considered
-	// by
-	// queries.
+	// StringValue: A string value. The string, represented as UTF-8, must
+	// not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8
+	// representation are considered by queries.
 	StringValue string `json:"stringValue,omitempty"`
 
-	// TimestampValue: A timestamp value.
-	//
-	// Precise only to microseconds. When stored, any additional precision
-	// is
-	// rounded down.
+	// TimestampValue: A timestamp value. Precise only to microseconds. When
+	// stored, any additional precision is rounded down.
 	TimestampValue string `json:"timestampValue,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ArrayValue") to
@@ -3084,16 +2761,13 @@
 
 // Write: A write on a document.
 type Write struct {
-	// CurrentDocument: An optional precondition on the document.
-	//
-	// The write will fail if this is set and not met by the target
-	// document.
+	// CurrentDocument: An optional precondition on the document. The write
+	// will fail if this is set and not met by the target document.
 	CurrentDocument *Precondition `json:"currentDocument,omitempty"`
 
-	// Delete: A document name to delete. In the
-	// format:
-	// `projects/{project_id}/databases/{database_id}/documents/{docu
-	// ment_path}`.
+	// Delete: A document name to delete. In the format:
+	// `projects/{project_id}/databases/{database_id}/documents/{document_pat
+	// h}`.
 	Delete string `json:"delete,omitempty"`
 
 	// Transform: Applies a transformation to a document.
@@ -3102,28 +2776,20 @@
 	// Update: A document to write.
 	Update *Document `json:"update,omitempty"`
 
-	// UpdateMask: The fields to update in this write.
-	//
-	// This field can be set only when the operation is `update`.
-	// If the mask is not set for an `update` and the document exists,
-	// any
-	// existing data will be overwritten.
-	// If the mask is set and the document on the server has fields not
-	// covered by
-	// the mask, they are left unchanged.
-	// Fields referenced in the mask, but not present in the input document,
-	// are
-	// deleted from the document on the server.
-	// The field paths in this mask must not contain a reserved field name.
+	// UpdateMask: The fields to update in this write. This field can be set
+	// only when the operation is `update`. If the mask is not set for an
+	// `update` and the document exists, any existing data will be
+	// overwritten. If the mask is set and the document on the server has
+	// fields not covered by the mask, they are left unchanged. Fields
+	// referenced in the mask, but not present in the input document, are
+	// deleted from the document on the server. The field paths in this mask
+	// must not contain a reserved field name.
 	UpdateMask *DocumentMask `json:"updateMask,omitempty"`
 
-	// UpdateTransforms: The transforms to perform after update.
-	//
-	// This field can be set only when the operation is `update`. If
-	// present, this
+	// UpdateTransforms: The transforms to perform after update. This field
+	// can be set only when the operation is `update`. If present, this
 	// write is equivalent to performing `update` and `transform` to the
-	// same
-	// document atomically and in order.
+	// same document atomically and in order.
 	UpdateTransforms []*FieldTransform `json:"updateTransforms,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CurrentDocument") to
@@ -3150,58 +2816,36 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// WriteRequest: The request for Firestore.Write.
-//
-// The first request creates a stream, or resumes an existing one from a
-// token.
-//
-// When creating a new stream, the server replies with a response
-// containing
-// only an ID and a token, to use in the next request.
-//
-// When resuming a stream, the server first streams any responses later
-// than the
-// given token, then a response containing only an up-to-date token, to
-// use in
+// WriteRequest: The request for Firestore.Write. The first request
+// creates a stream, or resumes an existing one from a token. When
+// creating a new stream, the server replies with a response containing
+// only an ID and a token, to use in the next request. When resuming a
+// stream, the server first streams any responses later than the given
+// token, then a response containing only an up-to-date token, to use in
 // the next request.
 type WriteRequest struct {
 	// Labels: Labels associated with this write request.
 	Labels map[string]string `json:"labels,omitempty"`
 
-	// StreamId: The ID of the write stream to resume.
-	// This may only be set in the first message. When left empty, a new
-	// write
-	// stream will be created.
+	// StreamId: The ID of the write stream to resume. This may only be set
+	// in the first message. When left empty, a new write stream will be
+	// created.
 	StreamId string `json:"streamId,omitempty"`
 
-	// StreamToken: A stream token that was previously sent by the
-	// server.
-	//
-	// The client should set this field to the token from the most
-	// recent
-	// WriteResponse it has received. This acknowledges that the client
-	// has
+	// StreamToken: A stream token that was previously sent by the server.
+	// The client should set this field to the token from the most recent
+	// WriteResponse it has received. This acknowledges that the client has
 	// received responses up to this token. After sending this token,
-	// earlier
-	// tokens may not be used anymore.
-	//
-	// The server may close the stream if there are too many
-	// unacknowledged
-	// responses.
-	//
-	// Leave this field unset when creating a new stream. To resume a stream
-	// at
-	// a specific point, set this field and the `stream_id` field.
-	//
-	// Leave this field unset when creating a new stream.
+	// earlier tokens may not be used anymore. The server may close the
+	// stream if there are too many unacknowledged responses. Leave this
+	// field unset when creating a new stream. To resume a stream at a
+	// specific point, set this field and the `stream_id` field. Leave this
+	// field unset when creating a new stream.
 	StreamToken string `json:"streamToken,omitempty"`
 
-	// Writes: The writes to apply.
-	//
-	// Always executed atomically and in order.
-	// This must be empty on the first request.
-	// This may be empty on the last request.
-	// This must not be empty on all other requests.
+	// Writes: The writes to apply. Always executed atomically and in order.
+	// This must be empty on the first request. This may be empty on the
+	// last request. This must not be empty on all other requests.
 	Writes []*Write `json:"writes,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Labels") to
@@ -3230,26 +2874,21 @@
 // WriteResponse: The response for Firestore.Write.
 type WriteResponse struct {
 	// CommitTime: The time at which the commit occurred. Any read with an
-	// equal or greater
-	// `read_time` is guaranteed to see the effects of the write.
+	// equal or greater `read_time` is guaranteed to see the effects of the
+	// write.
 	CommitTime string `json:"commitTime,omitempty"`
 
-	// StreamId: The ID of the stream.
-	// Only set on the first message, when a new stream was created.
+	// StreamId: The ID of the stream. Only set on the first message, when a
+	// new stream was created.
 	StreamId string `json:"streamId,omitempty"`
 
 	// StreamToken: A token that represents the position of this response in
-	// the stream.
-	// This can be used by a client to resume the stream at this
-	// point.
-	//
-	// This field is always set.
+	// the stream. This can be used by a client to resume the stream at this
+	// point. This field is always set.
 	StreamToken string `json:"streamToken,omitempty"`
 
-	// WriteResults: The result of applying the writes.
-	//
-	// This i-th write result corresponds to the i-th write in the
-	// request.
+	// WriteResults: The result of applying the writes. This i-th write
+	// result corresponds to the i-th write in the request.
 	WriteResults []*WriteResult `json:"writeResults,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -3282,17 +2921,12 @@
 // WriteResult: The result of applying a write.
 type WriteResult struct {
 	// TransformResults: The results of applying each
-	// DocumentTransform.FieldTransform, in the
-	// same order.
+	// DocumentTransform.FieldTransform, in the same order.
 	TransformResults []*Value `json:"transformResults,omitempty"`
 
 	// UpdateTime: The last update time of the document after applying the
-	// write. Not set
-	// after a `delete`.
-	//
-	// If the write did not actually change the document, this will be
-	// the
-	// previous update_time.
+	// write. Not set after a `delete`. If the write did not actually change
+	// the document, this will be the previous update_time.
 	UpdateTime string `json:"updateTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "TransformResults") to
@@ -3331,20 +2965,13 @@
 }
 
 // ExportDocuments: Exports a copy of all or a subset of documents from
-// Google Cloud Firestore
-// to another storage system, such as Google Cloud Storage. Recent
-// updates to
-// documents may not be reflected in the export. The export occurs in
-// the
-// background and its progress can be monitored and managed via
-// the
-// Operation resource that is created. The output of an export may only
-// be
-// used once the associated operation is done. If an export operation
-// is
-// cancelled before completion it may leave partial data behind in
-// Google
-// Cloud Storage.
+// Google Cloud Firestore to another storage system, such as Google
+// Cloud Storage. Recent updates to documents may not be reflected in
+// the export. The export occurs in the background and its progress can
+// be monitored and managed via the Operation resource that is created.
+// The output of an export may only be used once the associated
+// operation is done. If an export operation is cancelled before
+// completion it may leave partial data behind in Google Cloud Storage.
 func (r *ProjectsDatabasesService) ExportDocuments(name string, googlefirestoreadminv1beta1exportdocumentsrequest *GoogleFirestoreAdminV1beta1ExportDocumentsRequest) *ProjectsDatabasesExportDocumentsCall {
 	c := &ProjectsDatabasesExportDocumentsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3379,7 +3006,7 @@
 
 func (c *ProjectsDatabasesExportDocumentsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3443,7 +3070,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Exports a copy of all or a subset of documents from Google Cloud Firestore\nto another storage system, such as Google Cloud Storage. Recent updates to\ndocuments may not be reflected in the export. The export occurs in the\nbackground and its progress can be monitored and managed via the\nOperation resource that is created. The output of an export may only be\nused once the associated operation is done. If an export operation is\ncancelled before completion it may leave partial data behind in Google\nCloud Storage.",
+	//   "description": "Exports a copy of all or a subset of documents from Google Cloud Firestore to another storage system, such as Google Cloud Storage. Recent updates to documents may not be reflected in the export. The export occurs in the background and its progress can be monitored and managed via the Operation resource that is created. The output of an export may only be used once the associated operation is done. If an export operation is cancelled before completion it may leave partial data behind in Google Cloud Storage.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}:exportDocuments",
 	//   "httpMethod": "POST",
 	//   "id": "firestore.projects.databases.exportDocuments",
@@ -3452,7 +3079,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Database to export. Should be of the form:\n`projects/{project_id}/databases/{database_id}`.",
+	//       "description": "Database to export. Should be of the form: `projects/{project_id}/databases/{database_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -3486,15 +3113,11 @@
 }
 
 // ImportDocuments: Imports documents into Google Cloud Firestore.
-// Existing documents with the
-// same name are overwritten. The import occurs in the background and
-// its
-// progress can be monitored and managed via the Operation resource that
-// is
-// created. If an ImportDocuments operation is cancelled, it is
-// possible
-// that a subset of the data has already been imported to Cloud
-// Firestore.
+// Existing documents with the same name are overwritten. The import
+// occurs in the background and its progress can be monitored and
+// managed via the Operation resource that is created. If an
+// ImportDocuments operation is cancelled, it is possible that a subset
+// of the data has already been imported to Cloud Firestore.
 func (r *ProjectsDatabasesService) ImportDocuments(name string, googlefirestoreadminv1beta1importdocumentsrequest *GoogleFirestoreAdminV1beta1ImportDocumentsRequest) *ProjectsDatabasesImportDocumentsCall {
 	c := &ProjectsDatabasesImportDocumentsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3529,7 +3152,7 @@
 
 func (c *ProjectsDatabasesImportDocumentsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3593,7 +3216,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Imports documents into Google Cloud Firestore. Existing documents with the\nsame name are overwritten. The import occurs in the background and its\nprogress can be monitored and managed via the Operation resource that is\ncreated. If an ImportDocuments operation is cancelled, it is possible\nthat a subset of the data has already been imported to Cloud Firestore.",
+	//   "description": "Imports documents into Google Cloud Firestore. Existing documents with the same name are overwritten. The import occurs in the background and its progress can be monitored and managed via the Operation resource that is created. If an ImportDocuments operation is cancelled, it is possible that a subset of the data has already been imported to Cloud Firestore.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}:importDocuments",
 	//   "httpMethod": "POST",
 	//   "id": "firestore.projects.databases.importDocuments",
@@ -3602,7 +3225,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Database to import into. Should be of the form:\n`projects/{project_id}/databases/{database_id}`.",
+	//       "description": "Database to import into. Should be of the form: `projects/{project_id}/databases/{database_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -3635,11 +3258,9 @@
 	header_                  http.Header
 }
 
-// BatchGet: Gets multiple documents.
-//
-// Documents returned by this method are not guaranteed to be returned
-// in the
-// same order that they were requested.
+// BatchGet: Gets multiple documents. Documents returned by this method
+// are not guaranteed to be returned in the same order that they were
+// requested.
 func (r *ProjectsDatabasesDocumentsService) BatchGet(database string, batchgetdocumentsrequest *BatchGetDocumentsRequest) *ProjectsDatabasesDocumentsBatchGetCall {
 	c := &ProjectsDatabasesDocumentsBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.database = database
@@ -3674,7 +3295,7 @@
 
 func (c *ProjectsDatabasesDocumentsBatchGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3738,7 +3359,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets multiple documents.\n\nDocuments returned by this method are not guaranteed to be returned in the\nsame order that they were requested.",
+	//   "description": "Gets multiple documents. Documents returned by this method are not guaranteed to be returned in the same order that they were requested.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents:batchGet",
 	//   "httpMethod": "POST",
 	//   "id": "firestore.projects.databases.documents.batchGet",
@@ -3747,7 +3368,7 @@
 	//   ],
 	//   "parameters": {
 	//     "database": {
-	//       "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+	//       "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -3780,18 +3401,12 @@
 	header_           http.Header
 }
 
-// BatchWrite: Applies a batch of write operations.
-//
-// The BatchWrite method does not apply the write operations
-// atomically
-// and can apply them out of order. Method does not allow more than one
-// write
-// per document. Each write succeeds or fails independently. See
-// the
-// BatchWriteResponse for the success status of each write.
-//
-// If you require an atomically applied set of writes, use
-// Commit instead.
+// BatchWrite: Applies a batch of write operations. The BatchWrite
+// method does not apply the write operations atomically and can apply
+// them out of order. Method does not allow more than one write per
+// document. Each write succeeds or fails independently. See the
+// BatchWriteResponse for the success status of each write. If you
+// require an atomically applied set of writes, use Commit instead.
 func (r *ProjectsDatabasesDocumentsService) BatchWrite(database string, batchwriterequest *BatchWriteRequest) *ProjectsDatabasesDocumentsBatchWriteCall {
 	c := &ProjectsDatabasesDocumentsBatchWriteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.database = database
@@ -3826,7 +3441,7 @@
 
 func (c *ProjectsDatabasesDocumentsBatchWriteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3890,7 +3505,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Applies a batch of write operations.\n\nThe BatchWrite method does not apply the write operations atomically\nand can apply them out of order. Method does not allow more than one write\nper document. Each write succeeds or fails independently. See the\nBatchWriteResponse for the success status of each write.\n\nIf you require an atomically applied set of writes, use\nCommit instead.",
+	//   "description": "Applies a batch of write operations. The BatchWrite method does not apply the write operations atomically and can apply them out of order. Method does not allow more than one write per document. Each write succeeds or fails independently. See the BatchWriteResponse for the success status of each write. If you require an atomically applied set of writes, use Commit instead.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents:batchWrite",
 	//   "httpMethod": "POST",
 	//   "id": "firestore.projects.databases.documents.batchWrite",
@@ -3899,7 +3514,7 @@
 	//   ],
 	//   "parameters": {
 	//     "database": {
-	//       "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+	//       "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -3967,7 +3582,7 @@
 
 func (c *ProjectsDatabasesDocumentsBeginTransactionCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4040,7 +3655,7 @@
 	//   ],
 	//   "parameters": {
 	//     "database": {
-	//       "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+	//       "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -4108,7 +3723,7 @@
 
 func (c *ProjectsDatabasesDocumentsCommitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4181,7 +3796,7 @@
 	//   ],
 	//   "parameters": {
 	//     "database": {
-	//       "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+	//       "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -4225,17 +3840,16 @@
 }
 
 // DocumentId sets the optional parameter "documentId": The
-// client-assigned document ID to use for this document.
-//
-//  If not specified, an ID will be assigned by the service.
+// client-assigned document ID to use for this document.  If not
+// specified, an ID will be assigned by the service.
 func (c *ProjectsDatabasesDocumentsCreateDocumentCall) DocumentId(documentId string) *ProjectsDatabasesDocumentsCreateDocumentCall {
 	c.urlParams_.Set("documentId", documentId)
 	return c
 }
 
 // MaskFieldPaths sets the optional parameter "mask.fieldPaths": The
-// list of field paths in the mask. See Document.fields for a field
-// path syntax reference.
+// list of field paths in the mask. See Document.fields for a field path
+// syntax reference.
 func (c *ProjectsDatabasesDocumentsCreateDocumentCall) MaskFieldPaths(maskFieldPaths ...string) *ProjectsDatabasesDocumentsCreateDocumentCall {
 	c.urlParams_.SetMulti("mask.fieldPaths", append([]string{}, maskFieldPaths...))
 	return c
@@ -4268,7 +3882,7 @@
 
 func (c *ProjectsDatabasesDocumentsCreateDocumentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4349,18 +3963,18 @@
 	//       "type": "string"
 	//     },
 	//     "documentId": {
-	//       "description": "The client-assigned document ID to use for this document.\n\nOptional. If not specified, an ID will be assigned by the service.",
+	//       "description": "The client-assigned document ID to use for this document. Optional. If not specified, an ID will be assigned by the service.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "mask.fieldPaths": {
-	//       "description": "The list of field paths in the mask. See Document.fields for a field\npath syntax reference.",
+	//       "description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.",
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The parent resource. For example:\n`projects/{project_id}/databases/{database_id}/documents` or\n`projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}`",
+	//       "description": "Required. The parent resource. For example: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/documents/.*$",
 	//       "required": true,
@@ -4401,8 +4015,7 @@
 
 // CurrentDocumentExists sets the optional parameter
 // "currentDocument.exists": When set to `true`, the target document
-// must exist.
-// When set to `false`, the target document must not exist.
+// must exist. When set to `false`, the target document must not exist.
 func (c *ProjectsDatabasesDocumentsDeleteCall) CurrentDocumentExists(currentDocumentExists bool) *ProjectsDatabasesDocumentsDeleteCall {
 	c.urlParams_.Set("currentDocument.exists", fmt.Sprint(currentDocumentExists))
 	return c
@@ -4410,8 +4023,7 @@
 
 // CurrentDocumentUpdateTime sets the optional parameter
 // "currentDocument.updateTime": When set, the target document must
-// exist and have been last updated at
-// that time.
+// exist and have been last updated at that time.
 func (c *ProjectsDatabasesDocumentsDeleteCall) CurrentDocumentUpdateTime(currentDocumentUpdateTime string) *ProjectsDatabasesDocumentsDeleteCall {
 	c.urlParams_.Set("currentDocument.updateTime", currentDocumentUpdateTime)
 	return c
@@ -4444,7 +4056,7 @@
 
 func (c *ProjectsDatabasesDocumentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4512,18 +4124,18 @@
 	//   ],
 	//   "parameters": {
 	//     "currentDocument.exists": {
-	//       "description": "When set to `true`, the target document must exist.\nWhen set to `false`, the target document must not exist.",
+	//       "description": "When set to `true`, the target document must exist. When set to `false`, the target document must not exist.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
 	//     "currentDocument.updateTime": {
-	//       "description": "When set, the target document must exist and have been last updated at\nthat time.",
+	//       "description": "When set, the target document must exist and have been last updated at that time.",
 	//       "format": "google-datetime",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "Required. The resource name of the Document to delete. In the format:\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
+	//       "description": "Required. The resource name of the Document to delete. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
 	//       "required": true,
@@ -4561,16 +4173,16 @@
 }
 
 // MaskFieldPaths sets the optional parameter "mask.fieldPaths": The
-// list of field paths in the mask. See Document.fields for a field
-// path syntax reference.
+// list of field paths in the mask. See Document.fields for a field path
+// syntax reference.
 func (c *ProjectsDatabasesDocumentsGetCall) MaskFieldPaths(maskFieldPaths ...string) *ProjectsDatabasesDocumentsGetCall {
 	c.urlParams_.SetMulti("mask.fieldPaths", append([]string{}, maskFieldPaths...))
 	return c
 }
 
 // ReadTime sets the optional parameter "readTime": Reads the version of
-// the document at the given time.
-// This may not be older than 270 seconds.
+// the document at the given time. This may not be older than 270
+// seconds.
 func (c *ProjectsDatabasesDocumentsGetCall) ReadTime(readTime string) *ProjectsDatabasesDocumentsGetCall {
 	c.urlParams_.Set("readTime", readTime)
 	return c
@@ -4620,7 +4232,7 @@
 
 func (c *ProjectsDatabasesDocumentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4691,20 +4303,20 @@
 	//   ],
 	//   "parameters": {
 	//     "mask.fieldPaths": {
-	//       "description": "The list of field paths in the mask. See Document.fields for a field\npath syntax reference.",
+	//       "description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.",
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "Required. The resource name of the Document to get. In the format:\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
+	//       "description": "Required. The resource name of the Document to get. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "readTime": {
-	//       "description": "Reads the version of the document at the given time.\nThis may not be older than 270 seconds.",
+	//       "description": "Reads the version of the document at the given time. This may not be older than 270 seconds.",
 	//       "format": "google-datetime",
 	//       "location": "query",
 	//       "type": "string"
@@ -4749,8 +4361,8 @@
 }
 
 // MaskFieldPaths sets the optional parameter "mask.fieldPaths": The
-// list of field paths in the mask. See Document.fields for a field
-// path syntax reference.
+// list of field paths in the mask. See Document.fields for a field path
+// syntax reference.
 func (c *ProjectsDatabasesDocumentsListCall) MaskFieldPaths(maskFieldPaths ...string) *ProjectsDatabasesDocumentsListCall {
 	c.urlParams_.SetMulti("mask.fieldPaths", append([]string{}, maskFieldPaths...))
 	return c
@@ -4779,23 +4391,18 @@
 }
 
 // ReadTime sets the optional parameter "readTime": Reads documents as
-// they were at the given time.
-// This may not be older than 270 seconds.
+// they were at the given time. This may not be older than 270 seconds.
 func (c *ProjectsDatabasesDocumentsListCall) ReadTime(readTime string) *ProjectsDatabasesDocumentsListCall {
 	c.urlParams_.Set("readTime", readTime)
 	return c
 }
 
 // ShowMissing sets the optional parameter "showMissing": If the list
-// should show missing documents. A missing document is a
-// document that does not exist but has sub-documents. These documents
-// will
-// be returned with a key but will not have fields,
-// Document.create_time,
-// or Document.update_time set.
-//
-// Requests with `show_missing` may not specify `where` or
-// `order_by`.
+// should show missing documents. A missing document is a document that
+// does not exist but has sub-documents. These documents will be
+// returned with a key but will not have fields, Document.create_time,
+// or Document.update_time set. Requests with `show_missing` may not
+// specify `where` or `order_by`.
 func (c *ProjectsDatabasesDocumentsListCall) ShowMissing(showMissing bool) *ProjectsDatabasesDocumentsListCall {
 	c.urlParams_.Set("showMissing", fmt.Sprint(showMissing))
 	return c
@@ -4845,7 +4452,7 @@
 
 func (c *ProjectsDatabasesDocumentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4918,13 +4525,13 @@
 	//   ],
 	//   "parameters": {
 	//     "collectionId": {
-	//       "description": "Required. The collection ID, relative to `parent`, to list. For example: `chatrooms`\nor `messages`.",
+	//       "description": "Required. The collection ID, relative to `parent`, to list. For example: `chatrooms` or `messages`.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "mask.fieldPaths": {
-	//       "description": "The list of field paths in the mask. See Document.fields for a field\npath syntax reference.",
+	//       "description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.",
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
@@ -4946,20 +4553,20 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The parent resource name. In the format:\n`projects/{project_id}/databases/{database_id}/documents` or\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.\nFor example:\n`projects/my-project/databases/my-database/documents` or\n`projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
+	//       "description": "Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "readTime": {
-	//       "description": "Reads documents as they were at the given time.\nThis may not be older than 270 seconds.",
+	//       "description": "Reads documents as they were at the given time. This may not be older than 270 seconds.",
 	//       "format": "google-datetime",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "showMissing": {
-	//       "description": "If the list should show missing documents. A missing document is a\ndocument that does not exist but has sub-documents. These documents will\nbe returned with a key but will not have fields, Document.create_time,\nor Document.update_time set.\n\nRequests with `show_missing` may not specify `where` or\n`order_by`.",
+	//       "description": "If the list should show missing documents. A missing document is a document that does not exist but has sub-documents. These documents will be returned with a key but will not have fields, Document.create_time, or Document.update_time set. Requests with `show_missing` may not specify `where` or `order_by`.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
@@ -5050,7 +4657,7 @@
 
 func (c *ProjectsDatabasesDocumentsListCollectionIdsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5123,7 +4730,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The parent document. In the format:\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.\nFor example:\n`projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
+	//       "description": "Required. The parent document. In the format: `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
 	//       "required": true,
@@ -5212,7 +4819,7 @@
 
 func (c *ProjectsDatabasesDocumentsListenCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5285,7 +4892,7 @@
 	//   ],
 	//   "parameters": {
 	//     "database": {
-	//       "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+	//       "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -5319,10 +4926,9 @@
 }
 
 // PartitionQuery: Partitions a query by returning partition cursors
-// that can be used to run
-// the query in parallel. The returned partition cursors are split
-// points that
-// can be used by RunQuery as starting/end points for the query results.
+// that can be used to run the query in parallel. The returned partition
+// cursors are split points that can be used by RunQuery as starting/end
+// points for the query results.
 func (r *ProjectsDatabasesDocumentsService) PartitionQuery(parent string, partitionqueryrequest *PartitionQueryRequest) *ProjectsDatabasesDocumentsPartitionQueryCall {
 	c := &ProjectsDatabasesDocumentsPartitionQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -5357,7 +4963,7 @@
 
 func (c *ProjectsDatabasesDocumentsPartitionQueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5421,7 +5027,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Partitions a query by returning partition cursors that can be used to run\nthe query in parallel. The returned partition cursors are split points that\ncan be used by RunQuery as starting/end points for the query results.",
+	//   "description": "Partitions a query by returning partition cursors that can be used to run the query in parallel. The returned partition cursors are split points that can be used by RunQuery as starting/end points for the query results.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/documents/{documentsId}/{documentsId1}:partitionQuery",
 	//   "httpMethod": "POST",
 	//   "id": "firestore.projects.databases.documents.partitionQuery",
@@ -5430,7 +5036,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The parent resource name. In the format:\n`projects/{project_id}/databases/{database_id}/documents`.\nDocument resource names are not supported; only database resource names\ncan be specified.",
+	//       "description": "Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents`. Document resource names are not supported; only database resource names can be specified.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
 	//       "required": true,
@@ -5494,8 +5100,7 @@
 
 // CurrentDocumentExists sets the optional parameter
 // "currentDocument.exists": When set to `true`, the target document
-// must exist.
-// When set to `false`, the target document must not exist.
+// must exist. When set to `false`, the target document must not exist.
 func (c *ProjectsDatabasesDocumentsPatchCall) CurrentDocumentExists(currentDocumentExists bool) *ProjectsDatabasesDocumentsPatchCall {
 	c.urlParams_.Set("currentDocument.exists", fmt.Sprint(currentDocumentExists))
 	return c
@@ -5503,16 +5108,15 @@
 
 // CurrentDocumentUpdateTime sets the optional parameter
 // "currentDocument.updateTime": When set, the target document must
-// exist and have been last updated at
-// that time.
+// exist and have been last updated at that time.
 func (c *ProjectsDatabasesDocumentsPatchCall) CurrentDocumentUpdateTime(currentDocumentUpdateTime string) *ProjectsDatabasesDocumentsPatchCall {
 	c.urlParams_.Set("currentDocument.updateTime", currentDocumentUpdateTime)
 	return c
 }
 
 // MaskFieldPaths sets the optional parameter "mask.fieldPaths": The
-// list of field paths in the mask. See Document.fields for a field
-// path syntax reference.
+// list of field paths in the mask. See Document.fields for a field path
+// syntax reference.
 func (c *ProjectsDatabasesDocumentsPatchCall) MaskFieldPaths(maskFieldPaths ...string) *ProjectsDatabasesDocumentsPatchCall {
 	c.urlParams_.SetMulti("mask.fieldPaths", append([]string{}, maskFieldPaths...))
 	return c
@@ -5520,8 +5124,7 @@
 
 // UpdateMaskFieldPaths sets the optional parameter
 // "updateMask.fieldPaths": The list of field paths in the mask. See
-// Document.fields for a field
-// path syntax reference.
+// Document.fields for a field path syntax reference.
 func (c *ProjectsDatabasesDocumentsPatchCall) UpdateMaskFieldPaths(updateMaskFieldPaths ...string) *ProjectsDatabasesDocumentsPatchCall {
 	c.urlParams_.SetMulti("updateMask.fieldPaths", append([]string{}, updateMaskFieldPaths...))
 	return c
@@ -5554,7 +5157,7 @@
 
 func (c *ProjectsDatabasesDocumentsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5627,31 +5230,31 @@
 	//   ],
 	//   "parameters": {
 	//     "currentDocument.exists": {
-	//       "description": "When set to `true`, the target document must exist.\nWhen set to `false`, the target document must not exist.",
+	//       "description": "When set to `true`, the target document must exist. When set to `false`, the target document must not exist.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
 	//     "currentDocument.updateTime": {
-	//       "description": "When set, the target document must exist and have been last updated at\nthat time.",
+	//       "description": "When set, the target document must exist and have been last updated at that time.",
 	//       "format": "google-datetime",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "mask.fieldPaths": {
-	//       "description": "The list of field paths in the mask. See Document.fields for a field\npath syntax reference.",
+	//       "description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.",
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "The resource name of the document, for example\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
+	//       "description": "The resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask.fieldPaths": {
-	//       "description": "The list of field paths in the mask. See Document.fields for a field\npath syntax reference.",
+	//       "description": "The list of field paths in the mask. See Document.fields for a field path syntax reference.",
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
@@ -5718,7 +5321,7 @@
 
 func (c *ProjectsDatabasesDocumentsRollbackCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5791,7 +5394,7 @@
 	//   ],
 	//   "parameters": {
 	//     "database": {
-	//       "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.",
+	//       "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -5859,7 +5462,7 @@
 
 func (c *ProjectsDatabasesDocumentsRunQueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5932,7 +5535,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The parent resource name. In the format:\n`projects/{project_id}/databases/{database_id}/documents` or\n`projects/{project_id}/databases/{database_id}/documents/{document_path}`.\nFor example:\n`projects/my-project/databases/my-database/documents` or\n`projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
+	//       "description": "Required. The parent resource name. In the format: `projects/{project_id}/databases/{database_id}/documents` or `projects/{project_id}/databases/{database_id}/documents/{document_path}`. For example: `projects/my-project/databases/my-database/documents` or `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.*$",
 	//       "required": true,
@@ -6000,7 +5603,7 @@
 
 func (c *ProjectsDatabasesDocumentsWriteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6073,7 +5676,7 @@
 	//   ],
 	//   "parameters": {
 	//     "database": {
-	//       "description": "Required. The database name. In the format:\n`projects/{project_id}/databases/{database_id}`.\nThis is only required in the first message.",
+	//       "description": "Required. The database name. In the format: `projects/{project_id}/databases/{database_id}`. This is only required in the first message.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -6106,24 +5709,15 @@
 	header_                          http.Header
 }
 
-// Create: Creates the specified index.
-// A newly created index's initial state is `CREATING`. On completion of
-// the
-// returned google.longrunning.Operation, the state will be `READY`.
-// If the index already exists, the call will return an
-// `ALREADY_EXISTS`
-// status.
-//
+// Create: Creates the specified index. A newly created index's initial
+// state is `CREATING`. On completion of the returned
+// google.longrunning.Operation, the state will be `READY`. If the index
+// already exists, the call will return an `ALREADY_EXISTS` status.
 // During creation, the process could result in an error, in which case
-// the
-// index will move to the `ERROR` state. The process can be recovered
-// by
-// fixing the data that caused the error, removing the index
-// with
-// delete, then re-creating the index with
-// create.
-//
-// Indexes with a single field cannot be created.
+// the index will move to the `ERROR` state. The process can be
+// recovered by fixing the data that caused the error, removing the
+// index with delete, then re-creating the index with create. Indexes
+// with a single field cannot be created.
 func (r *ProjectsDatabasesIndexesService) Create(parent string, googlefirestoreadminv1beta1index *GoogleFirestoreAdminV1beta1Index) *ProjectsDatabasesIndexesCreateCall {
 	c := &ProjectsDatabasesIndexesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -6158,7 +5752,7 @@
 
 func (c *ProjectsDatabasesIndexesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6222,7 +5816,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates the specified index.\nA newly created index's initial state is `CREATING`. On completion of the\nreturned google.longrunning.Operation, the state will be `READY`.\nIf the index already exists, the call will return an `ALREADY_EXISTS`\nstatus.\n\nDuring creation, the process could result in an error, in which case the\nindex will move to the `ERROR` state. The process can be recovered by\nfixing the data that caused the error, removing the index with\ndelete, then re-creating the index with\ncreate.\n\nIndexes with a single field cannot be created.",
+	//   "description": "Creates the specified index. A newly created index's initial state is `CREATING`. On completion of the returned google.longrunning.Operation, the state will be `READY`. If the index already exists, the call will return an `ALREADY_EXISTS` status. During creation, the process could result in an error, in which case the index will move to the `ERROR` state. The process can be recovered by fixing the data that caused the error, removing the index with delete, then re-creating the index with create. Indexes with a single field cannot be created.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/databases/{databasesId}/indexes",
 	//   "httpMethod": "POST",
 	//   "id": "firestore.projects.databases.indexes.create",
@@ -6231,7 +5825,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "The name of the database this index will apply to. For example:\n`projects/{project_id}/databases/{database_id}`",
+	//       "description": "The name of the database this index will apply to. For example: `projects/{project_id}/databases/{database_id}`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -6297,7 +5891,7 @@
 
 func (c *ProjectsDatabasesIndexesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6365,7 +5959,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The index name. For example:\n`projects/{project_id}/databases/{database_id}/indexes/{index_id}`",
+	//       "description": "The index name. For example: `projects/{project_id}/databases/{database_id}/indexes/{index_id}`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/indexes/[^/]+$",
 	//       "required": true,
@@ -6439,7 +6033,7 @@
 
 func (c *ProjectsDatabasesIndexesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6510,7 +6104,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name of the index. For example:\n`projects/{project_id}/databases/{database_id}/indexes/{index_id}`",
+	//       "description": "The name of the index. For example: `projects/{project_id}/databases/{database_id}/indexes/{index_id}`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/indexes/[^/]+$",
 	//       "required": true,
@@ -6604,7 +6198,7 @@
 
 func (c *ProjectsDatabasesIndexesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6692,7 +6286,7 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "The database name. For example:\n`projects/{project_id}/databases/{database_id}`",
+	//       "description": "The database name. For example: `projects/{project_id}/databases/{database_id}`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+$",
 	//       "required": true,
diff --git a/firestore/v1beta2/firestore-api.json b/firestore/v1beta2/firestore-api.json
index 29a4bdb..de20136 100644
--- a/firestore/v1beta2/firestore-api.json
+++ b/firestore/v1beta2/firestore-api.json
@@ -15,7 +15,7 @@
   "baseUrl": "https://firestore.googleapis.com/",
   "batchPath": "batch",
   "canonicalName": "Firestore",
-  "description": "Accesses the NoSQL document database built for automatic scaling, high performance, and ease of application development.\n",
+  "description": "Accesses the NoSQL document database built for automatic scaling, high performance, and ease of application development. ",
   "discoveryVersion": "v1",
   "documentationLink": "https://cloud.google.com/firestore",
   "fullyEncodeReservedExpansion": true,
@@ -113,7 +113,7 @@
         "databases": {
           "methods": {
             "exportDocuments": {
-              "description": "Exports a copy of all or a subset of documents from Google Cloud Firestore\nto another storage system, such as Google Cloud Storage. Recent updates to\ndocuments may not be reflected in the export. The export occurs in the\nbackground and its progress can be monitored and managed via the\nOperation resource that is created. The output of an export may only be\nused once the associated operation is done. If an export operation is\ncancelled before completion it may leave partial data behind in Google\nCloud Storage.",
+              "description": "Exports a copy of all or a subset of documents from Google Cloud Firestore to another storage system, such as Google Cloud Storage. Recent updates to documents may not be reflected in the export. The export occurs in the background and its progress can be monitored and managed via the Operation resource that is created. The output of an export may only be used once the associated operation is done. If an export operation is cancelled before completion it may leave partial data behind in Google Cloud Storage.",
               "flatPath": "v1beta2/projects/{projectsId}/databases/{databasesId}:exportDocuments",
               "httpMethod": "POST",
               "id": "firestore.projects.databases.exportDocuments",
@@ -122,7 +122,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Database to export. Should be of the form:\n`projects/{project_id}/databases/{database_id}`.",
+                  "description": "Database to export. Should be of the form: `projects/{project_id}/databases/{database_id}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/databases/[^/]+$",
                   "required": true,
@@ -142,7 +142,7 @@
               ]
             },
             "importDocuments": {
-              "description": "Imports documents into Google Cloud Firestore. Existing documents with the\nsame name are overwritten. The import occurs in the background and its\nprogress can be monitored and managed via the Operation resource that is\ncreated. If an ImportDocuments operation is cancelled, it is possible\nthat a subset of the data has already been imported to Cloud Firestore.",
+              "description": "Imports documents into Google Cloud Firestore. Existing documents with the same name are overwritten. The import occurs in the background and its progress can be monitored and managed via the Operation resource that is created. If an ImportDocuments operation is cancelled, it is possible that a subset of the data has already been imported to Cloud Firestore.",
               "flatPath": "v1beta2/projects/{projectsId}/databases/{databasesId}:importDocuments",
               "httpMethod": "POST",
               "id": "firestore.projects.databases.importDocuments",
@@ -151,7 +151,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Database to import into. Should be of the form:\n`projects/{project_id}/databases/{database_id}`.",
+                  "description": "Database to import into. Should be of the form: `projects/{project_id}/databases/{database_id}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/databases/[^/]+$",
                   "required": true,
@@ -186,7 +186,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "A name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_id}`",
+                          "description": "A name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_id}`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+/fields/[^/]+$",
                           "required": true,
@@ -203,7 +203,7 @@
                       ]
                     },
                     "list": {
-                      "description": "Lists the field configuration and metadata for this database.\n\nCurrently, FirestoreAdmin.ListFields only supports listing fields\nthat have been explicitly overridden. To issue this query, call\nFirestoreAdmin.ListFields with the filter set to\n`indexConfig.usesAncestorConfig:false`.",
+                      "description": "Lists the field configuration and metadata for this database. Currently, FirestoreAdmin.ListFields only supports listing fields that have been explicitly overridden. To issue this query, call FirestoreAdmin.ListFields with the filter set to `indexConfig.usesAncestorConfig:false`.",
                       "flatPath": "v1beta2/projects/{projectsId}/databases/{databasesId}/collectionGroups/{collectionGroupsId}/fields",
                       "httpMethod": "GET",
                       "id": "firestore.projects.databases.collectionGroups.fields.list",
@@ -212,7 +212,7 @@
                       ],
                       "parameters": {
                         "filter": {
-                          "description": "The filter to apply to list results. Currently,\nFirestoreAdmin.ListFields only supports listing fields\nthat have been explicitly overridden. To issue this query, call\nFirestoreAdmin.ListFields with the filter set to\n`indexConfig.usesAncestorConfig:false`.",
+                          "description": "The filter to apply to list results. Currently, FirestoreAdmin.ListFields only supports listing fields that have been explicitly overridden. To issue this query, call FirestoreAdmin.ListFields with the filter set to `indexConfig.usesAncestorConfig:false`.",
                           "location": "query",
                           "type": "string"
                         },
@@ -223,12 +223,12 @@
                           "type": "integer"
                         },
                         "pageToken": {
-                          "description": "A page token, returned from a previous call to\nFirestoreAdmin.ListFields, that may be used to get the next\npage of results.",
+                          "description": "A page token, returned from a previous call to FirestoreAdmin.ListFields, that may be used to get the next page of results.",
                           "location": "query",
                           "type": "string"
                         },
                         "parent": {
-                          "description": "A parent name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
+                          "description": "A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+$",
                           "required": true,
@@ -245,7 +245,7 @@
                       ]
                     },
                     "patch": {
-                      "description": "Updates a field configuration. Currently, field updates apply only to\nsingle field index configuration. However, calls to\nFirestoreAdmin.UpdateField should provide a field mask to avoid\nchanging any configuration that the caller isn't aware of. The field mask\nshould be specified as: `{ paths: \"index_config\" }`.\n\nThis call returns a google.longrunning.Operation which may be used to\ntrack the status of the field update. The metadata for\nthe operation will be the type FieldOperationMetadata.\n\nTo configure the default field settings for the database, use\nthe special `Field` with resource name:\n`projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`.",
+                      "description": "Updates a field configuration. Currently, field updates apply only to single field index configuration. However, calls to FirestoreAdmin.UpdateField should provide a field mask to avoid changing any configuration that the caller isn't aware of. The field mask should be specified as: `{ paths: \"index_config\" }`. This call returns a google.longrunning.Operation which may be used to track the status of the field update. The metadata for the operation will be the type FieldOperationMetadata. To configure the default field settings for the database, use the special `Field` with resource name: `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`.",
                       "flatPath": "v1beta2/projects/{projectsId}/databases/{databasesId}/collectionGroups/{collectionGroupsId}/fields/{fieldsId}",
                       "httpMethod": "PATCH",
                       "id": "firestore.projects.databases.collectionGroups.fields.patch",
@@ -254,14 +254,14 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "A field name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}`\n\nA field path may be a simple field name, e.g. `address` or a path to fields\nwithin map_value , e.g. `address.city`,\nor a special field path. The only valid special field is `*`, which\nrepresents any field.\n\nField paths may be quoted using ` (backtick). The only character that needs\nto be escaped within a quoted field path is the backtick character itself,\nescaped using a backslash. Special characters in field paths that\nmust be quoted include: `*`, `.`,\n``` (backtick), `[`, `]`, as well as any ascii symbolic characters.\n\nExamples:\n(Note: Comments here are written in markdown syntax, so there is an\n additional layer of backticks to represent a code block)\n`\\`address.city\\`` represents a field named `address.city`, not the map key\n`city` in the field `address`.\n`\\`*\\`` represents a field named `*`, not any field.\n\nA special `Field` contains the default indexing settings for all fields.\nThis field's resource name is:\n`projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`\nIndexes defined on this `Field` will be applied to all fields which do not\nhave their own `Field` index configuration.",
+                          "description": "A field name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}` A field path may be a simple field name, e.g. `address` or a path to fields within map_value , e.g. `address.city`, or a special field path. The only valid special field is `*`, which represents any field. Field paths may be quoted using ` (backtick). The only character that needs to be escaped within a quoted field path is the backtick character itself, escaped using a backslash. Special characters in field paths that must be quoted include: `*`, `.`, ``` (backtick), `[`, `]`, as well as any ascii symbolic characters. Examples: (Note: Comments here are written in markdown syntax, so there is an additional layer of backticks to represent a code block) `\\`address.city\\`` represents a field named `address.city`, not the map key `city` in the field `address`. `\\`*\\`` represents a field named `*`, not any field. A special `Field` contains the default indexing settings for all fields. This field's resource name is: `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*` Indexes defined on this `Field` will be applied to all fields which do not have their own `Field` index configuration.",
                           "location": "path",
                           "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+/fields/[^/]+$",
                           "required": true,
                           "type": "string"
                         },
                         "updateMask": {
-                          "description": "A mask, relative to the field. If specified, only configuration specified\nby this field_mask will be updated in the field.",
+                          "description": "A mask, relative to the field. If specified, only configuration specified by this field_mask will be updated in the field.",
                           "format": "google-fieldmask",
                           "location": "query",
                           "type": "string"
@@ -284,7 +284,7 @@
                 "indexes": {
                   "methods": {
                     "create": {
-                      "description": "Creates a composite index. This returns a google.longrunning.Operation\nwhich may be used to track the status of the creation. The metadata for\nthe operation will be the type IndexOperationMetadata.",
+                      "description": "Creates a composite index. This returns a google.longrunning.Operation which may be used to track the status of the creation. The metadata for the operation will be the type IndexOperationMetadata.",
                       "flatPath": "v1beta2/projects/{projectsId}/databases/{databasesId}/collectionGroups/{collectionGroupsId}/indexes",
                       "httpMethod": "POST",
                       "id": "firestore.projects.databases.collectionGroups.indexes.create",
@@ -293,7 +293,7 @@
                       ],
                       "parameters": {
                         "parent": {
-                          "description": "A parent name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
+                          "description": "A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+$",
                           "required": true,
@@ -322,7 +322,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "A name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`",
+                          "description": "A name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+/indexes/[^/]+$",
                           "required": true,
@@ -348,7 +348,7 @@
                       ],
                       "parameters": {
                         "name": {
-                          "description": "A name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`",
+                          "description": "A name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+/indexes/[^/]+$",
                           "required": true,
@@ -385,12 +385,12 @@
                           "type": "integer"
                         },
                         "pageToken": {
-                          "description": "A page token, returned from a previous call to\nFirestoreAdmin.ListIndexes, that may be used to get the next\npage of results.",
+                          "description": "A page token, returned from a previous call to FirestoreAdmin.ListIndexes, that may be used to get the next page of results.",
                           "location": "query",
                           "type": "string"
                         },
                         "parent": {
-                          "description": "A parent name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
+                          "description": "A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
                           "location": "path",
                           "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+$",
                           "required": true,
@@ -415,17 +415,17 @@
       }
     }
   },
-  "revision": "20200215",
+  "revision": "20200801",
   "rootUrl": "https://firestore.googleapis.com/",
   "schemas": {
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
     },
     "GoogleFirestoreAdminV1beta2ExportDocumentsMetadata": {
-      "description": "Metadata for google.longrunning.Operation results from\nFirestoreAdmin.ExportDocuments.",
+      "description": "Metadata for google.longrunning.Operation results from FirestoreAdmin.ExportDocuments.",
       "id": "GoogleFirestoreAdminV1beta2ExportDocumentsMetadata",
       "properties": {
         "collectionIds": {
@@ -436,7 +436,7 @@
           "type": "array"
         },
         "endTime": {
-          "description": "The time this operation completed. Will be unset if operation still in\nprogress.",
+          "description": "The time this operation completed. Will be unset if operation still in progress.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -456,11 +456,11 @@
             "Unspecified.",
             "Request is being prepared for processing.",
             "Request is actively being processed.",
-            "Request is in the process of being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation on the operation.",
+            "Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.",
             "Request has been processed and is in its finalization stage.",
             "Request has completed successfully.",
             "Request has finished being processed, but encountered an error.",
-            "Request has finished being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation."
+            "Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation."
           ],
           "type": "string"
         },
@@ -496,7 +496,7 @@
           "type": "array"
         },
         "outputUriPrefix": {
-          "description": "The output URI. Currently only supports Google Cloud Storage URIs of the\nform: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the name\nof the Google Cloud Storage bucket and `NAMESPACE_PATH` is an optional\nGoogle Cloud Storage namespace path. When\nchoosing a name, be sure to consider Google Cloud Storage naming\nguidelines: https://cloud.google.com/storage/docs/naming.\nIf the URI is a bucket (without a namespace path), a prefix will be\ngenerated based on the start time.",
+          "description": "The output URI. Currently only supports Google Cloud Storage URIs of the form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the name of the Google Cloud Storage bucket and `NAMESPACE_PATH` is an optional Google Cloud Storage namespace path. When choosing a name, be sure to consider Google Cloud Storage naming guidelines: https://cloud.google.com/storage/docs/naming. If the URI is a bucket (without a namespace path), a prefix will be generated based on the start time.",
           "type": "string"
         }
       },
@@ -507,29 +507,29 @@
       "id": "GoogleFirestoreAdminV1beta2ExportDocumentsResponse",
       "properties": {
         "outputUriPrefix": {
-          "description": "Location of the output files. This can be used to begin an import\ninto Cloud Firestore (this project or another project) after the operation\ncompletes successfully.",
+          "description": "Location of the output files. This can be used to begin an import into Cloud Firestore (this project or another project) after the operation completes successfully.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleFirestoreAdminV1beta2Field": {
-      "description": "Represents a single field in the database.\n\nFields are grouped by their \"Collection Group\", which represent all\ncollections in the database with the same id.",
+      "description": "Represents a single field in the database. Fields are grouped by their \"Collection Group\", which represent all collections in the database with the same id.",
       "id": "GoogleFirestoreAdminV1beta2Field",
       "properties": {
         "indexConfig": {
           "$ref": "GoogleFirestoreAdminV1beta2IndexConfig",
-          "description": "The index configuration for this field. If unset, field indexing will\nrevert to the configuration defined by the `ancestor_field`. To\nexplicitly remove all indexes for this field, specify an index config\nwith an empty list of indexes."
+          "description": "The index configuration for this field. If unset, field indexing will revert to the configuration defined by the `ancestor_field`. To explicitly remove all indexes for this field, specify an index config with an empty list of indexes."
         },
         "name": {
-          "description": "A field name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}`\n\nA field path may be a simple field name, e.g. `address` or a path to fields\nwithin map_value , e.g. `address.city`,\nor a special field path. The only valid special field is `*`, which\nrepresents any field.\n\nField paths may be quoted using ` (backtick). The only character that needs\nto be escaped within a quoted field path is the backtick character itself,\nescaped using a backslash. Special characters in field paths that\nmust be quoted include: `*`, `.`,\n``` (backtick), `[`, `]`, as well as any ascii symbolic characters.\n\nExamples:\n(Note: Comments here are written in markdown syntax, so there is an\n additional layer of backticks to represent a code block)\n`\\`address.city\\`` represents a field named `address.city`, not the map key\n`city` in the field `address`.\n`\\`*\\`` represents a field named `*`, not any field.\n\nA special `Field` contains the default indexing settings for all fields.\nThis field's resource name is:\n`projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`\nIndexes defined on this `Field` will be applied to all fields which do not\nhave their own `Field` index configuration.",
+          "description": "A field name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}` A field path may be a simple field name, e.g. `address` or a path to fields within map_value , e.g. `address.city`, or a special field path. The only valid special field is `*`, which represents any field. Field paths may be quoted using ` (backtick). The only character that needs to be escaped within a quoted field path is the backtick character itself, escaped using a backslash. Special characters in field paths that must be quoted include: `*`, `.`, ``` (backtick), `[`, `]`, as well as any ascii symbolic characters. Examples: (Note: Comments here are written in markdown syntax, so there is an additional layer of backticks to represent a code block) `\\`address.city\\`` represents a field named `address.city`, not the map key `city` in the field `address`. `\\`*\\`` represents a field named `*`, not any field. A special `Field` contains the default indexing settings for all fields. This field's resource name is: `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*` Indexes defined on this `Field` will be applied to all fields which do not have their own `Field` index configuration.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleFirestoreAdminV1beta2FieldOperationMetadata": {
-      "description": "Metadata for google.longrunning.Operation results from\nFirestoreAdmin.UpdateField.",
+      "description": "Metadata for google.longrunning.Operation results from FirestoreAdmin.UpdateField.",
       "id": "GoogleFirestoreAdminV1beta2FieldOperationMetadata",
       "properties": {
         "bytesProgress": {
@@ -541,16 +541,16 @@
           "description": "The progress, in documents, of this operation."
         },
         "endTime": {
-          "description": "The time this operation completed. Will be unset if operation still in\nprogress.",
+          "description": "The time this operation completed. Will be unset if operation still in progress.",
           "format": "google-datetime",
           "type": "string"
         },
         "field": {
-          "description": "The field resource that this operation is acting on. For example:\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}`",
+          "description": "The field resource that this operation is acting on. For example: `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}`",
           "type": "string"
         },
         "indexConfigDeltas": {
-          "description": "A list of IndexConfigDelta, which describe the intent of this\noperation.",
+          "description": "A list of IndexConfigDelta, which describe the intent of this operation.",
           "items": {
             "$ref": "GoogleFirestoreAdminV1beta2IndexConfigDelta"
           },
@@ -577,11 +577,11 @@
             "Unspecified.",
             "Request is being prepared for processing.",
             "Request is actively being processed.",
-            "Request is in the process of being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation on the operation.",
+            "Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.",
             "Request has been processed and is in its finalization stage.",
             "Request has completed successfully.",
             "Request has finished being processed, but encountered an error.",
-            "Request has finished being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation."
+            "Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation."
           ],
           "type": "string"
         }
@@ -589,7 +589,7 @@
       "type": "object"
     },
     "GoogleFirestoreAdminV1beta2ImportDocumentsMetadata": {
-      "description": "Metadata for google.longrunning.Operation results from\nFirestoreAdmin.ImportDocuments.",
+      "description": "Metadata for google.longrunning.Operation results from FirestoreAdmin.ImportDocuments.",
       "id": "GoogleFirestoreAdminV1beta2ImportDocumentsMetadata",
       "properties": {
         "collectionIds": {
@@ -600,7 +600,7 @@
           "type": "array"
         },
         "endTime": {
-          "description": "The time this operation completed. Will be unset if operation still in\nprogress.",
+          "description": "The time this operation completed. Will be unset if operation still in progress.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -624,11 +624,11 @@
             "Unspecified.",
             "Request is being prepared for processing.",
             "Request is actively being processed.",
-            "Request is in the process of being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation on the operation.",
+            "Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.",
             "Request has been processed and is in its finalization stage.",
             "Request has completed successfully.",
             "Request has finished being processed, but encountered an error.",
-            "Request has finished being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation."
+            "Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation."
           ],
           "type": "string"
         },
@@ -653,36 +653,36 @@
       "id": "GoogleFirestoreAdminV1beta2ImportDocumentsRequest",
       "properties": {
         "collectionIds": {
-          "description": "Which collection ids to import. Unspecified means all collections included\nin the import.",
+          "description": "Which collection ids to import. Unspecified means all collections included in the import.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "inputUriPrefix": {
-          "description": "Location of the exported files.\nThis must match the output_uri_prefix of an ExportDocumentsResponse from\nan export that has completed successfully.\nSee:\ngoogle.firestore.admin.v1beta2.ExportDocumentsResponse.output_uri_prefix.",
+          "description": "Location of the exported files. This must match the output_uri_prefix of an ExportDocumentsResponse from an export that has completed successfully. See: google.firestore.admin.v1beta2.ExportDocumentsResponse.output_uri_prefix.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleFirestoreAdminV1beta2Index": {
-      "description": "Cloud Firestore indexes enable simple and complex queries against\ndocuments in a database.",
+      "description": "Cloud Firestore indexes enable simple and complex queries against documents in a database.",
       "id": "GoogleFirestoreAdminV1beta2Index",
       "properties": {
         "fields": {
-          "description": "The fields supported by this index.\n\nFor composite indexes, this is always 2 or more fields.\nThe last field entry is always for the field path `__name__`. If, on\ncreation, `__name__` was not specified as the last field, it will be added\nautomatically with the same direction as that of the last field defined. If\nthe final field in a composite index is not directional, the `__name__`\nwill be ordered ASCENDING (unless explicitly specified).\n\nFor single field indexes, this will always be exactly one entry with a\nfield path equal to the field path of the associated field.",
+          "description": "The fields supported by this index. For composite indexes, this is always 2 or more fields. The last field entry is always for the field path `__name__`. If, on creation, `__name__` was not specified as the last field, it will be added automatically with the same direction as that of the last field defined. If the final field in a composite index is not directional, the `__name__` will be ordered ASCENDING (unless explicitly specified). For single field indexes, this will always be exactly one entry with a field path equal to the field path of the associated field.",
           "items": {
             "$ref": "GoogleFirestoreAdminV1beta2IndexField"
           },
           "type": "array"
         },
         "name": {
-          "description": "Output only. A server defined name for this index.\nThe form of this name for composite indexes will be:\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id}`\nFor single field indexes, this field will be empty.",
+          "description": "Output only. A server defined name for this index. The form of this name for composite indexes will be: `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{composite_index_id}` For single field indexes, this field will be empty.",
           "type": "string"
         },
         "queryScope": {
-          "description": "Indexes with a collection query scope specified allow queries\nagainst a collection that is the child of a specific document, specified at\nquery time, and that has the same collection id.\n\nIndexes with a collection group query scope specified allow queries against\nall collections descended from a specific document, specified at query\ntime, and that have the same collection id as this index.",
+          "description": "Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the same collection id. Indexes with a collection group query scope specified allow queries against all collections descended from a specific document, specified at query time, and that have the same collection id as this index.",
           "enum": [
             "QUERY_SCOPE_UNSPECIFIED",
             "COLLECTION",
@@ -690,8 +690,8 @@
           ],
           "enumDescriptions": [
             "The query scope is unspecified. Not a valid option.",
-            "Indexes with a collection query scope specified allow queries\nagainst a collection that is the child of a specific document, specified\nat query time, and that has the collection id specified by the index.",
-            "Indexes with a collection group query scope specified allow queries\nagainst all collections that has the collection id specified by the\nindex."
+            "Indexes with a collection query scope specified allow queries against a collection that is the child of a specific document, specified at query time, and that has the collection id specified by the index.",
+            "Indexes with a collection group query scope specified allow queries against all collections that has the collection id specified by the index."
           ],
           "type": "string"
         },
@@ -705,9 +705,9 @@
           ],
           "enumDescriptions": [
             "The state is unspecified.",
-            "The index is being created.\nThere is an active long-running operation for the index.\nThe index is updated when writing a document.\nSome index data may exist.",
-            "The index is ready to be used.\nThe index is updated when writing a document.\nThe index is fully populated from all stored documents it applies to.",
-            "The index was being created, but something went wrong.\nThere is no active long-running operation for the index,\nand the most recently finished long-running operation failed.\nThe index is not updated when writing a document.\nSome index data may exist.\nUse the google.longrunning.Operations API to determine why the operation\nthat last attempted to create this index failed, then re-create the\nindex."
+            "The index is being created. There is an active long-running operation for the index. The index is updated when writing a document. Some index data may exist.",
+            "The index is ready to be used. The index is updated when writing a document. The index is fully populated from all stored documents it applies to.",
+            "The index was being created, but something went wrong. There is no active long-running operation for the index, and the most recently finished long-running operation failed. The index is not updated when writing a document. Some index data may exist. Use the google.longrunning.Operations API to determine why the operation that last attempted to create this index failed, then re-create the index."
           ],
           "type": "string"
         }
@@ -719,7 +719,7 @@
       "id": "GoogleFirestoreAdminV1beta2IndexConfig",
       "properties": {
         "ancestorField": {
-          "description": "Output only. Specifies the resource name of the `Field` from which this field's\nindex configuration is set (when `uses_ancestor_config` is true),\nor from which it *would* be set if this field had no index configuration\n(when `uses_ancestor_config` is false).",
+          "description": "Output only. Specifies the resource name of the `Field` from which this field's index configuration is set (when `uses_ancestor_config` is true), or from which it *would* be set if this field had no index configuration (when `uses_ancestor_config` is false).",
           "type": "string"
         },
         "indexes": {
@@ -730,11 +730,11 @@
           "type": "array"
         },
         "reverting": {
-          "description": "Output only\nWhen true, the `Field`'s index configuration is in the process of being\nreverted. Once complete, the index config will transition to the same\nstate as the field specified by `ancestor_field`, at which point\n`uses_ancestor_config` will be `true` and `reverting` will be `false`.",
+          "description": "Output only When true, the `Field`'s index configuration is in the process of being reverted. Once complete, the index config will transition to the same state as the field specified by `ancestor_field`, at which point `uses_ancestor_config` will be `true` and `reverting` will be `false`.",
           "type": "boolean"
         },
         "usesAncestorConfig": {
-          "description": "Output only. When true, the `Field`'s index configuration is set from the\nconfiguration specified by the `ancestor_field`.\nWhen false, the `Field`'s index configuration is defined explicitly.",
+          "description": "Output only. When true, the `Field`'s index configuration is set from the configuration specified by the `ancestor_field`. When false, the `Field`'s index configuration is defined explicitly.",
           "type": "boolean"
         }
       },
@@ -766,7 +766,7 @@
       "type": "object"
     },
     "GoogleFirestoreAdminV1beta2IndexField": {
-      "description": "A field in an index.\nThe field_path describes which field is indexed, the value_mode describes\nhow the field value is indexed.",
+      "description": "A field in an index. The field_path describes which field is indexed, the value_mode describes how the field value is indexed.",
       "id": "GoogleFirestoreAdminV1beta2IndexField",
       "properties": {
         "arrayConfig": {
@@ -782,11 +782,11 @@
           "type": "string"
         },
         "fieldPath": {
-          "description": "Can be __name__.\nFor single field indexes, this must match the name of the field or may\nbe omitted.",
+          "description": "Can be __name__. For single field indexes, this must match the name of the field or may be omitted.",
           "type": "string"
         },
         "order": {
-          "description": "Indicates that this field supports ordering by the specified order or\ncomparing using =, \u003c, \u003c=, \u003e, \u003e=.",
+          "description": "Indicates that this field supports ordering by the specified order or comparing using =, \u003c, \u003c=, \u003e, \u003e=.",
           "enum": [
             "ORDER_UNSPECIFIED",
             "ASCENDING",
@@ -803,16 +803,16 @@
       "type": "object"
     },
     "GoogleFirestoreAdminV1beta2IndexOperationMetadata": {
-      "description": "Metadata for google.longrunning.Operation results from\nFirestoreAdmin.CreateIndex.",
+      "description": "Metadata for google.longrunning.Operation results from FirestoreAdmin.CreateIndex.",
       "id": "GoogleFirestoreAdminV1beta2IndexOperationMetadata",
       "properties": {
         "endTime": {
-          "description": "The time this operation completed. Will be unset if operation still in\nprogress.",
+          "description": "The time this operation completed. Will be unset if operation still in progress.",
           "format": "google-datetime",
           "type": "string"
         },
         "index": {
-          "description": "The index resource that this operation is acting on. For example:\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`",
+          "description": "The index resource that this operation is acting on. For example: `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`",
           "type": "string"
         },
         "progressBytes": {
@@ -844,11 +844,11 @@
             "Unspecified.",
             "Request is being prepared for processing.",
             "Request is actively being processed.",
-            "Request is in the process of being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation on the operation.",
+            "Request is in the process of being cancelled after user called google.longrunning.Operations.CancelOperation on the operation.",
             "Request has been processed and is in its finalization stage.",
             "Request has completed successfully.",
             "Request has finished being processed, but encountered an error.",
-            "Request has finished being cancelled after user called\ngoogle.longrunning.Operations.CancelOperation."
+            "Request has finished being cancelled after user called google.longrunning.Operations.CancelOperation."
           ],
           "type": "string"
         }
@@ -867,7 +867,7 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "A page token that may be used to request another page of results. If blank,\nthis is the last page.",
+          "description": "A page token that may be used to request another page of results. If blank, this is the last page.",
           "type": "string"
         }
       },
@@ -885,14 +885,14 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "A page token that may be used to request another page of results. If blank,\nthis is the last page.",
+          "description": "A page token that may be used to request another page of results. If blank, this is the last page.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleFirestoreAdminV1beta2Progress": {
-      "description": "Describes the progress of the operation.\nUnit of work is generic and must be interpreted based on where Progress\nis used.",
+      "description": "Describes the progress of the operation. Unit of work is generic and must be interpreted based on where Progress is used.",
       "id": "GoogleFirestoreAdminV1beta2Progress",
       "properties": {
         "completedWork": {
@@ -909,11 +909,11 @@
       "type": "object"
     },
     "GoogleLongrunningOperation": {
-      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
+      "description": "This resource represents a long-running operation that is the result of a network API call.",
       "id": "GoogleLongrunningOperation",
       "properties": {
         "done": {
-          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
+          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
           "type": "boolean"
         },
         "error": {
@@ -925,11 +925,11 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "Service-specific metadata associated with the operation.  It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata.  Any method that returns a\nlong-running operation should document the metadata type, if any.",
+          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
           "type": "object"
         },
         "name": {
-          "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.",
+          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
           "type": "string"
         },
         "response": {
@@ -937,14 +937,14 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "The normal response of the operation in case of success.  If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`.  If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource.  For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name.  For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
+          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
           "type": "object"
         }
       },
       "type": "object"
     },
     "Status": {
-      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "Status",
       "properties": {
         "code": {
@@ -953,7 +953,7 @@
           "type": "integer"
         },
         "details": {
-          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -964,7 +964,7 @@
           "type": "array"
         },
         "message": {
-          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
           "type": "string"
         }
       },
diff --git a/firestore/v1beta2/firestore-gen.go b/firestore/v1beta2/firestore-gen.go
index 3020720..2d350f9 100644
--- a/firestore/v1beta2/firestore-gen.go
+++ b/firestore/v1beta2/firestore-gen.go
@@ -203,17 +203,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -221,16 +215,14 @@
 }
 
 // GoogleFirestoreAdminV1beta2ExportDocumentsMetadata: Metadata for
-// google.longrunning.Operation results
-// from
+// google.longrunning.Operation results from
 // FirestoreAdmin.ExportDocuments.
 type GoogleFirestoreAdminV1beta2ExportDocumentsMetadata struct {
 	// CollectionIds: Which collection ids are being exported.
 	CollectionIds []string `json:"collectionIds,omitempty"`
 
 	// EndTime: The time this operation completed. Will be unset if
-	// operation still in
-	// progress.
+	// operation still in progress.
 	EndTime string `json:"endTime,omitempty"`
 
 	// OperationState: The state of the export operation.
@@ -240,16 +232,15 @@
 	//   "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
-	// google.longrunning.Operations.CancelOperation on the operation.
+	// user called google.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
-	// google.longrunning.Operations.CancelOperation.
+	// called google.longrunning.Operations.CancelOperation.
 	OperationState string `json:"operationState,omitempty"`
 
 	// OutputUriPrefix: Where the entities are being exported to.
@@ -295,18 +286,13 @@
 	CollectionIds []string `json:"collectionIds,omitempty"`
 
 	// OutputUriPrefix: The output URI. Currently only supports Google Cloud
-	// Storage URIs of the
-	// form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the
-	// name
-	// of the Google Cloud Storage bucket and `NAMESPACE_PATH` is an
-	// optional
-	// Google Cloud Storage namespace path. When
-	// choosing a name, be sure to consider Google Cloud Storage
-	// naming
-	// guidelines: https://cloud.google.com/storage/docs/naming.
-	// If the URI is a bucket (without a namespace path), a prefix will
-	// be
-	// generated based on the start time.
+	// Storage URIs of the form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where
+	// `BUCKET_NAME` is the name of the Google Cloud Storage bucket and
+	// `NAMESPACE_PATH` is an optional Google Cloud Storage namespace path.
+	// When choosing a name, be sure to consider Google Cloud Storage naming
+	// guidelines: https://cloud.google.com/storage/docs/naming. If the URI
+	// is a bucket (without a namespace path), a prefix will be generated
+	// based on the start time.
 	OutputUriPrefix string `json:"outputUriPrefix,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CollectionIds") to
@@ -336,10 +322,8 @@
 // google.longrunning.Operation response field.
 type GoogleFirestoreAdminV1beta2ExportDocumentsResponse struct {
 	// OutputUriPrefix: Location of the output files. This can be used to
-	// begin an import
-	// into Cloud Firestore (this project or another project) after the
-	// operation
-	// completes successfully.
+	// begin an import into Cloud Firestore (this project or another
+	// project) after the operation completes successfully.
 	OutputUriPrefix string `json:"outputUriPrefix,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "OutputUriPrefix") to
@@ -367,61 +351,35 @@
 }
 
 // GoogleFirestoreAdminV1beta2Field: Represents a single field in the
-// database.
-//
-// Fields are grouped by their "Collection Group", which represent
-// all
-// collections in the database with the same id.
+// database. Fields are grouped by their "Collection Group", which
+// represent all collections in the database with the same id.
 type GoogleFirestoreAdminV1beta2Field struct {
 	// IndexConfig: The index configuration for this field. If unset, field
-	// indexing will
-	// revert to the configuration defined by the `ancestor_field`.
-	// To
-	// explicitly remove all indexes for this field, specify an index
-	// config
-	// with an empty list of indexes.
+	// indexing will revert to the configuration defined by the
+	// `ancestor_field`. To explicitly remove all indexes for this field,
+	// specify an index config with an empty list of indexes.
 	IndexConfig *GoogleFirestoreAdminV1beta2IndexConfig `json:"indexConfig,omitempty"`
 
-	// Name: A field name of the
-	// form
-	// `projects/{project_id}/databases/{database_id}/collectionGroups/{
-	// collection_id}/fields/{field_path}`
-	//
-	// A field path may be a simple field name, e.g. `address` or a path to
-	// fields
-	// within map_value , e.g. `address.city`,
-	// or a special field path. The only valid special field is `*`,
-	// which
-	// represents any field.
-	//
-	// Field paths may be quoted using ` (backtick). The only character that
-	// needs
-	// to be escaped within a quoted field path is the backtick character
-	// itself,
-	// escaped using a backslash. Special characters in field paths
-	// that
-	// must be quoted include: `*`, `.`,
-	// ``` (backtick), `[`, `]`, as well as any ascii symbolic
-	// characters.
-	//
-	// Examples:
-	// (Note: Comments here are written in markdown syntax, so there is an
-	//  additional layer of backticks to represent a code
-	// block)
-	// `\`address.city\`` represents a field named `address.city`, not the
-	// map key
-	// `city` in the field `address`.
-	// `\`*\`` represents a field named `*`, not any field.
-	//
-	// A special `Field` contains the default indexing settings for all
-	// fields.
-	// This field's resource name
-	// is:
-	// `projects/{project_id}/databases/{database_id}/collectionGroups/__
-	// default__/fields/*`
-	// Indexes defined on this `Field` will be applied to all fields which
-	// do not
-	// have their own `Field` index configuration.
+	// Name: A field name of the form
+	// `projects/{project_id}/databases/{database_id}/collectionGroups/{colle
+	// ction_id}/fields/{field_path}` A field path may be a simple field
+	// name, e.g. `address` or a path to fields within map_value , e.g.
+	// `address.city`, or a special field path. The only valid special field
+	// is `*`, which represents any field. Field paths may be quoted using `
+	// (backtick). The only character that needs to be escaped within a
+	// quoted field path is the backtick character itself, escaped using a
+	// backslash. Special characters in field paths that must be quoted
+	// include: `*`, `.`, ``` (backtick), `[`, `]`, as well as any ascii
+	// symbolic characters. Examples: (Note: Comments here are written in
+	// markdown syntax, so there is an additional layer of backticks to
+	// represent a code block) `\`address.city\`` represents a field named
+	// `address.city`, not the map key `city` in the field `address`.
+	// `\`*\`` represents a field named `*`, not any field. A special
+	// `Field` contains the default indexing settings for all fields. This
+	// field's resource name is:
+	// `projects/{project_id}/databases/{database_id}/collectionGroups/__defa
+	// ult__/fields/*` Indexes defined on this `Field` will be applied to
+	// all fields which do not have their own `Field` index configuration.
 	Name string `json:"name,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -452,8 +410,7 @@
 }
 
 // GoogleFirestoreAdminV1beta2FieldOperationMetadata: Metadata for
-// google.longrunning.Operation results from
-// FirestoreAdmin.UpdateField.
+// google.longrunning.Operation results from FirestoreAdmin.UpdateField.
 type GoogleFirestoreAdminV1beta2FieldOperationMetadata struct {
 	// BytesProgress: The progress, in bytes, of this operation.
 	BytesProgress *GoogleFirestoreAdminV1beta2Progress `json:"bytesProgress,omitempty"`
@@ -462,19 +419,17 @@
 	DocumentProgress *GoogleFirestoreAdminV1beta2Progress `json:"documentProgress,omitempty"`
 
 	// EndTime: The time this operation completed. Will be unset if
-	// operation still in
-	// progress.
+	// operation still in progress.
 	EndTime string `json:"endTime,omitempty"`
 
 	// Field: The field resource that this operation is acting on. For
 	// example:
-	// `projects/{project_id}/databases/{database_id}/collectionGrou
-	// ps/{collection_id}/fields/{field_path}`
+	// `projects/{project_id}/databases/{database_id}/collectionGroups/{colle
+	// ction_id}/fields/{field_path}`
 	Field string `json:"field,omitempty"`
 
 	// IndexConfigDeltas: A list of IndexConfigDelta, which describe the
-	// intent of this
-	// operation.
+	// intent of this operation.
 	IndexConfigDeltas []*GoogleFirestoreAdminV1beta2IndexConfigDelta `json:"indexConfigDeltas,omitempty"`
 
 	// StartTime: The time this operation started.
@@ -487,16 +442,15 @@
 	//   "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
-	// google.longrunning.Operations.CancelOperation on the operation.
+	// user called google.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
-	// google.longrunning.Operations.CancelOperation.
+	// called google.longrunning.Operations.CancelOperation.
 	State string `json:"state,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "BytesProgress") to
@@ -523,16 +477,14 @@
 }
 
 // GoogleFirestoreAdminV1beta2ImportDocumentsMetadata: Metadata for
-// google.longrunning.Operation results
-// from
+// google.longrunning.Operation results from
 // FirestoreAdmin.ImportDocuments.
 type GoogleFirestoreAdminV1beta2ImportDocumentsMetadata struct {
 	// CollectionIds: Which collection ids are being imported.
 	CollectionIds []string `json:"collectionIds,omitempty"`
 
 	// EndTime: The time this operation completed. Will be unset if
-	// operation still in
-	// progress.
+	// operation still in progress.
 	EndTime string `json:"endTime,omitempty"`
 
 	// InputUriPrefix: The location of the documents being imported.
@@ -545,16 +497,15 @@
 	//   "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
-	// google.longrunning.Operations.CancelOperation on the operation.
+	// user called google.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
-	// google.longrunning.Operations.CancelOperation.
+	// called google.longrunning.Operations.CancelOperation.
 	OperationState string `json:"operationState,omitempty"`
 
 	// ProgressBytes: The progress, in bytes, of this operation.
@@ -593,18 +544,14 @@
 // FirestoreAdmin.ImportDocuments.
 type GoogleFirestoreAdminV1beta2ImportDocumentsRequest struct {
 	// CollectionIds: Which collection ids to import. Unspecified means all
-	// collections included
-	// in the import.
+	// collections included in the import.
 	CollectionIds []string `json:"collectionIds,omitempty"`
 
-	// InputUriPrefix: Location of the exported files.
-	// This must match the output_uri_prefix of an ExportDocumentsResponse
-	// from
-	// an export that has completed
-	// successfully.
-	// See:
-	// google.firestore.admin.v1beta2.ExportDocumentsRespo
-	// nse.output_uri_prefix.
+	// InputUriPrefix: Location of the exported files. This must match the
+	// output_uri_prefix of an ExportDocumentsResponse from an export that
+	// has completed successfully. See:
+	// google.firestore.admin.v1beta2.ExportDocumentsResponse.output_uri_pref
+	// ix.
 	InputUriPrefix string `json:"inputUriPrefix,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CollectionIds") to
@@ -631,84 +578,63 @@
 }
 
 // GoogleFirestoreAdminV1beta2Index: Cloud Firestore indexes enable
-// simple and complex queries against
-// documents in a database.
+// simple and complex queries against documents in a database.
 type GoogleFirestoreAdminV1beta2Index struct {
-	// Fields: The fields supported by this index.
-	//
-	// For composite indexes, this is always 2 or more fields.
-	// The last field entry is always for the field path `__name__`. If,
-	// on
-	// creation, `__name__` was not specified as the last field, it will be
-	// added
-	// automatically with the same direction as that of the last field
-	// defined. If
-	// the final field in a composite index is not directional, the
-	// `__name__`
-	// will be ordered ASCENDING (unless explicitly specified).
-	//
-	// For single field indexes, this will always be exactly one entry with
-	// a
-	// field path equal to the field path of the associated field.
+	// Fields: The fields supported by this index. For composite indexes,
+	// this is always 2 or more fields. The last field entry is always for
+	// the field path `__name__`. If, on creation, `__name__` was not
+	// specified as the last field, it will be added automatically with the
+	// same direction as that of the last field defined. If the final field
+	// in a composite index is not directional, the `__name__` will be
+	// ordered ASCENDING (unless explicitly specified). For single field
+	// indexes, this will always be exactly one entry with a field path
+	// equal to the field path of the associated field.
 	Fields []*GoogleFirestoreAdminV1beta2IndexField `json:"fields,omitempty"`
 
-	// Name: Output only. A server defined name for this index.
-	// The form of this name for composite indexes will
-	// be:
-	// `projects/{project_id}/databases/{database_id}/collectionGroups/{c
-	// ollection_id}/indexes/{composite_index_id}`
-	// For single field indexes, this field will be empty.
+	// Name: Output only. A server defined name for this index. The form of
+	// this name for composite indexes will be:
+	// `projects/{project_id}/databases/{database_id}/collectionGroups/{colle
+	// ction_id}/indexes/{composite_index_id}` For single field indexes,
+	// this field will be empty.
 	Name string `json:"name,omitempty"`
 
 	// QueryScope: Indexes with a collection query scope specified allow
-	// queries
-	// against a collection that is the child of a specific document,
-	// specified at
-	// query time, and that has the same collection id.
-	//
-	// Indexes with a collection group query scope specified allow queries
-	// against
-	// all collections descended from a specific document, specified at
-	// query
-	// time, and that have the same collection id as this index.
+	// queries against a collection that is the child of a specific
+	// document, specified at query time, and that has the same collection
+	// id. Indexes with a collection group query scope specified allow
+	// queries against all collections descended from a specific document,
+	// specified at query time, and that have the same collection id as this
+	// index.
 	//
 	// Possible values:
 	//   "QUERY_SCOPE_UNSPECIFIED" - The query scope is unspecified. Not a
 	// valid option.
 	//   "COLLECTION" - Indexes with a collection query scope specified
-	// allow queries
-	// against a collection that is the child of a specific document,
-	// specified
-	// at query time, and that has the collection id specified by the index.
+	// allow queries against a collection that is the child of a specific
+	// document, specified at query time, and that has the collection id
+	// specified by the index.
 	//   "COLLECTION_GROUP" - Indexes with a collection group query scope
-	// specified allow queries
-	// against all collections that has the collection id specified by
-	// the
-	// index.
+	// specified allow queries against all collections that has the
+	// collection id specified by the index.
 	QueryScope string `json:"queryScope,omitempty"`
 
 	// State: Output only. The serving state of the index.
 	//
 	// Possible values:
 	//   "STATE_UNSPECIFIED" - The state is unspecified.
-	//   "CREATING" - The index is being created.
-	// There is an active long-running operation for the index.
-	// The index is updated when writing a document.
-	// Some index data may exist.
-	//   "READY" - The index is ready to be used.
-	// The index is updated when writing a document.
-	// The index is fully populated from all stored documents it applies to.
+	//   "CREATING" - The index is being created. There is an active
+	// long-running operation for the index. The index is updated when
+	// writing a document. Some index data may exist.
+	//   "READY" - The index is ready to be used. The index is updated when
+	// writing a document. The index is fully populated from all stored
+	// documents it applies to.
 	//   "NEEDS_REPAIR" - The index was being created, but something went
-	// wrong.
-	// There is no active long-running operation for the index,
-	// and the most recently finished long-running operation failed.
-	// The index is not updated when writing a document.
-	// Some index data may exist.
+	// wrong. There is no active long-running operation for the index, and
+	// the most recently finished long-running operation failed. The index
+	// is not updated when writing a document. Some index data may exist.
 	// Use the google.longrunning.Operations API to determine why the
-	// operation
-	// that last attempted to create this index failed, then re-create
-	// the
-	// index.
+	// operation that last attempted to create this index failed, then
+	// re-create the index.
 	State string `json:"state,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -742,31 +668,26 @@
 // this field.
 type GoogleFirestoreAdminV1beta2IndexConfig struct {
 	// AncestorField: Output only. Specifies the resource name of the
-	// `Field` from which this field's
-	// index configuration is set (when `uses_ancestor_config` is true),
-	// or from which it *would* be set if this field had no index
-	// configuration
-	// (when `uses_ancestor_config` is false).
+	// `Field` from which this field's index configuration is set (when
+	// `uses_ancestor_config` is true), or from which it *would* be set if
+	// this field had no index configuration (when `uses_ancestor_config` is
+	// false).
 	AncestorField string `json:"ancestorField,omitempty"`
 
 	// Indexes: The indexes supported for this field.
 	Indexes []*GoogleFirestoreAdminV1beta2Index `json:"indexes,omitempty"`
 
-	// Reverting: Output only
-	// When true, the `Field`'s index configuration is in the process of
-	// being
-	// reverted. Once complete, the index config will transition to the
-	// same
-	// state as the field specified by `ancestor_field`, at which
-	// point
-	// `uses_ancestor_config` will be `true` and `reverting` will be
-	// `false`.
+	// Reverting: Output only When true, the `Field`'s index configuration
+	// is in the process of being reverted. Once complete, the index config
+	// will transition to the same state as the field specified by
+	// `ancestor_field`, at which point `uses_ancestor_config` will be
+	// `true` and `reverting` will be `false`.
 	Reverting bool `json:"reverting,omitempty"`
 
 	// UsesAncestorConfig: Output only. When true, the `Field`'s index
-	// configuration is set from the
-	// configuration specified by the `ancestor_field`.
-	// When false, the `Field`'s index configuration is defined explicitly.
+	// configuration is set from the configuration specified by the
+	// `ancestor_field`. When false, the `Field`'s index configuration is
+	// defined explicitly.
 	UsesAncestorConfig bool `json:"usesAncestorConfig,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AncestorField") to
@@ -830,9 +751,8 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GoogleFirestoreAdminV1beta2IndexField: A field in an index.
-// The field_path describes which field is indexed, the value_mode
-// describes
+// GoogleFirestoreAdminV1beta2IndexField: A field in an index. The
+// field_path describes which field is indexed, the value_mode describes
 // how the field value is indexed.
 type GoogleFirestoreAdminV1beta2IndexField struct {
 	// ArrayConfig: Indicates that this field supports operations on
@@ -844,15 +764,12 @@
 	//   "CONTAINS" - The index supports array containment queries.
 	ArrayConfig string `json:"arrayConfig,omitempty"`
 
-	// FieldPath: Can be __name__.
-	// For single field indexes, this must match the name of the field or
-	// may
-	// be omitted.
+	// FieldPath: Can be __name__. For single field indexes, this must match
+	// the name of the field or may be omitted.
 	FieldPath string `json:"fieldPath,omitempty"`
 
 	// Order: Indicates that this field supports ordering by the specified
-	// order or
-	// comparing using =, <, <=, >, >=.
+	// order or comparing using =, <, <=, >, >=.
 	//
 	// Possible values:
 	//   "ORDER_UNSPECIFIED" - The ordering is unspecified. Not a valid
@@ -885,18 +802,16 @@
 }
 
 // GoogleFirestoreAdminV1beta2IndexOperationMetadata: Metadata for
-// google.longrunning.Operation results from
-// FirestoreAdmin.CreateIndex.
+// google.longrunning.Operation results from FirestoreAdmin.CreateIndex.
 type GoogleFirestoreAdminV1beta2IndexOperationMetadata struct {
 	// EndTime: The time this operation completed. Will be unset if
-	// operation still in
-	// progress.
+	// operation still in progress.
 	EndTime string `json:"endTime,omitempty"`
 
 	// Index: The index resource that this operation is acting on. For
 	// example:
-	// `projects/{project_id}/databases/{database_id}/collectionGrou
-	// ps/{collection_id}/indexes/{index_id}`
+	// `projects/{project_id}/databases/{database_id}/collectionGroups/{colle
+	// ction_id}/indexes/{index_id}`
 	Index string `json:"index,omitempty"`
 
 	// ProgressBytes: The progress, in bytes, of this operation.
@@ -915,16 +830,15 @@
 	//   "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
-	// google.longrunning.Operations.CancelOperation on the operation.
+	// user called google.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
-	// google.longrunning.Operations.CancelOperation.
+	// called google.longrunning.Operations.CancelOperation.
 	State string `json:"state,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "EndTime") to
@@ -957,8 +871,7 @@
 	Fields []*GoogleFirestoreAdminV1beta2Field `json:"fields,omitempty"`
 
 	// NextPageToken: A page token that may be used to request another page
-	// of results. If blank,
-	// this is the last page.
+	// of results. If blank, this is the last page.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -995,8 +908,7 @@
 	Indexes []*GoogleFirestoreAdminV1beta2Index `json:"indexes,omitempty"`
 
 	// NextPageToken: A page token that may be used to request another page
-	// of results. If blank,
-	// this is the last page.
+	// of results. If blank, this is the last page.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1027,10 +939,8 @@
 }
 
 // GoogleFirestoreAdminV1beta2Progress: Describes the progress of the
-// operation.
-// Unit of work is generic and must be interpreted based on where
-// Progress
-// is used.
+// operation. Unit of work is generic and must be interpreted based on
+// where Progress is used.
 type GoogleFirestoreAdminV1beta2Progress struct {
 	// CompletedWork: The amount of work completed.
 	CompletedWork int64 `json:"completedWork,omitempty,string"`
@@ -1062,52 +972,38 @@
 }
 
 // GoogleLongrunningOperation: This resource represents a long-running
-// operation that is the result of a
-// network API call.
+// operation that is the result of a network API call.
 type GoogleLongrunningOperation struct {
 	// Done: 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.
+	// progress. If `true`, the operation is completed, and either `error`
+	// or `response` is available.
 	Done bool `json:"done,omitempty"`
 
 	// Error: The error result of the operation in case of failure or
 	// cancellation.
 	Error *Status `json:"error,omitempty"`
 
-	// Metadata: 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.
+	// Metadata: 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.
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Name: The server-assigned name, which is only unique within the same
-	// service that
-	// originally returns it. If you use the default HTTP mapping,
-	// the
-	// `name` should be a resource name ending with
+	// service that originally returns it. If you use the default HTTP
+	// mapping, the `name` should be a resource name ending with
 	// `operations/{unique_id}`.
 	Name string `json:"name,omitempty"`
 
-	// Response: 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`.
+	// Response: 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`.
 	Response googleapi.RawMessage `json:"response,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1138,32 +1034,24 @@
 }
 
 // Status: The `Status` type defines a logical error model that is
-// suitable for
-// different programming environments, including REST APIs and RPC APIs.
-// It is
-// used by [gRPC](https://github.com/grpc). Each `Status` message
-// contains
-// three pieces of data: error code, error message, and error
-// details.
-//
-// You can find out more about this error model and how to work with it
-// in the
-// [API Design Guide](https://cloud.google.com/apis/design/errors).
+// suitable for different programming environments, including REST APIs
+// and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each
+// `Status` message contains three pieces of data: error code, error
+// message, and error details. You can find out more about this error
+// model and how to work with it in the [API Design
+// Guide](https://cloud.google.com/apis/design/errors).
 type Status struct {
 	// Code: The status code, which should be an enum value of
 	// google.rpc.Code.
 	Code int64 `json:"code,omitempty"`
 
-	// Details: A list of messages that carry the error details.  There is a
-	// common set of
-	// message types for APIs to use.
+	// Details: A list of messages that carry the error details. There is a
+	// common set of message types for APIs to use.
 	Details []googleapi.RawMessage `json:"details,omitempty"`
 
 	// Message: 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.
+	// English. Any user-facing error message should be localized and sent
+	// in the google.rpc.Status.details field, or localized by the client.
 	Message string `json:"message,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Code") to
@@ -1201,20 +1089,13 @@
 }
 
 // ExportDocuments: Exports a copy of all or a subset of documents from
-// Google Cloud Firestore
-// to another storage system, such as Google Cloud Storage. Recent
-// updates to
-// documents may not be reflected in the export. The export occurs in
-// the
-// background and its progress can be monitored and managed via
-// the
-// Operation resource that is created. The output of an export may only
-// be
-// used once the associated operation is done. If an export operation
-// is
-// cancelled before completion it may leave partial data behind in
-// Google
-// Cloud Storage.
+// Google Cloud Firestore to another storage system, such as Google
+// Cloud Storage. Recent updates to documents may not be reflected in
+// the export. The export occurs in the background and its progress can
+// be monitored and managed via the Operation resource that is created.
+// The output of an export may only be used once the associated
+// operation is done. If an export operation is cancelled before
+// completion it may leave partial data behind in Google Cloud Storage.
 func (r *ProjectsDatabasesService) ExportDocuments(name string, googlefirestoreadminv1beta2exportdocumentsrequest *GoogleFirestoreAdminV1beta2ExportDocumentsRequest) *ProjectsDatabasesExportDocumentsCall {
 	c := &ProjectsDatabasesExportDocumentsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -1249,7 +1130,7 @@
 
 func (c *ProjectsDatabasesExportDocumentsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1313,7 +1194,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Exports a copy of all or a subset of documents from Google Cloud Firestore\nto another storage system, such as Google Cloud Storage. Recent updates to\ndocuments may not be reflected in the export. The export occurs in the\nbackground and its progress can be monitored and managed via the\nOperation resource that is created. The output of an export may only be\nused once the associated operation is done. If an export operation is\ncancelled before completion it may leave partial data behind in Google\nCloud Storage.",
+	//   "description": "Exports a copy of all or a subset of documents from Google Cloud Firestore to another storage system, such as Google Cloud Storage. Recent updates to documents may not be reflected in the export. The export occurs in the background and its progress can be monitored and managed via the Operation resource that is created. The output of an export may only be used once the associated operation is done. If an export operation is cancelled before completion it may leave partial data behind in Google Cloud Storage.",
 	//   "flatPath": "v1beta2/projects/{projectsId}/databases/{databasesId}:exportDocuments",
 	//   "httpMethod": "POST",
 	//   "id": "firestore.projects.databases.exportDocuments",
@@ -1322,7 +1203,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Database to export. Should be of the form:\n`projects/{project_id}/databases/{database_id}`.",
+	//       "description": "Database to export. Should be of the form: `projects/{project_id}/databases/{database_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -1356,15 +1237,11 @@
 }
 
 // ImportDocuments: Imports documents into Google Cloud Firestore.
-// Existing documents with the
-// same name are overwritten. The import occurs in the background and
-// its
-// progress can be monitored and managed via the Operation resource that
-// is
-// created. If an ImportDocuments operation is cancelled, it is
-// possible
-// that a subset of the data has already been imported to Cloud
-// Firestore.
+// Existing documents with the same name are overwritten. The import
+// occurs in the background and its progress can be monitored and
+// managed via the Operation resource that is created. If an
+// ImportDocuments operation is cancelled, it is possible that a subset
+// of the data has already been imported to Cloud Firestore.
 func (r *ProjectsDatabasesService) ImportDocuments(name string, googlefirestoreadminv1beta2importdocumentsrequest *GoogleFirestoreAdminV1beta2ImportDocumentsRequest) *ProjectsDatabasesImportDocumentsCall {
 	c := &ProjectsDatabasesImportDocumentsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -1399,7 +1276,7 @@
 
 func (c *ProjectsDatabasesImportDocumentsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1463,7 +1340,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Imports documents into Google Cloud Firestore. Existing documents with the\nsame name are overwritten. The import occurs in the background and its\nprogress can be monitored and managed via the Operation resource that is\ncreated. If an ImportDocuments operation is cancelled, it is possible\nthat a subset of the data has already been imported to Cloud Firestore.",
+	//   "description": "Imports documents into Google Cloud Firestore. Existing documents with the same name are overwritten. The import occurs in the background and its progress can be monitored and managed via the Operation resource that is created. If an ImportDocuments operation is cancelled, it is possible that a subset of the data has already been imported to Cloud Firestore.",
 	//   "flatPath": "v1beta2/projects/{projectsId}/databases/{databasesId}:importDocuments",
 	//   "httpMethod": "POST",
 	//   "id": "firestore.projects.databases.importDocuments",
@@ -1472,7 +1349,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Database to import into. Should be of the form:\n`projects/{project_id}/databases/{database_id}`.",
+	//       "description": "Database to import into. Should be of the form: `projects/{project_id}/databases/{database_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -1549,7 +1426,7 @@
 
 func (c *ProjectsDatabasesCollectionGroupsFieldsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1620,7 +1497,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "A name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_id}`",
+	//       "description": "A name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_id}`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+/fields/[^/]+$",
 	//       "required": true,
@@ -1650,15 +1527,10 @@
 	header_      http.Header
 }
 
-// List: Lists the field configuration and metadata for this
-// database.
-//
-// Currently, FirestoreAdmin.ListFields only supports listing
-// fields
-// that have been explicitly overridden. To issue this query,
-// call
-// FirestoreAdmin.ListFields with the filter set
-// to
+// List: Lists the field configuration and metadata for this database.
+// Currently, FirestoreAdmin.ListFields only supports listing fields
+// that have been explicitly overridden. To issue this query, call
+// FirestoreAdmin.ListFields with the filter set to
 // `indexConfig.usesAncestorConfig:false`.
 func (r *ProjectsDatabasesCollectionGroupsFieldsService) List(parent string) *ProjectsDatabasesCollectionGroupsFieldsListCall {
 	c := &ProjectsDatabasesCollectionGroupsFieldsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -1667,12 +1539,9 @@
 }
 
 // Filter sets the optional parameter "filter": The filter to apply to
-// list results. Currently,
-// FirestoreAdmin.ListFields only supports listing fields
-// that have been explicitly overridden. To issue this query,
-// call
-// FirestoreAdmin.ListFields with the filter set
-// to
+// list results. Currently, FirestoreAdmin.ListFields only supports
+// listing fields that have been explicitly overridden. To issue this
+// query, call FirestoreAdmin.ListFields with the filter set to
 // `indexConfig.usesAncestorConfig:false`.
 func (c *ProjectsDatabasesCollectionGroupsFieldsListCall) Filter(filter string) *ProjectsDatabasesCollectionGroupsFieldsListCall {
 	c.urlParams_.Set("filter", filter)
@@ -1687,9 +1556,8 @@
 }
 
 // PageToken sets the optional parameter "pageToken": A page token,
-// returned from a previous call to
-// FirestoreAdmin.ListFields, that may be used to get the next
-// page of results.
+// returned from a previous call to FirestoreAdmin.ListFields, that may
+// be used to get the next page of results.
 func (c *ProjectsDatabasesCollectionGroupsFieldsListCall) PageToken(pageToken string) *ProjectsDatabasesCollectionGroupsFieldsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -1732,7 +1600,7 @@
 
 func (c *ProjectsDatabasesCollectionGroupsFieldsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1796,7 +1664,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists the field configuration and metadata for this database.\n\nCurrently, FirestoreAdmin.ListFields only supports listing fields\nthat have been explicitly overridden. To issue this query, call\nFirestoreAdmin.ListFields with the filter set to\n`indexConfig.usesAncestorConfig:false`.",
+	//   "description": "Lists the field configuration and metadata for this database. Currently, FirestoreAdmin.ListFields only supports listing fields that have been explicitly overridden. To issue this query, call FirestoreAdmin.ListFields with the filter set to `indexConfig.usesAncestorConfig:false`.",
 	//   "flatPath": "v1beta2/projects/{projectsId}/databases/{databasesId}/collectionGroups/{collectionGroupsId}/fields",
 	//   "httpMethod": "GET",
 	//   "id": "firestore.projects.databases.collectionGroups.fields.list",
@@ -1805,7 +1673,7 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "The filter to apply to list results. Currently,\nFirestoreAdmin.ListFields only supports listing fields\nthat have been explicitly overridden. To issue this query, call\nFirestoreAdmin.ListFields with the filter set to\n`indexConfig.usesAncestorConfig:false`.",
+	//       "description": "The filter to apply to list results. Currently, FirestoreAdmin.ListFields only supports listing fields that have been explicitly overridden. To issue this query, call FirestoreAdmin.ListFields with the filter set to `indexConfig.usesAncestorConfig:false`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -1816,12 +1684,12 @@
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "A page token, returned from a previous call to\nFirestoreAdmin.ListFields, that may be used to get the next\npage of results.",
+	//       "description": "A page token, returned from a previous call to FirestoreAdmin.ListFields, that may be used to get the next page of results.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "A parent name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
+	//       "description": "A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+$",
 	//       "required": true,
@@ -1873,25 +1741,17 @@
 }
 
 // Patch: Updates a field configuration. Currently, field updates apply
-// only to
-// single field index configuration. However, calls
-// to
-// FirestoreAdmin.UpdateField should provide a field mask to
-// avoid
+// only to single field index configuration. However, calls to
+// FirestoreAdmin.UpdateField should provide a field mask to avoid
 // changing any configuration that the caller isn't aware of. The field
-// mask
-// should be specified as: `{ paths: "index_config" }`.
-//
-// This call returns a google.longrunning.Operation which may be used
-// to
-// track the status of the field update. The metadata for
-// the operation will be the type FieldOperationMetadata.
-//
-// To configure the default field settings for the database, use
-// the special `Field` with resource
+// mask should be specified as: `{ paths: "index_config" }`. This call
+// returns a google.longrunning.Operation which may be used to track the
+// status of the field update. The metadata for the operation will be
+// the type FieldOperationMetadata. To configure the default field
+// settings for the database, use the special `Field` with resource
 // name:
-// `projects/{project_id}/databases/{database_id}/collectionGroups/
-// __default__/fields/*`.
+// `projects/{project_id}/databases/{database_id}/collectionGroups/__defa
+// ult__/fields/*`.
 func (r *ProjectsDatabasesCollectionGroupsFieldsService) Patch(name string, googlefirestoreadminv1beta2field *GoogleFirestoreAdminV1beta2Field) *ProjectsDatabasesCollectionGroupsFieldsPatchCall {
 	c := &ProjectsDatabasesCollectionGroupsFieldsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -1900,8 +1760,8 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": A mask, relative
-// to the field. If specified, only configuration specified
-// by this field_mask will be updated in the field.
+// to the field. If specified, only configuration specified by this
+// field_mask will be updated in the field.
 func (c *ProjectsDatabasesCollectionGroupsFieldsPatchCall) UpdateMask(updateMask string) *ProjectsDatabasesCollectionGroupsFieldsPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
 	return c
@@ -1934,7 +1794,7 @@
 
 func (c *ProjectsDatabasesCollectionGroupsFieldsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1998,7 +1858,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates a field configuration. Currently, field updates apply only to\nsingle field index configuration. However, calls to\nFirestoreAdmin.UpdateField should provide a field mask to avoid\nchanging any configuration that the caller isn't aware of. The field mask\nshould be specified as: `{ paths: \"index_config\" }`.\n\nThis call returns a google.longrunning.Operation which may be used to\ntrack the status of the field update. The metadata for\nthe operation will be the type FieldOperationMetadata.\n\nTo configure the default field settings for the database, use\nthe special `Field` with resource name:\n`projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`.",
+	//   "description": "Updates a field configuration. Currently, field updates apply only to single field index configuration. However, calls to FirestoreAdmin.UpdateField should provide a field mask to avoid changing any configuration that the caller isn't aware of. The field mask should be specified as: `{ paths: \"index_config\" }`. This call returns a google.longrunning.Operation which may be used to track the status of the field update. The metadata for the operation will be the type FieldOperationMetadata. To configure the default field settings for the database, use the special `Field` with resource name: `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`.",
 	//   "flatPath": "v1beta2/projects/{projectsId}/databases/{databasesId}/collectionGroups/{collectionGroupsId}/fields/{fieldsId}",
 	//   "httpMethod": "PATCH",
 	//   "id": "firestore.projects.databases.collectionGroups.fields.patch",
@@ -2007,14 +1867,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "A field name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}`\n\nA field path may be a simple field name, e.g. `address` or a path to fields\nwithin map_value , e.g. `address.city`,\nor a special field path. The only valid special field is `*`, which\nrepresents any field.\n\nField paths may be quoted using ` (backtick). The only character that needs\nto be escaped within a quoted field path is the backtick character itself,\nescaped using a backslash. Special characters in field paths that\nmust be quoted include: `*`, `.`,\n``` (backtick), `[`, `]`, as well as any ascii symbolic characters.\n\nExamples:\n(Note: Comments here are written in markdown syntax, so there is an\n additional layer of backticks to represent a code block)\n`\\`address.city\\`` represents a field named `address.city`, not the map key\n`city` in the field `address`.\n`\\`*\\`` represents a field named `*`, not any field.\n\nA special `Field` contains the default indexing settings for all fields.\nThis field's resource name is:\n`projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*`\nIndexes defined on this `Field` will be applied to all fields which do not\nhave their own `Field` index configuration.",
+	//       "description": "A field name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}` A field path may be a simple field name, e.g. `address` or a path to fields within map_value , e.g. `address.city`, or a special field path. The only valid special field is `*`, which represents any field. Field paths may be quoted using ` (backtick). The only character that needs to be escaped within a quoted field path is the backtick character itself, escaped using a backslash. Special characters in field paths that must be quoted include: `*`, `.`, ``` (backtick), `[`, `]`, as well as any ascii symbolic characters. Examples: (Note: Comments here are written in markdown syntax, so there is an additional layer of backticks to represent a code block) `\\`address.city\\`` represents a field named `address.city`, not the map key `city` in the field `address`. `\\`*\\`` represents a field named `*`, not any field. A special `Field` contains the default indexing settings for all fields. This field's resource name is: `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/fields/*` Indexes defined on this `Field` will be applied to all fields which do not have their own `Field` index configuration.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+/fields/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "A mask, relative to the field. If specified, only configuration specified\nby this field_mask will be updated in the field.",
+	//       "description": "A mask, relative to the field. If specified, only configuration specified by this field_mask will be updated in the field.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -2047,10 +1907,9 @@
 }
 
 // Create: Creates a composite index. This returns a
-// google.longrunning.Operation
-// which may be used to track the status of the creation. The metadata
-// for
-// the operation will be the type IndexOperationMetadata.
+// google.longrunning.Operation which may be used to track the status of
+// the creation. The metadata for the operation will be the type
+// IndexOperationMetadata.
 func (r *ProjectsDatabasesCollectionGroupsIndexesService) Create(parent string, googlefirestoreadminv1beta2index *GoogleFirestoreAdminV1beta2Index) *ProjectsDatabasesCollectionGroupsIndexesCreateCall {
 	c := &ProjectsDatabasesCollectionGroupsIndexesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -2085,7 +1944,7 @@
 
 func (c *ProjectsDatabasesCollectionGroupsIndexesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2149,7 +2008,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a composite index. This returns a google.longrunning.Operation\nwhich may be used to track the status of the creation. The metadata for\nthe operation will be the type IndexOperationMetadata.",
+	//   "description": "Creates a composite index. This returns a google.longrunning.Operation which may be used to track the status of the creation. The metadata for the operation will be the type IndexOperationMetadata.",
 	//   "flatPath": "v1beta2/projects/{projectsId}/databases/{databasesId}/collectionGroups/{collectionGroupsId}/indexes",
 	//   "httpMethod": "POST",
 	//   "id": "firestore.projects.databases.collectionGroups.indexes.create",
@@ -2158,7 +2017,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "A parent name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
+	//       "description": "A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+$",
 	//       "required": true,
@@ -2224,7 +2083,7 @@
 
 func (c *ProjectsDatabasesCollectionGroupsIndexesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2292,7 +2151,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "A name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`",
+	//       "description": "A name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+/indexes/[^/]+$",
 	//       "required": true,
@@ -2366,7 +2225,7 @@
 
 func (c *ProjectsDatabasesCollectionGroupsIndexesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2437,7 +2296,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "A name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`",
+	//       "description": "A name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/indexes/{index_id}`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+/indexes/[^/]+$",
 	//       "required": true,
@@ -2489,9 +2348,8 @@
 }
 
 // PageToken sets the optional parameter "pageToken": A page token,
-// returned from a previous call to
-// FirestoreAdmin.ListIndexes, that may be used to get the next
-// page of results.
+// returned from a previous call to FirestoreAdmin.ListIndexes, that may
+// be used to get the next page of results.
 func (c *ProjectsDatabasesCollectionGroupsIndexesListCall) PageToken(pageToken string) *ProjectsDatabasesCollectionGroupsIndexesListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -2534,7 +2392,7 @@
 
 func (c *ProjectsDatabasesCollectionGroupsIndexesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2618,12 +2476,12 @@
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "A page token, returned from a previous call to\nFirestoreAdmin.ListIndexes, that may be used to get the next\npage of results.",
+	//       "description": "A page token, returned from a previous call to FirestoreAdmin.ListIndexes, that may be used to get the next page of results.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "A parent name of the form\n`projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
+	//       "description": "A parent name of the form `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/databases/[^/]+/collectionGroups/[^/]+$",
 	//       "required": true,
diff --git a/games/v1/games-gen.go b/games/v1/games-gen.go
index 769faa2..a35cadf 100644
--- a/games/v1/games-gen.go
+++ b/games/v1/games-gen.go
@@ -3178,7 +3178,7 @@
 
 func (c *AchievementDefinitionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3348,7 +3348,7 @@
 
 func (c *AchievementsIncrementCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3540,7 +3540,7 @@
 
 func (c *AchievementsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3727,7 +3727,7 @@
 
 func (c *AchievementsRevealCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3860,7 +3860,7 @@
 
 func (c *AchievementsSetStepsAtLeastCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3999,7 +3999,7 @@
 
 func (c *AchievementsUnlockCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4129,7 +4129,7 @@
 
 func (c *AchievementsUpdateMultipleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4290,7 +4290,7 @@
 
 func (c *ApplicationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4443,7 +4443,7 @@
 
 func (c *ApplicationsPlayedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4545,7 +4545,7 @@
 
 func (c *ApplicationsVerifyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4710,7 +4710,7 @@
 
 func (c *EventsListByPlayerCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4901,7 +4901,7 @@
 
 func (c *EventsListDefinitionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5067,7 +5067,7 @@
 
 func (c *EventsRecordCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5216,7 +5216,7 @@
 
 func (c *LeaderboardsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5385,7 +5385,7 @@
 
 func (c *LeaderboardsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5553,7 +5553,7 @@
 
 func (c *MetagameGetMetagameConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5710,7 +5710,7 @@
 
 func (c *MetagameListCategoriesByPlayerCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5914,7 +5914,7 @@
 
 func (c *PlayersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6086,7 +6086,7 @@
 
 func (c *PlayersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6275,7 +6275,7 @@
 
 func (c *RevisionsCheckCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6464,7 +6464,7 @@
 
 func (c *ScoresGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6720,7 +6720,7 @@
 
 func (c *ScoresListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6984,7 +6984,7 @@
 
 func (c *ScoresListWindowCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7220,7 +7220,7 @@
 
 func (c *ScoresSubmitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7375,7 +7375,7 @@
 
 func (c *ScoresSubmitMultipleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7524,7 +7524,7 @@
 
 func (c *SnapshotsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7697,7 +7697,7 @@
 
 func (c *SnapshotsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7877,7 +7877,7 @@
 
 func (c *StatsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/gamesconfiguration/v1configuration/gamesconfiguration-gen.go b/gamesconfiguration/v1configuration/gamesconfiguration-gen.go
index 8785a01..88332b5 100644
--- a/gamesconfiguration/v1configuration/gamesconfiguration-gen.go
+++ b/gamesconfiguration/v1configuration/gamesconfiguration-gen.go
@@ -721,7 +721,7 @@
 
 func (c *AchievementConfigurationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -834,7 +834,7 @@
 
 func (c *AchievementConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -968,7 +968,7 @@
 
 func (c *AchievementConfigurationsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1133,7 +1133,7 @@
 
 func (c *AchievementConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1301,7 +1301,7 @@
 
 func (c *AchievementConfigurationsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1481,7 +1481,7 @@
 
 func (c *ImageConfigurationsUploadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1669,7 +1669,7 @@
 
 func (c *LeaderboardConfigurationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1782,7 +1782,7 @@
 
 func (c *LeaderboardConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1916,7 +1916,7 @@
 
 func (c *LeaderboardConfigurationsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2081,7 +2081,7 @@
 
 func (c *LeaderboardConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2249,7 +2249,7 @@
 
 func (c *LeaderboardConfigurationsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/gameservices/v1/gameservices-gen.go b/gameservices/v1/gameservices-gen.go
index 5b68199..9068179 100644
--- a/gameservices/v1/gameservices-gen.go
+++ b/gameservices/v1/gameservices-gen.go
@@ -2808,7 +2808,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2982,7 +2982,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3167,7 +3167,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3310,7 +3310,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3445,7 +3445,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsFetchDeploymentStateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3594,7 +3594,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3755,7 +3755,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3905,7 +3905,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsGetRolloutCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4081,7 +4081,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4269,7 +4269,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4434,7 +4434,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsPreviewRolloutCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4590,7 +4590,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4735,7 +4735,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4891,7 +4891,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsUpdateRolloutCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5047,7 +5047,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsConfigsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5192,7 +5192,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsConfigsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5333,7 +5333,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsConfigsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5510,7 +5510,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsConfigsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5696,7 +5696,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5837,7 +5837,7 @@
 
 func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5980,7 +5980,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6154,7 +6154,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6333,7 +6333,7 @@
 
 func (c *ProjectsLocationsRealmsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6476,7 +6476,7 @@
 
 func (c *ProjectsLocationsRealmsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6617,7 +6617,7 @@
 
 func (c *ProjectsLocationsRealmsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6793,7 +6793,7 @@
 
 func (c *ProjectsLocationsRealmsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6979,7 +6979,7 @@
 
 func (c *ProjectsLocationsRealmsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7141,7 +7141,7 @@
 
 func (c *ProjectsLocationsRealmsPreviewUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7302,7 +7302,7 @@
 
 func (c *ProjectsLocationsRealmsGameServerClustersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7445,7 +7445,7 @@
 
 func (c *ProjectsLocationsRealmsGameServerClustersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7586,7 +7586,7 @@
 
 func (c *ProjectsLocationsRealmsGameServerClustersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7762,7 +7762,7 @@
 
 func (c *ProjectsLocationsRealmsGameServerClustersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7949,7 +7949,7 @@
 
 func (c *ProjectsLocationsRealmsGameServerClustersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8111,7 +8111,7 @@
 
 func (c *ProjectsLocationsRealmsGameServerClustersPreviewCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8268,7 +8268,7 @@
 
 func (c *ProjectsLocationsRealmsGameServerClustersPreviewDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8424,7 +8424,7 @@
 
 func (c *ProjectsLocationsRealmsGameServerClustersPreviewUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/gameservices/v1beta/gameservices-gen.go b/gameservices/v1beta/gameservices-gen.go
index 755004e..c53451a 100644
--- a/gameservices/v1beta/gameservices-gen.go
+++ b/gameservices/v1beta/gameservices-gen.go
@@ -2808,7 +2808,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2982,7 +2982,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3167,7 +3167,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3310,7 +3310,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3445,7 +3445,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsFetchDeploymentStateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3594,7 +3594,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3755,7 +3755,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3905,7 +3905,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsGetRolloutCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4081,7 +4081,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4269,7 +4269,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4434,7 +4434,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsPreviewRolloutCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4590,7 +4590,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4735,7 +4735,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4891,7 +4891,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsUpdateRolloutCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5047,7 +5047,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsConfigsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5192,7 +5192,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsConfigsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5333,7 +5333,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsConfigsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5510,7 +5510,7 @@
 
 func (c *ProjectsLocationsGameServerDeploymentsConfigsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5696,7 +5696,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5837,7 +5837,7 @@
 
 func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5980,7 +5980,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6154,7 +6154,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6333,7 +6333,7 @@
 
 func (c *ProjectsLocationsRealmsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6476,7 +6476,7 @@
 
 func (c *ProjectsLocationsRealmsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6617,7 +6617,7 @@
 
 func (c *ProjectsLocationsRealmsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6793,7 +6793,7 @@
 
 func (c *ProjectsLocationsRealmsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6979,7 +6979,7 @@
 
 func (c *ProjectsLocationsRealmsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7141,7 +7141,7 @@
 
 func (c *ProjectsLocationsRealmsPreviewUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7302,7 +7302,7 @@
 
 func (c *ProjectsLocationsRealmsGameServerClustersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7445,7 +7445,7 @@
 
 func (c *ProjectsLocationsRealmsGameServerClustersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7586,7 +7586,7 @@
 
 func (c *ProjectsLocationsRealmsGameServerClustersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7762,7 +7762,7 @@
 
 func (c *ProjectsLocationsRealmsGameServerClustersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7949,7 +7949,7 @@
 
 func (c *ProjectsLocationsRealmsGameServerClustersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8111,7 +8111,7 @@
 
 func (c *ProjectsLocationsRealmsGameServerClustersPreviewCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8268,7 +8268,7 @@
 
 func (c *ProjectsLocationsRealmsGameServerClustersPreviewDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8424,7 +8424,7 @@
 
 func (c *ProjectsLocationsRealmsGameServerClustersPreviewUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/gamesmanagement/v1management/gamesmanagement-gen.go b/gamesmanagement/v1management/gamesmanagement-gen.go
index ad72fd0..9f7f40c 100644
--- a/gamesmanagement/v1management/gamesmanagement-gen.go
+++ b/gamesmanagement/v1management/gamesmanagement-gen.go
@@ -783,7 +783,7 @@
 
 func (c *AchievementsResetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -912,7 +912,7 @@
 
 func (c *AchievementsResetAllCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1029,7 +1029,7 @@
 
 func (c *AchievementsResetAllForAllPlayersCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1120,7 +1120,7 @@
 
 func (c *AchievementsResetForAllPlayersCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1223,7 +1223,7 @@
 
 func (c *AchievementsResetMultipleForAllPlayersCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1349,7 +1349,7 @@
 
 func (c *ApplicationsListHiddenCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1515,7 +1515,7 @@
 
 func (c *EventsResetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1616,7 +1616,7 @@
 
 func (c *EventsResetAllCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1704,7 +1704,7 @@
 
 func (c *EventsResetAllForAllPlayersCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1795,7 +1795,7 @@
 
 func (c *EventsResetForAllPlayersCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1898,7 +1898,7 @@
 
 func (c *EventsResetMultipleForAllPlayersCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1999,7 +1999,7 @@
 
 func (c *PlayersHideCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2112,7 +2112,7 @@
 
 func (c *PlayersUnhideCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2223,7 +2223,7 @@
 
 func (c *ScoresResetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2352,7 +2352,7 @@
 
 func (c *ScoresResetAllCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2469,7 +2469,7 @@
 
 func (c *ScoresResetAllForAllPlayersCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2560,7 +2560,7 @@
 
 func (c *ScoresResetForAllPlayersCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2664,7 +2664,7 @@
 
 func (c *ScoresResetMultipleForAllPlayersCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/genomics/v1/genomics-gen.go b/genomics/v1/genomics-gen.go
index b20ce00..693e161 100644
--- a/genomics/v1/genomics-gen.go
+++ b/genomics/v1/genomics-gen.go
@@ -993,7 +993,7 @@
 
 func (c *OperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1147,7 +1147,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1335,7 +1335,7 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/genomics/v1alpha2/genomics-gen.go b/genomics/v1alpha2/genomics-gen.go
index dcc092e..588b1c3 100644
--- a/genomics/v1alpha2/genomics-gen.go
+++ b/genomics/v1alpha2/genomics-gen.go
@@ -1854,7 +1854,7 @@
 
 func (c *OperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2008,7 +2008,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2196,7 +2196,7 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2371,7 +2371,7 @@
 
 func (c *PipelinesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2498,7 +2498,7 @@
 
 func (c *PipelinesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2640,7 +2640,7 @@
 
 func (c *PipelinesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2797,7 +2797,7 @@
 
 func (c *PipelinesGetControllerConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2970,7 +2970,7 @@
 
 func (c *PipelinesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3140,7 +3140,7 @@
 
 func (c *PipelinesRunCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3270,7 +3270,7 @@
 
 func (c *PipelinesSetOperationStatusCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/genomics/v2alpha1/genomics-gen.go b/genomics/v2alpha1/genomics-gen.go
index 5a53d44..cb615e8 100644
--- a/genomics/v2alpha1/genomics-gen.go
+++ b/genomics/v2alpha1/genomics-gen.go
@@ -1908,7 +1908,7 @@
 
 func (c *PipelinesRunCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2042,7 +2042,7 @@
 
 func (c *ProjectsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2196,7 +2196,7 @@
 
 func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2384,7 +2384,7 @@
 
 func (c *ProjectsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2558,7 +2558,7 @@
 
 func (c *ProjectsWorkersCheckInCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2700,7 +2700,7 @@
 
 func (c *WorkersCheckInCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/gmail/v1/gmail-api.json b/gmail/v1/gmail-api.json
index 99723ea..86b16ba 100644
--- a/gmail/v1/gmail-api.json
+++ b/gmail/v1/gmail-api.json
@@ -2682,7 +2682,7 @@
       }
     }
   },
-  "revision": "20200803",
+  "revision": "20200810",
   "rootUrl": "https://www.googleapis.com/",
   "schemas": {
     "AutoForwarding": {
@@ -3069,7 +3069,7 @@
       "properties": {
         "color": {
           "$ref": "LabelColor",
-          "description": "The color to assign to the label. Color is only available for labels that have their `type` set to `user`. @mutable gmail.users.labels.create gmail.users.labels.update"
+          "description": "The color to assign to the label. Color is only available for labels that have their `type` set to `user`."
         },
         "id": {
           "annotations": {
@@ -3087,7 +3087,7 @@
               "gmail.users.labels.update"
             ]
           },
-          "description": "The visibility of the label in the label list in the Gmail web interface. @mutable gmail.users.labels.create gmail.users.labels.update",
+          "description": "The visibility of the label in the label list in the Gmail web interface.",
           "enum": [
             "labelShow",
             "labelShowIfUnread",
@@ -3107,7 +3107,7 @@
               "gmail.users.labels.update"
             ]
           },
-          "description": "The visibility of messages with this label in the message list in the Gmail web interface. @mutable gmail.users.labels.create gmail.users.labels.update",
+          "description": "The visibility of messages with this label in the message list in the Gmail web interface.",
           "enum": [
             "show",
             "hide"
@@ -3135,7 +3135,7 @@
               "gmail.users.labels.update"
             ]
           },
-          "description": "The display name of the label. @mutable gmail.users.labels.create gmail.users.labels.update",
+          "description": "The display name of the label.",
           "type": "string"
         },
         "threadsTotal": {
@@ -3167,11 +3167,11 @@
       "id": "LabelColor",
       "properties": {
         "backgroundColor": {
-          "description": "The background color represented as hex string #RRGGBB (ex #000000). This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: # 000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, # fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, # f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, # efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, # e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, # cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, # ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, # 822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c # 464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, # 711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, # 594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, # c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, # 662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765 @mutable gmail.users.labels.create gmail.users.labels.update",
+          "description": "The background color represented as hex string #RRGGBB (ex #000000). This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \\#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \\#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \\#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \\#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \\#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \\#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \\#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \\#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c \\#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \\#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \\#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \\#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \\#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765",
           "type": "string"
         },
         "textColor": {
-          "description": "The text color of the label, represented as hex string. This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: # 000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, # fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, # f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, # efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, # e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, # cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, # ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, # 822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c # 464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, # 711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, # 594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, # c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, # 662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765 @mutable gmail.users.labels.create gmail.users.labels.update",
+          "description": "The text color of the label, represented as hex string. This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \\#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \\#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \\#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \\#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \\#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \\#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \\#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \\#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c \\#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \\#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \\#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \\#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \\#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765",
           "type": "string"
         }
       },
@@ -3193,7 +3193,7 @@
       "id": "ListDelegatesResponse",
       "properties": {
         "delegates": {
-          "description": "List of the user's delegates (with any verification status).",
+          "description": "List of the user's delegates (with any verification status). If an account doesn't have delegates, this field doesn't appear.",
           "items": {
             "$ref": "Delegate"
           },
@@ -3377,7 +3377,7 @@
           "type": "string"
         },
         "labelIds": {
-          "description": "List of IDs of labels applied to this message. @mutable gmail.users.messages.insert gmail.users.messages.modify",
+          "description": "List of IDs of labels applied to this message.",
           "items": {
             "type": "string"
           },
@@ -3396,7 +3396,7 @@
               "gmail.users.messages.send"
             ]
           },
-          "description": "The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @mutable gmail.users.messages.insert gmail.users.messages.send @mutable gmail.users.drafts.create gmail.users.drafts.update",
+          "description": "The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied.",
           "format": "byte",
           "type": "string"
         },
@@ -3410,7 +3410,7 @@
           "type": "string"
         },
         "threadId": {
-          "description": "The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the RFC 2822 standard. 3. The `Subject` headers must match. @mutable gmail.users.messages.insert gmail.users.messages.send @mutable gmail.users.drafts.create gmail.users.drafts.update",
+          "description": "The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. ",
           "type": "string"
         }
       },
diff --git a/gmail/v1/gmail-gen.go b/gmail/v1/gmail-gen.go
index 78e73fa..819beea 100644
--- a/gmail/v1/gmail-gen.go
+++ b/gmail/v1/gmail-gen.go
@@ -941,16 +941,14 @@
 // user's mailbox.
 type Label struct {
 	// Color: The color to assign to the label. Color is only available for
-	// labels that have their `type` set to `user`. @mutable
-	// gmail.users.labels.create gmail.users.labels.update
+	// labels that have their `type` set to `user`.
 	Color *LabelColor `json:"color,omitempty"`
 
 	// Id: The immutable ID of the label.
 	Id string `json:"id,omitempty"`
 
 	// LabelListVisibility: The visibility of the label in the label list in
-	// the Gmail web interface. @mutable gmail.users.labels.create
-	// gmail.users.labels.update
+	// the Gmail web interface.
 	//
 	// Possible values:
 	//   "labelShow" - Show the label in the label list.
@@ -960,8 +958,7 @@
 	LabelListVisibility string `json:"labelListVisibility,omitempty"`
 
 	// MessageListVisibility: The visibility of messages with this label in
-	// the message list in the Gmail web interface. @mutable
-	// gmail.users.labels.create gmail.users.labels.update
+	// the message list in the Gmail web interface.
 	//
 	// Possible values:
 	//   "show" - Show the label in the message list.
@@ -974,8 +971,7 @@
 	// MessagesUnread: The number of unread messages with the label.
 	MessagesUnread int64 `json:"messagesUnread,omitempty"`
 
-	// Name: The display name of the label. @mutable
-	// gmail.users.labels.create gmail.users.labels.update
+	// Name: The display name of the label.
 	Name string `json:"name,omitempty"`
 
 	// ThreadsTotal: The total number of threads with the label.
@@ -1030,43 +1026,41 @@
 	// BackgroundColor: The background color represented as hex string
 	// #RRGGBB (ex #000000). This field is required in order to set the
 	// color of a label. Only the following predefined set of color values
-	// are allowed: # 000000, #434343, #666666, #999999, #cccccc, #efefef,
-	// #f3f3f3, #ffffff, # fb4c2f, #ffad47, #fad165, #16a766, #43d692,
-	// #4a86e8, #a479e2, #f691b3, # f6c5be, #ffe6c7, #fef1d1, #b9e4d0,
-	// #c6f3de, #c9daf8, #e4d7f5, #fcdee8, # efa093, #ffd6a2, #fce8b3,
-	// #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, # e66550, #ffbc6b,
-	// #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, # cc3a21,
-	// #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, #
-	// ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b,
-	// #b65775, # 822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587,
-	// #41236d, #83334c # 464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44,
-	// #98d7e4, #3d188e, #e3d7ff, # 711a36, #fbd3e0, #8a1c0a, #f2b2a8,
-	// #7a2e0b, #ffc8af, #7a4706, #ffdeb5, # 594c05, #fbe983, #684e07,
-	// #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, # c2c2c2, #4986e7,
-	// #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, # 662e37,
-	// #ebdbde, #cca6ac, #094228, #42d692, #16a765 @mutable
-	// gmail.users.labels.create gmail.users.labels.update
+	// are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef,
+	// #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692,
+	// #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0,
+	// #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3,
+	// #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b,
+	// #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21,
+	// #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798,
+	// \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b,
+	// #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587,
+	// #41236d, #83334c \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44,
+	// #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8,
+	// #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07,
+	// #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7,
+	// #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37,
+	// #ebdbde, #cca6ac, #094228, #42d692, #16a765
 	BackgroundColor string `json:"backgroundColor,omitempty"`
 
 	// TextColor: The text color of the label, represented as hex string.
 	// This field is required in order to set the color of a label. Only the
-	// following predefined set of color values are allowed: # 000000,
-	// #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, #
-	// fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2,
-	// #f691b3, # f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8,
-	// #e4d7f5, #fcdee8, # efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9,
-	// #a4c2f4, #d0bcf1, #fbc8d9, # e66550, #ffbc6b, #fcda83, #44b984,
-	// #68dfa9, #6d9eeb, #b694e8, #f7a7c0, # cc3a21, #eaa041, #f2c960,
-	// #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, # ac2b16, #cf8933,
-	// #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, # 822111,
-	// #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c #
-	// 464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e,
-	// #e3d7ff, # 711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af,
-	// #7a4706, #ffdeb5, # 594c05, #fbe983, #684e07, #fdedc1, #0b4f30,
-	// #b3efd3, #04502e, #a2dcc1, # c2c2c2, #4986e7, #2da2bb, #b99aff,
-	// #994a64, #f691b2, #ff7537, #ffad46, # 662e37, #ebdbde, #cca6ac,
-	// #094228, #42d692, #16a765 @mutable gmail.users.labels.create
-	// gmail.users.labels.update
+	// following predefined set of color values are allowed: \#000000,
+	// #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff,
+	// \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2,
+	// #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8,
+	// #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9,
+	// #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984,
+	// #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960,
+	// #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933,
+	// #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111,
+	// #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c
+	// \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e,
+	// #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af,
+	// #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30,
+	// #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff,
+	// #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac,
+	// #094228, #42d692, #16a765
 	TextColor string `json:"textColor,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "BackgroundColor") to
@@ -1140,7 +1134,8 @@
 // ListDelegatesResponse: Response for the ListDelegates method.
 type ListDelegatesResponse struct {
 	// Delegates: List of the user's delegates (with any verification
-	// status).
+	// status). If an account doesn't have delegates, this field doesn't
+	// appear.
 	Delegates []*Delegate `json:"delegates,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1510,8 +1505,7 @@
 	// the `Date` header.
 	InternalDate int64 `json:"internalDate,omitempty,string"`
 
-	// LabelIds: List of IDs of labels applied to this message. @mutable
-	// gmail.users.messages.insert gmail.users.messages.modify
+	// LabelIds: List of IDs of labels applied to this message.
 	LabelIds []string `json:"labelIds,omitempty"`
 
 	// Payload: The parsed email structure in the message parts.
@@ -1519,9 +1513,7 @@
 
 	// Raw: The entire email message in an RFC 2822 formatted and base64url
 	// encoded string. Returned in `messages.get` and `drafts.get` responses
-	// when the `format=RAW` parameter is supplied. @mutable
-	// gmail.users.messages.insert gmail.users.messages.send @mutable
-	// gmail.users.drafts.create gmail.users.drafts.update
+	// when the `format=RAW` parameter is supplied.
 	Raw string `json:"raw,omitempty"`
 
 	// SizeEstimate: Estimated size in bytes of the message.
@@ -1534,10 +1526,9 @@
 	// message or draft to a thread, the following criteria must be met: 1.
 	// The requested `threadId` must be specified on the `Message` or
 	// `Draft.Message` you supply with your request. 2. The `References` and
-	// `In-Reply-To` headers must be set in compliance with the RFC 2822
-	// standard. 3. The `Subject` headers must match. @mutable
-	// gmail.users.messages.insert gmail.users.messages.send @mutable
-	// gmail.users.drafts.create gmail.users.drafts.update
+	// `In-Reply-To` headers must be set in compliance with the [RFC
+	// 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject`
+	// headers must match.
 	ThreadId string `json:"threadId,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2313,7 +2304,7 @@
 
 func (c *UsersGetProfileCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2450,7 +2441,7 @@
 
 func (c *UsersStopCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2558,7 +2549,7 @@
 
 func (c *UsersWatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2741,7 +2732,7 @@
 
 func (c *UsersDraftsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2930,7 +2921,7 @@
 
 func (c *UsersDraftsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3077,7 +3068,7 @@
 
 func (c *UsersDraftsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3280,7 +3271,7 @@
 
 func (c *UsersDraftsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3503,7 +3494,7 @@
 
 func (c *UsersDraftsSendCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3733,7 +3724,7 @@
 
 func (c *UsersDraftsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3991,7 +3982,7 @@
 
 func (c *UsersHistoryListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4191,7 +4182,7 @@
 
 func (c *UsersLabelsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4334,7 +4325,7 @@
 
 func (c *UsersLabelsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4459,7 +4450,7 @@
 
 func (c *UsersLabelsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4615,7 +4606,7 @@
 
 func (c *UsersLabelsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4756,7 +4747,7 @@
 
 func (c *UsersLabelsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4908,7 +4899,7 @@
 
 func (c *UsersLabelsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5060,7 +5051,7 @@
 
 func (c *UsersMessagesBatchDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5172,7 +5163,7 @@
 
 func (c *UsersMessagesBatchModifyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5286,7 +5277,7 @@
 
 func (c *UsersMessagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5437,7 +5428,7 @@
 
 func (c *UsersMessagesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5689,7 +5680,7 @@
 
 func (c *UsersMessagesImportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5971,7 +5962,7 @@
 
 func (c *UsersMessagesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6225,7 +6216,7 @@
 
 func (c *UsersMessagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6415,7 +6406,7 @@
 
 func (c *UsersMessagesModifyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6605,7 +6596,7 @@
 
 func (c *UsersMessagesSendCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6794,7 +6785,7 @@
 
 func (c *UsersMessagesTrashCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6935,7 +6926,7 @@
 
 func (c *UsersMessagesUntrashCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7089,7 +7080,7 @@
 
 func (c *UsersMessagesAttachmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7254,7 +7245,7 @@
 
 func (c *UsersSettingsGetAutoForwardingCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7401,7 +7392,7 @@
 
 func (c *UsersSettingsGetImapCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7548,7 +7539,7 @@
 
 func (c *UsersSettingsGetLanguageCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7695,7 +7686,7 @@
 
 func (c *UsersSettingsGetPopCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7842,7 +7833,7 @@
 
 func (c *UsersSettingsGetVacationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7984,7 +7975,7 @@
 
 func (c *UsersSettingsUpdateAutoForwardingCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8124,7 +8115,7 @@
 
 func (c *UsersSettingsUpdateImapCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8269,7 +8260,7 @@
 
 func (c *UsersSettingsUpdateLanguageCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8409,7 +8400,7 @@
 
 func (c *UsersSettingsUpdatePopCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8549,7 +8540,7 @@
 
 func (c *UsersSettingsUpdateVacationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8700,7 +8691,7 @@
 
 func (c *UsersSettingsDelegatesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8845,7 +8836,7 @@
 
 func (c *UsersSettingsDelegatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8971,7 +8962,7 @@
 
 func (c *UsersSettingsDelegatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9128,7 +9119,7 @@
 
 func (c *UsersSettingsDelegatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9266,7 +9257,7 @@
 
 func (c *UsersSettingsFiltersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9406,7 +9397,7 @@
 
 func (c *UsersSettingsFiltersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9529,7 +9520,7 @@
 
 func (c *UsersSettingsFiltersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9684,7 +9675,7 @@
 
 func (c *UsersSettingsFiltersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9827,7 +9818,7 @@
 
 func (c *UsersSettingsForwardingAddressesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9970,7 +9961,7 @@
 
 func (c *UsersSettingsForwardingAddressesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10093,7 +10084,7 @@
 
 func (c *UsersSettingsForwardingAddressesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10248,7 +10239,7 @@
 
 func (c *UsersSettingsForwardingAddressesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10395,7 +10386,7 @@
 
 func (c *UsersSettingsSendAsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10538,7 +10529,7 @@
 
 func (c *UsersSettingsSendAsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10662,7 +10653,7 @@
 
 func (c *UsersSettingsSendAsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10819,7 +10810,7 @@
 
 func (c *UsersSettingsSendAsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10959,7 +10950,7 @@
 
 func (c *UsersSettingsSendAsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11114,7 +11105,7 @@
 
 func (c *UsersSettingsSendAsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11266,7 +11257,7 @@
 
 func (c *UsersSettingsSendAsVerifyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11381,7 +11372,7 @@
 
 func (c *UsersSettingsSendAsSmimeInfoDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11516,7 +11507,7 @@
 
 func (c *UsersSettingsSendAsSmimeInfoGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11674,7 +11665,7 @@
 
 func (c *UsersSettingsSendAsSmimeInfoInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11834,7 +11825,7 @@
 
 func (c *UsersSettingsSendAsSmimeInfoListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11984,7 +11975,7 @@
 
 func (c *UsersSettingsSendAsSmimeInfoSetDefaultCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12106,7 +12097,7 @@
 
 func (c *UsersThreadsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12253,7 +12244,7 @@
 
 func (c *UsersThreadsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12471,7 +12462,7 @@
 
 func (c *UsersThreadsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12662,7 +12653,7 @@
 
 func (c *UsersThreadsModifyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12811,7 +12802,7 @@
 
 func (c *UsersThreadsTrashCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12952,7 +12943,7 @@
 
 func (c *UsersThreadsUntrashCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200806")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/gmailpostmastertools/v1beta1/gmailpostmastertools-api.json b/gmailpostmastertools/v1beta1/gmailpostmastertools-api.json
index a370622..51aa547 100644
--- a/gmailpostmastertools/v1beta1/gmailpostmastertools-api.json
+++ b/gmailpostmastertools/v1beta1/gmailpostmastertools-api.json
@@ -12,7 +12,7 @@
   "baseUrl": "https://gmailpostmastertools.googleapis.com/",
   "batchPath": "batch",
   "canonicalName": "Postmaster Tools",
-  "description": "The Gmail Postmaster API is a RESTful API that provides programmatic access to email traffic metrics (like spam reports, delivery errors etc) otherwise available through the Gmail Postmaster Tools UI currently.",
+  "description": "The Postmaster Tools API is a RESTful API that provides programmatic access to email traffic metrics (like spam reports, delivery errors etc) otherwise available through the Gmail Postmaster Tools UI currently.",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/gmail/postmaster",
   "fullyEncodeReservedExpansion": true,
@@ -265,7 +265,7 @@
       }
     }
   },
-  "revision": "20200803",
+  "revision": "20200813",
   "rootUrl": "https://gmailpostmastertools.googleapis.com/",
   "schemas": {
     "DeliveryError": {
@@ -527,7 +527,7 @@
     }
   },
   "servicePath": "",
-  "title": "Gmail Postmaster Tools API",
+  "title": "Postmaster Tools API",
   "version": "v1beta1",
   "version_module": true
 }
\ No newline at end of file
diff --git a/gmailpostmastertools/v1beta1/gmailpostmastertools-gen.go b/gmailpostmastertools/v1beta1/gmailpostmastertools-gen.go
index 5beee28..73649af 100644
--- a/gmailpostmastertools/v1beta1/gmailpostmastertools-gen.go
+++ b/gmailpostmastertools/v1beta1/gmailpostmastertools-gen.go
@@ -4,7 +4,7 @@
 
 // Code generated file. DO NOT EDIT.
 
-// Package gmailpostmastertools provides access to the Gmail Postmaster Tools API.
+// Package gmailpostmastertools provides access to the Postmaster Tools API.
 //
 // For product documentation, see: https://developers.google.com/gmail/postmaster
 //
@@ -654,7 +654,7 @@
 
 func (c *DomainsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -816,7 +816,7 @@
 
 func (c *DomainsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -982,7 +982,7 @@
 
 func (c *DomainsTrafficStatsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1194,7 +1194,7 @@
 
 func (c *DomainsTrafficStatsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/groupssettings/v1/groupssettings-gen.go b/groupssettings/v1/groupssettings-gen.go
index cbf2b90..2aa64be 100644
--- a/groupssettings/v1/groupssettings-gen.go
+++ b/groupssettings/v1/groupssettings-gen.go
@@ -781,7 +781,7 @@
 
 func (c *GroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -915,7 +915,7 @@
 
 func (c *GroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1053,7 +1053,7 @@
 
 func (c *GroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/healthcare/v1/healthcare-gen.go b/healthcare/v1/healthcare-gen.go
index fcc43c9..f1ca6d2 100644
--- a/healthcare/v1/healthcare-gen.go
+++ b/healthcare/v1/healthcare-gen.go
@@ -3860,7 +3860,7 @@
 
 func (c *ProjectsLocationsDatasetsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4022,7 +4022,7 @@
 
 func (c *ProjectsLocationsDatasetsDeidentifyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4164,7 +4164,7 @@
 
 func (c *ProjectsLocationsDatasetsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4305,7 +4305,7 @@
 
 func (c *ProjectsLocationsDatasetsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4477,7 +4477,7 @@
 
 func (c *ProjectsLocationsDatasetsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4642,7 +4642,7 @@
 
 func (c *ProjectsLocationsDatasetsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4820,7 +4820,7 @@
 
 func (c *ProjectsLocationsDatasetsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4971,7 +4971,7 @@
 
 func (c *ProjectsLocationsDatasetsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5121,7 +5121,7 @@
 
 func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5269,7 +5269,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5429,7 +5429,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresDeidentifyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5569,7 +5569,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5707,7 +5707,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresExportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5856,7 +5856,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6028,7 +6028,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6175,7 +6175,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresImportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6352,7 +6352,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6535,7 +6535,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6697,7 +6697,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6824,7 +6824,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6951,7 +6951,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7067,7 +7067,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7215,7 +7215,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7335,7 +7335,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7486,7 +7486,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7643,7 +7643,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7770,7 +7770,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7897,7 +7897,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8024,7 +8024,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8143,7 +8143,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8265,7 +8265,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8423,7 +8423,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8550,7 +8550,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8677,7 +8677,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8795,7 +8795,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8953,7 +8953,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9083,7 +9083,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9211,7 +9211,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9339,7 +9339,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9469,7 +9469,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9589,7 +9589,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9743,7 +9743,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresDeidentifyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9882,7 +9882,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10032,7 +10032,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresExportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10181,7 +10181,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10353,7 +10353,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10609,7 +10609,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresImportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10786,7 +10786,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10969,7 +10969,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11120,7 +11120,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11270,7 +11270,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11524,7 +11524,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11667,7 +11667,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11836,7 +11836,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11973,7 +11973,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12105,7 +12105,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12261,7 +12261,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12455,7 +12455,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12613,7 +12613,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12761,7 +12761,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12961,7 +12961,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13108,7 +13108,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13246,7 +13246,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13357,7 +13357,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13502,7 +13502,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13643,7 +13643,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13815,7 +13815,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13993,7 +13993,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14176,7 +14176,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14327,7 +14327,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14477,7 +14477,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14627,7 +14627,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14765,7 +14765,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14921,7 +14921,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15085,7 +15085,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15330,7 +15330,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15540,7 +15540,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15703,7 +15703,7 @@
 
 func (c *ProjectsLocationsDatasetsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15856,7 +15856,7 @@
 
 func (c *ProjectsLocationsDatasetsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16037,7 +16037,7 @@
 
 func (c *ProjectsLocationsDatasetsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/healthcare/v1beta1/healthcare-gen.go b/healthcare/v1beta1/healthcare-gen.go
index 069c70f..d0c275e 100644
--- a/healthcare/v1beta1/healthcare-gen.go
+++ b/healthcare/v1beta1/healthcare-gen.go
@@ -6039,7 +6039,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6205,7 +6205,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6394,7 +6394,7 @@
 
 func (c *ProjectsLocationsDatasetsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6559,7 +6559,7 @@
 
 func (c *ProjectsLocationsDatasetsDeidentifyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6701,7 +6701,7 @@
 
 func (c *ProjectsLocationsDatasetsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6842,7 +6842,7 @@
 
 func (c *ProjectsLocationsDatasetsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7014,7 +7014,7 @@
 
 func (c *ProjectsLocationsDatasetsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7179,7 +7179,7 @@
 
 func (c *ProjectsLocationsDatasetsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7357,7 +7357,7 @@
 
 func (c *ProjectsLocationsDatasetsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7508,7 +7508,7 @@
 
 func (c *ProjectsLocationsDatasetsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7658,7 +7658,7 @@
 
 func (c *ProjectsLocationsDatasetsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7807,7 +7807,7 @@
 
 func (c *ProjectsLocationsDatasetsAnnotationStoresCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7952,7 +7952,7 @@
 
 func (c *ProjectsLocationsDatasetsAnnotationStoresDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8092,7 +8092,7 @@
 
 func (c *ProjectsLocationsDatasetsAnnotationStoresEvaluateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8246,7 +8246,7 @@
 
 func (c *ProjectsLocationsDatasetsAnnotationStoresExportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8397,7 +8397,7 @@
 
 func (c *ProjectsLocationsDatasetsAnnotationStoresGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8569,7 +8569,7 @@
 
 func (c *ProjectsLocationsDatasetsAnnotationStoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8725,7 +8725,7 @@
 
 func (c *ProjectsLocationsDatasetsAnnotationStoresImportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8903,7 +8903,7 @@
 
 func (c *ProjectsLocationsDatasetsAnnotationStoresListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9086,7 +9086,7 @@
 
 func (c *ProjectsLocationsDatasetsAnnotationStoresPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9237,7 +9237,7 @@
 
 func (c *ProjectsLocationsDatasetsAnnotationStoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9387,7 +9387,7 @@
 
 func (c *ProjectsLocationsDatasetsAnnotationStoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9530,7 +9530,7 @@
 
 func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9669,7 +9669,7 @@
 
 func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9810,7 +9810,7 @@
 
 func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10007,7 +10007,7 @@
 
 func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10200,7 +10200,7 @@
 
 func (c *ProjectsLocationsDatasetsAnnotationStoresAnnotationsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10354,7 +10354,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10516,7 +10516,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresDeidentifyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10656,7 +10656,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10794,7 +10794,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresExportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10943,7 +10943,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11115,7 +11115,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11267,7 +11267,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresImportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11444,7 +11444,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11627,7 +11627,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11788,7 +11788,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresSearchForInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11913,7 +11913,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresSearchForSeriesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12039,7 +12039,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresSearchForStudiesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12155,7 +12155,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12303,7 +12303,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStoreInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12423,7 +12423,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12566,7 +12566,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12722,7 +12722,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveMetadataCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12848,7 +12848,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesRetrieveStudyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12974,7 +12974,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13099,7 +13099,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSearchForSeriesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13218,7 +13218,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesStoreInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13332,7 +13332,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13489,7 +13489,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveMetadataCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13615,7 +13615,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesRetrieveSeriesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13741,7 +13741,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesSearchForInstancesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13859,7 +13859,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14016,7 +14016,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveInstanceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14145,7 +14145,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveMetadataCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14272,7 +14272,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesRetrieveRenderedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14399,7 +14399,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveFramesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14528,7 +14528,7 @@
 
 func (c *ProjectsLocationsDatasetsDicomStoresStudiesSeriesInstancesFramesRetrieveRenderedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14648,7 +14648,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14804,7 +14804,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresDeidentifyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14943,7 +14943,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15093,7 +15093,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresExportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15242,7 +15242,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15414,7 +15414,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15670,7 +15670,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresImportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15847,7 +15847,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16030,7 +16030,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16181,7 +16181,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16331,7 +16331,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16549,7 +16549,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapSearchTranslateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16734,7 +16734,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirConceptMapTranslateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16915,7 +16915,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirObservationLastnCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17131,7 +17131,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirPatientEverythingCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17274,7 +17274,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirResourcePurgeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17443,7 +17443,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirCapabilitiesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17582,7 +17582,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17778,7 +17778,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17947,7 +17947,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirConditionalUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18107,7 +18107,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18239,7 +18239,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18408,7 +18408,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirExecuteBundleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18602,7 +18602,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirHistoryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18760,7 +18760,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18908,7 +18908,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirReadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19108,7 +19108,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19255,7 +19255,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19393,7 +19393,7 @@
 
 func (c *ProjectsLocationsDatasetsFhirStoresFhirVreadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19504,7 +19504,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19649,7 +19649,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19790,7 +19790,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19962,7 +19962,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20156,7 +20156,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresImportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20333,7 +20333,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20516,7 +20516,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20667,7 +20667,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20817,7 +20817,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20967,7 +20967,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21105,7 +21105,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21262,7 +21262,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21427,7 +21427,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesIngestCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21673,7 +21673,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21884,7 +21884,7 @@
 
 func (c *ProjectsLocationsDatasetsHl7V2StoresMessagesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22047,7 +22047,7 @@
 
 func (c *ProjectsLocationsDatasetsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22200,7 +22200,7 @@
 
 func (c *ProjectsLocationsDatasetsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22381,7 +22381,7 @@
 
 func (c *ProjectsLocationsDatasetsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/homegraph/v1/homegraph-gen.go b/homegraph/v1/homegraph-gen.go
index 883e743..1392d07 100644
--- a/homegraph/v1/homegraph-gen.go
+++ b/homegraph/v1/homegraph-gen.go
@@ -899,7 +899,7 @@
 
 func (c *AgentUsersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1035,7 +1035,7 @@
 
 func (c *DevicesQueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1169,7 +1169,7 @@
 
 func (c *DevicesReportStateAndNotificationCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1298,7 +1298,7 @@
 
 func (c *DevicesRequestSyncCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1423,7 +1423,7 @@
 
 func (c *DevicesSyncCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/iam/v1/iam-api.json b/iam/v1/iam-api.json
index 57b8bb6..82f41f6 100644
--- a/iam/v1/iam-api.json
+++ b/iam/v1/iam-api.json
@@ -108,7 +108,7 @@
     "iamPolicies": {
       "methods": {
         "lintPolicy": {
-          "description": "Lints, or validates, an IAM policy. Currently checks the\ngoogle.iam.v1.Binding.condition field, which contains a condition\nexpression for a role binding.\n\nSuccessful calls to this method always return an HTTP `200 OK` status code,\neven if the linter detects an issue in the IAM policy.",
+          "description": "Lints, or validates, an IAM policy. Currently checks the google.iam.v1.Binding.condition field, which contains a condition expression for a role binding. Successful calls to this method always return an HTTP `200 OK` status code, even if the linter detects an issue in the IAM policy.",
           "flatPath": "v1/iamPolicies:lintPolicy",
           "httpMethod": "POST",
           "id": "iam.iamPolicies.lintPolicy",
@@ -126,7 +126,7 @@
           ]
         },
         "queryAuditableServices": {
-          "description": "Returns a list of services that allow you to opt into audit logs that are\nnot generated by default.\n\nTo learn more about audit logs, see the [Logging\ndocumentation](https://cloud.google.com/logging/docs/audit).",
+          "description": "Returns a list of services that allow you to opt into audit logs that are not generated by default. To learn more about audit logs, see the [Logging documentation](https://cloud.google.com/logging/docs/audit).",
           "flatPath": "v1/iamPolicies:queryAuditableServices",
           "httpMethod": "POST",
           "id": "iam.iamPolicies.queryAuditableServices",
@@ -159,7 +159,7 @@
               ],
               "parameters": {
                 "parent": {
-                  "description": "The `parent` parameter's value depends on the target resource for the\nrequest, namely\n[`projects`](/iam/reference/rest/v1/projects.roles) or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `parent` value format is described below:\n\n* [`projects.roles.create()`](/iam/reference/rest/v1/projects.roles/create):\n  `projects/{PROJECT_ID}`. This method creates project-level\n  [custom roles](/iam/docs/understanding-custom-roles).\n  Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles`\n\n* [`organizations.roles.create()`](/iam/reference/rest/v1/organizations.roles/create):\n  `organizations/{ORGANIZATION_ID}`. This method creates organization-level\n  [custom roles](/iam/docs/understanding-custom-roles). Example request\n  URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+                  "description": "The `parent` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`projects.roles.create()`](/iam/reference/rest/v1/projects.roles/create): `projects/{PROJECT_ID}`. This method creates project-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.create()`](/iam/reference/rest/v1/organizations.roles/create): `organizations/{ORGANIZATION_ID}`. This method creates organization-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                   "location": "path",
                   "pattern": "^organizations/[^/]+$",
                   "required": true,
@@ -178,7 +178,7 @@
               ]
             },
             "delete": {
-              "description": "Deletes a custom Role.\n\nWhen you delete a custom role, the following changes occur immediately:\n\n* You cannot bind a member to the custom role in an IAM\nPolicy.\n* Existing bindings to the custom role are not changed, but they have no\neffect.\n* By default, the response from ListRoles does not include the custom\nrole.\n\nYou have 7 days to undelete the custom role. After 7 days, the following\nchanges occur:\n\n* The custom role is permanently deleted and cannot be recovered.\n* If an IAM policy contains a binding to the custom role, the binding is\npermanently removed.",
+              "description": "Deletes a custom Role. When you delete a custom role, the following changes occur immediately: * You cannot bind a member to the custom role in an IAM Policy. * Existing bindings to the custom role are not changed, but they have no effect. * By default, the response from ListRoles does not include the custom role. You have 7 days to undelete the custom role. After 7 days, the following changes occur: * The custom role is permanently deleted and cannot be recovered. * If an IAM policy contains a binding to the custom role, the binding is permanently removed.",
               "flatPath": "v1/organizations/{organizationsId}/roles/{rolesId}",
               "httpMethod": "DELETE",
               "id": "iam.organizations.roles.delete",
@@ -193,7 +193,7 @@
                   "type": "string"
                 },
                 "name": {
-                  "description": "The `name` parameter's value depends on the target resource for the\nrequest, namely\n[`projects`](/iam/reference/rest/v1/projects.roles) or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `name` value format is described below:\n\n* [`projects.roles.delete()`](/iam/reference/rest/v1/projects.roles/delete):\n  `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only\n  [custom roles](/iam/docs/understanding-custom-roles) that have been\n  created at the project level. Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`\n\n* [`organizations.roles.delete()`](/iam/reference/rest/v1/organizations.roles/delete):\n  `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method\n  deletes only [custom roles](/iam/docs/understanding-custom-roles) that\n  have been created at the organization level. Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+                  "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.delete()`](/iam/reference/rest/v1/projects.roles/delete): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.delete()`](/iam/reference/rest/v1/organizations.roles/delete): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                   "location": "path",
                   "pattern": "^organizations/[^/]+/roles/[^/]+$",
                   "required": true,
@@ -218,7 +218,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "The `name` parameter's value depends on the target resource for the\nrequest, namely\n[`roles`](/iam/reference/rest/v1/roles),\n[`projects`](/iam/reference/rest/v1/projects.roles), or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `name` value format is described below:\n\n* [`roles.get()`](/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`.\n  This method returns results from all\n  [predefined roles](/iam/docs/understanding-roles#predefined_roles) in\n  Cloud IAM. Example request URL:\n  `https://iam.googleapis.com/v1/roles/{ROLE_NAME}`\n\n* [`projects.roles.get()`](/iam/reference/rest/v1/projects.roles/get):\n  `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only\n  [custom roles](/iam/docs/understanding-custom-roles) that have been\n  created at the project level. Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`\n\n* [`organizations.roles.get()`](/iam/reference/rest/v1/organizations.roles/get):\n  `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method\n  returns only [custom roles](/iam/docs/understanding-custom-roles) that\n  have been created at the organization level. Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+                  "description": "The `name` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`roles.get()`](/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`. This method returns results from all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles/{ROLE_NAME}` * [`projects.roles.get()`](/iam/reference/rest/v1/projects.roles/get): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.get()`](/iam/reference/rest/v1/organizations.roles/get): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                   "location": "path",
                   "pattern": "^organizations/[^/]+/roles/[^/]+$",
                   "required": true,
@@ -234,7 +234,7 @@
               ]
             },
             "list": {
-              "description": "Lists every predefined Role that IAM supports, or every custom role\nthat is defined for an organization or project.",
+              "description": "Lists every predefined Role that IAM supports, or every custom role that is defined for an organization or project.",
               "flatPath": "v1/organizations/{organizationsId}/roles",
               "httpMethod": "GET",
               "id": "iam.organizations.roles.list",
@@ -243,7 +243,7 @@
               ],
               "parameters": {
                 "pageSize": {
-                  "description": "Optional limit on the number of roles to include in the response.\n\nThe default is 300, and the maximum is 1,000.",
+                  "description": "Optional limit on the number of roles to include in the response. The default is 300, and the maximum is 1,000.",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
@@ -254,7 +254,7 @@
                   "type": "string"
                 },
                 "parent": {
-                  "description": "The `parent` parameter's value depends on the target resource for the\nrequest, namely\n[`roles`](/iam/reference/rest/v1/roles),\n[`projects`](/iam/reference/rest/v1/projects.roles), or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `parent` value format is described below:\n\n* [`roles.list()`](/iam/reference/rest/v1/roles/list): An empty string.\n  This method doesn't require a resource; it simply returns all\n  [predefined roles](/iam/docs/understanding-roles#predefined_roles) in\n  Cloud IAM. Example request URL:\n  `https://iam.googleapis.com/v1/roles`\n\n* [`projects.roles.list()`](/iam/reference/rest/v1/projects.roles/list):\n  `projects/{PROJECT_ID}`. This method lists all project-level\n  [custom roles](/iam/docs/understanding-custom-roles).\n  Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles`\n\n* [`organizations.roles.list()`](/iam/reference/rest/v1/organizations.roles/list):\n  `organizations/{ORGANIZATION_ID}`. This method lists all\n  organization-level [custom roles](/iam/docs/understanding-custom-roles).\n  Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+                  "description": "The `parent` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`roles.list()`](/iam/reference/rest/v1/roles/list): An empty string. This method doesn't require a resource; it simply returns all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles` * [`projects.roles.list()`](/iam/reference/rest/v1/projects.roles/list): `projects/{PROJECT_ID}`. This method lists all project-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.list()`](/iam/reference/rest/v1/organizations.roles/list): `organizations/{ORGANIZATION_ID}`. This method lists all organization-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                   "location": "path",
                   "pattern": "^organizations/[^/]+$",
                   "required": true,
@@ -266,11 +266,15 @@
                   "type": "boolean"
                 },
                 "view": {
-                  "description": "Optional view for the returned Role objects. When `FULL` is specified,\nthe `includedPermissions` field is returned, which includes a list of all\npermissions in the role. The default value is `BASIC`, which does not\nreturn the `includedPermissions` field.",
+                  "description": "Optional view for the returned Role objects. When `FULL` is specified, the `includedPermissions` field is returned, which includes a list of all permissions in the role. The default value is `BASIC`, which does not return the `includedPermissions` field.",
                   "enum": [
                     "BASIC",
                     "FULL"
                   ],
+                  "enumDescriptions": [
+                    "Omits the `included_permissions` field. This is the default value.",
+                    "Returns all fields."
+                  ],
                   "location": "query",
                   "type": "string"
                 }
@@ -293,7 +297,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "The `name` parameter's value depends on the target resource for the\nrequest, namely\n[`projects`](/iam/reference/rest/v1/projects.roles) or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `name` value format is described below:\n\n* [`projects.roles.patch()`](/iam/reference/rest/v1/projects.roles/patch):\n  `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only\n  [custom roles](/iam/docs/understanding-custom-roles) that have been\n  created at the project level. Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`\n\n* [`organizations.roles.patch()`](/iam/reference/rest/v1/organizations.roles/patch):\n  `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method\n  updates only [custom roles](/iam/docs/understanding-custom-roles) that\n  have been created at the organization level. Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+                  "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.patch()`](/iam/reference/rest/v1/projects.roles/patch): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.patch()`](/iam/reference/rest/v1/organizations.roles/patch): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                   "location": "path",
                   "pattern": "^organizations/[^/]+/roles/[^/]+$",
                   "required": true,
@@ -327,7 +331,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "The `name` parameter's value depends on the target resource for the\nrequest, namely\n[`projects`](/iam/reference/rest/v1/projects.roles) or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `name` value format is described below:\n\n* [`projects.roles.undelete()`](/iam/reference/rest/v1/projects.roles/undelete):\n  `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes\n  only [custom roles](/iam/docs/understanding-custom-roles) that have been\n  created at the project level. Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`\n\n* [`organizations.roles.undelete()`](/iam/reference/rest/v1/organizations.roles/undelete):\n  `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method\n  undeletes only [custom roles](/iam/docs/understanding-custom-roles) that\n  have been created at the organization level. Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+                  "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.undelete()`](/iam/reference/rest/v1/projects.roles/undelete): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.undelete()`](/iam/reference/rest/v1/organizations.roles/undelete): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                   "location": "path",
                   "pattern": "^organizations/[^/]+/roles/[^/]+$",
                   "required": true,
@@ -352,7 +356,7 @@
     "permissions": {
       "methods": {
         "queryTestablePermissions": {
-          "description": "Lists every permission that you can test on a resource. A permission is\ntestable if you can check whether a member has that permission on the\nresource.",
+          "description": "Lists every permission that you can test on a resource. A permission is testable if you can check whether a member has that permission on the resource.",
           "flatPath": "v1/permissions:queryTestablePermissions",
           "httpMethod": "POST",
           "id": "iam.permissions.queryTestablePermissions",
@@ -385,7 +389,7 @@
               ],
               "parameters": {
                 "parent": {
-                  "description": "The `parent` parameter's value depends on the target resource for the\nrequest, namely\n[`projects`](/iam/reference/rest/v1/projects.roles) or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `parent` value format is described below:\n\n* [`projects.roles.create()`](/iam/reference/rest/v1/projects.roles/create):\n  `projects/{PROJECT_ID}`. This method creates project-level\n  [custom roles](/iam/docs/understanding-custom-roles).\n  Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles`\n\n* [`organizations.roles.create()`](/iam/reference/rest/v1/organizations.roles/create):\n  `organizations/{ORGANIZATION_ID}`. This method creates organization-level\n  [custom roles](/iam/docs/understanding-custom-roles). Example request\n  URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+                  "description": "The `parent` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`projects.roles.create()`](/iam/reference/rest/v1/projects.roles/create): `projects/{PROJECT_ID}`. This method creates project-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.create()`](/iam/reference/rest/v1/organizations.roles/create): `organizations/{ORGANIZATION_ID}`. This method creates organization-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
@@ -404,7 +408,7 @@
               ]
             },
             "delete": {
-              "description": "Deletes a custom Role.\n\nWhen you delete a custom role, the following changes occur immediately:\n\n* You cannot bind a member to the custom role in an IAM\nPolicy.\n* Existing bindings to the custom role are not changed, but they have no\neffect.\n* By default, the response from ListRoles does not include the custom\nrole.\n\nYou have 7 days to undelete the custom role. After 7 days, the following\nchanges occur:\n\n* The custom role is permanently deleted and cannot be recovered.\n* If an IAM policy contains a binding to the custom role, the binding is\npermanently removed.",
+              "description": "Deletes a custom Role. When you delete a custom role, the following changes occur immediately: * You cannot bind a member to the custom role in an IAM Policy. * Existing bindings to the custom role are not changed, but they have no effect. * By default, the response from ListRoles does not include the custom role. You have 7 days to undelete the custom role. After 7 days, the following changes occur: * The custom role is permanently deleted and cannot be recovered. * If an IAM policy contains a binding to the custom role, the binding is permanently removed.",
               "flatPath": "v1/projects/{projectsId}/roles/{rolesId}",
               "httpMethod": "DELETE",
               "id": "iam.projects.roles.delete",
@@ -419,7 +423,7 @@
                   "type": "string"
                 },
                 "name": {
-                  "description": "The `name` parameter's value depends on the target resource for the\nrequest, namely\n[`projects`](/iam/reference/rest/v1/projects.roles) or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `name` value format is described below:\n\n* [`projects.roles.delete()`](/iam/reference/rest/v1/projects.roles/delete):\n  `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only\n  [custom roles](/iam/docs/understanding-custom-roles) that have been\n  created at the project level. Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`\n\n* [`organizations.roles.delete()`](/iam/reference/rest/v1/organizations.roles/delete):\n  `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method\n  deletes only [custom roles](/iam/docs/understanding-custom-roles) that\n  have been created at the organization level. Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+                  "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.delete()`](/iam/reference/rest/v1/projects.roles/delete): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.delete()`](/iam/reference/rest/v1/organizations.roles/delete): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/roles/[^/]+$",
                   "required": true,
@@ -444,7 +448,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "The `name` parameter's value depends on the target resource for the\nrequest, namely\n[`roles`](/iam/reference/rest/v1/roles),\n[`projects`](/iam/reference/rest/v1/projects.roles), or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `name` value format is described below:\n\n* [`roles.get()`](/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`.\n  This method returns results from all\n  [predefined roles](/iam/docs/understanding-roles#predefined_roles) in\n  Cloud IAM. Example request URL:\n  `https://iam.googleapis.com/v1/roles/{ROLE_NAME}`\n\n* [`projects.roles.get()`](/iam/reference/rest/v1/projects.roles/get):\n  `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only\n  [custom roles](/iam/docs/understanding-custom-roles) that have been\n  created at the project level. Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`\n\n* [`organizations.roles.get()`](/iam/reference/rest/v1/organizations.roles/get):\n  `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method\n  returns only [custom roles](/iam/docs/understanding-custom-roles) that\n  have been created at the organization level. Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+                  "description": "The `name` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`roles.get()`](/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`. This method returns results from all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles/{ROLE_NAME}` * [`projects.roles.get()`](/iam/reference/rest/v1/projects.roles/get): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.get()`](/iam/reference/rest/v1/organizations.roles/get): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/roles/[^/]+$",
                   "required": true,
@@ -460,7 +464,7 @@
               ]
             },
             "list": {
-              "description": "Lists every predefined Role that IAM supports, or every custom role\nthat is defined for an organization or project.",
+              "description": "Lists every predefined Role that IAM supports, or every custom role that is defined for an organization or project.",
               "flatPath": "v1/projects/{projectsId}/roles",
               "httpMethod": "GET",
               "id": "iam.projects.roles.list",
@@ -469,7 +473,7 @@
               ],
               "parameters": {
                 "pageSize": {
-                  "description": "Optional limit on the number of roles to include in the response.\n\nThe default is 300, and the maximum is 1,000.",
+                  "description": "Optional limit on the number of roles to include in the response. The default is 300, and the maximum is 1,000.",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
@@ -480,7 +484,7 @@
                   "type": "string"
                 },
                 "parent": {
-                  "description": "The `parent` parameter's value depends on the target resource for the\nrequest, namely\n[`roles`](/iam/reference/rest/v1/roles),\n[`projects`](/iam/reference/rest/v1/projects.roles), or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `parent` value format is described below:\n\n* [`roles.list()`](/iam/reference/rest/v1/roles/list): An empty string.\n  This method doesn't require a resource; it simply returns all\n  [predefined roles](/iam/docs/understanding-roles#predefined_roles) in\n  Cloud IAM. Example request URL:\n  `https://iam.googleapis.com/v1/roles`\n\n* [`projects.roles.list()`](/iam/reference/rest/v1/projects.roles/list):\n  `projects/{PROJECT_ID}`. This method lists all project-level\n  [custom roles](/iam/docs/understanding-custom-roles).\n  Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles`\n\n* [`organizations.roles.list()`](/iam/reference/rest/v1/organizations.roles/list):\n  `organizations/{ORGANIZATION_ID}`. This method lists all\n  organization-level [custom roles](/iam/docs/understanding-custom-roles).\n  Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+                  "description": "The `parent` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`roles.list()`](/iam/reference/rest/v1/roles/list): An empty string. This method doesn't require a resource; it simply returns all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles` * [`projects.roles.list()`](/iam/reference/rest/v1/projects.roles/list): `projects/{PROJECT_ID}`. This method lists all project-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.list()`](/iam/reference/rest/v1/organizations.roles/list): `organizations/{ORGANIZATION_ID}`. This method lists all organization-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
@@ -492,11 +496,15 @@
                   "type": "boolean"
                 },
                 "view": {
-                  "description": "Optional view for the returned Role objects. When `FULL` is specified,\nthe `includedPermissions` field is returned, which includes a list of all\npermissions in the role. The default value is `BASIC`, which does not\nreturn the `includedPermissions` field.",
+                  "description": "Optional view for the returned Role objects. When `FULL` is specified, the `includedPermissions` field is returned, which includes a list of all permissions in the role. The default value is `BASIC`, which does not return the `includedPermissions` field.",
                   "enum": [
                     "BASIC",
                     "FULL"
                   ],
+                  "enumDescriptions": [
+                    "Omits the `included_permissions` field. This is the default value.",
+                    "Returns all fields."
+                  ],
                   "location": "query",
                   "type": "string"
                 }
@@ -519,7 +527,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "The `name` parameter's value depends on the target resource for the\nrequest, namely\n[`projects`](/iam/reference/rest/v1/projects.roles) or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `name` value format is described below:\n\n* [`projects.roles.patch()`](/iam/reference/rest/v1/projects.roles/patch):\n  `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only\n  [custom roles](/iam/docs/understanding-custom-roles) that have been\n  created at the project level. Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`\n\n* [`organizations.roles.patch()`](/iam/reference/rest/v1/organizations.roles/patch):\n  `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method\n  updates only [custom roles](/iam/docs/understanding-custom-roles) that\n  have been created at the organization level. Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+                  "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.patch()`](/iam/reference/rest/v1/projects.roles/patch): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.patch()`](/iam/reference/rest/v1/organizations.roles/patch): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/roles/[^/]+$",
                   "required": true,
@@ -553,7 +561,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "The `name` parameter's value depends on the target resource for the\nrequest, namely\n[`projects`](/iam/reference/rest/v1/projects.roles) or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `name` value format is described below:\n\n* [`projects.roles.undelete()`](/iam/reference/rest/v1/projects.roles/undelete):\n  `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes\n  only [custom roles](/iam/docs/understanding-custom-roles) that have been\n  created at the project level. Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`\n\n* [`organizations.roles.undelete()`](/iam/reference/rest/v1/organizations.roles/undelete):\n  `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method\n  undeletes only [custom roles](/iam/docs/understanding-custom-roles) that\n  have been created at the organization level. Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+                  "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.undelete()`](/iam/reference/rest/v1/projects.roles/undelete): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.undelete()`](/iam/reference/rest/v1/organizations.roles/undelete): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/roles/[^/]+$",
                   "required": true,
@@ -585,7 +593,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. The resource name of the project associated with the service\naccounts, such as `projects/my-project-123`.",
+                  "description": "Required. The resource name of the project associated with the service accounts, such as `projects/my-project-123`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
@@ -604,7 +612,7 @@
               ]
             },
             "delete": {
-              "description": "Deletes a ServiceAccount.\n\n**Warning:** After you delete a service account, you might not be able to\nundelete it. If you know that you need to re-enable the service account in\nthe future, use DisableServiceAccount instead.\n\nIf you delete a service account, IAM permanently removes the service\naccount 30 days later. Google Cloud cannot recover the service account\nafter it is permanently removed, even if you file a support request.\n\nTo help avoid unplanned outages, we recommend that you disable the service\naccount before you delete it. Use DisableServiceAccount to disable the\nservice account, then wait at least 24 hours and watch for unintended\nconsequences. If there are no unintended consequences, you can delete the\nservice account.",
+              "description": "Deletes a ServiceAccount. **Warning:** After you delete a service account, you might not be able to undelete it. If you know that you need to re-enable the service account in the future, use DisableServiceAccount instead. If you delete a service account, IAM permanently removes the service account 30 days later. Google Cloud cannot recover the service account after it is permanently removed, even if you file a support request. To help avoid unplanned outages, we recommend that you disable the service account before you delete it. Use DisableServiceAccount to disable the service account, then wait at least 24 hours and watch for unintended consequences. If there are no unintended consequences, you can delete the service account.",
               "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}",
               "httpMethod": "DELETE",
               "id": "iam.projects.serviceAccounts.delete",
@@ -613,7 +621,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.",
+                  "description": "Required. The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                   "required": true,
@@ -629,7 +637,7 @@
               ]
             },
             "disable": {
-              "description": "Disables a ServiceAccount immediately.\n\nIf an application uses the service account to authenticate, that\napplication can no longer call Google APIs or access Google Cloud\nresources. Existing access tokens for the service account are rejected, and\nrequests for new access tokens will fail.\n\nTo re-enable the service account, use EnableServiceAccount. After you\nre-enable the service account, its existing access tokens will be accepted,\nand you can request new access tokens.\n\nTo help avoid unplanned outages, we recommend that you disable the service\naccount before you delete it. Use this method to disable the service\naccount, then wait at least 24 hours and watch for unintended consequences.\nIf there are no unintended consequences, you can delete the service account\nwith DeleteServiceAccount.",
+              "description": "Disables a ServiceAccount immediately. If an application uses the service account to authenticate, that application can no longer call Google APIs or access Google Cloud resources. Existing access tokens for the service account are rejected, and requests for new access tokens will fail. To re-enable the service account, use EnableServiceAccount. After you re-enable the service account, its existing access tokens will be accepted, and you can request new access tokens. To help avoid unplanned outages, we recommend that you disable the service account before you delete it. Use this method to disable the service account, then wait at least 24 hours and watch for unintended consequences. If there are no unintended consequences, you can delete the service account with DeleteServiceAccount.",
               "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:disable",
               "httpMethod": "POST",
               "id": "iam.projects.serviceAccounts.disable",
@@ -638,7 +646,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.",
+                  "description": "The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                   "required": true,
@@ -657,7 +665,7 @@
               ]
             },
             "enable": {
-              "description": "Enables a ServiceAccount that was disabled by\nDisableServiceAccount.\n\nIf the service account is already enabled, then this method has no effect.\n\nIf the service account was disabled by other means—for example, if Google\ndisabled the service account because it was compromised—you cannot use this\nmethod to enable the service account.",
+              "description": "Enables a ServiceAccount that was disabled by DisableServiceAccount. If the service account is already enabled, then this method has no effect. If the service account was disabled by other means—for example, if Google disabled the service account because it was compromised—you cannot use this method to enable the service account.",
               "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:enable",
               "httpMethod": "POST",
               "id": "iam.projects.serviceAccounts.enable",
@@ -666,7 +674,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.",
+                  "description": "The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                   "required": true,
@@ -694,7 +702,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.",
+                  "description": "Required. The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                   "required": true,
@@ -710,7 +718,7 @@
               ]
             },
             "getIamPolicy": {
-              "description": "Gets the IAM policy that is attached to a ServiceAccount. This IAM\npolicy specifies which members have access to the service account.\n\nThis method does not tell you whether the service account has been granted\nany roles on other resources. To check whether a service account has role\ngrants on a resource, use the `getIamPolicy` method for that resource. For\nexample, to view the role grants for a project, call the Resource Manager\nAPI's\n[`projects.getIamPolicy`](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getIamPolicy)\nmethod.",
+              "description": "Gets the IAM policy that is attached to a ServiceAccount. This IAM policy specifies which members have access to the service account. This method does not tell you whether the service account has been granted any roles on other resources. To check whether a service account has role grants on a resource, use the `getIamPolicy` method for that resource. For example, to view the role grants for a project, call the Resource Manager API's [`projects.getIamPolicy`](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getIamPolicy) method.",
               "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:getIamPolicy",
               "httpMethod": "POST",
               "id": "iam.projects.serviceAccounts.getIamPolicy",
@@ -719,13 +727,13 @@
               ],
               "parameters": {
                 "options.requestedPolicyVersion": {
-                  "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+                  "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
                 },
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                   "required": true,
@@ -750,20 +758,20 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. The resource name of the project associated with the service\naccounts, such as `projects/my-project-123`.",
+                  "description": "Required. The resource name of the project associated with the service accounts, such as `projects/my-project-123`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
                   "type": "string"
                 },
                 "pageSize": {
-                  "description": "Optional limit on the number of service accounts to include in the\nresponse. Further accounts can subsequently be obtained by including the\nListServiceAccountsResponse.next_page_token\nin a subsequent request.\n\nThe default is 20, and the maximum is 100.",
+                  "description": "Optional limit on the number of service accounts to include in the response. Further accounts can subsequently be obtained by including the ListServiceAccountsResponse.next_page_token in a subsequent request. The default is 20, and the maximum is 100.",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "Optional pagination token returned in an earlier\nListServiceAccountsResponse.next_page_token.",
+                  "description": "Optional pagination token returned in an earlier ListServiceAccountsResponse.next_page_token.",
                   "location": "query",
                   "type": "string"
                 }
@@ -786,7 +794,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "The resource name of the service account.\n\nUse one of the following formats:\n\n* `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}`\n* `projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}`\n\nAs an alternative, you can use the `-` wildcard character instead of the\nproject ID:\n\n* `projects/-/serviceAccounts/{EMAIL_ADDRESS}`\n* `projects/-/serviceAccounts/{UNIQUE_ID}`\n\nWhen possible, avoid using the `-` wildcard character, because it can cause\nresponse messages to contain misleading error codes. For example, if you\ntry to get the service account\n`projects/-/serviceAccounts/fake@example.com`, which does not exist, the\nresponse contains an HTTP `403 Forbidden` error instead of a `404 Not\nFound` error.",
+                  "description": "The resource name of the service account. Use one of the following formats: * `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}` * `projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}` As an alternative, you can use the `-` wildcard character instead of the project ID: * `projects/-/serviceAccounts/{EMAIL_ADDRESS}` * `projects/-/serviceAccounts/{UNIQUE_ID}` When possible, avoid using the `-` wildcard character, because it can cause response messages to contain misleading error codes. For example, if you try to get the service account `projects/-/serviceAccounts/fake@example.com`, which does not exist, the response contains an HTTP `403 Forbidden` error instead of a `404 Not Found` error.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                   "required": true,
@@ -805,7 +813,7 @@
               ]
             },
             "setIamPolicy": {
-              "description": "Sets the IAM policy that is attached to a ServiceAccount.\n\nUse this method to grant or revoke access to the service account. For\nexample, you could grant a member the ability to impersonate the service\naccount.\n\nThis method does not enable the service account to access other resources.\nTo grant roles to a service account on a resource, follow these steps:\n\n1. Call the resource's `getIamPolicy` method to get its current IAM policy.\n2. Edit the policy so that it binds the service account to an IAM role for\nthe resource.\n3. Call the resource's `setIamPolicy` method to update its IAM policy.\n\nFor detailed instructions, see\n[Granting roles to a service account for specific\nresources](https://cloud.google.com/iam/help/service-accounts/granting-access-to-service-accounts).",
+              "description": "Sets the IAM policy that is attached to a ServiceAccount. Use this method to grant or revoke access to the service account. For example, you could grant a member the ability to impersonate the service account. This method does not enable the service account to access other resources. To grant roles to a service account on a resource, follow these steps: 1. Call the resource's `getIamPolicy` method to get its current IAM policy. 2. Edit the policy so that it binds the service account to an IAM role for the resource. 3. Call the resource's `setIamPolicy` method to update its IAM policy. For detailed instructions, see [Granting roles to a service account for specific resources](https://cloud.google.com/iam/help/service-accounts/granting-access-to-service-accounts).",
               "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:setIamPolicy",
               "httpMethod": "POST",
               "id": "iam.projects.serviceAccounts.setIamPolicy",
@@ -814,7 +822,7 @@
               ],
               "parameters": {
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                   "required": true,
@@ -833,7 +841,7 @@
               ]
             },
             "signBlob": {
-              "description": "**Note:** This method is deprecated and will stop working on July 1, 2021.\nUse the\n[`signBlob`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signBlob)\nmethod in the IAM Service Account Credentials API instead. If you currently\nuse this method, see the [migration\nguide](https://cloud.google.com/iam/help/credentials/migrate-api) for\ninstructions.\n\nSigns a blob using the system-managed private key for a ServiceAccount.",
+              "description": "**Note:** This method is deprecated and will stop working on July 1, 2021. Use the [`signBlob`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signBlob) method in the IAM Service Account Credentials API instead. If you currently use this method, see the [migration guide](https://cloud.google.com/iam/help/credentials/migrate-api) for instructions. Signs a blob using the system-managed private key for a ServiceAccount.",
               "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signBlob",
               "httpMethod": "POST",
               "id": "iam.projects.serviceAccounts.signBlob",
@@ -842,7 +850,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. Deprecated. [Migrate to Service Account Credentials\nAPI](https://cloud.google.com/iam/help/credentials/migrate-api).\n\nThe resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.",
+                  "description": "Required. Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                   "required": true,
@@ -861,7 +869,7 @@
               ]
             },
             "signJwt": {
-              "description": "**Note:** This method is deprecated and will stop working on July 1, 2021.\nUse the\n[`signJwt`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signJwt)\nmethod in the IAM Service Account Credentials API instead. If you currently\nuse this method, see the [migration\nguide](https://cloud.google.com/iam/help/credentials/migrate-api) for\ninstructions.\n\nSigns a JSON Web Token (JWT) using the system-managed private key for a\nServiceAccount.",
+              "description": "**Note:** This method is deprecated and will stop working on July 1, 2021. Use the [`signJwt`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signJwt) method in the IAM Service Account Credentials API instead. If you currently use this method, see the [migration guide](https://cloud.google.com/iam/help/credentials/migrate-api) for instructions. Signs a JSON Web Token (JWT) using the system-managed private key for a ServiceAccount.",
               "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signJwt",
               "httpMethod": "POST",
               "id": "iam.projects.serviceAccounts.signJwt",
@@ -870,7 +878,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. Deprecated. [Migrate to Service Account Credentials\nAPI](https://cloud.google.com/iam/help/credentials/migrate-api).\n\nThe resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.",
+                  "description": "Required. Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                   "required": true,
@@ -889,7 +897,7 @@
               ]
             },
             "testIamPermissions": {
-              "description": "Tests whether the caller has the specified permissions on a\nServiceAccount.",
+              "description": "Tests whether the caller has the specified permissions on a ServiceAccount.",
               "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:testIamPermissions",
               "httpMethod": "POST",
               "id": "iam.projects.serviceAccounts.testIamPermissions",
@@ -898,7 +906,7 @@
               ],
               "parameters": {
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                   "required": true,
@@ -917,7 +925,7 @@
               ]
             },
             "undelete": {
-              "description": "Restores a deleted ServiceAccount.\n\n**Important:** It is not always possible to restore a deleted service\naccount. Use this method only as a last resort.\n\nAfter you delete a service account, IAM permanently removes the service\naccount 30 days later. There is no way to restore a deleted service account\nthat has been permanently removed.",
+              "description": "Restores a deleted ServiceAccount. **Important:** It is not always possible to restore a deleted service account. Use this method only as a last resort. After you delete a service account, IAM permanently removes the service account 30 days later. There is no way to restore a deleted service account that has been permanently removed.",
               "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:undelete",
               "httpMethod": "POST",
               "id": "iam.projects.serviceAccounts.undelete",
@@ -926,7 +934,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_UNIQUE_ID}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account.",
+                  "description": "The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_UNIQUE_ID}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                   "required": true,
@@ -945,7 +953,7 @@
               ]
             },
             "update": {
-              "description": "**Note:** We are in the process of deprecating this method. Use\nPatchServiceAccount instead.\n\nUpdates a ServiceAccount.\n\nYou can update only the `display_name` and `description` fields.",
+              "description": "**Note:** We are in the process of deprecating this method. Use PatchServiceAccount instead. Updates a ServiceAccount. You can update only the `display_name` and `description` fields.",
               "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}",
               "httpMethod": "PUT",
               "id": "iam.projects.serviceAccounts.update",
@@ -954,7 +962,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "The resource name of the service account.\n\nUse one of the following formats:\n\n* `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}`\n* `projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}`\n\nAs an alternative, you can use the `-` wildcard character instead of the\nproject ID:\n\n* `projects/-/serviceAccounts/{EMAIL_ADDRESS}`\n* `projects/-/serviceAccounts/{UNIQUE_ID}`\n\nWhen possible, avoid using the `-` wildcard character, because it can cause\nresponse messages to contain misleading error codes. For example, if you\ntry to get the service account\n`projects/-/serviceAccounts/fake@example.com`, which does not exist, the\nresponse contains an HTTP `403 Forbidden` error instead of a `404 Not\nFound` error.",
+                  "description": "The resource name of the service account. Use one of the following formats: * `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}` * `projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}` As an alternative, you can use the `-` wildcard character instead of the project ID: * `projects/-/serviceAccounts/{EMAIL_ADDRESS}` * `projects/-/serviceAccounts/{UNIQUE_ID}` When possible, avoid using the `-` wildcard character, because it can cause response messages to contain misleading error codes. For example, if you try to get the service account `projects/-/serviceAccounts/fake@example.com`, which does not exist, the response contains an HTTP `403 Forbidden` error instead of a `404 Not Found` error.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                   "required": true,
@@ -986,7 +994,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.",
+                      "description": "Required. The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                       "required": true,
@@ -1014,7 +1022,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The resource name of the service account key in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.",
+                      "description": "Required. The resource name of the service account key in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+/keys/[^/]+$",
                       "required": true,
@@ -1039,19 +1047,24 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The resource name of the service account key in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.\n\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.",
+                      "description": "Required. The resource name of the service account key in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+/keys/[^/]+$",
                       "required": true,
                       "type": "string"
                     },
                     "publicKeyType": {
-                      "description": "The output format of the public key requested.\nX509_PEM is the default output format.",
+                      "description": "The output format of the public key requested. X509_PEM is the default output format.",
                       "enum": [
                         "TYPE_NONE",
                         "TYPE_X509_PEM_FILE",
                         "TYPE_RAW_PUBLIC_KEY"
                       ],
+                      "enumDescriptions": [
+                        "Unspecified. Returns nothing here.",
+                        "X509 PEM format.",
+                        "Raw public key."
+                      ],
                       "location": "query",
                       "type": "string"
                     }
@@ -1074,18 +1087,23 @@
                   ],
                   "parameters": {
                     "keyTypes": {
-                      "description": "Filters the types of keys the user wants to include in the list\nresponse. Duplicate key types are not allowed. If no key type\nis provided, all keys are returned.",
+                      "description": "Filters the types of keys the user wants to include in the list response. Duplicate key types are not allowed. If no key type is provided, all keys are returned.",
                       "enum": [
                         "KEY_TYPE_UNSPECIFIED",
                         "USER_MANAGED",
                         "SYSTEM_MANAGED"
                       ],
+                      "enumDescriptions": [
+                        "Unspecified key type. The presence of this in the message will immediately result in an error.",
+                        "User-managed keys (managed and rotated by the user).",
+                        "System-managed keys (managed and rotated by Google)."
+                      ],
                       "location": "query",
                       "repeated": true,
                       "type": "string"
                     },
                     "name": {
-                      "description": "Required. The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\n\nUsing `-` as a wildcard for the `PROJECT_ID`, will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.",
+                      "description": "Required. The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID`, will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                       "required": true,
@@ -1110,7 +1128,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.",
+                      "description": "The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                       "required": true,
@@ -1146,7 +1164,7 @@
           ],
           "parameters": {
             "name": {
-              "description": "The `name` parameter's value depends on the target resource for the\nrequest, namely\n[`roles`](/iam/reference/rest/v1/roles),\n[`projects`](/iam/reference/rest/v1/projects.roles), or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `name` value format is described below:\n\n* [`roles.get()`](/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`.\n  This method returns results from all\n  [predefined roles](/iam/docs/understanding-roles#predefined_roles) in\n  Cloud IAM. Example request URL:\n  `https://iam.googleapis.com/v1/roles/{ROLE_NAME}`\n\n* [`projects.roles.get()`](/iam/reference/rest/v1/projects.roles/get):\n  `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only\n  [custom roles](/iam/docs/understanding-custom-roles) that have been\n  created at the project level. Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`\n\n* [`organizations.roles.get()`](/iam/reference/rest/v1/organizations.roles/get):\n  `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method\n  returns only [custom roles](/iam/docs/understanding-custom-roles) that\n  have been created at the organization level. Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+              "description": "The `name` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`roles.get()`](/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`. This method returns results from all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles/{ROLE_NAME}` * [`projects.roles.get()`](/iam/reference/rest/v1/projects.roles/get): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.get()`](/iam/reference/rest/v1/organizations.roles/get): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
               "location": "path",
               "pattern": "^roles/[^/]+$",
               "required": true,
@@ -1162,14 +1180,14 @@
           ]
         },
         "list": {
-          "description": "Lists every predefined Role that IAM supports, or every custom role\nthat is defined for an organization or project.",
+          "description": "Lists every predefined Role that IAM supports, or every custom role that is defined for an organization or project.",
           "flatPath": "v1/roles",
           "httpMethod": "GET",
           "id": "iam.roles.list",
           "parameterOrder": [],
           "parameters": {
             "pageSize": {
-              "description": "Optional limit on the number of roles to include in the response.\n\nThe default is 300, and the maximum is 1,000.",
+              "description": "Optional limit on the number of roles to include in the response. The default is 300, and the maximum is 1,000.",
               "format": "int32",
               "location": "query",
               "type": "integer"
@@ -1180,7 +1198,7 @@
               "type": "string"
             },
             "parent": {
-              "description": "The `parent` parameter's value depends on the target resource for the\nrequest, namely\n[`roles`](/iam/reference/rest/v1/roles),\n[`projects`](/iam/reference/rest/v1/projects.roles), or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `parent` value format is described below:\n\n* [`roles.list()`](/iam/reference/rest/v1/roles/list): An empty string.\n  This method doesn't require a resource; it simply returns all\n  [predefined roles](/iam/docs/understanding-roles#predefined_roles) in\n  Cloud IAM. Example request URL:\n  `https://iam.googleapis.com/v1/roles`\n\n* [`projects.roles.list()`](/iam/reference/rest/v1/projects.roles/list):\n  `projects/{PROJECT_ID}`. This method lists all project-level\n  [custom roles](/iam/docs/understanding-custom-roles).\n  Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles`\n\n* [`organizations.roles.list()`](/iam/reference/rest/v1/organizations.roles/list):\n  `organizations/{ORGANIZATION_ID}`. This method lists all\n  organization-level [custom roles](/iam/docs/understanding-custom-roles).\n  Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+              "description": "The `parent` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`roles.list()`](/iam/reference/rest/v1/roles/list): An empty string. This method doesn't require a resource; it simply returns all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles` * [`projects.roles.list()`](/iam/reference/rest/v1/projects.roles/list): `projects/{PROJECT_ID}`. This method lists all project-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.list()`](/iam/reference/rest/v1/organizations.roles/list): `organizations/{ORGANIZATION_ID}`. This method lists all organization-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
               "location": "query",
               "type": "string"
             },
@@ -1190,11 +1208,15 @@
               "type": "boolean"
             },
             "view": {
-              "description": "Optional view for the returned Role objects. When `FULL` is specified,\nthe `includedPermissions` field is returned, which includes a list of all\npermissions in the role. The default value is `BASIC`, which does not\nreturn the `includedPermissions` field.",
+              "description": "Optional view for the returned Role objects. When `FULL` is specified, the `includedPermissions` field is returned, which includes a list of all permissions in the role. The default value is `BASIC`, which does not return the `includedPermissions` field.",
               "enum": [
                 "BASIC",
                 "FULL"
               ],
+              "enumDescriptions": [
+                "Omits the `included_permissions` field. This is the default value.",
+                "Returns all fields."
+              ],
               "location": "query",
               "type": "string"
             }
@@ -1208,7 +1230,7 @@
           ]
         },
         "queryGrantableRoles": {
-          "description": "Lists roles that can be granted on a Google Cloud resource. A role is\ngrantable if the IAM policy for the resource can contain bindings to the\nrole.",
+          "description": "Lists roles that can be granted on a Google Cloud resource. A role is grantable if the IAM policy for the resource can contain bindings to the role.",
           "flatPath": "v1/roles:queryGrantableRoles",
           "httpMethod": "POST",
           "id": "iam.roles.queryGrantableRoles",
@@ -1228,11 +1250,11 @@
       }
     }
   },
-  "revision": "20200709",
+  "revision": "20200806",
   "rootUrl": "https://iam.googleapis.com/",
   "schemas": {
     "AdminAuditData": {
-      "description": "Audit log information specific to Cloud IAM admin APIs. This message is\nserialized as an `Any` type in the `ServiceData` message of an\n`AuditLog` message.",
+      "description": "Audit log information specific to Cloud IAM admin APIs. This message is serialized as an `Any` type in the `ServiceData` message of an `AuditLog` message.",
       "id": "AdminAuditData",
       "properties": {
         "permissionDelta": {
@@ -1243,7 +1265,7 @@
       "type": "object"
     },
     "AuditConfig": {
-      "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n    {\n      \"audit_configs\": [\n        {\n          \"service\": \"allServices\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n              \"exempted_members\": [\n                \"user:jose@example.com\"\n              ]\n            },\n            {\n              \"log_type\": \"DATA_WRITE\"\n            },\n            {\n              \"log_type\": \"ADMIN_READ\"\n            }\n          ]\n        },\n        {\n          \"service\": \"sampleservice.googleapis.com\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\"\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n              \"exempted_members\": [\n                \"user:aliya@example.com\"\n              ]\n            }\n          ]\n        }\n      ]\n    }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.",
+      "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.",
       "id": "AuditConfig",
       "properties": {
         "auditLogConfigs": {
@@ -1254,14 +1276,14 @@
           "type": "array"
         },
         "service": {
-          "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.",
+          "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "AuditData": {
-      "description": "Audit log information specific to Cloud IAM. This message is serialized\nas an `Any` type in the `ServiceData` message of an\n`AuditLog` message.",
+      "description": "Audit log information specific to Cloud IAM. This message is serialized as an `Any` type in the `ServiceData` message of an `AuditLog` message.",
       "id": "AuditData",
       "properties": {
         "policyDelta": {
@@ -1272,11 +1294,11 @@
       "type": "object"
     },
     "AuditLogConfig": {
-      "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n    {\n      \"audit_log_configs\": [\n        {\n          \"log_type\": \"DATA_READ\",\n          \"exempted_members\": [\n            \"user:jose@example.com\"\n          ]\n        },\n        {\n          \"log_type\": \"DATA_WRITE\"\n        }\n      ]\n    }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.",
+      "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.",
       "id": "AuditLogConfig",
       "properties": {
         "exemptedMembers": {
-          "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.",
+          "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.",
           "items": {
             "type": "string"
           },
@@ -1306,7 +1328,7 @@
       "id": "AuditableService",
       "properties": {
         "name": {
-          "description": "Public name of the service.\nFor example, the service name for Cloud IAM is 'iam.googleapis.com'.",
+          "description": "Public name of the service. For example, the service name for Cloud IAM is 'iam.googleapis.com'.",
           "type": "string"
         }
       },
@@ -1318,28 +1340,28 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "BindingDelta": {
-      "description": "One delta entry for Binding. Each individual change (only one member in each\nentry) to a binding will be a separate entry.",
+      "description": "One delta entry for Binding. Each individual change (only one member in each entry) to a binding will be a separate entry.",
       "id": "BindingDelta",
       "properties": {
         "action": {
-          "description": "The action that was performed on a Binding.\nRequired",
+          "description": "The action that was performed on a Binding. Required",
           "enum": [
             "ACTION_UNSPECIFIED",
             "ADD",
@@ -1357,11 +1379,11 @@
           "description": "The condition that is associated with this binding."
         },
         "member": {
-          "description": "A single identity requesting access for a Cloud Platform resource.\nFollows the same format of Binding.members.\nRequired",
+          "description": "A single identity requesting access for a Cloud Platform resource. Follows the same format of Binding.members. Required",
           "type": "string"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.\nRequired",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. Required",
           "type": "string"
         }
       },
@@ -1376,7 +1398,7 @@
           "description": "The Role resource to create."
         },
         "roleId": {
-          "description": "The role ID to use for this role.\n\nA role ID may contain alphanumeric characters, underscores (`_`), and\nperiods (`.`). It must contain a minimum of 3 characters and a maximum of\n64 characters.",
+          "description": "The role ID to use for this role. A role ID may contain alphanumeric characters, underscores (`_`), and periods (`.`). It must contain a minimum of 3 characters and a maximum of 64 characters.",
           "type": "string"
         }
       },
@@ -1387,7 +1409,7 @@
       "id": "CreateServiceAccountKeyRequest",
       "properties": {
         "keyAlgorithm": {
-          "description": "Which type of key and algorithm to use for the key.\nThe default is currently a 2K RSA key.  However this may change in the\nfuture.",
+          "description": "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 future.",
           "enum": [
             "KEY_ALG_UNSPECIFIED",
             "KEY_ALG_RSA_1024",
@@ -1401,7 +1423,7 @@
           "type": "string"
         },
         "privateKeyType": {
-          "description": "The output format of the private key. The default value is\n`TYPE_GOOGLE_CREDENTIALS_FILE`, which is the Google Credentials File\nformat.",
+          "description": "The output format of the private key. The default value is `TYPE_GOOGLE_CREDENTIALS_FILE`, which is the Google Credentials File format.",
           "enum": [
             "TYPE_UNSPECIFIED",
             "TYPE_PKCS12_FILE",
@@ -1409,7 +1431,7 @@
           ],
           "enumDescriptions": [
             "Unspecified. Equivalent to `TYPE_GOOGLE_CREDENTIALS_FILE`.",
-            "PKCS12 format.\nThe password for the PKCS12 file is `notasecret`.\nFor more information, see https://tools.ietf.org/html/rfc7292.",
+            "PKCS12 format. The password for the PKCS12 file is `notasecret`. For more information, see https://tools.ietf.org/html/rfc7292.",
             "Google Credentials File format."
           ],
           "type": "string"
@@ -1422,12 +1444,12 @@
       "id": "CreateServiceAccountRequest",
       "properties": {
         "accountId": {
-          "description": "Required. The account id that is used to generate the service account\nemail address and a stable unique id. It is unique within a project,\nmust be 6-30 characters long, and match the regular expression\n`[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035.",
+          "description": "Required. The account id that is used to generate the service account email address and a stable unique id. It is unique within a project, must be 6-30 characters long, and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035.",
           "type": "string"
         },
         "serviceAccount": {
           "$ref": "ServiceAccount",
-          "description": "The ServiceAccount resource to\ncreate. Currently, only the following values are user assignable:\n`display_name` and `description`."
+          "description": "The ServiceAccount resource to create. Currently, only the following values are user assignable: `display_name` and `description`."
         }
       },
       "type": "object"
@@ -1439,7 +1461,7 @@
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
@@ -1451,23 +1473,23 @@
       "type": "object"
     },
     "Expr": {
-      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
+      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
       "id": "Expr",
       "properties": {
         "description": {
-          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
+          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
           "type": "string"
         },
         "expression": {
-          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
+          "description": "Textual representation of an expression in Common Expression Language syntax.",
           "type": "string"
         },
         "location": {
-          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
+          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
           "type": "string"
         },
         "title": {
-          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
+          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
           "type": "string"
         }
       },
@@ -1482,14 +1504,14 @@
           "description": "google.iam.v1.Binding.condition object to be linted."
         },
         "fullResourceName": {
-          "description": "The full resource name of the policy this lint request is about.\n\nThe name follows the Google Cloud Platform (GCP) resource format.\nFor example, a GCP project with ID `my-project` will be named\n`//cloudresourcemanager.googleapis.com/projects/my-project`.\n\nThe resource name is not used to read the policy instance from the Cloud\nIAM database. The candidate policy for lint has to be provided in the same\nrequest object.",
+          "description": "The full resource name of the policy this lint request is about. The name follows the Google Cloud Platform (GCP) resource format. For example, a GCP project with ID `my-project` will be named `//cloudresourcemanager.googleapis.com/projects/my-project`. The resource name is not used to read the policy instance from the Cloud IAM database. The candidate policy for lint has to be provided in the same request object.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "LintPolicyResponse": {
-      "description": "The response of a lint operation. An empty response indicates\nthe operation was able to fully execute and no lint issue was found.",
+      "description": "The response of a lint operation. An empty response indicates the operation was able to fully execute and no lint issue was found.",
       "id": "LintPolicyResponse",
       "properties": {
         "lintResults": {
@@ -1511,7 +1533,7 @@
           "type": "string"
         },
         "fieldName": {
-          "description": "The name of the field for which this lint result is about.\n\nFor nested messages `field_name` consists of names of the embedded fields\nseparated by period character. The top-level qualifier is the input object\nto lint in the request. For example, the `field_name` value\n`condition.expression` identifies a lint result for the `expression` field\nof the provided condition.",
+          "description": "The name of the field for which this lint result is about. For nested messages `field_name` consists of names of the embedded fields separated by period character. The top-level qualifier is the input object to lint in the request. For example, the `field_name` value `condition.expression` identifies a lint result for the `expression` field of the provided condition.",
           "type": "string"
         },
         "level": {
@@ -1522,12 +1544,12 @@
           ],
           "enumDescriptions": [
             "Level is unspecified.",
-            "A validation unit which operates on an individual condition within a\nbinding."
+            "A validation unit which operates on an individual condition within a binding."
           ],
           "type": "string"
         },
         "locationOffset": {
-          "description": "0-based character position of problematic construct within the object\nidentified by `field_name`. Currently, this is populated only for condition\nexpression.",
+          "description": "0-based character position of problematic construct within the object identified by `field_name`. Currently, this is populated only for condition expression.",
           "format": "int32",
           "type": "integer"
         },
@@ -1543,16 +1565,16 @@
           ],
           "enumDescriptions": [
             "Severity is unspecified.",
-            "A validation unit returns an error only for critical issues. If an\nattempt is made to set the problematic policy without rectifying the\ncritical issue, it causes the `setPolicy` operation to fail.",
-            "Any issue which is severe enough but does not cause an error.\nFor example, suspicious constructs in the input object will not\nnecessarily fail `setPolicy`, but there is a high likelihood that they\nwon't behave as expected during policy evaluation in `checkPolicy`.\nThis includes the following common scenarios:\n\n- Unsatisfiable condition: Expired timestamp in date/time condition.\n- Ineffective condition: Condition on a \u003cmember, role\u003e pair which is\n  granted unconditionally in another binding of the same policy.",
-            "Reserved for the issues that are not severe as `ERROR`/`WARNING`, but\nneed special handling. For instance, messages about skipped validation\nunits are issued as `NOTICE`.",
-            "Any informative statement which is not severe enough to raise\n`ERROR`/`WARNING`/`NOTICE`, like auto-correction recommendations on the\ninput content. Note that current version of the linter does not utilize\n`INFO`.",
+            "A validation unit returns an error only for critical issues. If an attempt is made to set the problematic policy without rectifying the critical issue, it causes the `setPolicy` operation to fail.",
+            "Any issue which is severe enough but does not cause an error. For example, suspicious constructs in the input object will not necessarily fail `setPolicy`, but there is a high likelihood that they won't behave as expected during policy evaluation in `checkPolicy`. This includes the following common scenarios: - Unsatisfiable condition: Expired timestamp in date/time condition. - Ineffective condition: Condition on a pair which is granted unconditionally in another binding of the same policy.",
+            "Reserved for the issues that are not severe as `ERROR`/`WARNING`, but need special handling. For instance, messages about skipped validation units are issued as `NOTICE`.",
+            "Any informative statement which is not severe enough to raise `ERROR`/`WARNING`/`NOTICE`, like auto-correction recommendations on the input content. Note that current version of the linter does not utilize `INFO`.",
             "Deprecated severity level."
           ],
           "type": "string"
         },
         "validationUnitName": {
-          "description": "The validation unit name, for instance\n\"lintValidationUnits/ConditionComplexityCheck\".",
+          "description": "The validation unit name, for instance \"lintValidationUnits/ConditionComplexityCheck\".",
           "type": "string"
         }
       },
@@ -1563,7 +1585,7 @@
       "id": "ListRolesResponse",
       "properties": {
         "nextPageToken": {
-          "description": "To retrieve the next page of results, set\n`ListRolesRequest.page_token` to this value.",
+          "description": "To retrieve the next page of results, set `ListRolesRequest.page_token` to this value.",
           "type": "string"
         },
         "roles": {
@@ -1602,14 +1624,14 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "To retrieve the next page of results, set\nListServiceAccountsRequest.page_token\nto this value.",
+          "description": "To retrieve the next page of results, set ListServiceAccountsRequest.page_token to this value.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "PatchServiceAccountRequest": {
-      "description": "The request for\nPatchServiceAccount.\n\nYou can patch only the `display_name` and `description` fields. You must use\nthe `update_mask` field to specify which of these fields you want to patch.\n\nOnly the fields specified in the request are guaranteed to be returned in\nthe response. Other fields may be empty in the response.",
+      "description": "The request for PatchServiceAccount. You can patch only the `display_name` and `description` fields. You must use the `update_mask` field to specify which of these fields you want to patch. Only the fields specified in the request are guaranteed to be returned in the response. Other fields may be empty in the response.",
       "id": "PatchServiceAccountRequest",
       "properties": {
         "serviceAccount": {
@@ -1645,7 +1667,7 @@
           "type": "string"
         },
         "description": {
-          "description": "A brief description of what this Permission is used for.\nThis permission can ONLY be used in predefined roles.",
+          "description": "A brief description of what this Permission is used for. This permission can ONLY be used in predefined roles.",
           "type": "string"
         },
         "name": {
@@ -1656,7 +1678,7 @@
           "type": "boolean"
         },
         "primaryPermission": {
-          "description": "The preferred name for this permission. If present, then this permission is\nan alias of, and equivalent to, the listed primary_permission.",
+          "description": "The preferred name for this permission. If present, then this permission is an alias of, and equivalent to, the listed primary_permission.",
           "type": "string"
         },
         "stage": {
@@ -1683,7 +1705,7 @@
       "type": "object"
     },
     "PermissionDelta": {
-      "description": "A PermissionDelta message to record the added_permissions and\nremoved_permissions inside a role.",
+      "description": "A PermissionDelta message to record the added_permissions and removed_permissions inside a role.",
       "id": "PermissionDelta",
       "properties": {
         "addedPermissions": {
@@ -1704,7 +1726,7 @@
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\n            \"user:eve@example.com\"\n          ],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "auditConfigs": {
@@ -1715,19 +1737,19 @@
           "type": "array"
         },
         "bindings": {
-          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
+          "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.",
           "items": {
             "$ref": "Binding"
           },
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
           "format": "byte",
           "type": "string"
         },
         "version": {
-          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -1753,7 +1775,7 @@
       "id": "QueryAuditableServicesRequest",
       "properties": {
         "fullResourceName": {
-          "description": "Required. The full resource name to query from the list of auditable\nservices.\n\nThe name follows the Google Cloud Platform resource format.\nFor example, a Cloud Platform project with id `my-project` will be named\n`//cloudresourcemanager.googleapis.com/projects/my-project`.",
+          "description": "Required. The full resource name to query from the list of auditable services. The name follows the Google Cloud Platform resource format. For example, a Cloud Platform project with id `my-project` will be named `//cloudresourcemanager.googleapis.com/projects/my-project`.",
           "type": "string"
         }
       },
@@ -1778,16 +1800,16 @@
       "id": "QueryGrantableRolesRequest",
       "properties": {
         "fullResourceName": {
-          "description": "Required. The full resource name to query from the list of grantable roles.\n\nThe name follows the Google Cloud Platform resource format.\nFor example, a Cloud Platform project with id `my-project` will be named\n`//cloudresourcemanager.googleapis.com/projects/my-project`.",
+          "description": "Required. The full resource name to query from the list of grantable roles. The name follows the Google Cloud Platform resource format. For example, a Cloud Platform project with id `my-project` will be named `//cloudresourcemanager.googleapis.com/projects/my-project`.",
           "type": "string"
         },
         "pageSize": {
-          "description": "Optional limit on the number of roles to include in the response.\n\nThe default is 300, and the maximum is 1,000.",
+          "description": "Optional limit on the number of roles to include in the response. The default is 300, and the maximum is 1,000.",
           "format": "int32",
           "type": "integer"
         },
         "pageToken": {
-          "description": "Optional pagination token returned in an earlier\nQueryGrantableRolesResponse.",
+          "description": "Optional pagination token returned in an earlier QueryGrantableRolesResponse.",
           "type": "string"
         },
         "view": {
@@ -1796,7 +1818,7 @@
             "FULL"
           ],
           "enumDescriptions": [
-            "Omits the `included_permissions` field.\nThis is the default value.",
+            "Omits the `included_permissions` field. This is the default value.",
             "Returns all fields."
           ],
           "type": "string"
@@ -1809,7 +1831,7 @@
       "id": "QueryGrantableRolesResponse",
       "properties": {
         "nextPageToken": {
-          "description": "To retrieve the next page of results, set\n`QueryGrantableRolesRequest.page_token` to this value.",
+          "description": "To retrieve the next page of results, set `QueryGrantableRolesRequest.page_token` to this value.",
           "type": "string"
         },
         "roles": {
@@ -1827,16 +1849,16 @@
       "id": "QueryTestablePermissionsRequest",
       "properties": {
         "fullResourceName": {
-          "description": "Required. The full resource name to query from the list of testable\npermissions.\n\nThe name follows the Google Cloud Platform resource format.\nFor example, a Cloud Platform project with id `my-project` will be named\n`//cloudresourcemanager.googleapis.com/projects/my-project`.",
+          "description": "Required. The full resource name to query from the list of testable permissions. The name follows the Google Cloud Platform resource format. For example, a Cloud Platform project with id `my-project` will be named `//cloudresourcemanager.googleapis.com/projects/my-project`.",
           "type": "string"
         },
         "pageSize": {
-          "description": "Optional limit on the number of permissions to include in the response.\n\nThe default is 100, and the maximum is 1,000.",
+          "description": "Optional limit on the number of permissions to include in the response. The default is 100, and the maximum is 1,000.",
           "format": "int32",
           "type": "integer"
         },
         "pageToken": {
-          "description": "Optional pagination token returned in an earlier\nQueryTestablePermissionsRequest.",
+          "description": "Optional pagination token returned in an earlier QueryTestablePermissionsRequest.",
           "type": "string"
         }
       },
@@ -1847,7 +1869,7 @@
       "id": "QueryTestablePermissionsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "To retrieve the next page of results, set\n`QueryTestableRolesRequest.page_token` to this value.",
+          "description": "To retrieve the next page of results, set `QueryTestableRolesRequest.page_token` to this value.",
           "type": "string"
         },
         "permissions": {
@@ -1865,7 +1887,7 @@
       "id": "Role",
       "properties": {
         "deleted": {
-          "description": "The current deleted state of the role. This field is read only.\nIt will be ignored in calls to CreateRole and UpdateRole.",
+          "description": "The current deleted state of the role. This field is read only. It will be ignored in calls to CreateRole and UpdateRole.",
           "type": "boolean"
         },
         "description": {
@@ -1885,11 +1907,11 @@
           "type": "array"
         },
         "name": {
-          "description": "The name of the role.\n\nWhen Role is used in CreateRole, the role name must not be set.\n\nWhen Role is used in output and other input such as UpdateRole, the role\nname is the complete path, e.g., roles/logging.viewer for predefined roles\nand organizations/{ORGANIZATION_ID}/roles/logging.viewer for custom roles.",
+          "description": "The name of the role. When Role is used in CreateRole, the role name must not be set. When Role is used in output and other input such as UpdateRole, the role name is the complete path, e.g., roles/logging.viewer for predefined roles and organizations/{ORGANIZATION_ID}/roles/logging.viewer for custom roles.",
           "type": "string"
         },
         "stage": {
-          "description": "The current launch stage of the role. If the `ALPHA` launch stage has been\nselected for a role, the `stage` field will not be included in the\nreturned definition for the role.",
+          "description": "The current launch stage of the role. If the `ALPHA` launch stage has been selected for a role, the `stage` field will not be included in the returned definition for the role.",
           "enum": [
             "ALPHA",
             "BETA",
@@ -1899,40 +1921,42 @@
             "EAP"
           ],
           "enumDescriptions": [
-            "The user has indicated this role is currently in an Alpha phase. If this\nlaunch stage is selected, the `stage` field will not be included when\nrequesting the definition for a given role.",
+            "The user has indicated this role is currently in an Alpha phase. If this launch stage is selected, the `stage` field will not be included when requesting the definition for a given role.",
             "The user has indicated this role is currently in a Beta phase.",
             "The user has indicated this role is generally available.",
             "The user has indicated this role is being deprecated.",
-            "This role is disabled and will not contribute permissions to any members\nit is granted to in policies.",
+            "This role is disabled and will not contribute permissions to any members it is granted to in policies.",
             "The user has indicated this role is currently in an EAP phase."
           ],
           "type": "string"
         },
         "title": {
-          "description": "Optional. A human-readable title for the role.  Typically this\nis limited to 100 UTF-8 bytes.",
+          "description": "Optional. A human-readable title for the role. Typically this is limited to 100 UTF-8 bytes.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "ServiceAccount": {
-      "description": "An IAM service account.\n\nA service account is an account for an application or a virtual machine (VM)\ninstance, not a person. You can use a service account to call Google APIs. To\nlearn more, read the [overview of service\naccounts](https://cloud.google.com/iam/help/service-accounts/overview).\n\nWhen you create a service account, you specify the project ID that owns the\nservice account, as well as a name that must be unique within the project.\nIAM uses these values to create an email address that identifies the service\naccount.",
+      "description": "An IAM service account. A service account is an account for an application or a virtual machine (VM) instance, not a person. You can use a service account to call Google APIs. To learn more, read the [overview of service accounts](https://cloud.google.com/iam/help/service-accounts/overview). When you create a service account, you specify the project ID that owns the service account, as well as a name that must be unique within the project. IAM uses these values to create an email address that identifies the service account.",
       "id": "ServiceAccount",
       "properties": {
         "description": {
-          "description": "Optional. A user-specified, human-readable description of the service account. The\nmaximum length is 256 UTF-8 bytes.",
+          "description": "Optional. A user-specified, human-readable description of the service account. The maximum length is 256 UTF-8 bytes.",
           "type": "string"
         },
         "disabled": {
           "description": "Output only. Whether the service account is disabled.",
+          "readOnly": true,
           "type": "boolean"
         },
         "displayName": {
-          "description": "Optional. A user-specified, human-readable name for the service account. The maximum\nlength is 100 UTF-8 bytes.",
+          "description": "Optional. A user-specified, human-readable name for the service account. The maximum length is 100 UTF-8 bytes.",
           "type": "string"
         },
         "email": {
           "description": "Output only. The email address of the service account.",
+          "readOnly": true,
           "type": "string"
         },
         "etag": {
@@ -1941,26 +1965,29 @@
           "type": "string"
         },
         "name": {
-          "description": "The resource name of the service account.\n\nUse one of the following formats:\n\n* `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}`\n* `projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}`\n\nAs an alternative, you can use the `-` wildcard character instead of the\nproject ID:\n\n* `projects/-/serviceAccounts/{EMAIL_ADDRESS}`\n* `projects/-/serviceAccounts/{UNIQUE_ID}`\n\nWhen possible, avoid using the `-` wildcard character, because it can cause\nresponse messages to contain misleading error codes. For example, if you\ntry to get the service account\n`projects/-/serviceAccounts/fake@example.com`, which does not exist, the\nresponse contains an HTTP `403 Forbidden` error instead of a `404 Not\nFound` error.",
+          "description": "The resource name of the service account. Use one of the following formats: * `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}` * `projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}` As an alternative, you can use the `-` wildcard character instead of the project ID: * `projects/-/serviceAccounts/{EMAIL_ADDRESS}` * `projects/-/serviceAccounts/{UNIQUE_ID}` When possible, avoid using the `-` wildcard character, because it can cause response messages to contain misleading error codes. For example, if you try to get the service account `projects/-/serviceAccounts/fake@example.com`, which does not exist, the response contains an HTTP `403 Forbidden` error instead of a `404 Not Found` error.",
           "type": "string"
         },
         "oauth2ClientId": {
           "description": "Output only. The OAuth 2.0 client ID for the service account.",
+          "readOnly": true,
           "type": "string"
         },
         "projectId": {
           "description": "Output only. The ID of the project that owns the service account.",
+          "readOnly": true,
           "type": "string"
         },
         "uniqueId": {
-          "description": "Output only. The unique, stable numeric ID for the service account.\n\nEach service account retains its unique ID even if you delete the service\naccount. For example, if you delete a service account, then create a new\nservice account with the same name, the new service account has a different\nunique ID than the deleted service account.",
+          "description": "Output only. The unique, stable numeric ID for the service account. Each service account retains its unique ID even if you delete the service account. For example, if you delete a service account, then create a new service account with the same name, the new service account has a different unique ID than the deleted service account.",
+          "readOnly": true,
           "type": "string"
         }
       },
       "type": "object"
     },
     "ServiceAccountKey": {
-      "description": "Represents a service account key.\n\nA service account has two sets of key-pairs: user-managed, and\nsystem-managed.\n\nUser-managed key-pairs can be created and deleted by users.  Users are\nresponsible for rotating these keys periodically to ensure security of\ntheir service accounts.  Users retain the private key of these key-pairs,\nand Google retains ONLY the public key.\n\nSystem-managed keys are automatically rotated by Google, and are used for\nsigning for a maximum of two weeks. The rotation process is probabilistic,\nand usage of the new key will gradually ramp up and down over the key's\nlifetime. We recommend caching the public key set for a service account for\nno more than 24 hours to ensure you have access to the latest keys.\n\nPublic keys for all service accounts are also published at the OAuth2\nService Account API.",
+      "description": "Represents a service account key. A service account has two sets of key-pairs: user-managed, and system-managed. User-managed key-pairs can be created and deleted by users. Users are responsible for rotating these keys periodically to ensure security of their service accounts. Users retain the private key of these key-pairs, and Google retains ONLY the public key. System-managed keys are automatically rotated by Google, and are used for signing for a maximum of two weeks. The rotation process is probabilistic, and usage of the new key will gradually ramp up and down over the key's lifetime. We recommend caching the public key set for a service account for no more than 24 hours to ensure you have access to the latest keys. Public keys for all service accounts are also published at the OAuth2 Service Account API.",
       "id": "ServiceAccountKey",
       "properties": {
         "keyAlgorithm": {
@@ -1999,23 +2026,23 @@
             "SYSTEM_MANAGED"
           ],
           "enumDescriptions": [
-            "Unspecified key type. The presence of this in the\nmessage will immediately result in an error.",
+            "Unspecified key type. The presence of this in the message will immediately result in an error.",
             "User-managed keys (managed and rotated by the user).",
             "System-managed keys (managed and rotated by Google)."
           ],
           "type": "string"
         },
         "name": {
-          "description": "The resource name of the service account key in the following format\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.",
+          "description": "The resource name of the service account key in the following format `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.",
           "type": "string"
         },
         "privateKeyData": {
-          "description": "The private key data. Only provided in `CreateServiceAccountKey`\nresponses. Make sure to keep the private key data secure because it\nallows for the assertion of the service account identity.\nWhen base64 decoded, the private key data can be used to authenticate with\nGoogle API client libraries and with\n\u003ca href=\"/sdk/gcloud/reference/auth/activate-service-account\"\u003egcloud\nauth activate-service-account\u003c/a\u003e.",
+          "description": "The private key data. Only provided in `CreateServiceAccountKey` responses. Make sure to keep the private key data secure because it allows for the assertion of the service account identity. When base64 decoded, the private key data can be used to authenticate with Google API client libraries and with gcloud auth activate-service-account.",
           "format": "byte",
           "type": "string"
         },
         "privateKeyType": {
-          "description": "The output format for the private key.\nOnly provided in `CreateServiceAccountKey` responses, not\nin `GetServiceAccountKey` or `ListServiceAccountKey` responses.\n\nGoogle never exposes system-managed private keys, and never retains\nuser-managed private keys.",
+          "description": "The output format for the private key. Only provided in `CreateServiceAccountKey` responses, not in `GetServiceAccountKey` or `ListServiceAccountKey` responses. Google never exposes system-managed private keys, and never retains user-managed private keys.",
           "enum": [
             "TYPE_UNSPECIFIED",
             "TYPE_PKCS12_FILE",
@@ -2023,7 +2050,7 @@
           ],
           "enumDescriptions": [
             "Unspecified. Equivalent to `TYPE_GOOGLE_CREDENTIALS_FILE`.",
-            "PKCS12 format.\nThe password for the PKCS12 file is `notasecret`.\nFor more information, see https://tools.ietf.org/html/rfc7292.",
+            "PKCS12 format. The password for the PKCS12 file is `notasecret`. For more information, see https://tools.ietf.org/html/rfc7292.",
             "Google Credentials File format."
           ],
           "type": "string"
@@ -2039,7 +2066,7 @@
           "type": "string"
         },
         "validBeforeTime": {
-          "description": "The key can be used before this timestamp.\nFor system-managed key pairs, this timestamp is the end time for the\nprivate key signing operation. The public key could still be used\nfor verification for a few hours after this time.",
+          "description": "The key can be used before this timestamp. For system-managed key pairs, this timestamp is the end time for the private key signing operation. The public key could still be used for verification for a few hours after this time.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -2052,10 +2079,10 @@
       "properties": {
         "policy": {
           "$ref": "Policy",
-          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
+          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them."
         },
         "updateMask": {
-          "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`",
+          "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`",
           "format": "google-fieldmask",
           "type": "string"
         }
@@ -2063,11 +2090,11 @@
       "type": "object"
     },
     "SignBlobRequest": {
-      "description": "Deprecated. [Migrate to Service Account Credentials\nAPI](https://cloud.google.com/iam/help/credentials/migrate-api).\n\nThe service account sign blob request.",
+      "description": "Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The service account sign blob request.",
       "id": "SignBlobRequest",
       "properties": {
         "bytesToSign": {
-          "description": "Required. Deprecated. [Migrate to Service Account Credentials\nAPI](https://cloud.google.com/iam/help/credentials/migrate-api).\n\nThe bytes to sign.",
+          "description": "Required. Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The bytes to sign.",
           "format": "byte",
           "type": "string"
         }
@@ -2075,15 +2102,15 @@
       "type": "object"
     },
     "SignBlobResponse": {
-      "description": "Deprecated. [Migrate to Service Account Credentials\nAPI](https://cloud.google.com/iam/help/credentials/migrate-api).\n\nThe service account sign blob response.",
+      "description": "Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The service account sign blob response.",
       "id": "SignBlobResponse",
       "properties": {
         "keyId": {
-          "description": "Deprecated. [Migrate to Service Account Credentials\nAPI](https://cloud.google.com/iam/help/credentials/migrate-api).\n\nThe id of the key used to sign the blob.",
+          "description": "Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The id of the key used to sign the blob.",
           "type": "string"
         },
         "signature": {
-          "description": "Deprecated. [Migrate to Service Account Credentials\nAPI](https://cloud.google.com/iam/help/credentials/migrate-api).\n\nThe signed blob.",
+          "description": "Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The signed blob.",
           "format": "byte",
           "type": "string"
         }
@@ -2091,26 +2118,26 @@
       "type": "object"
     },
     "SignJwtRequest": {
-      "description": "Deprecated. [Migrate to Service Account Credentials\nAPI](https://cloud.google.com/iam/help/credentials/migrate-api).\n\nThe service account sign JWT request.",
+      "description": "Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The service account sign JWT request.",
       "id": "SignJwtRequest",
       "properties": {
         "payload": {
-          "description": "Required. Deprecated. [Migrate to Service Account Credentials\nAPI](https://cloud.google.com/iam/help/credentials/migrate-api).\n\nThe JWT payload to sign. Must be a serialized JSON object that contains a\nJWT Claims Set. For example: `{\"sub\": \"user@example.com\", \"iat\": 313435}`\n\nIf the JWT Claims Set contains an expiration time (`exp`) claim, it must be\nan integer timestamp that is not in the past and no more than 1 hour in the\nfuture.\n\nIf the JWT Claims Set does not contain an expiration time (`exp`) claim,\nthis claim is added automatically, with a timestamp that is 1 hour in the\nfuture.",
+          "description": "Required. Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The JWT payload to sign. Must be a serialized JSON object that contains a JWT Claims Set. For example: `{\"sub\": \"user@example.com\", \"iat\": 313435}` If the JWT Claims Set contains an expiration time (`exp`) claim, it must be an integer timestamp that is not in the past and no more than 1 hour in the future. If the JWT Claims Set does not contain an expiration time (`exp`) claim, this claim is added automatically, with a timestamp that is 1 hour in the future.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "SignJwtResponse": {
-      "description": "Deprecated. [Migrate to Service Account Credentials\nAPI](https://cloud.google.com/iam/help/credentials/migrate-api).\n\nThe service account sign JWT response.",
+      "description": "Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The service account sign JWT response.",
       "id": "SignJwtResponse",
       "properties": {
         "keyId": {
-          "description": "Deprecated. [Migrate to Service Account Credentials\nAPI](https://cloud.google.com/iam/help/credentials/migrate-api).\n\nThe id of the key used to sign the JWT.",
+          "description": "Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The id of the key used to sign the JWT.",
           "type": "string"
         },
         "signedJwt": {
-          "description": "Deprecated. [Migrate to Service Account Credentials\nAPI](https://cloud.google.com/iam/help/credentials/migrate-api).\n\nThe signed JWT.",
+          "description": "Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The signed JWT.",
           "type": "string"
         }
       },
@@ -2121,7 +2148,7 @@
       "id": "TestIamPermissionsRequest",
       "properties": {
         "permissions": {
-          "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
+          "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
           "items": {
             "type": "string"
           },
@@ -2135,7 +2162,7 @@
       "id": "TestIamPermissionsResponse",
       "properties": {
         "permissions": {
-          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
+          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
           "items": {
             "type": "string"
           },
@@ -2177,7 +2204,7 @@
       "id": "UploadServiceAccountKeyRequest",
       "properties": {
         "publicKeyData": {
-          "description": "A field that allows clients to upload their own public key. If set,\nuse this public key data to create a service account key for given\nservice account.\nPlease note, the expected format for this field is X509_PEM.",
+          "description": "A field that allows clients to upload their own public key. If set, use this public key data to create a service account key for given service account. Please note, the expected format for this field is X509_PEM.",
           "format": "byte",
           "type": "string"
         }
diff --git a/iam/v1/iam-gen.go b/iam/v1/iam-gen.go
index 0b6c4f4..a408f76 100644
--- a/iam/v1/iam-gen.go
+++ b/iam/v1/iam-gen.go
@@ -241,10 +241,8 @@
 }
 
 // AdminAuditData: Audit log information specific to Cloud IAM admin
-// APIs. This message is
-// serialized as an `Any` type in the `ServiceData` message of
-// an
-// `AuditLog` message.
+// APIs. This message is serialized as an `Any` type in the
+// `ServiceData` message of an `AuditLog` message.
 type AdminAuditData struct {
 	// PermissionDelta: The permission_delta when when creating or updating
 	// a Role.
@@ -274,72 +272,31 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// AuditConfig: Specifies the audit configuration for a service.
-// The configuration determines which permission types are logged, and
-// what
-// identities, if any, are exempted from logging.
-// An AuditConfig must have one or more AuditLogConfigs.
-//
-// If there are AuditConfigs for both `allServices` and a specific
-// service,
-// the union of the two AuditConfigs is used for that service: the
-// log_types
-// specified in each AuditConfig are enabled, and the exempted_members
-// in each
-// AuditLogConfig are exempted.
-//
-// Example Policy with multiple AuditConfigs:
-//
-//     {
-//       "audit_configs": [
-//         {
-//           "service": "allServices",
-//           "audit_log_configs": [
-//             {
-//               "log_type": "DATA_READ",
-//               "exempted_members": [
-//                 "user:jose@example.com"
-//               ]
-//             },
-//             {
-//               "log_type": "DATA_WRITE"
-//             },
-//             {
-//               "log_type": "ADMIN_READ"
-//             }
-//           ]
-//         },
-//         {
-//           "service": "sampleservice.googleapis.com",
-//           "audit_log_configs": [
-//             {
-//               "log_type": "DATA_READ"
-//             },
-//             {
-//               "log_type": "DATA_WRITE",
-//               "exempted_members": [
-//                 "user:aliya@example.com"
-//               ]
-//             }
-//           ]
-//         }
-//       ]
-//     }
-//
-// For sampleservice, this policy enables DATA_READ, DATA_WRITE and
-// ADMIN_READ
-// logging. It also exempts jose@example.com from DATA_READ logging,
-// and
-// aliya@example.com from DATA_WRITE logging.
+// AuditConfig: Specifies the audit configuration for a service. The
+// configuration determines which permission types are logged, and what
+// identities, if any, are exempted from logging. An AuditConfig must
+// have one or more AuditLogConfigs. If there are AuditConfigs for both
+// `allServices` and a specific service, the union of the two
+// AuditConfigs is used for that service: the log_types specified in
+// each AuditConfig are enabled, and the exempted_members in each
+// AuditLogConfig are exempted. Example Policy with multiple
+// AuditConfigs: { "audit_configs": [ { "service": "allServices",
+// "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members":
+// [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, {
+// "log_type": "ADMIN_READ" } ] }, { "service":
+// "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type":
+// "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [
+// "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy
+// enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts
+// jose@example.com from DATA_READ logging, and aliya@example.com from
+// DATA_WRITE logging.
 type AuditConfig struct {
 	// AuditLogConfigs: The configuration for logging of each type of
 	// permission.
 	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
 
-	// Service: Specifies a service that will be enabled for audit
-	// logging.
-	// For example, `storage.googleapis.com`,
-	// `cloudsql.googleapis.com`.
+	// Service: Specifies a service that will be enabled for audit logging.
+	// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
 	// `allServices` is a special value that covers all services.
 	Service string `json:"service,omitempty"`
 
@@ -368,8 +325,7 @@
 }
 
 // AuditData: Audit log information specific to Cloud IAM. This message
-// is serialized
-// as an `Any` type in the `ServiceData` message of an
+// is serialized as an `Any` type in the `ServiceData` message of an
 // `AuditLog` message.
 type AuditData struct {
 	// PolicyDelta: Policy delta between the original policy and the newly
@@ -400,31 +356,15 @@
 }
 
 // AuditLogConfig: Provides the configuration for logging a type of
-// permissions.
-// Example:
-//
-//     {
-//       "audit_log_configs": [
-//         {
-//           "log_type": "DATA_READ",
-//           "exempted_members": [
-//             "user:jose@example.com"
-//           ]
-//         },
-//         {
-//           "log_type": "DATA_WRITE"
-//         }
-//       ]
-//     }
-//
-// This enables 'DATA_READ' and 'DATA_WRITE' logging, while
-// exempting
-// jose@example.com from DATA_READ logging.
+// permissions. Example: { "audit_log_configs": [ { "log_type":
+// "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, {
+// "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and
+// 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ
+// logging.
 type AuditLogConfig struct {
 	// ExemptedMembers: Specifies the identities that do not cause logging
-	// for this type of
-	// permission.
-	// Follows the same format of Binding.members.
+	// for this type of permission. Follows the same format of
+	// Binding.members.
 	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
 
 	// LogType: The log type that this config enables.
@@ -462,8 +402,8 @@
 
 // AuditableService: Contains information about an auditable service.
 type AuditableService struct {
-	// Name: Public name of the service.
-	// For example, the service name for Cloud IAM is 'iam.googleapis.com'.
+	// Name: Public name of the service. For example, the service name for
+	// Cloud IAM is 'iam.googleapis.com'.
 	Name string `json:"name,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Name") to
@@ -491,95 +431,53 @@
 
 // Binding: Associates `members` with a `role`.
 type Binding struct {
-	// Condition: The condition that is associated with this binding.
-	//
-	// If the condition evaluates to `true`, then this binding applies to
-	// the
-	// current request.
-	//
-	// If the condition evaluates to `false`, then this binding does not
-	// apply to
-	// the current request. However, a different role binding might grant
-	// the same
-	// role to one or more of the members in this binding.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// Condition: The condition that is associated with this binding. If the
+	// condition evaluates to `true`, then this binding applies to the
+	// current request. If the condition evaluates to `false`, then this
+	// binding does not apply to the current request. However, a different
+	// role binding might grant the same role to one or more of the members
+	// in this binding. To learn which resources support conditions in their
+	// IAM policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	Condition *Expr `json:"condition,omitempty"`
 
 	// Members: Specifies the identities requesting access for a Cloud
-	// Platform resource.
-	// `members` can have the following values:
-	//
-	// * `allUsers`: A special identifier that represents anyone who is
-	//    on the internet; with or without a Google account.
-	//
-	// * `allAuthenticatedUsers`: A special identifier that represents
-	// anyone
-	//    who is authenticated with a Google account or a service
-	// account.
-	//
-	// * `user:{emailid}`: An email address that represents a specific
-	// Google
-	//    account. For example, `alice@example.com` .
-	//
-	//
-	// * `serviceAccount:{emailid}`: An email address that represents a
-	// service
-	//    account. For example,
-	// `my-other-app@appspot.gserviceaccount.com`.
-	//
-	// * `group:{emailid}`: An email address that represents a Google
-	// group.
-	//    For example, `admins@example.com`.
-	//
-	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a user that has been recently deleted.
-	// For
-	//    example, `alice@example.com?uid=123456789012345678901`. If the
-	// user is
-	//    recovered, this value reverts to `user:{emailid}` and the
-	// recovered user
-	//    retains the role in the binding.
-	//
-	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
-	// (plus
-	//    unique identifier) representing a service account that has been
-	// recently
-	//    deleted. For example,
-	//
+	// Platform resource. `members` can have the following values: *
+	// `allUsers`: A special identifier that represents anyone who is on the
+	// internet; with or without a Google account. *
+	// `allAuthenticatedUsers`: A special identifier that represents anyone
+	// who is authenticated with a Google account or a service account. *
+	// `user:{emailid}`: An email address that represents a specific Google
+	// account. For example, `alice@example.com` . *
+	// `serviceAccount:{emailid}`: An email address that represents a
+	// service account. For example,
+	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
+	// email address that represents a Google group. For example,
+	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
+	// email address (plus unique identifier) representing a user that has
+	// been recently deleted. For example,
+	// `alice@example.com?uid=123456789012345678901`. If the user is
+	// recovered, this value reverts to `user:{emailid}` and the recovered
+	// user retains the role in the binding. *
+	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
+	// (plus unique identifier) representing a service account that has been
+	// recently deleted. For example,
 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
-	//
-	//    If the service account is undeleted, this value reverts to
-	//    `serviceAccount:{emailid}` and the undeleted service account
-	// retains the
-	//    role in the binding.
-	//
-	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a Google group that has been recently
-	//    deleted. For example,
-	// `admins@example.com?uid=123456789012345678901`. If
-	//    the group is recovered, this value reverts to `group:{emailid}`
-	// and the
-	//    recovered group retains the role in the binding.
-	//
-	//
-	// * `domain:{domain}`: The G Suite domain (primary) that represents all
-	// the
-	//    users of that domain. For example, `google.com` or
-	// `example.com`.
-	//
-	//
+	// If the service account is undeleted, this value reverts to
+	// `serviceAccount:{emailid}` and the undeleted service account retains
+	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
+	// An email address (plus unique identifier) representing a Google group
+	// that has been recently deleted. For example,
+	// `admins@example.com?uid=123456789012345678901`. If the group is
+	// recovered, this value reverts to `group:{emailid}` and the recovered
+	// group retains the role in the binding. * `domain:{domain}`: The G
+	// Suite domain (primary) that represents all the users of that domain.
+	// For example, `google.com` or `example.com`.
 	Members []string `json:"members,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`.
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -606,11 +504,10 @@
 }
 
 // BindingDelta: One delta entry for Binding. Each individual change
-// (only one member in each
-// entry) to a binding will be a separate entry.
+// (only one member in each entry) to a binding will be a separate
+// entry.
 type BindingDelta struct {
-	// Action: The action that was performed on a Binding.
-	// Required
+	// Action: The action that was performed on a Binding. Required
 	//
 	// Possible values:
 	//   "ACTION_UNSPECIFIED" - Unspecified.
@@ -622,15 +519,11 @@
 	Condition *Expr `json:"condition,omitempty"`
 
 	// Member: A single identity requesting access for a Cloud Platform
-	// resource.
-	// Follows the same format of Binding.members.
-	// Required
+	// resource. Follows the same format of Binding.members. Required
 	Member string `json:"member,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or
-	// `roles/owner`.
-	// Required
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`. Required
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Action") to
@@ -661,13 +554,10 @@
 	// Role: The Role resource to create.
 	Role *Role `json:"role,omitempty"`
 
-	// RoleId: The role ID to use for this role.
-	//
-	// A role ID may contain alphanumeric characters, underscores (`_`),
-	// and
-	// periods (`.`). It must contain a minimum of 3 characters and a
-	// maximum of
-	// 64 characters.
+	// RoleId: The role ID to use for this role. A role ID may contain
+	// alphanumeric characters, underscores (`_`), and periods (`.`). It
+	// must contain a minimum of 3 characters and a maximum of 64
+	// characters.
 	RoleId string `json:"roleId,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Role") to
@@ -696,9 +586,8 @@
 // CreateServiceAccountKeyRequest: The service account key create
 // request.
 type CreateServiceAccountKeyRequest struct {
-	// KeyAlgorithm: 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
+	// KeyAlgorithm: 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
 	// future.
 	//
 	// Possible values:
@@ -708,17 +597,15 @@
 	KeyAlgorithm string `json:"keyAlgorithm,omitempty"`
 
 	// PrivateKeyType: The output format of the private key. The default
-	// value is
-	// `TYPE_GOOGLE_CREDENTIALS_FILE`, which is the Google Credentials
-	// File
-	// format.
+	// value is `TYPE_GOOGLE_CREDENTIALS_FILE`, which is the Google
+	// Credentials File format.
 	//
 	// Possible values:
 	//   "TYPE_UNSPECIFIED" - Unspecified. Equivalent to
 	// `TYPE_GOOGLE_CREDENTIALS_FILE`.
-	//   "TYPE_PKCS12_FILE" - PKCS12 format.
-	// The password for the PKCS12 file is `notasecret`.
-	// For more information, see https://tools.ietf.org/html/rfc7292.
+	//   "TYPE_PKCS12_FILE" - PKCS12 format. The password for the PKCS12
+	// file is `notasecret`. For more information, see
+	// https://tools.ietf.org/html/rfc7292.
 	//   "TYPE_GOOGLE_CREDENTIALS_FILE" - Google Credentials File format.
 	PrivateKeyType string `json:"privateKeyType,omitempty"`
 
@@ -748,18 +635,14 @@
 // CreateServiceAccountRequest: The service account create request.
 type CreateServiceAccountRequest struct {
 	// AccountId: Required. The account id that is used to generate the
-	// service account
-	// email address and a stable unique id. It is unique within a
-	// project,
-	// must be 6-30 characters long, and match the regular
-	// expression
-	// `[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035.
+	// service account email address and a stable unique id. It is unique
+	// within a project, must be 6-30 characters long, and match the regular
+	// expression `[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035.
 	AccountId string `json:"accountId,omitempty"`
 
-	// ServiceAccount: The ServiceAccount resource to
-	// create. Currently, only the following values are user
-	// assignable:
-	// `display_name` and `description`.
+	// ServiceAccount: The ServiceAccount resource to create. Currently,
+	// only the following values are user assignable: `display_name` and
+	// `description`.
 	ServiceAccount *ServiceAccount `json:"serviceAccount,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AccountId") to
@@ -790,17 +673,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -812,65 +689,40 @@
 }
 
 // Expr: Represents a textual expression in the Common Expression
-// Language (CEL)
-// syntax. CEL is a C-like expression language. The syntax and semantics
-// of CEL
-// are documented at https://github.com/google/cel-spec.
-//
-// Example (Comparison):
-//
-//     title: "Summary size limit"
-//     description: "Determines if a summary is less than 100 chars"
-//     expression: "document.summary.size() < 100"
-//
-// Example (Equality):
-//
-//     title: "Requestor is owner"
-//     description: "Determines if requestor is the document owner"
-//     expression: "document.owner ==
-// request.auth.claims.email"
-//
-// Example (Logic):
-//
-//     title: "Public documents"
-//     description: "Determine whether the document should be publicly
-// visible"
-//     expression: "document.type != 'private' && document.type !=
-// 'internal'"
-//
-// Example (Data Manipulation):
-//
-//     title: "Notification string"
-//     description: "Create a notification string with a timestamp."
-//     expression: "'New message received at ' +
-// string(document.create_time)"
-//
-// The exact variables and functions that may be referenced within an
-// expression
-// are determined by the service that evaluates it. See the
-// service
-// documentation for additional information.
+// Language (CEL) syntax. CEL is a C-like expression language. The
+// syntax and semantics of CEL are documented at
+// https://github.com/google/cel-spec. Example (Comparison): title:
+// "Summary size limit" description: "Determines if a summary is less
+// than 100 chars" expression: "document.summary.size() < 100" Example
+// (Equality): title: "Requestor is owner" description: "Determines if
+// requestor is the document owner" expression: "document.owner ==
+// request.auth.claims.email" Example (Logic): title: "Public documents"
+// description: "Determine whether the document should be publicly
+// visible" expression: "document.type != 'private' && document.type !=
+// 'internal'" Example (Data Manipulation): title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' +
+// string(document.create_time)" The exact variables and functions that
+// may be referenced within an expression are determined by the service
+// that evaluates it. See the service documentation for additional
+// information.
 type Expr struct {
 	// Description: Optional. Description of the expression. This is a
-	// longer text which
-	// describes the expression, e.g. when hovered over it in a UI.
+	// longer text which describes the expression, e.g. when hovered over it
+	// in a UI.
 	Description string `json:"description,omitempty"`
 
 	// Expression: Textual representation of an expression in Common
-	// Expression Language
-	// syntax.
+	// Expression Language syntax.
 	Expression string `json:"expression,omitempty"`
 
 	// Location: Optional. String indicating the location of the expression
-	// for error
-	// reporting, e.g. a file name and a position in the file.
+	// for error reporting, e.g. a file name and a position in the file.
 	Location string `json:"location,omitempty"`
 
 	// Title: Optional. Title for the expression, i.e. a short string
-	// describing
-	// its purpose. This can be used e.g. in UIs which allow to enter
-	// the
-	// expression.
+	// describing its purpose. This can be used e.g. in UIs which allow to
+	// enter the expression.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -902,19 +754,12 @@
 	Condition *Expr `json:"condition,omitempty"`
 
 	// FullResourceName: The full resource name of the policy this lint
-	// request is about.
-	//
-	// The name follows the Google Cloud Platform (GCP) resource format.
-	// For example, a GCP project with ID `my-project` will be
-	// named
-	// `//cloudresourcemanager.googleapis.com/projects/my-project`.
-	//
-	// Th
-	// e resource name is not used to read the policy instance from the
-	// Cloud
-	// IAM database. The candidate policy for lint has to be provided in the
-	// same
-	// request object.
+	// request is about. The name follows the Google Cloud Platform (GCP)
+	// resource format. For example, a GCP project with ID `my-project` will
+	// be named `//cloudresourcemanager.googleapis.com/projects/my-project`.
+	// The resource name is not used to read the policy instance from the
+	// Cloud IAM database. The candidate policy for lint has to be provided
+	// in the same request object.
 	FullResourceName string `json:"fullResourceName,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -941,8 +786,8 @@
 }
 
 // LintPolicyResponse: The response of a lint operation. An empty
-// response indicates
-// the operation was able to fully execute and no lint issue was found.
+// response indicates the operation was able to fully execute and no
+// lint issue was found.
 type LintPolicyResponse struct {
 	// LintResults: List of lint results sorted by `severity` in descending
 	// order.
@@ -980,18 +825,12 @@
 	// DebugMessage: Human readable debug message associated with the issue.
 	DebugMessage string `json:"debugMessage,omitempty"`
 
-	// FieldName: The name of the field for which this lint result is
-	// about.
-	//
+	// FieldName: The name of the field for which this lint result is about.
 	// For nested messages `field_name` consists of names of the embedded
-	// fields
-	// separated by period character. The top-level qualifier is the input
-	// object
-	// to lint in the request. For example, the `field_name`
-	// value
-	// `condition.expression` identifies a lint result for the `expression`
-	// field
-	// of the provided condition.
+	// fields separated by period character. The top-level qualifier is the
+	// input object to lint in the request. For example, the `field_name`
+	// value `condition.expression` identifies a lint result for the
+	// `expression` field of the provided condition.
 	FieldName string `json:"fieldName,omitempty"`
 
 	// Level: The validation unit level.
@@ -999,15 +838,12 @@
 	// Possible values:
 	//   "LEVEL_UNSPECIFIED" - Level is unspecified.
 	//   "CONDITION" - A validation unit which operates on an individual
-	// condition within a
-	// binding.
+	// condition within a binding.
 	Level string `json:"level,omitempty"`
 
 	// LocationOffset: 0-based character position of problematic construct
-	// within the object
-	// identified by `field_name`. Currently, this is populated only for
-	// condition
-	// expression.
+	// within the object identified by `field_name`. Currently, this is
+	// populated only for condition expression.
 	LocationOffset int64 `json:"locationOffset,omitempty"`
 
 	// Severity: The validation unit severity.
@@ -1015,41 +851,28 @@
 	// Possible values:
 	//   "SEVERITY_UNSPECIFIED" - Severity is unspecified.
 	//   "ERROR" - A validation unit returns an error only for critical
-	// issues. If an
-	// attempt is made to set the problematic policy without rectifying
-	// the
-	// critical issue, it causes the `setPolicy` operation to fail.
+	// issues. If an attempt is made to set the problematic policy without
+	// rectifying the critical issue, it causes the `setPolicy` operation to
+	// fail.
 	//   "WARNING" - Any issue which is severe enough but does not cause an
-	// error.
-	// For example, suspicious constructs in the input object will
-	// not
-	// necessarily fail `setPolicy`, but there is a high likelihood that
-	// they
-	// won't behave as expected during policy evaluation in
-	// `checkPolicy`.
-	// This includes the following common scenarios:
-	//
-	// - Unsatisfiable condition: Expired timestamp in date/time
-	// condition.
-	// - Ineffective condition: Condition on a <member, role> pair which is
-	//   granted unconditionally in another binding of the same policy.
+	// error. For example, suspicious constructs in the input object will
+	// not necessarily fail `setPolicy`, but there is a high likelihood that
+	// they won't behave as expected during policy evaluation in
+	// `checkPolicy`. This includes the following common scenarios: -
+	// Unsatisfiable condition: Expired timestamp in date/time condition. -
+	// Ineffective condition: Condition on a pair which is granted
+	// unconditionally in another binding of the same policy.
 	//   "NOTICE" - Reserved for the issues that are not severe as
-	// `ERROR`/`WARNING`, but
-	// need special handling. For instance, messages about skipped
-	// validation
-	// units are issued as `NOTICE`.
+	// `ERROR`/`WARNING`, but need special handling. For instance, messages
+	// about skipped validation units are issued as `NOTICE`.
 	//   "INFO" - Any informative statement which is not severe enough to
-	// raise
-	// `ERROR`/`WARNING`/`NOTICE`, like auto-correction recommendations on
-	// the
-	// input content. Note that current version of the linter does not
-	// utilize
-	// `INFO`.
+	// raise `ERROR`/`WARNING`/`NOTICE`, like auto-correction
+	// recommendations on the input content. Note that current version of
+	// the linter does not utilize `INFO`.
 	//   "DEPRECATED" - Deprecated severity level.
 	Severity string `json:"severity,omitempty"`
 
-	// ValidationUnitName: The validation unit name, for
-	// instance
+	// ValidationUnitName: The validation unit name, for instance
 	// "lintValidationUnits/ConditionComplexityCheck".
 	ValidationUnitName string `json:"validationUnitName,omitempty"`
 
@@ -1079,8 +902,7 @@
 // ListRolesResponse: The response containing the roles defined under a
 // resource.
 type ListRolesResponse struct {
-	// NextPageToken: To retrieve the next page of results,
-	// set
+	// NextPageToken: To retrieve the next page of results, set
 	// `ListRolesRequest.page_token` to this value.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
@@ -1152,10 +974,8 @@
 	// Accounts: The list of matching service accounts.
 	Accounts []*ServiceAccount `json:"accounts,omitempty"`
 
-	// NextPageToken: To retrieve the next page of results,
-	// set
-	// ListServiceAccountsRequest.page_token
-	// to this value.
+	// NextPageToken: To retrieve the next page of results, set
+	// ListServiceAccountsRequest.page_token to this value.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1185,17 +1005,12 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// PatchServiceAccountRequest: The request for
-// PatchServiceAccount.
-//
-// You can patch only the `display_name` and `description` fields. You
-// must use
-// the `update_mask` field to specify which of these fields you want to
-// patch.
-//
-// Only the fields specified in the request are guaranteed to be
-// returned in
-// the response. Other fields may be empty in the response.
+// PatchServiceAccountRequest: The request for PatchServiceAccount. You
+// can patch only the `display_name` and `description` fields. You must
+// use the `update_mask` field to specify which of these fields you want
+// to patch. Only the fields specified in the request are guaranteed to
+// be returned in the response. Other fields may be empty in the
+// response.
 type PatchServiceAccountRequest struct {
 	ServiceAccount *ServiceAccount `json:"serviceAccount,omitempty"`
 
@@ -1240,8 +1055,7 @@
 	//   "NOT_SUPPORTED" - Permission is not supported for custom role use.
 	CustomRolesSupportLevel string `json:"customRolesSupportLevel,omitempty"`
 
-	// Description: A brief description of what this Permission is used
-	// for.
+	// Description: A brief description of what this Permission is used for.
 	// This permission can ONLY be used in predefined roles.
 	Description string `json:"description,omitempty"`
 
@@ -1251,8 +1065,8 @@
 	OnlyInPredefinedRoles bool `json:"onlyInPredefinedRoles,omitempty"`
 
 	// PrimaryPermission: The preferred name for this permission. If
-	// present, then this permission is
-	// an alias of, and equivalent to, the listed primary_permission.
+	// present, then this permission is an alias of, and equivalent to, the
+	// listed primary_permission.
 	PrimaryPermission string `json:"primaryPermission,omitempty"`
 
 	// Stage: The current launch stage of the permission.
@@ -1291,8 +1105,7 @@
 }
 
 // PermissionDelta: A PermissionDelta message to record the
-// added_permissions and
-// removed_permissions inside a role.
+// added_permissions and removed_permissions inside a role.
 type PermissionDelta struct {
 	// AddedPermissions: Added permissions.
 	AddedPermissions []string `json:"addedPermissions,omitempty"`
@@ -1325,154 +1138,77 @@
 }
 
 // Policy: An Identity and Access Management (IAM) policy, which
-// specifies access
-// controls for Google Cloud resources.
-//
-//
-// A `Policy` is a collection of `bindings`. A `binding` binds one or
-// more
-// `members` to a single `role`. Members can be user accounts, service
-// accounts,
+// specifies access controls for Google Cloud resources. A `Policy` is a
+// collection of `bindings`. A `binding` binds one or more `members` to
+// a single `role`. Members can be user accounts, service accounts,
 // Google groups, and domains (such as G Suite). A `role` is a named
-// list of
-// permissions; each `role` can be an IAM predefined role or a
-// user-created
-// custom role.
-//
-// For some types of Google Cloud resources, a `binding` can also
-// specify a
-// `condition`, which is a logical expression that allows access to a
-// resource
-// only if the expression evaluates to `true`. A condition can add
-// constraints
-// based on attributes of the request, the resource, or both. To learn
-// which
-// resources support conditions in their IAM policies, see the
-// [IAM
+// list of permissions; each `role` can be an IAM predefined role or a
+// user-created custom role. For some types of Google Cloud resources, a
+// `binding` can also specify a `condition`, which is a logical
+// expression that allows access to a resource only if the expression
+// evaluates to `true`. A condition can add constraints based on
+// attributes of the request, the resource, or both. To learn which
+// resources support conditions in their IAM policies, see the [IAM
 // documentation](https://cloud.google.com/iam/help/conditions/resource-p
-// olicies).
-//
-// **JSON example:**
-//
-//     {
-//       "bindings": [
-//         {
-//           "role": "roles/resourcemanager.organizationAdmin",
-//           "members": [
-//             "user:mike@example.com",
-//             "group:admins@example.com",
-//             "domain:google.com",
-//
-// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
-//           ]
-//         },
-//         {
-//           "role": "roles/resourcemanager.organizationViewer",
-//           "members": [
-//             "user:eve@example.com"
-//           ],
-//           "condition": {
-//             "title": "expirable access",
-//             "description": "Does not grant access after Sep 2020",
-//             "expression": "request.time <
-// timestamp('2020-10-01T00:00:00.000Z')",
-//           }
-//         }
-//       ],
-//       "etag": "BwWWja0YfJA=",
-//       "version": 3
-//     }
-//
-// **YAML example:**
-//
-//     bindings:
-//     - members:
-//       - user:mike@example.com
-//       - group:admins@example.com
-//       - domain:google.com
-//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
-//       role: roles/resourcemanager.organizationAdmin
-//     - members:
-//       - user:eve@example.com
-//       role: roles/resourcemanager.organizationViewer
-//       condition:
-//         title: expirable access
-//         description: Does not grant access after Sep 2020
-//         expression: request.time <
-// timestamp('2020-10-01T00:00:00.000Z')
-//     - etag: BwWWja0YfJA=
-//     - version: 3
-//
-// For a description of IAM and its features, see the
-// [IAM documentation](https://cloud.google.com/iam/docs/).
+// olicies). **JSON example:** { "bindings": [ { "role":
+// "roles/resourcemanager.organizationAdmin", "members": [
+// "user:mike@example.com", "group:admins@example.com",
+// "domain:google.com",
+// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
+// "role": "roles/resourcemanager.organizationViewer", "members": [
+// "user:eve@example.com" ], "condition": { "title": "expirable access",
+// "description": "Does not grant access after Sep 2020", "expression":
+// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
+// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
+// members: - user:mike@example.com - group:admins@example.com -
+// domain:google.com -
+// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
+// roles/resourcemanager.organizationAdmin - members: -
+// user:eve@example.com role: roles/resourcemanager.organizationViewer
+// condition: title: expirable access description: Does not grant access
+// after Sep 2020 expression: request.time <
+// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
+// 3 For a description of IAM and its features, see the [IAM
+// documentation](https://cloud.google.com/iam/docs/).
 type Policy struct {
 	// AuditConfigs: Specifies cloud audit logging configuration for this
 	// policy.
 	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
 
 	// Bindings: Associates a list of `members` to a `role`. Optionally, may
-	// specify a
-	// `condition` that determines how and when the `bindings` are applied.
-	// Each
-	// of the `bindings` must contain at least one member.
+	// specify a `condition` that determines how and when the `bindings` are
+	// applied. Each of the `bindings` must contain at least one member.
 	Bindings []*Binding `json:"bindings,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a policy from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform policy updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `getIamPolicy`,
-	// and
-	// systems are expected to put that etag in the request to
-	// `setIamPolicy` to
-	// ensure that their change will be applied to the same version of the
-	// policy.
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
+	// help prevent simultaneous updates of a policy from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform policy updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `getIamPolicy`, and systems are expected to put that etag in the
+	// request to `setIamPolicy` to ensure that their change will be applied
+	// to the same version of the policy. **Important:** If you use IAM
+	// Conditions, you must include the `etag` field whenever you call
+	// `setIamPolicy`. If you omit this field, then IAM allows you to
+	// overwrite a version `3` policy with a version `1` policy, and all of
 	// the conditions in the version `3` policy are lost.
 	Etag string `json:"etag,omitempty"`
 
-	// Version: Specifies the format of the policy.
-	//
-	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
-	// value
-	// are rejected.
-	//
+	// Version: Specifies the format of the policy. Valid values are `0`,
+	// `1`, and `3`. Requests that specify an invalid value are rejected.
 	// Any operation that affects conditional role bindings must specify
-	// version
-	// `3`. This requirement applies to the following operations:
-	//
-	// * Getting a policy that includes a conditional role binding
-	// * Adding a conditional role binding to a policy
-	// * Changing a conditional role binding in a policy
-	// * Removing any role binding, with or without a condition, from a
-	// policy
-	//   that includes conditions
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
-	// the conditions in the version `3` policy are lost.
-	//
-	// If a policy does not include any conditions, operations on that
-	// policy may
-	// specify any valid version or leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see the
-	// [IAM
+	// version `3`. This requirement applies to the following operations: *
+	// Getting a policy that includes a conditional role binding * Adding a
+	// conditional role binding to a policy * Changing a conditional role
+	// binding in a policy * Removing any role binding, with or without a
+	// condition, from a policy that includes conditions **Important:** If
+	// you use IAM Conditions, you must include the `etag` field whenever
+	// you call `setIamPolicy`. If you omit this field, then IAM allows you
+	// to overwrite a version `3` policy with a version `1` policy, and all
+	// of the conditions in the version `3` policy are lost. If a policy
+	// does not include any conditions, operations on that policy may
+	// specify any valid version or leave the field unset. To learn which
+	// resources support conditions in their IAM policies, see the [IAM
 	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
 	// olicies).
 	Version int64 `json:"version,omitempty"`
@@ -1536,12 +1272,9 @@
 // services for a resource.
 type QueryAuditableServicesRequest struct {
 	// FullResourceName: Required. The full resource name to query from the
-	// list of auditable
-	// services.
-	//
-	// The name follows the Google Cloud Platform resource format.
-	// For example, a Cloud Platform project with id `my-project` will be
-	// named
+	// list of auditable services. The name follows the Google Cloud
+	// Platform resource format. For example, a Cloud Platform project with
+	// id `my-project` will be named
 	// `//cloudresourcemanager.googleapis.com/projects/my-project`.
 	FullResourceName string `json:"fullResourceName,omitempty"`
 
@@ -1605,28 +1338,23 @@
 // QueryGrantableRolesRequest: The grantable role query request.
 type QueryGrantableRolesRequest struct {
 	// FullResourceName: Required. The full resource name to query from the
-	// list of grantable roles.
-	//
-	// The name follows the Google Cloud Platform resource format.
-	// For example, a Cloud Platform project with id `my-project` will be
-	// named
+	// list of grantable roles. The name follows the Google Cloud Platform
+	// resource format. For example, a Cloud Platform project with id
+	// `my-project` will be named
 	// `//cloudresourcemanager.googleapis.com/projects/my-project`.
 	FullResourceName string `json:"fullResourceName,omitempty"`
 
 	// PageSize: Optional limit on the number of roles to include in the
-	// response.
-	//
-	// The default is 300, and the maximum is 1,000.
+	// response. The default is 300, and the maximum is 1,000.
 	PageSize int64 `json:"pageSize,omitempty"`
 
-	// PageToken: Optional pagination token returned in an
-	// earlier
+	// PageToken: Optional pagination token returned in an earlier
 	// QueryGrantableRolesResponse.
 	PageToken string `json:"pageToken,omitempty"`
 
 	// Possible values:
-	//   "BASIC" - Omits the `included_permissions` field.
-	// This is the default value.
+	//   "BASIC" - Omits the `included_permissions` field. This is the
+	// default value.
 	//   "FULL" - Returns all fields.
 	View string `json:"view,omitempty"`
 
@@ -1656,8 +1384,7 @@
 
 // QueryGrantableRolesResponse: The grantable role query response.
 type QueryGrantableRolesResponse struct {
-	// NextPageToken: To retrieve the next page of results,
-	// set
+	// NextPageToken: To retrieve the next page of results, set
 	// `QueryGrantableRolesRequest.page_token` to this value.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
@@ -1695,23 +1422,17 @@
 // can be tested on a resource.
 type QueryTestablePermissionsRequest struct {
 	// FullResourceName: Required. The full resource name to query from the
-	// list of testable
-	// permissions.
-	//
-	// The name follows the Google Cloud Platform resource format.
-	// For example, a Cloud Platform project with id `my-project` will be
-	// named
+	// list of testable permissions. The name follows the Google Cloud
+	// Platform resource format. For example, a Cloud Platform project with
+	// id `my-project` will be named
 	// `//cloudresourcemanager.googleapis.com/projects/my-project`.
 	FullResourceName string `json:"fullResourceName,omitempty"`
 
 	// PageSize: Optional limit on the number of permissions to include in
-	// the response.
-	//
-	// The default is 100, and the maximum is 1,000.
+	// the response. The default is 100, and the maximum is 1,000.
 	PageSize int64 `json:"pageSize,omitempty"`
 
-	// PageToken: Optional pagination token returned in an
-	// earlier
+	// PageToken: Optional pagination token returned in an earlier
 	// QueryTestablePermissionsRequest.
 	PageToken string `json:"pageToken,omitempty"`
 
@@ -1742,8 +1463,7 @@
 // QueryTestablePermissionsResponse: The response containing permissions
 // which can be tested on a resource.
 type QueryTestablePermissionsResponse struct {
-	// NextPageToken: To retrieve the next page of results,
-	// set
+	// NextPageToken: To retrieve the next page of results, set
 	// `QueryTestableRolesRequest.page_token` to this value.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
@@ -1780,8 +1500,7 @@
 // Role: A role in the Identity and Access Management API.
 type Role struct {
 	// Deleted: The current deleted state of the role. This field is read
-	// only.
-	// It will be ignored in calls to CreateRole and UpdateRole.
+	// only. It will be ignored in calls to CreateRole and UpdateRole.
 	Deleted bool `json:"deleted,omitempty"`
 
 	// Description: Optional. A human-readable description for the role.
@@ -1794,44 +1513,34 @@
 	// when bound in an IAM policy.
 	IncludedPermissions []string `json:"includedPermissions,omitempty"`
 
-	// Name: The name of the role.
-	//
-	// When Role is used in CreateRole, the role name must not be set.
-	//
-	// When Role is used in output and other input such as UpdateRole, the
-	// role
-	// name is the complete path, e.g., roles/logging.viewer for predefined
-	// roles
-	// and organizations/{ORGANIZATION_ID}/roles/logging.viewer for custom
+	// Name: The name of the role. When Role is used in CreateRole, the role
+	// name must not be set. When Role is used in output and other input
+	// such as UpdateRole, the role name is the complete path, e.g.,
+	// roles/logging.viewer for predefined roles and
+	// organizations/{ORGANIZATION_ID}/roles/logging.viewer for custom
 	// roles.
 	Name string `json:"name,omitempty"`
 
 	// Stage: The current launch stage of the role. If the `ALPHA` launch
-	// stage has been
-	// selected for a role, the `stage` field will not be included in
-	// the
-	// returned definition for the role.
+	// stage has been selected for a role, the `stage` field will not be
+	// included in the returned definition for the role.
 	//
 	// Possible values:
 	//   "ALPHA" - The user has indicated this role is currently in an Alpha
-	// phase. If this
-	// launch stage is selected, the `stage` field will not be included
-	// when
-	// requesting the definition for a given role.
+	// phase. If this launch stage is selected, the `stage` field will not
+	// be included when requesting the definition for a given role.
 	//   "BETA" - The user has indicated this role is currently in a Beta
 	// phase.
 	//   "GA" - The user has indicated this role is generally available.
 	//   "DEPRECATED" - The user has indicated this role is being
 	// deprecated.
 	//   "DISABLED" - This role is disabled and will not contribute
-	// permissions to any members
-	// it is granted to in policies.
+	// permissions to any members it is granted to in policies.
 	//   "EAP" - The user has indicated this role is currently in an EAP
 	// phase.
 	Stage string `json:"stage,omitempty"`
 
-	// Title: Optional. A human-readable title for the role.  Typically
-	// this
+	// Title: Optional. A human-readable title for the role. Typically this
 	// is limited to 100 UTF-8 bytes.
 	Title string `json:"title,omitempty"`
 
@@ -1862,36 +1571,25 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// ServiceAccount: An IAM service account.
-//
-// A service account is an account for an application or a virtual
-// machine (VM)
-// instance, not a person. You can use a service account to call Google
-// APIs. To
-// learn more, read the [overview of
-// service
-// accounts](https://cloud.google.com/iam/help/service-accounts/o
-// verview).
-//
-// When you create a service account, you specify the project ID that
-// owns the
-// service account, as well as a name that must be unique within the
-// project.
-// IAM uses these values to create an email address that identifies the
-// service
-// account.
+// ServiceAccount: An IAM service account. A service account is an
+// account for an application or a virtual machine (VM) instance, not a
+// person. You can use a service account to call Google APIs. To learn
+// more, read the [overview of service
+// accounts](https://cloud.google.com/iam/help/service-accounts/overview)
+// . When you create a service account, you specify the project ID that
+// owns the service account, as well as a name that must be unique
+// within the project. IAM uses these values to create an email address
+// that identifies the service account.
 type ServiceAccount struct {
 	// Description: Optional. A user-specified, human-readable description
-	// of the service account. The
-	// maximum length is 256 UTF-8 bytes.
+	// of the service account. The maximum length is 256 UTF-8 bytes.
 	Description string `json:"description,omitempty"`
 
 	// Disabled: Output only. Whether the service account is disabled.
 	Disabled bool `json:"disabled,omitempty"`
 
 	// DisplayName: Optional. A user-specified, human-readable name for the
-	// service account. The maximum
-	// length is 100 UTF-8 bytes.
+	// service account. The maximum length is 100 UTF-8 bytes.
 	DisplayName string `json:"displayName,omitempty"`
 
 	// Email: Output only. The email address of the service account.
@@ -1900,31 +1598,18 @@
 	// Etag: Deprecated. Do not use.
 	Etag string `json:"etag,omitempty"`
 
-	// Name: The resource name of the service account.
-	//
-	// Use one of the following formats:
-	//
-	// * `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}`
-	// * `projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}`
-	//
-	// As an alternative, you can use the `-` wildcard character instead of
-	// the
-	// project ID:
-	//
-	// * `projects/-/serviceAccounts/{EMAIL_ADDRESS}`
-	// * `projects/-/serviceAccounts/{UNIQUE_ID}`
-	//
-	// When possible, avoid using the `-` wildcard character, because it can
-	// cause
-	// response messages to contain misleading error codes. For example, if
-	// you
-	// try to get the service
-	// account
-	// `projects/-/serviceAccounts/fake@example.com`, which does not exist,
-	// the
-	// response contains an HTTP `403 Forbidden` error instead of a `404
-	// Not
-	// Found` error.
+	// Name: The resource name of the service account. Use one of the
+	// following formats: *
+	// `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}` *
+	// `projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}` As an
+	// alternative, you can use the `-` wildcard character instead of the
+	// project ID: * `projects/-/serviceAccounts/{EMAIL_ADDRESS}` *
+	// `projects/-/serviceAccounts/{UNIQUE_ID}` When possible, avoid using
+	// the `-` wildcard character, because it can cause response messages to
+	// contain misleading error codes. For example, if you try to get the
+	// service account `projects/-/serviceAccounts/fake@example.com`, which
+	// does not exist, the response contains an HTTP `403 Forbidden` error
+	// instead of a `404 Not Found` error.
 	Name string `json:"name,omitempty"`
 
 	// Oauth2ClientId: Output only. The OAuth 2.0 client ID for the service
@@ -1936,15 +1621,11 @@
 	ProjectId string `json:"projectId,omitempty"`
 
 	// UniqueId: Output only. The unique, stable numeric ID for the service
-	// account.
-	//
-	// Each service account retains its unique ID even if you delete the
-	// service
-	// account. For example, if you delete a service account, then create a
-	// new
-	// service account with the same name, the new service account has a
-	// different
-	// unique ID than the deleted service account.
+	// account. Each service account retains its unique ID even if you
+	// delete the service account. For example, if you delete a service
+	// account, then create a new service account with the same name, the
+	// new service account has a different unique ID than the deleted
+	// service account.
 	UniqueId string `json:"uniqueId,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1974,34 +1655,19 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// ServiceAccountKey: Represents a service account key.
-//
-// A service account has two sets of key-pairs: user-managed,
-// and
-// system-managed.
-//
-// User-managed key-pairs can be created and deleted by users.  Users
-// are
+// ServiceAccountKey: Represents a service account key. A service
+// account has two sets of key-pairs: user-managed, and system-managed.
+// User-managed key-pairs can be created and deleted by users. Users are
 // responsible for rotating these keys periodically to ensure security
-// of
-// their service accounts.  Users retain the private key of these
-// key-pairs,
-// and Google retains ONLY the public key.
-//
-// System-managed keys are automatically rotated by Google, and are used
-// for
-// signing for a maximum of two weeks. The rotation process is
-// probabilistic,
+// of their service accounts. Users retain the private key of these
+// key-pairs, and Google retains ONLY the public key. System-managed
+// keys are automatically rotated by Google, and are used for signing
+// for a maximum of two weeks. The rotation process is probabilistic,
 // and usage of the new key will gradually ramp up and down over the
-// key's
-// lifetime. We recommend caching the public key set for a service
-// account for
-// no more than 24 hours to ensure you have access to the latest
-// keys.
-//
-// Public keys for all service accounts are also published at the
-// OAuth2
-// Service Account API.
+// key's lifetime. We recommend caching the public key set for a service
+// account for no more than 24 hours to ensure you have access to the
+// latest keys. Public keys for all service accounts are also published
+// at the OAuth2 Service Account API.
 type ServiceAccountKey struct {
 	// KeyAlgorithm: Specifies the algorithm (and possibly key size) for the
 	// key.
@@ -2024,8 +1690,7 @@
 	//
 	// Possible values:
 	//   "KEY_TYPE_UNSPECIFIED" - Unspecified key type. The presence of this
-	// in the
-	// message will immediately result in an error.
+	// in the message will immediately result in an error.
 	//   "USER_MANAGED" - User-managed keys (managed and rotated by the
 	// user).
 	//   "SYSTEM_MANAGED" - System-managed keys (managed and rotated by
@@ -2033,39 +1698,29 @@
 	KeyType string `json:"keyType,omitempty"`
 
 	// Name: The resource name of the service account key in the following
-	// format
-	// `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.
+	// format `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.
 	Name string `json:"name,omitempty"`
 
 	// PrivateKeyData: The private key data. Only provided in
-	// `CreateServiceAccountKey`
-	// responses. Make sure to keep the private key data secure because
-	// it
-	// allows for the assertion of the service account identity.
-	// When base64 decoded, the private key data can be used to authenticate
-	// with
-	// Google API client libraries and with
-	// <a
-	// href="/sdk/gcloud/reference/auth/activate-service-account">gcloud
-	// auth
-	//  activate-service-account</a>.
+	// `CreateServiceAccountKey` responses. Make sure to keep the private
+	// key data secure because it allows for the assertion of the service
+	// account identity. When base64 decoded, the private key data can be
+	// used to authenticate with Google API client libraries and with gcloud
+	// auth activate-service-account.
 	PrivateKeyData string `json:"privateKeyData,omitempty"`
 
-	// PrivateKeyType: The output format for the private key.
-	// Only provided in `CreateServiceAccountKey` responses, not
-	// in `GetServiceAccountKey` or `ListServiceAccountKey`
-	// responses.
-	//
-	// Google never exposes system-managed private keys, and never
-	// retains
-	// user-managed private keys.
+	// PrivateKeyType: The output format for the private key. Only provided
+	// in `CreateServiceAccountKey` responses, not in `GetServiceAccountKey`
+	// or `ListServiceAccountKey` responses. Google never exposes
+	// system-managed private keys, and never retains user-managed private
+	// keys.
 	//
 	// Possible values:
 	//   "TYPE_UNSPECIFIED" - Unspecified. Equivalent to
 	// `TYPE_GOOGLE_CREDENTIALS_FILE`.
-	//   "TYPE_PKCS12_FILE" - PKCS12 format.
-	// The password for the PKCS12 file is `notasecret`.
-	// For more information, see https://tools.ietf.org/html/rfc7292.
+	//   "TYPE_PKCS12_FILE" - PKCS12 format. The password for the PKCS12
+	// file is `notasecret`. For more information, see
+	// https://tools.ietf.org/html/rfc7292.
 	//   "TYPE_GOOGLE_CREDENTIALS_FILE" - Google Credentials File format.
 	PrivateKeyType string `json:"privateKeyType,omitempty"`
 
@@ -2076,11 +1731,10 @@
 	// ValidAfterTime: The key can be used after this timestamp.
 	ValidAfterTime string `json:"validAfterTime,omitempty"`
 
-	// ValidBeforeTime: The key can be used before this timestamp.
-	// For system-managed key pairs, this timestamp is the end time for
-	// the
-	// private key signing operation. The public key could still be used
-	// for verification for a few hours after this time.
+	// ValidBeforeTime: The key can be used before this timestamp. For
+	// system-managed key pairs, this timestamp is the end time for the
+	// private key signing operation. The public key could still be used for
+	// verification for a few hours after this time.
 	ValidBeforeTime string `json:"validBeforeTime,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2113,20 +1767,15 @@
 // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
 type SetIamPolicyRequest struct {
 	// Policy: REQUIRED: The complete policy to be applied to the
-	// `resource`. The size of
-	// the policy is limited to a few 10s of KB. An empty policy is a
-	// valid policy but certain Cloud Platform services (such as
-	// Projects)
-	// might reject them.
+	// `resource`. The size of the policy is limited to a few 10s of KB. An
+	// empty policy is a valid policy but certain Cloud Platform services
+	// (such as Projects) might reject them.
 	Policy *Policy `json:"policy,omitempty"`
 
 	// UpdateMask: OPTIONAL: A FieldMask specifying which fields of the
-	// policy to modify. Only
-	// the fields in the mask will be modified. If no mask is provided,
-	// the
-	// following default mask is used:
-	//
-	// `paths: "bindings, etag"
+	// policy to modify. Only the fields in the mask will be modified. If no
+	// mask is provided, the following default mask is used: `paths:
+	// "bindings, etag"
 	UpdateMask string `json:"updateMask,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Policy") to
@@ -2152,19 +1801,14 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// SignBlobRequest: Deprecated. [Migrate to Service Account
-// Credentials
-// API](https://cloud.google.com/iam/help/credentials/migrate
-// -api).
-//
-// The service account sign blob request.
+// SignBlobRequest: Deprecated. [Migrate to Service Account Credentials
+// API](https://cloud.google.com/iam/help/credentials/migrate-api). The
+// service account sign blob request.
 type SignBlobRequest struct {
 	// BytesToSign: Required. Deprecated. [Migrate to Service Account
 	// Credentials
-	// API](https://cloud.google.com/iam/help/credentials/migrate
-	// -api).
-	//
-	// The bytes to sign.
+	// API](https://cloud.google.com/iam/help/credentials/migrate-api). The
+	// bytes to sign.
 	BytesToSign string `json:"bytesToSign,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "BytesToSign") to
@@ -2190,27 +1834,18 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// SignBlobResponse: Deprecated. [Migrate to Service Account
-// Credentials
-// API](https://cloud.google.com/iam/help/credentials/migrate
-// -api).
-//
-// The service account sign blob response.
+// SignBlobResponse: Deprecated. [Migrate to Service Account Credentials
+// API](https://cloud.google.com/iam/help/credentials/migrate-api). The
+// service account sign blob response.
 type SignBlobResponse struct {
-	// KeyId: Deprecated. [Migrate to Service Account
-	// Credentials
-	// API](https://cloud.google.com/iam/help/credentials/migrate
-	// -api).
-	//
-	// The id of the key used to sign the blob.
+	// KeyId: Deprecated. [Migrate to Service Account Credentials
+	// API](https://cloud.google.com/iam/help/credentials/migrate-api). The
+	// id of the key used to sign the blob.
 	KeyId string `json:"keyId,omitempty"`
 
-	// Signature: Deprecated. [Migrate to Service Account
-	// Credentials
-	// API](https://cloud.google.com/iam/help/credentials/migrate
-	// -api).
-	//
-	// The signed blob.
+	// Signature: Deprecated. [Migrate to Service Account Credentials
+	// API](https://cloud.google.com/iam/help/credentials/migrate-api). The
+	// signed blob.
 	Signature string `json:"signature,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2240,34 +1875,20 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// SignJwtRequest: Deprecated. [Migrate to Service Account
-// Credentials
-// API](https://cloud.google.com/iam/help/credentials/migrate
-// -api).
-//
-// The service account sign JWT request.
+// SignJwtRequest: Deprecated. [Migrate to Service Account Credentials
+// API](https://cloud.google.com/iam/help/credentials/migrate-api). The
+// service account sign JWT request.
 type SignJwtRequest struct {
 	// Payload: Required. Deprecated. [Migrate to Service Account
 	// Credentials
-	// API](https://cloud.google.com/iam/help/credentials/migrate
-	// -api).
-	//
-	// The JWT payload to sign. Must be a serialized JSON object that
-	// contains a
+	// API](https://cloud.google.com/iam/help/credentials/migrate-api). The
+	// JWT payload to sign. Must be a serialized JSON object that contains a
 	// JWT Claims Set. For example: `{"sub": "user@example.com", "iat":
-	// 313435}`
-	//
-	// If the JWT Claims Set contains an expiration time (`exp`) claim, it
-	// must be
-	// an integer timestamp that is not in the past and no more than 1 hour
-	// in the
-	// future.
-	//
-	// If the JWT Claims Set does not contain an expiration time (`exp`)
-	// claim,
-	// this claim is added automatically, with a timestamp that is 1 hour in
-	// the
-	// future.
+	// 313435}` If the JWT Claims Set contains an expiration time (`exp`)
+	// claim, it must be an integer timestamp that is not in the past and no
+	// more than 1 hour in the future. If the JWT Claims Set does not
+	// contain an expiration time (`exp`) claim, this claim is added
+	// automatically, with a timestamp that is 1 hour in the future.
 	Payload string `json:"payload,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Payload") to
@@ -2293,27 +1914,18 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// SignJwtResponse: Deprecated. [Migrate to Service Account
-// Credentials
-// API](https://cloud.google.com/iam/help/credentials/migrate
-// -api).
-//
-// The service account sign JWT response.
+// SignJwtResponse: Deprecated. [Migrate to Service Account Credentials
+// API](https://cloud.google.com/iam/help/credentials/migrate-api). The
+// service account sign JWT response.
 type SignJwtResponse struct {
-	// KeyId: Deprecated. [Migrate to Service Account
-	// Credentials
-	// API](https://cloud.google.com/iam/help/credentials/migrate
-	// -api).
-	//
-	// The id of the key used to sign the JWT.
+	// KeyId: Deprecated. [Migrate to Service Account Credentials
+	// API](https://cloud.google.com/iam/help/credentials/migrate-api). The
+	// id of the key used to sign the JWT.
 	KeyId string `json:"keyId,omitempty"`
 
-	// SignedJwt: Deprecated. [Migrate to Service Account
-	// Credentials
-	// API](https://cloud.google.com/iam/help/credentials/migrate
-	// -api).
-	//
-	// The signed JWT.
+	// SignedJwt: Deprecated. [Migrate to Service Account Credentials
+	// API](https://cloud.google.com/iam/help/credentials/migrate-api). The
+	// signed JWT.
 	SignedJwt string `json:"signedJwt,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2347,11 +1959,8 @@
 // method.
 type TestIamPermissionsRequest struct {
 	// Permissions: The set of permissions to check for the `resource`.
-	// Permissions with
-	// wildcards (such as '*' or 'storage.*') are not allowed. For
-	// more
-	// information see
-	// [IAM
+	// Permissions with wildcards (such as '*' or 'storage.*') are not
+	// allowed. For more information see [IAM
 	// Overview](https://cloud.google.com/iam/docs/overview#permissions).
 	Permissions []string `json:"permissions,omitempty"`
 
@@ -2382,8 +1991,7 @@
 // method.
 type TestIamPermissionsResponse struct {
 	// Permissions: A subset of `TestPermissionsRequest.permissions` that
-	// the caller is
-	// allowed.
+	// the caller is allowed.
 	Permissions []string `json:"permissions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2481,11 +2089,9 @@
 // request.
 type UploadServiceAccountKeyRequest struct {
 	// PublicKeyData: A field that allows clients to upload their own public
-	// key. If set,
-	// use this public key data to create a service account key for
-	// given
-	// service account.
-	// Please note, the expected format for this field is X509_PEM.
+	// key. If set, use this public key data to create a service account key
+	// for given service account. Please note, the expected format for this
+	// field is X509_PEM.
 	PublicKeyData string `json:"publicKeyData,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "PublicKeyData") to
@@ -2521,15 +2127,11 @@
 	header_           http.Header
 }
 
-// LintPolicy: Lints, or validates, an IAM policy. Currently checks
-// the
-// google.iam.v1.Binding.condition field, which contains a
-// condition
-// expression for a role binding.
-//
-// Successful calls to this method always return an HTTP `200 OK` status
-// code,
-// even if the linter detects an issue in the IAM policy.
+// LintPolicy: Lints, or validates, an IAM policy. Currently checks the
+// google.iam.v1.Binding.condition field, which contains a condition
+// expression for a role binding. Successful calls to this method always
+// return an HTTP `200 OK` status code, even if the linter detects an
+// issue in the IAM policy.
 func (r *IamPoliciesService) LintPolicy(lintpolicyrequest *LintPolicyRequest) *IamPoliciesLintPolicyCall {
 	c := &IamPoliciesLintPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.lintpolicyrequest = lintpolicyrequest
@@ -2563,7 +2165,7 @@
 
 func (c *IamPoliciesLintPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2624,7 +2226,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lints, or validates, an IAM policy. Currently checks the\ngoogle.iam.v1.Binding.condition field, which contains a condition\nexpression for a role binding.\n\nSuccessful calls to this method always return an HTTP `200 OK` status code,\neven if the linter detects an issue in the IAM policy.",
+	//   "description": "Lints, or validates, an IAM policy. Currently checks the google.iam.v1.Binding.condition field, which contains a condition expression for a role binding. Successful calls to this method always return an HTTP `200 OK` status code, even if the linter detects an issue in the IAM policy.",
 	//   "flatPath": "v1/iamPolicies:lintPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "iam.iamPolicies.lintPolicy",
@@ -2655,11 +2257,8 @@
 }
 
 // QueryAuditableServices: Returns a list of services that allow you to
-// opt into audit logs that are
-// not generated by default.
-//
-// To learn more about audit logs, see the
-// [Logging
+// opt into audit logs that are not generated by default. To learn more
+// about audit logs, see the [Logging
 // documentation](https://cloud.google.com/logging/docs/audit).
 func (r *IamPoliciesService) QueryAuditableServices(queryauditableservicesrequest *QueryAuditableServicesRequest) *IamPoliciesQueryAuditableServicesCall {
 	c := &IamPoliciesQueryAuditableServicesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -2694,7 +2293,7 @@
 
 func (c *IamPoliciesQueryAuditableServicesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2755,7 +2354,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns a list of services that allow you to opt into audit logs that are\nnot generated by default.\n\nTo learn more about audit logs, see the [Logging\ndocumentation](https://cloud.google.com/logging/docs/audit).",
+	//   "description": "Returns a list of services that allow you to opt into audit logs that are not generated by default. To learn more about audit logs, see the [Logging documentation](https://cloud.google.com/logging/docs/audit).",
 	//   "flatPath": "v1/iamPolicies:queryAuditableServices",
 	//   "httpMethod": "POST",
 	//   "id": "iam.iamPolicies.queryAuditableServices",
@@ -2821,7 +2420,7 @@
 
 func (c *OrganizationsRolesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2894,7 +2493,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "The `parent` parameter's value depends on the target resource for the\nrequest, namely\n[`projects`](/iam/reference/rest/v1/projects.roles) or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `parent` value format is described below:\n\n* [`projects.roles.create()`](/iam/reference/rest/v1/projects.roles/create):\n  `projects/{PROJECT_ID}`. This method creates project-level\n  [custom roles](/iam/docs/understanding-custom-roles).\n  Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles`\n\n* [`organizations.roles.create()`](/iam/reference/rest/v1/organizations.roles/create):\n  `organizations/{ORGANIZATION_ID}`. This method creates organization-level\n  [custom roles](/iam/docs/understanding-custom-roles). Example request\n  URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+	//       "description": "The `parent` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`projects.roles.create()`](/iam/reference/rest/v1/projects.roles/create): `projects/{PROJECT_ID}`. This method creates project-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.create()`](/iam/reference/rest/v1/organizations.roles/create): `organizations/{ORGANIZATION_ID}`. This method creates organization-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
 	//       "location": "path",
 	//       "pattern": "^organizations/[^/]+$",
 	//       "required": true,
@@ -2925,28 +2524,15 @@
 	header_    http.Header
 }
 
-// Delete: Deletes a custom Role.
-//
-// When you delete a custom role, the following changes occur
-// immediately:
-//
-// * You cannot bind a member to the custom role in an IAM
-// Policy.
-// * Existing bindings to the custom role are not changed, but they have
-// no
-// effect.
-// * By default, the response from ListRoles does not include the
-// custom
-// role.
-//
-// You have 7 days to undelete the custom role. After 7 days, the
-// following
-// changes occur:
-//
-// * The custom role is permanently deleted and cannot be recovered.
-// * If an IAM policy contains a binding to the custom role, the binding
-// is
-// permanently removed.
+// Delete: Deletes a custom Role. When you delete a custom role, the
+// following changes occur immediately: * You cannot bind a member to
+// the custom role in an IAM Policy. * Existing bindings to the custom
+// role are not changed, but they have no effect. * By default, the
+// response from ListRoles does not include the custom role. You have 7
+// days to undelete the custom role. After 7 days, the following changes
+// occur: * The custom role is permanently deleted and cannot be
+// recovered. * If an IAM policy contains a binding to the custom role,
+// the binding is permanently removed.
 func (r *OrganizationsRolesService) Delete(name string) *OrganizationsRolesDeleteCall {
 	c := &OrganizationsRolesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -2987,7 +2573,7 @@
 
 func (c *OrganizationsRolesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3046,7 +2632,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a custom Role.\n\nWhen you delete a custom role, the following changes occur immediately:\n\n* You cannot bind a member to the custom role in an IAM\nPolicy.\n* Existing bindings to the custom role are not changed, but they have no\neffect.\n* By default, the response from ListRoles does not include the custom\nrole.\n\nYou have 7 days to undelete the custom role. After 7 days, the following\nchanges occur:\n\n* The custom role is permanently deleted and cannot be recovered.\n* If an IAM policy contains a binding to the custom role, the binding is\npermanently removed.",
+	//   "description": "Deletes a custom Role. When you delete a custom role, the following changes occur immediately: * You cannot bind a member to the custom role in an IAM Policy. * Existing bindings to the custom role are not changed, but they have no effect. * By default, the response from ListRoles does not include the custom role. You have 7 days to undelete the custom role. After 7 days, the following changes occur: * The custom role is permanently deleted and cannot be recovered. * If an IAM policy contains a binding to the custom role, the binding is permanently removed.",
 	//   "flatPath": "v1/organizations/{organizationsId}/roles/{rolesId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "iam.organizations.roles.delete",
@@ -3061,7 +2647,7 @@
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "The `name` parameter's value depends on the target resource for the\nrequest, namely\n[`projects`](/iam/reference/rest/v1/projects.roles) or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `name` value format is described below:\n\n* [`projects.roles.delete()`](/iam/reference/rest/v1/projects.roles/delete):\n  `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only\n  [custom roles](/iam/docs/understanding-custom-roles) that have been\n  created at the project level. Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`\n\n* [`organizations.roles.delete()`](/iam/reference/rest/v1/organizations.roles/delete):\n  `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method\n  deletes only [custom roles](/iam/docs/understanding-custom-roles) that\n  have been created at the organization level. Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+	//       "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.delete()`](/iam/reference/rest/v1/projects.roles/delete): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.delete()`](/iam/reference/rest/v1/organizations.roles/delete): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
 	//       "location": "path",
 	//       "pattern": "^organizations/[^/]+/roles/[^/]+$",
 	//       "required": true,
@@ -3134,7 +2720,7 @@
 
 func (c *OrganizationsRolesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3205,7 +2791,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The `name` parameter's value depends on the target resource for the\nrequest, namely\n[`roles`](/iam/reference/rest/v1/roles),\n[`projects`](/iam/reference/rest/v1/projects.roles), or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `name` value format is described below:\n\n* [`roles.get()`](/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`.\n  This method returns results from all\n  [predefined roles](/iam/docs/understanding-roles#predefined_roles) in\n  Cloud IAM. Example request URL:\n  `https://iam.googleapis.com/v1/roles/{ROLE_NAME}`\n\n* [`projects.roles.get()`](/iam/reference/rest/v1/projects.roles/get):\n  `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only\n  [custom roles](/iam/docs/understanding-custom-roles) that have been\n  created at the project level. Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`\n\n* [`organizations.roles.get()`](/iam/reference/rest/v1/organizations.roles/get):\n  `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method\n  returns only [custom roles](/iam/docs/understanding-custom-roles) that\n  have been created at the organization level. Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+	//       "description": "The `name` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`roles.get()`](/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`. This method returns results from all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles/{ROLE_NAME}` * [`projects.roles.get()`](/iam/reference/rest/v1/projects.roles/get): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.get()`](/iam/reference/rest/v1/organizations.roles/get): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
 	//       "location": "path",
 	//       "pattern": "^organizations/[^/]+/roles/[^/]+$",
 	//       "required": true,
@@ -3235,8 +2821,7 @@
 }
 
 // List: Lists every predefined Role that IAM supports, or every custom
-// role
-// that is defined for an organization or project.
+// role that is defined for an organization or project.
 func (r *OrganizationsRolesService) List(parent string) *OrganizationsRolesListCall {
 	c := &OrganizationsRolesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -3244,9 +2829,8 @@
 }
 
 // PageSize sets the optional parameter "pageSize": Optional limit on
-// the number of roles to include in the response.
-//
-// The default is 300, and the maximum is 1,000.
+// the number of roles to include in the response. The default is 300,
+// and the maximum is 1,000.
 func (c *OrganizationsRolesListCall) PageSize(pageSize int64) *OrganizationsRolesListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
@@ -3267,16 +2851,15 @@
 }
 
 // View sets the optional parameter "view": Optional view for the
-// returned Role objects. When `FULL` is specified,
-// the `includedPermissions` field is returned, which includes a list of
-// all
-// permissions in the role. The default value is `BASIC`, which does
-// not
+// returned Role objects. When `FULL` is specified, the
+// `includedPermissions` field is returned, which includes a list of all
+// permissions in the role. The default value is `BASIC`, which does not
 // return the `includedPermissions` field.
 //
 // Possible values:
-//   "BASIC"
-//   "FULL"
+//   "BASIC" - Omits the `included_permissions` field. This is the
+// default value.
+//   "FULL" - Returns all fields.
 func (c *OrganizationsRolesListCall) View(view string) *OrganizationsRolesListCall {
 	c.urlParams_.Set("view", view)
 	return c
@@ -3319,7 +2902,7 @@
 
 func (c *OrganizationsRolesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3381,7 +2964,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists every predefined Role that IAM supports, or every custom role\nthat is defined for an organization or project.",
+	//   "description": "Lists every predefined Role that IAM supports, or every custom role that is defined for an organization or project.",
 	//   "flatPath": "v1/organizations/{organizationsId}/roles",
 	//   "httpMethod": "GET",
 	//   "id": "iam.organizations.roles.list",
@@ -3390,7 +2973,7 @@
 	//   ],
 	//   "parameters": {
 	//     "pageSize": {
-	//       "description": "Optional limit on the number of roles to include in the response.\n\nThe default is 300, and the maximum is 1,000.",
+	//       "description": "Optional limit on the number of roles to include in the response. The default is 300, and the maximum is 1,000.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
@@ -3401,7 +2984,7 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "The `parent` parameter's value depends on the target resource for the\nrequest, namely\n[`roles`](/iam/reference/rest/v1/roles),\n[`projects`](/iam/reference/rest/v1/projects.roles), or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `parent` value format is described below:\n\n* [`roles.list()`](/iam/reference/rest/v1/roles/list): An empty string.\n  This method doesn't require a resource; it simply returns all\n  [predefined roles](/iam/docs/understanding-roles#predefined_roles) in\n  Cloud IAM. Example request URL:\n  `https://iam.googleapis.com/v1/roles`\n\n* [`projects.roles.list()`](/iam/reference/rest/v1/projects.roles/list):\n  `projects/{PROJECT_ID}`. This method lists all project-level\n  [custom roles](/iam/docs/understanding-custom-roles).\n  Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles`\n\n* [`organizations.roles.list()`](/iam/reference/rest/v1/organizations.roles/list):\n  `organizations/{ORGANIZATION_ID}`. This method lists all\n  organization-level [custom roles](/iam/docs/understanding-custom-roles).\n  Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+	//       "description": "The `parent` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`roles.list()`](/iam/reference/rest/v1/roles/list): An empty string. This method doesn't require a resource; it simply returns all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles` * [`projects.roles.list()`](/iam/reference/rest/v1/projects.roles/list): `projects/{PROJECT_ID}`. This method lists all project-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.list()`](/iam/reference/rest/v1/organizations.roles/list): `organizations/{ORGANIZATION_ID}`. This method lists all organization-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
 	//       "location": "path",
 	//       "pattern": "^organizations/[^/]+$",
 	//       "required": true,
@@ -3413,11 +2996,15 @@
 	//       "type": "boolean"
 	//     },
 	//     "view": {
-	//       "description": "Optional view for the returned Role objects. When `FULL` is specified,\nthe `includedPermissions` field is returned, which includes a list of all\npermissions in the role. The default value is `BASIC`, which does not\nreturn the `includedPermissions` field.",
+	//       "description": "Optional view for the returned Role objects. When `FULL` is specified, the `includedPermissions` field is returned, which includes a list of all permissions in the role. The default value is `BASIC`, which does not return the `includedPermissions` field.",
 	//       "enum": [
 	//         "BASIC",
 	//         "FULL"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Omits the `included_permissions` field. This is the default value.",
+	//         "Returns all fields."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -3507,7 +3094,7 @@
 
 func (c *OrganizationsRolesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3580,7 +3167,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The `name` parameter's value depends on the target resource for the\nrequest, namely\n[`projects`](/iam/reference/rest/v1/projects.roles) or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `name` value format is described below:\n\n* [`projects.roles.patch()`](/iam/reference/rest/v1/projects.roles/patch):\n  `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only\n  [custom roles](/iam/docs/understanding-custom-roles) that have been\n  created at the project level. Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`\n\n* [`organizations.roles.patch()`](/iam/reference/rest/v1/organizations.roles/patch):\n  `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method\n  updates only [custom roles](/iam/docs/understanding-custom-roles) that\n  have been created at the organization level. Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+	//       "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.patch()`](/iam/reference/rest/v1/projects.roles/patch): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.patch()`](/iam/reference/rest/v1/organizations.roles/patch): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
 	//       "location": "path",
 	//       "pattern": "^organizations/[^/]+/roles/[^/]+$",
 	//       "required": true,
@@ -3653,7 +3240,7 @@
 
 func (c *OrganizationsRolesUndeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3726,7 +3313,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The `name` parameter's value depends on the target resource for the\nrequest, namely\n[`projects`](/iam/reference/rest/v1/projects.roles) or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `name` value format is described below:\n\n* [`projects.roles.undelete()`](/iam/reference/rest/v1/projects.roles/undelete):\n  `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes\n  only [custom roles](/iam/docs/understanding-custom-roles) that have been\n  created at the project level. Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`\n\n* [`organizations.roles.undelete()`](/iam/reference/rest/v1/organizations.roles/undelete):\n  `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method\n  undeletes only [custom roles](/iam/docs/understanding-custom-roles) that\n  have been created at the organization level. Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+	//       "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.undelete()`](/iam/reference/rest/v1/projects.roles/undelete): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.undelete()`](/iam/reference/rest/v1/organizations.roles/undelete): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
 	//       "location": "path",
 	//       "pattern": "^organizations/[^/]+/roles/[^/]+$",
 	//       "required": true,
@@ -3758,10 +3345,8 @@
 }
 
 // QueryTestablePermissions: Lists every permission that you can test on
-// a resource. A permission is
-// testable if you can check whether a member has that permission on
-// the
-// resource.
+// a resource. A permission is testable if you can check whether a
+// member has that permission on the resource.
 func (r *PermissionsService) QueryTestablePermissions(querytestablepermissionsrequest *QueryTestablePermissionsRequest) *PermissionsQueryTestablePermissionsCall {
 	c := &PermissionsQueryTestablePermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.querytestablepermissionsrequest = querytestablepermissionsrequest
@@ -3795,7 +3380,7 @@
 
 func (c *PermissionsQueryTestablePermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3856,7 +3441,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists every permission that you can test on a resource. A permission is\ntestable if you can check whether a member has that permission on the\nresource.",
+	//   "description": "Lists every permission that you can test on a resource. A permission is testable if you can check whether a member has that permission on the resource.",
 	//   "flatPath": "v1/permissions:queryTestablePermissions",
 	//   "httpMethod": "POST",
 	//   "id": "iam.permissions.queryTestablePermissions",
@@ -3943,7 +3528,7 @@
 
 func (c *ProjectsRolesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4016,7 +3601,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "The `parent` parameter's value depends on the target resource for the\nrequest, namely\n[`projects`](/iam/reference/rest/v1/projects.roles) or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `parent` value format is described below:\n\n* [`projects.roles.create()`](/iam/reference/rest/v1/projects.roles/create):\n  `projects/{PROJECT_ID}`. This method creates project-level\n  [custom roles](/iam/docs/understanding-custom-roles).\n  Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles`\n\n* [`organizations.roles.create()`](/iam/reference/rest/v1/organizations.roles/create):\n  `organizations/{ORGANIZATION_ID}`. This method creates organization-level\n  [custom roles](/iam/docs/understanding-custom-roles). Example request\n  URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+	//       "description": "The `parent` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`projects.roles.create()`](/iam/reference/rest/v1/projects.roles/create): `projects/{PROJECT_ID}`. This method creates project-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.create()`](/iam/reference/rest/v1/organizations.roles/create): `organizations/{ORGANIZATION_ID}`. This method creates organization-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -4047,28 +3632,15 @@
 	header_    http.Header
 }
 
-// Delete: Deletes a custom Role.
-//
-// When you delete a custom role, the following changes occur
-// immediately:
-//
-// * You cannot bind a member to the custom role in an IAM
-// Policy.
-// * Existing bindings to the custom role are not changed, but they have
-// no
-// effect.
-// * By default, the response from ListRoles does not include the
-// custom
-// role.
-//
-// You have 7 days to undelete the custom role. After 7 days, the
-// following
-// changes occur:
-//
-// * The custom role is permanently deleted and cannot be recovered.
-// * If an IAM policy contains a binding to the custom role, the binding
-// is
-// permanently removed.
+// Delete: Deletes a custom Role. When you delete a custom role, the
+// following changes occur immediately: * You cannot bind a member to
+// the custom role in an IAM Policy. * Existing bindings to the custom
+// role are not changed, but they have no effect. * By default, the
+// response from ListRoles does not include the custom role. You have 7
+// days to undelete the custom role. After 7 days, the following changes
+// occur: * The custom role is permanently deleted and cannot be
+// recovered. * If an IAM policy contains a binding to the custom role,
+// the binding is permanently removed.
 func (r *ProjectsRolesService) Delete(name string) *ProjectsRolesDeleteCall {
 	c := &ProjectsRolesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4109,7 +3681,7 @@
 
 func (c *ProjectsRolesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4168,7 +3740,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a custom Role.\n\nWhen you delete a custom role, the following changes occur immediately:\n\n* You cannot bind a member to the custom role in an IAM\nPolicy.\n* Existing bindings to the custom role are not changed, but they have no\neffect.\n* By default, the response from ListRoles does not include the custom\nrole.\n\nYou have 7 days to undelete the custom role. After 7 days, the following\nchanges occur:\n\n* The custom role is permanently deleted and cannot be recovered.\n* If an IAM policy contains a binding to the custom role, the binding is\npermanently removed.",
+	//   "description": "Deletes a custom Role. When you delete a custom role, the following changes occur immediately: * You cannot bind a member to the custom role in an IAM Policy. * Existing bindings to the custom role are not changed, but they have no effect. * By default, the response from ListRoles does not include the custom role. You have 7 days to undelete the custom role. After 7 days, the following changes occur: * The custom role is permanently deleted and cannot be recovered. * If an IAM policy contains a binding to the custom role, the binding is permanently removed.",
 	//   "flatPath": "v1/projects/{projectsId}/roles/{rolesId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "iam.projects.roles.delete",
@@ -4183,7 +3755,7 @@
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "The `name` parameter's value depends on the target resource for the\nrequest, namely\n[`projects`](/iam/reference/rest/v1/projects.roles) or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `name` value format is described below:\n\n* [`projects.roles.delete()`](/iam/reference/rest/v1/projects.roles/delete):\n  `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only\n  [custom roles](/iam/docs/understanding-custom-roles) that have been\n  created at the project level. Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`\n\n* [`organizations.roles.delete()`](/iam/reference/rest/v1/organizations.roles/delete):\n  `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method\n  deletes only [custom roles](/iam/docs/understanding-custom-roles) that\n  have been created at the organization level. Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+	//       "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.delete()`](/iam/reference/rest/v1/projects.roles/delete): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.delete()`](/iam/reference/rest/v1/organizations.roles/delete): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method deletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/roles/[^/]+$",
 	//       "required": true,
@@ -4256,7 +3828,7 @@
 
 func (c *ProjectsRolesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4327,7 +3899,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The `name` parameter's value depends on the target resource for the\nrequest, namely\n[`roles`](/iam/reference/rest/v1/roles),\n[`projects`](/iam/reference/rest/v1/projects.roles), or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `name` value format is described below:\n\n* [`roles.get()`](/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`.\n  This method returns results from all\n  [predefined roles](/iam/docs/understanding-roles#predefined_roles) in\n  Cloud IAM. Example request URL:\n  `https://iam.googleapis.com/v1/roles/{ROLE_NAME}`\n\n* [`projects.roles.get()`](/iam/reference/rest/v1/projects.roles/get):\n  `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only\n  [custom roles](/iam/docs/understanding-custom-roles) that have been\n  created at the project level. Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`\n\n* [`organizations.roles.get()`](/iam/reference/rest/v1/organizations.roles/get):\n  `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method\n  returns only [custom roles](/iam/docs/understanding-custom-roles) that\n  have been created at the organization level. Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+	//       "description": "The `name` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`roles.get()`](/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`. This method returns results from all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles/{ROLE_NAME}` * [`projects.roles.get()`](/iam/reference/rest/v1/projects.roles/get): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.get()`](/iam/reference/rest/v1/organizations.roles/get): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/roles/[^/]+$",
 	//       "required": true,
@@ -4357,8 +3929,7 @@
 }
 
 // List: Lists every predefined Role that IAM supports, or every custom
-// role
-// that is defined for an organization or project.
+// role that is defined for an organization or project.
 func (r *ProjectsRolesService) List(parent string) *ProjectsRolesListCall {
 	c := &ProjectsRolesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -4366,9 +3937,8 @@
 }
 
 // PageSize sets the optional parameter "pageSize": Optional limit on
-// the number of roles to include in the response.
-//
-// The default is 300, and the maximum is 1,000.
+// the number of roles to include in the response. The default is 300,
+// and the maximum is 1,000.
 func (c *ProjectsRolesListCall) PageSize(pageSize int64) *ProjectsRolesListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
@@ -4389,16 +3959,15 @@
 }
 
 // View sets the optional parameter "view": Optional view for the
-// returned Role objects. When `FULL` is specified,
-// the `includedPermissions` field is returned, which includes a list of
-// all
-// permissions in the role. The default value is `BASIC`, which does
-// not
+// returned Role objects. When `FULL` is specified, the
+// `includedPermissions` field is returned, which includes a list of all
+// permissions in the role. The default value is `BASIC`, which does not
 // return the `includedPermissions` field.
 //
 // Possible values:
-//   "BASIC"
-//   "FULL"
+//   "BASIC" - Omits the `included_permissions` field. This is the
+// default value.
+//   "FULL" - Returns all fields.
 func (c *ProjectsRolesListCall) View(view string) *ProjectsRolesListCall {
 	c.urlParams_.Set("view", view)
 	return c
@@ -4441,7 +4010,7 @@
 
 func (c *ProjectsRolesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4503,7 +4072,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists every predefined Role that IAM supports, or every custom role\nthat is defined for an organization or project.",
+	//   "description": "Lists every predefined Role that IAM supports, or every custom role that is defined for an organization or project.",
 	//   "flatPath": "v1/projects/{projectsId}/roles",
 	//   "httpMethod": "GET",
 	//   "id": "iam.projects.roles.list",
@@ -4512,7 +4081,7 @@
 	//   ],
 	//   "parameters": {
 	//     "pageSize": {
-	//       "description": "Optional limit on the number of roles to include in the response.\n\nThe default is 300, and the maximum is 1,000.",
+	//       "description": "Optional limit on the number of roles to include in the response. The default is 300, and the maximum is 1,000.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
@@ -4523,7 +4092,7 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "The `parent` parameter's value depends on the target resource for the\nrequest, namely\n[`roles`](/iam/reference/rest/v1/roles),\n[`projects`](/iam/reference/rest/v1/projects.roles), or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `parent` value format is described below:\n\n* [`roles.list()`](/iam/reference/rest/v1/roles/list): An empty string.\n  This method doesn't require a resource; it simply returns all\n  [predefined roles](/iam/docs/understanding-roles#predefined_roles) in\n  Cloud IAM. Example request URL:\n  `https://iam.googleapis.com/v1/roles`\n\n* [`projects.roles.list()`](/iam/reference/rest/v1/projects.roles/list):\n  `projects/{PROJECT_ID}`. This method lists all project-level\n  [custom roles](/iam/docs/understanding-custom-roles).\n  Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles`\n\n* [`organizations.roles.list()`](/iam/reference/rest/v1/organizations.roles/list):\n  `organizations/{ORGANIZATION_ID}`. This method lists all\n  organization-level [custom roles](/iam/docs/understanding-custom-roles).\n  Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+	//       "description": "The `parent` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`roles.list()`](/iam/reference/rest/v1/roles/list): An empty string. This method doesn't require a resource; it simply returns all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles` * [`projects.roles.list()`](/iam/reference/rest/v1/projects.roles/list): `projects/{PROJECT_ID}`. This method lists all project-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.list()`](/iam/reference/rest/v1/organizations.roles/list): `organizations/{ORGANIZATION_ID}`. This method lists all organization-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -4535,11 +4104,15 @@
 	//       "type": "boolean"
 	//     },
 	//     "view": {
-	//       "description": "Optional view for the returned Role objects. When `FULL` is specified,\nthe `includedPermissions` field is returned, which includes a list of all\npermissions in the role. The default value is `BASIC`, which does not\nreturn the `includedPermissions` field.",
+	//       "description": "Optional view for the returned Role objects. When `FULL` is specified, the `includedPermissions` field is returned, which includes a list of all permissions in the role. The default value is `BASIC`, which does not return the `includedPermissions` field.",
 	//       "enum": [
 	//         "BASIC",
 	//         "FULL"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Omits the `included_permissions` field. This is the default value.",
+	//         "Returns all fields."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -4629,7 +4202,7 @@
 
 func (c *ProjectsRolesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4702,7 +4275,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The `name` parameter's value depends on the target resource for the\nrequest, namely\n[`projects`](/iam/reference/rest/v1/projects.roles) or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `name` value format is described below:\n\n* [`projects.roles.patch()`](/iam/reference/rest/v1/projects.roles/patch):\n  `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only\n  [custom roles](/iam/docs/understanding-custom-roles) that have been\n  created at the project level. Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`\n\n* [`organizations.roles.patch()`](/iam/reference/rest/v1/organizations.roles/patch):\n  `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method\n  updates only [custom roles](/iam/docs/understanding-custom-roles) that\n  have been created at the organization level. Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+	//       "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.patch()`](/iam/reference/rest/v1/projects.roles/patch): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.patch()`](/iam/reference/rest/v1/organizations.roles/patch): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method updates only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/roles/[^/]+$",
 	//       "required": true,
@@ -4775,7 +4348,7 @@
 
 func (c *ProjectsRolesUndeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4848,7 +4421,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The `name` parameter's value depends on the target resource for the\nrequest, namely\n[`projects`](/iam/reference/rest/v1/projects.roles) or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `name` value format is described below:\n\n* [`projects.roles.undelete()`](/iam/reference/rest/v1/projects.roles/undelete):\n  `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes\n  only [custom roles](/iam/docs/understanding-custom-roles) that have been\n  created at the project level. Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`\n\n* [`organizations.roles.undelete()`](/iam/reference/rest/v1/organizations.roles/undelete):\n  `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method\n  undeletes only [custom roles](/iam/docs/understanding-custom-roles) that\n  have been created at the organization level. Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+	//       "description": "The `name` parameter's value depends on the target resource for the request, namely [`projects`](/iam/reference/rest/v1/projects.roles) or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`projects.roles.undelete()`](/iam/reference/rest/v1/projects.roles/undelete): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.undelete()`](/iam/reference/rest/v1/organizations.roles/undelete): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method undeletes only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/roles/[^/]+$",
 	//       "required": true,
@@ -4915,7 +4488,7 @@
 
 func (c *ProjectsServiceAccountsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4988,7 +4561,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the project associated with the service\naccounts, such as `projects/my-project-123`.",
+	//       "description": "Required. The resource name of the project associated with the service accounts, such as `projects/my-project-123`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -5019,30 +4592,18 @@
 	header_    http.Header
 }
 
-// Delete: Deletes a ServiceAccount.
-//
-// **Warning:** After you delete a service account, you might not be
-// able to
-// undelete it. If you know that you need to re-enable the service
-// account in
-// the future, use DisableServiceAccount instead.
-//
-// If you delete a service account, IAM permanently removes the
-// service
-// account 30 days later. Google Cloud cannot recover the service
-// account
-// after it is permanently removed, even if you file a support
-// request.
-//
-// To help avoid unplanned outages, we recommend that you disable the
-// service
-// account before you delete it. Use DisableServiceAccount to disable
-// the
-// service account, then wait at least 24 hours and watch for
-// unintended
-// consequences. If there are no unintended consequences, you can delete
-// the
-// service account.
+// Delete: Deletes a ServiceAccount. **Warning:** After you delete a
+// service account, you might not be able to undelete it. If you know
+// that you need to re-enable the service account in the future, use
+// DisableServiceAccount instead. If you delete a service account, IAM
+// permanently removes the service account 30 days later. Google Cloud
+// cannot recover the service account after it is permanently removed,
+// even if you file a support request. To help avoid unplanned outages,
+// we recommend that you disable the service account before you delete
+// it. Use DisableServiceAccount to disable the service account, then
+// wait at least 24 hours and watch for unintended consequences. If
+// there are no unintended consequences, you can delete the service
+// account.
 func (r *ProjectsServiceAccountsService) Delete(name string) *ProjectsServiceAccountsDeleteCall {
 	c := &ProjectsServiceAccountsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -5076,7 +4637,7 @@
 
 func (c *ProjectsServiceAccountsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5135,7 +4696,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a ServiceAccount.\n\n**Warning:** After you delete a service account, you might not be able to\nundelete it. If you know that you need to re-enable the service account in\nthe future, use DisableServiceAccount instead.\n\nIf you delete a service account, IAM permanently removes the service\naccount 30 days later. Google Cloud cannot recover the service account\nafter it is permanently removed, even if you file a support request.\n\nTo help avoid unplanned outages, we recommend that you disable the service\naccount before you delete it. Use DisableServiceAccount to disable the\nservice account, then wait at least 24 hours and watch for unintended\nconsequences. If there are no unintended consequences, you can delete the\nservice account.",
+	//   "description": "Deletes a ServiceAccount. **Warning:** After you delete a service account, you might not be able to undelete it. If you know that you need to re-enable the service account in the future, use DisableServiceAccount instead. If you delete a service account, IAM permanently removes the service account 30 days later. Google Cloud cannot recover the service account after it is permanently removed, even if you file a support request. To help avoid unplanned outages, we recommend that you disable the service account before you delete it. Use DisableServiceAccount to disable the service account, then wait at least 24 hours and watch for unintended consequences. If there are no unintended consequences, you can delete the service account.",
 	//   "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "iam.projects.serviceAccounts.delete",
@@ -5144,7 +4705,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.",
+	//       "description": "Required. The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
 	//       "required": true,
@@ -5173,31 +4734,18 @@
 	header_                      http.Header
 }
 
-// Disable: Disables a ServiceAccount immediately.
-//
-// If an application uses the service account to authenticate,
-// that
-// application can no longer call Google APIs or access Google
-// Cloud
-// resources. Existing access tokens for the service account are
-// rejected, and
-// requests for new access tokens will fail.
-//
-// To re-enable the service account, use EnableServiceAccount. After
-// you
-// re-enable the service account, its existing access tokens will be
-// accepted,
-// and you can request new access tokens.
-//
-// To help avoid unplanned outages, we recommend that you disable the
-// service
-// account before you delete it. Use this method to disable the
-// service
-// account, then wait at least 24 hours and watch for unintended
-// consequences.
-// If there are no unintended consequences, you can delete the service
-// account
-// with DeleteServiceAccount.
+// Disable: Disables a ServiceAccount immediately. If an application
+// uses the service account to authenticate, that application can no
+// longer call Google APIs or access Google Cloud resources. Existing
+// access tokens for the service account are rejected, and requests for
+// new access tokens will fail. To re-enable the service account, use
+// EnableServiceAccount. After you re-enable the service account, its
+// existing access tokens will be accepted, and you can request new
+// access tokens. To help avoid unplanned outages, we recommend that you
+// disable the service account before you delete it. Use this method to
+// disable the service account, then wait at least 24 hours and watch
+// for unintended consequences. If there are no unintended consequences,
+// you can delete the service account with DeleteServiceAccount.
 func (r *ProjectsServiceAccountsService) Disable(name string, disableserviceaccountrequest *DisableServiceAccountRequest) *ProjectsServiceAccountsDisableCall {
 	c := &ProjectsServiceAccountsDisableCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -5232,7 +4780,7 @@
 
 func (c *ProjectsServiceAccountsDisableCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5296,7 +4844,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Disables a ServiceAccount immediately.\n\nIf an application uses the service account to authenticate, that\napplication can no longer call Google APIs or access Google Cloud\nresources. Existing access tokens for the service account are rejected, and\nrequests for new access tokens will fail.\n\nTo re-enable the service account, use EnableServiceAccount. After you\nre-enable the service account, its existing access tokens will be accepted,\nand you can request new access tokens.\n\nTo help avoid unplanned outages, we recommend that you disable the service\naccount before you delete it. Use this method to disable the service\naccount, then wait at least 24 hours and watch for unintended consequences.\nIf there are no unintended consequences, you can delete the service account\nwith DeleteServiceAccount.",
+	//   "description": "Disables a ServiceAccount immediately. If an application uses the service account to authenticate, that application can no longer call Google APIs or access Google Cloud resources. Existing access tokens for the service account are rejected, and requests for new access tokens will fail. To re-enable the service account, use EnableServiceAccount. After you re-enable the service account, its existing access tokens will be accepted, and you can request new access tokens. To help avoid unplanned outages, we recommend that you disable the service account before you delete it. Use this method to disable the service account, then wait at least 24 hours and watch for unintended consequences. If there are no unintended consequences, you can delete the service account with DeleteServiceAccount.",
 	//   "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:disable",
 	//   "httpMethod": "POST",
 	//   "id": "iam.projects.serviceAccounts.disable",
@@ -5305,7 +4853,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.",
+	//       "description": "The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
 	//       "required": true,
@@ -5337,18 +4885,12 @@
 	header_                     http.Header
 }
 
-// Enable: Enables a ServiceAccount that was disabled
-// by
-// DisableServiceAccount.
-//
-// If the service account is already enabled, then this method has no
-// effect.
-//
-// If the service account was disabled by other means—for example, if
-// Google
-// disabled the service account because it was compromised—you cannot
-// use this
-// method to enable the service account.
+// Enable: Enables a ServiceAccount that was disabled by
+// DisableServiceAccount. If the service account is already enabled,
+// then this method has no effect. If the service account was disabled
+// by other means—for example, if Google disabled the service account
+// because it was compromised—you cannot use this method to enable the
+// service account.
 func (r *ProjectsServiceAccountsService) Enable(name string, enableserviceaccountrequest *EnableServiceAccountRequest) *ProjectsServiceAccountsEnableCall {
 	c := &ProjectsServiceAccountsEnableCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -5383,7 +4925,7 @@
 
 func (c *ProjectsServiceAccountsEnableCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5447,7 +4989,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Enables a ServiceAccount that was disabled by\nDisableServiceAccount.\n\nIf the service account is already enabled, then this method has no effect.\n\nIf the service account was disabled by other means—for example, if Google\ndisabled the service account because it was compromised—you cannot use this\nmethod to enable the service account.",
+	//   "description": "Enables a ServiceAccount that was disabled by DisableServiceAccount. If the service account is already enabled, then this method has no effect. If the service account was disabled by other means—for example, if Google disabled the service account because it was compromised—you cannot use this method to enable the service account.",
 	//   "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:enable",
 	//   "httpMethod": "POST",
 	//   "id": "iam.projects.serviceAccounts.enable",
@@ -5456,7 +4998,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.",
+	//       "description": "The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
 	//       "required": true,
@@ -5532,7 +5074,7 @@
 
 func (c *ProjectsServiceAccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5603,7 +5145,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.",
+	//       "description": "Required. The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
 	//       "required": true,
@@ -5632,22 +5174,14 @@
 }
 
 // GetIamPolicy: Gets the IAM policy that is attached to a
-// ServiceAccount. This IAM
-// policy specifies which members have access to the service
-// account.
-//
-// This method does not tell you whether the service account has been
-// granted
-// any roles on other resources. To check whether a service account has
-// role
-// grants on a resource, use the `getIamPolicy` method for that
-// resource. For
-// example, to view the role grants for a project, call the Resource
-// Manager
-// API's
-// [`projects.getIamPolicy`](https://cloud.google.com/resou
-// rce-manager/reference/rest/v1/projects/getIamPolicy)
-// method.
+// ServiceAccount. This IAM policy specifies which members have access
+// to the service account. This method does not tell you whether the
+// service account has been granted any roles on other resources. To
+// check whether a service account has role grants on a resource, use
+// the `getIamPolicy` method for that resource. For example, to view the
+// role grants for a project, call the Resource Manager API's
+// [`projects.getIamPolicy`](https://cloud.google.com/resource-manager/re
+// ference/rest/v1/projects/getIamPolicy) method.
 func (r *ProjectsServiceAccountsService) GetIamPolicy(resource string) *ProjectsServiceAccountsGetIamPolicyCall {
 	c := &ProjectsServiceAccountsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -5656,24 +5190,14 @@
 
 // OptionsRequestedPolicyVersion sets the optional parameter
 // "options.requestedPolicyVersion": The policy format version to be
-// returned.
-//
-// Valid values are 0, 1, and 3. Requests specifying an invalid value
-// will be
-// rejected.
-//
-// Requests for policies with any conditional bindings must specify
-// version 3.
-// Policies without any conditional bindings may specify any valid value
-// or
-// leave the field unset.
-//
-// To learn which resources support conditions in their IAM policies,
-// see
-// the
-// [IAM
-// documentation](https://cloud.google.com/iam/help/conditions/r
-// esource-policies).
+// returned. Valid values are 0, 1, and 3. Requests specifying an
+// invalid value will be rejected. Requests for policies with any
+// conditional bindings must specify version 3. Policies without any
+// conditional bindings may specify any valid value or leave the field
+// unset. To learn which resources support conditions in their IAM
+// policies, see the [IAM
+// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+// olicies).
 func (c *ProjectsServiceAccountsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsServiceAccountsGetIamPolicyCall {
 	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
 	return c
@@ -5706,7 +5230,7 @@
 
 func (c *ProjectsServiceAccountsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5765,7 +5289,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the IAM policy that is attached to a ServiceAccount. This IAM\npolicy specifies which members have access to the service account.\n\nThis method does not tell you whether the service account has been granted\nany roles on other resources. To check whether a service account has role\ngrants on a resource, use the `getIamPolicy` method for that resource. For\nexample, to view the role grants for a project, call the Resource Manager\nAPI's\n[`projects.getIamPolicy`](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getIamPolicy)\nmethod.",
+	//   "description": "Gets the IAM policy that is attached to a ServiceAccount. This IAM policy specifies which members have access to the service account. This method does not tell you whether the service account has been granted any roles on other resources. To check whether a service account has role grants on a resource, use the `getIamPolicy` method for that resource. For example, to view the role grants for a project, call the Resource Manager API's [`projects.getIamPolicy`](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getIamPolicy) method.",
 	//   "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:getIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "iam.projects.serviceAccounts.getIamPolicy",
@@ -5774,13 +5298,13 @@
 	//   ],
 	//   "parameters": {
 	//     "options.requestedPolicyVersion": {
-	//       "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+	//       "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
 	//       "required": true,
@@ -5817,12 +5341,9 @@
 }
 
 // PageSize sets the optional parameter "pageSize": Optional limit on
-// the number of service accounts to include in the
-// response. Further accounts can subsequently be obtained by including
-// the
-// ListServiceAccountsResponse.next_page_token
-// in a subsequent request.
-//
+// the number of service accounts to include in the response. Further
+// accounts can subsequently be obtained by including the
+// ListServiceAccountsResponse.next_page_token in a subsequent request.
 // The default is 20, and the maximum is 100.
 func (c *ProjectsServiceAccountsListCall) PageSize(pageSize int64) *ProjectsServiceAccountsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
@@ -5830,8 +5351,7 @@
 }
 
 // PageToken sets the optional parameter "pageToken": Optional
-// pagination token returned in an
-// earlier
+// pagination token returned in an earlier
 // ListServiceAccountsResponse.next_page_token.
 func (c *ProjectsServiceAccountsListCall) PageToken(pageToken string) *ProjectsServiceAccountsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
@@ -5875,7 +5395,7 @@
 
 func (c *ProjectsServiceAccountsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5946,20 +5466,20 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the project associated with the service\naccounts, such as `projects/my-project-123`.",
+	//       "description": "Required. The resource name of the project associated with the service accounts, such as `projects/my-project-123`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "Optional limit on the number of service accounts to include in the\nresponse. Further accounts can subsequently be obtained by including the\nListServiceAccountsResponse.next_page_token\nin a subsequent request.\n\nThe default is 20, and the maximum is 100.",
+	//       "description": "Optional limit on the number of service accounts to include in the response. Further accounts can subsequently be obtained by including the ListServiceAccountsResponse.next_page_token in a subsequent request. The default is 20, and the maximum is 100.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Optional pagination token returned in an earlier\nListServiceAccountsResponse.next_page_token.",
+	//       "description": "Optional pagination token returned in an earlier ListServiceAccountsResponse.next_page_token.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -6042,7 +5562,7 @@
 
 func (c *ProjectsServiceAccountsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6115,7 +5635,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The resource name of the service account.\n\nUse one of the following formats:\n\n* `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}`\n* `projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}`\n\nAs an alternative, you can use the `-` wildcard character instead of the\nproject ID:\n\n* `projects/-/serviceAccounts/{EMAIL_ADDRESS}`\n* `projects/-/serviceAccounts/{UNIQUE_ID}`\n\nWhen possible, avoid using the `-` wildcard character, because it can cause\nresponse messages to contain misleading error codes. For example, if you\ntry to get the service account\n`projects/-/serviceAccounts/fake@example.com`, which does not exist, the\nresponse contains an HTTP `403 Forbidden` error instead of a `404 Not\nFound` error.",
+	//       "description": "The resource name of the service account. Use one of the following formats: * `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}` * `projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}` As an alternative, you can use the `-` wildcard character instead of the project ID: * `projects/-/serviceAccounts/{EMAIL_ADDRESS}` * `projects/-/serviceAccounts/{UNIQUE_ID}` When possible, avoid using the `-` wildcard character, because it can cause response messages to contain misleading error codes. For example, if you try to get the service account `projects/-/serviceAccounts/fake@example.com`, which does not exist, the response contains an HTTP `403 Forbidden` error instead of a `404 Not Found` error.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
 	//       "required": true,
@@ -6148,32 +5668,18 @@
 }
 
 // SetIamPolicy: Sets the IAM policy that is attached to a
-// ServiceAccount.
-//
-// Use this method to grant or revoke access to the service account.
-// For
-// example, you could grant a member the ability to impersonate the
-// service
-// account.
-//
-// This method does not enable the service account to access other
-// resources.
-// To grant roles to a service account on a resource, follow these
-// steps:
-//
-// 1. Call the resource's `getIamPolicy` method to get its current IAM
-// policy.
-// 2. Edit the policy so that it binds the service account to an IAM
-// role for
-// the resource.
-// 3. Call the resource's `setIamPolicy` method to update its IAM
-// policy.
-//
-// For detailed instructions, see
-// [Granting roles to a service account for
-// specific
-// resources](https://cloud.google.com/iam/help/service-accounts
-// /granting-access-to-service-accounts).
+// ServiceAccount. Use this method to grant or revoke access to the
+// service account. For example, you could grant a member the ability to
+// impersonate the service account. This method does not enable the
+// service account to access other resources. To grant roles to a
+// service account on a resource, follow these steps: 1. Call the
+// resource's `getIamPolicy` method to get its current IAM policy. 2.
+// Edit the policy so that it binds the service account to an IAM role
+// for the resource. 3. Call the resource's `setIamPolicy` method to
+// update its IAM policy. For detailed instructions, see [Granting roles
+// to a service account for specific
+// resources](https://cloud.google.com/iam/help/service-accounts/granting
+// -access-to-service-accounts).
 func (r *ProjectsServiceAccountsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsServiceAccountsSetIamPolicyCall {
 	c := &ProjectsServiceAccountsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -6208,7 +5714,7 @@
 
 func (c *ProjectsServiceAccountsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6272,7 +5778,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the IAM policy that is attached to a ServiceAccount.\n\nUse this method to grant or revoke access to the service account. For\nexample, you could grant a member the ability to impersonate the service\naccount.\n\nThis method does not enable the service account to access other resources.\nTo grant roles to a service account on a resource, follow these steps:\n\n1. Call the resource's `getIamPolicy` method to get its current IAM policy.\n2. Edit the policy so that it binds the service account to an IAM role for\nthe resource.\n3. Call the resource's `setIamPolicy` method to update its IAM policy.\n\nFor detailed instructions, see\n[Granting roles to a service account for specific\nresources](https://cloud.google.com/iam/help/service-accounts/granting-access-to-service-accounts).",
+	//   "description": "Sets the IAM policy that is attached to a ServiceAccount. Use this method to grant or revoke access to the service account. For example, you could grant a member the ability to impersonate the service account. This method does not enable the service account to access other resources. To grant roles to a service account on a resource, follow these steps: 1. Call the resource's `getIamPolicy` method to get its current IAM policy. 2. Edit the policy so that it binds the service account to an IAM role for the resource. 3. Call the resource's `setIamPolicy` method to update its IAM policy. For detailed instructions, see [Granting roles to a service account for specific resources](https://cloud.google.com/iam/help/service-accounts/granting-access-to-service-accounts).",
 	//   "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "iam.projects.serviceAccounts.setIamPolicy",
@@ -6281,7 +5787,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
 	//       "required": true,
@@ -6314,20 +5820,13 @@
 }
 
 // SignBlob: **Note:** This method is deprecated and will stop working
-// on July 1, 2021.
-// Use
-// the
-// [`signBlob`](https://cloud.google.com/iam/help/rest-credentials/v1
-// /projects.serviceAccounts/signBlob)
-// method in the IAM Service Account Credentials API instead. If you
-// currently
-// use this method, see the
+// on July 1, 2021. Use the
+// [`signBlob`](https://cloud.google.com/iam/help/rest-credentials/v1/pro
+// jects.serviceAccounts/signBlob) method in the IAM Service Account
+// Credentials API instead. If you currently use this method, see the
 // [migration
-// guide](https://cloud.google.com/iam/help/credentials/migrat
-// e-api) for
-// instructions.
-//
-// Signs a blob using the system-managed private key for a
+// guide](https://cloud.google.com/iam/help/credentials/migrate-api) for
+// instructions. Signs a blob using the system-managed private key for a
 // ServiceAccount.
 func (r *ProjectsServiceAccountsService) SignBlob(name string, signblobrequest *SignBlobRequest) *ProjectsServiceAccountsSignBlobCall {
 	c := &ProjectsServiceAccountsSignBlobCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -6363,7 +5862,7 @@
 
 func (c *ProjectsServiceAccountsSignBlobCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6427,7 +5926,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "**Note:** This method is deprecated and will stop working on July 1, 2021.\nUse the\n[`signBlob`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signBlob)\nmethod in the IAM Service Account Credentials API instead. If you currently\nuse this method, see the [migration\nguide](https://cloud.google.com/iam/help/credentials/migrate-api) for\ninstructions.\n\nSigns a blob using the system-managed private key for a ServiceAccount.",
+	//   "description": "**Note:** This method is deprecated and will stop working on July 1, 2021. Use the [`signBlob`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signBlob) method in the IAM Service Account Credentials API instead. If you currently use this method, see the [migration guide](https://cloud.google.com/iam/help/credentials/migrate-api) for instructions. Signs a blob using the system-managed private key for a ServiceAccount.",
 	//   "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signBlob",
 	//   "httpMethod": "POST",
 	//   "id": "iam.projects.serviceAccounts.signBlob",
@@ -6436,7 +5935,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. Deprecated. [Migrate to Service Account Credentials\nAPI](https://cloud.google.com/iam/help/credentials/migrate-api).\n\nThe resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.",
+	//       "description": "Required. Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
 	//       "required": true,
@@ -6469,22 +5968,14 @@
 }
 
 // SignJwt: **Note:** This method is deprecated and will stop working on
-// July 1, 2021.
-// Use
-// the
-// [`signJwt`](https://cloud.google.com/iam/help/rest-credentials/v1/
-// projects.serviceAccounts/signJwt)
-// method in the IAM Service Account Credentials API instead. If you
-// currently
-// use this method, see the
+// July 1, 2021. Use the
+// [`signJwt`](https://cloud.google.com/iam/help/rest-credentials/v1/proj
+// ects.serviceAccounts/signJwt) method in the IAM Service Account
+// Credentials API instead. If you currently use this method, see the
 // [migration
-// guide](https://cloud.google.com/iam/help/credentials/migrat
-// e-api) for
-// instructions.
-//
-// Signs a JSON Web Token (JWT) using the system-managed private key for
-// a
-// ServiceAccount.
+// guide](https://cloud.google.com/iam/help/credentials/migrate-api) for
+// instructions. Signs a JSON Web Token (JWT) using the system-managed
+// private key for a ServiceAccount.
 func (r *ProjectsServiceAccountsService) SignJwt(name string, signjwtrequest *SignJwtRequest) *ProjectsServiceAccountsSignJwtCall {
 	c := &ProjectsServiceAccountsSignJwtCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -6519,7 +6010,7 @@
 
 func (c *ProjectsServiceAccountsSignJwtCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6583,7 +6074,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "**Note:** This method is deprecated and will stop working on July 1, 2021.\nUse the\n[`signJwt`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signJwt)\nmethod in the IAM Service Account Credentials API instead. If you currently\nuse this method, see the [migration\nguide](https://cloud.google.com/iam/help/credentials/migrate-api) for\ninstructions.\n\nSigns a JSON Web Token (JWT) using the system-managed private key for a\nServiceAccount.",
+	//   "description": "**Note:** This method is deprecated and will stop working on July 1, 2021. Use the [`signJwt`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signJwt) method in the IAM Service Account Credentials API instead. If you currently use this method, see the [migration guide](https://cloud.google.com/iam/help/credentials/migrate-api) for instructions. Signs a JSON Web Token (JWT) using the system-managed private key for a ServiceAccount.",
 	//   "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signJwt",
 	//   "httpMethod": "POST",
 	//   "id": "iam.projects.serviceAccounts.signJwt",
@@ -6592,7 +6083,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. Deprecated. [Migrate to Service Account Credentials\nAPI](https://cloud.google.com/iam/help/credentials/migrate-api).\n\nThe resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.",
+	//       "description": "Required. Deprecated. [Migrate to Service Account Credentials API](https://cloud.google.com/iam/help/credentials/migrate-api). The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
 	//       "required": true,
@@ -6625,8 +6116,7 @@
 }
 
 // TestIamPermissions: Tests whether the caller has the specified
-// permissions on a
-// ServiceAccount.
+// permissions on a ServiceAccount.
 func (r *ProjectsServiceAccountsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsServiceAccountsTestIamPermissionsCall {
 	c := &ProjectsServiceAccountsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -6661,7 +6151,7 @@
 
 func (c *ProjectsServiceAccountsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6725,7 +6215,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Tests whether the caller has the specified permissions on a\nServiceAccount.",
+	//   "description": "Tests whether the caller has the specified permissions on a ServiceAccount.",
 	//   "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "iam.projects.serviceAccounts.testIamPermissions",
@@ -6734,7 +6224,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
 	//       "required": true,
@@ -6766,17 +6256,12 @@
 	header_                       http.Header
 }
 
-// Undelete: Restores a deleted ServiceAccount.
-//
-// **Important:** It is not always possible to restore a deleted
-// service
-// account. Use this method only as a last resort.
-//
-// After you delete a service account, IAM permanently removes the
-// service
-// account 30 days later. There is no way to restore a deleted service
-// account
-// that has been permanently removed.
+// Undelete: Restores a deleted ServiceAccount. **Important:** It is not
+// always possible to restore a deleted service account. Use this method
+// only as a last resort. After you delete a service account, IAM
+// permanently removes the service account 30 days later. There is no
+// way to restore a deleted service account that has been permanently
+// removed.
 func (r *ProjectsServiceAccountsService) Undelete(name string, undeleteserviceaccountrequest *UndeleteServiceAccountRequest) *ProjectsServiceAccountsUndeleteCall {
 	c := &ProjectsServiceAccountsUndeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -6811,7 +6296,7 @@
 
 func (c *ProjectsServiceAccountsUndeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6875,7 +6360,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Restores a deleted ServiceAccount.\n\n**Important:** It is not always possible to restore a deleted service\naccount. Use this method only as a last resort.\n\nAfter you delete a service account, IAM permanently removes the service\naccount 30 days later. There is no way to restore a deleted service account\nthat has been permanently removed.",
+	//   "description": "Restores a deleted ServiceAccount. **Important:** It is not always possible to restore a deleted service account. Use this method only as a last resort. After you delete a service account, IAM permanently removes the service account 30 days later. There is no way to restore a deleted service account that has been permanently removed.",
 	//   "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:undelete",
 	//   "httpMethod": "POST",
 	//   "id": "iam.projects.serviceAccounts.undelete",
@@ -6884,7 +6369,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_UNIQUE_ID}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account.",
+	//       "description": "The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_UNIQUE_ID}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
 	//       "required": true,
@@ -6917,12 +6402,8 @@
 }
 
 // Update: **Note:** We are in the process of deprecating this method.
-// Use
-// PatchServiceAccount instead.
-//
-// Updates a ServiceAccount.
-//
-// You can update only the `display_name` and `description` fields.
+// Use PatchServiceAccount instead. Updates a ServiceAccount. You can
+// update only the `display_name` and `description` fields.
 func (r *ProjectsServiceAccountsService) Update(name string, serviceaccount *ServiceAccount) *ProjectsServiceAccountsUpdateCall {
 	c := &ProjectsServiceAccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -6957,7 +6438,7 @@
 
 func (c *ProjectsServiceAccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7021,7 +6502,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "**Note:** We are in the process of deprecating this method. Use\nPatchServiceAccount instead.\n\nUpdates a ServiceAccount.\n\nYou can update only the `display_name` and `description` fields.",
+	//   "description": "**Note:** We are in the process of deprecating this method. Use PatchServiceAccount instead. Updates a ServiceAccount. You can update only the `display_name` and `description` fields.",
 	//   "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}",
 	//   "httpMethod": "PUT",
 	//   "id": "iam.projects.serviceAccounts.update",
@@ -7030,7 +6511,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The resource name of the service account.\n\nUse one of the following formats:\n\n* `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}`\n* `projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}`\n\nAs an alternative, you can use the `-` wildcard character instead of the\nproject ID:\n\n* `projects/-/serviceAccounts/{EMAIL_ADDRESS}`\n* `projects/-/serviceAccounts/{UNIQUE_ID}`\n\nWhen possible, avoid using the `-` wildcard character, because it can cause\nresponse messages to contain misleading error codes. For example, if you\ntry to get the service account\n`projects/-/serviceAccounts/fake@example.com`, which does not exist, the\nresponse contains an HTTP `403 Forbidden` error instead of a `404 Not\nFound` error.",
+	//       "description": "The resource name of the service account. Use one of the following formats: * `projects/{PROJECT_ID}/serviceAccounts/{EMAIL_ADDRESS}` * `projects/{PROJECT_ID}/serviceAccounts/{UNIQUE_ID}` As an alternative, you can use the `-` wildcard character instead of the project ID: * `projects/-/serviceAccounts/{EMAIL_ADDRESS}` * `projects/-/serviceAccounts/{UNIQUE_ID}` When possible, avoid using the `-` wildcard character, because it can cause response messages to contain misleading error codes. For example, if you try to get the service account `projects/-/serviceAccounts/fake@example.com`, which does not exist, the response contains an HTTP `403 Forbidden` error instead of a `404 Not Found` error.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
 	//       "required": true,
@@ -7097,7 +6578,7 @@
 
 func (c *ProjectsServiceAccountsKeysCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7170,7 +6651,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.",
+	//       "description": "Required. The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
 	//       "required": true,
@@ -7235,7 +6716,7 @@
 
 func (c *ProjectsServiceAccountsKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7303,7 +6784,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the service account key in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.",
+	//       "description": "Required. The resource name of the service account key in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+/keys/[^/]+$",
 	//       "required": true,
@@ -7340,13 +6821,13 @@
 }
 
 // PublicKeyType sets the optional parameter "publicKeyType": The output
-// format of the public key requested.
-// X509_PEM is the default output format.
+// format of the public key requested. X509_PEM is the default output
+// format.
 //
 // Possible values:
-//   "TYPE_NONE"
-//   "TYPE_X509_PEM_FILE"
-//   "TYPE_RAW_PUBLIC_KEY"
+//   "TYPE_NONE" - Unspecified. Returns nothing here.
+//   "TYPE_X509_PEM_FILE" - X509 PEM format.
+//   "TYPE_RAW_PUBLIC_KEY" - Raw public key.
 func (c *ProjectsServiceAccountsKeysGetCall) PublicKeyType(publicKeyType string) *ProjectsServiceAccountsKeysGetCall {
 	c.urlParams_.Set("publicKeyType", publicKeyType)
 	return c
@@ -7389,7 +6870,7 @@
 
 func (c *ProjectsServiceAccountsKeysGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7460,19 +6941,24 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the service account key in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.\n\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.",
+	//       "description": "Required. The resource name of the service account key in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+/keys/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "publicKeyType": {
-	//       "description": "The output format of the public key requested.\nX509_PEM is the default output format.",
+	//       "description": "The output format of the public key requested. X509_PEM is the default output format.",
 	//       "enum": [
 	//         "TYPE_NONE",
 	//         "TYPE_X509_PEM_FILE",
 	//         "TYPE_RAW_PUBLIC_KEY"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Unspecified. Returns nothing here.",
+	//         "X509 PEM format.",
+	//         "Raw public key."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -7507,14 +6993,17 @@
 }
 
 // KeyTypes sets the optional parameter "keyTypes": Filters the types of
-// keys the user wants to include in the list
-// response. Duplicate key types are not allowed. If no key type
-// is provided, all keys are returned.
+// keys the user wants to include in the list response. Duplicate key
+// types are not allowed. If no key type is provided, all keys are
+// returned.
 //
 // Possible values:
-//   "KEY_TYPE_UNSPECIFIED"
-//   "USER_MANAGED"
-//   "SYSTEM_MANAGED"
+//   "KEY_TYPE_UNSPECIFIED" - Unspecified key type. The presence of this
+// in the message will immediately result in an error.
+//   "USER_MANAGED" - User-managed keys (managed and rotated by the
+// user).
+//   "SYSTEM_MANAGED" - System-managed keys (managed and rotated by
+// Google).
 func (c *ProjectsServiceAccountsKeysListCall) KeyTypes(keyTypes ...string) *ProjectsServiceAccountsKeysListCall {
 	c.urlParams_.SetMulti("keyTypes", append([]string{}, keyTypes...))
 	return c
@@ -7557,7 +7046,7 @@
 
 func (c *ProjectsServiceAccountsKeysListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7628,18 +7117,23 @@
 	//   ],
 	//   "parameters": {
 	//     "keyTypes": {
-	//       "description": "Filters the types of keys the user wants to include in the list\nresponse. Duplicate key types are not allowed. If no key type\nis provided, all keys are returned.",
+	//       "description": "Filters the types of keys the user wants to include in the list response. Duplicate key types are not allowed. If no key type is provided, all keys are returned.",
 	//       "enum": [
 	//         "KEY_TYPE_UNSPECIFIED",
 	//         "USER_MANAGED",
 	//         "SYSTEM_MANAGED"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Unspecified key type. The presence of this in the message will immediately result in an error.",
+	//         "User-managed keys (managed and rotated by the user).",
+	//         "System-managed keys (managed and rotated by Google)."
+	//       ],
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "Required. The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\n\nUsing `-` as a wildcard for the `PROJECT_ID`, will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.",
+	//       "description": "Required. The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID`, will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
 	//       "required": true,
@@ -7704,7 +7198,7 @@
 
 func (c *ProjectsServiceAccountsKeysUploadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7777,7 +7271,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The resource name of the service account in the following format:\n`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.\nUsing `-` as a wildcard for the `PROJECT_ID` will infer the project from\nthe account. The `ACCOUNT` value can be the `email` address or the\n`unique_id` of the service account.",
+	//       "description": "The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
 	//       "required": true,
@@ -7853,7 +7347,7 @@
 
 func (c *RolesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7924,7 +7418,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The `name` parameter's value depends on the target resource for the\nrequest, namely\n[`roles`](/iam/reference/rest/v1/roles),\n[`projects`](/iam/reference/rest/v1/projects.roles), or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `name` value format is described below:\n\n* [`roles.get()`](/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`.\n  This method returns results from all\n  [predefined roles](/iam/docs/understanding-roles#predefined_roles) in\n  Cloud IAM. Example request URL:\n  `https://iam.googleapis.com/v1/roles/{ROLE_NAME}`\n\n* [`projects.roles.get()`](/iam/reference/rest/v1/projects.roles/get):\n  `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only\n  [custom roles](/iam/docs/understanding-custom-roles) that have been\n  created at the project level. Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`\n\n* [`organizations.roles.get()`](/iam/reference/rest/v1/organizations.roles/get):\n  `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method\n  returns only [custom roles](/iam/docs/understanding-custom-roles) that\n  have been created at the organization level. Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+	//       "description": "The `name` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `name` value format is described below: * [`roles.get()`](/iam/reference/rest/v1/roles/get): `roles/{ROLE_NAME}`. This method returns results from all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles/{ROLE_NAME}` * [`projects.roles.get()`](/iam/reference/rest/v1/projects.roles/get): `projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the project level. Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles/{CUSTOM_ROLE_ID}` * [`organizations.roles.get()`](/iam/reference/rest/v1/organizations.roles/get): `organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}`. This method returns only [custom roles](/iam/docs/understanding-custom-roles) that have been created at the organization level. Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles/{CUSTOM_ROLE_ID}` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
 	//       "location": "path",
 	//       "pattern": "^roles/[^/]+$",
 	//       "required": true,
@@ -7953,17 +7447,15 @@
 }
 
 // List: Lists every predefined Role that IAM supports, or every custom
-// role
-// that is defined for an organization or project.
+// role that is defined for an organization or project.
 func (r *RolesService) List() *RolesListCall {
 	c := &RolesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": Optional limit on
-// the number of roles to include in the response.
-//
-// The default is 300, and the maximum is 1,000.
+// the number of roles to include in the response. The default is 300,
+// and the maximum is 1,000.
 func (c *RolesListCall) PageSize(pageSize int64) *RolesListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
@@ -7977,47 +7469,27 @@
 }
 
 // Parent sets the optional parameter "parent": The `parent` parameter's
-// value depends on the target resource for the
-// request,
-// namely
+// value depends on the target resource for the request, namely
 // [`roles`](/iam/reference/rest/v1/roles),
-// [`projects`](/iam/refe
-// rence/rest/v1/projects.roles),
-// or
-// [`organizations`](/iam/reference/rest/v1/organizations.roles).
-// Each
-// resource type's `parent` value format is described below:
-//
-// * [`roles.list()`](/iam/reference/rest/v1/roles/list): An empty
-// string.
-//   This method doesn't require a resource; it simply returns all
-//   [predefined roles](/iam/docs/understanding-roles#predefined_roles)
-// in
-//   Cloud IAM. Example request URL:
-//   `https://iam.googleapis.com/v1/roles`
-//
+// [`projects`](/iam/reference/rest/v1/projects.roles), or
+// [`organizations`](/iam/reference/rest/v1/organizations.roles). Each
+// resource type's `parent` value format is described below: *
+// [`roles.list()`](/iam/reference/rest/v1/roles/list): An empty string.
+// This method doesn't require a resource; it simply returns all
+// [predefined roles](/iam/docs/understanding-roles#predefined_roles) in
+// Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles`
 // *
 // [`projects.roles.list()`](/iam/reference/rest/v1/projects.roles/list):
-//
-//   `projects/{PROJECT_ID}`. This method lists all project-level
-//   [custom roles](/iam/docs/understanding-custom-roles).
-//   Example request URL:
-//   `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles`
-//
-// *
+//  `projects/{PROJECT_ID}`. This method lists all project-level [custom
+// roles](/iam/docs/understanding-custom-roles). Example request URL:
+// `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` *
 // [`organizations.roles.list()`](/iam/reference/rest/v1/organizations.ro
-// les/list):
-//   `organizations/{ORGANIZATION_ID}`. This method lists all
-//   organization-level [custom
-// roles](/iam/docs/understanding-custom-roles).
-//   Example request URL:
-//
+// les/list): `organizations/{ORGANIZATION_ID}`. This method lists all
+// organization-level [custom
+// roles](/iam/docs/understanding-custom-roles). Example request URL:
 // `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles`
-//
-//
 // Note: Wildcard (*) values are invalid; you must specify a complete
-// project
-// ID or organization ID.
+// project ID or organization ID.
 func (c *RolesListCall) Parent(parent string) *RolesListCall {
 	c.urlParams_.Set("parent", parent)
 	return c
@@ -8031,16 +7503,15 @@
 }
 
 // View sets the optional parameter "view": Optional view for the
-// returned Role objects. When `FULL` is specified,
-// the `includedPermissions` field is returned, which includes a list of
-// all
-// permissions in the role. The default value is `BASIC`, which does
-// not
+// returned Role objects. When `FULL` is specified, the
+// `includedPermissions` field is returned, which includes a list of all
+// permissions in the role. The default value is `BASIC`, which does not
 // return the `includedPermissions` field.
 //
 // Possible values:
-//   "BASIC"
-//   "FULL"
+//   "BASIC" - Omits the `included_permissions` field. This is the
+// default value.
+//   "FULL" - Returns all fields.
 func (c *RolesListCall) View(view string) *RolesListCall {
 	c.urlParams_.Set("view", view)
 	return c
@@ -8083,7 +7554,7 @@
 
 func (c *RolesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8142,14 +7613,14 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists every predefined Role that IAM supports, or every custom role\nthat is defined for an organization or project.",
+	//   "description": "Lists every predefined Role that IAM supports, or every custom role that is defined for an organization or project.",
 	//   "flatPath": "v1/roles",
 	//   "httpMethod": "GET",
 	//   "id": "iam.roles.list",
 	//   "parameterOrder": [],
 	//   "parameters": {
 	//     "pageSize": {
-	//       "description": "Optional limit on the number of roles to include in the response.\n\nThe default is 300, and the maximum is 1,000.",
+	//       "description": "Optional limit on the number of roles to include in the response. The default is 300, and the maximum is 1,000.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
@@ -8160,7 +7631,7 @@
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "The `parent` parameter's value depends on the target resource for the\nrequest, namely\n[`roles`](/iam/reference/rest/v1/roles),\n[`projects`](/iam/reference/rest/v1/projects.roles), or\n[`organizations`](/iam/reference/rest/v1/organizations.roles). Each\nresource type's `parent` value format is described below:\n\n* [`roles.list()`](/iam/reference/rest/v1/roles/list): An empty string.\n  This method doesn't require a resource; it simply returns all\n  [predefined roles](/iam/docs/understanding-roles#predefined_roles) in\n  Cloud IAM. Example request URL:\n  `https://iam.googleapis.com/v1/roles`\n\n* [`projects.roles.list()`](/iam/reference/rest/v1/projects.roles/list):\n  `projects/{PROJECT_ID}`. This method lists all project-level\n  [custom roles](/iam/docs/understanding-custom-roles).\n  Example request URL:\n  `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles`\n\n* [`organizations.roles.list()`](/iam/reference/rest/v1/organizations.roles/list):\n  `organizations/{ORGANIZATION_ID}`. This method lists all\n  organization-level [custom roles](/iam/docs/understanding-custom-roles).\n  Example request URL:\n  `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles`\n\nNote: Wildcard (*) values are invalid; you must specify a complete project\nID or organization ID.",
+	//       "description": "The `parent` parameter's value depends on the target resource for the request, namely [`roles`](/iam/reference/rest/v1/roles), [`projects`](/iam/reference/rest/v1/projects.roles), or [`organizations`](/iam/reference/rest/v1/organizations.roles). Each resource type's `parent` value format is described below: * [`roles.list()`](/iam/reference/rest/v1/roles/list): An empty string. This method doesn't require a resource; it simply returns all [predefined roles](/iam/docs/understanding-roles#predefined_roles) in Cloud IAM. Example request URL: `https://iam.googleapis.com/v1/roles` * [`projects.roles.list()`](/iam/reference/rest/v1/projects.roles/list): `projects/{PROJECT_ID}`. This method lists all project-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/projects/{PROJECT_ID}/roles` * [`organizations.roles.list()`](/iam/reference/rest/v1/organizations.roles/list): `organizations/{ORGANIZATION_ID}`. This method lists all organization-level [custom roles](/iam/docs/understanding-custom-roles). Example request URL: `https://iam.googleapis.com/v1/organizations/{ORGANIZATION_ID}/roles` Note: Wildcard (*) values are invalid; you must specify a complete project ID or organization ID.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -8170,11 +7641,15 @@
 	//       "type": "boolean"
 	//     },
 	//     "view": {
-	//       "description": "Optional view for the returned Role objects. When `FULL` is specified,\nthe `includedPermissions` field is returned, which includes a list of all\npermissions in the role. The default value is `BASIC`, which does not\nreturn the `includedPermissions` field.",
+	//       "description": "Optional view for the returned Role objects. When `FULL` is specified, the `includedPermissions` field is returned, which includes a list of all permissions in the role. The default value is `BASIC`, which does not return the `includedPermissions` field.",
 	//       "enum": [
 	//         "BASIC",
 	//         "FULL"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Omits the `included_permissions` field. This is the default value.",
+	//         "Returns all fields."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -8222,10 +7697,8 @@
 }
 
 // QueryGrantableRoles: Lists roles that can be granted on a Google
-// Cloud resource. A role is
-// grantable if the IAM policy for the resource can contain bindings to
-// the
-// role.
+// Cloud resource. A role is grantable if the IAM policy for the
+// resource can contain bindings to the role.
 func (r *RolesService) QueryGrantableRoles(querygrantablerolesrequest *QueryGrantableRolesRequest) *RolesQueryGrantableRolesCall {
 	c := &RolesQueryGrantableRolesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.querygrantablerolesrequest = querygrantablerolesrequest
@@ -8259,7 +7732,7 @@
 
 func (c *RolesQueryGrantableRolesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8320,7 +7793,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists roles that can be granted on a Google Cloud resource. A role is\ngrantable if the IAM policy for the resource can contain bindings to the\nrole.",
+	//   "description": "Lists roles that can be granted on a Google Cloud resource. A role is grantable if the IAM policy for the resource can contain bindings to the role.",
 	//   "flatPath": "v1/roles:queryGrantableRoles",
 	//   "httpMethod": "POST",
 	//   "id": "iam.roles.queryGrantableRoles",
diff --git a/iamcredentials/v1/iamcredentials-api.json b/iamcredentials/v1/iamcredentials-api.json
index aa773ab..b7cb9d4 100644
--- a/iamcredentials/v1/iamcredentials-api.json
+++ b/iamcredentials/v1/iamcredentials-api.json
@@ -119,7 +119,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. The resource name of the service account for which the credentials\nare requested, in the following format:\n`projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard\ncharacter is required; replacing it with a project ID is invalid.",
+                  "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                   "required": true,
@@ -147,7 +147,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. The resource name of the service account for which the credentials\nare requested, in the following format:\n`projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard\ncharacter is required; replacing it with a project ID is invalid.",
+                  "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                   "required": true,
@@ -175,7 +175,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. The resource name of the service account for which the credentials\nare requested, in the following format:\n`projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard\ncharacter is required; replacing it with a project ID is invalid.",
+                  "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                   "required": true,
@@ -203,7 +203,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. The resource name of the service account for which the credentials\nare requested, in the following format:\n`projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard\ncharacter is required; replacing it with a project ID is invalid.",
+                  "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
                   "required": true,
@@ -226,26 +226,26 @@
       }
     }
   },
-  "revision": "20200612",
+  "revision": "20200807",
   "rootUrl": "https://iamcredentials.googleapis.com/",
   "schemas": {
     "GenerateAccessTokenRequest": {
       "id": "GenerateAccessTokenRequest",
       "properties": {
         "delegates": {
-          "description": "The sequence of service accounts in a delegation chain. Each service\naccount must be granted the `roles/iam.serviceAccountTokenCreator` role\non its next service account in the chain. The last service account in the\nchain must be granted the `roles/iam.serviceAccountTokenCreator` role\non the service account that is specified in the `name` field of the\nrequest.\n\nThe delegates must have the following format:\n`projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard\ncharacter is required; replacing it with a project ID is invalid.",
+          "description": "The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "lifetime": {
-          "description": "The desired lifetime duration of the access token in seconds.\nMust be set to a value less than or equal to 3600 (1 hour). If a value is\nnot specified, the token's lifetime will be set to a default value of one\nhour.",
+          "description": "The desired lifetime duration of the access token in seconds. Must be set to a value less than or equal to 3600 (1 hour). If a value is not specified, the token's lifetime will be set to a default value of one hour.",
           "format": "google-duration",
           "type": "string"
         },
         "scope": {
-          "description": "Required. Code to identify the scopes to be included in the OAuth 2.0 access token.\nSee https://developers.google.com/identity/protocols/googlescopes for more\ninformation.\nAt least one value required.",
+          "description": "Required. Code to identify the scopes to be included in the OAuth 2.0 access token. See https://developers.google.com/identity/protocols/googlescopes for more information. At least one value required.",
           "items": {
             "type": "string"
           },
@@ -262,7 +262,7 @@
           "type": "string"
         },
         "expireTime": {
-          "description": "Token expiration time.\nThe expiration time is always set.",
+          "description": "Token expiration time. The expiration time is always set.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -273,18 +273,18 @@
       "id": "GenerateIdTokenRequest",
       "properties": {
         "audience": {
-          "description": "Required. The audience for the token, such as the API or account that this token\ngrants access to.",
+          "description": "Required. The audience for the token, such as the API or account that this token grants access to.",
           "type": "string"
         },
         "delegates": {
-          "description": "The sequence of service accounts in a delegation chain. Each service\naccount must be granted the `roles/iam.serviceAccountTokenCreator` role\non its next service account in the chain. The last service account in the\nchain must be granted the `roles/iam.serviceAccountTokenCreator` role\non the service account that is specified in the `name` field of the\nrequest.\n\nThe delegates must have the following format:\n`projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard\ncharacter is required; replacing it with a project ID is invalid.",
+          "description": "The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "includeEmail": {
-          "description": "Include the service account email in the token. If set to `true`, the\ntoken will contain `email` and `email_verified` claims.",
+          "description": "Include the service account email in the token. If set to `true`, the token will contain `email` and `email_verified` claims.",
           "type": "boolean"
         }
       },
@@ -304,7 +304,7 @@
       "id": "SignBlobRequest",
       "properties": {
         "delegates": {
-          "description": "The sequence of service accounts in a delegation chain. Each service\naccount must be granted the `roles/iam.serviceAccountTokenCreator` role\non its next service account in the chain. The last service account in the\nchain must be granted the `roles/iam.serviceAccountTokenCreator` role\non the service account that is specified in the `name` field of the\nrequest.\n\nThe delegates must have the following format:\n`projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard\ncharacter is required; replacing it with a project ID is invalid.",
+          "description": "The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
           "items": {
             "type": "string"
           },
@@ -322,11 +322,11 @@
       "id": "SignBlobResponse",
       "properties": {
         "keyId": {
-          "description": "The ID of the key used to sign the blob. The key used for signing will\nremain valid for at least 12 hours after the blob is signed. To verify the\nsignature, you can retrieve the public key in several formats from the\nfollowing endpoints:\n\n- RSA public key wrapped in an X.509 v3 certificate:\n`https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT_EMAIL}`\n- Raw key in JSON format:\n`https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_EMAIL}`\n- JSON Web Key (JWK):\n`https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_EMAIL}`",
+          "description": "The ID of the key used to sign the blob. The key used for signing will remain valid for at least 12 hours after the blob is signed. To verify the signature, you can retrieve the public key in several formats from the following endpoints: - RSA public key wrapped in an X.509 v3 certificate: `https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT_EMAIL}` - Raw key in JSON format: `https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_EMAIL}` - JSON Web Key (JWK): `https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_EMAIL}`",
           "type": "string"
         },
         "signedBlob": {
-          "description": "The signature for the blob. Does not include the original blob.\n\nAfter the key pair referenced by the `key_id` response field expires,\nGoogle no longer exposes the public key that can be used to verify the\nblob. As a result, the receiver can no longer verify the signature.",
+          "description": "The signature for the blob. Does not include the original blob. After the key pair referenced by the `key_id` response field expires, Google no longer exposes the public key that can be used to verify the blob. As a result, the receiver can no longer verify the signature.",
           "format": "byte",
           "type": "string"
         }
@@ -337,14 +337,14 @@
       "id": "SignJwtRequest",
       "properties": {
         "delegates": {
-          "description": "The sequence of service accounts in a delegation chain. Each service\naccount must be granted the `roles/iam.serviceAccountTokenCreator` role\non its next service account in the chain. The last service account in the\nchain must be granted the `roles/iam.serviceAccountTokenCreator` role\non the service account that is specified in the `name` field of the\nrequest.\n\nThe delegates must have the following format:\n`projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard\ncharacter is required; replacing it with a project ID is invalid.",
+          "description": "The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "payload": {
-          "description": "Required. The JWT payload to sign. Must be a serialized JSON object that contains a\nJWT Claims Set. For example: `{\"sub\": \"user@example.com\", \"iat\": 313435}`\n\nIf the JWT Claims Set contains an expiration time (`exp`) claim, it must be\nan integer timestamp that is not in the past and no more than 12 hours in\nthe future.",
+          "description": "Required. The JWT payload to sign. Must be a serialized JSON object that contains a JWT Claims Set. For example: `{\"sub\": \"user@example.com\", \"iat\": 313435}` If the JWT Claims Set contains an expiration time (`exp`) claim, it must be an integer timestamp that is not in the past and no more than 12 hours in the future.",
           "type": "string"
         }
       },
@@ -354,11 +354,11 @@
       "id": "SignJwtResponse",
       "properties": {
         "keyId": {
-          "description": "The ID of the key used to sign the JWT. The key used for signing will\nremain valid for at least 12 hours after the JWT is signed. To verify the\nsignature, you can retrieve the public key in several formats from the\nfollowing endpoints:\n\n- RSA public key wrapped in an X.509 v3 certificate:\n`https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT_EMAIL}`\n- Raw key in JSON format:\n`https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_EMAIL}`\n- JSON Web Key (JWK):\n`https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_EMAIL}`",
+          "description": "The ID of the key used to sign the JWT. The key used for signing will remain valid for at least 12 hours after the JWT is signed. To verify the signature, you can retrieve the public key in several formats from the following endpoints: - RSA public key wrapped in an X.509 v3 certificate: `https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT_EMAIL}` - Raw key in JSON format: `https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_EMAIL}` - JSON Web Key (JWK): `https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_EMAIL}`",
           "type": "string"
         },
         "signedJwt": {
-          "description": "The signed JWT. Contains the automatically generated header; the\nclient-supplied payload; and the signature, which is generated using the\nkey referenced by the `kid` field in the header.\n\nAfter the key pair referenced by the `key_id` response field expires,\nGoogle no longer exposes the public key that can be used to verify the JWT.\nAs a result, the receiver can no longer verify the signature.",
+          "description": "The signed JWT. Contains the automatically generated header; the client-supplied payload; and the signature, which is generated using the key referenced by the `kid` field in the header. After the key pair referenced by the `key_id` response field expires, Google no longer exposes the public key that can be used to verify the JWT. As a result, the receiver can no longer verify the signature.",
           "type": "string"
         }
       },
diff --git a/iamcredentials/v1/iamcredentials-gen.go b/iamcredentials/v1/iamcredentials-gen.go
index d3a478d..91ba14a 100644
--- a/iamcredentials/v1/iamcredentials-gen.go
+++ b/iamcredentials/v1/iamcredentials-gen.go
@@ -158,39 +158,27 @@
 
 type GenerateAccessTokenRequest struct {
 	// Delegates: The sequence of service accounts in a delegation chain.
-	// Each service
-	// account must be granted the `roles/iam.serviceAccountTokenCreator`
-	// role
-	// on its next service account in the chain. The last service account in
-	// the
-	// chain must be granted the `roles/iam.serviceAccountTokenCreator`
-	// role
-	// on the service account that is specified in the `name` field of
-	// the
-	// request.
-	//
-	// The delegates must have the following
-	// format:
+	// Each service account must be granted the
+	// `roles/iam.serviceAccountTokenCreator` role on its next service
+	// account in the chain. The last service account in the chain must be
+	// granted the `roles/iam.serviceAccountTokenCreator` role on the
+	// service account that is specified in the `name` field of the request.
+	// The delegates must have the following format:
 	// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-`
-	// wildcard
-	// character is required; replacing it with a project ID is invalid.
+	// wildcard character is required; replacing it with a project ID is
+	// invalid.
 	Delegates []string `json:"delegates,omitempty"`
 
 	// Lifetime: The desired lifetime duration of the access token in
-	// seconds.
-	// Must be set to a value less than or equal to 3600 (1 hour). If a
-	// value is
-	// not specified, the token's lifetime will be set to a default value of
-	// one
-	// hour.
+	// seconds. Must be set to a value less than or equal to 3600 (1 hour).
+	// If a value is not specified, the token's lifetime will be set to a
+	// default value of one hour.
 	Lifetime string `json:"lifetime,omitempty"`
 
 	// Scope: Required. Code to identify the scopes to be included in the
-	// OAuth 2.0 access token.
-	// See https://developers.google.com/identity/protocols/googlescopes for
-	// more
-	// information.
-	// At least one value required.
+	// OAuth 2.0 access token. See
+	// https://developers.google.com/identity/protocols/googlescopes for
+	// more information. At least one value required.
 	Scope []string `json:"scope,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Delegates") to
@@ -220,8 +208,7 @@
 	// AccessToken: The OAuth 2.0 access token.
 	AccessToken string `json:"accessToken,omitempty"`
 
-	// ExpireTime: Token expiration time.
-	// The expiration time is always set.
+	// ExpireTime: Token expiration time. The expiration time is always set.
 	ExpireTime string `json:"expireTime,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -253,32 +240,24 @@
 
 type GenerateIdTokenRequest struct {
 	// Audience: Required. The audience for the token, such as the API or
-	// account that this token
-	// grants access to.
+	// account that this token grants access to.
 	Audience string `json:"audience,omitempty"`
 
 	// Delegates: The sequence of service accounts in a delegation chain.
-	// Each service
-	// account must be granted the `roles/iam.serviceAccountTokenCreator`
-	// role
-	// on its next service account in the chain. The last service account in
-	// the
-	// chain must be granted the `roles/iam.serviceAccountTokenCreator`
-	// role
-	// on the service account that is specified in the `name` field of
-	// the
-	// request.
-	//
-	// The delegates must have the following
-	// format:
+	// Each service account must be granted the
+	// `roles/iam.serviceAccountTokenCreator` role on its next service
+	// account in the chain. The last service account in the chain must be
+	// granted the `roles/iam.serviceAccountTokenCreator` role on the
+	// service account that is specified in the `name` field of the request.
+	// The delegates must have the following format:
 	// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-`
-	// wildcard
-	// character is required; replacing it with a project ID is invalid.
+	// wildcard character is required; replacing it with a project ID is
+	// invalid.
 	Delegates []string `json:"delegates,omitempty"`
 
 	// IncludeEmail: Include the service account email in the token. If set
-	// to `true`, the
-	// token will contain `email` and `email_verified` claims.
+	// to `true`, the token will contain `email` and `email_verified`
+	// claims.
 	IncludeEmail bool `json:"includeEmail,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Audience") to
@@ -337,22 +316,15 @@
 
 type SignBlobRequest struct {
 	// Delegates: The sequence of service accounts in a delegation chain.
-	// Each service
-	// account must be granted the `roles/iam.serviceAccountTokenCreator`
-	// role
-	// on its next service account in the chain. The last service account in
-	// the
-	// chain must be granted the `roles/iam.serviceAccountTokenCreator`
-	// role
-	// on the service account that is specified in the `name` field of
-	// the
-	// request.
-	//
-	// The delegates must have the following
-	// format:
+	// Each service account must be granted the
+	// `roles/iam.serviceAccountTokenCreator` role on its next service
+	// account in the chain. The last service account in the chain must be
+	// granted the `roles/iam.serviceAccountTokenCreator` role on the
+	// service account that is specified in the `name` field of the request.
+	// The delegates must have the following format:
 	// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-`
-	// wildcard
-	// character is required; replacing it with a project ID is invalid.
+	// wildcard character is required; replacing it with a project ID is
+	// invalid.
 	Delegates []string `json:"delegates,omitempty"`
 
 	// Payload: Required. The bytes to sign.
@@ -383,35 +355,23 @@
 
 type SignBlobResponse struct {
 	// KeyId: The ID of the key used to sign the blob. The key used for
-	// signing will
-	// remain valid for at least 12 hours after the blob is signed. To
-	// verify the
-	// signature, you can retrieve the public key in several formats from
-	// the
-	// following endpoints:
-	//
-	// - RSA public key wrapped in an X.509 v3
-	// certificate:
-	// `https://www.googleapis.com/service_accounts/v1/metadata/
-	// x509/{ACCOUNT_EMAIL}`
-	// - Raw key in JSON
-	// format:
-	// `https://www.googleapis.com/service_accounts/v1/metadata/raw/{
-	// ACCOUNT_EMAIL}`
-	// - JSON Web Key
-	// (JWK):
-	// `https://www.googleapis.com/service_accounts/v1/metadata/jwk/{A
-	// CCOUNT_EMAIL}`
+	// signing will remain valid for at least 12 hours after the blob is
+	// signed. To verify the signature, you can retrieve the public key in
+	// several formats from the following endpoints: - RSA public key
+	// wrapped in an X.509 v3 certificate:
+	// `https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT
+	// _EMAIL}` - Raw key in JSON format:
+	// `https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_
+	// EMAIL}` - JSON Web Key (JWK):
+	// `https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_
+	// EMAIL}`
 	KeyId string `json:"keyId,omitempty"`
 
 	// SignedBlob: The signature for the blob. Does not include the original
-	// blob.
-	//
-	// After the key pair referenced by the `key_id` response field
-	// expires,
-	// Google no longer exposes the public key that can be used to verify
-	// the
-	// blob. As a result, the receiver can no longer verify the signature.
+	// blob. After the key pair referenced by the `key_id` response field
+	// expires, Google no longer exposes the public key that can be used to
+	// verify the blob. As a result, the receiver can no longer verify the
+	// signature.
 	SignedBlob string `json:"signedBlob,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -443,34 +403,22 @@
 
 type SignJwtRequest struct {
 	// Delegates: The sequence of service accounts in a delegation chain.
-	// Each service
-	// account must be granted the `roles/iam.serviceAccountTokenCreator`
-	// role
-	// on its next service account in the chain. The last service account in
-	// the
-	// chain must be granted the `roles/iam.serviceAccountTokenCreator`
-	// role
-	// on the service account that is specified in the `name` field of
-	// the
-	// request.
-	//
-	// The delegates must have the following
-	// format:
+	// Each service account must be granted the
+	// `roles/iam.serviceAccountTokenCreator` role on its next service
+	// account in the chain. The last service account in the chain must be
+	// granted the `roles/iam.serviceAccountTokenCreator` role on the
+	// service account that is specified in the `name` field of the request.
+	// The delegates must have the following format:
 	// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-`
-	// wildcard
-	// character is required; replacing it with a project ID is invalid.
+	// wildcard character is required; replacing it with a project ID is
+	// invalid.
 	Delegates []string `json:"delegates,omitempty"`
 
 	// Payload: Required. The JWT payload to sign. Must be a serialized JSON
-	// object that contains a
-	// JWT Claims Set. For example: `{"sub": "user@example.com", "iat":
-	// 313435}`
-	//
-	// If the JWT Claims Set contains an expiration time (`exp`) claim, it
-	// must be
-	// an integer timestamp that is not in the past and no more than 12
-	// hours in
-	// the future.
+	// object that contains a JWT Claims Set. For example: `{"sub":
+	// "user@example.com", "iat": 313435}` If the JWT Claims Set contains an
+	// expiration time (`exp`) claim, it must be an integer timestamp that
+	// is not in the past and no more than 12 hours in the future.
 	Payload string `json:"payload,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Delegates") to
@@ -498,38 +446,25 @@
 
 type SignJwtResponse struct {
 	// KeyId: The ID of the key used to sign the JWT. The key used for
-	// signing will
-	// remain valid for at least 12 hours after the JWT is signed. To verify
-	// the
-	// signature, you can retrieve the public key in several formats from
-	// the
-	// following endpoints:
-	//
-	// - RSA public key wrapped in an X.509 v3
-	// certificate:
-	// `https://www.googleapis.com/service_accounts/v1/metadata/
-	// x509/{ACCOUNT_EMAIL}`
-	// - Raw key in JSON
-	// format:
-	// `https://www.googleapis.com/service_accounts/v1/metadata/raw/{
-	// ACCOUNT_EMAIL}`
-	// - JSON Web Key
-	// (JWK):
-	// `https://www.googleapis.com/service_accounts/v1/metadata/jwk/{A
-	// CCOUNT_EMAIL}`
+	// signing will remain valid for at least 12 hours after the JWT is
+	// signed. To verify the signature, you can retrieve the public key in
+	// several formats from the following endpoints: - RSA public key
+	// wrapped in an X.509 v3 certificate:
+	// `https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT
+	// _EMAIL}` - Raw key in JSON format:
+	// `https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_
+	// EMAIL}` - JSON Web Key (JWK):
+	// `https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_
+	// EMAIL}`
 	KeyId string `json:"keyId,omitempty"`
 
 	// SignedJwt: The signed JWT. Contains the automatically generated
-	// header; the
-	// client-supplied payload; and the signature, which is generated using
-	// the
-	// key referenced by the `kid` field in the header.
-	//
-	// After the key pair referenced by the `key_id` response field
-	// expires,
+	// header; the client-supplied payload; and the signature, which is
+	// generated using the key referenced by the `kid` field in the header.
+	// After the key pair referenced by the `key_id` response field expires,
 	// Google no longer exposes the public key that can be used to verify
-	// the JWT.
-	// As a result, the receiver can no longer verify the signature.
+	// the JWT. As a result, the receiver can no longer verify the
+	// signature.
 	SignedJwt string `json:"signedJwt,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -606,7 +541,7 @@
 
 func (c *ProjectsServiceAccountsGenerateAccessTokenCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -679,7 +614,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the service account for which the credentials\nare requested, in the following format:\n`projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard\ncharacter is required; replacing it with a project ID is invalid.",
+	//       "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
 	//       "required": true,
@@ -747,7 +682,7 @@
 
 func (c *ProjectsServiceAccountsGenerateIdTokenCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -820,7 +755,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the service account for which the credentials\nare requested, in the following format:\n`projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard\ncharacter is required; replacing it with a project ID is invalid.",
+	//       "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
 	//       "required": true,
@@ -888,7 +823,7 @@
 
 func (c *ProjectsServiceAccountsSignBlobCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -961,7 +896,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the service account for which the credentials\nare requested, in the following format:\n`projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard\ncharacter is required; replacing it with a project ID is invalid.",
+	//       "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
 	//       "required": true,
@@ -1029,7 +964,7 @@
 
 func (c *ProjectsServiceAccountsSignJwtCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1102,7 +1037,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the service account for which the credentials\nare requested, in the following format:\n`projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard\ncharacter is required; replacing it with a project ID is invalid.",
+	//       "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
 	//       "required": true,
diff --git a/iap/v1/iap-api.json b/iap/v1/iap-api.json
index 04407f1..24b5b70 100644
--- a/iap/v1/iap-api.json
+++ b/iap/v1/iap-api.json
@@ -110,7 +110,7 @@
         "brands": {
           "methods": {
             "create": {
-              "description": "Constructs a new OAuth brand for the project if one does not exist.\nThe created brand is \"internal only\", meaning that OAuth clients created\nunder it only accept requests from users who belong to the same G Suite\norganization as the project. The brand is created in an un-reviewed status.\nNOTE: The \"internal only\" status can be manually changed in the Google\nCloud console. Requires that a brand does not already exist for the\nproject, and that the specified support email is owned by the caller.",
+              "description": "Constructs a new OAuth brand for the project if one does not exist. The created brand is \"internal only\", meaning that OAuth clients created under it only accept requests from users who belong to the same G Suite organization as the project. The brand is created in an un-reviewed status. NOTE: The \"internal only\" status can be manually changed in the Google Cloud console. Requires that a brand does not already exist for the project, and that the specified support email is owned by the caller.",
               "flatPath": "v1/projects/{projectsId}/brands",
               "httpMethod": "POST",
               "id": "iap.projects.brands.create",
@@ -119,7 +119,7 @@
               ],
               "parameters": {
                 "parent": {
-                  "description": "Required. GCP Project number/id under which the brand is to be created.\nIn the following format: projects/{project_number/id}.",
+                  "description": "Required. GCP Project number/id under which the brand is to be created. In the following format: projects/{project_number/id}.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
@@ -147,7 +147,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. Name of the brand to be fetched.\nIn the following format: projects/{project_number/id}/brands/{brand}.",
+                  "description": "Required. Name of the brand to be fetched. In the following format: projects/{project_number/id}/brands/{brand}.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/brands/[^/]+$",
                   "required": true,
@@ -172,7 +172,7 @@
               ],
               "parameters": {
                 "parent": {
-                  "description": "Required. GCP Project number/id.\nIn the following format: projects/{project_number/id}.",
+                  "description": "Required. GCP Project number/id. In the following format: projects/{project_number/id}.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
@@ -192,7 +192,7 @@
             "identityAwareProxyClients": {
               "methods": {
                 "create": {
-                  "description": "Creates an Identity Aware Proxy (IAP) OAuth client. The client is owned\nby IAP. Requires that the brand for the project exists and that it is\nset for internal-only use.",
+                  "description": "Creates an Identity Aware Proxy (IAP) OAuth client. The client is owned by IAP. Requires that the brand for the project exists and that it is set for internal-only use.",
                   "flatPath": "v1/projects/{projectsId}/brands/{brandsId}/identityAwareProxyClients",
                   "httpMethod": "POST",
                   "id": "iap.projects.brands.identityAwareProxyClients.create",
@@ -201,7 +201,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Required. Path to create the client in.\nIn the following format:\nprojects/{project_number/id}/brands/{brand}.\nThe project must belong to a G Suite account.",
+                      "description": "Required. Path to create the client in. In the following format: projects/{project_number/id}/brands/{brand}. The project must belong to a G Suite account.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/brands/[^/]+$",
                       "required": true,
@@ -220,7 +220,7 @@
                   ]
                 },
                 "delete": {
-                  "description": "Deletes an Identity Aware Proxy (IAP) OAuth client. Useful for removing\nobsolete clients, managing the number of clients in a given project, and\ncleaning up after tests. Requires that the client is owned by IAP.",
+                  "description": "Deletes an Identity Aware Proxy (IAP) OAuth client. Useful for removing obsolete clients, managing the number of clients in a given project, and cleaning up after tests. Requires that the client is owned by IAP.",
                   "flatPath": "v1/projects/{projectsId}/brands/{brandsId}/identityAwareProxyClients/{identityAwareProxyClientsId}",
                   "httpMethod": "DELETE",
                   "id": "iap.projects.brands.identityAwareProxyClients.delete",
@@ -229,7 +229,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. Name of the Identity Aware Proxy client to be deleted.\nIn the following format:\nprojects/{project_number/id}/brands/{brand}/identityAwareProxyClients/{client_id}.",
+                      "description": "Required. Name of the Identity Aware Proxy client to be deleted. In the following format: projects/{project_number/id}/brands/{brand}/identityAwareProxyClients/{client_id}.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/brands/[^/]+/identityAwareProxyClients/[^/]+$",
                       "required": true,
@@ -245,7 +245,7 @@
                   ]
                 },
                 "get": {
-                  "description": "Retrieves an Identity Aware Proxy (IAP) OAuth client.\nRequires that the client is owned by IAP.",
+                  "description": "Retrieves an Identity Aware Proxy (IAP) OAuth client. Requires that the client is owned by IAP.",
                   "flatPath": "v1/projects/{projectsId}/brands/{brandsId}/identityAwareProxyClients/{identityAwareProxyClientsId}",
                   "httpMethod": "GET",
                   "id": "iap.projects.brands.identityAwareProxyClients.get",
@@ -254,7 +254,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. Name of the Identity Aware Proxy client to be fetched.\nIn the following format:\nprojects/{project_number/id}/brands/{brand}/identityAwareProxyClients/{client_id}.",
+                      "description": "Required. Name of the Identity Aware Proxy client to be fetched. In the following format: projects/{project_number/id}/brands/{brand}/identityAwareProxyClients/{client_id}.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/brands/[^/]+/identityAwareProxyClients/[^/]+$",
                       "required": true,
@@ -279,18 +279,18 @@
                   ],
                   "parameters": {
                     "pageSize": {
-                      "description": "The maximum number of clients to return. The service may return fewer than\nthis value.\nIf unspecified, at most 100 clients will be returned.\nThe maximum value is 1000; values above 1000 will be coerced to 1000.",
+                      "description": "The maximum number of clients to return. The service may return fewer than this value. If unspecified, at most 100 clients will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "A page token, received from a previous `ListIdentityAwareProxyClients`\ncall. Provide this to retrieve the subsequent page.\n\nWhen paginating, all other parameters provided to\n`ListIdentityAwareProxyClients` must match the call that provided the page\ntoken.",
+                      "description": "A page token, received from a previous `ListIdentityAwareProxyClients` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListIdentityAwareProxyClients` must match the call that provided the page token.",
                       "location": "query",
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. Full brand path.\nIn the following format: projects/{project_number/id}/brands/{brand}.",
+                      "description": "Required. Full brand path. In the following format: projects/{project_number/id}/brands/{brand}.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/brands/[^/]+$",
                       "required": true,
@@ -306,7 +306,7 @@
                   ]
                 },
                 "resetSecret": {
-                  "description": "Resets an Identity Aware Proxy (IAP) OAuth client secret. Useful if the\nsecret was compromised. Requires that the client is owned by IAP.",
+                  "description": "Resets an Identity Aware Proxy (IAP) OAuth client secret. Useful if the secret was compromised. Requires that the client is owned by IAP.",
                   "flatPath": "v1/projects/{projectsId}/brands/{brandsId}/identityAwareProxyClients/{identityAwareProxyClientsId}:resetSecret",
                   "httpMethod": "POST",
                   "id": "iap.projects.brands.identityAwareProxyClients.resetSecret",
@@ -315,7 +315,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. Name of the Identity Aware Proxy client to that will have its\nsecret reset. In the following format:\nprojects/{project_number/id}/brands/{brand}/identityAwareProxyClients/{client_id}.",
+                      "description": "Required. Name of the Identity Aware Proxy client to that will have its secret reset. In the following format: projects/{project_number/id}/brands/{brand}/identityAwareProxyClients/{client_id}.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/brands/[^/]+/identityAwareProxyClients/[^/]+$",
                       "required": true,
@@ -342,7 +342,7 @@
     "v1": {
       "methods": {
         "getIamPolicy": {
-          "description": "Gets the access control policy for an Identity-Aware Proxy protected\nresource.\nMore information about managing access via IAP can be found at:\nhttps://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
+          "description": "Gets the access control policy for an Identity-Aware Proxy protected resource. More information about managing access via IAP can be found at: https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
           "flatPath": "v1/{v1Id}:getIamPolicy",
           "httpMethod": "POST",
           "id": "iap.getIamPolicy",
@@ -351,7 +351,7 @@
           ],
           "parameters": {
             "resource": {
-              "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+              "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
               "location": "path",
               "pattern": "^.*$",
               "required": true,
@@ -379,7 +379,7 @@
           ],
           "parameters": {
             "name": {
-              "description": "Required. The resource name for which to retrieve the settings.\nAuthorization: Requires the `getSettings` permission for the associated\nresource.",
+              "description": "Required. The resource name for which to retrieve the settings. Authorization: Requires the `getSettings` permission for the associated resource.",
               "location": "path",
               "pattern": "^.*$",
               "required": true,
@@ -395,7 +395,7 @@
           ]
         },
         "setIamPolicy": {
-          "description": "Sets the access control policy for an Identity-Aware Proxy protected\nresource. Replaces any existing policy.\nMore information about managing access via IAP can be found at:\nhttps://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
+          "description": "Sets the access control policy for an Identity-Aware Proxy protected resource. Replaces any existing policy. More information about managing access via IAP can be found at: https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
           "flatPath": "v1/{v1Id}:setIamPolicy",
           "httpMethod": "POST",
           "id": "iap.setIamPolicy",
@@ -404,7 +404,7 @@
           ],
           "parameters": {
             "resource": {
-              "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+              "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
               "location": "path",
               "pattern": "^.*$",
               "required": true,
@@ -423,7 +423,7 @@
           ]
         },
         "testIamPermissions": {
-          "description": "Returns permissions that a caller has on the Identity-Aware Proxy protected\nresource.\nMore information about managing access via IAP can be found at:\nhttps://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
+          "description": "Returns permissions that a caller has on the Identity-Aware Proxy protected resource. More information about managing access via IAP can be found at: https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
           "flatPath": "v1/{v1Id}:testIamPermissions",
           "httpMethod": "POST",
           "id": "iap.testIamPermissions",
@@ -432,7 +432,7 @@
           ],
           "parameters": {
             "resource": {
-              "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+              "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
               "location": "path",
               "pattern": "^.*$",
               "required": true,
@@ -451,7 +451,7 @@
           ]
         },
         "updateIapSettings": {
-          "description": "Updates the IAP settings on a particular IAP protected resource. It\nreplaces all fields unless the `update_mask` is set.",
+          "description": "Updates the IAP settings on a particular IAP protected resource. It replaces all fields unless the `update_mask` is set.",
           "flatPath": "v1/{v1Id}:iapSettings",
           "httpMethod": "PATCH",
           "id": "iap.updateIapSettings",
@@ -467,7 +467,7 @@
               "type": "string"
             },
             "updateMask": {
-              "description": "The field mask specifying which IAP settings should be updated.\nIf omitted, the all of the settings are updated. See\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
+              "description": "The field mask specifying which IAP settings should be updated. If omitted, the all of the settings are updated. See https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
               "format": "google-fieldmask",
               "location": "query",
               "type": "string"
@@ -487,11 +487,11 @@
       }
     }
   },
-  "revision": "20200511",
+  "revision": "20200807",
   "rootUrl": "https://iap.googleapis.com/",
   "schemas": {
     "AccessDeniedPageSettings": {
-      "description": "Custom content configuration for access denied page.\nIAP allows customers to define a custom URI to use as the error page when\naccess is denied to users. If IAP prevents access to this page, the default\nIAP error page will be displayed instead.",
+      "description": "Custom content configuration for access denied page. IAP allows customers to define a custom URI to use as the error page when access is denied to users. If IAP prevents access to this page, the default IAP error page will be displayed instead.",
       "id": "AccessDeniedPageSettings",
       "properties": {
         "accessDeniedPageUri": {
@@ -519,7 +519,7 @@
         },
         "policyDelegationSettings": {
           "$ref": "PolicyDelegationSettings",
-          "description": "Settings to configure Policy delegation for apps hosted in tenant projects.\nINTERNAL_ONLY."
+          "description": "Settings to configure Policy delegation for apps hosted in tenant projects. INTERNAL_ONLY."
         }
       },
       "type": "object"
@@ -533,7 +533,7 @@
           "description": "Customization for Access Denied page."
         },
         "cookieDomain": {
-          "description": "The Domain value to set for cookies generated by IAP. This value is not\nvalidated by the API, but will be ignored at runtime if invalid.",
+          "description": "The Domain value to set for cookies generated by IAP. This value is not validated by the API, but will be ignored at runtime if invalid.",
           "type": "string"
         },
         "csmSettings": {
@@ -549,24 +549,24 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Brand": {
-      "description": "OAuth brand data.\nNOTE: Only contains a portion of the data that describes a brand.",
+      "description": "OAuth brand data. NOTE: Only contains a portion of the data that describes a brand.",
       "id": "Brand",
       "properties": {
         "applicationTitle": {
@@ -574,11 +574,13 @@
           "type": "string"
         },
         "name": {
-          "description": "Output only. Identifier of the brand.\nNOTE: GCP project number achieves the same brand identification purpose as\nonly one brand per project can be created.",
+          "description": "Output only. Identifier of the brand. NOTE: GCP project number achieves the same brand identification purpose as only one brand per project can be created.",
+          "readOnly": true,
           "type": "string"
         },
         "orgInternalOnly": {
-          "description": "Output only. Whether the brand is only intended for usage inside the\nG Suite organization only.",
+          "description": "Output only. Whether the brand is only intended for usage inside the G Suite organization only.",
+          "readOnly": true,
           "type": "boolean"
         },
         "supportEmail": {
@@ -589,51 +591,51 @@
       "type": "object"
     },
     "CorsSettings": {
-      "description": "Allows customers to configure HTTP request paths that'll allow HTTP OPTIONS\ncall to bypass authentication and authorization.",
+      "description": "Allows customers to configure HTTP request paths that'll allow HTTP OPTIONS call to bypass authentication and authorization.",
       "id": "CorsSettings",
       "properties": {
         "allowHttpOptions": {
-          "description": "Configuration to allow HTTP OPTIONS calls to skip authorization. If\nundefined, IAP will not apply any special logic to OPTIONS requests.",
+          "description": "Configuration to allow HTTP OPTIONS calls to skip authorization. If undefined, IAP will not apply any special logic to OPTIONS requests.",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "CsmSettings": {
-      "description": "Configuration for RCTokens generated for CSM workloads protected by IAP.\nRCTokens are IAP generated JWTs that can be verified at the application. The\nRCToken is primarily used for ISTIO deployments, and can be scoped to a\nsingle mesh by configuring the audience field accordingly",
+      "description": "Configuration for RCTokens generated for CSM workloads protected by IAP. RCTokens are IAP generated JWTs that can be verified at the application. The RCToken is primarily used for ISTIO deployments, and can be scoped to a single mesh by configuring the audience field accordingly",
       "id": "CsmSettings",
       "properties": {
         "rctokenAud": {
-          "description": "Audience claim set in the generated RCToken. This value is not validated by\nIAP.",
+          "description": "Audience claim set in the generated RCToken. This value is not validated by IAP.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
     },
     "Expr": {
-      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
+      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
       "id": "Expr",
       "properties": {
         "description": {
-          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
+          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
           "type": "string"
         },
         "expression": {
-          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
+          "description": "Textual representation of an expression in Common Expression Language syntax.",
           "type": "string"
         },
         "location": {
-          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
+          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
           "type": "string"
         },
         "title": {
-          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
+          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
           "type": "string"
         }
       },
@@ -644,11 +646,11 @@
       "id": "GcipSettings",
       "properties": {
         "loginPageUri": {
-          "description": "Login page URI associated with the GCIP tenants.\nTypically, all resources within the same project share the same login page,\nthough it could be overridden at the sub resource level.",
+          "description": "Login page URI associated with the GCIP tenants. Typically, all resources within the same project share the same login page, though it could be overridden at the sub resource level.",
           "type": "string"
         },
         "tenantIds": {
-          "description": "GCIP tenant ids that are linked to the IAP resource.\ntenant_ids could be a string beginning with a number character to indicate\nauthenticating with GCIP tenant flow, or in the format of _\u003cProjectNumber\u003e\nto indicate authenticating with GCIP agent flow.\nIf agent flow is used, tenant_ids should only contain one single element,\nwhile for tenant flow, tenant_ids can contain multiple elements.",
+          "description": "GCIP tenant ids that are linked to the IAP resource. tenant_ids could be a string beginning with a number character to indicate authenticating with GCIP tenant flow, or in the format of _ to indicate authenticating with GCIP agent flow. If agent flow is used, tenant_ids should only contain one single element, while for tenant flow, tenant_ids can contain multiple elements.",
           "items": {
             "type": "string"
           },
@@ -663,7 +665,7 @@
       "properties": {
         "options": {
           "$ref": "GetPolicyOptions",
-          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`."
+          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`."
         }
       },
       "type": "object"
@@ -673,7 +675,7 @@
       "id": "GetPolicyOptions",
       "properties": {
         "requestedPolicyVersion": {
-          "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -709,10 +711,12 @@
         },
         "name": {
           "description": "Output only. Unique identifier of the OAuth client.",
+          "readOnly": true,
           "type": "string"
         },
         "secret": {
           "description": "Output only. Client secret of the OAuth client.",
+          "readOnly": true,
           "type": "string"
         }
       },
@@ -744,45 +748,45 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "A token, which can be send as `page_token` to retrieve the next page.\nIf this field is omitted, there are no subsequent pages.",
+          "description": "A token, which can be send as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "OAuthSettings": {
-      "description": "Configuration for OAuth login\u0026consent flow behavior as well as for OAuth\nCredentials.",
+      "description": "Configuration for OAuth login\u0026consent flow behavior as well as for OAuth Credentials.",
       "id": "OAuthSettings",
       "properties": {
         "clientId": {
-          "description": "OAuth 2.0 client ID used in the OAuth flow to generate an access token. If\nthis field is set, you can skip obtaining the OAuth credentials in this\nstep:\nhttps://developers.google.com/identity/protocols/OAuth2?hl=en_US#1.-obtain-oauth-2.0-credentials-from-the-google-api-console.\nHowever, this could allow for client sharing. The risks of client sharing\nare outlined here:\nhttps://cloud.google.com/iap/docs/sharing-oauth-clients#risks.",
+          "description": "OAuth 2.0 client ID used in the OAuth flow to generate an access token. If this field is set, you can skip obtaining the OAuth credentials in this step: https://developers.google.com/identity/protocols/OAuth2?hl=en_US#1.-obtain-oauth-2.0-credentials-from-the-google-api-console. However, this could allow for client sharing. The risks of client sharing are outlined here: https://cloud.google.com/iap/docs/sharing-oauth-clients#risks.",
           "type": "string"
         },
         "loginHint": {
-          "description": "Domain hint to send as hd=? parameter in OAuth request flow. Enables\nredirect to primary IDP by skipping Google's login screen.\nhttps://developers.google.com/identity/protocols/OpenIDConnect#hd-param\nNote: IAP does not verify that the id token's hd claim matches this value\nsince access behavior is managed by IAM policies.",
+          "description": "Domain hint to send as hd=? parameter in OAuth request flow. Enables redirect to primary IDP by skipping Google's login screen. https://developers.google.com/identity/protocols/OpenIDConnect#hd-param Note: IAP does not verify that the id token's hd claim matches this value since access behavior is managed by IAM policies.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\n            \"user:eve@example.com\"\n          ],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "bindings": {
-          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
+          "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.",
           "items": {
             "$ref": "Binding"
           },
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
           "format": "byte",
           "type": "string"
         },
         "version": {
-          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -790,7 +794,7 @@
       "type": "object"
     },
     "PolicyDelegationSettings": {
-      "description": "PolicyDelegationConfig allows google-internal teams to use IAP for apps\nhosted in a tenant project. Using these settings, the app can delegate\npermission check to happen against the linked customer project.\nThis is only ever supposed to be used by google internal teams, hence the\nrestriction on the proto.",
+      "description": "PolicyDelegationConfig allows google-internal teams to use IAP for apps hosted in a tenant project. Using these settings, the app can delegate permission check to happen against the linked customer project. This is only ever supposed to be used by google internal teams, hence the restriction on the proto.",
       "id": "PolicyDelegationSettings",
       "properties": {
         "iamPermission": {
@@ -798,7 +802,7 @@
           "type": "string"
         },
         "iamServiceName": {
-          "description": "The DNS name of the service (e.g. \"resourcemanager.googleapis.com\").\nThis should be the domain name part of the full resource names (see\nhttps://aip.dev/122#full-resource-names), which is usually\nthe same as IamServiceSpec.service of the service where the resource type\nis defined.",
+          "description": "The DNS name of the service (e.g. \"resourcemanager.googleapis.com\"). This should be the domain name part of the full resource names (see https://aip.dev/122#full-resource-names), which is usually the same as IamServiceSpec.service of the service where the resource type is defined.",
           "type": "string"
         },
         "policyName": {
@@ -819,7 +823,7 @@
           "type": "string"
         },
         "region": {
-          "description": "For Cloud IAM:\nThe location of the Policy.\nMust be empty or \"global\" for Policies owned by global IAM.  Must name a\nregion from prodspec/cloud-iam-cloudspec for Regional IAM Policies, see\ngo/iam-faq#where-is-iam-currently-deployed.\n\nFor Local IAM:\nThis field should be set to \"local\".",
+          "description": "For Cloud IAM: The location of the Policy. Must be empty or \"global\" for Policies owned by global IAM. Must name a region from prodspec/cloud-iam-cloudspec for Regional IAM Policies, see go/iam-faq#where-is-iam-currently-deployed. For Local IAM: This field should be set to \"local\".",
           "type": "string"
         },
         "type": {
@@ -842,19 +846,19 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The service defined labels of the resource on which the conditions will be\nevaluated. The semantics - including the key names - are vague to IAM.\nIf the effective condition has a reference to a `resource.labels[foo]`\nconstruct, IAM consults with this map to retrieve the values associated\nwith `foo` key for Conditions evaluation. If the provided key is not found\nin the labels map, the condition would evaluate to false.\n\nThis field is in limited use. If your intended use case is not expected\nto express resource.labels attribute in IAM Conditions, leave this field\nempty. Before planning on using this attribute please:\n* Read go/iam-conditions-labels-comm and ensure your service can meet the\n  data availability and management requirements.\n* Talk to iam-conditions-eng@ about your use case.",
+          "description": "The service defined labels of the resource on which the conditions will be evaluated. The semantics - including the key names - are vague to IAM. If the effective condition has a reference to a `resource.labels[foo]` construct, IAM consults with this map to retrieve the values associated with `foo` key for Conditions evaluation. If the provided key is not found in the labels map, the condition would evaluate to false. This field is in limited use. If your intended use case is not expected to express resource.labels attribute in IAM Conditions, leave this field empty. Before planning on using this attribute please: * Read go/iam-conditions-labels-comm and ensure your service can meet the data availability and management requirements. * Talk to iam-conditions-eng@ about your use case.",
           "type": "object"
         },
         "name": {
-          "description": "Name of the resource on which conditions will be evaluated.\nMust use the Relative Resource Name of the resource, which is the URI\npath of the resource without the leading \"/\". Examples are\n\"projects/_/buckets/[BUCKET-ID]\" for storage buckets or\n\"projects/[PROJECT-ID]/global/firewalls/[FIREWALL-ID]\" for a firewall.\n\nThis field is required for evaluating conditions with rules on resource\nnames. For a `list` permission check, the resource.name value must be set\nto the parent resource. If the parent resource is a project, this field\nshould be left unset.",
+          "description": "Name of the resource on which conditions will be evaluated. Must use the Relative Resource Name of the resource, which is the URI path of the resource without the leading \"/\". Examples are \"projects/_/buckets/[BUCKET-ID]\" for storage buckets or \"projects/[PROJECT-ID]/global/firewalls/[FIREWALL-ID]\" for a firewall. This field is required for evaluating conditions with rules on resource names. For a `list` permission check, the resource.name value must be set to the parent resource. If the parent resource is a project, this field should be left unset.",
           "type": "string"
         },
         "service": {
-          "description": "The name of the service this resource belongs to. It is configured using\nthe official_service_name of the Service as defined in service\nconfigurations under //configs/cloud/resourcetypes.\nFor example, the official_service_name of cloud resource manager service\nis set as 'cloudresourcemanager.googleapis.com' according to\n//configs/cloud/resourcetypes/google/cloud/resourcemanager/prod.yaml",
+          "description": "The name of the service this resource belongs to. It is configured using the official_service_name of the Service as defined in service configurations under //configs/cloud/resourcetypes. For example, the official_service_name of cloud resource manager service is set as 'cloudresourcemanager.googleapis.com' according to //configs/cloud/resourcetypes/google/cloud/resourcemanager/prod.yaml",
           "type": "string"
         },
         "type": {
-          "description": "The public resource type name of the resource on which conditions will be\nevaluated. It is configured using the official_name of the ResourceType as\ndefined in service configurations under //configs/cloud/resourcetypes.\nFor example, the official_name for GCP projects is set as\n'cloudresourcemanager.googleapis.com/Project' according to\n//configs/cloud/resourcetypes/google/cloud/resourcemanager/prod.yaml\nFor details see go/iam-conditions-integration-guide.",
+          "description": "The public resource type name of the resource on which conditions will be evaluated. It is configured using the official_name of the ResourceType as defined in service configurations under //configs/cloud/resourcetypes. For example, the official_name for GCP projects is set as 'cloudresourcemanager.googleapis.com/Project' according to //configs/cloud/resourcetypes/google/cloud/resourcemanager/prod.yaml For details see go/iam-conditions-integration-guide.",
           "type": "string"
         }
       },
@@ -866,7 +870,7 @@
       "properties": {
         "policy": {
           "$ref": "Policy",
-          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
+          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them."
         }
       },
       "type": "object"
@@ -876,7 +880,7 @@
       "id": "TestIamPermissionsRequest",
       "properties": {
         "permissions": {
-          "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
+          "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
           "items": {
             "type": "string"
           },
@@ -890,7 +894,7 @@
       "id": "TestIamPermissionsResponse",
       "properties": {
         "permissions": {
-          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
+          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
           "items": {
             "type": "string"
           },
diff --git a/iap/v1/iap-gen.go b/iap/v1/iap-gen.go
index d199612..ca5d345 100644
--- a/iap/v1/iap-gen.go
+++ b/iap/v1/iap-gen.go
@@ -181,12 +181,9 @@
 }
 
 // AccessDeniedPageSettings: Custom content configuration for access
-// denied page.
-// IAP allows customers to define a custom URI to use as the error page
-// when
-// access is denied to users. If IAP prevents access to this page, the
-// default
-// IAP error page will be displayed instead.
+// denied page. IAP allows customers to define a custom URI to use as
+// the error page when access is denied to users. If IAP prevents access
+// to this page, the default IAP error page will be displayed instead.
 type AccessDeniedPageSettings struct {
 	// AccessDeniedPageUri: The URI to be redirected to when access is
 	// denied.
@@ -229,8 +226,7 @@
 	OauthSettings *OAuthSettings `json:"oauthSettings,omitempty"`
 
 	// PolicyDelegationSettings: Settings to configure Policy delegation for
-	// apps hosted in tenant projects.
-	// INTERNAL_ONLY.
+	// apps hosted in tenant projects. INTERNAL_ONLY.
 	PolicyDelegationSettings *PolicyDelegationSettings `json:"policyDelegationSettings,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CorsSettings") to
@@ -263,8 +259,8 @@
 	AccessDeniedPageSettings *AccessDeniedPageSettings `json:"accessDeniedPageSettings,omitempty"`
 
 	// CookieDomain: The Domain value to set for cookies generated by IAP.
-	// This value is not
-	// validated by the API, but will be ignored at runtime if invalid.
+	// This value is not validated by the API, but will be ignored at
+	// runtime if invalid.
 	CookieDomain string `json:"cookieDomain,omitempty"`
 
 	// CsmSettings: Settings to configure IAP's behavior for a CSM mesh.
@@ -297,95 +293,53 @@
 
 // Binding: Associates `members` with a `role`.
 type Binding struct {
-	// Condition: The condition that is associated with this binding.
-	//
-	// If the condition evaluates to `true`, then this binding applies to
-	// the
-	// current request.
-	//
-	// If the condition evaluates to `false`, then this binding does not
-	// apply to
-	// the current request. However, a different role binding might grant
-	// the same
-	// role to one or more of the members in this binding.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// Condition: The condition that is associated with this binding. If the
+	// condition evaluates to `true`, then this binding applies to the
+	// current request. If the condition evaluates to `false`, then this
+	// binding does not apply to the current request. However, a different
+	// role binding might grant the same role to one or more of the members
+	// in this binding. To learn which resources support conditions in their
+	// IAM policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	Condition *Expr `json:"condition,omitempty"`
 
 	// Members: Specifies the identities requesting access for a Cloud
-	// Platform resource.
-	// `members` can have the following values:
-	//
-	// * `allUsers`: A special identifier that represents anyone who is
-	//    on the internet; with or without a Google account.
-	//
-	// * `allAuthenticatedUsers`: A special identifier that represents
-	// anyone
-	//    who is authenticated with a Google account or a service
-	// account.
-	//
-	// * `user:{emailid}`: An email address that represents a specific
-	// Google
-	//    account. For example, `alice@example.com` .
-	//
-	//
-	// * `serviceAccount:{emailid}`: An email address that represents a
-	// service
-	//    account. For example,
-	// `my-other-app@appspot.gserviceaccount.com`.
-	//
-	// * `group:{emailid}`: An email address that represents a Google
-	// group.
-	//    For example, `admins@example.com`.
-	//
-	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a user that has been recently deleted.
-	// For
-	//    example, `alice@example.com?uid=123456789012345678901`. If the
-	// user is
-	//    recovered, this value reverts to `user:{emailid}` and the
-	// recovered user
-	//    retains the role in the binding.
-	//
-	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
-	// (plus
-	//    unique identifier) representing a service account that has been
-	// recently
-	//    deleted. For example,
-	//
+	// Platform resource. `members` can have the following values: *
+	// `allUsers`: A special identifier that represents anyone who is on the
+	// internet; with or without a Google account. *
+	// `allAuthenticatedUsers`: A special identifier that represents anyone
+	// who is authenticated with a Google account or a service account. *
+	// `user:{emailid}`: An email address that represents a specific Google
+	// account. For example, `alice@example.com` . *
+	// `serviceAccount:{emailid}`: An email address that represents a
+	// service account. For example,
+	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
+	// email address that represents a Google group. For example,
+	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
+	// email address (plus unique identifier) representing a user that has
+	// been recently deleted. For example,
+	// `alice@example.com?uid=123456789012345678901`. If the user is
+	// recovered, this value reverts to `user:{emailid}` and the recovered
+	// user retains the role in the binding. *
+	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
+	// (plus unique identifier) representing a service account that has been
+	// recently deleted. For example,
 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
-	//
-	//    If the service account is undeleted, this value reverts to
-	//    `serviceAccount:{emailid}` and the undeleted service account
-	// retains the
-	//    role in the binding.
-	//
-	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a Google group that has been recently
-	//    deleted. For example,
-	// `admins@example.com?uid=123456789012345678901`. If
-	//    the group is recovered, this value reverts to `group:{emailid}`
-	// and the
-	//    recovered group retains the role in the binding.
-	//
-	//
-	// * `domain:{domain}`: The G Suite domain (primary) that represents all
-	// the
-	//    users of that domain. For example, `google.com` or
-	// `example.com`.
-	//
-	//
+	// If the service account is undeleted, this value reverts to
+	// `serviceAccount:{emailid}` and the undeleted service account retains
+	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
+	// An email address (plus unique identifier) representing a Google group
+	// that has been recently deleted. For example,
+	// `admins@example.com?uid=123456789012345678901`. If the group is
+	// recovered, this value reverts to `group:{emailid}` and the recovered
+	// group retains the role in the binding. * `domain:{domain}`: The G
+	// Suite domain (primary) that represents all the users of that domain.
+	// For example, `google.com` or `example.com`.
 	Members []string `json:"members,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`.
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -411,21 +365,19 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// Brand: OAuth brand data.
-// NOTE: Only contains a portion of the data that describes a brand.
+// Brand: OAuth brand data. NOTE: Only contains a portion of the data
+// that describes a brand.
 type Brand struct {
 	// ApplicationTitle: Application name displayed on OAuth consent screen.
 	ApplicationTitle string `json:"applicationTitle,omitempty"`
 
-	// Name: Output only. Identifier of the brand.
-	// NOTE: GCP project number achieves the same brand identification
-	// purpose as
-	// only one brand per project can be created.
+	// Name: Output only. Identifier of the brand. NOTE: GCP project number
+	// achieves the same brand identification purpose as only one brand per
+	// project can be created.
 	Name string `json:"name,omitempty"`
 
 	// OrgInternalOnly: Output only. Whether the brand is only intended for
-	// usage inside the
-	// G Suite organization only.
+	// usage inside the G Suite organization only.
 	OrgInternalOnly bool `json:"orgInternalOnly,omitempty"`
 
 	// SupportEmail: Support email displayed on the OAuth consent screen.
@@ -460,12 +412,12 @@
 }
 
 // CorsSettings: Allows customers to configure HTTP request paths
-// that'll allow HTTP OPTIONS
-// call to bypass authentication and authorization.
+// that'll allow HTTP OPTIONS call to bypass authentication and
+// authorization.
 type CorsSettings struct {
 	// AllowHttpOptions: Configuration to allow HTTP OPTIONS calls to skip
-	// authorization. If
-	// undefined, IAP will not apply any special logic to OPTIONS requests.
+	// authorization. If undefined, IAP will not apply any special logic to
+	// OPTIONS requests.
 	AllowHttpOptions bool `json:"allowHttpOptions,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AllowHttpOptions") to
@@ -493,16 +445,13 @@
 }
 
 // CsmSettings: Configuration for RCTokens generated for CSM workloads
-// protected by IAP.
-// RCTokens are IAP generated JWTs that can be verified at the
-// application. The
-// RCToken is primarily used for ISTIO deployments, and can be scoped to
-// a
-// single mesh by configuring the audience field accordingly
+// protected by IAP. RCTokens are IAP generated JWTs that can be
+// verified at the application. The RCToken is primarily used for ISTIO
+// deployments, and can be scoped to a single mesh by configuring the
+// audience field accordingly
 type CsmSettings struct {
 	// RctokenAud: Audience claim set in the generated RCToken. This value
-	// is not validated by
-	// IAP.
+	// is not validated by IAP.
 	RctokenAud string `json:"rctokenAud,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "RctokenAud") to
@@ -529,17 +478,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -547,65 +490,40 @@
 }
 
 // Expr: Represents a textual expression in the Common Expression
-// Language (CEL)
-// syntax. CEL is a C-like expression language. The syntax and semantics
-// of CEL
-// are documented at https://github.com/google/cel-spec.
-//
-// Example (Comparison):
-//
-//     title: "Summary size limit"
-//     description: "Determines if a summary is less than 100 chars"
-//     expression: "document.summary.size() < 100"
-//
-// Example (Equality):
-//
-//     title: "Requestor is owner"
-//     description: "Determines if requestor is the document owner"
-//     expression: "document.owner ==
-// request.auth.claims.email"
-//
-// Example (Logic):
-//
-//     title: "Public documents"
-//     description: "Determine whether the document should be publicly
-// visible"
-//     expression: "document.type != 'private' && document.type !=
-// 'internal'"
-//
-// Example (Data Manipulation):
-//
-//     title: "Notification string"
-//     description: "Create a notification string with a timestamp."
-//     expression: "'New message received at ' +
-// string(document.create_time)"
-//
-// The exact variables and functions that may be referenced within an
-// expression
-// are determined by the service that evaluates it. See the
-// service
-// documentation for additional information.
+// Language (CEL) syntax. CEL is a C-like expression language. The
+// syntax and semantics of CEL are documented at
+// https://github.com/google/cel-spec. Example (Comparison): title:
+// "Summary size limit" description: "Determines if a summary is less
+// than 100 chars" expression: "document.summary.size() < 100" Example
+// (Equality): title: "Requestor is owner" description: "Determines if
+// requestor is the document owner" expression: "document.owner ==
+// request.auth.claims.email" Example (Logic): title: "Public documents"
+// description: "Determine whether the document should be publicly
+// visible" expression: "document.type != 'private' && document.type !=
+// 'internal'" Example (Data Manipulation): title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' +
+// string(document.create_time)" The exact variables and functions that
+// may be referenced within an expression are determined by the service
+// that evaluates it. See the service documentation for additional
+// information.
 type Expr struct {
 	// Description: Optional. Description of the expression. This is a
-	// longer text which
-	// describes the expression, e.g. when hovered over it in a UI.
+	// longer text which describes the expression, e.g. when hovered over it
+	// in a UI.
 	Description string `json:"description,omitempty"`
 
 	// Expression: Textual representation of an expression in Common
-	// Expression Language
-	// syntax.
+	// Expression Language syntax.
 	Expression string `json:"expression,omitempty"`
 
 	// Location: Optional. String indicating the location of the expression
-	// for error
-	// reporting, e.g. a file name and a position in the file.
+	// for error reporting, e.g. a file name and a position in the file.
 	Location string `json:"location,omitempty"`
 
 	// Title: Optional. Title for the expression, i.e. a short string
-	// describing
-	// its purpose. This can be used e.g. in UIs which allow to enter
-	// the
-	// expression.
+	// describing its purpose. This can be used e.g. in UIs which allow to
+	// enter the expression.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -634,23 +552,17 @@
 // GcipSettings: Allows customers to configure tenant_id for GCIP
 // instance per-app.
 type GcipSettings struct {
-	// LoginPageUri: Login page URI associated with the GCIP
-	// tenants.
+	// LoginPageUri: Login page URI associated with the GCIP tenants.
 	// Typically, all resources within the same project share the same login
-	// page,
-	// though it could be overridden at the sub resource level.
+	// page, though it could be overridden at the sub resource level.
 	LoginPageUri string `json:"loginPageUri,omitempty"`
 
-	// TenantIds: GCIP tenant ids that are linked to the IAP
-	// resource.
+	// TenantIds: GCIP tenant ids that are linked to the IAP resource.
 	// tenant_ids could be a string beginning with a number character to
-	// indicate
-	// authenticating with GCIP tenant flow, or in the format of
-	// _<ProjectNumber>
-	// to indicate authenticating with GCIP agent flow.
-	// If agent flow is used, tenant_ids should only contain one single
-	// element,
-	// while for tenant flow, tenant_ids can contain multiple elements.
+	// indicate authenticating with GCIP tenant flow, or in the format of _
+	// to indicate authenticating with GCIP agent flow. If agent flow is
+	// used, tenant_ids should only contain one single element, while for
+	// tenant flow, tenant_ids can contain multiple elements.
 	TenantIds []string `json:"tenantIds,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "LoginPageUri") to
@@ -679,8 +591,7 @@
 // GetIamPolicyRequest: Request message for `GetIamPolicy` method.
 type GetIamPolicyRequest struct {
 	// Options: OPTIONAL: A `GetPolicyOptions` object for specifying options
-	// to
-	// `GetIamPolicy`.
+	// to `GetIamPolicy`.
 	Options *GetPolicyOptions `json:"options,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Options") to
@@ -709,24 +620,14 @@
 // GetPolicyOptions: Encapsulates settings provided to GetIamPolicy.
 type GetPolicyOptions struct {
 	// RequestedPolicyVersion: Optional. The policy format version to be
-	// returned.
-	//
-	// Valid values are 0, 1, and 3. Requests specifying an invalid value
-	// will be
-	// rejected.
-	//
-	// Requests for policies with any conditional bindings must specify
-	// version 3.
-	// Policies without any conditional bindings may specify any valid value
-	// or
-	// leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// returned. Valid values are 0, 1, and 3. Requests specifying an
+	// invalid value will be rejected. Requests for policies with any
+	// conditional bindings must specify version 3. Policies without any
+	// conditional bindings may specify any valid value or leave the field
+	// unset. To learn which resources support conditions in their IAM
+	// policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	RequestedPolicyVersion int64 `json:"requestedPolicyVersion,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -873,8 +774,8 @@
 	IdentityAwareProxyClients []*IdentityAwareProxyClient `json:"identityAwareProxyClients,omitempty"`
 
 	// NextPageToken: A token, which can be send as `page_token` to retrieve
-	// the next page.
-	// If this field is omitted, there are no subsequent pages.
+	// the next page. If this field is omitted, there are no subsequent
+	// pages.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -907,33 +808,20 @@
 }
 
 // OAuthSettings: Configuration for OAuth login&consent flow behavior as
-// well as for OAuth
-// Credentials.
+// well as for OAuth Credentials.
 type OAuthSettings struct {
 	// ClientId: OAuth 2.0 client ID used in the OAuth flow to generate an
-	// access token. If
-	// this field is set, you can skip obtaining the OAuth credentials in
-	// this
-	// step:
-	// https://developers.google.com/identity/protocols/OAuth2?hl=
-	// en_US#1.-obtain-oauth-2.0-credentials-from-the-google-api-console.
-	// How
-	// ever, this could allow for client sharing. The risks of client
-	// sharing
-	// are outlined
-	// here:
+	// access token. If this field is set, you can skip obtaining the OAuth
+	// credentials in this step:
+	// https://developers.google.com/identity/protocols/OAuth2?hl=en_US#1.-obtain-oauth-2.0-credentials-from-the-google-api-console. However, this could allow for client sharing. The risks of client sharing are outlined here:
 	// https://cloud.google.com/iap/docs/sharing-oauth-clients#risks.
 	ClientId string `json:"clientId,omitempty"`
 
 	// LoginHint: Domain hint to send as hd=? parameter in OAuth request
-	// flow. Enables
-	// redirect to primary IDP by skipping Google's login
+	// flow. Enables redirect to primary IDP by skipping Google's login
 	// screen.
-	// https://developers.google.com/identity/protocols/OpenIDConnect
-	// #hd-param
-	// Note: IAP does not verify that the id token's hd claim matches this
-	// value
-	// since access behavior is managed by IAM policies.
+	// https://developers.google.com/identity/protocols/OpenIDConnect#hd-param Note: IAP does not verify that the id token's hd claim matches this value since access behavior is managed by IAM
+	// policies.
 	LoginHint string `json:"loginHint,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ClientId") to
@@ -960,150 +848,73 @@
 }
 
 // Policy: An Identity and Access Management (IAM) policy, which
-// specifies access
-// controls for Google Cloud resources.
-//
-//
-// A `Policy` is a collection of `bindings`. A `binding` binds one or
-// more
-// `members` to a single `role`. Members can be user accounts, service
-// accounts,
+// specifies access controls for Google Cloud resources. A `Policy` is a
+// collection of `bindings`. A `binding` binds one or more `members` to
+// a single `role`. Members can be user accounts, service accounts,
 // Google groups, and domains (such as G Suite). A `role` is a named
-// list of
-// permissions; each `role` can be an IAM predefined role or a
-// user-created
-// custom role.
-//
-// For some types of Google Cloud resources, a `binding` can also
-// specify a
-// `condition`, which is a logical expression that allows access to a
-// resource
-// only if the expression evaluates to `true`. A condition can add
-// constraints
-// based on attributes of the request, the resource, or both. To learn
-// which
-// resources support conditions in their IAM policies, see the
-// [IAM
+// list of permissions; each `role` can be an IAM predefined role or a
+// user-created custom role. For some types of Google Cloud resources, a
+// `binding` can also specify a `condition`, which is a logical
+// expression that allows access to a resource only if the expression
+// evaluates to `true`. A condition can add constraints based on
+// attributes of the request, the resource, or both. To learn which
+// resources support conditions in their IAM policies, see the [IAM
 // documentation](https://cloud.google.com/iam/help/conditions/resource-p
-// olicies).
-//
-// **JSON example:**
-//
-//     {
-//       "bindings": [
-//         {
-//           "role": "roles/resourcemanager.organizationAdmin",
-//           "members": [
-//             "user:mike@example.com",
-//             "group:admins@example.com",
-//             "domain:google.com",
-//
-// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
-//           ]
-//         },
-//         {
-//           "role": "roles/resourcemanager.organizationViewer",
-//           "members": [
-//             "user:eve@example.com"
-//           ],
-//           "condition": {
-//             "title": "expirable access",
-//             "description": "Does not grant access after Sep 2020",
-//             "expression": "request.time <
-// timestamp('2020-10-01T00:00:00.000Z')",
-//           }
-//         }
-//       ],
-//       "etag": "BwWWja0YfJA=",
-//       "version": 3
-//     }
-//
-// **YAML example:**
-//
-//     bindings:
-//     - members:
-//       - user:mike@example.com
-//       - group:admins@example.com
-//       - domain:google.com
-//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
-//       role: roles/resourcemanager.organizationAdmin
-//     - members:
-//       - user:eve@example.com
-//       role: roles/resourcemanager.organizationViewer
-//       condition:
-//         title: expirable access
-//         description: Does not grant access after Sep 2020
-//         expression: request.time <
-// timestamp('2020-10-01T00:00:00.000Z')
-//     - etag: BwWWja0YfJA=
-//     - version: 3
-//
-// For a description of IAM and its features, see the
-// [IAM documentation](https://cloud.google.com/iam/docs/).
+// olicies). **JSON example:** { "bindings": [ { "role":
+// "roles/resourcemanager.organizationAdmin", "members": [
+// "user:mike@example.com", "group:admins@example.com",
+// "domain:google.com",
+// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
+// "role": "roles/resourcemanager.organizationViewer", "members": [
+// "user:eve@example.com" ], "condition": { "title": "expirable access",
+// "description": "Does not grant access after Sep 2020", "expression":
+// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
+// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
+// members: - user:mike@example.com - group:admins@example.com -
+// domain:google.com -
+// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
+// roles/resourcemanager.organizationAdmin - members: -
+// user:eve@example.com role: roles/resourcemanager.organizationViewer
+// condition: title: expirable access description: Does not grant access
+// after Sep 2020 expression: request.time <
+// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
+// 3 For a description of IAM and its features, see the [IAM
+// documentation](https://cloud.google.com/iam/docs/).
 type Policy struct {
 	// Bindings: Associates a list of `members` to a `role`. Optionally, may
-	// specify a
-	// `condition` that determines how and when the `bindings` are applied.
-	// Each
-	// of the `bindings` must contain at least one member.
+	// specify a `condition` that determines how and when the `bindings` are
+	// applied. Each of the `bindings` must contain at least one member.
 	Bindings []*Binding `json:"bindings,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a policy from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform policy updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `getIamPolicy`,
-	// and
-	// systems are expected to put that etag in the request to
-	// `setIamPolicy` to
-	// ensure that their change will be applied to the same version of the
-	// policy.
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
+	// help prevent simultaneous updates of a policy from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform policy updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `getIamPolicy`, and systems are expected to put that etag in the
+	// request to `setIamPolicy` to ensure that their change will be applied
+	// to the same version of the policy. **Important:** If you use IAM
+	// Conditions, you must include the `etag` field whenever you call
+	// `setIamPolicy`. If you omit this field, then IAM allows you to
+	// overwrite a version `3` policy with a version `1` policy, and all of
 	// the conditions in the version `3` policy are lost.
 	Etag string `json:"etag,omitempty"`
 
-	// Version: Specifies the format of the policy.
-	//
-	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
-	// value
-	// are rejected.
-	//
+	// Version: Specifies the format of the policy. Valid values are `0`,
+	// `1`, and `3`. Requests that specify an invalid value are rejected.
 	// Any operation that affects conditional role bindings must specify
-	// version
-	// `3`. This requirement applies to the following operations:
-	//
-	// * Getting a policy that includes a conditional role binding
-	// * Adding a conditional role binding to a policy
-	// * Changing a conditional role binding in a policy
-	// * Removing any role binding, with or without a condition, from a
-	// policy
-	//   that includes conditions
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
-	// the conditions in the version `3` policy are lost.
-	//
-	// If a policy does not include any conditions, operations on that
-	// policy may
-	// specify any valid version or leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see the
-	// [IAM
+	// version `3`. This requirement applies to the following operations: *
+	// Getting a policy that includes a conditional role binding * Adding a
+	// conditional role binding to a policy * Changing a conditional role
+	// binding in a policy * Removing any role binding, with or without a
+	// condition, from a policy that includes conditions **Important:** If
+	// you use IAM Conditions, you must include the `etag` field whenever
+	// you call `setIamPolicy`. If you omit this field, then IAM allows you
+	// to overwrite a version `3` policy with a version `1` policy, and all
+	// of the conditions in the version `3` policy are lost. If a policy
+	// does not include any conditions, operations on that policy may
+	// specify any valid version or leave the field unset. To learn which
+	// resources support conditions in their IAM policies, see the [IAM
 	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
 	// olicies).
 	Version int64 `json:"version,omitempty"`
@@ -1136,25 +947,20 @@
 }
 
 // PolicyDelegationSettings: PolicyDelegationConfig allows
-// google-internal teams to use IAP for apps
-// hosted in a tenant project. Using these settings, the app can
-// delegate
-// permission check to happen against the linked customer project.
-// This is only ever supposed to be used by google internal teams, hence
-// the
-// restriction on the proto.
+// google-internal teams to use IAP for apps hosted in a tenant project.
+// Using these settings, the app can delegate permission check to happen
+// against the linked customer project. This is only ever supposed to be
+// used by google internal teams, hence the restriction on the proto.
 type PolicyDelegationSettings struct {
 	// IamPermission: Permission to check in IAM.
 	IamPermission string `json:"iamPermission,omitempty"`
 
 	// IamServiceName: The DNS name of the service (e.g.
-	// "resourcemanager.googleapis.com").
-	// This should be the domain name part of the full resource names
-	// (see
-	// https://aip.dev/122#full-resource-names), which is usually
-	// the same as IamServiceSpec.service of the service where the resource
-	// type
-	// is defined.
+	// "resourcemanager.googleapis.com"). This should be the domain name
+	// part of the full resource names (see
+	// https://aip.dev/122#full-resource-names), which is usually the same
+	// as IamServiceSpec.service of the service where the resource type is
+	// defined.
 	IamServiceName string `json:"iamServiceName,omitempty"`
 
 	// PolicyName: Policy name to be checked
@@ -1189,16 +995,11 @@
 type PolicyName struct {
 	Id string `json:"id,omitempty"`
 
-	// Region: For Cloud IAM:
-	// The location of the Policy.
-	// Must be empty or "global" for Policies owned by global IAM.  Must
-	// name a
-	// region from prodspec/cloud-iam-cloudspec for Regional IAM Policies,
-	// see
-	// go/iam-faq#where-is-iam-currently-deployed.
-	//
-	// For Local IAM:
-	// This field should be set to "local".
+	// Region: For Cloud IAM: The location of the Policy. Must be empty or
+	// "global" for Policies owned by global IAM. Must name a region from
+	// prodspec/cloud-iam-cloudspec for Regional IAM Policies, see
+	// go/iam-faq#where-is-iam-currently-deployed. For Local IAM: This field
+	// should be set to "local".
 	Region string `json:"region,omitempty"`
 
 	// Type: Valid values for type might be 'gce', 'gcs', 'project',
@@ -1235,73 +1036,45 @@
 
 type Resource struct {
 	// Labels: The service defined labels of the resource on which the
-	// conditions will be
-	// evaluated. The semantics - including the key names - are vague to
-	// IAM.
-	// If the effective condition has a reference to a
-	// `resource.labels[foo]`
-	// construct, IAM consults with this map to retrieve the values
-	// associated
-	// with `foo` key for Conditions evaluation. If the provided key is not
-	// found
-	// in the labels map, the condition would evaluate to false.
-	//
-	// This field is in limited use. If your intended use case is not
-	// expected
-	// to express resource.labels attribute in IAM Conditions, leave this
-	// field
-	// empty. Before planning on using this attribute please:
-	// * Read go/iam-conditions-labels-comm and ensure your service can meet
-	// the
-	//   data availability and management requirements.
-	// * Talk to iam-conditions-eng@ about your use case.
+	// conditions will be evaluated. The semantics - including the key names
+	// - are vague to IAM. If the effective condition has a reference to a
+	// `resource.labels[foo]` construct, IAM consults with this map to
+	// retrieve the values associated with `foo` key for Conditions
+	// evaluation. If the provided key is not found in the labels map, the
+	// condition would evaluate to false. This field is in limited use. If
+	// your intended use case is not expected to express resource.labels
+	// attribute in IAM Conditions, leave this field empty. Before planning
+	// on using this attribute please: * Read go/iam-conditions-labels-comm
+	// and ensure your service can meet the data availability and management
+	// requirements. * Talk to iam-conditions-eng@ about your use case.
 	Labels map[string]string `json:"labels,omitempty"`
 
-	// Name: Name of the resource on which conditions will be
-	// evaluated.
-	// Must use the Relative Resource Name of the resource, which is the
-	// URI
-	// path of the resource without the leading "/". Examples
-	// are
-	// "projects/_/buckets/[BUCKET-ID]" for storage buckets
-	// or
+	// Name: Name of the resource on which conditions will be evaluated.
+	// Must use the Relative Resource Name of the resource, which is the URI
+	// path of the resource without the leading "/". Examples are
+	// "projects/_/buckets/[BUCKET-ID]" for storage buckets or
 	// "projects/[PROJECT-ID]/global/firewalls/[FIREWALL-ID]" for a
-	// firewall.
-	//
-	// This field is required for evaluating conditions with rules on
-	// resource
-	// names. For a `list` permission check, the resource.name value must be
-	// set
-	// to the parent resource. If the parent resource is a project, this
-	// field
-	// should be left unset.
+	// firewall. This field is required for evaluating conditions with rules
+	// on resource names. For a `list` permission check, the resource.name
+	// value must be set to the parent resource. If the parent resource is a
+	// project, this field should be left unset.
 	Name string `json:"name,omitempty"`
 
 	// Service: The name of the service this resource belongs to. It is
-	// configured using
-	// the official_service_name of the Service as defined in
-	// service
-	// configurations under //configs/cloud/resourcetypes.
-	// For example, the official_service_name of cloud resource manager
-	// service
-	// is set as 'cloudresourcemanager.googleapis.com' according
-	// to
-	// //configs/cloud/resourcetypes/google/cloud/resourcemanager/prod.yam
-	// l
+	// configured using the official_service_name of the Service as defined
+	// in service configurations under //configs/cloud/resourcetypes. For
+	// example, the official_service_name of cloud resource manager service
+	// is set as 'cloudresourcemanager.googleapis.com' according to
+	// //configs/cloud/resourcetypes/google/cloud/resourcemanager/prod.yaml
 	Service string `json:"service,omitempty"`
 
 	// Type: The public resource type name of the resource on which
-	// conditions will be
-	// evaluated. It is configured using the official_name of the
-	// ResourceType as
-	// defined in service configurations under
-	// //configs/cloud/resourcetypes.
-	// For example, the official_name for GCP projects is set
-	// as
-	// 'cloudresourcemanager.googleapis.com/Project' according
-	// to
-	// //configs/cloud/resourcetypes/google/cloud/resourcemanager/prod.yam
-	// l
+	// conditions will be evaluated. It is configured using the
+	// official_name of the ResourceType as defined in service
+	// configurations under //configs/cloud/resourcetypes. For example, the
+	// official_name for GCP projects is set as
+	// 'cloudresourcemanager.googleapis.com/Project' according to
+	// //configs/cloud/resourcetypes/google/cloud/resourcemanager/prod.yaml
 	// For details see go/iam-conditions-integration-guide.
 	Type string `json:"type,omitempty"`
 
@@ -1331,11 +1104,9 @@
 // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
 type SetIamPolicyRequest struct {
 	// Policy: REQUIRED: The complete policy to be applied to the
-	// `resource`. The size of
-	// the policy is limited to a few 10s of KB. An empty policy is a
-	// valid policy but certain Cloud Platform services (such as
-	// Projects)
-	// might reject them.
+	// `resource`. The size of the policy is limited to a few 10s of KB. An
+	// empty policy is a valid policy but certain Cloud Platform services
+	// (such as Projects) might reject them.
 	Policy *Policy `json:"policy,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Policy") to
@@ -1365,11 +1136,8 @@
 // method.
 type TestIamPermissionsRequest struct {
 	// Permissions: The set of permissions to check for the `resource`.
-	// Permissions with
-	// wildcards (such as '*' or 'storage.*') are not allowed. For
-	// more
-	// information see
-	// [IAM
+	// Permissions with wildcards (such as '*' or 'storage.*') are not
+	// allowed. For more information see [IAM
 	// Overview](https://cloud.google.com/iam/docs/overview#permissions).
 	Permissions []string `json:"permissions,omitempty"`
 
@@ -1400,8 +1168,7 @@
 // method.
 type TestIamPermissionsResponse struct {
 	// Permissions: A subset of `TestPermissionsRequest.permissions` that
-	// the caller is
-	// allowed.
+	// the caller is allowed.
 	Permissions []string `json:"permissions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1443,18 +1210,13 @@
 }
 
 // Create: Constructs a new OAuth brand for the project if one does not
-// exist.
-// The created brand is "internal only", meaning that OAuth clients
-// created
-// under it only accept requests from users who belong to the same G
-// Suite
-// organization as the project. The brand is created in an un-reviewed
-// status.
-// NOTE: The "internal only" status can be manually changed in the
-// Google
-// Cloud console. Requires that a brand does not already exist for
-// the
-// project, and that the specified support email is owned by the caller.
+// exist. The created brand is "internal only", meaning that OAuth
+// clients created under it only accept requests from users who belong
+// to the same G Suite organization as the project. The brand is created
+// in an un-reviewed status. NOTE: The "internal only" status can be
+// manually changed in the Google Cloud console. Requires that a brand
+// does not already exist for the project, and that the specified
+// support email is owned by the caller.
 func (r *ProjectsBrandsService) Create(parent string, brand *Brand) *ProjectsBrandsCreateCall {
 	c := &ProjectsBrandsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -1489,7 +1251,7 @@
 
 func (c *ProjectsBrandsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1553,7 +1315,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Constructs a new OAuth brand for the project if one does not exist.\nThe created brand is \"internal only\", meaning that OAuth clients created\nunder it only accept requests from users who belong to the same G Suite\norganization as the project. The brand is created in an un-reviewed status.\nNOTE: The \"internal only\" status can be manually changed in the Google\nCloud console. Requires that a brand does not already exist for the\nproject, and that the specified support email is owned by the caller.",
+	//   "description": "Constructs a new OAuth brand for the project if one does not exist. The created brand is \"internal only\", meaning that OAuth clients created under it only accept requests from users who belong to the same G Suite organization as the project. The brand is created in an un-reviewed status. NOTE: The \"internal only\" status can be manually changed in the Google Cloud console. Requires that a brand does not already exist for the project, and that the specified support email is owned by the caller.",
 	//   "flatPath": "v1/projects/{projectsId}/brands",
 	//   "httpMethod": "POST",
 	//   "id": "iap.projects.brands.create",
@@ -1562,7 +1324,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. GCP Project number/id under which the brand is to be created.\nIn the following format: projects/{project_number/id}.",
+	//       "description": "Required. GCP Project number/id under which the brand is to be created. In the following format: projects/{project_number/id}.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -1638,7 +1400,7 @@
 
 func (c *ProjectsBrandsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1709,7 +1471,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. Name of the brand to be fetched.\nIn the following format: projects/{project_number/id}/brands/{brand}.",
+	//       "description": "Required. Name of the brand to be fetched. In the following format: projects/{project_number/id}/brands/{brand}.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/brands/[^/]+$",
 	//       "required": true,
@@ -1782,7 +1544,7 @@
 
 func (c *ProjectsBrandsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1853,7 +1615,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. GCP Project number/id.\nIn the following format: projects/{project_number/id}.",
+	//       "description": "Required. GCP Project number/id. In the following format: projects/{project_number/id}.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -1883,10 +1645,8 @@
 }
 
 // Create: Creates an Identity Aware Proxy (IAP) OAuth client. The
-// client is owned
-// by IAP. Requires that the brand for the project exists and that it
-// is
-// set for internal-only use.
+// client is owned by IAP. Requires that the brand for the project
+// exists and that it is set for internal-only use.
 func (r *ProjectsBrandsIdentityAwareProxyClientsService) Create(parent string, identityawareproxyclient *IdentityAwareProxyClient) *ProjectsBrandsIdentityAwareProxyClientsCreateCall {
 	c := &ProjectsBrandsIdentityAwareProxyClientsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -1921,7 +1681,7 @@
 
 func (c *ProjectsBrandsIdentityAwareProxyClientsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1985,7 +1745,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates an Identity Aware Proxy (IAP) OAuth client. The client is owned\nby IAP. Requires that the brand for the project exists and that it is\nset for internal-only use.",
+	//   "description": "Creates an Identity Aware Proxy (IAP) OAuth client. The client is owned by IAP. Requires that the brand for the project exists and that it is set for internal-only use.",
 	//   "flatPath": "v1/projects/{projectsId}/brands/{brandsId}/identityAwareProxyClients",
 	//   "httpMethod": "POST",
 	//   "id": "iap.projects.brands.identityAwareProxyClients.create",
@@ -1994,7 +1754,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. Path to create the client in.\nIn the following format:\nprojects/{project_number/id}/brands/{brand}.\nThe project must belong to a G Suite account.",
+	//       "description": "Required. Path to create the client in. In the following format: projects/{project_number/id}/brands/{brand}. The project must belong to a G Suite account.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/brands/[^/]+$",
 	//       "required": true,
@@ -2026,10 +1786,9 @@
 }
 
 // Delete: Deletes an Identity Aware Proxy (IAP) OAuth client. Useful
-// for removing
-// obsolete clients, managing the number of clients in a given project,
-// and
-// cleaning up after tests. Requires that the client is owned by IAP.
+// for removing obsolete clients, managing the number of clients in a
+// given project, and cleaning up after tests. Requires that the client
+// is owned by IAP.
 func (r *ProjectsBrandsIdentityAwareProxyClientsService) Delete(name string) *ProjectsBrandsIdentityAwareProxyClientsDeleteCall {
 	c := &ProjectsBrandsIdentityAwareProxyClientsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -2063,7 +1822,7 @@
 
 func (c *ProjectsBrandsIdentityAwareProxyClientsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2122,7 +1881,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes an Identity Aware Proxy (IAP) OAuth client. Useful for removing\nobsolete clients, managing the number of clients in a given project, and\ncleaning up after tests. Requires that the client is owned by IAP.",
+	//   "description": "Deletes an Identity Aware Proxy (IAP) OAuth client. Useful for removing obsolete clients, managing the number of clients in a given project, and cleaning up after tests. Requires that the client is owned by IAP.",
 	//   "flatPath": "v1/projects/{projectsId}/brands/{brandsId}/identityAwareProxyClients/{identityAwareProxyClientsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "iap.projects.brands.identityAwareProxyClients.delete",
@@ -2131,7 +1890,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. Name of the Identity Aware Proxy client to be deleted.\nIn the following format:\nprojects/{project_number/id}/brands/{brand}/identityAwareProxyClients/{client_id}.",
+	//       "description": "Required. Name of the Identity Aware Proxy client to be deleted. In the following format: projects/{project_number/id}/brands/{brand}/identityAwareProxyClients/{client_id}.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/brands/[^/]+/identityAwareProxyClients/[^/]+$",
 	//       "required": true,
@@ -2160,8 +1919,8 @@
 	header_      http.Header
 }
 
-// Get: Retrieves an Identity Aware Proxy (IAP) OAuth client.
-// Requires that the client is owned by IAP.
+// Get: Retrieves an Identity Aware Proxy (IAP) OAuth client. Requires
+// that the client is owned by IAP.
 func (r *ProjectsBrandsIdentityAwareProxyClientsService) Get(name string) *ProjectsBrandsIdentityAwareProxyClientsGetCall {
 	c := &ProjectsBrandsIdentityAwareProxyClientsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -2205,7 +1964,7 @@
 
 func (c *ProjectsBrandsIdentityAwareProxyClientsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2267,7 +2026,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Retrieves an Identity Aware Proxy (IAP) OAuth client.\nRequires that the client is owned by IAP.",
+	//   "description": "Retrieves an Identity Aware Proxy (IAP) OAuth client. Requires that the client is owned by IAP.",
 	//   "flatPath": "v1/projects/{projectsId}/brands/{brandsId}/identityAwareProxyClients/{identityAwareProxyClientsId}",
 	//   "httpMethod": "GET",
 	//   "id": "iap.projects.brands.identityAwareProxyClients.get",
@@ -2276,7 +2035,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. Name of the Identity Aware Proxy client to be fetched.\nIn the following format:\nprojects/{project_number/id}/brands/{brand}/identityAwareProxyClients/{client_id}.",
+	//       "description": "Required. Name of the Identity Aware Proxy client to be fetched. In the following format: projects/{project_number/id}/brands/{brand}/identityAwareProxyClients/{client_id}.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/brands/[^/]+/identityAwareProxyClients/[^/]+$",
 	//       "required": true,
@@ -2313,24 +2072,19 @@
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
-// of clients to return. The service may return fewer than
-// this value.
-// If unspecified, at most 100 clients will be returned.
-// The maximum value is 1000; values above 1000 will be coerced to 1000.
+// of clients to return. The service may return fewer than this value.
+// If unspecified, at most 100 clients will be returned. The maximum
+// value is 1000; values above 1000 will be coerced to 1000.
 func (c *ProjectsBrandsIdentityAwareProxyClientsListCall) PageSize(pageSize int64) *ProjectsBrandsIdentityAwareProxyClientsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": A page token,
-// received from a previous `ListIdentityAwareProxyClients`
-// call. Provide this to retrieve the subsequent page.
-//
-// When paginating, all other parameters provided
-// to
-// `ListIdentityAwareProxyClients` must match the call that provided the
-// page
-// token.
+// received from a previous `ListIdentityAwareProxyClients` call.
+// Provide this to retrieve the subsequent page. When paginating, all
+// other parameters provided to `ListIdentityAwareProxyClients` must
+// match the call that provided the page token.
 func (c *ProjectsBrandsIdentityAwareProxyClientsListCall) PageToken(pageToken string) *ProjectsBrandsIdentityAwareProxyClientsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -2373,7 +2127,7 @@
 
 func (c *ProjectsBrandsIdentityAwareProxyClientsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2445,18 +2199,18 @@
 	//   ],
 	//   "parameters": {
 	//     "pageSize": {
-	//       "description": "The maximum number of clients to return. The service may return fewer than\nthis value.\nIf unspecified, at most 100 clients will be returned.\nThe maximum value is 1000; values above 1000 will be coerced to 1000.",
+	//       "description": "The maximum number of clients to return. The service may return fewer than this value. If unspecified, at most 100 clients will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "A page token, received from a previous `ListIdentityAwareProxyClients`\ncall. Provide this to retrieve the subsequent page.\n\nWhen paginating, all other parameters provided to\n`ListIdentityAwareProxyClients` must match the call that provided the page\ntoken.",
+	//       "description": "A page token, received from a previous `ListIdentityAwareProxyClients` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListIdentityAwareProxyClients` must match the call that provided the page token.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. Full brand path.\nIn the following format: projects/{project_number/id}/brands/{brand}.",
+	//       "description": "Required. Full brand path. In the following format: projects/{project_number/id}/brands/{brand}.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/brands/[^/]+$",
 	//       "required": true,
@@ -2507,8 +2261,8 @@
 }
 
 // ResetSecret: Resets an Identity Aware Proxy (IAP) OAuth client
-// secret. Useful if the
-// secret was compromised. Requires that the client is owned by IAP.
+// secret. Useful if the secret was compromised. Requires that the
+// client is owned by IAP.
 func (r *ProjectsBrandsIdentityAwareProxyClientsService) ResetSecret(name string, resetidentityawareproxyclientsecretrequest *ResetIdentityAwareProxyClientSecretRequest) *ProjectsBrandsIdentityAwareProxyClientsResetSecretCall {
 	c := &ProjectsBrandsIdentityAwareProxyClientsResetSecretCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -2543,7 +2297,7 @@
 
 func (c *ProjectsBrandsIdentityAwareProxyClientsResetSecretCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2607,7 +2361,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Resets an Identity Aware Proxy (IAP) OAuth client secret. Useful if the\nsecret was compromised. Requires that the client is owned by IAP.",
+	//   "description": "Resets an Identity Aware Proxy (IAP) OAuth client secret. Useful if the secret was compromised. Requires that the client is owned by IAP.",
 	//   "flatPath": "v1/projects/{projectsId}/brands/{brandsId}/identityAwareProxyClients/{identityAwareProxyClientsId}:resetSecret",
 	//   "httpMethod": "POST",
 	//   "id": "iap.projects.brands.identityAwareProxyClients.resetSecret",
@@ -2616,7 +2370,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. Name of the Identity Aware Proxy client to that will have its\nsecret reset. In the following format:\nprojects/{project_number/id}/brands/{brand}/identityAwareProxyClients/{client_id}.",
+	//       "description": "Required. Name of the Identity Aware Proxy client to that will have its secret reset. In the following format: projects/{project_number/id}/brands/{brand}/identityAwareProxyClients/{client_id}.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/brands/[^/]+/identityAwareProxyClients/[^/]+$",
 	//       "required": true,
@@ -2649,12 +2403,9 @@
 }
 
 // GetIamPolicy: Gets the access control policy for an Identity-Aware
-// Proxy protected
-// resource.
-// More information about managing access via IAP can be found
-// at:
-// https://cloud.google.com/iap/docs/managing-access#managing_access_
-// via_the_api
+// Proxy protected resource. More information about managing access via
+// IAP can be found at:
+// https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api
 func (r *V1Service) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *V1GetIamPolicyCall {
 	c := &V1GetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -2689,7 +2440,7 @@
 
 func (c *V1GetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2753,7 +2504,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for an Identity-Aware Proxy protected\nresource.\nMore information about managing access via IAP can be found at:\nhttps://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
+	//   "description": "Gets the access control policy for an Identity-Aware Proxy protected resource. More information about managing access via IAP can be found at: https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
 	//   "flatPath": "v1/{v1Id}:getIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "iap.getIamPolicy",
@@ -2762,7 +2513,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^.*$",
 	//       "required": true,
@@ -2839,7 +2590,7 @@
 
 func (c *V1GetIapSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2910,7 +2661,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name for which to retrieve the settings.\nAuthorization: Requires the `getSettings` permission for the associated\nresource.",
+	//       "description": "Required. The resource name for which to retrieve the settings. Authorization: Requires the `getSettings` permission for the associated resource.",
 	//       "location": "path",
 	//       "pattern": "^.*$",
 	//       "required": true,
@@ -2940,12 +2691,9 @@
 }
 
 // SetIamPolicy: Sets the access control policy for an Identity-Aware
-// Proxy protected
-// resource. Replaces any existing policy.
-// More information about managing access via IAP can be found
-// at:
-// https://cloud.google.com/iap/docs/managing-access#managing_access_
-// via_the_api
+// Proxy protected resource. Replaces any existing policy. More
+// information about managing access via IAP can be found at:
+// https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api
 func (r *V1Service) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *V1SetIamPolicyCall {
 	c := &V1SetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -2980,7 +2728,7 @@
 
 func (c *V1SetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3044,7 +2792,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the access control policy for an Identity-Aware Proxy protected\nresource. Replaces any existing policy.\nMore information about managing access via IAP can be found at:\nhttps://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
+	//   "description": "Sets the access control policy for an Identity-Aware Proxy protected resource. Replaces any existing policy. More information about managing access via IAP can be found at: https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
 	//   "flatPath": "v1/{v1Id}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "iap.setIamPolicy",
@@ -3053,7 +2801,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^.*$",
 	//       "required": true,
@@ -3086,12 +2834,9 @@
 }
 
 // TestIamPermissions: Returns permissions that a caller has on the
-// Identity-Aware Proxy protected
-// resource.
-// More information about managing access via IAP can be found
-// at:
-// https://cloud.google.com/iap/docs/managing-access#managing_access_
-// via_the_api
+// Identity-Aware Proxy protected resource. More information about
+// managing access via IAP can be found at:
+// https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api
 func (r *V1Service) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *V1TestIamPermissionsCall {
 	c := &V1TestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -3126,7 +2871,7 @@
 
 func (c *V1TestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3190,7 +2935,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns permissions that a caller has on the Identity-Aware Proxy protected\nresource.\nMore information about managing access via IAP can be found at:\nhttps://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
+	//   "description": "Returns permissions that a caller has on the Identity-Aware Proxy protected resource. More information about managing access via IAP can be found at: https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
 	//   "flatPath": "v1/{v1Id}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "iap.testIamPermissions",
@@ -3199,7 +2944,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^.*$",
 	//       "required": true,
@@ -3232,8 +2977,8 @@
 }
 
 // UpdateIapSettings: Updates the IAP settings on a particular IAP
-// protected resource. It
-// replaces all fields unless the `update_mask` is set.
+// protected resource. It replaces all fields unless the `update_mask`
+// is set.
 func (r *V1Service) UpdateIapSettings(name string, iapsettings *IapSettings) *V1UpdateIapSettingsCall {
 	c := &V1UpdateIapSettingsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3242,11 +2987,9 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": The field mask
-// specifying which IAP settings should be updated.
-// If omitted, the all of the settings are updated.
-// See
-// https://developers.google.com/protocol-buffers/docs/reference/goog
-// le.protobuf#fieldmask
+// specifying which IAP settings should be updated. If omitted, the all
+// of the settings are updated. See
+// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask
 func (c *V1UpdateIapSettingsCall) UpdateMask(updateMask string) *V1UpdateIapSettingsCall {
 	c.urlParams_.Set("updateMask", updateMask)
 	return c
@@ -3279,7 +3022,7 @@
 
 func (c *V1UpdateIapSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3343,7 +3086,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates the IAP settings on a particular IAP protected resource. It\nreplaces all fields unless the `update_mask` is set.",
+	//   "description": "Updates the IAP settings on a particular IAP protected resource. It replaces all fields unless the `update_mask` is set.",
 	//   "flatPath": "v1/{v1Id}:iapSettings",
 	//   "httpMethod": "PATCH",
 	//   "id": "iap.updateIapSettings",
@@ -3359,7 +3102,7 @@
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "The field mask specifying which IAP settings should be updated.\nIf omitted, the all of the settings are updated. See\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
+	//       "description": "The field mask specifying which IAP settings should be updated. If omitted, the all of the settings are updated. See https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
diff --git a/iap/v1beta1/iap-api.json b/iap/v1beta1/iap-api.json
index 096f17c..f2d4418 100644
--- a/iap/v1beta1/iap-api.json
+++ b/iap/v1beta1/iap-api.json
@@ -108,7 +108,7 @@
     "v1beta1": {
       "methods": {
         "getIamPolicy": {
-          "description": "Gets the access control policy for an Identity-Aware Proxy protected\nresource.\nMore information about managing access via IAP can be found at:\nhttps://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
+          "description": "Gets the access control policy for an Identity-Aware Proxy protected resource. More information about managing access via IAP can be found at: https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
           "flatPath": "v1beta1/{v1beta1Id}:getIamPolicy",
           "httpMethod": "POST",
           "id": "iap.getIamPolicy",
@@ -117,7 +117,7 @@
           ],
           "parameters": {
             "resource": {
-              "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+              "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
               "location": "path",
               "pattern": "^.*$",
               "required": true,
@@ -136,7 +136,7 @@
           ]
         },
         "setIamPolicy": {
-          "description": "Sets the access control policy for an Identity-Aware Proxy protected\nresource. Replaces any existing policy.\nMore information about managing access via IAP can be found at:\nhttps://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
+          "description": "Sets the access control policy for an Identity-Aware Proxy protected resource. Replaces any existing policy. More information about managing access via IAP can be found at: https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
           "flatPath": "v1beta1/{v1beta1Id}:setIamPolicy",
           "httpMethod": "POST",
           "id": "iap.setIamPolicy",
@@ -145,7 +145,7 @@
           ],
           "parameters": {
             "resource": {
-              "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+              "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
               "location": "path",
               "pattern": "^.*$",
               "required": true,
@@ -164,7 +164,7 @@
           ]
         },
         "testIamPermissions": {
-          "description": "Returns permissions that a caller has on the Identity-Aware Proxy protected\nresource. If the resource does not exist or the caller does not have\nIdentity-Aware Proxy permissions a [google.rpc.Code.PERMISSION_DENIED]\nwill be returned.\nMore information about managing access via IAP can be found at:\nhttps://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
+          "description": "Returns permissions that a caller has on the Identity-Aware Proxy protected resource. If the resource does not exist or the caller does not have Identity-Aware Proxy permissions a [google.rpc.Code.PERMISSION_DENIED] will be returned. More information about managing access via IAP can be found at: https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
           "flatPath": "v1beta1/{v1beta1Id}:testIamPermissions",
           "httpMethod": "POST",
           "id": "iap.testIamPermissions",
@@ -173,7 +173,7 @@
           ],
           "parameters": {
             "resource": {
-              "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+              "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
               "location": "path",
               "pattern": "^.*$",
               "required": true,
@@ -194,7 +194,7 @@
       }
     }
   },
-  "revision": "20200511",
+  "revision": "20200807",
   "rootUrl": "https://iap.googleapis.com/",
   "schemas": {
     "Binding": {
@@ -203,40 +203,40 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Expr": {
-      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
+      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
       "id": "Expr",
       "properties": {
         "description": {
-          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
+          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
           "type": "string"
         },
         "expression": {
-          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
+          "description": "Textual representation of an expression in Common Expression Language syntax.",
           "type": "string"
         },
         "location": {
-          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
+          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
           "type": "string"
         },
         "title": {
-          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
+          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
           "type": "string"
         }
       },
@@ -248,7 +248,7 @@
       "properties": {
         "options": {
           "$ref": "GetPolicyOptions",
-          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`."
+          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`."
         }
       },
       "type": "object"
@@ -258,7 +258,7 @@
       "id": "GetPolicyOptions",
       "properties": {
         "requestedPolicyVersion": {
-          "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -266,23 +266,23 @@
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\n            \"user:eve@example.com\"\n          ],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "bindings": {
-          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
+          "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.",
           "items": {
             "$ref": "Binding"
           },
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
           "format": "byte",
           "type": "string"
         },
         "version": {
-          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -295,7 +295,7 @@
       "properties": {
         "policy": {
           "$ref": "Policy",
-          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
+          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them."
         }
       },
       "type": "object"
@@ -305,7 +305,7 @@
       "id": "TestIamPermissionsRequest",
       "properties": {
         "permissions": {
-          "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
+          "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
           "items": {
             "type": "string"
           },
@@ -319,7 +319,7 @@
       "id": "TestIamPermissionsResponse",
       "properties": {
         "permissions": {
-          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
+          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
           "items": {
             "type": "string"
           },
diff --git a/iap/v1beta1/iap-gen.go b/iap/v1beta1/iap-gen.go
index 9497c6f..81b09be 100644
--- a/iap/v1beta1/iap-gen.go
+++ b/iap/v1beta1/iap-gen.go
@@ -146,95 +146,53 @@
 
 // Binding: Associates `members` with a `role`.
 type Binding struct {
-	// Condition: The condition that is associated with this binding.
-	//
-	// If the condition evaluates to `true`, then this binding applies to
-	// the
-	// current request.
-	//
-	// If the condition evaluates to `false`, then this binding does not
-	// apply to
-	// the current request. However, a different role binding might grant
-	// the same
-	// role to one or more of the members in this binding.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// Condition: The condition that is associated with this binding. If the
+	// condition evaluates to `true`, then this binding applies to the
+	// current request. If the condition evaluates to `false`, then this
+	// binding does not apply to the current request. However, a different
+	// role binding might grant the same role to one or more of the members
+	// in this binding. To learn which resources support conditions in their
+	// IAM policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	Condition *Expr `json:"condition,omitempty"`
 
 	// Members: Specifies the identities requesting access for a Cloud
-	// Platform resource.
-	// `members` can have the following values:
-	//
-	// * `allUsers`: A special identifier that represents anyone who is
-	//    on the internet; with or without a Google account.
-	//
-	// * `allAuthenticatedUsers`: A special identifier that represents
-	// anyone
-	//    who is authenticated with a Google account or a service
-	// account.
-	//
-	// * `user:{emailid}`: An email address that represents a specific
-	// Google
-	//    account. For example, `alice@example.com` .
-	//
-	//
-	// * `serviceAccount:{emailid}`: An email address that represents a
-	// service
-	//    account. For example,
-	// `my-other-app@appspot.gserviceaccount.com`.
-	//
-	// * `group:{emailid}`: An email address that represents a Google
-	// group.
-	//    For example, `admins@example.com`.
-	//
-	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a user that has been recently deleted.
-	// For
-	//    example, `alice@example.com?uid=123456789012345678901`. If the
-	// user is
-	//    recovered, this value reverts to `user:{emailid}` and the
-	// recovered user
-	//    retains the role in the binding.
-	//
-	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
-	// (plus
-	//    unique identifier) representing a service account that has been
-	// recently
-	//    deleted. For example,
-	//
+	// Platform resource. `members` can have the following values: *
+	// `allUsers`: A special identifier that represents anyone who is on the
+	// internet; with or without a Google account. *
+	// `allAuthenticatedUsers`: A special identifier that represents anyone
+	// who is authenticated with a Google account or a service account. *
+	// `user:{emailid}`: An email address that represents a specific Google
+	// account. For example, `alice@example.com` . *
+	// `serviceAccount:{emailid}`: An email address that represents a
+	// service account. For example,
+	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
+	// email address that represents a Google group. For example,
+	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
+	// email address (plus unique identifier) representing a user that has
+	// been recently deleted. For example,
+	// `alice@example.com?uid=123456789012345678901`. If the user is
+	// recovered, this value reverts to `user:{emailid}` and the recovered
+	// user retains the role in the binding. *
+	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
+	// (plus unique identifier) representing a service account that has been
+	// recently deleted. For example,
 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
-	//
-	//    If the service account is undeleted, this value reverts to
-	//    `serviceAccount:{emailid}` and the undeleted service account
-	// retains the
-	//    role in the binding.
-	//
-	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a Google group that has been recently
-	//    deleted. For example,
-	// `admins@example.com?uid=123456789012345678901`. If
-	//    the group is recovered, this value reverts to `group:{emailid}`
-	// and the
-	//    recovered group retains the role in the binding.
-	//
-	//
-	// * `domain:{domain}`: The G Suite domain (primary) that represents all
-	// the
-	//    users of that domain. For example, `google.com` or
-	// `example.com`.
-	//
-	//
+	// If the service account is undeleted, this value reverts to
+	// `serviceAccount:{emailid}` and the undeleted service account retains
+	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
+	// An email address (plus unique identifier) representing a Google group
+	// that has been recently deleted. For example,
+	// `admins@example.com?uid=123456789012345678901`. If the group is
+	// recovered, this value reverts to `group:{emailid}` and the recovered
+	// group retains the role in the binding. * `domain:{domain}`: The G
+	// Suite domain (primary) that represents all the users of that domain.
+	// For example, `google.com` or `example.com`.
 	Members []string `json:"members,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`.
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -261,65 +219,40 @@
 }
 
 // Expr: Represents a textual expression in the Common Expression
-// Language (CEL)
-// syntax. CEL is a C-like expression language. The syntax and semantics
-// of CEL
-// are documented at https://github.com/google/cel-spec.
-//
-// Example (Comparison):
-//
-//     title: "Summary size limit"
-//     description: "Determines if a summary is less than 100 chars"
-//     expression: "document.summary.size() < 100"
-//
-// Example (Equality):
-//
-//     title: "Requestor is owner"
-//     description: "Determines if requestor is the document owner"
-//     expression: "document.owner ==
-// request.auth.claims.email"
-//
-// Example (Logic):
-//
-//     title: "Public documents"
-//     description: "Determine whether the document should be publicly
-// visible"
-//     expression: "document.type != 'private' && document.type !=
-// 'internal'"
-//
-// Example (Data Manipulation):
-//
-//     title: "Notification string"
-//     description: "Create a notification string with a timestamp."
-//     expression: "'New message received at ' +
-// string(document.create_time)"
-//
-// The exact variables and functions that may be referenced within an
-// expression
-// are determined by the service that evaluates it. See the
-// service
-// documentation for additional information.
+// Language (CEL) syntax. CEL is a C-like expression language. The
+// syntax and semantics of CEL are documented at
+// https://github.com/google/cel-spec. Example (Comparison): title:
+// "Summary size limit" description: "Determines if a summary is less
+// than 100 chars" expression: "document.summary.size() < 100" Example
+// (Equality): title: "Requestor is owner" description: "Determines if
+// requestor is the document owner" expression: "document.owner ==
+// request.auth.claims.email" Example (Logic): title: "Public documents"
+// description: "Determine whether the document should be publicly
+// visible" expression: "document.type != 'private' && document.type !=
+// 'internal'" Example (Data Manipulation): title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' +
+// string(document.create_time)" The exact variables and functions that
+// may be referenced within an expression are determined by the service
+// that evaluates it. See the service documentation for additional
+// information.
 type Expr struct {
 	// Description: Optional. Description of the expression. This is a
-	// longer text which
-	// describes the expression, e.g. when hovered over it in a UI.
+	// longer text which describes the expression, e.g. when hovered over it
+	// in a UI.
 	Description string `json:"description,omitempty"`
 
 	// Expression: Textual representation of an expression in Common
-	// Expression Language
-	// syntax.
+	// Expression Language syntax.
 	Expression string `json:"expression,omitempty"`
 
 	// Location: Optional. String indicating the location of the expression
-	// for error
-	// reporting, e.g. a file name and a position in the file.
+	// for error reporting, e.g. a file name and a position in the file.
 	Location string `json:"location,omitempty"`
 
 	// Title: Optional. Title for the expression, i.e. a short string
-	// describing
-	// its purpose. This can be used e.g. in UIs which allow to enter
-	// the
-	// expression.
+	// describing its purpose. This can be used e.g. in UIs which allow to
+	// enter the expression.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -348,8 +281,7 @@
 // GetIamPolicyRequest: Request message for `GetIamPolicy` method.
 type GetIamPolicyRequest struct {
 	// Options: OPTIONAL: A `GetPolicyOptions` object for specifying options
-	// to
-	// `GetIamPolicy`.
+	// to `GetIamPolicy`.
 	Options *GetPolicyOptions `json:"options,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Options") to
@@ -378,24 +310,14 @@
 // GetPolicyOptions: Encapsulates settings provided to GetIamPolicy.
 type GetPolicyOptions struct {
 	// RequestedPolicyVersion: Optional. The policy format version to be
-	// returned.
-	//
-	// Valid values are 0, 1, and 3. Requests specifying an invalid value
-	// will be
-	// rejected.
-	//
-	// Requests for policies with any conditional bindings must specify
-	// version 3.
-	// Policies without any conditional bindings may specify any valid value
-	// or
-	// leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// returned. Valid values are 0, 1, and 3. Requests specifying an
+	// invalid value will be rejected. Requests for policies with any
+	// conditional bindings must specify version 3. Policies without any
+	// conditional bindings may specify any valid value or leave the field
+	// unset. To learn which resources support conditions in their IAM
+	// policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	RequestedPolicyVersion int64 `json:"requestedPolicyVersion,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -424,150 +346,73 @@
 }
 
 // Policy: An Identity and Access Management (IAM) policy, which
-// specifies access
-// controls for Google Cloud resources.
-//
-//
-// A `Policy` is a collection of `bindings`. A `binding` binds one or
-// more
-// `members` to a single `role`. Members can be user accounts, service
-// accounts,
+// specifies access controls for Google Cloud resources. A `Policy` is a
+// collection of `bindings`. A `binding` binds one or more `members` to
+// a single `role`. Members can be user accounts, service accounts,
 // Google groups, and domains (such as G Suite). A `role` is a named
-// list of
-// permissions; each `role` can be an IAM predefined role or a
-// user-created
-// custom role.
-//
-// For some types of Google Cloud resources, a `binding` can also
-// specify a
-// `condition`, which is a logical expression that allows access to a
-// resource
-// only if the expression evaluates to `true`. A condition can add
-// constraints
-// based on attributes of the request, the resource, or both. To learn
-// which
-// resources support conditions in their IAM policies, see the
-// [IAM
+// list of permissions; each `role` can be an IAM predefined role or a
+// user-created custom role. For some types of Google Cloud resources, a
+// `binding` can also specify a `condition`, which is a logical
+// expression that allows access to a resource only if the expression
+// evaluates to `true`. A condition can add constraints based on
+// attributes of the request, the resource, or both. To learn which
+// resources support conditions in their IAM policies, see the [IAM
 // documentation](https://cloud.google.com/iam/help/conditions/resource-p
-// olicies).
-//
-// **JSON example:**
-//
-//     {
-//       "bindings": [
-//         {
-//           "role": "roles/resourcemanager.organizationAdmin",
-//           "members": [
-//             "user:mike@example.com",
-//             "group:admins@example.com",
-//             "domain:google.com",
-//
-// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
-//           ]
-//         },
-//         {
-//           "role": "roles/resourcemanager.organizationViewer",
-//           "members": [
-//             "user:eve@example.com"
-//           ],
-//           "condition": {
-//             "title": "expirable access",
-//             "description": "Does not grant access after Sep 2020",
-//             "expression": "request.time <
-// timestamp('2020-10-01T00:00:00.000Z')",
-//           }
-//         }
-//       ],
-//       "etag": "BwWWja0YfJA=",
-//       "version": 3
-//     }
-//
-// **YAML example:**
-//
-//     bindings:
-//     - members:
-//       - user:mike@example.com
-//       - group:admins@example.com
-//       - domain:google.com
-//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
-//       role: roles/resourcemanager.organizationAdmin
-//     - members:
-//       - user:eve@example.com
-//       role: roles/resourcemanager.organizationViewer
-//       condition:
-//         title: expirable access
-//         description: Does not grant access after Sep 2020
-//         expression: request.time <
-// timestamp('2020-10-01T00:00:00.000Z')
-//     - etag: BwWWja0YfJA=
-//     - version: 3
-//
-// For a description of IAM and its features, see the
-// [IAM documentation](https://cloud.google.com/iam/docs/).
+// olicies). **JSON example:** { "bindings": [ { "role":
+// "roles/resourcemanager.organizationAdmin", "members": [
+// "user:mike@example.com", "group:admins@example.com",
+// "domain:google.com",
+// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
+// "role": "roles/resourcemanager.organizationViewer", "members": [
+// "user:eve@example.com" ], "condition": { "title": "expirable access",
+// "description": "Does not grant access after Sep 2020", "expression":
+// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
+// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
+// members: - user:mike@example.com - group:admins@example.com -
+// domain:google.com -
+// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
+// roles/resourcemanager.organizationAdmin - members: -
+// user:eve@example.com role: roles/resourcemanager.organizationViewer
+// condition: title: expirable access description: Does not grant access
+// after Sep 2020 expression: request.time <
+// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
+// 3 For a description of IAM and its features, see the [IAM
+// documentation](https://cloud.google.com/iam/docs/).
 type Policy struct {
 	// Bindings: Associates a list of `members` to a `role`. Optionally, may
-	// specify a
-	// `condition` that determines how and when the `bindings` are applied.
-	// Each
-	// of the `bindings` must contain at least one member.
+	// specify a `condition` that determines how and when the `bindings` are
+	// applied. Each of the `bindings` must contain at least one member.
 	Bindings []*Binding `json:"bindings,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a policy from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform policy updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `getIamPolicy`,
-	// and
-	// systems are expected to put that etag in the request to
-	// `setIamPolicy` to
-	// ensure that their change will be applied to the same version of the
-	// policy.
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
+	// help prevent simultaneous updates of a policy from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform policy updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `getIamPolicy`, and systems are expected to put that etag in the
+	// request to `setIamPolicy` to ensure that their change will be applied
+	// to the same version of the policy. **Important:** If you use IAM
+	// Conditions, you must include the `etag` field whenever you call
+	// `setIamPolicy`. If you omit this field, then IAM allows you to
+	// overwrite a version `3` policy with a version `1` policy, and all of
 	// the conditions in the version `3` policy are lost.
 	Etag string `json:"etag,omitempty"`
 
-	// Version: Specifies the format of the policy.
-	//
-	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
-	// value
-	// are rejected.
-	//
+	// Version: Specifies the format of the policy. Valid values are `0`,
+	// `1`, and `3`. Requests that specify an invalid value are rejected.
 	// Any operation that affects conditional role bindings must specify
-	// version
-	// `3`. This requirement applies to the following operations:
-	//
-	// * Getting a policy that includes a conditional role binding
-	// * Adding a conditional role binding to a policy
-	// * Changing a conditional role binding in a policy
-	// * Removing any role binding, with or without a condition, from a
-	// policy
-	//   that includes conditions
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
-	// the conditions in the version `3` policy are lost.
-	//
-	// If a policy does not include any conditions, operations on that
-	// policy may
-	// specify any valid version or leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see the
-	// [IAM
+	// version `3`. This requirement applies to the following operations: *
+	// Getting a policy that includes a conditional role binding * Adding a
+	// conditional role binding to a policy * Changing a conditional role
+	// binding in a policy * Removing any role binding, with or without a
+	// condition, from a policy that includes conditions **Important:** If
+	// you use IAM Conditions, you must include the `etag` field whenever
+	// you call `setIamPolicy`. If you omit this field, then IAM allows you
+	// to overwrite a version `3` policy with a version `1` policy, and all
+	// of the conditions in the version `3` policy are lost. If a policy
+	// does not include any conditions, operations on that policy may
+	// specify any valid version or leave the field unset. To learn which
+	// resources support conditions in their IAM policies, see the [IAM
 	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
 	// olicies).
 	Version int64 `json:"version,omitempty"`
@@ -602,11 +447,9 @@
 // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
 type SetIamPolicyRequest struct {
 	// Policy: REQUIRED: The complete policy to be applied to the
-	// `resource`. The size of
-	// the policy is limited to a few 10s of KB. An empty policy is a
-	// valid policy but certain Cloud Platform services (such as
-	// Projects)
-	// might reject them.
+	// `resource`. The size of the policy is limited to a few 10s of KB. An
+	// empty policy is a valid policy but certain Cloud Platform services
+	// (such as Projects) might reject them.
 	Policy *Policy `json:"policy,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Policy") to
@@ -636,11 +479,8 @@
 // method.
 type TestIamPermissionsRequest struct {
 	// Permissions: The set of permissions to check for the `resource`.
-	// Permissions with
-	// wildcards (such as '*' or 'storage.*') are not allowed. For
-	// more
-	// information see
-	// [IAM
+	// Permissions with wildcards (such as '*' or 'storage.*') are not
+	// allowed. For more information see [IAM
 	// Overview](https://cloud.google.com/iam/docs/overview#permissions).
 	Permissions []string `json:"permissions,omitempty"`
 
@@ -671,8 +511,7 @@
 // method.
 type TestIamPermissionsResponse struct {
 	// Permissions: A subset of `TestPermissionsRequest.permissions` that
-	// the caller is
-	// allowed.
+	// the caller is allowed.
 	Permissions []string `json:"permissions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -714,12 +553,9 @@
 }
 
 // GetIamPolicy: Gets the access control policy for an Identity-Aware
-// Proxy protected
-// resource.
-// More information about managing access via IAP can be found
-// at:
-// https://cloud.google.com/iap/docs/managing-access#managing_access_
-// via_the_api
+// Proxy protected resource. More information about managing access via
+// IAP can be found at:
+// https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api
 func (r *V1beta1Service) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *V1beta1GetIamPolicyCall {
 	c := &V1beta1GetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -754,7 +590,7 @@
 
 func (c *V1beta1GetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -818,7 +654,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for an Identity-Aware Proxy protected\nresource.\nMore information about managing access via IAP can be found at:\nhttps://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
+	//   "description": "Gets the access control policy for an Identity-Aware Proxy protected resource. More information about managing access via IAP can be found at: https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
 	//   "flatPath": "v1beta1/{v1beta1Id}:getIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "iap.getIamPolicy",
@@ -827,7 +663,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^.*$",
 	//       "required": true,
@@ -860,12 +696,9 @@
 }
 
 // SetIamPolicy: Sets the access control policy for an Identity-Aware
-// Proxy protected
-// resource. Replaces any existing policy.
-// More information about managing access via IAP can be found
-// at:
-// https://cloud.google.com/iap/docs/managing-access#managing_access_
-// via_the_api
+// Proxy protected resource. Replaces any existing policy. More
+// information about managing access via IAP can be found at:
+// https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api
 func (r *V1beta1Service) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *V1beta1SetIamPolicyCall {
 	c := &V1beta1SetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -900,7 +733,7 @@
 
 func (c *V1beta1SetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -964,7 +797,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the access control policy for an Identity-Aware Proxy protected\nresource. Replaces any existing policy.\nMore information about managing access via IAP can be found at:\nhttps://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
+	//   "description": "Sets the access control policy for an Identity-Aware Proxy protected resource. Replaces any existing policy. More information about managing access via IAP can be found at: https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
 	//   "flatPath": "v1beta1/{v1beta1Id}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "iap.setIamPolicy",
@@ -973,7 +806,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^.*$",
 	//       "required": true,
@@ -1006,16 +839,11 @@
 }
 
 // TestIamPermissions: Returns permissions that a caller has on the
-// Identity-Aware Proxy protected
-// resource. If the resource does not exist or the caller does not
-// have
-// Identity-Aware Proxy permissions a
-// [google.rpc.Code.PERMISSION_DENIED]
-// will be returned.
-// More information about managing access via IAP can be found
-// at:
-// https://cloud.google.com/iap/docs/managing-access#managing_access_
-// via_the_api
+// Identity-Aware Proxy protected resource. If the resource does not
+// exist or the caller does not have Identity-Aware Proxy permissions a
+// [google.rpc.Code.PERMISSION_DENIED] will be returned. More
+// information about managing access via IAP can be found at:
+// https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api
 func (r *V1beta1Service) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *V1beta1TestIamPermissionsCall {
 	c := &V1beta1TestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -1050,7 +878,7 @@
 
 func (c *V1beta1TestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1114,7 +942,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns permissions that a caller has on the Identity-Aware Proxy protected\nresource. If the resource does not exist or the caller does not have\nIdentity-Aware Proxy permissions a [google.rpc.Code.PERMISSION_DENIED]\nwill be returned.\nMore information about managing access via IAP can be found at:\nhttps://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
+	//   "description": "Returns permissions that a caller has on the Identity-Aware Proxy protected resource. If the resource does not exist or the caller does not have Identity-Aware Proxy permissions a [google.rpc.Code.PERMISSION_DENIED] will be returned. More information about managing access via IAP can be found at: https://cloud.google.com/iap/docs/managing-access#managing_access_via_the_api",
 	//   "flatPath": "v1beta1/{v1beta1Id}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "iap.testIamPermissions",
@@ -1123,7 +951,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^.*$",
 	//       "required": true,
diff --git a/identitytoolkit/v3/identitytoolkit-gen.go b/identitytoolkit/v3/identitytoolkit-gen.go
index 91e8677..c23ca6f 100644
--- a/identitytoolkit/v3/identitytoolkit-gen.go
+++ b/identitytoolkit/v3/identitytoolkit-gen.go
@@ -2461,7 +2461,7 @@
 
 func (c *RelyingpartyCreateAuthUriCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2583,7 +2583,7 @@
 
 func (c *RelyingpartyDeleteAccountCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2705,7 +2705,7 @@
 
 func (c *RelyingpartyDownloadAccountCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2849,7 +2849,7 @@
 
 func (c *RelyingpartyEmailLinkSigninCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2971,7 +2971,7 @@
 
 func (c *RelyingpartyGetAccountInfoCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3093,7 +3093,7 @@
 
 func (c *RelyingpartyGetOobConfirmationCodeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3239,7 +3239,7 @@
 
 func (c *RelyingpartyGetProjectConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3379,7 +3379,7 @@
 
 func (c *RelyingpartyGetPublicKeysCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3485,7 +3485,7 @@
 
 func (c *RelyingpartyGetRecaptchaParamCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3602,7 +3602,7 @@
 
 func (c *RelyingpartyResetPasswordCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3724,7 +3724,7 @@
 
 func (c *RelyingpartySendVerificationCodeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3849,7 +3849,7 @@
 
 func (c *RelyingpartySetAccountInfoCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3971,7 +3971,7 @@
 
 func (c *RelyingpartySetProjectConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4095,7 +4095,7 @@
 
 func (c *RelyingpartySignOutUserCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4219,7 +4219,7 @@
 
 func (c *RelyingpartySignupNewUserCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4341,7 +4341,7 @@
 
 func (c *RelyingpartyUploadAccountCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4464,7 +4464,7 @@
 
 func (c *RelyingpartyVerifyAssertionCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4586,7 +4586,7 @@
 
 func (c *RelyingpartyVerifyCustomTokenCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4708,7 +4708,7 @@
 
 func (c *RelyingpartyVerifyPasswordCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4831,7 +4831,7 @@
 
 func (c *RelyingpartyVerifyPhoneNumberCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/indexing/v3/indexing-gen.go b/indexing/v3/indexing-gen.go
index 4267044..a9bd9c4 100644
--- a/indexing/v3/indexing-gen.go
+++ b/indexing/v3/indexing-gen.go
@@ -324,7 +324,7 @@
 
 func (c *UrlNotificationsGetMetadataCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -450,7 +450,7 @@
 
 func (c *UrlNotificationsPublishCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/internal/version/version.go b/internal/version/version.go
index 5ef278b..89d3f8d 100644
--- a/internal/version/version.go
+++ b/internal/version/version.go
@@ -10,4 +10,4 @@
 
 // Repo is the current version of the client libraries in this
 // repo. It should be a date in YYYYMMDD format.
-const Repo = "20200812"
+const Repo = "20200815"
diff --git a/jobs/v2/jobs-gen.go b/jobs/v2/jobs-gen.go
index 4c68269..7d143f7 100644
--- a/jobs/v2/jobs-gen.go
+++ b/jobs/v2/jobs-gen.go
@@ -5491,7 +5491,7 @@
 
 func (c *CompaniesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5617,7 +5617,7 @@
 
 func (c *CompaniesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5759,7 +5759,7 @@
 
 func (c *CompaniesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5930,7 +5930,7 @@
 
 func (c *CompaniesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6125,7 +6125,7 @@
 
 func (c *CompaniesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6340,7 +6340,7 @@
 
 func (c *CompaniesJobsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6521,7 +6521,7 @@
 
 func (c *JobsBatchDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6651,7 +6651,7 @@
 
 func (c *JobsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6796,7 +6796,7 @@
 
 func (c *JobsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6938,7 +6938,7 @@
 
 func (c *JobsDeleteByFilterCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7077,7 +7077,7 @@
 
 func (c *JobsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7227,7 +7227,7 @@
 
 func (c *JobsHistogramCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7412,7 +7412,7 @@
 
 func (c *JobsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7582,7 +7582,7 @@
 
 func (c *JobsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7726,7 +7726,7 @@
 
 func (c *JobsSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7887,7 +7887,7 @@
 
 func (c *JobsSearchForAlertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8117,7 +8117,7 @@
 
 func (c *V2CompleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/jobs/v3/jobs-gen.go b/jobs/v3/jobs-gen.go
index 0e24fb5..12c45c2 100644
--- a/jobs/v3/jobs-gen.go
+++ b/jobs/v3/jobs-gen.go
@@ -4635,7 +4635,7 @@
 
 func (c *ProjectsCompleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4830,7 +4830,7 @@
 
 func (c *ProjectsClientEventsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4971,7 +4971,7 @@
 
 func (c *ProjectsCompaniesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5111,7 +5111,7 @@
 
 func (c *ProjectsCompaniesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5253,7 +5253,7 @@
 
 func (c *ProjectsCompaniesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5425,7 +5425,7 @@
 
 func (c *ProjectsCompaniesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5602,7 +5602,7 @@
 
 func (c *ProjectsCompaniesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5743,7 +5743,7 @@
 
 func (c *ProjectsJobsBatchDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5888,7 +5888,7 @@
 
 func (c *ProjectsJobsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6031,7 +6031,7 @@
 
 func (c *ProjectsJobsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6175,7 +6175,7 @@
 
 func (c *ProjectsJobsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6379,7 +6379,7 @@
 
 func (c *ProjectsJobsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6568,7 +6568,7 @@
 
 func (c *ProjectsJobsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6714,7 +6714,7 @@
 
 func (c *ProjectsJobsSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6890,7 +6890,7 @@
 
 func (c *ProjectsJobsSearchForAlertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/jobs/v3p1beta1/jobs-gen.go b/jobs/v3p1beta1/jobs-gen.go
index 25c87c7..f1b84f5 100644
--- a/jobs/v3p1beta1/jobs-gen.go
+++ b/jobs/v3p1beta1/jobs-gen.go
@@ -5136,7 +5136,7 @@
 
 func (c *ProjectsCompleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5331,7 +5331,7 @@
 
 func (c *ProjectsClientEventsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5472,7 +5472,7 @@
 
 func (c *ProjectsCompaniesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5612,7 +5612,7 @@
 
 func (c *ProjectsCompaniesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5754,7 +5754,7 @@
 
 func (c *ProjectsCompaniesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5926,7 +5926,7 @@
 
 func (c *ProjectsCompaniesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6103,7 +6103,7 @@
 
 func (c *ProjectsCompaniesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6244,7 +6244,7 @@
 
 func (c *ProjectsJobsBatchDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6389,7 +6389,7 @@
 
 func (c *ProjectsJobsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6532,7 +6532,7 @@
 
 func (c *ProjectsJobsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6676,7 +6676,7 @@
 
 func (c *ProjectsJobsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6880,7 +6880,7 @@
 
 func (c *ProjectsJobsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7069,7 +7069,7 @@
 
 func (c *ProjectsJobsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7215,7 +7215,7 @@
 
 func (c *ProjectsJobsSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7391,7 +7391,7 @@
 
 func (c *ProjectsJobsSearchForAlertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7566,7 +7566,7 @@
 
 func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/kgsearch/v1/kgsearch-gen.go b/kgsearch/v1/kgsearch-gen.go
index c0b2da9..8bb2682 100644
--- a/kgsearch/v1/kgsearch-gen.go
+++ b/kgsearch/v1/kgsearch-gen.go
@@ -282,7 +282,7 @@
 
 func (c *EntitiesSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/language/v1/language-gen.go b/language/v1/language-gen.go
index 40d643e..de337c4 100644
--- a/language/v1/language-gen.go
+++ b/language/v1/language-gen.go
@@ -1506,7 +1506,7 @@
 
 func (c *DocumentsAnalyzeEntitiesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1634,7 +1634,7 @@
 
 func (c *DocumentsAnalyzeEntitySentimentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1760,7 +1760,7 @@
 
 func (c *DocumentsAnalyzeSentimentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1888,7 +1888,7 @@
 
 func (c *DocumentsAnalyzeSyntaxCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2016,7 +2016,7 @@
 
 func (c *DocumentsAnnotateTextCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2142,7 +2142,7 @@
 
 func (c *DocumentsClassifyTextCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/language/v1beta1/language-gen.go b/language/v1beta1/language-gen.go
index c75f1e3..73d97da 100644
--- a/language/v1beta1/language-gen.go
+++ b/language/v1beta1/language-gen.go
@@ -1274,7 +1274,7 @@
 
 func (c *DocumentsAnalyzeEntitiesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1400,7 +1400,7 @@
 
 func (c *DocumentsAnalyzeSentimentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1528,7 +1528,7 @@
 
 func (c *DocumentsAnalyzeSyntaxCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1656,7 +1656,7 @@
 
 func (c *DocumentsAnnotateTextCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/language/v1beta2/language-gen.go b/language/v1beta2/language-gen.go
index 6b44d18..a1c3fbb 100644
--- a/language/v1beta2/language-gen.go
+++ b/language/v1beta2/language-gen.go
@@ -1525,7 +1525,7 @@
 
 func (c *DocumentsAnalyzeEntitiesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1653,7 +1653,7 @@
 
 func (c *DocumentsAnalyzeEntitySentimentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1779,7 +1779,7 @@
 
 func (c *DocumentsAnalyzeSentimentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1907,7 +1907,7 @@
 
 func (c *DocumentsAnalyzeSyntaxCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2034,7 +2034,7 @@
 
 func (c *DocumentsAnnotateTextCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2160,7 +2160,7 @@
 
 func (c *DocumentsClassifyTextCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/libraryagent/v1/libraryagent-gen.go b/libraryagent/v1/libraryagent-gen.go
index db0708d..cb9005f 100644
--- a/libraryagent/v1/libraryagent-gen.go
+++ b/libraryagent/v1/libraryagent-gen.go
@@ -368,7 +368,7 @@
 
 func (c *ShelvesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -529,7 +529,7 @@
 
 func (c *ShelvesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -687,7 +687,7 @@
 
 func (c *ShelvesBooksBorrowCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -828,7 +828,7 @@
 
 func (c *ShelvesBooksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -991,7 +991,7 @@
 
 func (c *ShelvesBooksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1160,7 +1160,7 @@
 
 func (c *ShelvesBooksReturnCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/licensing/v1/licensing-gen.go b/licensing/v1/licensing-gen.go
index 50cb7cb..9a1942d 100644
--- a/licensing/v1/licensing-gen.go
+++ b/licensing/v1/licensing-gen.go
@@ -324,7 +324,7 @@
 
 func (c *LicenseAssignmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -455,7 +455,7 @@
 
 func (c *LicenseAssignmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -606,7 +606,7 @@
 
 func (c *LicenseAssignmentsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -782,7 +782,7 @@
 
 func (c *LicenseAssignmentsListForProductCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -990,7 +990,7 @@
 
 func (c *LicenseAssignmentsListForProductAndSkuCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1179,7 +1179,7 @@
 
 func (c *LicenseAssignmentsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1338,7 +1338,7 @@
 
 func (c *LicenseAssignmentsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/lifesciences/v2beta/lifesciences-gen.go b/lifesciences/v2beta/lifesciences-gen.go
index bac3e8f..01c9e65 100644
--- a/lifesciences/v2beta/lifesciences-gen.go
+++ b/lifesciences/v2beta/lifesciences-gen.go
@@ -1935,7 +1935,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2101,7 +2101,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2285,7 +2285,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2441,7 +2441,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2625,7 +2625,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2821,7 +2821,7 @@
 
 func (c *ProjectsLocationsPipelinesRunCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/logging/v2/logging-gen.go b/logging/v2/logging-gen.go
index f645b91..6bc11b0 100644
--- a/logging/v2/logging-gen.go
+++ b/logging/v2/logging-gen.go
@@ -2920,7 +2920,7 @@
 
 func (c *BillingAccountsBucketsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3060,7 +3060,7 @@
 
 func (c *BillingAccountsExclusionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3199,7 +3199,7 @@
 
 func (c *BillingAccountsExclusionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3341,7 +3341,7 @@
 
 func (c *BillingAccountsExclusionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3507,7 +3507,7 @@
 
 func (c *BillingAccountsExclusionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3689,7 +3689,7 @@
 
 func (c *BillingAccountsExclusionsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3846,7 +3846,7 @@
 
 func (c *BillingAccountsLocationsBucketsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3992,7 +3992,7 @@
 
 func (c *BillingAccountsLocationsBucketsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4153,7 +4153,7 @@
 
 func (c *BillingAccountsLocationsBucketsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4341,7 +4341,7 @@
 
 func (c *BillingAccountsLocationsBucketsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4489,7 +4489,7 @@
 
 func (c *BillingAccountsLocationsBucketsUndeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4631,7 +4631,7 @@
 
 func (c *BillingAccountsLogsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4793,7 +4793,7 @@
 
 func (c *BillingAccountsLogsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4983,7 +4983,7 @@
 
 func (c *BillingAccountsSinksCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5128,7 +5128,7 @@
 
 func (c *BillingAccountsSinksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5270,7 +5270,7 @@
 
 func (c *BillingAccountsSinksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5436,7 +5436,7 @@
 
 func (c *BillingAccountsSinksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5639,7 +5639,7 @@
 
 func (c *BillingAccountsSinksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5824,7 +5824,7 @@
 
 func (c *BillingAccountsSinksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5977,7 +5977,7 @@
 
 func (c *EntriesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6131,7 +6131,7 @@
 
 func (c *EntriesWriteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6262,7 +6262,7 @@
 
 func (c *ExclusionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6401,7 +6401,7 @@
 
 func (c *ExclusionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6543,7 +6543,7 @@
 
 func (c *ExclusionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6709,7 +6709,7 @@
 
 func (c *ExclusionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6891,7 +6891,7 @@
 
 func (c *ExclusionsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7040,7 +7040,7 @@
 
 func (c *FoldersExclusionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7179,7 +7179,7 @@
 
 func (c *FoldersExclusionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7321,7 +7321,7 @@
 
 func (c *FoldersExclusionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7487,7 +7487,7 @@
 
 func (c *FoldersExclusionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7669,7 +7669,7 @@
 
 func (c *FoldersExclusionsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7826,7 +7826,7 @@
 
 func (c *FoldersLocationsBucketsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7972,7 +7972,7 @@
 
 func (c *FoldersLocationsBucketsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8114,7 +8114,7 @@
 
 func (c *FoldersLocationsBucketsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8280,7 +8280,7 @@
 
 func (c *FoldersLocationsBucketsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8468,7 +8468,7 @@
 
 func (c *FoldersLocationsBucketsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8616,7 +8616,7 @@
 
 func (c *FoldersLocationsBucketsUndeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8758,7 +8758,7 @@
 
 func (c *FoldersLogsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8920,7 +8920,7 @@
 
 func (c *FoldersLogsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9110,7 +9110,7 @@
 
 func (c *FoldersSinksCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9255,7 +9255,7 @@
 
 func (c *FoldersSinksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9397,7 +9397,7 @@
 
 func (c *FoldersSinksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9563,7 +9563,7 @@
 
 func (c *FoldersSinksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9766,7 +9766,7 @@
 
 func (c *FoldersSinksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9951,7 +9951,7 @@
 
 func (c *FoldersSinksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10113,7 +10113,7 @@
 
 func (c *LocationsBucketsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10259,7 +10259,7 @@
 
 func (c *LocationsBucketsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10401,7 +10401,7 @@
 
 func (c *LocationsBucketsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10567,7 +10567,7 @@
 
 func (c *LocationsBucketsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10755,7 +10755,7 @@
 
 func (c *LocationsBucketsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10903,7 +10903,7 @@
 
 func (c *LocationsBucketsUndeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11045,7 +11045,7 @@
 
 func (c *LogsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11207,7 +11207,7 @@
 
 func (c *LogsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11404,7 +11404,7 @@
 
 func (c *MonitoredResourceDescriptorsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11579,7 +11579,7 @@
 
 func (c *OrganizationsGetCmekSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11736,7 +11736,7 @@
 
 func (c *OrganizationsUpdateCmekSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11885,7 +11885,7 @@
 
 func (c *OrganizationsExclusionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12024,7 +12024,7 @@
 
 func (c *OrganizationsExclusionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12166,7 +12166,7 @@
 
 func (c *OrganizationsExclusionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12332,7 +12332,7 @@
 
 func (c *OrganizationsExclusionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12514,7 +12514,7 @@
 
 func (c *OrganizationsExclusionsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12671,7 +12671,7 @@
 
 func (c *OrganizationsLocationsBucketsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12817,7 +12817,7 @@
 
 func (c *OrganizationsLocationsBucketsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12959,7 +12959,7 @@
 
 func (c *OrganizationsLocationsBucketsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13125,7 +13125,7 @@
 
 func (c *OrganizationsLocationsBucketsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13313,7 +13313,7 @@
 
 func (c *OrganizationsLocationsBucketsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13461,7 +13461,7 @@
 
 func (c *OrganizationsLocationsBucketsUndeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13603,7 +13603,7 @@
 
 func (c *OrganizationsLogsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13765,7 +13765,7 @@
 
 func (c *OrganizationsLogsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13955,7 +13955,7 @@
 
 func (c *OrganizationsSinksCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14100,7 +14100,7 @@
 
 func (c *OrganizationsSinksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14242,7 +14242,7 @@
 
 func (c *OrganizationsSinksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14408,7 +14408,7 @@
 
 func (c *OrganizationsSinksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14611,7 +14611,7 @@
 
 func (c *OrganizationsSinksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14796,7 +14796,7 @@
 
 func (c *OrganizationsSinksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14950,7 +14950,7 @@
 
 func (c *ProjectsExclusionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15089,7 +15089,7 @@
 
 func (c *ProjectsExclusionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15231,7 +15231,7 @@
 
 func (c *ProjectsExclusionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15397,7 +15397,7 @@
 
 func (c *ProjectsExclusionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15579,7 +15579,7 @@
 
 func (c *ProjectsExclusionsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15736,7 +15736,7 @@
 
 func (c *ProjectsLocationsBucketsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15882,7 +15882,7 @@
 
 func (c *ProjectsLocationsBucketsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16024,7 +16024,7 @@
 
 func (c *ProjectsLocationsBucketsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16190,7 +16190,7 @@
 
 func (c *ProjectsLocationsBucketsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16378,7 +16378,7 @@
 
 func (c *ProjectsLocationsBucketsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16526,7 +16526,7 @@
 
 func (c *ProjectsLocationsBucketsUndeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16668,7 +16668,7 @@
 
 func (c *ProjectsLogsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16830,7 +16830,7 @@
 
 func (c *ProjectsLogsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17000,7 +17000,7 @@
 
 func (c *ProjectsMetricsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17140,7 +17140,7 @@
 
 func (c *ProjectsMetricsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17283,7 +17283,7 @@
 
 func (c *ProjectsMetricsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17449,7 +17449,7 @@
 
 func (c *ProjectsMetricsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17619,7 +17619,7 @@
 
 func (c *ProjectsMetricsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17781,7 +17781,7 @@
 
 func (c *ProjectsSinksCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17926,7 +17926,7 @@
 
 func (c *ProjectsSinksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18068,7 +18068,7 @@
 
 func (c *ProjectsSinksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18234,7 +18234,7 @@
 
 func (c *ProjectsSinksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18437,7 +18437,7 @@
 
 func (c *ProjectsSinksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18622,7 +18622,7 @@
 
 func (c *ProjectsSinksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18794,7 +18794,7 @@
 
 func (c *SinksCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18939,7 +18939,7 @@
 
 func (c *SinksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19081,7 +19081,7 @@
 
 func (c *SinksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19247,7 +19247,7 @@
 
 func (c *SinksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19450,7 +19450,7 @@
 
 func (c *SinksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19617,7 +19617,7 @@
 
 func (c *V2GetCmekSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19774,7 +19774,7 @@
 
 func (c *V2UpdateCmekSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/managedidentities/v1/managedidentities-gen.go b/managedidentities/v1/managedidentities-gen.go
index 3db3427..6a2bc09 100644
--- a/managedidentities/v1/managedidentities-gen.go
+++ b/managedidentities/v1/managedidentities-gen.go
@@ -1808,7 +1808,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1982,7 +1982,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2159,7 +2159,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsAttachTrustCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2313,7 +2313,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2456,7 +2456,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2588,7 +2588,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsDetachTrustCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2737,7 +2737,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2898,7 +2898,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3083,7 +3083,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3269,7 +3269,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3415,7 +3415,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsReconfigureTrustCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3555,7 +3555,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsResetAdminPasswordCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3697,7 +3697,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3842,7 +3842,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3984,7 +3984,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsValidateTrustCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4133,7 +4133,7 @@
 
 func (c *ProjectsLocationsGlobalOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4274,7 +4274,7 @@
 
 func (c *ProjectsLocationsGlobalOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4417,7 +4417,7 @@
 
 func (c *ProjectsLocationsGlobalOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4591,7 +4591,7 @@
 
 func (c *ProjectsLocationsGlobalOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/managedidentities/v1alpha1/managedidentities-gen.go b/managedidentities/v1alpha1/managedidentities-gen.go
index 1fe9aa3..8534df2 100644
--- a/managedidentities/v1alpha1/managedidentities-gen.go
+++ b/managedidentities/v1alpha1/managedidentities-gen.go
@@ -1801,7 +1801,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1975,7 +1975,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2152,7 +2152,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsAttachTrustCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2306,7 +2306,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2449,7 +2449,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2581,7 +2581,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsDetachTrustCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2730,7 +2730,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2891,7 +2891,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3074,7 +3074,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3261,7 +3261,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3407,7 +3407,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsReconfigureTrustCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3548,7 +3548,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsResetAdminPasswordCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3690,7 +3690,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3835,7 +3835,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3975,7 +3975,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsValidateTrustCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4124,7 +4124,7 @@
 
 func (c *ProjectsLocationsGlobalOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4265,7 +4265,7 @@
 
 func (c *ProjectsLocationsGlobalOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4408,7 +4408,7 @@
 
 func (c *ProjectsLocationsGlobalOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4582,7 +4582,7 @@
 
 func (c *ProjectsLocationsGlobalOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/managedidentities/v1beta1/managedidentities-gen.go b/managedidentities/v1beta1/managedidentities-gen.go
index 2e5aa23..e39cce3 100644
--- a/managedidentities/v1beta1/managedidentities-gen.go
+++ b/managedidentities/v1beta1/managedidentities-gen.go
@@ -1807,7 +1807,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1981,7 +1981,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2158,7 +2158,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsAttachTrustCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2311,7 +2311,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2454,7 +2454,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2586,7 +2586,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsDetachTrustCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2735,7 +2735,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2896,7 +2896,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3081,7 +3081,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3267,7 +3267,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3413,7 +3413,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsReconfigureTrustCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3553,7 +3553,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsResetAdminPasswordCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3695,7 +3695,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3840,7 +3840,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3982,7 +3982,7 @@
 
 func (c *ProjectsLocationsGlobalDomainsValidateTrustCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4131,7 +4131,7 @@
 
 func (c *ProjectsLocationsGlobalOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4272,7 +4272,7 @@
 
 func (c *ProjectsLocationsGlobalOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4415,7 +4415,7 @@
 
 func (c *ProjectsLocationsGlobalOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4589,7 +4589,7 @@
 
 func (c *ProjectsLocationsGlobalOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/manufacturers/v1/manufacturers-gen.go b/manufacturers/v1/manufacturers-gen.go
index 3a8c314..641d881 100644
--- a/manufacturers/v1/manufacturers-gen.go
+++ b/manufacturers/v1/manufacturers-gen.go
@@ -837,7 +837,7 @@
 
 func (c *AccountsProductsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1007,7 +1007,7 @@
 
 func (c *AccountsProductsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1206,7 +1206,7 @@
 
 func (c *AccountsProductsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1405,7 +1405,7 @@
 
 func (c *AccountsProductsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/memcache/v1/memcache-gen.go b/memcache/v1/memcache-gen.go
index a876536..1a4f644 100644
--- a/memcache/v1/memcache-gen.go
+++ b/memcache/v1/memcache-gen.go
@@ -1539,7 +1539,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1705,7 +1705,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1879,7 +1879,7 @@
 
 func (c *ProjectsLocationsInstancesApplyParametersCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2033,7 +2033,7 @@
 
 func (c *ProjectsLocationsInstancesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2176,7 +2176,7 @@
 
 func (c *ProjectsLocationsInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2317,7 +2317,7 @@
 
 func (c *ProjectsLocationsInstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2499,7 +2499,7 @@
 
 func (c *ProjectsLocationsInstancesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2684,7 +2684,7 @@
 
 func (c *ProjectsLocationsInstancesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2835,7 +2835,7 @@
 
 func (c *ProjectsLocationsInstancesUpdateParametersCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2992,7 +2992,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3136,7 +3136,7 @@
 
 func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3281,7 +3281,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3462,7 +3462,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/memcache/v1beta2/memcache-gen.go b/memcache/v1beta2/memcache-gen.go
index cf94d9f..a5ac2ac 100644
--- a/memcache/v1beta2/memcache-gen.go
+++ b/memcache/v1beta2/memcache-gen.go
@@ -1539,7 +1539,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1705,7 +1705,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1879,7 +1879,7 @@
 
 func (c *ProjectsLocationsInstancesApplyParametersCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2033,7 +2033,7 @@
 
 func (c *ProjectsLocationsInstancesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2176,7 +2176,7 @@
 
 func (c *ProjectsLocationsInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2317,7 +2317,7 @@
 
 func (c *ProjectsLocationsInstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2499,7 +2499,7 @@
 
 func (c *ProjectsLocationsInstancesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2684,7 +2684,7 @@
 
 func (c *ProjectsLocationsInstancesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2835,7 +2835,7 @@
 
 func (c *ProjectsLocationsInstancesUpdateParametersCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2992,7 +2992,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3136,7 +3136,7 @@
 
 func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3281,7 +3281,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3462,7 +3462,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/ml/v1/ml-api.json b/ml/v1/ml-api.json
index 1198716..69d05cf 100644
--- a/ml/v1/ml-api.json
+++ b/ml/v1/ml-api.json
@@ -111,7 +111,7 @@
     "projects": {
       "methods": {
         "explain": {
-          "description": "Performs explanation on the data in the request.\n\n\u003cdiv\u003e{% dynamic include \"/ai-platform/includes/___explain-request\" %}\u003c/div\u003e",
+          "description": "Performs explanation on the data in the request. {% dynamic include \"/ai-platform/includes/___explain-request\" %} ",
           "flatPath": "v1/projects/{projectsId}:explain",
           "httpMethod": "POST",
           "id": "ml.projects.explain",
@@ -120,7 +120,7 @@
           ],
           "parameters": {
             "name": {
-              "description": "Required. The resource name of a model or a version.\n\nAuthorization: requires the `predict` permission on the specified resource.",
+              "description": "Required. The resource name of a model or a version. Authorization: requires the `predict` permission on the specified resource.",
               "location": "path",
               "pattern": "^projects/.*$",
               "required": true,
@@ -139,7 +139,7 @@
           ]
         },
         "getConfig": {
-          "description": "Get the service account information associated with your project. You need\nthis information in order to grant the service account permissions for\nthe Google Cloud Storage location where you put your model training code\nfor training the model with Google Cloud Machine Learning.",
+          "description": "Get the service account information associated with your project. You need this information in order to grant the service account permissions for the Google Cloud Storage location where you put your model training code for training the model with Google Cloud Machine Learning.",
           "flatPath": "v1/projects/{projectsId}:getConfig",
           "httpMethod": "GET",
           "id": "ml.projects.getConfig",
@@ -164,7 +164,7 @@
           ]
         },
         "predict": {
-          "description": "Performs online prediction on the data in the request.\n\n\u003cdiv\u003e{% dynamic include \"/ai-platform/includes/___predict-request\" %}\u003c/div\u003e",
+          "description": "Performs online prediction on the data in the request. {% dynamic include \"/ai-platform/includes/___predict-request\" %} ",
           "flatPath": "v1/projects/{projectsId}:predict",
           "httpMethod": "POST",
           "id": "ml.projects.predict",
@@ -173,7 +173,7 @@
           ],
           "parameters": {
             "name": {
-              "description": "Required. The resource name of a model or a version.\n\nAuthorization: requires the `predict` permission on the specified resource.",
+              "description": "Required. The resource name of a model or a version. Authorization: requires the `predict` permission on the specified resource.",
               "location": "path",
               "pattern": "^projects/.*$",
               "required": true,
@@ -278,7 +278,7 @@
               ]
             },
             "getIamPolicy": {
-              "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
+              "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
               "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}:getIamPolicy",
               "httpMethod": "GET",
               "id": "ml.projects.jobs.getIamPolicy",
@@ -287,13 +287,13 @@
               ],
               "parameters": {
                 "options.requestedPolicyVersion": {
-                  "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+                  "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
                 },
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/jobs/[^/]+$",
                   "required": true,
@@ -309,7 +309,7 @@
               ]
             },
             "list": {
-              "description": "Lists the jobs in the project.\n\nIf there are no jobs that match the request parameters, the list\nrequest returns an empty response body: {}.",
+              "description": "Lists the jobs in the project. If there are no jobs that match the request parameters, the list request returns an empty response body: {}.",
               "flatPath": "v1/projects/{projectsId}/jobs",
               "httpMethod": "GET",
               "id": "ml.projects.jobs.list",
@@ -318,18 +318,18 @@
               ],
               "parameters": {
                 "filter": {
-                  "description": "Optional. Specifies the subset of jobs to retrieve.\nYou can filter on the value of one or more attributes of the job object.\nFor example, retrieve jobs with a job identifier that starts with 'census':\n\u003cp\u003e\u003ccode\u003egcloud ai-platform jobs list --filter='jobId:census*'\u003c/code\u003e\n\u003cp\u003eList all failed jobs with names that start with 'rnn':\n\u003cp\u003e\u003ccode\u003egcloud ai-platform jobs list --filter='jobId:rnn*\nAND state:FAILED'\u003c/code\u003e\n\u003cp\u003eFor more examples, see the guide to\n\u003ca href=\"/ml-engine/docs/tensorflow/monitor-training\"\u003emonitoring jobs\u003c/a\u003e.",
+                  "description": "Optional. Specifies the subset of jobs to retrieve. You can filter on the value of one or more attributes of the job object. For example, retrieve jobs with a job identifier that starts with 'census': gcloud ai-platform jobs list --filter='jobId:census*' List all failed jobs with names that start with 'rnn': gcloud ai-platform jobs list --filter='jobId:rnn* AND state:FAILED' For more examples, see the guide to monitoring jobs.",
                   "location": "query",
                   "type": "string"
                 },
                 "pageSize": {
-                  "description": "Optional. The number of jobs to retrieve per \"page\" of results. If there\nare more remaining results than this number, the response message will\ncontain a valid value in the `next_page_token` field.\n\nThe default value is 20, and the maximum page size is 100.",
+                  "description": "Optional. The number of jobs to retrieve per \"page\" of results. If there are more remaining results than this number, the response message will contain a valid value in the `next_page_token` field. The default value is 20, and the maximum page size is 100.",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "Optional. A page token to request the next page of results.\n\nYou get the token from the `next_page_token` field of the response from\nthe previous call.",
+                  "description": "Optional. A page token to request the next page of results. You get the token from the `next_page_token` field of the response from the previous call.",
                   "location": "query",
                   "type": "string"
                 },
@@ -351,7 +351,7 @@
               ]
             },
             "patch": {
-              "description": "Updates a specific job resource.\n\nCurrently the only supported fields to update are `labels`.",
+              "description": "Updates a specific job resource. Currently the only supported fields to update are `labels`.",
               "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}",
               "httpMethod": "PATCH",
               "id": "ml.projects.jobs.patch",
@@ -367,7 +367,7 @@
                   "type": "string"
                 },
                 "updateMask": {
-                  "description": "Required. Specifies the path, relative to `Job`, of the field to update.\nTo adopt etag mechanism, include `etag` field in the mask, and include the\n`etag` value in your job resource.\n\nFor example, to change the labels of a job, the `update_mask` parameter\nwould be specified as `labels`, `etag`, and the\n`PATCH` request body would specify the new value, as follows:\n    {\n      \"labels\": {\n         \"owner\": \"Google\",\n         \"color\": \"Blue\"\n      }\n      \"etag\": \"33a64df551425fcc55e4d42a148795d9f25f89d4\"\n    }\nIf `etag` matches the one on the server, the labels of the job will be\nreplaced with the given ones, and the server end `etag` will be\nrecalculated.\n\nCurrently the only supported update masks are `labels` and `etag`.",
+                  "description": "Required. Specifies the path, relative to `Job`, of the field to update. To adopt etag mechanism, include `etag` field in the mask, and include the `etag` value in your job resource. For example, to change the labels of a job, the `update_mask` parameter would be specified as `labels`, `etag`, and the `PATCH` request body would specify the new value, as follows: { \"labels\": { \"owner\": \"Google\", \"color\": \"Blue\" } \"etag\": \"33a64df551425fcc55e4d42a148795d9f25f89d4\" } If `etag` matches the one on the server, the labels of the job will be replaced with the given ones, and the server end `etag` will be recalculated. Currently the only supported update masks are `labels` and `etag`.",
                   "format": "google-fieldmask",
                   "location": "query",
                   "type": "string"
@@ -385,7 +385,7 @@
               ]
             },
             "setIamPolicy": {
-              "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
+              "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
               "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}:setIamPolicy",
               "httpMethod": "POST",
               "id": "ml.projects.jobs.setIamPolicy",
@@ -394,7 +394,7 @@
               ],
               "parameters": {
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/jobs/[^/]+$",
                   "required": true,
@@ -413,7 +413,7 @@
               ]
             },
             "testIamPermissions": {
-              "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+              "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
               "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}:testIamPermissions",
               "httpMethod": "POST",
               "id": "ml.projects.jobs.testIamPermissions",
@@ -422,7 +422,7 @@
               ],
               "parameters": {
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/jobs/[^/]+$",
                   "required": true,
@@ -445,7 +445,7 @@
         "locations": {
           "methods": {
             "get": {
-              "description": "Get the complete list of CMLE capabilities in a location, along with their\nlocation-specific properties.",
+              "description": "Get the complete list of CMLE capabilities in a location, along with their location-specific properties.",
               "flatPath": "v1/projects/{projectsId}/locations/{locationsId}",
               "httpMethod": "GET",
               "id": "ml.projects.locations.get",
@@ -480,18 +480,18 @@
               ],
               "parameters": {
                 "pageSize": {
-                  "description": "Optional. The number of locations to retrieve per \"page\" of results. If\nthere are more remaining results than this number, the response message\nwill contain a valid value in the `next_page_token` field.\n\nThe default value is 20, and the maximum page size is 100.",
+                  "description": "Optional. The number of locations to retrieve per \"page\" of results. If there are more remaining results than this number, the response message will contain a valid value in the `next_page_token` field. The default value is 20, and the maximum page size is 100.",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "Optional. A page token to request the next page of results.\n\nYou get the token from the `next_page_token` field of the response from\nthe previous call.",
+                  "description": "Optional. A page token to request the next page of results. You get the token from the `next_page_token` field of the response from the previous call.",
                   "location": "query",
                   "type": "string"
                 },
                 "parent": {
-                  "description": "Required. The name of the project for which available locations are to be\nlisted (since some locations might be whitelisted for specific projects).",
+                  "description": "Required. The name of the project for which available locations are to be listed (since some locations might be whitelisted for specific projects).",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
@@ -512,7 +512,7 @@
             "operations": {
               "methods": {
                 "cancel": {
-                  "description": "Starts asynchronous cancellation on a long-running operation.  The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed.  If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.  Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
+                  "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
                   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
                   "httpMethod": "POST",
                   "id": "ml.projects.locations.operations.cancel",
@@ -537,7 +537,7 @@
                   ]
                 },
                 "get": {
-                  "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+                  "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
                   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
                   "httpMethod": "GET",
                   "id": "ml.projects.locations.operations.get",
@@ -575,14 +575,14 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Required. The project and location that the study belongs to.\nFormat: projects/{project}/locations/{location}",
+                      "description": "Required. The project and location that the study belongs to. Format: projects/{project}/locations/{location}",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
                       "type": "string"
                     },
                     "studyId": {
-                      "description": "Required. The ID to use for the study, which will become the final component of\nthe study's resource name.",
+                      "description": "Required. The ID to use for the study, which will become the final component of the study's resource name.",
                       "location": "query",
                       "type": "string"
                     }
@@ -658,7 +658,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Required. The project and location that the study belongs to.\nFormat: projects/{project}/locations/{location}",
+                      "description": "Required. The project and location that the study belongs to. Format: projects/{project}/locations/{location}",
                       "location": "path",
                       "pattern": "^projects/[^/]+/locations/[^/]+$",
                       "required": true,
@@ -678,7 +678,7 @@
                 "trials": {
                   "methods": {
                     "addMeasurement": {
-                      "description": "Adds a measurement of the objective metrics to a trial. This measurement\nis assumed to have been taken before the trial is complete.",
+                      "description": "Adds a measurement of the objective metrics to a trial. This measurement is assumed to have been taken before the trial is complete.",
                       "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:addMeasurement",
                       "httpMethod": "POST",
                       "id": "ml.projects.locations.studies.trials.addMeasurement",
@@ -706,7 +706,7 @@
                       ]
                     },
                     "checkEarlyStoppingState": {
-                      "description": "Checks  whether a trial should stop or not. Returns a\nlong-running operation. When the operation is successful,\nit will contain a\nCheckTrialEarlyStoppingStateResponse.",
+                      "description": "Checks whether a trial should stop or not. Returns a long-running operation. When the operation is successful, it will contain a CheckTrialEarlyStoppingStateResponse.",
                       "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:checkEarlyStoppingState",
                       "httpMethod": "POST",
                       "id": "ml.projects.locations.studies.trials.checkEarlyStoppingState",
@@ -893,7 +893,7 @@
                       ]
                     },
                     "suggest": {
-                      "description": "Adds one or more trials to a study, with parameter values\nsuggested by AI Platform Optimizer. Returns a long-running\noperation associated with the generation of trial suggestions.\nWhen this long-running operation succeeds, it will contain\na SuggestTrialsResponse.",
+                      "description": "Adds one or more trials to a study, with parameter values suggested by AI Platform Optimizer. Returns a long-running operation associated with the generation of trial suggestions. When this long-running operation succeeds, it will contain a SuggestTrialsResponse.",
                       "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials:suggest",
                       "httpMethod": "POST",
                       "id": "ml.projects.locations.studies.trials.suggest",
@@ -929,7 +929,7 @@
         "models": {
           "methods": {
             "create": {
-              "description": "Creates a model which will later contain one or more versions.\n\nYou must add at least one version before you can request predictions from\nthe model. Add versions by calling\nprojects.models.versions.create.",
+              "description": "Creates a model which will later contain one or more versions. You must add at least one version before you can request predictions from the model. Add versions by calling projects.models.versions.create.",
               "flatPath": "v1/projects/{projectsId}/models",
               "httpMethod": "POST",
               "id": "ml.projects.models.create",
@@ -957,7 +957,7 @@
               ]
             },
             "delete": {
-              "description": "Deletes a model.\n\nYou can only delete a model if there are no versions in it. You can delete\nversions by calling\nprojects.models.versions.delete.",
+              "description": "Deletes a model. You can only delete a model if there are no versions in it. You can delete versions by calling projects.models.versions.delete.",
               "flatPath": "v1/projects/{projectsId}/models/{modelsId}",
               "httpMethod": "DELETE",
               "id": "ml.projects.models.delete",
@@ -982,7 +982,7 @@
               ]
             },
             "get": {
-              "description": "Gets information about a model, including its name, the description (if\nset), and the default version (if at least one version of the model has\nbeen deployed).",
+              "description": "Gets information about a model, including its name, the description (if set), and the default version (if at least one version of the model has been deployed).",
               "flatPath": "v1/projects/{projectsId}/models/{modelsId}",
               "httpMethod": "GET",
               "id": "ml.projects.models.get",
@@ -1008,7 +1008,7 @@
               ]
             },
             "getIamPolicy": {
-              "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
+              "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
               "flatPath": "v1/projects/{projectsId}/models/{modelsId}:getIamPolicy",
               "httpMethod": "GET",
               "id": "ml.projects.models.getIamPolicy",
@@ -1017,13 +1017,13 @@
               ],
               "parameters": {
                 "options.requestedPolicyVersion": {
-                  "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+                  "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
                 },
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/models/[^/]+$",
                   "required": true,
@@ -1039,7 +1039,7 @@
               ]
             },
             "list": {
-              "description": "Lists the models in a project.\n\nEach project can contain multiple models, and each model can have multiple\nversions.\n\nIf there are no models that match the request parameters, the list request\nreturns an empty response body: {}.",
+              "description": "Lists the models in a project. Each project can contain multiple models, and each model can have multiple versions. If there are no models that match the request parameters, the list request returns an empty response body: {}.",
               "flatPath": "v1/projects/{projectsId}/models",
               "httpMethod": "GET",
               "id": "ml.projects.models.list",
@@ -1053,13 +1053,13 @@
                   "type": "string"
                 },
                 "pageSize": {
-                  "description": "Optional. The number of models to retrieve per \"page\" of results. If there\nare more remaining results than this number, the response message will\ncontain a valid value in the `next_page_token` field.\n\nThe default value is 20, and the maximum page size is 100.",
+                  "description": "Optional. The number of models to retrieve per \"page\" of results. If there are more remaining results than this number, the response message will contain a valid value in the `next_page_token` field. The default value is 20, and the maximum page size is 100.",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "Optional. A page token to request the next page of results.\n\nYou get the token from the `next_page_token` field of the response from\nthe previous call.",
+                  "description": "Optional. A page token to request the next page of results. You get the token from the `next_page_token` field of the response from the previous call.",
                   "location": "query",
                   "type": "string"
                 },
@@ -1081,7 +1081,7 @@
               ]
             },
             "patch": {
-              "description": "Updates a specific model resource.\n\nCurrently the only supported fields to update are `description` and\n`default_version.name`.",
+              "description": "Updates a specific model resource. Currently the only supported fields to update are `description` and `default_version.name`.",
               "flatPath": "v1/projects/{projectsId}/models/{modelsId}",
               "httpMethod": "PATCH",
               "id": "ml.projects.models.patch",
@@ -1097,7 +1097,7 @@
                   "type": "string"
                 },
                 "updateMask": {
-                  "description": "Required. Specifies the path, relative to `Model`, of the field to update.\n\nFor example, to change the description of a model to \"foo\" and set its\ndefault version to \"version_1\", the `update_mask` parameter would be\nspecified as `description`, `default_version.name`, and the `PATCH`\nrequest body would specify the new value, as follows:\n    {\n      \"description\": \"foo\",\n      \"defaultVersion\": {\n        \"name\":\"version_1\"\n      }\n    }\n\nCurrently the supported update masks are `description` and\n`default_version.name`.",
+                  "description": "Required. Specifies the path, relative to `Model`, of the field to update. For example, to change the description of a model to \"foo\" and set its default version to \"version_1\", the `update_mask` parameter would be specified as `description`, `default_version.name`, and the `PATCH` request body would specify the new value, as follows: { \"description\": \"foo\", \"defaultVersion\": { \"name\":\"version_1\" } } Currently the supported update masks are `description` and `default_version.name`.",
                   "format": "google-fieldmask",
                   "location": "query",
                   "type": "string"
@@ -1115,7 +1115,7 @@
               ]
             },
             "setIamPolicy": {
-              "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
+              "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
               "flatPath": "v1/projects/{projectsId}/models/{modelsId}:setIamPolicy",
               "httpMethod": "POST",
               "id": "ml.projects.models.setIamPolicy",
@@ -1124,7 +1124,7 @@
               ],
               "parameters": {
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/models/[^/]+$",
                   "required": true,
@@ -1143,7 +1143,7 @@
               ]
             },
             "testIamPermissions": {
-              "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+              "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
               "flatPath": "v1/projects/{projectsId}/models/{modelsId}:testIamPermissions",
               "httpMethod": "POST",
               "id": "ml.projects.models.testIamPermissions",
@@ -1152,7 +1152,7 @@
               ],
               "parameters": {
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/models/[^/]+$",
                   "required": true,
@@ -1175,7 +1175,7 @@
             "versions": {
               "methods": {
                 "create": {
-                  "description": "Creates a new version of a model from a trained TensorFlow model.\n\nIf the version created in the cloud by this call is the first deployed\nversion of the specified model, it will be made the default version of the\nmodel. When you add a version to a model that already has one or more\nversions, the default version does not automatically change. If you want a\nnew version to be the default, you must call\nprojects.models.versions.setDefault.",
+                  "description": "Creates a new version of a model from a trained TensorFlow model. If the version created in the cloud by this call is the first deployed version of the specified model, it will be made the default version of the model. When you add a version to a model that already has one or more versions, the default version does not automatically change. If you want a new version to be the default, you must call projects.models.versions.setDefault.",
                   "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions",
                   "httpMethod": "POST",
                   "id": "ml.projects.models.versions.create",
@@ -1203,7 +1203,7 @@
                   ]
                 },
                 "delete": {
-                  "description": "Deletes a model version.\n\nEach model can have multiple versions deployed and in use at any given\ntime. Use this method to remove a single version.\n\nNote: You cannot delete the version that is set as the default version\nof the model unless it is the only remaining version.",
+                  "description": "Deletes a model version. Each model can have multiple versions deployed and in use at any given time. Use this method to remove a single version. Note: You cannot delete the version that is set as the default version of the model unless it is the only remaining version.",
                   "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}",
                   "httpMethod": "DELETE",
                   "id": "ml.projects.models.versions.delete",
@@ -1212,7 +1212,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The name of the version. You can get the names of all the\nversions of a model by calling\nprojects.models.versions.list.",
+                      "description": "Required. The name of the version. You can get the names of all the versions of a model by calling projects.models.versions.list.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/models/[^/]+/versions/[^/]+$",
                       "required": true,
@@ -1228,7 +1228,7 @@
                   ]
                 },
                 "get": {
-                  "description": "Gets information about a model version.\n\nModels can have multiple versions. You can call\nprojects.models.versions.list\nto get the same information that this method returns for all of the\nversions of a model.",
+                  "description": "Gets information about a model version. Models can have multiple versions. You can call projects.models.versions.list to get the same information that this method returns for all of the versions of a model.",
                   "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}",
                   "httpMethod": "GET",
                   "id": "ml.projects.models.versions.get",
@@ -1253,7 +1253,7 @@
                   ]
                 },
                 "list": {
-                  "description": "Gets basic information about all the versions of a model.\n\nIf you expect that a model has many versions, or if you need to handle\nonly a limited number of results at a time, you can request that the list\nbe retrieved in batches (called pages).\n\nIf there are no versions that match the request parameters, the list\nrequest returns an empty response body: {}.",
+                  "description": "Gets basic information about all the versions of a model. If you expect that a model has many versions, or if you need to handle only a limited number of results at a time, you can request that the list be retrieved in batches (called pages). If there are no versions that match the request parameters, the list request returns an empty response body: {}.",
                   "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions",
                   "httpMethod": "GET",
                   "id": "ml.projects.models.versions.list",
@@ -1267,13 +1267,13 @@
                       "type": "string"
                     },
                     "pageSize": {
-                      "description": "Optional. The number of versions to retrieve per \"page\" of results. If\nthere are more remaining results than this number, the response message\nwill contain a valid value in the `next_page_token` field.\n\nThe default value is 20, and the maximum page size is 100.",
+                      "description": "Optional. The number of versions to retrieve per \"page\" of results. If there are more remaining results than this number, the response message will contain a valid value in the `next_page_token` field. The default value is 20, and the maximum page size is 100.",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "Optional. A page token to request the next page of results.\n\nYou get the token from the `next_page_token` field of the response from\nthe previous call.",
+                      "description": "Optional. A page token to request the next page of results. You get the token from the `next_page_token` field of the response from the previous call.",
                       "location": "query",
                       "type": "string"
                     },
@@ -1295,7 +1295,7 @@
                   ]
                 },
                 "patch": {
-                  "description": "Updates the specified Version resource.\n\nCurrently the only update-able fields are `description`,\n`requestLoggingConfig`, `autoScaling.minNodes`, and `manualScaling.nodes`.",
+                  "description": "Updates the specified Version resource. Currently the only update-able fields are `description`, `requestLoggingConfig`, `autoScaling.minNodes`, and `manualScaling.nodes`.",
                   "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}",
                   "httpMethod": "PATCH",
                   "id": "ml.projects.models.versions.patch",
@@ -1311,7 +1311,7 @@
                       "type": "string"
                     },
                     "updateMask": {
-                      "description": "Required. Specifies the path, relative to `Version`, of the field to\nupdate. Must be present and non-empty.\n\nFor example, to change the description of a version to \"foo\", the\n`update_mask` parameter would be specified as `description`, and the\n`PATCH` request body would specify the new value, as follows:\n\n```\n{\n  \"description\": \"foo\"\n}\n```\n\nCurrently the only supported update mask fields are `description`,\n`requestLoggingConfig`, `autoScaling.minNodes`, and `manualScaling.nodes`.\nHowever, you can only update `manualScaling.nodes` if the version uses a\n[Compute Engine (N1)\nmachine type](/ml-engine/docs/machine-types-online-prediction).",
+                      "description": "Required. Specifies the path, relative to `Version`, of the field to update. Must be present and non-empty. For example, to change the description of a version to \"foo\", the `update_mask` parameter would be specified as `description`, and the `PATCH` request body would specify the new value, as follows: ``` { \"description\": \"foo\" } ``` Currently the only supported update mask fields are `description`, `requestLoggingConfig`, `autoScaling.minNodes`, and `manualScaling.nodes`. However, you can only update `manualScaling.nodes` if the version uses a [Compute Engine (N1) machine type](/ml-engine/docs/machine-types-online-prediction).",
                       "format": "google-fieldmask",
                       "location": "query",
                       "type": "string"
@@ -1329,7 +1329,7 @@
                   ]
                 },
                 "setDefault": {
-                  "description": "Designates a version to be the default for the model.\n\nThe default version is used for prediction requests made against the model\nthat don't specify a version.\n\nThe first version to be created for a model is automatically set as the\ndefault. You must make any subsequent changes to the default version\nsetting manually using this method.",
+                  "description": "Designates a version to be the default for the model. The default version is used for prediction requests made against the model that don't specify a version. The first version to be created for a model is automatically set as the default. You must make any subsequent changes to the default version setting manually using this method.",
                   "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}:setDefault",
                   "httpMethod": "POST",
                   "id": "ml.projects.models.versions.setDefault",
@@ -1338,7 +1338,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The name of the version to make the default for the model. You\ncan get the names of all the versions of a model by calling\nprojects.models.versions.list.",
+                      "description": "Required. The name of the version to make the default for the model. You can get the names of all the versions of a model by calling projects.models.versions.list.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/models/[^/]+/versions/[^/]+$",
                       "required": true,
@@ -1363,7 +1363,7 @@
         "operations": {
           "methods": {
             "cancel": {
-              "description": "Starts asynchronous cancellation on a long-running operation.  The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed.  If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.  Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
+              "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
               "flatPath": "v1/projects/{projectsId}/operations/{operationsId}:cancel",
               "httpMethod": "POST",
               "id": "ml.projects.operations.cancel",
@@ -1388,7 +1388,7 @@
               ]
             },
             "get": {
-              "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+              "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
               "flatPath": "v1/projects/{projectsId}/operations/{operationsId}",
               "httpMethod": "GET",
               "id": "ml.projects.operations.get",
@@ -1413,7 +1413,7 @@
               ]
             },
             "list": {
-              "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
+              "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
               "flatPath": "v1/projects/{projectsId}/operations",
               "httpMethod": "GET",
               "id": "ml.projects.operations.list",
@@ -1458,11 +1458,11 @@
       }
     }
   },
-  "revision": "20200714",
+  "revision": "20200806",
   "rootUrl": "https://ml.googleapis.com/",
   "schemas": {
     "GoogleApi__HttpBody": {
-      "description": "Message that represents an arbitrary HTTP body. It should only be used for\npayload formats that can't be represented as JSON, such as raw binary or\nan HTML page.\n\n\nThis message can be used both in streaming and non-streaming API methods in\nthe request as well as the response.\n\nIt can be used as a top-level request field, which is convenient if one\nwants to extract parameters from either the URL or HTTP template into the\nrequest fields and also want access to the raw HTTP body.\n\nExample:\n\n    message GetResourceRequest {\n      // A unique request id.\n      string request_id = 1;\n\n      // The raw HTTP body is bound to this field.\n      google.api.HttpBody http_body = 2;\n    }\n\n    service ResourceService {\n      rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);\n      rpc UpdateResource(google.api.HttpBody) returns\n      (google.protobuf.Empty);\n    }\n\nExample with streaming methods:\n\n    service CaldavService {\n      rpc GetCalendar(stream google.api.HttpBody)\n        returns (stream google.api.HttpBody);\n      rpc UpdateCalendar(stream google.api.HttpBody)\n        returns (stream google.api.HttpBody);\n    }\n\nUse of this type only changes how the request and response bodies are\nhandled, all other features will continue to work unchanged.",
+      "description": "Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.",
       "id": "GoogleApi__HttpBody",
       "properties": {
         "contentType": {
@@ -1475,7 +1475,7 @@
           "type": "string"
         },
         "extensions": {
-          "description": "Application specific response metadata. Must be set in the first response\nfor streaming APIs.",
+          "description": "Application specific response metadata. Must be set in the first response for streaming APIs.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -1492,18 +1492,18 @@
       "id": "GoogleCloudMlV1_AutomatedStoppingConfig_DecayCurveAutomatedStoppingConfig",
       "properties": {
         "useElapsedTime": {
-          "description": "If true, measurement.elapsed_time is used as the x-axis of each\nTrials Decay Curve. Otherwise, Measurement.steps will be used as the\nx-axis.",
+          "description": "If true, measurement.elapsed_time is used as the x-axis of each Trials Decay Curve. Otherwise, Measurement.steps will be used as the x-axis.",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "GoogleCloudMlV1_AutomatedStoppingConfig_MedianAutomatedStoppingConfig": {
-      "description": "The median automated stopping rule stops a pending trial if the trial's\nbest objective_value is strictly below the median 'performance' of all\ncompleted trials reported up to the trial's last measurement.\nCurrently, 'performance' refers to the running average of the objective\nvalues reported by the trial in each measurement.",
+      "description": "The median automated stopping rule stops a pending trial if the trial's best objective_value is strictly below the median 'performance' of all completed trials reported up to the trial's last measurement. Currently, 'performance' refers to the running average of the objective values reported by the trial in each measurement.",
       "id": "GoogleCloudMlV1_AutomatedStoppingConfig_MedianAutomatedStoppingConfig",
       "properties": {
         "useElapsedTime": {
-          "description": "If true, the median automated stopping rule applies to\nmeasurement.use_elapsed_time, which means the elapsed_time field of\nthe current trial's\nlatest measurement is used to compute the median objective\nvalue for each completed trial.",
+          "description": "If true, the median automated stopping rule applies to measurement.use_elapsed_time, which means the elapsed_time field of the current trial's latest measurement is used to compute the median objective value for each completed trial.",
           "type": "boolean"
         }
       },
@@ -1546,7 +1546,7 @@
       "id": "GoogleCloudMlV1_StudyConfigParameterSpec_CategoricalValueSpec",
       "properties": {
         "values": {
-          "description": "Must be specified if type is `CATEGORICAL`.\nThe list of possible categories.",
+          "description": "Must be specified if type is `CATEGORICAL`. The list of possible categories.",
           "items": {
             "type": "string"
           },
@@ -1559,7 +1559,7 @@
       "id": "GoogleCloudMlV1_StudyConfigParameterSpec_DiscreteValueSpec",
       "properties": {
         "values": {
-          "description": "Must be specified if type is `DISCRETE`.\nA list of feasible points.\nThe list should be in strictly increasing order. For instance, this\nparameter might have possible settings of 1.5, 2.5, and 4.0. This list\nshould not contain more than 1,000 values.",
+          "description": "Must be specified if type is `DISCRETE`. A list of feasible points. The list should be in strictly increasing order. For instance, this parameter might have possible settings of 1.5, 2.5, and 4.0. This list should not contain more than 1,000 values.",
           "items": {
             "format": "double",
             "type": "number"
@@ -1606,7 +1606,7 @@
       "id": "GoogleCloudMlV1_StudyConfigParameterSpec_MatchingParentCategoricalValueSpec",
       "properties": {
         "values": {
-          "description": "Matches values of the parent parameter with type 'CATEGORICAL'.\nAll values must exist in `categorical_value_spec` of parent parameter.",
+          "description": "Matches values of the parent parameter with type 'CATEGORICAL'. All values must exist in `categorical_value_spec` of parent parameter.",
           "items": {
             "type": "string"
           },
@@ -1620,7 +1620,7 @@
       "id": "GoogleCloudMlV1_StudyConfigParameterSpec_MatchingParentDiscreteValueSpec",
       "properties": {
         "values": {
-          "description": "Matches values of the parent parameter with type 'DISCRETE'.\nAll values must exist in `discrete_value_spec` of parent parameter.",
+          "description": "Matches values of the parent parameter with type 'DISCRETE'. All values must exist in `discrete_value_spec` of parent parameter.",
           "items": {
             "format": "double",
             "type": "number"
@@ -1635,7 +1635,7 @@
       "id": "GoogleCloudMlV1_StudyConfigParameterSpec_MatchingParentIntValueSpec",
       "properties": {
         "values": {
-          "description": "Matches values of the parent parameter with type 'INTEGER'.\nAll values must lie in `integer_value_spec` of parent parameter.",
+          "description": "Matches values of the parent parameter with type 'INTEGER'. All values must lie in `integer_value_spec` of parent parameter.",
           "items": {
             "format": "int64",
             "type": "string"
@@ -1679,7 +1679,7 @@
           "description": "The value spec for a 'CATEGORICAL' parameter."
         },
         "childParameterSpecs": {
-          "description": "A child node is active if the parameter's value matches the child node's\nmatching_parent_values.\n\nIf two items in child_parameter_specs have the same name, they must have\ndisjoint matching_parent_values.",
+          "description": "A child node is active if the parameter's value matches the child node's matching_parent_values. If two items in child_parameter_specs have the same name, they must have disjoint matching_parent_values.",
           "items": {
             "$ref": "GoogleCloudMlV1_StudyConfig_ParameterSpec"
           },
@@ -1711,7 +1711,7 @@
           "$ref": "GoogleCloudMlV1_StudyConfigParameterSpec_MatchingParentIntValueSpec"
         },
         "scaleType": {
-          "description": "How the parameter should be scaled.\nLeave unset for categorical parameters.",
+          "description": "How the parameter should be scaled. Leave unset for categorical parameters.",
           "enum": [
             "SCALE_TYPE_UNSPECIFIED",
             "UNIT_LINEAR_SCALE",
@@ -1721,8 +1721,8 @@
           "enumDescriptions": [
             "By default, no scaling is applied.",
             "Scales the feasible space to (0, 1) linearly.",
-            "Scales the feasible space logarithmically to (0, 1). The entire\nfeasible space must be strictly positive.",
-            "Scales the feasible space \"reverse\" logarithmically to (0, 1). The\nresult is that values close to the top of the feasible space are spread\nout more than points near the bottom. The entire feasible space must be\nstrictly positive."
+            "Scales the feasible space logarithmically to (0, 1). The entire feasible space must be strictly positive.",
+            "Scales the feasible space \"reverse\" logarithmically to (0, 1). The result is that values close to the top of the feasible space are spread out more than points near the bottom. The entire feasible space must be strictly positive."
           ],
           "type": "string"
         },
@@ -1736,11 +1736,11 @@
             "DISCRETE"
           ],
           "enumDescriptions": [
-            "You must specify a valid type. Using this unspecified type will result\nin an error.",
+            "You must specify a valid type. Using this unspecified type will result in an error.",
             "Type for real-valued parameters.",
             "Type for integral parameters.",
-            "The parameter is categorical, with a value chosen from the categories\nfield.",
-            "The parameter is real valued, with a fixed set of feasible points. If\n`type==DISCRETE`, feasible_points must be provided, and\n{`min_value`, `max_value`} will be ignored."
+            "The parameter is categorical, with a value chosen from the categories field.",
+            "The parameter is real valued, with a fixed set of feasible points. If `type==DISCRETE`, feasible_points must be provided, and {`min_value`, `max_value`} will be ignored."
           ],
           "type": "string"
         }
@@ -1748,7 +1748,7 @@
       "type": "object"
     },
     "GoogleCloudMlV1_Trial_Parameter": {
-      "description": "A message representing a parameter to be tuned. Contains the name of\nthe parameter and the suggested value to use for this trial.",
+      "description": "A message representing a parameter to be tuned. Contains the name of the parameter and the suggested value to use for this trial.",
       "id": "GoogleCloudMlV1_Trial_Parameter",
       "properties": {
         "floatValue": {
@@ -1773,7 +1773,7 @@
       "type": "object"
     },
     "GoogleCloudMlV1__AcceleratorConfig": {
-      "description": "Represents a hardware accelerator request config.\nNote that the AcceleratorConfig can be used in both Jobs and Versions.\nLearn more about [accelerators for training](/ml-engine/docs/using-gpus) and\n[accelerators for online\nprediction](/ml-engine/docs/machine-types-online-prediction#gpus).",
+      "description": "Represents a hardware accelerator request config. Note that the AcceleratorConfig can be used in both Jobs and Versions. Learn more about [accelerators for training](/ml-engine/docs/using-gpus) and [accelerators for online prediction](/ml-engine/docs/machine-types-online-prediction#gpus).",
       "id": "GoogleCloudMlV1__AcceleratorConfig",
       "properties": {
         "count": {
@@ -1824,7 +1824,7 @@
       "id": "GoogleCloudMlV1__AutoScaling",
       "properties": {
         "minNodes": {
-          "description": "Optional. The minimum number of nodes to allocate for this model. These\nnodes are always up, starting from the time the model is deployed.\nTherefore, the cost of operating this model will be at least\n`rate` * `min_nodes` * number of hours since last billing cycle,\nwhere `rate` is the cost per node-hour as documented in the\n[pricing guide](/ml-engine/docs/pricing),\neven if no predictions are performed. There is additional cost for each\nprediction performed.\n\nUnlike manual scaling, if the load gets too heavy for the nodes\nthat are up, the service will automatically add nodes to handle the\nincreased load as well as scale back as traffic drops, always maintaining\nat least `min_nodes`. You will be charged for the time in which additional\nnodes are used.\n\nIf `min_nodes` is not specified and AutoScaling is used with a [legacy\n(MLS1) machine type](/ml-engine/docs/machine-types-online-prediction),\n`min_nodes` defaults to 0, in which case, when traffic to a model stops\n(and after a cool-down period), nodes will be shut down and no charges will\nbe incurred until traffic to the model resumes.\n\nIf `min_nodes` is not specified and AutoScaling is used with a [Compute\nEngine (N1) machine type](/ml-engine/docs/machine-types-online-prediction),\n`min_nodes` defaults to 1. `min_nodes` must be at least 1 for use with a\nCompute Engine machine type.\n\nNote that you cannot use AutoScaling if your version uses\n[GPUs](#Version.FIELDS.accelerator_config). Instead, you must use\nManualScaling.\n\nYou can set `min_nodes` when creating the model version, and you can also\nupdate `min_nodes` for an existing version:\n\u003cpre\u003e\nupdate_body.json:\n{\n  'autoScaling': {\n    'minNodes': 5\n  }\n}\n\u003c/pre\u003e\nHTTP request:\n\u003cpre style=\"max-width: 626px;\"\u003e\nPATCH\nhttps://ml.googleapis.com/v1/{name=projects/*/models/*/versions/*}?update_mask=autoScaling.minNodes\n-d @./update_body.json\n\u003c/pre\u003e",
+          "description": "Optional. The minimum number of nodes to allocate for this model. These nodes are always up, starting from the time the model is deployed. Therefore, the cost of operating this model will be at least `rate` * `min_nodes` * number of hours since last billing cycle, where `rate` is the cost per node-hour as documented in the [pricing guide](/ml-engine/docs/pricing), even if no predictions are performed. There is additional cost for each prediction performed. Unlike manual scaling, if the load gets too heavy for the nodes that are up, the service will automatically add nodes to handle the increased load as well as scale back as traffic drops, always maintaining at least `min_nodes`. You will be charged for the time in which additional nodes are used. If `min_nodes` is not specified and AutoScaling is used with a [legacy (MLS1) machine type](/ml-engine/docs/machine-types-online-prediction), `min_nodes` defaults to 0, in which case, when traffic to a model stops (and after a cool-down period), nodes will be shut down and no charges will be incurred until traffic to the model resumes. If `min_nodes` is not specified and AutoScaling is used with a [Compute Engine (N1) machine type](/ml-engine/docs/machine-types-online-prediction), `min_nodes` defaults to 1. `min_nodes` must be at least 1 for use with a Compute Engine machine type. Note that you cannot use AutoScaling if your version uses [GPUs](#Version.FIELDS.accelerator_config). Instead, you must use ManualScaling. You can set `min_nodes` when creating the model version, and you can also update `min_nodes` for an existing version: update_body.json: { 'autoScaling': { 'minNodes': 5 } } HTTP request: PATCH https://ml.googleapis.com/v1/{name=projects/*/models/*/versions/*}?update_mask=autoScaling.minNodes -d @./update_body.json ",
           "format": "int32",
           "type": "integer"
         }
@@ -1832,7 +1832,7 @@
       "type": "object"
     },
     "GoogleCloudMlV1__AutomatedStoppingConfig": {
-      "description": "Configuration for Automated Early Stopping of Trials. If no\nimplementation_config is set, automated early stopping will not be run.",
+      "description": "Configuration for Automated Early Stopping of Trials. If no implementation_config is set, automated early stopping will not be run.",
       "id": "GoogleCloudMlV1__AutomatedStoppingConfig",
       "properties": {
         "decayCurveStoppingConfig": {
@@ -1853,7 +1853,7 @@
           "type": "string"
         },
         "modelPath": {
-          "description": "The Cloud Storage path to the `model/` directory where the training job\nsaves the trained model. Only set for successful jobs that don't use\nhyperparameter tuning.",
+          "description": "The Cloud Storage path to the `model/` directory where the training job saves the trained model. Only set for successful jobs that don't use hyperparameter tuning.",
           "type": "string"
         },
         "pythonVersion": {
@@ -1861,7 +1861,7 @@
           "type": "string"
         },
         "runtimeVersion": {
-          "description": "AI Platform runtime version on which the built-in algorithm was\ntrained.",
+          "description": "AI Platform runtime version on which the built-in algorithm was trained.",
           "type": "string"
         }
       },
@@ -1899,6 +1899,16 @@
               "TPU_V2",
               "TPU_V3"
             ],
+            "enumDescriptions": [
+              "Unspecified accelerator type. Default to no GPU.",
+              "Nvidia Tesla K80 GPU.",
+              "Nvidia Tesla P100 GPU.",
+              "Nvidia Tesla V100 GPU.",
+              "Nvidia Tesla P4 GPU.",
+              "Nvidia Tesla T4 GPU.",
+              "TPU v2.",
+              "TPU v3."
+            ],
             "type": "string"
           },
           "type": "array"
@@ -1922,7 +1932,7 @@
       "type": "object"
     },
     "GoogleCloudMlV1__CheckTrialEarlyStoppingStateMetatdata": {
-      "description": "This message will be placed in the metadata field of a\ngoogle.longrunning.Operation associated with a CheckTrialEarlyStoppingState\nrequest.",
+      "description": "This message will be placed in the metadata field of a google.longrunning.Operation associated with a CheckTrialEarlyStoppingState request.",
       "id": "GoogleCloudMlV1__CheckTrialEarlyStoppingStateMetatdata",
       "properties": {
         "createTime": {
@@ -1948,7 +1958,7 @@
       "type": "object"
     },
     "GoogleCloudMlV1__CheckTrialEarlyStoppingStateResponse": {
-      "description": "The message will be placed in the response field of a completed\ngoogle.longrunning.Operation associated with a CheckTrialEarlyStoppingState\nrequest.",
+      "description": "The message will be placed in the response field of a completed google.longrunning.Operation associated with a CheckTrialEarlyStoppingState request.",
       "id": "GoogleCloudMlV1__CheckTrialEarlyStoppingStateResponse",
       "properties": {
         "endTime": {
@@ -1974,14 +1984,14 @@
       "properties": {
         "finalMeasurement": {
           "$ref": "GoogleCloudMlV1__Measurement",
-          "description": "Optional. If provided, it will be used as the completed trial's\nfinal_measurement; Otherwise, the service will auto-select a\npreviously reported measurement as the final-measurement"
+          "description": "Optional. If provided, it will be used as the completed trial's final_measurement; Otherwise, the service will auto-select a previously reported measurement as the final-measurement"
         },
         "infeasibleReason": {
-          "description": "Optional. A human readable reason why the trial was infeasible. This should\nonly be provided if `trial_infeasible` is true.",
+          "description": "Optional. A human readable reason why the trial was infeasible. This should only be provided if `trial_infeasible` is true.",
           "type": "string"
         },
         "trialInfeasible": {
-          "description": "Optional. True if the trial cannot be run with the given Parameter, and\nfinal_measurement will be ignored.",
+          "description": "Optional. True if the trial cannot be run with the given Parameter, and final_measurement will be ignored.",
           "type": "boolean"
         }
       },
@@ -1998,11 +2008,30 @@
       "type": "object"
     },
     "GoogleCloudMlV1__EncryptionConfig": {
-      "description": "Represents a custom encryption key configuration that can be applied to\na resource.",
+      "description": "Represents a custom encryption key configuration that can be applied to a resource.",
       "id": "GoogleCloudMlV1__EncryptionConfig",
       "properties": {
         "kmsKeyName": {
-          "description": "The Cloud KMS resource identifier of the customer-managed encryption key\nused to protect a resource, such as a training job. It has the following\nformat:\n`projects/{PROJECT_ID}/locations/{REGION}/keyRings/{KEY_RING_NAME}/cryptoKeys/{KEY_NAME}`",
+          "description": "The Cloud KMS resource identifier of the customer-managed encryption key used to protect a resource, such as a training job. It has the following format: `projects/{PROJECT_ID}/locations/{REGION}/keyRings/{KEY_RING_NAME}/cryptoKeys/{KEY_NAME}`",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleCloudMlV1__EndpointMap": {
+      "description": " EndpointMap is used to provide paths for predict/explain/healthcheck to customers. It's an output only field in the version proto which can be only set on the server side. Public endpoints follow the format specified on the user facing doc, and private endpoints are customized for each privately deploymed model/version.",
+      "id": "GoogleCloudMlV1__EndpointMap",
+      "properties": {
+        "explain": {
+          "description": "Optional. Http(s) path to send explain requests.",
+          "type": "string"
+        },
+        "health": {
+          "description": "Http(s) path to send health check requests.",
+          "type": "string"
+        },
+        "predict": {
+          "description": "Http(s) path to send prediction requests.",
           "type": "string"
         }
       },
@@ -2014,26 +2043,26 @@
       "properties": {
         "httpBody": {
           "$ref": "GoogleApi__HttpBody",
-          "description": "Required.\nThe explanation request body."
+          "description": "Required. The explanation request body."
         }
       },
       "type": "object"
     },
     "GoogleCloudMlV1__ExplanationConfig": {
-      "description": "Message holding configuration options for explaining model predictions.\nThere are two feature attribution methods supported for TensorFlow models:\nintegrated gradients and sampled Shapley.\n[Learn more about feature\nattributions.](/ai-platform/prediction/docs/ai-explanations/overview)",
+      "description": "Message holding configuration options for explaining model predictions. There are two feature attribution methods supported for TensorFlow models: integrated gradients and sampled Shapley. [Learn more about feature attributions.](/ai-platform/prediction/docs/ai-explanations/overview)",
       "id": "GoogleCloudMlV1__ExplanationConfig",
       "properties": {
         "integratedGradientsAttribution": {
           "$ref": "GoogleCloudMlV1__IntegratedGradientsAttribution",
-          "description": "Attributes credit by computing the Aumann-Shapley value taking advantage\nof the model's fully differentiable structure. Refer to this paper for\nmore details: https://arxiv.org/abs/1703.01365"
+          "description": "Attributes credit by computing the Aumann-Shapley value taking advantage of the model's fully differentiable structure. Refer to this paper for more details: https://arxiv.org/abs/1703.01365"
         },
         "sampledShapleyAttribution": {
           "$ref": "GoogleCloudMlV1__SampledShapleyAttribution",
-          "description": "An attribution method that approximates Shapley values for features that\ncontribute to the label being predicted. A sampling strategy is used to\napproximate the value rather than considering all subsets of features."
+          "description": "An attribution method that approximates Shapley values for features that contribute to the label being predicted. A sampling strategy is used to approximate the value rather than considering all subsets of features."
         },
         "xraiAttribution": {
           "$ref": "GoogleCloudMlV1__XraiAttribution",
-          "description": "Attributes credit by computing the XRAI taking advantage\nof the model's fully differentiable structure. Refer to this paper for\nmore details: https://arxiv.org/abs/1906.02825\nCurrently only implemented for models with natural image inputs."
+          "description": "Attributes credit by computing the XRAI taking advantage of the model's fully differentiable structure. Refer to this paper for more details: https://arxiv.org/abs/1906.02825 Currently only implemented for models with natural image inputs."
         }
       },
       "type": "object"
@@ -2058,11 +2087,11 @@
       "type": "object"
     },
     "GoogleCloudMlV1__HyperparameterOutput": {
-      "description": "Represents the result of a single hyperparameter tuning trial from a\ntraining job. The TrainingOutput object that is returned on successful\ncompletion of a training job with hyperparameter tuning includes a list\nof HyperparameterOutput objects, one for each successful trial.",
+      "description": "Represents the result of a single hyperparameter tuning trial from a training job. The TrainingOutput object that is returned on successful completion of a training job with hyperparameter tuning includes a list of HyperparameterOutput objects, one for each successful trial.",
       "id": "GoogleCloudMlV1__HyperparameterOutput",
       "properties": {
         "allMetrics": {
-          "description": "All recorded object metrics for this trial. This field is not currently\npopulated.",
+          "description": "All recorded object metrics for this trial. This field is not currently populated.",
           "items": {
             "$ref": "GoogleCloudMlV1_HyperparameterOutput_HyperparameterMetric"
           },
@@ -2070,7 +2099,7 @@
         },
         "builtInAlgorithmOutput": {
           "$ref": "GoogleCloudMlV1__BuiltInAlgorithmOutput",
-          "description": "Details related to built-in algorithms jobs.\nOnly set for trials of built-in algorithms jobs that have succeeded."
+          "description": "Details related to built-in algorithms jobs. Only set for trials of built-in algorithms jobs that have succeeded."
         },
         "endTime": {
           "description": "Output only. End time for the trial.",
@@ -2115,9 +2144,9 @@
             "The service is preparing to run the job.",
             "The job is in progress.",
             "The job completed successfully.",
-            "The job failed.\n`error_message` should contain the details of the failure.",
-            "The job is being cancelled.\n`error_message` should describe the reason for the cancellation.",
-            "The job has been cancelled.\n`error_message` should describe the reason for the cancellation."
+            "The job failed. `error_message` should contain the details of the failure.",
+            "The job is being cancelled. `error_message` should describe the reason for the cancellation.",
+            "The job has been cancelled. `error_message` should describe the reason for the cancellation."
           ],
           "type": "string"
         },
@@ -2133,25 +2162,25 @@
       "id": "GoogleCloudMlV1__HyperparameterSpec",
       "properties": {
         "algorithm": {
-          "description": "Optional. The search algorithm specified for the hyperparameter\ntuning job.\nUses the default AI Platform hyperparameter tuning\nalgorithm if unspecified.",
+          "description": "Optional. The search algorithm specified for the hyperparameter tuning job. Uses the default AI Platform hyperparameter tuning algorithm if unspecified.",
           "enum": [
             "ALGORITHM_UNSPECIFIED",
             "GRID_SEARCH",
             "RANDOM_SEARCH"
           ],
           "enumDescriptions": [
-            "The default algorithm used by the hyperparameter tuning service. This is\na Bayesian optimization algorithm.",
-            "Simple grid search within the feasible space. To use grid search,\nall parameters must be `INTEGER`, `CATEGORICAL`, or `DISCRETE`.",
+            "The default algorithm used by the hyperparameter tuning service. This is a Bayesian optimization algorithm.",
+            "Simple grid search within the feasible space. To use grid search, all parameters must be `INTEGER`, `CATEGORICAL`, or `DISCRETE`.",
             "Simple random search within the feasible space."
           ],
           "type": "string"
         },
         "enableTrialEarlyStopping": {
-          "description": "Optional. Indicates if the hyperparameter tuning job enables auto trial\nearly stopping.",
+          "description": "Optional. Indicates if the hyperparameter tuning job enables auto trial early stopping.",
           "type": "boolean"
         },
         "goal": {
-          "description": "Required. The type of goal to use for tuning. Available types are\n`MAXIMIZE` and `MINIMIZE`.\n\nDefaults to `MAXIMIZE`.",
+          "description": "Required. The type of goal to use for tuning. Available types are `MAXIMIZE` and `MINIMIZE`. Defaults to `MAXIMIZE`.",
           "enum": [
             "GOAL_TYPE_UNSPECIFIED",
             "MAXIMIZE",
@@ -2165,21 +2194,21 @@
           "type": "string"
         },
         "hyperparameterMetricTag": {
-          "description": "Optional. The TensorFlow summary tag name to use for optimizing trials. For\ncurrent versions of TensorFlow, this tag name should exactly match what is\nshown in TensorBoard, including all scopes.  For versions of TensorFlow\nprior to 0.12, this should be only the tag passed to tf.Summary.\nBy default, \"training/hptuning/metric\" will be used.",
+          "description": "Optional. The TensorFlow summary tag name to use for optimizing trials. For current versions of TensorFlow, this tag name should exactly match what is shown in TensorBoard, including all scopes. For versions of TensorFlow prior to 0.12, this should be only the tag passed to tf.Summary. By default, \"training/hptuning/metric\" will be used.",
           "type": "string"
         },
         "maxFailedTrials": {
-          "description": "Optional. The number of failed trials that need to be seen before failing\nthe hyperparameter tuning job. You can specify this field to override the\ndefault failing criteria for AI Platform hyperparameter tuning jobs.\n\nDefaults to zero, which means the service decides when a hyperparameter\njob should fail.",
+          "description": "Optional. The number of failed trials that need to be seen before failing the hyperparameter tuning job. You can specify this field to override the default failing criteria for AI Platform hyperparameter tuning jobs. Defaults to zero, which means the service decides when a hyperparameter job should fail.",
           "format": "int32",
           "type": "integer"
         },
         "maxParallelTrials": {
-          "description": "Optional. The number of training trials to run concurrently.\nYou can reduce the time it takes to perform hyperparameter tuning by adding\ntrials in parallel. However, each trail only benefits from the information\ngained in completed trials. That means that a trial does not get access to\nthe results of trials running at the same time, which could reduce the\nquality of the overall optimization.\n\nEach trial will use the same scale tier and machine types.\n\nDefaults to one.",
+          "description": "Optional. The number of training trials to run concurrently. You can reduce the time it takes to perform hyperparameter tuning by adding trials in parallel. However, each trail only benefits from the information gained in completed trials. That means that a trial does not get access to the results of trials running at the same time, which could reduce the quality of the overall optimization. Each trial will use the same scale tier and machine types. Defaults to one.",
           "format": "int32",
           "type": "integer"
         },
         "maxTrials": {
-          "description": "Optional. How many training trials should be attempted to optimize\nthe specified hyperparameters.\n\nDefaults to one.",
+          "description": "Optional. How many training trials should be attempted to optimize the specified hyperparameters. Defaults to one.",
           "format": "int32",
           "type": "integer"
         },
@@ -2191,18 +2220,18 @@
           "type": "array"
         },
         "resumePreviousJobId": {
-          "description": "Optional. The prior hyperparameter tuning job id that users hope to\ncontinue with. The job id will be used to find the corresponding vizier\nstudy guid and resume the study.",
+          "description": "Optional. The prior hyperparameter tuning job id that users hope to continue with. The job id will be used to find the corresponding vizier study guid and resume the study.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleCloudMlV1__IntegratedGradientsAttribution": {
-      "description": "Attributes credit by computing the Aumann-Shapley value taking advantage\nof the model's fully differentiable structure. Refer to this paper for\nmore details: https://arxiv.org/abs/1703.01365",
+      "description": "Attributes credit by computing the Aumann-Shapley value taking advantage of the model's fully differentiable structure. Refer to this paper for more details: https://arxiv.org/abs/1703.01365",
       "id": "GoogleCloudMlV1__IntegratedGradientsAttribution",
       "properties": {
         "numIntegralSteps": {
-          "description": "Number of steps for approximating the path integral.\nA good value to start is 50 and gradually increase until the\nsum to diff property is met within the desired error range.",
+          "description": "Number of steps for approximating the path integral. A good value to start is 50 and gradually increase until the sum to diff property is met within the desired error range.",
           "format": "int32",
           "type": "integer"
         }
@@ -2228,7 +2257,7 @@
           "type": "string"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a job from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform job updates in order to avoid race\nconditions: An `etag` is returned in the response to `GetJob`, and\nsystems are expected to put that etag in the request to `UpdateJob` to\nensure that their change will be applied to the same version of the job.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a job from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform job updates in order to avoid race conditions: An `etag` is returned in the response to `GetJob`, and systems are expected to put that etag in the request to `UpdateJob` to ensure that their change will be applied to the same version of the job.",
           "format": "byte",
           "type": "string"
         },
@@ -2240,7 +2269,7 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Optional. One or more labels that you can add, to organize your jobs.\nEach label is a key-value pair, where both the key and the value are\narbitrary strings that you supply.\nFor more information, see the documentation on\n\u003ca href=\"/ml-engine/docs/tensorflow/resource-labels\"\u003eusing labels\u003c/a\u003e.",
+          "description": "Optional. One or more labels that you can add, to organize your jobs. Each label is a key-value pair, where both the key and the value are arbitrary strings that you supply. For more information, see the documentation on using labels.",
           "type": "object"
         },
         "predictionInput": {
@@ -2274,9 +2303,9 @@
             "The service is preparing to run the job.",
             "The job is in progress.",
             "The job completed successfully.",
-            "The job failed.\n`error_message` should contain the details of the failure.",
-            "The job is being cancelled.\n`error_message` should describe the reason for the cancellation.",
-            "The job has been cancelled.\n`error_message` should describe the reason for the cancellation."
+            "The job failed. `error_message` should contain the details of the failure.",
+            "The job is being cancelled. `error_message` should describe the reason for the cancellation.",
+            "The job has been cancelled. `error_message` should describe the reason for the cancellation."
           ],
           "type": "string"
         },
@@ -2303,7 +2332,7 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "Optional. Pass this token as the `page_token` field of the request for a\nsubsequent call.",
+          "description": "Optional. Pass this token as the `page_token` field of the request for a subsequent call.",
           "type": "string"
         }
       },
@@ -2320,7 +2349,7 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "Optional. Pass this token as the `page_token` field of the request for a\nsubsequent call.",
+          "description": "Optional. Pass this token as the `page_token` field of the request for a subsequent call.",
           "type": "string"
         }
       },
@@ -2338,7 +2367,7 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "Optional. Pass this token as the `page_token` field of the request for a\nsubsequent call.",
+          "description": "Optional. Pass this token as the `page_token` field of the request for a subsequent call.",
           "type": "string"
         }
       },
@@ -2376,7 +2405,7 @@
       "id": "GoogleCloudMlV1__ListVersionsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "Optional. Pass this token as the `page_token` field of the request for a\nsubsequent call.",
+          "description": "Optional. Pass this token as the `page_token` field of the request for a subsequent call.",
           "type": "string"
         },
         "versions": {
@@ -2410,7 +2439,7 @@
       "id": "GoogleCloudMlV1__ManualScaling",
       "properties": {
         "nodes": {
-          "description": "The number of nodes to allocate for this model. These nodes are always up,\nstarting from the time the model is deployed, so the cost of operating\nthis model will be proportional to `nodes` * number of hours since\nlast billing cycle plus the cost for each prediction performed.",
+          "description": "The number of nodes to allocate for this model. These nodes are always up, starting from the time the model is deployed, so the cost of operating this model will be proportional to `nodes` * number of hours since last billing cycle plus the cost for each prediction performed.",
           "format": "int32",
           "type": "integer"
         }
@@ -2422,19 +2451,19 @@
       "id": "GoogleCloudMlV1__Measurement",
       "properties": {
         "elapsedTime": {
-          "description": "Output only. Time that the trial has been running at the point of\nthis measurement.",
+          "description": "Output only. Time that the trial has been running at the point of this measurement.",
           "format": "google-duration",
           "type": "string"
         },
         "metrics": {
-          "description": "Provides a list of metrics that act as inputs into the objective\nfunction.",
+          "description": "Provides a list of metrics that act as inputs into the objective function.",
           "items": {
             "$ref": "GoogleCloudMlV1_Measurement_Metric"
           },
           "type": "array"
         },
         "stepCount": {
-          "description": "The number of steps a machine learning model has been trained for.\nMust be non-negative.",
+          "description": "The number of steps a machine learning model has been trained for. Must be non-negative.",
           "format": "int64",
           "type": "string"
         }
@@ -2442,19 +2471,19 @@
       "type": "object"
     },
     "GoogleCloudMlV1__Model": {
-      "description": "Represents a machine learning solution.\n\nA model can have multiple versions, each of which is a deployed, trained\nmodel ready to receive prediction requests. The model itself is just a\ncontainer.",
+      "description": "Represents a machine learning solution. 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.",
       "id": "GoogleCloudMlV1__Model",
       "properties": {
         "defaultVersion": {
           "$ref": "GoogleCloudMlV1__Version",
-          "description": "Output only. The default version of the model. This version will be used to\nhandle prediction requests that do not specify a version.\n\nYou can change the default version by calling\nprojects.models.versions.setDefault."
+          "description": "Output only. The default version of the model. This version will be used to handle prediction requests that do not specify a version. You can change the default version by calling projects.models.versions.setDefault."
         },
         "description": {
           "description": "Optional. The description specified for the model when it was created.",
           "type": "string"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a model from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform model updates in order to avoid race\nconditions: An `etag` is returned in the response to `GetModel`, and\nsystems are expected to put that etag in the request to `UpdateModel` to\nensure that their change will be applied to the model as intended.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a model from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform model updates in order to avoid race conditions: An `etag` is returned in the response to `GetModel`, and systems are expected to put that etag in the request to `UpdateModel` to ensure that their change will be applied to the model as intended.",
           "format": "byte",
           "type": "string"
         },
@@ -2462,23 +2491,23 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Optional. One or more labels that you can add, to organize your models.\nEach label is a key-value pair, where both the key and the value are\narbitrary strings that you supply.\nFor more information, see the documentation on\n\u003ca href=\"/ml-engine/docs/tensorflow/resource-labels\"\u003eusing labels\u003c/a\u003e.",
+          "description": "Optional. One or more labels that you can add, to organize your models. Each label is a key-value pair, where both the key and the value are arbitrary strings that you supply. For more information, see the documentation on using labels.",
           "type": "object"
         },
         "name": {
-          "description": "Required. The name specified for the model when it was created.\n\nThe model name must be unique within the project it is created in.",
+          "description": "Required. The name specified for the model when it was created. The model name must be unique within the project it is created in.",
           "type": "string"
         },
         "onlinePredictionConsoleLogging": {
-          "description": "Optional. If true, online prediction nodes send `stderr` and `stdout`\nstreams to Stackdriver Logging. These can be more verbose than the standard\naccess logs (see `onlinePredictionLogging`) and can incur higher cost.\nHowever, they are helpful for debugging. Note that\n[Stackdriver logs may incur a cost](/stackdriver/pricing), especially if\nyour project receives prediction requests at a high QPS. Estimate your\ncosts before enabling this option.\n\nDefault is false.",
+          "description": "Optional. If true, online prediction nodes send `stderr` and `stdout` streams to Stackdriver Logging. These can be more verbose than the standard access logs (see `onlinePredictionLogging`) and can incur higher cost. However, they are helpful for debugging. Note that [Stackdriver logs may incur a cost](/stackdriver/pricing), especially if your project receives prediction requests at a high QPS. Estimate your costs before enabling this option. Default is false.",
           "type": "boolean"
         },
         "onlinePredictionLogging": {
-          "description": "Optional. If true, online prediction access logs are sent to StackDriver\nLogging. These logs are like standard server access logs, containing\ninformation like timestamp and latency for each request. Note that\n[Stackdriver logs may incur a cost](/stackdriver/pricing), especially if\nyour project receives prediction requests at a high queries per second rate\n(QPS). Estimate your costs before enabling this option.\n\nDefault is false.",
+          "description": "Optional. If true, online prediction access logs are sent to StackDriver Logging. These logs are like standard server access logs, containing information like timestamp and latency for each request. Note that [Stackdriver logs may incur a cost](/stackdriver/pricing), especially if your project receives prediction requests at a high queries per second rate (QPS). Estimate your costs before enabling this option. Default is false.",
           "type": "boolean"
         },
         "regions": {
-          "description": "Optional. The list of regions where the model is going to be deployed.\nOnly one region per model is supported.\nDefaults to 'us-central1' if nothing is set.\nSee the \u003ca href=\"/ml-engine/docs/tensorflow/regions\"\u003eavailable regions\u003c/a\u003e\nfor AI Platform services.\nNote:\n*   No matter where a model is deployed, it can always be accessed by\n    users from anywhere, both for online and batch prediction.\n*   The region for a batch prediction job is set by the region field when\n    submitting the batch prediction job and does not take its value from\n    this field.",
+          "description": "Optional. The list of regions where the model is going to be deployed. Only one region per model is supported. Defaults to 'us-central1' if nothing is set. See the available regions for AI Platform services. Note: * No matter where a model is deployed, it can always be accessed by users from anywhere, both for online and batch prediction. * The region for a batch prediction job is set by the region field when submitting the batch prediction job and does not take its value from this field.",
           "items": {
             "type": "string"
           },
@@ -2509,7 +2538,7 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The user labels, inherited from the model or the model version being\noperated on.",
+          "description": "The user labels, inherited from the model or the model version being operated on.",
           "type": "object"
         },
         "modelName": {
@@ -2567,7 +2596,7 @@
           "type": "array"
         },
         "discreteValues": {
-          "description": "Required if type is `DISCRETE`.\nA list of feasible points.\nThe list should be in strictly increasing order. For instance, this\nparameter might have possible settings of 1.5, 2.5, and 4.0. This list\nshould not contain more than 1,000 values.",
+          "description": "Required if type is `DISCRETE`. A list of feasible points. The list should be in strictly increasing order. For instance, this parameter might have possible settings of 1.5, 2.5, and 4.0. This list should not contain more than 1,000 values.",
           "items": {
             "format": "double",
             "type": "number"
@@ -2575,21 +2604,21 @@
           "type": "array"
         },
         "maxValue": {
-          "description": "Required if type is `DOUBLE` or `INTEGER`. This field\nshould be unset if type is `CATEGORICAL`. This value should be integers if\ntype is `INTEGER`.",
+          "description": "Required if type is `DOUBLE` or `INTEGER`. This field should be unset if type is `CATEGORICAL`. This value should be integers if type is `INTEGER`.",
           "format": "double",
           "type": "number"
         },
         "minValue": {
-          "description": "Required if type is `DOUBLE` or `INTEGER`. This field\nshould be unset if type is `CATEGORICAL`. This value should be integers if\ntype is INTEGER.",
+          "description": "Required if type is `DOUBLE` or `INTEGER`. This field should be unset if type is `CATEGORICAL`. This value should be integers if type is INTEGER.",
           "format": "double",
           "type": "number"
         },
         "parameterName": {
-          "description": "Required. The parameter name must be unique amongst all ParameterConfigs in\na HyperparameterSpec message. E.g., \"learning_rate\".",
+          "description": "Required. The parameter name must be unique amongst all ParameterConfigs in a HyperparameterSpec message. E.g., \"learning_rate\".",
           "type": "string"
         },
         "scaleType": {
-          "description": "Optional. How the parameter should be scaled to the hypercube.\nLeave unset for categorical parameters.\nSome kind of scaling is strongly recommended for real or integral\nparameters (e.g., `UNIT_LINEAR_SCALE`).",
+          "description": "Optional. How the parameter should be scaled to the hypercube. Leave unset for categorical parameters. Some kind of scaling is strongly recommended for real or integral parameters (e.g., `UNIT_LINEAR_SCALE`).",
           "enum": [
             "NONE",
             "UNIT_LINEAR_SCALE",
@@ -2599,8 +2628,8 @@
           "enumDescriptions": [
             "By default, no scaling is applied.",
             "Scales the feasible space to (0, 1) linearly.",
-            "Scales the feasible space logarithmically to (0, 1). The entire feasible\nspace must be strictly positive.",
-            "Scales the feasible space \"reverse\" logarithmically to (0, 1). The result\nis that values close to the top of the feasible space are spread out more\nthan points near the bottom. The entire feasible space must be strictly\npositive."
+            "Scales the feasible space logarithmically to (0, 1). The entire feasible space must be strictly positive.",
+            "Scales the feasible space \"reverse\" logarithmically to (0, 1). The result is that values close to the top of the feasible space are spread out more than points near the bottom. The entire feasible space must be strictly positive."
           ],
           "type": "string"
         },
@@ -2614,11 +2643,11 @@
             "DISCRETE"
           ],
           "enumDescriptions": [
-            "You must specify a valid type. Using this unspecified type will result in\nan error.",
+            "You must specify a valid type. Using this unspecified type will result in an error.",
             "Type for real-valued parameters.",
             "Type for integral parameters.",
-            "The parameter is categorical, with a value chosen from the categories\nfield.",
-            "The parameter is real valued, with a fixed set of feasible points. If\n`type==DISCRETE`, feasible_points must be provided, and\n{`min_value`, `max_value`} will be ignored."
+            "The parameter is categorical, with a value chosen from the categories field.",
+            "The parameter is real valued, with a fixed set of feasible points. If `type==DISCRETE`, feasible_points must be provided, and {`min_value`, `max_value`} will be ignored."
           ],
           "type": "string"
         }
@@ -2631,7 +2660,7 @@
       "properties": {
         "httpBody": {
           "$ref": "GoogleApi__HttpBody",
-          "description": "\nRequired. The prediction request body. Refer to the [request body details\nsection](#request-body-details) for more information on how to structure\nyour request."
+          "description": " Required. The prediction request body. Refer to the [request body details section](#request-body-details) for more information on how to structure your request."
         }
       },
       "type": "object"
@@ -2641,7 +2670,7 @@
       "id": "GoogleCloudMlV1__PredictionInput",
       "properties": {
         "batchSize": {
-          "description": "Optional. Number of records per batch, defaults to 64.\nThe service will buffer batch_size number of records in memory before\ninvoking one Tensorflow prediction call internally. So take the record\nsize and memory available into consideration when setting this parameter.",
+          "description": "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.",
           "format": "int64",
           "type": "string"
         },
@@ -2659,26 +2688,26 @@
             "Unspecified format.",
             "Each line of the file is a JSON dictionary representing one record.",
             "Deprecated. Use JSON instead.",
-            "The source file is a TFRecord file.\nCurrently available only for input data.",
-            "The source file is a GZIP-compressed TFRecord file.\nCurrently available only for input data.",
-            "Values are comma-separated rows, with keys in a separate file.\nCurrently available only for output data."
+            "The source file is a TFRecord file. Currently available only for input data.",
+            "The source file is a GZIP-compressed TFRecord file. Currently available only for input data.",
+            "Values are comma-separated rows, with keys in a separate file. Currently available only for output data."
           ],
           "type": "string"
         },
         "inputPaths": {
-          "description": "Required. The Cloud Storage location of the input data files. May contain\n\u003ca href=\"/storage/docs/gsutil/addlhelp/WildcardNames\"\u003ewildcards\u003c/a\u003e.",
+          "description": "Required. The Cloud Storage location of the input data files. May contain wildcards.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "maxWorkerCount": {
-          "description": "Optional. The maximum number of workers to be used for parallel processing.\nDefaults to 10 if not specified.",
+          "description": "Optional. The maximum number of workers to be used for parallel processing. Defaults to 10 if not specified.",
           "format": "int64",
           "type": "string"
         },
         "modelName": {
-          "description": "Use this field if you want to use the default version for the specified\nmodel. The string must use the following format:\n\n`\"projects/YOUR_PROJECT/models/YOUR_MODEL\"`",
+          "description": "Use this field if you want to use the default version for the specified model. The string must use the following format: `\"projects/YOUR_PROJECT/models/YOUR_MODEL\"`",
           "type": "string"
         },
         "outputDataFormat": {
@@ -2695,9 +2724,9 @@
             "Unspecified format.",
             "Each line of the file is a JSON dictionary representing one record.",
             "Deprecated. Use JSON instead.",
-            "The source file is a TFRecord file.\nCurrently available only for input data.",
-            "The source file is a GZIP-compressed TFRecord file.\nCurrently available only for input data.",
-            "Values are comma-separated rows, with keys in a separate file.\nCurrently available only for output data."
+            "The source file is a TFRecord file. Currently available only for input data.",
+            "The source file is a GZIP-compressed TFRecord file. Currently available only for input data.",
+            "Values are comma-separated rows, with keys in a separate file. Currently available only for output data."
           ],
           "type": "string"
         },
@@ -2706,23 +2735,23 @@
           "type": "string"
         },
         "region": {
-          "description": "Required. The Google Compute Engine region to run the prediction job in.\nSee the \u003ca href=\"/ml-engine/docs/tensorflow/regions\"\u003eavailable regions\u003c/a\u003e\nfor AI Platform services.",
+          "description": "Required. The Google Compute Engine region to run the prediction job in. See the available regions for AI Platform services.",
           "type": "string"
         },
         "runtimeVersion": {
-          "description": "Optional. The AI Platform runtime version to use for this batch\nprediction. If not set, AI Platform will pick the runtime version used\nduring the CreateVersion request for this model version, or choose the\nlatest stable version when model version information is not available\nsuch as when the model is specified by uri.",
+          "description": "Optional. The AI Platform runtime version to use for this batch prediction. If not set, AI Platform will pick the runtime version used during the CreateVersion request for this model version, or choose the latest stable version when model version information is not available such as when the model is specified by uri.",
           "type": "string"
         },
         "signatureName": {
-          "description": "Optional. The name of the signature defined in the SavedModel to use for\nthis job. Please refer to\n[SavedModel](https://tensorflow.github.io/serving/serving_basic.html)\nfor information about how to use signatures.\n\nDefaults to\n[DEFAULT_SERVING_SIGNATURE_DEF_KEY](https://www.tensorflow.org/api_docs/python/tf/saved_model/signature_constants)\n, which is \"serving_default\".",
+          "description": "Optional. The name of the signature defined in the SavedModel to use for this job. Please refer to [SavedModel](https://tensorflow.github.io/serving/serving_basic.html) for information about how to use signatures. Defaults to [DEFAULT_SERVING_SIGNATURE_DEF_KEY](https://www.tensorflow.org/api_docs/python/tf/saved_model/signature_constants) , which is \"serving_default\".",
           "type": "string"
         },
         "uri": {
-          "description": "Use this field if you want to specify a Google Cloud Storage path for\nthe model to use.",
+          "description": "Use this field if you want to specify a Google Cloud Storage path for the model to use.",
           "type": "string"
         },
         "versionName": {
-          "description": "Use this field if you want to specify a version of the model to use. The\nstring is formatted the same way as `model_version`, with the addition\nof the version information:\n\n`\"projects/YOUR_PROJECT/models/YOUR_MODEL/versions/YOUR_VERSION\"`",
+          "description": "Use this field if you want to specify a version of the model to use. The string is formatted the same way as `model_version`, with the addition of the version information: `\"projects/YOUR_PROJECT/models/YOUR_MODEL/versions/YOUR_VERSION\"`",
           "type": "string"
         }
       },
@@ -2760,43 +2789,43 @@
       "properties": {
         "acceleratorConfig": {
           "$ref": "GoogleCloudMlV1__AcceleratorConfig",
-          "description": "Represents the type and number of accelerators used by the replica.\n[Learn about restrictions on accelerator configurations for\ntraining.](/ai-platform/training/docs/using-gpus#compute-engine-machine-types-with-gpu)"
+          "description": "Represents the type and number of accelerators used by the replica. [Learn about restrictions on accelerator configurations for training.](/ai-platform/training/docs/using-gpus#compute-engine-machine-types-with-gpu)"
         },
         "containerArgs": {
-          "description": "Arguments to the entrypoint command.\nThe following rules apply for container_command and container_args:\n- If you do not supply command or args:\n  The defaults defined in the Docker image are used.\n- If you supply a command but no args:\n  The default EntryPoint and the default Cmd defined in the Docker image\n  are ignored. Your command is run without any arguments.\n- If you supply only args:\n  The default Entrypoint defined in the Docker image is run with the args\n  that you supplied.\n- If you supply a command and args:\n  The default Entrypoint and the default Cmd defined in the Docker image\n  are ignored. Your command is run with your args.\nIt cannot be set if custom container image is\nnot provided.\nNote that this field and [TrainingInput.args] are mutually exclusive, i.e.,\nboth cannot be set at the same time.",
+          "description": "Arguments to the entrypoint command. The following rules apply for container_command and container_args: - If you do not supply command or args: The defaults defined in the Docker image are used. - If you supply a command but no args: The default EntryPoint and the default Cmd defined in the Docker image are ignored. Your command is run without any arguments. - If you supply only args: The default Entrypoint defined in the Docker image is run with the args that you supplied. - If you supply a command and args: The default Entrypoint and the default Cmd defined in the Docker image are ignored. Your command is run with your args. It cannot be set if custom container image is not provided. Note that this field and [TrainingInput.args] are mutually exclusive, i.e., both cannot be set at the same time.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "containerCommand": {
-          "description": "The command with which the replica's custom container is run.\nIf provided, it will override default ENTRYPOINT of the docker image.\nIf not provided, the docker image's ENTRYPOINT is used.\nIt cannot be set if custom container image is\nnot provided.\nNote that this field and [TrainingInput.args] are mutually exclusive, i.e.,\nboth cannot be set at the same time.",
+          "description": "The command with which the replica's custom container is run. If provided, it will override default ENTRYPOINT of the docker image. If not provided, the docker image's ENTRYPOINT is used. It cannot be set if custom container image is not provided. Note that this field and [TrainingInput.args] are mutually exclusive, i.e., both cannot be set at the same time.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "imageUri": {
-          "description": "The Docker image to run on the replica. This image must be in Container\nRegistry. Learn more about [configuring custom\ncontainers](/ai-platform/training/docs/distributed-training-containers).",
+          "description": "The Docker image to run on the replica. This image must be in Container Registry. Learn more about [configuring custom containers](/ai-platform/training/docs/distributed-training-containers).",
           "type": "string"
         },
         "tpuTfVersion": {
-          "description": "The AI Platform runtime version that includes a TensorFlow version matching\nthe one used in the custom container. This field is required if the replica\nis a TPU worker that uses a custom container. Otherwise, do not specify\nthis field. This must be a [runtime version that currently supports\ntraining with\nTPUs](/ml-engine/docs/tensorflow/runtime-version-list#tpu-support).\n\nNote that the version of TensorFlow included in a runtime version may\ndiffer from the numbering of the runtime version itself, because it may\nhave a different [patch\nversion](https://www.tensorflow.org/guide/version_compat#semantic_versioning_20).\nIn this field, you must specify the runtime version (TensorFlow minor\nversion). For example, if your custom container runs TensorFlow `1.x.y`,\nspecify `1.x`.",
+          "description": "The AI Platform runtime version that includes a TensorFlow version matching the one used in the custom container. This field is required if the replica is a TPU worker that uses a custom container. Otherwise, do not specify this field. This must be a [runtime version that currently supports training with TPUs](/ml-engine/docs/tensorflow/runtime-version-list#tpu-support). Note that the version of TensorFlow included in a runtime version may differ from the numbering of the runtime version itself, because it may have a different [patch version](https://www.tensorflow.org/guide/version_compat#semantic_versioning_20). In this field, you must specify the runtime version (TensorFlow minor version). For example, if your custom container runs TensorFlow `1.x.y`, specify `1.x`.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleCloudMlV1__RequestLoggingConfig": {
-      "description": "Configuration for logging request-response pairs to a BigQuery table.\nOnline prediction requests to a model version and the responses to these\nrequests are converted to raw strings and saved to the specified BigQuery\ntable. Logging is constrained by [BigQuery quotas and\nlimits](/bigquery/quotas). If your project exceeds BigQuery quotas or limits,\nAI Platform Prediction does not log request-response pairs, but it continues\nto serve predictions.\n\nIf you are using [continuous\nevaluation](/ml-engine/docs/continuous-evaluation/), you do not need to\nspecify this configuration manually. Setting up continuous evaluation\nautomatically enables logging of request-response pairs.",
+      "description": "Configuration for logging request-response pairs to a BigQuery table. Online prediction requests to a model version and the responses to these requests are converted to raw strings and saved to the specified BigQuery table. Logging is constrained by [BigQuery quotas and limits](/bigquery/quotas). If your project exceeds BigQuery quotas or limits, AI Platform Prediction does not log request-response pairs, but it continues to serve predictions. If you are using [continuous evaluation](/ml-engine/docs/continuous-evaluation/), you do not need to specify this configuration manually. Setting up continuous evaluation automatically enables logging of request-response pairs.",
       "id": "GoogleCloudMlV1__RequestLoggingConfig",
       "properties": {
         "bigqueryTableName": {
-          "description": "Required. Fully qualified BigQuery table name in the following format:\n\"\u003cvar\u003eproject_id\u003c/var\u003e.\u003cvar\u003edataset_name\u003c/var\u003e.\u003cvar\u003etable_name\u003c/var\u003e\"\n\nThe specified table must already exist, and the \"Cloud ML Service Agent\"\nfor your project must have permission to write to it. The table must have\nthe following [schema](/bigquery/docs/schemas):\n\n\u003ctable\u003e\n  \u003ctr\u003e\u003cth\u003eField name\u003c/th\u003e\u003cth style=\"display: table-cell\"\u003eType\u003c/th\u003e\n    \u003cth style=\"display: table-cell\"\u003eMode\u003c/th\u003e\u003c/tr\u003e\n  \u003ctr\u003e\u003ctd\u003emodel\u003c/td\u003e\u003ctd\u003eSTRING\u003c/td\u003e\u003ctd\u003eREQUIRED\u003c/td\u003e\u003c/tr\u003e\n  \u003ctr\u003e\u003ctd\u003emodel_version\u003c/td\u003e\u003ctd\u003eSTRING\u003c/td\u003e\u003ctd\u003eREQUIRED\u003c/td\u003e\u003c/tr\u003e\n  \u003ctr\u003e\u003ctd\u003etime\u003c/td\u003e\u003ctd\u003eTIMESTAMP\u003c/td\u003e\u003ctd\u003eREQUIRED\u003c/td\u003e\u003c/tr\u003e\n  \u003ctr\u003e\u003ctd\u003eraw_data\u003c/td\u003e\u003ctd\u003eSTRING\u003c/td\u003e\u003ctd\u003eREQUIRED\u003c/td\u003e\u003c/tr\u003e\n  \u003ctr\u003e\u003ctd\u003eraw_prediction\u003c/td\u003e\u003ctd\u003eSTRING\u003c/td\u003e\u003ctd\u003eNULLABLE\u003c/td\u003e\u003c/tr\u003e\n  \u003ctr\u003e\u003ctd\u003egroundtruth\u003c/td\u003e\u003ctd\u003eSTRING\u003c/td\u003e\u003ctd\u003eNULLABLE\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e",
+          "description": "Required. Fully qualified BigQuery table name in the following format: \" project_id.dataset_name.table_name\" The specified table must already exist, and the \"Cloud ML Service Agent\" for your project must have permission to write to it. The table must have the following [schema](/bigquery/docs/schemas): Field nameType Mode model STRING REQUIRED model_version STRING REQUIRED time TIMESTAMP REQUIRED raw_data STRING REQUIRED raw_prediction STRING NULLABLE groundtruth STRING NULLABLE ",
           "type": "string"
         },
         "samplingPercentage": {
-          "description": "Percentage of requests to be logged, expressed as a fraction from 0 to 1.\nFor example, if you want to log 10% of requests, enter `0.1`. The sampling\nwindow is the lifetime of the model version. Defaults to 0.",
+          "description": "Percentage of requests to be logged, expressed as a fraction from 0 to 1. For example, if you want to log 10% of requests, enter `0.1`. The sampling window is the lifetime of the model version. Defaults to 0.",
           "format": "double",
           "type": "number"
         }
@@ -2804,11 +2833,11 @@
       "type": "object"
     },
     "GoogleCloudMlV1__SampledShapleyAttribution": {
-      "description": "An attribution method that approximates Shapley values for features that\ncontribute to the label being predicted. A sampling strategy is used to\napproximate the value rather than considering all subsets of features.",
+      "description": "An attribution method that approximates Shapley values for features that contribute to the label being predicted. A sampling strategy is used to approximate the value rather than considering all subsets of features.",
       "id": "GoogleCloudMlV1__SampledShapleyAttribution",
       "properties": {
         "numPaths": {
-          "description": "The number of feature permutations to consider when approximating the\nShapley values.",
+          "description": "The number of feature permutations to consider when approximating the Shapley values.",
           "format": "int32",
           "type": "integer"
         }
@@ -2820,7 +2849,7 @@
       "id": "GoogleCloudMlV1__Scheduling",
       "properties": {
         "maxRunningTime": {
-          "description": "Optional. The maximum job running time, expressed in seconds. The field can\ncontain up to nine fractional digits, terminated by `s`. If not specified,\nthis field defaults to `604800s` (seven days).\n\nIf the training job is still running after this duration, AI Platform\nTraining cancels it.\n\nFor example, if you want to ensure your job runs for no more than 2 hours,\nset this field to `7200s` (2 hours * 60 minutes / hour * 60 seconds /\nminute).\n\nIf you submit your training job using the `gcloud` tool, you can [provide\nthis field in a `config.yaml`\nfile](/ai-platform/training/docs/training-jobs#formatting_your_configuration_parameters).\nFor example:\n\n```yaml\ntrainingInput:\n  ...\n  scheduling:\n    maxRunningTime: 7200s\n  ...\n```",
+          "description": "Optional. The maximum job running time, expressed in seconds. The field can contain up to nine fractional digits, terminated by `s`. If not specified, this field defaults to `604800s` (seven days). If the training job is still running after this duration, AI Platform Training cancels it. For example, if you want to ensure your job runs for no more than 2 hours, set this field to `7200s` (2 hours * 60 minutes / hour * 60 seconds / minute). If you submit your training job using the `gcloud` tool, you can [provide this field in a `config.yaml` file](/ai-platform/training/docs/training-jobs#formatting_your_configuration_parameters). For example: ```yaml trainingInput: ... scheduling: maxRunningTime: 7200s ... ```",
           "format": "google-duration",
           "type": "string"
         },
@@ -2849,14 +2878,17 @@
         "createTime": {
           "description": "Output only. Time at which the study was created.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "inactiveReason": {
-          "description": "Output only. A human readable reason why the Study is inactive.\nThis should be empty if a study is ACTIVE or COMPLETED.",
+          "description": "Output only. A human readable reason why the Study is inactive. This should be empty if a study is ACTIVE or COMPLETED.",
+          "readOnly": true,
           "type": "string"
         },
         "name": {
           "description": "Output only. The name of a study.",
+          "readOnly": true,
           "type": "string"
         },
         "state": {
@@ -2871,8 +2903,9 @@
             "The study state is unspecified.",
             "The study is active.",
             "The study is stopped due to an internal error.",
-            "The study is done when the service exhausts the parameter search space\nor max_trial_count is reached."
+            "The study is done when the service exhausts the parameter search space or max_trial_count is reached."
           ],
+          "readOnly": true,
           "type": "string"
         },
         "studyConfig": {
@@ -2897,7 +2930,7 @@
           "enumDescriptions": [
             "The default algorithm used by the Cloud AI Platform Optimization service.",
             "Gaussian Process Bandit.",
-            "Simple grid search within the feasible space. To use grid search,\nall parameters must be `INTEGER`, `CATEGORICAL`, or `DISCRETE`.",
+            "Simple grid search within the feasible space. To use grid search, all parameters must be `INTEGER`, `CATEGORICAL`, or `DISCRETE`.",
             "Simple random search within the feasible space."
           ],
           "type": "string"
@@ -2924,7 +2957,7 @@
       "type": "object"
     },
     "GoogleCloudMlV1__SuggestTrialsMetadata": {
-      "description": "Metadata field of a google.longrunning.Operation associated\nwith a SuggestTrialsRequest.",
+      "description": "Metadata field of a google.longrunning.Operation associated with a SuggestTrialsRequest.",
       "id": "GoogleCloudMlV1__SuggestTrialsMetadata",
       "properties": {
         "clientId": {
@@ -2953,7 +2986,7 @@
       "id": "GoogleCloudMlV1__SuggestTrialsRequest",
       "properties": {
         "clientId": {
-          "description": "Required. The identifier of the client that is requesting the suggestion.\n\nIf multiple SuggestTrialsRequests have the same `client_id`,\nthe service will return the identical suggested trial if the trial is\npending, and provide a new trial if the last suggested trial was completed.",
+          "description": "Required. The identifier of the client that is requesting the suggestion. If multiple SuggestTrialsRequests have the same `client_id`, the service will return the identical suggested trial if the trial is pending, and provide a new trial if the last suggested trial was completed.",
           "type": "string"
         },
         "suggestionCount": {
@@ -2965,7 +2998,7 @@
       "type": "object"
     },
     "GoogleCloudMlV1__SuggestTrialsResponse": {
-      "description": "This message will be placed in the response field of a completed\ngoogle.longrunning.Operation associated with a SuggestTrials request.",
+      "description": "This message will be placed in the response field of a completed google.longrunning.Operation associated with a SuggestTrials request.",
       "id": "GoogleCloudMlV1__SuggestTrialsResponse",
       "properties": {
         "endTime": {
@@ -2990,7 +3023,7 @@
             "The study state is unspecified.",
             "The study is active.",
             "The study is stopped due to an internal error.",
-            "The study is done when the service exhausts the parameter search space\nor max_trial_count is reached."
+            "The study is done when the service exhausts the parameter search space or max_trial_count is reached."
           ],
           "type": "string"
         },
@@ -3005,11 +3038,11 @@
       "type": "object"
     },
     "GoogleCloudMlV1__TrainingInput": {
-      "description": "Represents input parameters for a training job. When using the gcloud command\nto submit your training job, you can specify the input parameters as\ncommand-line arguments and/or in a YAML configuration file referenced from\nthe --config command-line argument. For details, see the guide to [submitting\na training job](/ai-platform/training/docs/training-jobs).",
+      "description": "Represents input parameters for a training job. When using the gcloud command to submit your training job, you can specify the input parameters as command-line arguments and/or in a YAML configuration file referenced from the --config command-line argument. For details, see the guide to [submitting a training job](/ai-platform/training/docs/training-jobs).",
       "id": "GoogleCloudMlV1__TrainingInput",
       "properties": {
         "args": {
-          "description": "Optional. Command-line arguments passed to the training application when it\nstarts. If your job uses a custom container, then the arguments are passed\nto the container's \u003ca class=\"external\" target=\"_blank\"\nhref=\"https://docs.docker.com/engine/reference/builder/#entrypoint\"\u003e\n`ENTRYPOINT`\u003c/a\u003e command.",
+          "description": "Optional. Command-line arguments passed to the training application when it starts. If your job uses a custom container, then the arguments are passed to the container's `ENTRYPOINT` command.",
           "items": {
             "type": "string"
           },
@@ -3017,19 +3050,19 @@
         },
         "encryptionConfig": {
           "$ref": "GoogleCloudMlV1__EncryptionConfig",
-          "description": "Optional. Options for using customer-managed encryption keys (CMEK) to\nprotect resources created by a training job, instead of using Google's\ndefault encryption. If this is set, then all resources created by the\ntraining job will be encrypted with the customer-managed encryption key\nthat you specify.\n\n[Learn how and when to use CMEK with AI Platform\nTraining](/ai-platform/training/docs/cmek)."
+          "description": "Optional. Options for using customer-managed encryption keys (CMEK) to protect resources created by a training job, instead of using Google's default encryption. If this is set, then all resources created by the training job will be encrypted with the customer-managed encryption key that you specify. [Learn how and when to use CMEK with AI Platform Training](/ai-platform/training/docs/cmek)."
         },
         "evaluatorConfig": {
           "$ref": "GoogleCloudMlV1__ReplicaConfig",
-          "description": "Optional. The configuration for evaluators.\n\nYou should only set `evaluatorConfig.acceleratorConfig` if\n`evaluatorType` is set to a Compute Engine machine type. [Learn\nabout restrictions on accelerator configurations for\ntraining.](/ai-platform/training/docs/using-gpus#compute-engine-machine-types-with-gpu)\n\nSet `evaluatorConfig.imageUri` only if you build a custom image for\nyour evaluator. If `evaluatorConfig.imageUri` has not been\nset, AI Platform uses the value of `masterConfig.imageUri`. Learn more about [configuring custom\ncontainers](/ai-platform/training/docs/distributed-training-containers)."
+          "description": "Optional. The configuration for evaluators. You should only set `evaluatorConfig.acceleratorConfig` if `evaluatorType` is set to a Compute Engine machine type. [Learn about restrictions on accelerator configurations for training.](/ai-platform/training/docs/using-gpus#compute-engine-machine-types-with-gpu) Set `evaluatorConfig.imageUri` only if you build a custom image for your evaluator. If `evaluatorConfig.imageUri` has not been set, AI Platform uses the value of `masterConfig.imageUri`. Learn more about [configuring custom containers](/ai-platform/training/docs/distributed-training-containers)."
         },
         "evaluatorCount": {
-          "description": "Optional. The number of evaluator replicas to use for the training job.\nEach replica in the cluster will be of the type specified in\n`evaluator_type`.\n\nThis value can only be used when `scale_tier` is set to `CUSTOM`. If you\nset this value, you must also set `evaluator_type`.\n\nThe default value is zero.",
+          "description": "Optional. The number of evaluator replicas to use for the training job. Each replica in the cluster will be of the type specified in `evaluator_type`. This value can only be used when `scale_tier` is set to `CUSTOM`. If you set this value, you must also set `evaluator_type`. The default value is zero.",
           "format": "int64",
           "type": "string"
         },
         "evaluatorType": {
-          "description": "Optional. Specifies the type of virtual machine to use for your training\njob's evaluator nodes.\n\nThe supported values are the same as those described in the entry for\n`masterType`.\n\nThis value must be consistent with the category of machine type that\n`masterType` uses. In other words, both must be Compute Engine machine\ntypes or both must be legacy machine types.\n\nThis value must be present when `scaleTier` is set to `CUSTOM` and\n`evaluatorCount` is greater than zero.",
+          "description": "Optional. Specifies the type of virtual machine to use for your training job's evaluator nodes. The supported values are the same as those described in the entry for `masterType`. This value must be consistent with the category of machine type that `masterType` uses. In other words, both must be Compute Engine machine types or both must be legacy machine types. This value must be present when `scaleTier` is set to `CUSTOM` and `evaluatorCount` is greater than zero.",
           "type": "string"
         },
         "hyperparameters": {
@@ -3037,23 +3070,23 @@
           "description": "Optional. The set of Hyperparameters to tune."
         },
         "jobDir": {
-          "description": "Optional. A Google Cloud Storage path in which to store training outputs\nand other data needed for training. This path is passed to your TensorFlow\nprogram as the '--job-dir' command-line argument. The benefit of specifying\nthis field is that Cloud ML validates the path for use in training.",
+          "description": "Optional. A Google Cloud Storage path in which to store training outputs and other data needed for training. This path is passed to your TensorFlow program as the '--job-dir' command-line argument. The benefit of specifying this field is that Cloud ML validates the path for use in training.",
           "type": "string"
         },
         "masterConfig": {
           "$ref": "GoogleCloudMlV1__ReplicaConfig",
-          "description": "Optional. The configuration for your master worker.\n\nYou should only set `masterConfig.acceleratorConfig` if `masterType` is set\nto a Compute Engine machine type. Learn about [restrictions on accelerator\nconfigurations for\ntraining.](/ai-platform/training/docs/using-gpus#compute-engine-machine-types-with-gpu)\n\nSet `masterConfig.imageUri` only if you build a custom image. Only one of\n`masterConfig.imageUri` and `runtimeVersion` should be set. Learn more\nabout [configuring custom\ncontainers](/ai-platform/training/docs/distributed-training-containers)."
+          "description": "Optional. The configuration for your master worker. You should only set `masterConfig.acceleratorConfig` if `masterType` is set to a Compute Engine machine type. Learn about [restrictions on accelerator configurations for training.](/ai-platform/training/docs/using-gpus#compute-engine-machine-types-with-gpu) Set `masterConfig.imageUri` only if you build a custom image. Only one of `masterConfig.imageUri` and `runtimeVersion` should be set. Learn more about [configuring custom containers](/ai-platform/training/docs/distributed-training-containers)."
         },
         "masterType": {
-          "description": "Optional. Specifies the type of virtual machine to use for your training\njob's master worker. You must specify this field when `scaleTier` is set to\n`CUSTOM`.\n\nYou can use certain Compute Engine machine types directly in this field.\nThe following types are supported:\n\n- `n1-standard-4`\n- `n1-standard-8`\n- `n1-standard-16`\n- `n1-standard-32`\n- `n1-standard-64`\n- `n1-standard-96`\n- `n1-highmem-2`\n- `n1-highmem-4`\n- `n1-highmem-8`\n- `n1-highmem-16`\n- `n1-highmem-32`\n- `n1-highmem-64`\n- `n1-highmem-96`\n- `n1-highcpu-16`\n- `n1-highcpu-32`\n- `n1-highcpu-64`\n- `n1-highcpu-96`\n\nLearn more about [using Compute Engine machine\ntypes](/ml-engine/docs/machine-types#compute-engine-machine-types).\n\nAlternatively, you can use the following legacy machine types:\n\n- `standard`\n- `large_model`\n- `complex_model_s`\n- `complex_model_m`\n- `complex_model_l`\n- `standard_gpu`\n- `complex_model_m_gpu`\n- `complex_model_l_gpu`\n- `standard_p100`\n- `complex_model_m_p100`\n- `standard_v100`\n- `large_model_v100`\n- `complex_model_m_v100`\n- `complex_model_l_v100`\n\nLearn more about [using legacy machine\ntypes](/ml-engine/docs/machine-types#legacy-machine-types).\n\nFinally, if you want to use a TPU for training, specify `cloud_tpu` in this\nfield. Learn more about the [special configuration options for training\nwith\nTPUs](/ml-engine/docs/tensorflow/using-tpus#configuring_a_custom_tpu_machine).",
+          "description": "Optional. Specifies the type of virtual machine to use for your training job's master worker. You must specify this field when `scaleTier` is set to `CUSTOM`. You can use certain Compute Engine machine types directly in this field. The following types are supported: - `n1-standard-4` - `n1-standard-8` - `n1-standard-16` - `n1-standard-32` - `n1-standard-64` - `n1-standard-96` - `n1-highmem-2` - `n1-highmem-4` - `n1-highmem-8` - `n1-highmem-16` - `n1-highmem-32` - `n1-highmem-64` - `n1-highmem-96` - `n1-highcpu-16` - `n1-highcpu-32` - `n1-highcpu-64` - `n1-highcpu-96` Learn more about [using Compute Engine machine types](/ml-engine/docs/machine-types#compute-engine-machine-types). Alternatively, you can use the following legacy machine types: - `standard` - `large_model` - `complex_model_s` - `complex_model_m` - `complex_model_l` - `standard_gpu` - `complex_model_m_gpu` - `complex_model_l_gpu` - `standard_p100` - `complex_model_m_p100` - `standard_v100` - `large_model_v100` - `complex_model_m_v100` - `complex_model_l_v100` Learn more about [using legacy machine types](/ml-engine/docs/machine-types#legacy-machine-types). Finally, if you want to use a TPU for training, specify `cloud_tpu` in this field. Learn more about the [special configuration options for training with TPUs](/ml-engine/docs/tensorflow/using-tpus#configuring_a_custom_tpu_machine).",
           "type": "string"
         },
         "network": {
-          "description": "Optional. The full name of the [Compute Engine network](/vpc/docs/vpc) to which the\nJob is peered. For example, `projects/12345/global/networks/myVPC`. The\nformat of this field is `projects/{project}/global/networks/{network}`,\nwhere {project} is a project number (like `12345`) and {network} is network\nname.\n\nPrivate services access must already be configured for the network. If left\nunspecified, the Job is not peered with any network. [Learn about using VPC\nNetwork Peering.](/ai-platform/training/docs/vpc-peering).",
+          "description": "Optional. The full name of the [Compute Engine network](/vpc/docs/vpc) to which the Job is peered. For example, `projects/12345/global/networks/myVPC`. The format of this field is `projects/{project}/global/networks/{network}`, where {project} is a project number (like `12345`) and {network} is network name. Private services access must already be configured for the network. If left unspecified, the Job is not peered with any network. [Learn about using VPC Network Peering.](/ai-platform/training/docs/vpc-peering).",
           "type": "string"
         },
         "packageUris": {
-          "description": "Required. The Google Cloud Storage location of the packages with\nthe training program and any additional dependencies.\nThe maximum number of package URIs is 100.",
+          "description": "Required. The Google Cloud Storage location of the packages with the training program and any additional dependencies. The maximum number of package URIs is 100.",
           "items": {
             "type": "string"
           },
@@ -3061,15 +3094,15 @@
         },
         "parameterServerConfig": {
           "$ref": "GoogleCloudMlV1__ReplicaConfig",
-          "description": "Optional. The configuration for parameter servers.\n\nYou should only set `parameterServerConfig.acceleratorConfig` if\n`parameterServerType` is set to a Compute Engine machine type. [Learn\nabout restrictions on accelerator configurations for\ntraining.](/ai-platform/training/docs/using-gpus#compute-engine-machine-types-with-gpu)\n\nSet `parameterServerConfig.imageUri` only if you build a custom image for\nyour parameter server. If `parameterServerConfig.imageUri` has not been\nset, AI Platform uses the value of `masterConfig.imageUri`. Learn more about [configuring custom\ncontainers](/ai-platform/training/docs/distributed-training-containers)."
+          "description": "Optional. The configuration for parameter servers. You should only set `parameterServerConfig.acceleratorConfig` if `parameterServerType` is set to a Compute Engine machine type. [Learn about restrictions on accelerator configurations for training.](/ai-platform/training/docs/using-gpus#compute-engine-machine-types-with-gpu) Set `parameterServerConfig.imageUri` only if you build a custom image for your parameter server. If `parameterServerConfig.imageUri` has not been set, AI Platform uses the value of `masterConfig.imageUri`. Learn more about [configuring custom containers](/ai-platform/training/docs/distributed-training-containers)."
         },
         "parameterServerCount": {
-          "description": "Optional. The number of parameter server replicas to use for the training\njob. Each replica in the cluster will be of the type specified in\n`parameter_server_type`.\n\nThis value can only be used when `scale_tier` is set to `CUSTOM`. If you\nset this value, you must also set `parameter_server_type`.\n\nThe default value is zero.",
+          "description": "Optional. The number of parameter server replicas to use for the training job. Each replica in the cluster will be of the type specified in `parameter_server_type`. This value can only be used when `scale_tier` is set to `CUSTOM`. If you set this value, you must also set `parameter_server_type`. The default value is zero.",
           "format": "int64",
           "type": "string"
         },
         "parameterServerType": {
-          "description": "Optional. Specifies the type of virtual machine to use for your training\njob's parameter server.\n\nThe supported values are the same as those described in the entry for\n`master_type`.\n\nThis value must be consistent with the category of machine type that\n`masterType` uses. In other words, both must be Compute Engine machine\ntypes or both must be legacy machine types.\n\nThis value must be present when `scaleTier` is set to `CUSTOM` and\n`parameter_server_count` is greater than zero.",
+          "description": "Optional. Specifies the type of virtual machine to use for your training job's parameter server. The supported values are the same as those described in the entry for `master_type`. This value must be consistent with the category of machine type that `masterType` uses. In other words, both must be Compute Engine machine types or both must be legacy machine types. This value must be present when `scaleTier` is set to `CUSTOM` and `parameter_server_count` is greater than zero.",
           "type": "string"
         },
         "pythonModule": {
@@ -3077,19 +3110,19 @@
           "type": "string"
         },
         "pythonVersion": {
-          "description": "Optional. The version of Python used in training. You must either specify\nthis field or specify `masterConfig.imageUri`.\n\nThe following Python versions are available:\n\n* Python '3.7' is available when `runtime_version` is set to '1.15' or\n  later.\n* Python '3.5' is available when `runtime_version` is set to a version\n  from '1.4' to '1.14'.\n* Python '2.7' is available when `runtime_version` is set to '1.15' or\n  earlier.\n\nRead more about the Python versions available for [each runtime\nversion](/ml-engine/docs/runtime-version-list).",
+          "description": "Optional. The version of Python used in training. You must either specify this field or specify `masterConfig.imageUri`. The following Python versions are available: * Python '3.7' is available when `runtime_version` is set to '1.15' or later. * Python '3.5' is available when `runtime_version` is set to a version from '1.4' to '1.14'. * Python '2.7' is available when `runtime_version` is set to '1.15' or earlier. Read more about the Python versions available for [each runtime version](/ml-engine/docs/runtime-version-list).",
           "type": "string"
         },
         "region": {
-          "description": "Required. The region to run the training job in. See the [available\nregions](/ai-platform/training/docs/regions) for AI Platform Training.",
+          "description": "Required. The region to run the training job in. See the [available regions](/ai-platform/training/docs/regions) for AI Platform Training.",
           "type": "string"
         },
         "runtimeVersion": {
-          "description": "Optional. The AI Platform runtime version to use for training. You must\neither specify this field or specify `masterConfig.imageUri`.\n\nFor more information, see the [runtime version\nlist](/ai-platform/training/docs/runtime-version-list) and learn [how to\nmanage runtime versions](/ai-platform/training/docs/versioning).",
+          "description": "Optional. The AI Platform runtime version to use for training. You must either specify this field or specify `masterConfig.imageUri`. For more information, see the [runtime version list](/ai-platform/training/docs/runtime-version-list) and learn [how to manage runtime versions](/ai-platform/training/docs/versioning).",
           "type": "string"
         },
         "scaleTier": {
-          "description": "Required. Specifies the machine types, the number of replicas for workers\nand parameter servers.",
+          "description": "Required. Specifies the machine types, the number of replicas for workers and parameter servers.",
           "enum": [
             "BASIC",
             "STANDARD_1",
@@ -3099,12 +3132,12 @@
             "CUSTOM"
           ],
           "enumDescriptions": [
-            "A single worker instance. This tier is suitable for learning how to use\nCloud ML, and for experimenting with new models using small datasets.",
+            "A single worker instance. This tier is suitable for learning how to use Cloud ML, and for experimenting with new models using small datasets.",
             "Many workers and a few parameter servers.",
             "A large number of workers with many parameter servers.",
-            "A single worker instance [with a\nGPU](/ai-platform/training/docs/using-gpus).",
-            "A single worker instance with a\n[Cloud TPU](/ml-engine/docs/tensorflow/using-tpus).",
-            "The CUSTOM tier is not a set tier, but rather enables you to use your\nown cluster specification. When you use this tier, set values to\nconfigure your processing cluster according to these guidelines:\n\n*   You _must_ set `TrainingInput.masterType` to specify the type\n    of machine to use for your master node. This is the only required\n    setting.\n\n*   You _may_ set `TrainingInput.workerCount` to specify the number of\n    workers to use. If you specify one or more workers, you _must_ also\n    set `TrainingInput.workerType` to specify the type of machine to use\n    for your worker nodes.\n\n*   You _may_ set `TrainingInput.parameterServerCount` to specify the\n    number of parameter servers to use. If you specify one or more\n    parameter servers, you _must_ also set\n    `TrainingInput.parameterServerType` to specify the type of machine to\n    use for your parameter servers.\n\nNote that all of your workers must use the same machine type, which can\nbe different from your parameter server type and master type. Your\nparameter servers must likewise use the same machine type, which can be\ndifferent from your worker type and master type."
+            "A single worker instance [with a GPU](/ai-platform/training/docs/using-gpus).",
+            "A single worker instance with a [Cloud TPU](/ml-engine/docs/tensorflow/using-tpus).",
+            "The CUSTOM tier is not a set tier, but rather enables you to use your own cluster specification. When you use this tier, set values to configure your processing cluster according to these guidelines: * You _must_ set `TrainingInput.masterType` to specify the type of machine to use for your master node. This is the only required setting. * You _may_ set `TrainingInput.workerCount` to specify the number of workers to use. If you specify one or more workers, you _must_ also set `TrainingInput.workerType` to specify the type of machine to use for your worker nodes. * You _may_ set `TrainingInput.parameterServerCount` to specify the number of parameter servers to use. If you specify one or more parameter servers, you _must_ also set `TrainingInput.parameterServerType` to specify the type of machine to use for your parameter servers. Note that all of your workers must use the same machine type, which can be different from your parameter server type and master type. Your parameter servers must likewise use the same machine type, which can be different from your worker type and master type."
           ],
           "type": "string"
         },
@@ -3113,24 +3146,24 @@
           "description": "Optional. Scheduling options for a training job."
         },
         "serviceAccount": {
-          "description": "Optional. The email address of a service account to use when running the\ntraining appplication. You must have the `iam.serviceAccounts.actAs`\npermission for the specified service account. In addition, the AI Platform\nTraining Google-managed service account must have the\n`roles/iam.serviceAccountAdmin` role for the specified service account.\n[Learn more about configuring a service\naccount.](/ai-platform/training/docs/custom-service-account)\n\nIf not specified, the AI Platform Training Google-managed service account\nis used by default.",
+          "description": "Optional. The email address of a service account to use when running the training appplication. You must have the `iam.serviceAccounts.actAs` permission for the specified service account. In addition, the AI Platform Training Google-managed service account must have the `roles/iam.serviceAccountAdmin` role for the specified service account. [Learn more about configuring a service account.](/ai-platform/training/docs/custom-service-account) If not specified, the AI Platform Training Google-managed service account is used by default.",
           "type": "string"
         },
         "useChiefInTfConfig": {
-          "description": "Optional. Use `chief` instead of `master` in the `TF_CONFIG` environment\nvariable when training with a custom container. Defaults to `false`. [Learn\nmore about this\nfield.](/ai-platform/training/docs/distributed-training-details#chief-versus-master)\n\nThis field has no effect for training jobs that don't use a custom\ncontainer.",
+          "description": "Optional. Use `chief` instead of `master` in the `TF_CONFIG` environment variable when training with a custom container. Defaults to `false`. [Learn more about this field.](/ai-platform/training/docs/distributed-training-details#chief-versus-master) This field has no effect for training jobs that don't use a custom container.",
           "type": "boolean"
         },
         "workerConfig": {
           "$ref": "GoogleCloudMlV1__ReplicaConfig",
-          "description": "Optional. The configuration for workers.\n\nYou should only set `workerConfig.acceleratorConfig` if `workerType` is set\nto a Compute Engine machine type. [Learn about restrictions on accelerator\nconfigurations for\ntraining.](/ai-platform/training/docs/using-gpus#compute-engine-machine-types-with-gpu)\n\nSet `workerConfig.imageUri` only if you build a custom image for your\nworker. If `workerConfig.imageUri` has not been set, AI Platform uses\nthe value of `masterConfig.imageUri`. Learn more about [configuring custom\ncontainers](/ai-platform/training/docs/distributed-training-containers)."
+          "description": "Optional. The configuration for workers. You should only set `workerConfig.acceleratorConfig` if `workerType` is set to a Compute Engine machine type. [Learn about restrictions on accelerator configurations for training.](/ai-platform/training/docs/using-gpus#compute-engine-machine-types-with-gpu) Set `workerConfig.imageUri` only if you build a custom image for your worker. If `workerConfig.imageUri` has not been set, AI Platform uses the value of `masterConfig.imageUri`. Learn more about [configuring custom containers](/ai-platform/training/docs/distributed-training-containers)."
         },
         "workerCount": {
-          "description": "Optional. The number of worker replicas to use for the training job. Each\nreplica in the cluster will be of the type specified in `worker_type`.\n\nThis value can only be used when `scale_tier` is set to `CUSTOM`. If you\nset this value, you must also set `worker_type`.\n\nThe default value is zero.",
+          "description": "Optional. The number of worker replicas to use for the training job. Each replica in the cluster will be of the type specified in `worker_type`. This value can only be used when `scale_tier` is set to `CUSTOM`. If you set this value, you must also set `worker_type`. The default value is zero.",
           "format": "int64",
           "type": "string"
         },
         "workerType": {
-          "description": "Optional. Specifies the type of virtual machine to use for your training\njob's worker nodes.\n\nThe supported values are the same as those described in the entry for\n`masterType`.\n\nThis value must be consistent with the category of machine type that\n`masterType` uses. In other words, both must be Compute Engine machine\ntypes or both must be legacy machine types.\n\nIf you use `cloud_tpu` for this value, see special instructions for\n[configuring a custom TPU\nmachine](/ml-engine/docs/tensorflow/using-tpus#configuring_a_custom_tpu_machine).\n\nThis value must be present when `scaleTier` is set to `CUSTOM` and\n`workerCount` is greater than zero.",
+          "description": "Optional. Specifies the type of virtual machine to use for your training job's worker nodes. The supported values are the same as those described in the entry for `masterType`. This value must be consistent with the category of machine type that `masterType` uses. In other words, both must be Compute Engine machine types or both must be legacy machine types. If you use `cloud_tpu` for this value, see special instructions for [configuring a custom TPU machine](/ml-engine/docs/tensorflow/using-tpus#configuring_a_custom_tpu_machine). This value must be present when `scaleTier` is set to `CUSTOM` and `workerCount` is greater than zero.",
           "type": "string"
         }
       },
@@ -3142,10 +3175,10 @@
       "properties": {
         "builtInAlgorithmOutput": {
           "$ref": "GoogleCloudMlV1__BuiltInAlgorithmOutput",
-          "description": "Details related to built-in algorithms jobs.\nOnly set for built-in algorithms jobs."
+          "description": "Details related to built-in algorithms jobs. Only set for built-in algorithms jobs."
         },
         "completedTrialCount": {
-          "description": "The number of hyperparameter tuning trials that completed successfully.\nOnly set for hyperparameter tuning jobs.",
+          "description": "The number of hyperparameter tuning trials that completed successfully. Only set for hyperparameter tuning jobs.",
           "format": "int64",
           "type": "string"
         },
@@ -3155,7 +3188,7 @@
           "type": "number"
         },
         "hyperparameterMetricTag": {
-          "description": "The TensorFlow summary tag name used for optimizing hyperparameter tuning\ntrials. See\n[`HyperparameterSpec.hyperparameterMetricTag`](#HyperparameterSpec.FIELDS.hyperparameter_metric_tag)\nfor more information. Only set for hyperparameter tuning jobs.",
+          "description": "The TensorFlow summary tag name used for optimizing hyperparameter tuning trials. See [`HyperparameterSpec.hyperparameterMetricTag`](#HyperparameterSpec.FIELDS.hyperparameter_metric_tag) for more information. Only set for hyperparameter tuning jobs.",
           "type": "string"
         },
         "isBuiltInAlgorithmJob": {
@@ -3167,7 +3200,7 @@
           "type": "boolean"
         },
         "trials": {
-          "description": "Results for individual Hyperparameter trials.\nOnly set for hyperparameter tuning jobs.",
+          "description": "Results for individual Hyperparameter trials. Only set for hyperparameter tuning jobs.",
           "items": {
             "$ref": "GoogleCloudMlV1__HyperparameterOutput"
           },
@@ -3182,11 +3215,13 @@
       "properties": {
         "clientId": {
           "description": "Output only. The identifier of the client that originally requested this trial.",
+          "readOnly": true,
           "type": "string"
         },
         "endTime": {
           "description": "Output only. Time at which the trial's status changed to COMPLETED.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "finalMeasurement": {
@@ -3194,11 +3229,12 @@
           "description": "The final measurement containing the objective value."
         },
         "infeasibleReason": {
-          "description": "Output only. A human readable string describing why the trial is\ninfeasible. This should only be set if trial_infeasible is true.",
+          "description": "Output only. A human readable string describing why the trial is infeasible. This should only be set if trial_infeasible is true.",
+          "readOnly": true,
           "type": "string"
         },
         "measurements": {
-          "description": "A list of measurements that are strictly lexicographically\nordered by their induced tuples (steps, elapsed_time).\nThese are used for early stopping computations.",
+          "description": "A list of measurements that are strictly lexicographically ordered by their induced tuples (steps, elapsed_time). These are used for early stopping computations.",
           "items": {
             "$ref": "GoogleCloudMlV1__Measurement"
           },
@@ -3206,6 +3242,7 @@
         },
         "name": {
           "description": "Output only. Name of the trial assigned by the service.",
+          "readOnly": true,
           "type": "string"
         },
         "parameters": {
@@ -3218,6 +3255,7 @@
         "startTime": {
           "description": "Output only. Time at which the trial was started.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "state": {
@@ -3231,31 +3269,32 @@
           ],
           "enumDescriptions": [
             "The trial state is unspecified.",
-            "Indicates that a specific trial has been requested, but it has not yet\nbeen suggested by the service.",
+            "Indicates that a specific trial has been requested, but it has not yet been suggested by the service.",
             "Indicates that the trial has been suggested.",
-            "Indicates that the trial is done, and either has a final_measurement\nset, or is marked as trial_infeasible.",
+            "Indicates that the trial is done, and either has a final_measurement set, or is marked as trial_infeasible.",
             "Indicates that the trial should stop according to the service."
           ],
           "type": "string"
         },
         "trialInfeasible": {
           "description": "Output only. If true, the parameters in this trial are not attempted again.",
+          "readOnly": true,
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "GoogleCloudMlV1__Version": {
-      "description": "Represents a version of the model.\n\nEach version is a trained model deployed in the cloud, ready to handle\nprediction requests. A model can have multiple versions. You can get\ninformation about all of the versions of a given model by calling\nprojects.models.versions.list.",
+      "description": "Represents a version of the model. Each version is a trained model deployed in the cloud, ready to handle 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.",
       "id": "GoogleCloudMlV1__Version",
       "properties": {
         "acceleratorConfig": {
           "$ref": "GoogleCloudMlV1__AcceleratorConfig",
-          "description": "Optional. Accelerator config for using GPUs for online prediction (beta).\nOnly specify this field if you have specified a Compute Engine (N1) machine\ntype in the `machineType` field. Learn more about [using GPUs for online\nprediction](/ml-engine/docs/machine-types-online-prediction#gpus)."
+          "description": "Optional. Accelerator config for using GPUs for online prediction (beta). Only specify this field if you have specified a Compute Engine (N1) machine type in the `machineType` field. Learn more about [using GPUs for online prediction](/ml-engine/docs/machine-types-online-prediction#gpus)."
         },
         "autoScaling": {
           "$ref": "GoogleCloudMlV1__AutoScaling",
-          "description": "Automatically scale the number of nodes used to serve the model in\nresponse to increases and decreases in traffic. Care should be\ntaken to ramp up traffic according to the model's ability to scale\nor you will start seeing increases in latency and 429 response codes.\n\nNote that you cannot use AutoScaling if your version uses\n[GPUs](#Version.FIELDS.accelerator_config). Instead, you must use specify\n`manual_scaling`."
+          "description": "Automatically scale the number of nodes used to serve the model in response to increases and decreases in traffic. Care should be taken to ramp up traffic according to the model's ability to scale or you will start seeing increases in latency and 429 response codes. Note that you cannot use AutoScaling if your version uses [GPUs](#Version.FIELDS.accelerator_config). Instead, you must use specify `manual_scaling`."
         },
         "createTime": {
           "description": "Output only. The time the version was created.",
@@ -3263,28 +3302,33 @@
           "type": "string"
         },
         "deploymentUri": {
-          "description": "Required. The Cloud Storage location of the trained model used to\ncreate the version. See the\n[guide to model\ndeployment](/ml-engine/docs/tensorflow/deploying-models) for more\ninformation.\n\nWhen passing Version to\nprojects.models.versions.create\nthe model service uses the specified location as the source of the model.\nOnce deployed, the model version is hosted by the prediction service, so\nthis location is useful only as a historical record.\nThe total number of model files can't exceed 1000.",
+          "description": "Required. The Cloud Storage location of the trained model used to create the version. See the [guide to model deployment](/ml-engine/docs/tensorflow/deploying-models) for more information. When passing Version to projects.models.versions.create the model service uses the specified location as the source of the model. Once deployed, the model version is hosted by the prediction service, so this location is useful only as a historical record. The total number of model files can't exceed 1000.",
           "type": "string"
         },
         "description": {
           "description": "Optional. The description specified for the version when it was created.",
           "type": "string"
         },
+        "endpoints": {
+          "$ref": "GoogleCloudMlV1__EndpointMap",
+          "description": "Optional. Output only. If set by server, the http(s) endpoints returned to user after the public/private deployment is successful. https://cloud.google.com/apis/design/design_patterns#output_fields.",
+          "readOnly": true
+        },
         "errorMessage": {
           "description": "Output only. The details of a failure or a cancellation.",
           "type": "string"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a model from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform model updates in order to avoid race\nconditions: An `etag` is returned in the response to `GetVersion`, and\nsystems are expected to put that etag in the request to `UpdateVersion` to\nensure that their change will be applied to the model as intended.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a model from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform model updates in order to avoid race conditions: An `etag` is returned in the response to `GetVersion`, and systems are expected to put that etag in the request to `UpdateVersion` to ensure that their change will be applied to the model as intended.",
           "format": "byte",
           "type": "string"
         },
         "explanationConfig": {
           "$ref": "GoogleCloudMlV1__ExplanationConfig",
-          "description": "Optional. Configures explainability features on the model's version.\nSome explanation features require additional metadata to be loaded\nas part of the model payload."
+          "description": "Optional. Configures explainability features on the model's version. Some explanation features require additional metadata to be loaded as part of the model payload."
         },
         "framework": {
-          "description": "Optional. The machine learning framework AI Platform uses to train\nthis version of the model. Valid values are `TENSORFLOW`, `SCIKIT_LEARN`,\n`XGBOOST`. If you do not specify a framework, AI Platform\nwill analyze files in the deployment_uri to determine a framework. If you\nchoose `SCIKIT_LEARN` or `XGBOOST`, you must also set the runtime version\nof the model to 1.4 or greater.\n\nDo **not** specify a framework if you're deploying a [custom\nprediction routine](/ml-engine/docs/tensorflow/custom-prediction-routines).\n\nIf you specify a [Compute Engine (N1) machine\ntype](/ml-engine/docs/machine-types-online-prediction) in the\n`machineType` field, you must specify `TENSORFLOW`\nfor the framework.",
+          "description": "Optional. The machine learning framework AI Platform uses to train this version of the model. Valid values are `TENSORFLOW`, `SCIKIT_LEARN`, `XGBOOST`. If you do not specify a framework, AI Platform will analyze files in the deployment_uri to determine a framework. If you choose `SCIKIT_LEARN` or `XGBOOST`, you must also set the runtime version of the model to 1.4 or greater. Do **not** specify a framework if you're deploying a [custom prediction routine](/ml-engine/docs/tensorflow/custom-prediction-routines). If you specify a [Compute Engine (N1) machine type](/ml-engine/docs/machine-types-online-prediction) in the `machineType` field, you must specify `TENSORFLOW` for the framework.",
           "enum": [
             "FRAMEWORK_UNSPECIFIED",
             "TENSORFLOW",
@@ -3300,14 +3344,14 @@
           "type": "string"
         },
         "isDefault": {
-          "description": "Output only. If true, this version will be used to handle prediction\nrequests that do not specify a version.\n\nYou can change the default version by calling\nprojects.methods.versions.setDefault.",
+          "description": "Output only. If true, this version will be used to handle prediction requests that do not specify a version. You can change the default version by calling projects.methods.versions.setDefault.",
           "type": "boolean"
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Optional. One or more labels that you can add, to organize your model\nversions. Each label is a key-value pair, where both the key and the value\nare arbitrary strings that you supply.\nFor more information, see the documentation on\n\u003ca href=\"/ml-engine/docs/tensorflow/resource-labels\"\u003eusing labels\u003c/a\u003e.",
+          "description": "Optional. One or more labels that you can add, to organize your model versions. Each label is a key-value pair, where both the key and the value are arbitrary strings that you supply. For more information, see the documentation on using labels.",
           "type": "object"
         },
         "lastUseTime": {
@@ -3316,38 +3360,38 @@
           "type": "string"
         },
         "machineType": {
-          "description": "Optional. The type of machine on which to serve the model. Currently only\napplies to online prediction service. If this field is not specified, it\ndefaults to `mls1-c1-m2`.\n\nOnline prediction supports the following machine types:\n\n* `mls1-c1-m2`\n* `mls1-c4-m2`\n* `n1-standard-2`\n* `n1-standard-4`\n* `n1-standard-8`\n* `n1-standard-16`\n* `n1-standard-32`\n* `n1-highmem-2`\n* `n1-highmem-4`\n* `n1-highmem-8`\n* `n1-highmem-16`\n* `n1-highmem-32`\n* `n1-highcpu-2`\n* `n1-highcpu-4`\n* `n1-highcpu-8`\n* `n1-highcpu-16`\n* `n1-highcpu-32`\n\n`mls1-c1-m2` is generally available. All other machine types are available\nin beta. Learn more about the [differences between machine\ntypes](/ml-engine/docs/machine-types-online-prediction).",
+          "description": "Optional. The type of machine on which to serve the model. Currently only applies to online prediction service. If this field is not specified, it defaults to `mls1-c1-m2`. Online prediction supports the following machine types: * `mls1-c1-m2` * `mls1-c4-m2` * `n1-standard-2` * `n1-standard-4` * `n1-standard-8` * `n1-standard-16` * `n1-standard-32` * `n1-highmem-2` * `n1-highmem-4` * `n1-highmem-8` * `n1-highmem-16` * `n1-highmem-32` * `n1-highcpu-2` * `n1-highcpu-4` * `n1-highcpu-8` * `n1-highcpu-16` * `n1-highcpu-32` `mls1-c1-m2` is generally available. All other machine types are available in beta. Learn more about the [differences between machine types](/ml-engine/docs/machine-types-online-prediction).",
           "type": "string"
         },
         "manualScaling": {
           "$ref": "GoogleCloudMlV1__ManualScaling",
-          "description": "Manually select the number of nodes to use for serving the\nmodel. You should generally use `auto_scaling` with an appropriate\n`min_nodes` instead, but this option is available if you want more\npredictable billing. Beware that latency and error rates will increase\nif the traffic exceeds that capability of the system to serve it based\non the selected number of nodes."
+          "description": "Manually select the number of nodes to use for serving the model. You should generally use `auto_scaling` with an appropriate `min_nodes` instead, but this option is available if you want more predictable billing. Beware that latency and error rates will increase if the traffic exceeds that capability of the system to serve it based on the selected number of nodes."
         },
         "name": {
-          "description": "Required. The name specified for the version when it was created.\n\nThe version name must be unique within the model it is created in.",
+          "description": "Required. The name specified for the version when it was created. The version name must be unique within the model it is created in.",
           "type": "string"
         },
         "packageUris": {
-          "description": "Optional. Cloud Storage paths (`gs://…`) of packages for [custom\nprediction routines](/ml-engine/docs/tensorflow/custom-prediction-routines)\nor [scikit-learn pipelines with custom\ncode](/ml-engine/docs/scikit/exporting-for-prediction#custom-pipeline-code).\n\nFor a custom prediction routine, one of these packages must contain your\nPredictor class (see\n[`predictionClass`](#Version.FIELDS.prediction_class)). Additionally,\ninclude any dependencies used by your Predictor or scikit-learn pipeline\nuses that are not already included in your selected [runtime\nversion](/ml-engine/docs/tensorflow/runtime-version-list).\n\nIf you specify this field, you must also set\n[`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater.",
+          "description": "Optional. Cloud Storage paths (`gs://…`) of packages for [custom prediction routines](/ml-engine/docs/tensorflow/custom-prediction-routines) or [scikit-learn pipelines with custom code](/ml-engine/docs/scikit/exporting-for-prediction#custom-pipeline-code). For a custom prediction routine, one of these packages must contain your Predictor class (see [`predictionClass`](#Version.FIELDS.prediction_class)). Additionally, include any dependencies used by your Predictor or scikit-learn pipeline uses that are not already included in your selected [runtime version](/ml-engine/docs/tensorflow/runtime-version-list). If you specify this field, you must also set [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "predictionClass": {
-          "description": "Optional. The fully qualified name\n(\u003cvar\u003emodule_name\u003c/var\u003e.\u003cvar\u003eclass_name\u003c/var\u003e) of a class that implements\nthe Predictor interface described in this reference field. The module\ncontaining this class should be included in a package provided to the\n[`packageUris` field](#Version.FIELDS.package_uris).\n\nSpecify this field if and only if you are deploying a [custom prediction\nroutine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines).\nIf you specify this field, you must set\n[`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater and\nyou must set `machineType` to a [legacy (MLS1)\nmachine type](/ml-engine/docs/machine-types-online-prediction).\n\nThe following code sample provides the Predictor interface:\n\n\u003cpre style=\"max-width: 626px;\"\u003e\nclass Predictor(object):\n\"\"\"Interface for constructing custom predictors.\"\"\"\n\ndef predict(self, instances, **kwargs):\n    \"\"\"Performs custom prediction.\n\n    Instances are the decoded values from the request. They have already\n    been deserialized from JSON.\n\n    Args:\n        instances: A list of prediction input instances.\n        **kwargs: A dictionary of keyword args provided as additional\n            fields on the predict request body.\n\n    Returns:\n        A list of outputs containing the prediction results. This list must\n        be JSON serializable.\n    \"\"\"\n    raise NotImplementedError()\n\n@classmethod\ndef from_path(cls, model_dir):\n    \"\"\"Creates an instance of Predictor using the given path.\n\n    Loading of the predictor should be done in this method.\n\n    Args:\n        model_dir: The local directory that contains the exported model\n            file along with any additional files uploaded when creating the\n            version resource.\n\n    Returns:\n        An instance implementing this Predictor class.\n    \"\"\"\n    raise NotImplementedError()\n\u003c/pre\u003e\n\nLearn more about [the Predictor interface and custom prediction\nroutines](/ml-engine/docs/tensorflow/custom-prediction-routines).",
+          "description": "Optional. The fully qualified name (module_name.class_name) of a class that implements the Predictor interface described in this reference field. The module containing this class should be included in a package provided to the [`packageUris` field](#Version.FIELDS.package_uris). Specify this field if and only if you are deploying a [custom prediction routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines). If you specify this field, you must set [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater and you must set `machineType` to a [legacy (MLS1) machine type](/ml-engine/docs/machine-types-online-prediction). The following code sample provides the Predictor interface: class Predictor(object): \"\"\"Interface for constructing custom predictors.\"\"\" def predict(self, instances, **kwargs): \"\"\"Performs custom prediction. Instances are the decoded values from the request. They have already been deserialized from JSON. Args: instances: A list of prediction input instances. **kwargs: A dictionary of keyword args provided as additional fields on the predict request body. Returns: A list of outputs containing the prediction results. This list must be JSON serializable. \"\"\" raise NotImplementedError() @classmethod def from_path(cls, model_dir): \"\"\"Creates an instance of Predictor using the given path. Loading of the predictor should be done in this method. Args: model_dir: The local directory that contains the exported model file along with any additional files uploaded when creating the version resource. Returns: An instance implementing this Predictor class. \"\"\" raise NotImplementedError() Learn more about [the Predictor interface and custom prediction routines](/ml-engine/docs/tensorflow/custom-prediction-routines).",
           "type": "string"
         },
         "pythonVersion": {
-          "description": "Required. The version of Python used in prediction.\n\nThe following Python versions are available:\n\n* Python '3.7' is available when `runtime_version` is set to '1.15' or\n  later.\n* Python '3.5' is available when `runtime_version` is set to a version\n  from '1.4' to '1.14'.\n* Python '2.7' is available when `runtime_version` is set to '1.15' or\n  earlier.\n\nRead more about the Python versions available for [each runtime\nversion](/ml-engine/docs/runtime-version-list).",
+          "description": "Required. The version of Python used in prediction. The following Python versions are available: * Python '3.7' is available when `runtime_version` is set to '1.15' or later. * Python '3.5' is available when `runtime_version` is set to a version from '1.4' to '1.14'. * Python '2.7' is available when `runtime_version` is set to '1.15' or earlier. Read more about the Python versions available for [each runtime version](/ml-engine/docs/runtime-version-list).",
           "type": "string"
         },
         "requestLoggingConfig": {
           "$ref": "GoogleCloudMlV1__RequestLoggingConfig",
-          "description": "Optional. *Only* specify this field in a\nprojects.models.versions.patch\nrequest. Specifying it in a\nprojects.models.versions.create\nrequest has no effect.\n\nConfigures the request-response pair logging on predictions from this\nVersion."
+          "description": "Optional. *Only* specify this field in a projects.models.versions.patch request. Specifying it in a projects.models.versions.create request has no effect. Configures the request-response pair logging on predictions from this Version."
         },
         "runtimeVersion": {
-          "description": "Required. The AI Platform runtime version to use for this deployment.\n\nFor more information, see the\n[runtime version list](/ml-engine/docs/runtime-version-list) and\n[how to manage runtime versions](/ml-engine/docs/versioning).",
+          "description": "Required. The AI Platform runtime version to use for this deployment. For more information, see the [runtime version list](/ml-engine/docs/runtime-version-list) and [how to manage runtime versions](/ml-engine/docs/versioning).",
           "type": "string"
         },
         "serviceAccount": {
@@ -3367,10 +3411,10 @@
           "enumDescriptions": [
             "The version state is unspecified.",
             "The version is ready for prediction.",
-            "The version is being created. New UpdateVersion and DeleteVersion\nrequests will fail if a version is in the CREATING state.",
-            "The version failed to be created, possibly cancelled.\n`error_message` should contain the details of the failure.",
-            "The version is being deleted. New UpdateVersion and DeleteVersion\nrequests will fail if a version is in the DELETING state.",
-            "The version is being updated. New UpdateVersion and DeleteVersion\nrequests will fail if a version is in the UPDATING state."
+            "The version is being created. New UpdateVersion and DeleteVersion requests will fail if a version is in the CREATING state.",
+            "The version failed to be created, possibly cancelled. `error_message` should contain the details of the failure.",
+            "The version is being deleted. New UpdateVersion and DeleteVersion requests will fail if a version is in the DELETING state.",
+            "The version is being updated. New UpdateVersion and DeleteVersion requests will fail if a version is in the UPDATING state."
           ],
           "type": "string"
         }
@@ -3378,11 +3422,11 @@
       "type": "object"
     },
     "GoogleCloudMlV1__XraiAttribution": {
-      "description": "Attributes credit by computing the XRAI taking advantage\nof the model's fully differentiable structure. Refer to this paper for\nmore details: https://arxiv.org/abs/1906.02825\nCurrently only implemented for models with natural image inputs.",
+      "description": "Attributes credit by computing the XRAI taking advantage of the model's fully differentiable structure. Refer to this paper for more details: https://arxiv.org/abs/1906.02825 Currently only implemented for models with natural image inputs.",
       "id": "GoogleCloudMlV1__XraiAttribution",
       "properties": {
         "numIntegralSteps": {
-          "description": "Number of steps for approximating the path integral.\nA good value to start is 50 and gradually increase until the\nsum to diff property is met within the desired error range.",
+          "description": "Number of steps for approximating the path integral. A good value to start is 50 and gradually increase until the sum to diff property is met within the desired error range.",
           "format": "int32",
           "type": "integer"
         }
@@ -3390,7 +3434,7 @@
       "type": "object"
     },
     "GoogleIamV1__AuditConfig": {
-      "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n    {\n      \"audit_configs\": [\n        {\n          \"service\": \"allServices\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n              \"exempted_members\": [\n                \"user:jose@example.com\"\n              ]\n            },\n            {\n              \"log_type\": \"DATA_WRITE\"\n            },\n            {\n              \"log_type\": \"ADMIN_READ\"\n            }\n          ]\n        },\n        {\n          \"service\": \"sampleservice.googleapis.com\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\"\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n              \"exempted_members\": [\n                \"user:aliya@example.com\"\n              ]\n            }\n          ]\n        }\n      ]\n    }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.",
+      "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.",
       "id": "GoogleIamV1__AuditConfig",
       "properties": {
         "auditLogConfigs": {
@@ -3401,18 +3445,18 @@
           "type": "array"
         },
         "service": {
-          "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.",
+          "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleIamV1__AuditLogConfig": {
-      "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n    {\n      \"audit_log_configs\": [\n        {\n          \"log_type\": \"DATA_READ\",\n          \"exempted_members\": [\n            \"user:jose@example.com\"\n          ]\n        },\n        {\n          \"log_type\": \"DATA_WRITE\"\n        }\n      ]\n    }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.",
+      "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.",
       "id": "GoogleIamV1__AuditLogConfig",
       "properties": {
         "exemptedMembers": {
-          "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.",
+          "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.",
           "items": {
             "type": "string"
           },
@@ -3443,24 +3487,24 @@
       "properties": {
         "condition": {
           "$ref": "GoogleType__Expr",
-          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleIamV1__Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\n            \"user:eve@example.com\"\n          ],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "GoogleIamV1__Policy",
       "properties": {
         "auditConfigs": {
@@ -3471,19 +3515,19 @@
           "type": "array"
         },
         "bindings": {
-          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
+          "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.",
           "items": {
             "$ref": "GoogleIamV1__Binding"
           },
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
           "format": "byte",
           "type": "string"
         },
         "version": {
-          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -3496,10 +3540,10 @@
       "properties": {
         "policy": {
           "$ref": "GoogleIamV1__Policy",
-          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
+          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them."
         },
         "updateMask": {
-          "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`",
+          "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`",
           "format": "google-fieldmask",
           "type": "string"
         }
@@ -3511,7 +3555,7 @@
       "id": "GoogleIamV1__TestIamPermissionsRequest",
       "properties": {
         "permissions": {
-          "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
+          "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
           "items": {
             "type": "string"
           },
@@ -3525,7 +3569,7 @@
       "id": "GoogleIamV1__TestIamPermissionsResponse",
       "properties": {
         "permissions": {
-          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
+          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
           "items": {
             "type": "string"
           },
@@ -3553,11 +3597,11 @@
       "type": "object"
     },
     "GoogleLongrunning__Operation": {
-      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
+      "description": "This resource represents a long-running operation that is the result of a network API call.",
       "id": "GoogleLongrunning__Operation",
       "properties": {
         "done": {
-          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
+          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
           "type": "boolean"
         },
         "error": {
@@ -3569,11 +3613,11 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "Service-specific metadata associated with the operation.  It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata.  Any method that returns a\nlong-running operation should document the metadata type, if any.",
+          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
           "type": "object"
         },
         "name": {
-          "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.",
+          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
           "type": "string"
         },
         "response": {
@@ -3581,20 +3625,20 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "The normal response of the operation in case of success.  If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`.  If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource.  For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name.  For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
+          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
           "type": "object"
         }
       },
       "type": "object"
     },
     "GoogleProtobuf__Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "GoogleProtobuf__Empty",
       "properties": {},
       "type": "object"
     },
     "GoogleRpc__Status": {
-      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "GoogleRpc__Status",
       "properties": {
         "code": {
@@ -3603,7 +3647,7 @@
           "type": "integer"
         },
         "details": {
-          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -3614,30 +3658,30 @@
           "type": "array"
         },
         "message": {
-          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleType__Expr": {
-      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
+      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
       "id": "GoogleType__Expr",
       "properties": {
         "description": {
-          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
+          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
           "type": "string"
         },
         "expression": {
-          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
+          "description": "Textual representation of an expression in Common Expression Language syntax.",
           "type": "string"
         },
         "location": {
-          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
+          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
           "type": "string"
         },
         "title": {
-          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
+          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
           "type": "string"
         }
       },
diff --git a/ml/v1/ml-gen.go b/ml/v1/ml-gen.go
index fcbc7ff..76eed36 100644
--- a/ml/v1/ml-gen.go
+++ b/ml/v1/ml-gen.go
@@ -249,50 +249,22 @@
 }
 
 // GoogleApi__HttpBody: Message that represents an arbitrary HTTP body.
-// It should only be used for
-// payload formats that can't be represented as JSON, such as raw binary
-// or
-// an HTML page.
-//
-//
-// This message can be used both in streaming and non-streaming API
-// methods in
-// the request as well as the response.
-//
-// It can be used as a top-level request field, which is convenient if
-// one
-// wants to extract parameters from either the URL or HTTP template into
-// the
-// request fields and also want access to the raw HTTP body.
-//
-// Example:
-//
-//     message GetResourceRequest {
-//       // A unique request id.
-//       string request_id = 1;
-//
-//       // The raw HTTP body is bound to this field.
-//       google.api.HttpBody http_body = 2;
-//     }
-//
-//     service ResourceService {
-//       rpc GetResource(GetResourceRequest) returns
-// (google.api.HttpBody);
-//       rpc UpdateResource(google.api.HttpBody) returns
-//       (google.protobuf.Empty);
-//     }
-//
-// Example with streaming methods:
-//
-//     service CaldavService {
-//       rpc GetCalendar(stream google.api.HttpBody)
-//         returns (stream google.api.HttpBody);
-//       rpc UpdateCalendar(stream google.api.HttpBody)
-//         returns (stream google.api.HttpBody);
-//     }
-//
-// Use of this type only changes how the request and response bodies
-// are
+// It should only be used for payload formats that can't be represented
+// as JSON, such as raw binary or an HTML page. This message can be used
+// both in streaming and non-streaming API methods in the request as
+// well as the response. It can be used as a top-level request field,
+// which is convenient if one wants to extract parameters from either
+// the URL or HTTP template into the request fields and also want access
+// to the raw HTTP body. Example: message GetResourceRequest { // A
+// unique request id. string request_id = 1; // The raw HTTP body is
+// bound to this field. google.api.HttpBody http_body = 2; } service
+// ResourceService { rpc GetResource(GetResourceRequest) returns
+// (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody)
+// returns (google.protobuf.Empty); } Example with streaming methods:
+// service CaldavService { rpc GetCalendar(stream google.api.HttpBody)
+// returns (stream google.api.HttpBody); rpc UpdateCalendar(stream
+// google.api.HttpBody) returns (stream google.api.HttpBody); } Use of
+// this type only changes how the request and response bodies are
 // handled, all other features will continue to work unchanged.
 type GoogleApi__HttpBody struct {
 	// ContentType: The HTTP Content-Type header value specifying the
@@ -303,8 +275,7 @@
 	Data string `json:"data,omitempty"`
 
 	// Extensions: Application specific response metadata. Must be set in
-	// the first response
-	// for streaming APIs.
+	// the first response for streaming APIs.
 	Extensions []googleapi.RawMessage `json:"extensions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -336,10 +307,8 @@
 
 type GoogleCloudMlV1AutomatedStoppingConfigDecayCurveAutomatedStoppingConfig struct {
 	// UseElapsedTime: If true, measurement.elapsed_time is used as the
-	// x-axis of each
-	// Trials Decay Curve. Otherwise, Measurement.steps will be used as
-	// the
-	// x-axis.
+	// x-axis of each Trials Decay Curve. Otherwise, Measurement.steps will
+	// be used as the x-axis.
 	UseElapsedTime bool `json:"useElapsedTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "UseElapsedTime") to
@@ -368,22 +337,15 @@
 
 // GoogleCloudMlV1AutomatedStoppingConfigMedianAutomatedStoppingConfig:
 // The median automated stopping rule stops a pending trial if the
-// trial's
-// best objective_value is strictly below the median 'performance' of
-// all
-// completed trials reported up to the trial's last
-// measurement.
-// Currently, 'performance' refers to the running average of the
-// objective
-// values reported by the trial in each measurement.
+// trial's best objective_value is strictly below the median
+// 'performance' of all completed trials reported up to the trial's last
+// measurement. Currently, 'performance' refers to the running average
+// of the objective values reported by the trial in each measurement.
 type GoogleCloudMlV1AutomatedStoppingConfigMedianAutomatedStoppingConfig struct {
 	// UseElapsedTime: If true, the median automated stopping rule applies
-	// to
-	// measurement.use_elapsed_time, which means the elapsed_time field
-	// of
-	// the current trial's
-	// latest measurement is used to compute the median objective
-	// value for each completed trial.
+	// to measurement.use_elapsed_time, which means the elapsed_time field
+	// of the current trial's latest measurement is used to compute the
+	// median objective value for each completed trial.
 	UseElapsedTime bool `json:"useElapsedTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "UseElapsedTime") to
@@ -504,8 +466,8 @@
 }
 
 type GoogleCloudMlV1StudyConfigParameterSpecCategoricalValueSpec struct {
-	// Values: Must be specified if type is `CATEGORICAL`.
-	// The list of possible categories.
+	// Values: Must be specified if type is `CATEGORICAL`. The list of
+	// possible categories.
 	Values []string `json:"values,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Values") to
@@ -532,13 +494,10 @@
 }
 
 type GoogleCloudMlV1StudyConfigParameterSpecDiscreteValueSpec struct {
-	// Values: Must be specified if type is `DISCRETE`.
-	// A list of feasible points.
-	// The list should be in strictly increasing order. For instance,
-	// this
-	// parameter might have possible settings of 1.5, 2.5, and 4.0. This
-	// list
-	// should not contain more than 1,000 values.
+	// Values: Must be specified if type is `DISCRETE`. A list of feasible
+	// points. The list should be in strictly increasing order. For
+	// instance, this parameter might have possible settings of 1.5, 2.5,
+	// and 4.0. This list should not contain more than 1,000 values.
 	Values []float64 `json:"values,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Values") to
@@ -649,9 +608,8 @@
 // parameter.
 type GoogleCloudMlV1StudyConfigParameterSpecMatchingParentCategoricalValueSpec struct {
 	// Values: Matches values of the parent parameter with type
-	// 'CATEGORICAL'.
-	// All values must exist in `categorical_value_spec` of parent
-	// parameter.
+	// 'CATEGORICAL'. All values must exist in `categorical_value_spec` of
+	// parent parameter.
 	Values []string `json:"values,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Values") to
@@ -680,8 +638,7 @@
 // GoogleCloudMlV1StudyConfigParameterSpecMatchingParentDiscreteValueSpec
 // : Represents the spec to match discrete values from parent parameter.
 type GoogleCloudMlV1StudyConfigParameterSpecMatchingParentDiscreteValueSpec struct {
-	// Values: Matches values of the parent parameter with type
-	// 'DISCRETE'.
+	// Values: Matches values of the parent parameter with type 'DISCRETE'.
 	// All values must exist in `discrete_value_spec` of parent parameter.
 	Values []float64 `json:"values,omitempty"`
 
@@ -711,8 +668,7 @@
 // GoogleCloudMlV1StudyConfigParameterSpecMatchingParentIntValueSpec:
 // Represents the spec to match integer values from parent parameter.
 type GoogleCloudMlV1StudyConfigParameterSpecMatchingParentIntValueSpec struct {
-	// Values: Matches values of the parent parameter with type
-	// 'INTEGER'.
+	// Values: Matches values of the parent parameter with type 'INTEGER'.
 	// All values must lie in `integer_value_spec` of parent parameter.
 	Values googleapi.Int64s `json:"values,omitempty"`
 
@@ -783,12 +739,9 @@
 	CategoricalValueSpec *GoogleCloudMlV1StudyConfigParameterSpecCategoricalValueSpec `json:"categoricalValueSpec,omitempty"`
 
 	// ChildParameterSpecs: A child node is active if the parameter's value
-	// matches the child node's
+	// matches the child node's matching_parent_values. If two items in
+	// child_parameter_specs have the same name, they must have disjoint
 	// matching_parent_values.
-	//
-	// If two items in child_parameter_specs have the same name, they must
-	// have
-	// disjoint matching_parent_values.
 	ChildParameterSpecs []*GoogleCloudMlV1StudyConfigParameterSpec `json:"childParameterSpecs,omitempty"`
 
 	// DiscreteValueSpec: The value spec for a 'DISCRETE' parameter.
@@ -810,39 +763,32 @@
 
 	ParentIntValues *GoogleCloudMlV1StudyConfigParameterSpecMatchingParentIntValueSpec `json:"parentIntValues,omitempty"`
 
-	// ScaleType: How the parameter should be scaled.
-	// Leave unset for categorical parameters.
+	// ScaleType: How the parameter should be scaled. Leave unset for
+	// categorical parameters.
 	//
 	// Possible values:
 	//   "SCALE_TYPE_UNSPECIFIED" - By default, no scaling is applied.
 	//   "UNIT_LINEAR_SCALE" - Scales the feasible space to (0, 1) linearly.
 	//   "UNIT_LOG_SCALE" - Scales the feasible space logarithmically to (0,
-	// 1). The entire
-	// feasible space must be strictly positive.
+	// 1). The entire feasible space must be strictly positive.
 	//   "UNIT_REVERSE_LOG_SCALE" - Scales the feasible space "reverse"
-	// logarithmically to (0, 1). The
-	// result is that values close to the top of the feasible space are
-	// spread
-	// out more than points near the bottom. The entire feasible space must
-	// be
-	// strictly positive.
+	// logarithmically to (0, 1). The result is that values close to the top
+	// of the feasible space are spread out more than points near the
+	// bottom. The entire feasible space must be strictly positive.
 	ScaleType string `json:"scaleType,omitempty"`
 
 	// Type: Required. The type of the parameter.
 	//
 	// Possible values:
 	//   "PARAMETER_TYPE_UNSPECIFIED" - You must specify a valid type. Using
-	// this unspecified type will result
-	// in an error.
+	// this unspecified type will result in an error.
 	//   "DOUBLE" - Type for real-valued parameters.
 	//   "INTEGER" - Type for integral parameters.
 	//   "CATEGORICAL" - The parameter is categorical, with a value chosen
-	// from the categories
-	// field.
+	// from the categories field.
 	//   "DISCRETE" - The parameter is real valued, with a fixed set of
-	// feasible points. If
-	// `type==DISCRETE`, feasible_points must be provided, and
-	// {`min_value`, `max_value`} will be ignored.
+	// feasible points. If `type==DISCRETE`, feasible_points must be
+	// provided, and {`min_value`, `max_value`} will be ignored.
 	Type string `json:"type,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -871,8 +817,8 @@
 }
 
 // GoogleCloudMlV1TrialParameter: A message representing a parameter to
-// be tuned. Contains the name of
-// the parameter and the suggested value to use for this trial.
+// be tuned. Contains the name of the parameter and the suggested value
+// to use for this trial.
 type GoogleCloudMlV1TrialParameter struct {
 	// FloatValue: Must be set if ParameterType is DOUBLE or DISCRETE.
 	FloatValue float64 `json:"floatValue,omitempty"`
@@ -924,15 +870,10 @@
 }
 
 // GoogleCloudMlV1__AcceleratorConfig: Represents a hardware accelerator
-// request config.
-// Note that the AcceleratorConfig can be used in both Jobs and
-// Versions.
-// Learn more about [accelerators for
-// training](/ml-engine/docs/using-gpus) and
-// [accelerators for
-// online
-// prediction](/ml-engine/docs/machine-types-online-prediction#gpu
-// s).
+// request config. Note that the AcceleratorConfig can be used in both
+// Jobs and Versions. Learn more about [accelerators for
+// training](/ml-engine/docs/using-gpus) and [accelerators for online
+// prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
 type GoogleCloudMlV1__AcceleratorConfig struct {
 	// Count: The number of accelerators to attach to each machine running
 	// the job.
@@ -1008,71 +949,33 @@
 // model.
 type GoogleCloudMlV1__AutoScaling struct {
 	// MinNodes: Optional. The minimum number of nodes to allocate for this
-	// model. These
-	// nodes are always up, starting from the time the model is
-	// deployed.
-	// Therefore, the cost of operating this model will be at least
-	// `rate` * `min_nodes` * number of hours since last billing
-	// cycle,
-	// where `rate` is the cost per node-hour as documented in the
-	// [pricing guide](/ml-engine/docs/pricing),
-	// even if no predictions are performed. There is additional cost for
-	// each
-	// prediction performed.
-	//
-	// Unlike manual scaling, if the load gets too heavy for the nodes
-	// that are up, the service will automatically add nodes to handle
-	// the
+	// model. These nodes are always up, starting from the time the model is
+	// deployed. Therefore, the cost of operating this model will be at
+	// least `rate` * `min_nodes` * number of hours since last billing
+	// cycle, where `rate` is the cost per node-hour as documented in the
+	// [pricing guide](/ml-engine/docs/pricing), even if no predictions are
+	// performed. There is additional cost for each prediction performed.
+	// Unlike manual scaling, if the load gets too heavy for the nodes that
+	// are up, the service will automatically add nodes to handle the
 	// increased load as well as scale back as traffic drops, always
-	// maintaining
-	// at least `min_nodes`. You will be charged for the time in which
-	// additional
-	// nodes are used.
-	//
-	// If `min_nodes` is not specified and AutoScaling is used with a
-	// [legacy
-	// (MLS1) machine
-	// type](/ml-engine/docs/machine-types-online-prediction),
-	// `min_nodes` defaults to 0, in which case, when traffic to a model
-	// stops
-	// (and after a cool-down period), nodes will be shut down and no
-	// charges will
-	// be incurred until traffic to the model resumes.
-	//
-	// If `min_nodes` is not specified and AutoScaling is used with a
-	// [Compute
-	// Engine (N1) machine
-	// type](/ml-engine/docs/machine-types-online-prediction),
+	// maintaining at least `min_nodes`. You will be charged for the time in
+	// which additional nodes are used. If `min_nodes` is not specified and
+	// AutoScaling is used with a [legacy (MLS1) machine
+	// type](/ml-engine/docs/machine-types-online-prediction), `min_nodes`
+	// defaults to 0, in which case, when traffic to a model stops (and
+	// after a cool-down period), nodes will be shut down and no charges
+	// will be incurred until traffic to the model resumes. If `min_nodes`
+	// is not specified and AutoScaling is used with a [Compute Engine (N1)
+	// machine type](/ml-engine/docs/machine-types-online-prediction),
 	// `min_nodes` defaults to 1. `min_nodes` must be at least 1 for use
-	// with a
-	// Compute Engine machine type.
-	//
-	// Note that you cannot use AutoScaling if your version
-	// uses
-	// [GPUs](#Version.FIELDS.accelerator_config). Instead, you must
-	// use
-	// ManualScaling.
-	//
-	// You can set `min_nodes` when creating the model version, and you can
-	// also
-	// update `min_nodes` for an existing
-	// version:
-	// <pre>
-	// update_body.json:
-	// {
-	//   'autoScaling': {
-	//     'minNodes': 5
-	//   }
-	// }
-	// </pre>
-	// HTTP request:
-	// <pre style="max-width:
-	// 626px;">
+	// with a Compute Engine machine type. Note that you cannot use
+	// AutoScaling if your version uses
+	// [GPUs](#Version.FIELDS.accelerator_config). Instead, you must use
+	// ManualScaling. You can set `min_nodes` when creating the model
+	// version, and you can also update `min_nodes` for an existing version:
+	// update_body.json: { 'autoScaling': { 'minNodes': 5 } } HTTP request:
 	// PATCH
-	// https://ml.googleapis.com/v1/{name=projects/*/models/*/
-	// versions/*}?update_mask=autoScaling.minNodes
-	// -d @./update_body.json
-	// </pre>
+	// https://ml.googleapis.com/v1/{name=projects/*/models/*/versions/*}?update_mask=autoScaling.minNodes -d @./update_body.json
 	MinNodes int64 `json:"minNodes,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "MinNodes") to
@@ -1099,9 +1002,8 @@
 }
 
 // GoogleCloudMlV1__AutomatedStoppingConfig: Configuration for Automated
-// Early Stopping of Trials. If no
-// implementation_config is set, automated early stopping will not be
-// run.
+// Early Stopping of Trials. If no implementation_config is set,
+// automated early stopping will not be run.
 type GoogleCloudMlV1__AutomatedStoppingConfig struct {
 	DecayCurveStoppingConfig *GoogleCloudMlV1AutomatedStoppingConfigDecayCurveAutomatedStoppingConfig `json:"decayCurveStoppingConfig,omitempty"`
 
@@ -1139,10 +1041,8 @@
 	Framework string `json:"framework,omitempty"`
 
 	// ModelPath: The Cloud Storage path to the `model/` directory where the
-	// training job
-	// saves the trained model. Only set for successful jobs that don't
-	// use
-	// hyperparameter tuning.
+	// training job saves the trained model. Only set for successful jobs
+	// that don't use hyperparameter tuning.
 	ModelPath string `json:"modelPath,omitempty"`
 
 	// PythonVersion: Python version on which the built-in algorithm was
@@ -1150,8 +1050,7 @@
 	PythonVersion string `json:"pythonVersion,omitempty"`
 
 	// RuntimeVersion: AI Platform runtime version on which the built-in
-	// algorithm was
-	// trained.
+	// algorithm was trained.
 	RuntimeVersion string `json:"runtimeVersion,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Framework") to
@@ -1230,11 +1129,9 @@
 }
 
 // GoogleCloudMlV1__CheckTrialEarlyStoppingStateMetatdata: This message
-// will be placed in the metadata field of
-// a
+// will be placed in the metadata field of a
 // google.longrunning.Operation associated with a
-// CheckTrialEarlyStoppingState
-// request.
+// CheckTrialEarlyStoppingState request.
 type GoogleCloudMlV1__CheckTrialEarlyStoppingStateMetatdata struct {
 	// CreateTime: The time at which the operation was submitted.
 	CreateTime string `json:"createTime,omitempty"`
@@ -1274,11 +1171,9 @@
 }
 
 // GoogleCloudMlV1__CheckTrialEarlyStoppingStateResponse: The message
-// will be placed in the response field of a
-// completed
+// will be placed in the response field of a completed
 // google.longrunning.Operation associated with a
-// CheckTrialEarlyStoppingState
-// request.
+// CheckTrialEarlyStoppingState request.
 type GoogleCloudMlV1__CheckTrialEarlyStoppingStateResponse struct {
 	// EndTime: The time at which operation processing completed.
 	EndTime string `json:"endTime,omitempty"`
@@ -1316,20 +1211,18 @@
 // CompleteTrial service method.
 type GoogleCloudMlV1__CompleteTrialRequest struct {
 	// FinalMeasurement: Optional. If provided, it will be used as the
-	// completed trial's
-	// final_measurement; Otherwise, the service will auto-select
-	// a
-	// previously reported measurement as the final-measurement
+	// completed trial's final_measurement; Otherwise, the service will
+	// auto-select a previously reported measurement as the
+	// final-measurement
 	FinalMeasurement *GoogleCloudMlV1__Measurement `json:"finalMeasurement,omitempty"`
 
 	// InfeasibleReason: Optional. A human readable reason why the trial was
-	// infeasible. This should
-	// only be provided if `trial_infeasible` is true.
+	// infeasible. This should only be provided if `trial_infeasible` is
+	// true.
 	InfeasibleReason string `json:"infeasibleReason,omitempty"`
 
 	// TrialInfeasible: Optional. True if the trial cannot be run with the
-	// given Parameter, and
-	// final_measurement will be ignored.
+	// given Parameter, and final_measurement will be ignored.
 	TrialInfeasible bool `json:"trialInfeasible,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "FinalMeasurement") to
@@ -1386,16 +1279,13 @@
 }
 
 // GoogleCloudMlV1__EncryptionConfig: Represents a custom encryption key
-// configuration that can be applied to
-// a resource.
+// configuration that can be applied to a resource.
 type GoogleCloudMlV1__EncryptionConfig struct {
 	// KmsKeyName: The Cloud KMS resource identifier of the customer-managed
-	// encryption key
-	// used to protect a resource, such as a training job. It has the
-	// following
-	// format:
-	// `projects/{PROJECT_ID}/locations/{REGION}/keyRings/{
-	// KEY_RING_NAME}/cryptoKeys/{KEY_NAME}`
+	// encryption key used to protect a resource, such as a training job. It
+	// has the following format:
+	// `projects/{PROJECT_ID}/locations/{REGION}/keyRings/{KEY_RING_NAME}/cry
+	// ptoKeys/{KEY_NAME}`
 	KmsKeyName string `json:"kmsKeyName,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "KmsKeyName") to
@@ -1421,11 +1311,49 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// GoogleCloudMlV1__EndpointMap:  EndpointMap is used to provide paths
+// for predict/explain/healthcheck to customers. It's an output only
+// field in the version proto which can be only set on the server side.
+// Public endpoints follow the format specified on the user facing doc,
+// and private endpoints are customized for each privately deploymed
+// model/version.
+type GoogleCloudMlV1__EndpointMap struct {
+	// Explain: Optional. Http(s) path to send explain requests.
+	Explain string `json:"explain,omitempty"`
+
+	// Health: Http(s) path to send health check requests.
+	Health string `json:"health,omitempty"`
+
+	// Predict: Http(s) path to send prediction requests.
+	Predict string `json:"predict,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "Explain") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "Explain") to include in
+	// API requests with the JSON null value. By default, fields with empty
+	// values are omitted from API requests. However, any field with an
+	// empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *GoogleCloudMlV1__EndpointMap) MarshalJSON() ([]byte, error) {
+	type NoMethod GoogleCloudMlV1__EndpointMap
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // GoogleCloudMlV1__ExplainRequest: Request for explanations to be
 // issued against a trained model.
 type GoogleCloudMlV1__ExplainRequest struct {
-	// HttpBody: Required.
-	// The explanation request body.
+	// HttpBody: Required. The explanation request body.
 	HttpBody *GoogleApi__HttpBody `json:"httpBody,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "HttpBody") to
@@ -1452,35 +1380,26 @@
 }
 
 // GoogleCloudMlV1__ExplanationConfig: Message holding configuration
-// options for explaining model predictions.
-// There are two feature attribution methods supported for TensorFlow
-// models:
-// integrated gradients and sampled Shapley.
-// [Learn more about
-// feature
-// attributions.](/ai-platform/prediction/docs/ai-explanations/ov
-// erview)
+// options for explaining model predictions. There are two feature
+// attribution methods supported for TensorFlow models: integrated
+// gradients and sampled Shapley. [Learn more about feature
+// attributions.](/ai-platform/prediction/docs/ai-explanations/overview)
 type GoogleCloudMlV1__ExplanationConfig struct {
 	// IntegratedGradientsAttribution: Attributes credit by computing the
-	// Aumann-Shapley value taking advantage
-	// of the model's fully differentiable structure. Refer to this paper
-	// for
-	// more details: https://arxiv.org/abs/1703.01365
+	// Aumann-Shapley value taking advantage of the model's fully
+	// differentiable structure. Refer to this paper for more details:
+	// https://arxiv.org/abs/1703.01365
 	IntegratedGradientsAttribution *GoogleCloudMlV1__IntegratedGradientsAttribution `json:"integratedGradientsAttribution,omitempty"`
 
 	// SampledShapleyAttribution: An attribution method that approximates
-	// Shapley values for features that
-	// contribute to the label being predicted. A sampling strategy is used
-	// to
-	// approximate the value rather than considering all subsets of
-	// features.
+	// Shapley values for features that contribute to the label being
+	// predicted. A sampling strategy is used to approximate the value
+	// rather than considering all subsets of features.
 	SampledShapleyAttribution *GoogleCloudMlV1__SampledShapleyAttribution `json:"sampledShapleyAttribution,omitempty"`
 
 	// XraiAttribution: Attributes credit by computing the XRAI taking
-	// advantage
-	// of the model's fully differentiable structure. Refer to this paper
-	// for
-	// more details: https://arxiv.org/abs/1906.02825
+	// advantage of the model's fully differentiable structure. Refer to
+	// this paper for more details: https://arxiv.org/abs/1906.02825
 	// Currently only implemented for models with natural image inputs.
 	XraiAttribution *GoogleCloudMlV1__XraiAttribution `json:"xraiAttribution,omitempty"`
 
@@ -1549,20 +1468,16 @@
 }
 
 // GoogleCloudMlV1__HyperparameterOutput: Represents the result of a
-// single hyperparameter tuning trial from a
-// training job. The TrainingOutput object that is returned on
-// successful
-// completion of a training job with hyperparameter tuning includes a
-// list
-// of HyperparameterOutput objects, one for each successful trial.
+// single hyperparameter tuning trial from a training job. The
+// TrainingOutput object that is returned on successful completion of a
+// training job with hyperparameter tuning includes a list of
+// HyperparameterOutput objects, one for each successful trial.
 type GoogleCloudMlV1__HyperparameterOutput struct {
 	// AllMetrics: All recorded object metrics for this trial. This field is
-	// not currently
-	// populated.
+	// not currently populated.
 	AllMetrics []*GoogleCloudMlV1HyperparameterOutputHyperparameterMetric `json:"allMetrics,omitempty"`
 
-	// BuiltInAlgorithmOutput: Details related to built-in algorithms
-	// jobs.
+	// BuiltInAlgorithmOutput: Details related to built-in algorithms jobs.
 	// Only set for trials of built-in algorithms jobs that have succeeded.
 	BuiltInAlgorithmOutput *GoogleCloudMlV1__BuiltInAlgorithmOutput `json:"builtInAlgorithmOutput,omitempty"`
 
@@ -1590,12 +1505,12 @@
 	//   "PREPARING" - The service is preparing to run the job.
 	//   "RUNNING" - The job is in progress.
 	//   "SUCCEEDED" - The job completed successfully.
-	//   "FAILED" - The job failed.
-	// `error_message` should contain the details of the failure.
-	//   "CANCELLING" - The job is being cancelled.
-	// `error_message` should describe the reason for the cancellation.
-	//   "CANCELLED" - The job has been cancelled.
-	// `error_message` should describe the reason for the cancellation.
+	//   "FAILED" - The job failed. `error_message` should contain the
+	// details of the failure.
+	//   "CANCELLING" - The job is being cancelled. `error_message` should
+	// describe the reason for the cancellation.
+	//   "CANCELLED" - The job has been cancelled. `error_message` should
+	// describe the reason for the cancellation.
 	State string `json:"state,omitempty"`
 
 	// TrialId: The trial id for these results.
@@ -1628,31 +1543,25 @@
 // hyperparameters to optimize.
 type GoogleCloudMlV1__HyperparameterSpec struct {
 	// Algorithm: Optional. The search algorithm specified for the
-	// hyperparameter
-	// tuning job.
-	// Uses the default AI Platform hyperparameter tuning
-	// algorithm if unspecified.
+	// hyperparameter tuning job. Uses the default AI Platform
+	// hyperparameter tuning algorithm if unspecified.
 	//
 	// Possible values:
 	//   "ALGORITHM_UNSPECIFIED" - The default algorithm used by the
-	// hyperparameter tuning service. This is
-	// a Bayesian optimization algorithm.
+	// hyperparameter tuning service. This is a Bayesian optimization
+	// algorithm.
 	//   "GRID_SEARCH" - Simple grid search within the feasible space. To
-	// use grid search,
-	// all parameters must be `INTEGER`, `CATEGORICAL`, or `DISCRETE`.
+	// use grid search, all parameters must be `INTEGER`, `CATEGORICAL`, or
+	// `DISCRETE`.
 	//   "RANDOM_SEARCH" - Simple random search within the feasible space.
 	Algorithm string `json:"algorithm,omitempty"`
 
 	// EnableTrialEarlyStopping: Optional. Indicates if the hyperparameter
-	// tuning job enables auto trial
-	// early stopping.
+	// tuning job enables auto trial early stopping.
 	EnableTrialEarlyStopping bool `json:"enableTrialEarlyStopping,omitempty"`
 
 	// Goal: Required. The type of goal to use for tuning. Available types
-	// are
-	// `MAXIMIZE` and `MINIMIZE`.
-	//
-	// Defaults to `MAXIMIZE`.
+	// are `MAXIMIZE` and `MINIMIZE`. Defaults to `MAXIMIZE`.
 	//
 	// Possible values:
 	//   "GOAL_TYPE_UNSPECIFIED" - Goal Type will default to maximize.
@@ -1661,59 +1570,40 @@
 	Goal string `json:"goal,omitempty"`
 
 	// HyperparameterMetricTag: Optional. The TensorFlow summary tag name to
-	// use for optimizing trials. For
-	// current versions of TensorFlow, this tag name should exactly match
-	// what is
-	// shown in TensorBoard, including all scopes.  For versions of
-	// TensorFlow
-	// prior to 0.12, this should be only the tag passed to tf.Summary.
-	// By default, "training/hptuning/metric" will be used.
+	// use for optimizing trials. For current versions of TensorFlow, this
+	// tag name should exactly match what is shown in TensorBoard, including
+	// all scopes. For versions of TensorFlow prior to 0.12, this should be
+	// only the tag passed to tf.Summary. By default,
+	// "training/hptuning/metric" will be used.
 	HyperparameterMetricTag string `json:"hyperparameterMetricTag,omitempty"`
 
 	// MaxFailedTrials: Optional. The number of failed trials that need to
-	// be seen before failing
-	// the hyperparameter tuning job. You can specify this field to override
-	// the
-	// default failing criteria for AI Platform hyperparameter tuning
-	// jobs.
-	//
-	// Defaults to zero, which means the service decides when a
-	// hyperparameter
-	// job should fail.
+	// be seen before failing the hyperparameter tuning job. You can specify
+	// this field to override the default failing criteria for AI Platform
+	// hyperparameter tuning jobs. Defaults to zero, which means the service
+	// decides when a hyperparameter job should fail.
 	MaxFailedTrials int64 `json:"maxFailedTrials,omitempty"`
 
 	// MaxParallelTrials: Optional. The number of training trials to run
-	// concurrently.
-	// You can reduce the time it takes to perform hyperparameter tuning by
-	// adding
-	// trials in parallel. However, each trail only benefits from the
-	// information
-	// gained in completed trials. That means that a trial does not get
-	// access to
-	// the results of trials running at the same time, which could reduce
-	// the
-	// quality of the overall optimization.
-	//
-	// Each trial will use the same scale tier and machine types.
-	//
-	// Defaults to one.
+	// concurrently. You can reduce the time it takes to perform
+	// hyperparameter tuning by adding trials in parallel. However, each
+	// trail only benefits from the information gained in completed trials.
+	// That means that a trial does not get access to the results of trials
+	// running at the same time, which could reduce the quality of the
+	// overall optimization. Each trial will use the same scale tier and
+	// machine types. Defaults to one.
 	MaxParallelTrials int64 `json:"maxParallelTrials,omitempty"`
 
 	// MaxTrials: Optional. How many training trials should be attempted to
-	// optimize
-	// the specified hyperparameters.
-	//
-	// Defaults to one.
+	// optimize the specified hyperparameters. Defaults to one.
 	MaxTrials int64 `json:"maxTrials,omitempty"`
 
 	// Params: Required. The set of parameters to tune.
 	Params []*GoogleCloudMlV1__ParameterSpec `json:"params,omitempty"`
 
 	// ResumePreviousJobId: Optional. The prior hyperparameter tuning job id
-	// that users hope to
-	// continue with. The job id will be used to find the corresponding
-	// vizier
-	// study guid and resume the study.
+	// that users hope to continue with. The job id will be used to find the
+	// corresponding vizier study guid and resume the study.
 	ResumePreviousJobId string `json:"resumePreviousJobId,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Algorithm") to
@@ -1740,15 +1630,13 @@
 }
 
 // GoogleCloudMlV1__IntegratedGradientsAttribution: Attributes credit by
-// computing the Aumann-Shapley value taking advantage
-// of the model's fully differentiable structure. Refer to this paper
-// for
-// more details: https://arxiv.org/abs/1703.01365
+// computing the Aumann-Shapley value taking advantage of the model's
+// fully differentiable structure. Refer to this paper for more details:
+// https://arxiv.org/abs/1703.01365
 type GoogleCloudMlV1__IntegratedGradientsAttribution struct {
 	// NumIntegralSteps: Number of steps for approximating the path
-	// integral.
-	// A good value to start is 50 and gradually increase until the
-	// sum to diff property is met within the desired error range.
+	// integral. A good value to start is 50 and gradually increase until
+	// the sum to diff property is met within the desired error range.
 	NumIntegralSteps int64 `json:"numIntegralSteps,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "NumIntegralSteps") to
@@ -1788,31 +1676,22 @@
 	ErrorMessage string `json:"errorMessage,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a job from overwriting each other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform job updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `GetJob`,
-	// and
-	// systems are expected to put that etag in the request to `UpdateJob`
-	// to
-	// ensure that their change will be applied to the same version of the
-	// job.
+	// help prevent simultaneous updates of a job from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform job updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `GetJob`, and systems are expected to put that etag in the request to
+	// `UpdateJob` to ensure that their change will be applied to the same
+	// version of the job.
 	Etag string `json:"etag,omitempty"`
 
 	// JobId: Required. The user-specified id of the job.
 	JobId string `json:"jobId,omitempty"`
 
 	// Labels: Optional. One or more labels that you can add, to organize
-	// your jobs.
-	// Each label is a key-value pair, where both the key and the value
-	// are
-	// arbitrary strings that you supply.
-	// For more information, see the documentation on
-	// <a href="/ml-engine/docs/tensorflow/resource-labels">using
-	// labels</a>.
+	// your jobs. Each label is a key-value pair, where both the key and the
+	// value are arbitrary strings that you supply. For more information,
+	// see the documentation on using labels.
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// PredictionInput: Input parameters to create a prediction job.
@@ -1833,12 +1712,12 @@
 	//   "PREPARING" - The service is preparing to run the job.
 	//   "RUNNING" - The job is in progress.
 	//   "SUCCEEDED" - The job completed successfully.
-	//   "FAILED" - The job failed.
-	// `error_message` should contain the details of the failure.
-	//   "CANCELLING" - The job is being cancelled.
-	// `error_message` should describe the reason for the cancellation.
-	//   "CANCELLED" - The job has been cancelled.
-	// `error_message` should describe the reason for the cancellation.
+	//   "FAILED" - The job failed. `error_message` should contain the
+	// details of the failure.
+	//   "CANCELLING" - The job is being cancelled. `error_message` should
+	// describe the reason for the cancellation.
+	//   "CANCELLED" - The job has been cancelled. `error_message` should
+	// describe the reason for the cancellation.
 	State string `json:"state,omitempty"`
 
 	// TrainingInput: Input parameters to create a training job.
@@ -1881,8 +1760,7 @@
 	Jobs []*GoogleCloudMlV1__Job `json:"jobs,omitempty"`
 
 	// NextPageToken: Optional. Pass this token as the `page_token` field of
-	// the request for a
-	// subsequent call.
+	// the request for a subsequent call.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1918,8 +1796,7 @@
 	Locations []*GoogleCloudMlV1__Location `json:"locations,omitempty"`
 
 	// NextPageToken: Optional. Pass this token as the `page_token` field of
-	// the request for a
-	// subsequent call.
+	// the request for a subsequent call.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1956,8 +1833,7 @@
 	Models []*GoogleCloudMlV1__Model `json:"models,omitempty"`
 
 	// NextPageToken: Optional. Pass this token as the `page_token` field of
-	// the request for a
-	// subsequent call.
+	// the request for a subsequent call.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2055,8 +1931,7 @@
 // ListVersions method.
 type GoogleCloudMlV1__ListVersionsResponse struct {
 	// NextPageToken: Optional. Pass this token as the `page_token` field of
-	// the request for a
-	// subsequent call.
+	// the request for a subsequent call.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Versions: The list of versions.
@@ -2125,12 +2000,10 @@
 // GoogleCloudMlV1__ManualScaling: Options for manually scaling a model.
 type GoogleCloudMlV1__ManualScaling struct {
 	// Nodes: The number of nodes to allocate for this model. These nodes
-	// are always up,
-	// starting from the time the model is deployed, so the cost of
-	// operating
-	// this model will be proportional to `nodes` * number of hours
-	// since
-	// last billing cycle plus the cost for each prediction performed.
+	// are always up, starting from the time the model is deployed, so the
+	// cost of operating this model will be proportional to `nodes` * number
+	// of hours since last billing cycle plus the cost for each prediction
+	// performed.
 	Nodes int64 `json:"nodes,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Nodes") to
@@ -2159,18 +2032,15 @@
 // GoogleCloudMlV1__Measurement: A message representing a measurement.
 type GoogleCloudMlV1__Measurement struct {
 	// ElapsedTime: Output only. Time that the trial has been running at the
-	// point of
-	// this measurement.
+	// point of this measurement.
 	ElapsedTime string `json:"elapsedTime,omitempty"`
 
 	// Metrics: Provides a list of metrics that act as inputs into the
-	// objective
-	// function.
+	// objective function.
 	Metrics []*GoogleCloudMlV1MeasurementMetric `json:"metrics,omitempty"`
 
 	// StepCount: The number of steps a machine learning model has been
-	// trained for.
-	// Must be non-negative.
+	// trained for. Must be non-negative.
 	StepCount int64 `json:"stepCount,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "ElapsedTime") to
@@ -2196,20 +2066,14 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GoogleCloudMlV1__Model: Represents a machine learning solution.
-//
-// 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.
+// GoogleCloudMlV1__Model: Represents a machine learning solution. 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.
 type GoogleCloudMlV1__Model struct {
 	// DefaultVersion: Output only. The default version of the model. This
-	// version will be used to
-	// handle prediction requests that do not specify a version.
-	//
-	// You can change the default version by
-	// calling
+	// version will be used to handle prediction requests that do not
+	// specify a version. You can change the default version by calling
 	// projects.models.versions.setDefault.
 	DefaultVersion *GoogleCloudMlV1__Version `json:"defaultVersion,omitempty"`
 
@@ -2218,83 +2082,52 @@
 	Description string `json:"description,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a model from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform model updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `GetModel`,
-	// and
-	// systems are expected to put that etag in the request to `UpdateModel`
-	// to
-	// ensure that their change will be applied to the model as intended.
+	// help prevent simultaneous updates of a model from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform model updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `GetModel`, and systems are expected to put that etag in the request
+	// to `UpdateModel` to ensure that their change will be applied to the
+	// model as intended.
 	Etag string `json:"etag,omitempty"`
 
 	// Labels: Optional. One or more labels that you can add, to organize
-	// your models.
-	// Each label is a key-value pair, where both the key and the value
-	// are
-	// arbitrary strings that you supply.
-	// For more information, see the documentation on
-	// <a href="/ml-engine/docs/tensorflow/resource-labels">using
-	// labels</a>.
+	// your models. Each label is a key-value pair, where both the key and
+	// the value are arbitrary strings that you supply. For more
+	// information, see the documentation on using labels.
 	Labels map[string]string `json:"labels,omitempty"`
 
-	// Name: Required. The name specified for the model when it was
-	// created.
-	//
+	// Name: Required. The name specified for the model when it was created.
 	// The model name must be unique within the project it is created in.
 	Name string `json:"name,omitempty"`
 
 	// OnlinePredictionConsoleLogging: Optional. If true, online prediction
-	// nodes send `stderr` and `stdout`
-	// streams to Stackdriver Logging. These can be more verbose than the
-	// standard
-	// access logs (see `onlinePredictionLogging`) and can incur higher
-	// cost.
-	// However, they are helpful for debugging. Note that
-	// [Stackdriver logs may incur a cost](/stackdriver/pricing), especially
-	// if
-	// your project receives prediction requests at a high QPS. Estimate
-	// your
-	// costs before enabling this option.
-	//
-	// Default is false.
+	// nodes send `stderr` and `stdout` streams to Stackdriver Logging.
+	// These can be more verbose than the standard access logs (see
+	// `onlinePredictionLogging`) and can incur higher cost. However, they
+	// are helpful for debugging. Note that [Stackdriver logs may incur a
+	// cost](/stackdriver/pricing), especially if your project receives
+	// prediction requests at a high QPS. Estimate your costs before
+	// enabling this option. Default is false.
 	OnlinePredictionConsoleLogging bool `json:"onlinePredictionConsoleLogging,omitempty"`
 
 	// OnlinePredictionLogging: Optional. If true, online prediction access
-	// logs are sent to StackDriver
-	// Logging. These logs are like standard server access logs,
-	// containing
-	// information like timestamp and latency for each request. Note
-	// that
-	// [Stackdriver logs may incur a cost](/stackdriver/pricing), especially
-	// if
-	// your project receives prediction requests at a high queries per
-	// second rate
-	// (QPS). Estimate your costs before enabling this option.
-	//
-	// Default is false.
+	// logs are sent to StackDriver Logging. These logs are like standard
+	// server access logs, containing information like timestamp and latency
+	// for each request. Note that [Stackdriver logs may incur a
+	// cost](/stackdriver/pricing), especially if your project receives
+	// prediction requests at a high queries per second rate (QPS). Estimate
+	// your costs before enabling this option. Default is false.
 	OnlinePredictionLogging bool `json:"onlinePredictionLogging,omitempty"`
 
 	// Regions: Optional. The list of regions where the model is going to be
-	// deployed.
-	// Only one region per model is supported.
-	// Defaults to 'us-central1' if nothing is set.
-	// See the <a href="/ml-engine/docs/tensorflow/regions">available
-	// regions</a>
-	// for AI Platform services.
-	// Note:
-	// *   No matter where a model is deployed, it can always be accessed
-	// by
-	//     users from anywhere, both for online and batch prediction.
-	// *   The region for a batch prediction job is set by the region field
-	// when
-	//     submitting the batch prediction job and does not take its value
-	// from
-	//     this field.
+	// deployed. Only one region per model is supported. Defaults to
+	// 'us-central1' if nothing is set. See the available regions for AI
+	// Platform services. Note: * No matter where a model is deployed, it
+	// can always be accessed by users from anywhere, both for online and
+	// batch prediction. * The region for a batch prediction job is set by
+	// the region field when submitting the batch prediction job and does
+	// not take its value from this field.
 	Regions []string `json:"regions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2339,8 +2172,7 @@
 	IsCancellationRequested bool `json:"isCancellationRequested,omitempty"`
 
 	// Labels: The user labels, inherited from the model or the model
-	// version being
-	// operated on.
+	// version being operated on.
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// ModelName: Contains the name of the model associated with the
@@ -2399,71 +2231,55 @@
 	// possible categories.
 	CategoricalValues []string `json:"categoricalValues,omitempty"`
 
-	// DiscreteValues: Required if type is `DISCRETE`.
-	// A list of feasible points.
-	// The list should be in strictly increasing order. For instance,
-	// this
-	// parameter might have possible settings of 1.5, 2.5, and 4.0. This
-	// list
-	// should not contain more than 1,000 values.
+	// DiscreteValues: Required if type is `DISCRETE`. A list of feasible
+	// points. The list should be in strictly increasing order. For
+	// instance, this parameter might have possible settings of 1.5, 2.5,
+	// and 4.0. This list should not contain more than 1,000 values.
 	DiscreteValues []float64 `json:"discreteValues,omitempty"`
 
-	// MaxValue: Required if type is `DOUBLE` or `INTEGER`. This
-	// field
+	// MaxValue: Required if type is `DOUBLE` or `INTEGER`. This field
 	// should be unset if type is `CATEGORICAL`. This value should be
-	// integers if
-	// type is `INTEGER`.
+	// integers if type is `INTEGER`.
 	MaxValue float64 `json:"maxValue,omitempty"`
 
-	// MinValue: Required if type is `DOUBLE` or `INTEGER`. This
-	// field
+	// MinValue: Required if type is `DOUBLE` or `INTEGER`. This field
 	// should be unset if type is `CATEGORICAL`. This value should be
-	// integers if
-	// type is INTEGER.
+	// integers if type is INTEGER.
 	MinValue float64 `json:"minValue,omitempty"`
 
 	// ParameterName: Required. The parameter name must be unique amongst
-	// all ParameterConfigs in
-	// a HyperparameterSpec message. E.g., "learning_rate".
+	// all ParameterConfigs in a HyperparameterSpec message. E.g.,
+	// "learning_rate".
 	ParameterName string `json:"parameterName,omitempty"`
 
 	// ScaleType: Optional. How the parameter should be scaled to the
-	// hypercube.
-	// Leave unset for categorical parameters.
-	// Some kind of scaling is strongly recommended for real or
-	// integral
-	// parameters (e.g., `UNIT_LINEAR_SCALE`).
+	// hypercube. Leave unset for categorical parameters. Some kind of
+	// scaling is strongly recommended for real or integral parameters
+	// (e.g., `UNIT_LINEAR_SCALE`).
 	//
 	// Possible values:
 	//   "NONE" - By default, no scaling is applied.
 	//   "UNIT_LINEAR_SCALE" - Scales the feasible space to (0, 1) linearly.
 	//   "UNIT_LOG_SCALE" - Scales the feasible space logarithmically to (0,
-	// 1). The entire feasible
-	// space must be strictly positive.
+	// 1). The entire feasible space must be strictly positive.
 	//   "UNIT_REVERSE_LOG_SCALE" - Scales the feasible space "reverse"
-	// logarithmically to (0, 1). The result
-	// is that values close to the top of the feasible space are spread out
-	// more
-	// than points near the bottom. The entire feasible space must be
-	// strictly
-	// positive.
+	// logarithmically to (0, 1). The result is that values close to the top
+	// of the feasible space are spread out more than points near the
+	// bottom. The entire feasible space must be strictly positive.
 	ScaleType string `json:"scaleType,omitempty"`
 
 	// Type: Required. The type of the parameter.
 	//
 	// Possible values:
 	//   "PARAMETER_TYPE_UNSPECIFIED" - You must specify a valid type. Using
-	// this unspecified type will result in
-	// an error.
+	// this unspecified type will result in an error.
 	//   "DOUBLE" - Type for real-valued parameters.
 	//   "INTEGER" - Type for integral parameters.
 	//   "CATEGORICAL" - The parameter is categorical, with a value chosen
-	// from the categories
-	// field.
+	// from the categories field.
 	//   "DISCRETE" - The parameter is real valued, with a fixed set of
-	// feasible points. If
-	// `type==DISCRETE`, feasible_points must be provided, and
-	// {`min_value`, `max_value`} will be ignored.
+	// feasible points. If `type==DISCRETE`, feasible_points must be
+	// provided, and {`min_value`, `max_value`} will be ignored.
 	Type string `json:"type,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CategoricalValues")
@@ -2509,12 +2325,9 @@
 // GoogleCloudMlV1__PredictRequest: Request for predictions to be issued
 // against a trained model.
 type GoogleCloudMlV1__PredictRequest struct {
-	// HttpBody:
-	// Required. The prediction request body. Refer to the [request body
-	// details
-	// section](#request-body-details) for more information on how to
-	// structure
-	// your request.
+	// HttpBody:  Required. The prediction request body. Refer to the
+	// [request body details section](#request-body-details) for more
+	// information on how to structure your request.
 	HttpBody *GoogleApi__HttpBody `json:"httpBody,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "HttpBody") to
@@ -2543,12 +2356,10 @@
 // GoogleCloudMlV1__PredictionInput: Represents input parameters for a
 // prediction job.
 type GoogleCloudMlV1__PredictionInput struct {
-	// BatchSize: Optional. Number of records per batch, defaults to 64.
-	// The service will buffer batch_size number of records in memory
-	// before
+	// BatchSize: 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
+	// record size and memory available into consideration when setting this
 	// parameter.
 	BatchSize int64 `json:"batchSize,omitempty,string"`
 
@@ -2559,31 +2370,24 @@
 	//   "JSON" - Each line of the file is a JSON dictionary representing
 	// one record.
 	//   "TEXT" - Deprecated. Use JSON instead.
-	//   "TF_RECORD" - The source file is a TFRecord file.
-	// Currently available only for input data.
+	//   "TF_RECORD" - The source file is a TFRecord file. Currently
+	// available only for input data.
 	//   "TF_RECORD_GZIP" - The source file is a GZIP-compressed TFRecord
-	// file.
-	// Currently available only for input data.
+	// file. Currently available only for input data.
 	//   "CSV" - Values are comma-separated rows, with keys in a separate
-	// file.
-	// Currently available only for output data.
+	// file. Currently available only for output data.
 	DataFormat string `json:"dataFormat,omitempty"`
 
 	// InputPaths: Required. The Cloud Storage location of the input data
-	// files. May contain
-	// <a href="/storage/docs/gsutil/addlhelp/WildcardNames">wildcards</a>.
+	// files. May contain wildcards.
 	InputPaths []string `json:"inputPaths,omitempty"`
 
 	// MaxWorkerCount: Optional. The maximum number of workers to be used
-	// for parallel processing.
-	// Defaults to 10 if not specified.
+	// for parallel processing. Defaults to 10 if not specified.
 	MaxWorkerCount int64 `json:"maxWorkerCount,omitempty,string"`
 
 	// ModelName: Use this field if you want to use the default version for
-	// the specified
-	// model. The string must use the following
-	// format:
-	//
+	// the specified model. The string must use the following format:
 	// "projects/YOUR_PROJECT/models/YOUR_MODEL"
 	ModelName string `json:"modelName,omitempty"`
 
@@ -2595,66 +2399,46 @@
 	//   "JSON" - Each line of the file is a JSON dictionary representing
 	// one record.
 	//   "TEXT" - Deprecated. Use JSON instead.
-	//   "TF_RECORD" - The source file is a TFRecord file.
-	// Currently available only for input data.
+	//   "TF_RECORD" - The source file is a TFRecord file. Currently
+	// available only for input data.
 	//   "TF_RECORD_GZIP" - The source file is a GZIP-compressed TFRecord
-	// file.
-	// Currently available only for input data.
+	// file. Currently available only for input data.
 	//   "CSV" - Values are comma-separated rows, with keys in a separate
-	// file.
-	// Currently available only for output data.
+	// file. Currently available only for output data.
 	OutputDataFormat string `json:"outputDataFormat,omitempty"`
 
 	// OutputPath: Required. The output Google Cloud Storage location.
 	OutputPath string `json:"outputPath,omitempty"`
 
 	// Region: Required. The Google Compute Engine region to run the
-	// prediction job in.
-	// See the <a href="/ml-engine/docs/tensorflow/regions">available
-	// regions</a>
-	// for AI Platform services.
+	// prediction job in. See the available regions for AI Platform
+	// services.
 	Region string `json:"region,omitempty"`
 
 	// RuntimeVersion: Optional. The AI Platform runtime version to use for
-	// this batch
-	// prediction. If not set, AI Platform will pick the runtime version
-	// used
-	// during the CreateVersion request for this model version, or choose
-	// the
-	// latest stable version when model version information is not
-	// available
-	// such as when the model is specified by uri.
+	// this batch prediction. If not set, AI Platform will pick the runtime
+	// version used during the CreateVersion request for this model version,
+	// or choose the latest stable version when model version information is
+	// not available such as when the model is specified by uri.
 	RuntimeVersion string `json:"runtimeVersion,omitempty"`
 
 	// SignatureName: Optional. The name of the signature defined in the
-	// SavedModel to use for
-	// this job. Please refer
-	// to
-	// [SavedModel](https://tensorflow.github.io/serving/serving_basic.htm
-	// l)
-	// for information about how to use signatures.
-	//
-	// Defaults
-	// to
-	// [DEFAULT_SERVING_SIGNATURE_DEF_KEY](https://www.tensorflow.org/api_
-	// docs/python/tf/saved_model/signature_constants)
-	// , which is "serving_default".
+	// SavedModel to use for this job. Please refer to
+	// [SavedModel](https://tensorflow.github.io/serving/serving_basic.html)
+	// for information about how to use signatures. Defaults to
+	// [DEFAULT_SERVING_SIGNATURE_DEF_KEY](https://www.tensorflow.org/api_doc
+	// s/python/tf/saved_model/signature_constants) , which is
+	// "serving_default".
 	SignatureName string `json:"signatureName,omitempty"`
 
 	// Uri: Use this field if you want to specify a Google Cloud Storage
-	// path for
-	// the model to use.
+	// path for the model to use.
 	Uri string `json:"uri,omitempty"`
 
 	// VersionName: Use this field if you want to specify a version of the
-	// model to use. The
-	// string is formatted the same way as `model_version`, with the
-	// addition
-	// of the version
-	// information:
-	//
-	// "projects/YOUR_PROJECT/models/YOUR_MODEL/versions/YOUR_
-	// VERSION"
+	// model to use. The string is formatted the same way as
+	// `model_version`, with the addition of the version information:
+	// "projects/YOUR_PROJECT/models/YOUR_MODEL/versions/YOUR_VERSION"
 	VersionName string `json:"versionName,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "BatchSize") to
@@ -2737,82 +2521,54 @@
 // replica in a cluster.
 type GoogleCloudMlV1__ReplicaConfig struct {
 	// AcceleratorConfig: Represents the type and number of accelerators
-	// used by the replica.
-	// [Learn about restrictions on accelerator configurations
-	// for
-	// training.](/ai-platform/training/docs/using-gpus#compute-engine-ma
-	// chine-types-with-gpu)
+	// used by the replica. [Learn about restrictions on accelerator
+	// configurations for
+	// training.](/ai-platform/training/docs/using-gpus#compute-engine-machin
+	// e-types-with-gpu)
 	AcceleratorConfig *GoogleCloudMlV1__AcceleratorConfig `json:"acceleratorConfig,omitempty"`
 
-	// ContainerArgs: Arguments to the entrypoint command.
-	// The following rules apply for container_command and container_args:
-	// - If you do not supply command or args:
-	//   The defaults defined in the Docker image are used.
-	// - If you supply a command but no args:
-	//   The default EntryPoint and the default Cmd defined in the Docker
-	// image
-	//   are ignored. Your command is run without any arguments.
-	// - If you supply only args:
-	//   The default Entrypoint defined in the Docker image is run with the
-	// args
-	//   that you supplied.
-	// - If you supply a command and args:
-	//   The default Entrypoint and the default Cmd defined in the Docker
-	// image
-	//   are ignored. Your command is run with your args.
-	// It cannot be set if custom container image is
-	// not provided.
-	// Note that this field and [TrainingInput.args] are mutually exclusive,
-	// i.e.,
-	// both cannot be set at the same time.
+	// ContainerArgs: Arguments to the entrypoint command. The following
+	// rules apply for container_command and container_args: - If you do not
+	// supply command or args: The defaults defined in the Docker image are
+	// used. - If you supply a command but no args: The default EntryPoint
+	// and the default Cmd defined in the Docker image are ignored. Your
+	// command is run without any arguments. - If you supply only args: The
+	// default Entrypoint defined in the Docker image is run with the args
+	// that you supplied. - If you supply a command and args: The default
+	// Entrypoint and the default Cmd defined in the Docker image are
+	// ignored. Your command is run with your args. It cannot be set if
+	// custom container image is not provided. Note that this field and
+	// [TrainingInput.args] are mutually exclusive, i.e., both cannot be set
+	// at the same time.
 	ContainerArgs []string `json:"containerArgs,omitempty"`
 
 	// ContainerCommand: The command with which the replica's custom
-	// container is run.
-	// If provided, it will override default ENTRYPOINT of the docker
-	// image.
-	// If not provided, the docker image's ENTRYPOINT is used.
-	// It cannot be set if custom container image is
-	// not provided.
+	// container is run. If provided, it will override default ENTRYPOINT of
+	// the docker image. If not provided, the docker image's ENTRYPOINT is
+	// used. It cannot be set if custom container image is not provided.
 	// Note that this field and [TrainingInput.args] are mutually exclusive,
-	// i.e.,
-	// both cannot be set at the same time.
+	// i.e., both cannot be set at the same time.
 	ContainerCommand []string `json:"containerCommand,omitempty"`
 
 	// ImageUri: The Docker image to run on the replica. This image must be
-	// in Container
-	// Registry. Learn more about [configuring
-	// custom
-	// containers](/ai-platform/training/docs/distributed-training-con
-	// tainers).
+	// in Container Registry. Learn more about [configuring custom
+	// containers](/ai-platform/training/docs/distributed-training-containers
+	// ).
 	ImageUri string `json:"imageUri,omitempty"`
 
 	// TpuTfVersion: The AI Platform runtime version that includes a
-	// TensorFlow version matching
-	// the one used in the custom container. This field is required if the
-	// replica
-	// is a TPU worker that uses a custom container. Otherwise, do not
-	// specify
-	// this field. This must be a [runtime version that currently
-	// supports
-	// training
-	// with
-	// TPUs](/ml-engine/docs/tensorflow/runtime-version-list#tpu-support
-	// ).
-	//
-	// Note that the version of TensorFlow included in a runtime version
-	// may
+	// TensorFlow version matching the one used in the custom container.
+	// This field is required if the replica is a TPU worker that uses a
+	// custom container. Otherwise, do not specify this field. This must be
+	// a [runtime version that currently supports training with
+	// TPUs](/ml-engine/docs/tensorflow/runtime-version-list#tpu-support).
+	// Note that the version of TensorFlow included in a runtime version may
 	// differ from the numbering of the runtime version itself, because it
-	// may
-	// have a different
-	// [patch
-	// version](https://www.tensorflow.org/guide/version_compat#semant
-	// ic_versioning_20).
-	// In this field, you must specify the runtime version (TensorFlow
-	// minor
-	// version). For example, if your custom container runs TensorFlow
-	// `1.x.y`,
-	// specify `1.x`.
+	// may have a different [patch
+	// version](https://www.tensorflow.org/guide/version_compat#semantic_vers
+	// ioning_20). In this field, you must specify the runtime version
+	// (TensorFlow minor version). For example, if your custom container
+	// runs TensorFlow `1.x.y`, specify `1.x`.
 	TpuTfVersion string `json:"tpuTfVersion,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AcceleratorConfig")
@@ -2840,57 +2596,31 @@
 }
 
 // GoogleCloudMlV1__RequestLoggingConfig: Configuration for logging
-// request-response pairs to a BigQuery table.
-// Online prediction requests to a model version and the responses to
-// these
-// requests are converted to raw strings and saved to the specified
-// BigQuery
-// table. Logging is constrained by [BigQuery quotas
-// and
+// request-response pairs to a BigQuery table. Online prediction
+// requests to a model version and the responses to these requests are
+// converted to raw strings and saved to the specified BigQuery table.
+// Logging is constrained by [BigQuery quotas and
 // limits](/bigquery/quotas). If your project exceeds BigQuery quotas or
-// limits,
-// AI Platform Prediction does not log request-response pairs, but it
-// continues
-// to serve predictions.
-//
-// If you are using
-// [continuous
+// limits, AI Platform Prediction does not log request-response pairs,
+// but it continues to serve predictions. If you are using [continuous
 // evaluation](/ml-engine/docs/continuous-evaluation/), you do not need
-// to
-// specify this configuration manually. Setting up continuous
-// evaluation
-// automatically enables logging of request-response pairs.
+// to specify this configuration manually. Setting up continuous
+// evaluation automatically enables logging of request-response pairs.
 type GoogleCloudMlV1__RequestLoggingConfig struct {
 	// BigqueryTableName: Required. Fully qualified BigQuery table name in
-	// the following
-	// format:
-	// "<var>project_id</var>.<var>dataset_name</var>.<var>table_name
-	// </var>"
-	//
-	// The specified table must already exist, and the "Cloud ML Service
-	// Agent"
+	// the following format: " project_id.dataset_name.table_name" The
+	// specified table must already exist, and the "Cloud ML Service Agent"
 	// for your project must have permission to write to it. The table must
-	// have
-	// the following [schema](/bigquery/docs/schemas):
-	//
-	// <table>
-	//   <tr><th>Field name</th><th style="display: table-cell">Type</th>
-	//     <th style="display: table-cell">Mode</th></tr>
-	//   <tr><td>model</td><td>STRING</td><td>REQUIRED</td></tr>
-	//   <tr><td>model_version</td><td>STRING</td><td>REQUIRED</td></tr>
-	//   <tr><td>time</td><td>TIMESTAMP</td><td>REQUIRED</td></tr>
-	//   <tr><td>raw_data</td><td>STRING</td><td>REQUIRED</td></tr>
-	//   <tr><td>raw_prediction</td><td>STRING</td><td>NULLABLE</td></tr>
-	//
-	// <tr><td>groundtruth</td><td>STRING</td><td>NULLABLE</td></tr>
-	// </table>
+	// have the following [schema](/bigquery/docs/schemas): Field nameType
+	// Mode model STRING REQUIRED model_version STRING REQUIRED time
+	// TIMESTAMP REQUIRED raw_data STRING REQUIRED raw_prediction STRING
+	// NULLABLE groundtruth STRING NULLABLE
 	BigqueryTableName string `json:"bigqueryTableName,omitempty"`
 
 	// SamplingPercentage: Percentage of requests to be logged, expressed as
-	// a fraction from 0 to 1.
-	// For example, if you want to log 10% of requests, enter `0.1`. The
-	// sampling
-	// window is the lifetime of the model version. Defaults to 0.
+	// a fraction from 0 to 1. For example, if you want to log 10% of
+	// requests, enter `0.1`. The sampling window is the lifetime of the
+	// model version. Defaults to 0.
 	SamplingPercentage float64 `json:"samplingPercentage,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "BigqueryTableName")
@@ -2932,15 +2662,12 @@
 }
 
 // GoogleCloudMlV1__SampledShapleyAttribution: An attribution method
-// that approximates Shapley values for features that
-// contribute to the label being predicted. A sampling strategy is used
-// to
-// approximate the value rather than considering all subsets of
-// features.
+// that approximates Shapley values for features that contribute to the
+// label being predicted. A sampling strategy is used to approximate the
+// value rather than considering all subsets of features.
 type GoogleCloudMlV1__SampledShapleyAttribution struct {
 	// NumPaths: The number of feature permutations to consider when
-	// approximating the
-	// Shapley values.
+	// approximating the Shapley values.
 	NumPaths int64 `json:"numPaths,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "NumPaths") to
@@ -2970,36 +2697,17 @@
 // training jobs.
 type GoogleCloudMlV1__Scheduling struct {
 	// MaxRunningTime: Optional. The maximum job running time, expressed in
-	// seconds. The field can
-	// contain up to nine fractional digits, terminated by `s`. If not
-	// specified,
-	// this field defaults to `604800s` (seven days).
-	//
-	// If the training job is still running after this duration, AI
-	// Platform
-	// Training cancels it.
-	//
-	// For example, if you want to ensure your job runs for no more than 2
-	// hours,
-	// set this field to `7200s` (2 hours * 60 minutes / hour * 60 seconds
-	// /
-	// minute).
-	//
-	// If you submit your training job using the `gcloud` tool, you can
-	// [provide
-	// this field in a
-	// `config.yaml`
-	// file](/ai-platform/training/docs/training-jobs#formattin
-	// g_your_configuration_parameters).
-	// For example:
-	//
-	// ```yaml
-	// trainingInput:
-	//   ...
-	//   scheduling:
-	//     maxRunningTime: 7200s
-	//   ...
-	// ```
+	// seconds. The field can contain up to nine fractional digits,
+	// terminated by `s`. If not specified, this field defaults to `604800s`
+	// (seven days). If the training job is still running after this
+	// duration, AI Platform Training cancels it. For example, if you want
+	// to ensure your job runs for no more than 2 hours, set this field to
+	// `7200s` (2 hours * 60 minutes / hour * 60 seconds / minute). If you
+	// submit your training job using the `gcloud` tool, you can [provide
+	// this field in a `config.yaml`
+	// file](/ai-platform/training/docs/training-jobs#formatting_your_configu
+	// ration_parameters). For example: ```yaml trainingInput: ...
+	// scheduling: maxRunningTime: 7200s ... ```
 	MaxRunningTime string `json:"maxRunningTime,omitempty"`
 
 	MaxWaitTime string `json:"maxWaitTime,omitempty"`
@@ -3042,8 +2750,7 @@
 	CreateTime string `json:"createTime,omitempty"`
 
 	// InactiveReason: Output only. A human readable reason why the Study is
-	// inactive.
-	// This should be empty if a study is ACTIVE or COMPLETED.
+	// inactive. This should be empty if a study is ACTIVE or COMPLETED.
 	InactiveReason string `json:"inactiveReason,omitempty"`
 
 	// Name: Output only. The name of a study.
@@ -3056,8 +2763,7 @@
 	//   "ACTIVE" - The study is active.
 	//   "INACTIVE" - The study is stopped due to an internal error.
 	//   "COMPLETED" - The study is done when the service exhausts the
-	// parameter search space
-	// or max_trial_count is reached.
+	// parameter search space or max_trial_count is reached.
 	State string `json:"state,omitempty"`
 
 	// StudyConfig: Required. Configuration of the study.
@@ -3099,8 +2805,8 @@
 	// AI Platform Optimization service.
 	//   "GAUSSIAN_PROCESS_BANDIT" - Gaussian Process Bandit.
 	//   "GRID_SEARCH" - Simple grid search within the feasible space. To
-	// use grid search,
-	// all parameters must be `INTEGER`, `CATEGORICAL`, or `DISCRETE`.
+	// use grid search, all parameters must be `INTEGER`, `CATEGORICAL`, or
+	// `DISCRETE`.
 	//   "RANDOM_SEARCH" - Simple random search within the feasible space.
 	Algorithm string `json:"algorithm,omitempty"`
 
@@ -3138,8 +2844,7 @@
 }
 
 // GoogleCloudMlV1__SuggestTrialsMetadata: Metadata field of a
-// google.longrunning.Operation associated
-// with a SuggestTrialsRequest.
+// google.longrunning.Operation associated with a SuggestTrialsRequest.
 type GoogleCloudMlV1__SuggestTrialsMetadata struct {
 	// ClientId: The identifier of the client that is requesting the
 	// suggestion.
@@ -3181,13 +2886,10 @@
 // SuggestTrial service method.
 type GoogleCloudMlV1__SuggestTrialsRequest struct {
 	// ClientId: Required. The identifier of the client that is requesting
-	// the suggestion.
-	//
-	// If multiple SuggestTrialsRequests have the same `client_id`,
-	// the service will return the identical suggested trial if the trial
-	// is
-	// pending, and provide a new trial if the last suggested trial was
-	// completed.
+	// the suggestion. If multiple SuggestTrialsRequests have the same
+	// `client_id`, the service will return the identical suggested trial if
+	// the trial is pending, and provide a new trial if the last suggested
+	// trial was completed.
 	ClientId string `json:"clientId,omitempty"`
 
 	// SuggestionCount: Required. The number of suggestions requested.
@@ -3217,8 +2919,8 @@
 }
 
 // GoogleCloudMlV1__SuggestTrialsResponse: This message will be placed
-// in the response field of a completed
-// google.longrunning.Operation associated with a SuggestTrials request.
+// in the response field of a completed google.longrunning.Operation
+// associated with a SuggestTrials request.
 type GoogleCloudMlV1__SuggestTrialsResponse struct {
 	// EndTime: The time at which operation processing completed.
 	EndTime string `json:"endTime,omitempty"`
@@ -3233,8 +2935,7 @@
 	//   "ACTIVE" - The study is active.
 	//   "INACTIVE" - The study is stopped due to an internal error.
 	//   "COMPLETED" - The study is done when the service exhausts the
-	// parameter search space
-	// or max_trial_count is reached.
+	// parameter search space or max_trial_count is reached.
 	StudyState string `json:"studyState,omitempty"`
 
 	// Trials: A list of trials.
@@ -3264,266 +2965,148 @@
 }
 
 // GoogleCloudMlV1__TrainingInput: Represents input parameters for a
-// training job. When using the gcloud command
-// to submit your training job, you can specify the input parameters
-// as
-// command-line arguments and/or in a YAML configuration file referenced
-// from
-// the --config command-line argument. For details, see the guide to
-// [submitting
-// a training job](/ai-platform/training/docs/training-jobs).
+// training job. When using the gcloud command to submit your training
+// job, you can specify the input parameters as command-line arguments
+// and/or in a YAML configuration file referenced from the --config
+// command-line argument. For details, see the guide to [submitting a
+// training job](/ai-platform/training/docs/training-jobs).
 type GoogleCloudMlV1__TrainingInput struct {
 	// Args: Optional. Command-line arguments passed to the training
-	// application when it
-	// starts. If your job uses a custom container, then the arguments are
-	// passed
-	// to the container's <a class="external"
-	// target="_blank"
-	// href="https://docs.docker.com/engine/reference/builder
-	// /#entrypoint">
-	// `ENTRYPOINT`</a> command.
+	// application when it starts. If your job uses a custom container, then
+	// the arguments are passed to the container's `ENTRYPOINT` command.
 	Args []string `json:"args,omitempty"`
 
 	// EncryptionConfig: Optional. Options for using customer-managed
-	// encryption keys (CMEK) to
-	// protect resources created by a training job, instead of using
-	// Google's
-	// default encryption. If this is set, then all resources created by
-	// the
-	// training job will be encrypted with the customer-managed encryption
-	// key
-	// that you specify.
-	//
-	// [Learn how and when to use CMEK with AI
-	// Platform
+	// encryption keys (CMEK) to protect resources created by a training
+	// job, instead of using Google's default encryption. If this is set,
+	// then all resources created by the training job will be encrypted with
+	// the customer-managed encryption key that you specify. [Learn how and
+	// when to use CMEK with AI Platform
 	// Training](/ai-platform/training/docs/cmek).
 	EncryptionConfig *GoogleCloudMlV1__EncryptionConfig `json:"encryptionConfig,omitempty"`
 
-	// EvaluatorConfig: Optional. The configuration for evaluators.
-	//
-	// You should only set `evaluatorConfig.acceleratorConfig`
-	// if
-	// `evaluatorType` is set to a Compute Engine machine type. [Learn
-	// about restrictions on accelerator configurations
-	// for
-	// training.](/ai-platform/training/docs/using-gpus#compute-engine-ma
-	// chine-types-with-gpu)
-	//
-	// Set `evaluatorConfig.imageUri` only if you build a custom image
-	// for
-	// your evaluator. If `evaluatorConfig.imageUri` has not been
-	// set, AI Platform uses the value of `masterConfig.imageUri`. Learn
-	// more about [configuring
-	// custom
-	// containers](/ai-platform/training/docs/distributed-training-con
-	// tainers).
+	// EvaluatorConfig: Optional. The configuration for evaluators. You
+	// should only set `evaluatorConfig.acceleratorConfig` if
+	// `evaluatorType` is set to a Compute Engine machine type. [Learn about
+	// restrictions on accelerator configurations for
+	// training.](/ai-platform/training/docs/using-gpus#compute-engine-machin
+	// e-types-with-gpu) Set `evaluatorConfig.imageUri` only if you build a
+	// custom image for your evaluator. If `evaluatorConfig.imageUri` has
+	// not been set, AI Platform uses the value of `masterConfig.imageUri`.
+	// Learn more about [configuring custom
+	// containers](/ai-platform/training/docs/distributed-training-containers
+	// ).
 	EvaluatorConfig *GoogleCloudMlV1__ReplicaConfig `json:"evaluatorConfig,omitempty"`
 
 	// EvaluatorCount: Optional. The number of evaluator replicas to use for
-	// the training job.
-	// Each replica in the cluster will be of the type specified
-	// in
-	// `evaluator_type`.
-	//
-	// This value can only be used when `scale_tier` is set to `CUSTOM`. If
-	// you
-	// set this value, you must also set `evaluator_type`.
-	//
-	// The default value is zero.
+	// the training job. Each replica in the cluster will be of the type
+	// specified in `evaluator_type`. This value can only be used when
+	// `scale_tier` is set to `CUSTOM`. If you set this value, you must also
+	// set `evaluator_type`. The default value is zero.
 	EvaluatorCount int64 `json:"evaluatorCount,omitempty,string"`
 
 	// EvaluatorType: Optional. Specifies the type of virtual machine to use
-	// for your training
-	// job's evaluator nodes.
-	//
-	// The supported values are the same as those described in the entry
-	// for
-	// `masterType`.
-	//
-	// This value must be consistent with the category of machine type
-	// that
+	// for your training job's evaluator nodes. The supported values are the
+	// same as those described in the entry for `masterType`. This value
+	// must be consistent with the category of machine type that
 	// `masterType` uses. In other words, both must be Compute Engine
-	// machine
-	// types or both must be legacy machine types.
-	//
-	// This value must be present when `scaleTier` is set to `CUSTOM`
-	// and
-	// `evaluatorCount` is greater than zero.
+	// machine types or both must be legacy machine types. This value must
+	// be present when `scaleTier` is set to `CUSTOM` and `evaluatorCount`
+	// is greater than zero.
 	EvaluatorType string `json:"evaluatorType,omitempty"`
 
 	// Hyperparameters: Optional. The set of Hyperparameters to tune.
 	Hyperparameters *GoogleCloudMlV1__HyperparameterSpec `json:"hyperparameters,omitempty"`
 
 	// JobDir: Optional. A Google Cloud Storage path in which to store
-	// training outputs
-	// and other data needed for training. This path is passed to your
-	// TensorFlow
-	// program as the '--job-dir' command-line argument. The benefit of
-	// specifying
-	// this field is that Cloud ML validates the path for use in training.
+	// training outputs and other data needed for training. This path is
+	// passed to your TensorFlow program as the '--job-dir' command-line
+	// argument. The benefit of specifying this field is that Cloud ML
+	// validates the path for use in training.
 	JobDir string `json:"jobDir,omitempty"`
 
-	// MasterConfig: Optional. The configuration for your master
-	// worker.
-	//
-	// You should only set `masterConfig.acceleratorConfig` if `masterType`
-	// is set
-	// to a Compute Engine machine type. Learn about [restrictions on
-	// accelerator
-	// configurations
-	// for
-	// training.](/ai-platform/training/docs/using-gpus#compute-engine-ma
-	// chine-types-with-gpu)
-	//
-	// Set `masterConfig.imageUri` only if you build a custom image. Only
-	// one of
-	// `masterConfig.imageUri` and `runtimeVersion` should be set. Learn
-	// more
-	// about [configuring
-	// custom
-	// containers](/ai-platform/training/docs/distributed-training-con
-	// tainers).
+	// MasterConfig: Optional. The configuration for your master worker. You
+	// should only set `masterConfig.acceleratorConfig` if `masterType` is
+	// set to a Compute Engine machine type. Learn about [restrictions on
+	// accelerator configurations for
+	// training.](/ai-platform/training/docs/using-gpus#compute-engine-machin
+	// e-types-with-gpu) Set `masterConfig.imageUri` only if you build a
+	// custom image. Only one of `masterConfig.imageUri` and
+	// `runtimeVersion` should be set. Learn more about [configuring custom
+	// containers](/ai-platform/training/docs/distributed-training-containers
+	// ).
 	MasterConfig *GoogleCloudMlV1__ReplicaConfig `json:"masterConfig,omitempty"`
 
 	// MasterType: Optional. Specifies the type of virtual machine to use
-	// for your training
-	// job's master worker. You must specify this field when `scaleTier` is
-	// set to
-	// `CUSTOM`.
-	//
-	// You can use certain Compute Engine machine types directly in this
-	// field.
-	// The following types are supported:
-	//
-	// - `n1-standard-4`
-	// - `n1-standard-8`
-	// - `n1-standard-16`
-	// - `n1-standard-32`
-	// - `n1-standard-64`
-	// - `n1-standard-96`
-	// - `n1-highmem-2`
-	// - `n1-highmem-4`
-	// - `n1-highmem-8`
-	// - `n1-highmem-16`
-	// - `n1-highmem-32`
-	// - `n1-highmem-64`
-	// - `n1-highmem-96`
-	// - `n1-highcpu-16`
-	// - `n1-highcpu-32`
-	// - `n1-highcpu-64`
-	// - `n1-highcpu-96`
-	//
-	// Learn more about [using Compute Engine
-	// machine
-	// types](/ml-engine/docs/machine-types#compute-engine-machine-ty
-	// pes).
-	//
-	// Alternatively, you can use the following legacy machine types:
-	//
-	// - `standard`
-	// - `large_model`
-	// - `complex_model_s`
-	// - `complex_model_m`
-	// - `complex_model_l`
-	// - `standard_gpu`
-	// - `complex_model_m_gpu`
-	// - `complex_model_l_gpu`
-	// - `standard_p100`
-	// - `complex_model_m_p100`
-	// - `standard_v100`
-	// - `large_model_v100`
-	// - `complex_model_m_v100`
-	// - `complex_model_l_v100`
-	//
-	// Learn more about [using legacy
-	// machine
-	// types](/ml-engine/docs/machine-types#legacy-machine-types).
-	//
-	// F
-	// inally, if you want to use a TPU for training, specify `cloud_tpu` in
-	// this
+	// for your training job's master worker. You must specify this field
+	// when `scaleTier` is set to `CUSTOM`. You can use certain Compute
+	// Engine machine types directly in this field. The following types are
+	// supported: - `n1-standard-4` - `n1-standard-8` - `n1-standard-16` -
+	// `n1-standard-32` - `n1-standard-64` - `n1-standard-96` -
+	// `n1-highmem-2` - `n1-highmem-4` - `n1-highmem-8` - `n1-highmem-16` -
+	// `n1-highmem-32` - `n1-highmem-64` - `n1-highmem-96` - `n1-highcpu-16`
+	// - `n1-highcpu-32` - `n1-highcpu-64` - `n1-highcpu-96` Learn more
+	// about [using Compute Engine machine
+	// types](/ml-engine/docs/machine-types#compute-engine-machine-types).
+	// Alternatively, you can use the following legacy machine types: -
+	// `standard` - `large_model` - `complex_model_s` - `complex_model_m` -
+	// `complex_model_l` - `standard_gpu` - `complex_model_m_gpu` -
+	// `complex_model_l_gpu` - `standard_p100` - `complex_model_m_p100` -
+	// `standard_v100` - `large_model_v100` - `complex_model_m_v100` -
+	// `complex_model_l_v100` Learn more about [using legacy machine
+	// types](/ml-engine/docs/machine-types#legacy-machine-types). Finally,
+	// if you want to use a TPU for training, specify `cloud_tpu` in this
 	// field. Learn more about the [special configuration options for
-	// training
-	// with
-	// TPUs](/ml-engine/docs/tensorflow/using-tpus#configuring_
-	// a_custom_tpu_machine).
+	// training with
+	// TPUs](/ml-engine/docs/tensorflow/using-tpus#configuring_a_custom_tpu_m
+	// achine).
 	MasterType string `json:"masterType,omitempty"`
 
 	// Network: Optional. The full name of the [Compute Engine
-	// network](/vpc/docs/vpc) to which the
-	// Job is peered. For example, `projects/12345/global/networks/myVPC`.
-	// The
-	// format of this field is
-	// `projects/{project}/global/networks/{network}`,
-	// where {project} is a project number (like `12345`) and {network} is
-	// network
-	// name.
-	//
-	// Private services access must already be configured for the network.
-	// If left
+	// network](/vpc/docs/vpc) to which the Job is peered. For example,
+	// `projects/12345/global/networks/myVPC`. The format of this field is
+	// `projects/{project}/global/networks/{network}`, where {project} is a
+	// project number (like `12345`) and {network} is network name. Private
+	// services access must already be configured for the network. If left
 	// unspecified, the Job is not peered with any network. [Learn about
-	// using VPC
-	// Network Peering.](/ai-platform/training/docs/vpc-peering).
+	// using VPC Network Peering.](/ai-platform/training/docs/vpc-peering).
 	Network string `json:"network,omitempty"`
 
 	// PackageUris: Required. The Google Cloud Storage location of the
-	// packages with
-	// the training program and any additional dependencies.
+	// packages with the training program and any additional dependencies.
 	// The maximum number of package URIs is 100.
 	PackageUris []string `json:"packageUris,omitempty"`
 
 	// ParameterServerConfig: Optional. The configuration for parameter
-	// servers.
-	//
-	// You should only set `parameterServerConfig.acceleratorConfig`
-	// if
-	// `parameterServerType` is set to a Compute Engine machine type.
-	// [Learn
-	// about restrictions on accelerator configurations
-	// for
-	// training.](/ai-platform/training/docs/using-gpus#compute-engine-ma
-	// chine-types-with-gpu)
-	//
-	// Set `parameterServerConfig.imageUri` only if you build a custom image
-	// for
-	// your parameter server. If `parameterServerConfig.imageUri` has not
-	// been
-	// set, AI Platform uses the value of `masterConfig.imageUri`. Learn
-	// more about [configuring
+	// servers. You should only set
+	// `parameterServerConfig.acceleratorConfig` if `parameterServerType` is
+	// set to a Compute Engine machine type. [Learn about restrictions on
+	// accelerator configurations for
+	// training.](/ai-platform/training/docs/using-gpus#compute-engine-machin
+	// e-types-with-gpu) Set `parameterServerConfig.imageUri` only if you
+	// build a custom image for your parameter server. If
+	// `parameterServerConfig.imageUri` has not been set, AI Platform uses
+	// the value of `masterConfig.imageUri`. Learn more about [configuring
 	// custom
-	// containers](/ai-platform/training/docs/distributed-training-con
-	// tainers).
+	// containers](/ai-platform/training/docs/distributed-training-containers
+	// ).
 	ParameterServerConfig *GoogleCloudMlV1__ReplicaConfig `json:"parameterServerConfig,omitempty"`
 
 	// ParameterServerCount: Optional. The number of parameter server
-	// replicas to use for the training
-	// job. Each replica in the cluster will be of the type specified
-	// in
-	// `parameter_server_type`.
-	//
-	// This value can only be used when `scale_tier` is set to `CUSTOM`. If
-	// you
-	// set this value, you must also set `parameter_server_type`.
-	//
-	// The default value is zero.
+	// replicas to use for the training job. Each replica in the cluster
+	// will be of the type specified in `parameter_server_type`. This value
+	// can only be used when `scale_tier` is set to `CUSTOM`. If you set
+	// this value, you must also set `parameter_server_type`. The default
+	// value is zero.
 	ParameterServerCount int64 `json:"parameterServerCount,omitempty,string"`
 
 	// ParameterServerType: Optional. Specifies the type of virtual machine
-	// to use for your training
-	// job's parameter server.
-	//
-	// The supported values are the same as those described in the entry
-	// for
-	// `master_type`.
-	//
-	// This value must be consistent with the category of machine type
-	// that
+	// to use for your training job's parameter server. The supported values
+	// are the same as those described in the entry for `master_type`. This
+	// value must be consistent with the category of machine type that
 	// `masterType` uses. In other words, both must be Compute Engine
-	// machine
-	// types or both must be legacy machine types.
-	//
-	// This value must be present when `scaleTier` is set to `CUSTOM`
-	// and
+	// machine types or both must be legacy machine types. This value must
+	// be present when `scaleTier` is set to `CUSTOM` and
 	// `parameter_server_count` is greater than zero.
 	ParameterServerType string `json:"parameterServerType,omitempty"`
 
@@ -3532,189 +3115,115 @@
 	PythonModule string `json:"pythonModule,omitempty"`
 
 	// PythonVersion: Optional. The version of Python used in training. You
-	// must either specify
-	// this field or specify `masterConfig.imageUri`.
-	//
-	// The following Python versions are available:
-	//
-	// * Python '3.7' is available when `runtime_version` is set to '1.15'
-	// or
-	//   later.
-	// * Python '3.5' is available when `runtime_version` is set to a
-	// version
-	//   from '1.4' to '1.14'.
-	// * Python '2.7' is available when `runtime_version` is set to '1.15'
-	// or
-	//   earlier.
-	//
-	// Read more about the Python versions available for [each
-	// runtime
+	// must either specify this field or specify `masterConfig.imageUri`.
+	// The following Python versions are available: * Python '3.7' is
+	// available when `runtime_version` is set to '1.15' or later. * Python
+	// '3.5' is available when `runtime_version` is set to a version from
+	// '1.4' to '1.14'. * Python '2.7' is available when `runtime_version`
+	// is set to '1.15' or earlier. Read more about the Python versions
+	// available for [each runtime
 	// version](/ml-engine/docs/runtime-version-list).
 	PythonVersion string `json:"pythonVersion,omitempty"`
 
 	// Region: Required. The region to run the training job in. See the
-	// [available
-	// regions](/ai-platform/training/docs/regions) for AI Platform
-	// Training.
+	// [available regions](/ai-platform/training/docs/regions) for AI
+	// Platform Training.
 	Region string `json:"region,omitempty"`
 
 	// RuntimeVersion: Optional. The AI Platform runtime version to use for
-	// training. You must
-	// either specify this field or specify `masterConfig.imageUri`.
-	//
-	// For more information, see the [runtime
-	// version
-	// list](/ai-platform/training/docs/runtime-version-list) and learn [how
-	// to
-	// manage runtime versions](/ai-platform/training/docs/versioning).
+	// training. You must either specify this field or specify
+	// `masterConfig.imageUri`. For more information, see the [runtime
+	// version list](/ai-platform/training/docs/runtime-version-list) and
+	// learn [how to manage runtime
+	// versions](/ai-platform/training/docs/versioning).
 	RuntimeVersion string `json:"runtimeVersion,omitempty"`
 
 	// ScaleTier: Required. Specifies the machine types, the number of
-	// replicas for workers
-	// and parameter servers.
+	// replicas for workers and parameter servers.
 	//
 	// Possible values:
 	//   "BASIC" - A single worker instance. This tier is suitable for
-	// learning how to use
-	// Cloud ML, and for experimenting with new models using small datasets.
+	// learning how to use Cloud ML, and for experimenting with new models
+	// using small datasets.
 	//   "STANDARD_1" - Many workers and a few parameter servers.
 	//   "PREMIUM_1" - A large number of workers with many parameter
 	// servers.
-	//   "BASIC_GPU" - A single worker instance [with
-	// a
+	//   "BASIC_GPU" - A single worker instance [with a
 	// GPU](/ai-platform/training/docs/using-gpus).
-	//   "BASIC_TPU" - A single worker instance with a
-	// [Cloud TPU](/ml-engine/docs/tensorflow/using-tpus).
+	//   "BASIC_TPU" - A single worker instance with a [Cloud
+	// TPU](/ml-engine/docs/tensorflow/using-tpus).
 	//   "CUSTOM" - The CUSTOM tier is not a set tier, but rather enables
-	// you to use your
-	// own cluster specification. When you use this tier, set values
-	// to
-	// configure your processing cluster according to these guidelines:
-	//
-	// *   You _must_ set `TrainingInput.masterType` to specify the type
-	//     of machine to use for your master node. This is the only
-	// required
-	//     setting.
-	//
-	// *   You _may_ set `TrainingInput.workerCount` to specify the number
-	// of
-	//     workers to use. If you specify one or more workers, you _must_
-	// also
-	//     set `TrainingInput.workerType` to specify the type of machine to
-	// use
-	//     for your worker nodes.
-	//
-	// *   You _may_ set `TrainingInput.parameterServerCount` to specify
-	// the
-	//     number of parameter servers to use. If you specify one or more
-	//     parameter servers, you _must_ also set
-	//     `TrainingInput.parameterServerType` to specify the type of
-	// machine to
-	//     use for your parameter servers.
-	//
-	// Note that all of your workers must use the same machine type, which
-	// can
-	// be different from your parameter server type and master type.
-	// Your
+	// you to use your own cluster specification. When you use this tier,
+	// set values to configure your processing cluster according to these
+	// guidelines: * You _must_ set `TrainingInput.masterType` to specify
+	// the type of machine to use for your master node. This is the only
+	// required setting. * You _may_ set `TrainingInput.workerCount` to
+	// specify the number of workers to use. If you specify one or more
+	// workers, you _must_ also set `TrainingInput.workerType` to specify
+	// the type of machine to use for your worker nodes. * You _may_ set
+	// `TrainingInput.parameterServerCount` to specify the number of
+	// parameter servers to use. If you specify one or more parameter
+	// servers, you _must_ also set `TrainingInput.parameterServerType` to
+	// specify the type of machine to use for your parameter servers. Note
+	// that all of your workers must use the same machine type, which can be
+	// different from your parameter server type and master type. Your
 	// parameter servers must likewise use the same machine type, which can
-	// be
-	// different from your worker type and master type.
+	// be different from your worker type and master type.
 	ScaleTier string `json:"scaleTier,omitempty"`
 
 	// Scheduling: Optional. Scheduling options for a training job.
 	Scheduling *GoogleCloudMlV1__Scheduling `json:"scheduling,omitempty"`
 
 	// ServiceAccount: Optional. The email address of a service account to
-	// use when running the
-	// training appplication. You must have the
-	// `iam.serviceAccounts.actAs`
-	// permission for the specified service account. In addition, the AI
-	// Platform
-	// Training Google-managed service account must have
-	// the
-	// `roles/iam.serviceAccountAdmin` role for the specified service
-	// account.
-	// [Learn more about configuring a
-	// service
-	// account.](/ai-platform/training/docs/custom-service-account)
-	//
-	//
-	// If not specified, the AI Platform Training Google-managed service
-	// account
-	// is used by default.
+	// use when running the training appplication. You must have the
+	// `iam.serviceAccounts.actAs` permission for the specified service
+	// account. In addition, the AI Platform Training Google-managed service
+	// account must have the `roles/iam.serviceAccountAdmin` role for the
+	// specified service account. [Learn more about configuring a service
+	// account.](/ai-platform/training/docs/custom-service-account) If not
+	// specified, the AI Platform Training Google-managed service account is
+	// used by default.
 	ServiceAccount string `json:"serviceAccount,omitempty"`
 
 	// UseChiefInTfConfig: Optional. Use `chief` instead of `master` in the
-	// `TF_CONFIG` environment
-	// variable when training with a custom container. Defaults to `false`.
-	// [Learn
-	// more about
-	// this
-	// field.](/ai-platform/training/docs/distributed-training-details#c
-	// hief-versus-master)
-	//
-	// This field has no effect for training jobs that don't use a
-	// custom
-	// container.
+	// `TF_CONFIG` environment variable when training with a custom
+	// container. Defaults to `false`. [Learn more about this
+	// field.](/ai-platform/training/docs/distributed-training-details#chief-
+	// versus-master) This field has no effect for training jobs that don't
+	// use a custom container.
 	UseChiefInTfConfig bool `json:"useChiefInTfConfig,omitempty"`
 
-	// WorkerConfig: Optional. The configuration for workers.
-	//
-	// You should only set `workerConfig.acceleratorConfig` if `workerType`
-	// is set
-	// to a Compute Engine machine type. [Learn about restrictions on
-	// accelerator
-	// configurations
-	// for
-	// training.](/ai-platform/training/docs/using-gpus#compute-engine-ma
-	// chine-types-with-gpu)
-	//
-	// Set `workerConfig.imageUri` only if you build a custom image for
-	// your
-	// worker. If `workerConfig.imageUri` has not been set, AI Platform
-	// uses
-	// the value of `masterConfig.imageUri`. Learn more about [configuring
-	// custom
-	// containers](/ai-platform/training/docs/distributed-training-con
-	// tainers).
+	// WorkerConfig: Optional. The configuration for workers. You should
+	// only set `workerConfig.acceleratorConfig` if `workerType` is set to a
+	// Compute Engine machine type. [Learn about restrictions on accelerator
+	// configurations for
+	// training.](/ai-platform/training/docs/using-gpus#compute-engine-machin
+	// e-types-with-gpu) Set `workerConfig.imageUri` only if you build a
+	// custom image for your worker. If `workerConfig.imageUri` has not been
+	// set, AI Platform uses the value of `masterConfig.imageUri`. Learn
+	// more about [configuring custom
+	// containers](/ai-platform/training/docs/distributed-training-containers
+	// ).
 	WorkerConfig *GoogleCloudMlV1__ReplicaConfig `json:"workerConfig,omitempty"`
 
 	// WorkerCount: Optional. The number of worker replicas to use for the
-	// training job. Each
-	// replica in the cluster will be of the type specified in
-	// `worker_type`.
-	//
-	// This value can only be used when `scale_tier` is set to `CUSTOM`. If
-	// you
-	// set this value, you must also set `worker_type`.
-	//
-	// The default value is zero.
+	// training job. Each replica in the cluster will be of the type
+	// specified in `worker_type`. This value can only be used when
+	// `scale_tier` is set to `CUSTOM`. If you set this value, you must also
+	// set `worker_type`. The default value is zero.
 	WorkerCount int64 `json:"workerCount,omitempty,string"`
 
 	// WorkerType: Optional. Specifies the type of virtual machine to use
-	// for your training
-	// job's worker nodes.
-	//
-	// The supported values are the same as those described in the entry
-	// for
-	// `masterType`.
-	//
-	// This value must be consistent with the category of machine type
-	// that
+	// for your training job's worker nodes. The supported values are the
+	// same as those described in the entry for `masterType`. This value
+	// must be consistent with the category of machine type that
 	// `masterType` uses. In other words, both must be Compute Engine
-	// machine
-	// types or both must be legacy machine types.
-	//
-	// If you use `cloud_tpu` for this value, see special instructions
-	// for
-	// [configuring a custom
-	// TPU
-	// machine](/ml-engine/docs/tensorflow/using-tpus#configuring_a_custo
-	// m_tpu_machine).
-	//
-	// This value must be present when `scaleTier` is set to `CUSTOM`
-	// and
-	// `workerCount` is greater than zero.
+	// machine types or both must be legacy machine types. If you use
+	// `cloud_tpu` for this value, see special instructions for [configuring
+	// a custom TPU
+	// machine](/ml-engine/docs/tensorflow/using-tpus#configuring_a_custom_tp
+	// u_machine). This value must be present when `scaleTier` is set to
+	// `CUSTOM` and `workerCount` is greater than zero.
 	WorkerType string `json:"workerType,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Args") to
@@ -3743,26 +3252,22 @@
 // GoogleCloudMlV1__TrainingOutput: Represents results of a training
 // job. Output only.
 type GoogleCloudMlV1__TrainingOutput struct {
-	// BuiltInAlgorithmOutput: Details related to built-in algorithms
-	// jobs.
+	// BuiltInAlgorithmOutput: Details related to built-in algorithms jobs.
 	// Only set for built-in algorithms jobs.
 	BuiltInAlgorithmOutput *GoogleCloudMlV1__BuiltInAlgorithmOutput `json:"builtInAlgorithmOutput,omitempty"`
 
 	// CompletedTrialCount: The number of hyperparameter tuning trials that
-	// completed successfully.
-	// Only set for hyperparameter tuning jobs.
+	// completed successfully. Only set for hyperparameter tuning jobs.
 	CompletedTrialCount int64 `json:"completedTrialCount,omitempty,string"`
 
 	// ConsumedMLUnits: The amount of ML units consumed by the job.
 	ConsumedMLUnits float64 `json:"consumedMLUnits,omitempty"`
 
 	// HyperparameterMetricTag: The TensorFlow summary tag name used for
-	// optimizing hyperparameter tuning
-	// trials.
-	// See
-	// [`HyperparameterSpec.hyperparameterMetricTag`](#HyperparameterSpec
-	// .FIELDS.hyperparameter_metric_tag)
-	// for more information. Only set for hyperparameter tuning jobs.
+	// optimizing hyperparameter tuning trials. See
+	// [`HyperparameterSpec.hyperparameterMetricTag`](#HyperparameterSpec.FIE
+	// LDS.hyperparameter_metric_tag) for more information. Only set for
+	// hyperparameter tuning jobs.
 	HyperparameterMetricTag string `json:"hyperparameterMetricTag,omitempty"`
 
 	// IsBuiltInAlgorithmJob: Whether this job is a built-in Algorithm job.
@@ -3772,8 +3277,8 @@
 	// tuning job.
 	IsHyperparameterTuningJob bool `json:"isHyperparameterTuningJob,omitempty"`
 
-	// Trials: Results for individual Hyperparameter trials.
-	// Only set for hyperparameter tuning jobs.
+	// Trials: Results for individual Hyperparameter trials. Only set for
+	// hyperparameter tuning jobs.
 	Trials []*GoogleCloudMlV1__HyperparameterOutput `json:"trials,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -3830,14 +3335,13 @@
 	FinalMeasurement *GoogleCloudMlV1__Measurement `json:"finalMeasurement,omitempty"`
 
 	// InfeasibleReason: Output only. A human readable string describing why
-	// the trial is
-	// infeasible. This should only be set if trial_infeasible is true.
+	// the trial is infeasible. This should only be set if trial_infeasible
+	// is true.
 	InfeasibleReason string `json:"infeasibleReason,omitempty"`
 
 	// Measurements: A list of measurements that are strictly
-	// lexicographically
-	// ordered by their induced tuples (steps, elapsed_time).
-	// These are used for early stopping computations.
+	// lexicographically ordered by their induced tuples (steps,
+	// elapsed_time). These are used for early stopping computations.
 	Measurements []*GoogleCloudMlV1__Measurement `json:"measurements,omitempty"`
 
 	// Name: Output only. Name of the trial assigned by the service.
@@ -3854,12 +3358,10 @@
 	// Possible values:
 	//   "STATE_UNSPECIFIED" - The trial state is unspecified.
 	//   "REQUESTED" - Indicates that a specific trial has been requested,
-	// but it has not yet
-	// been suggested by the service.
+	// but it has not yet been suggested by the service.
 	//   "ACTIVE" - Indicates that the trial has been suggested.
 	//   "COMPLETED" - Indicates that the trial is done, and either has a
-	// final_measurement
-	// set, or is marked as trial_infeasible.
+	// final_measurement set, or is marked as trial_infeasible.
 	//   "STOPPING" - Indicates that the trial should stop according to the
 	// service.
 	State string `json:"state,omitempty"`
@@ -3895,113 +3397,81 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// GoogleCloudMlV1__Version: Represents a version of the model.
-//
-// Each version is a trained model deployed in the cloud, ready to
-// handle
-// prediction requests. A model can have multiple versions. You can
-// get
-// information about all of the versions of a given model by
-// calling
+// GoogleCloudMlV1__Version: Represents a version of the model. Each
+// version is a trained model deployed in the cloud, ready to handle
+// 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.
 type GoogleCloudMlV1__Version struct {
 	// AcceleratorConfig: Optional. Accelerator config for using GPUs for
-	// online prediction (beta).
-	// Only specify this field if you have specified a Compute Engine (N1)
-	// machine
-	// type in the `machineType` field. Learn more about [using GPUs for
-	// online
-	// prediction](/ml-engine/docs/machine-types-online-prediction#gpu
-	// s).
+	// online prediction (beta). Only specify this field if you have
+	// specified a Compute Engine (N1) machine type in the `machineType`
+	// field. Learn more about [using GPUs for online
+	// prediction](/ml-engine/docs/machine-types-online-prediction#gpus).
 	AcceleratorConfig *GoogleCloudMlV1__AcceleratorConfig `json:"acceleratorConfig,omitempty"`
 
 	// AutoScaling: Automatically scale the number of nodes used to serve
-	// the model in
-	// response to increases and decreases in traffic. Care should be
-	// taken to ramp up traffic according to the model's ability to scale
-	// or you will start seeing increases in latency and 429 response
-	// codes.
-	//
-	// Note that you cannot use AutoScaling if your version
-	// uses
-	// [GPUs](#Version.FIELDS.accelerator_config). Instead, you must use
-	// specify
-	// `manual_scaling`.
+	// the model in response to increases and decreases in traffic. Care
+	// should be taken to ramp up traffic according to the model's ability
+	// to scale or you will start seeing increases in latency and 429
+	// response codes. Note that you cannot use AutoScaling if your version
+	// uses [GPUs](#Version.FIELDS.accelerator_config). Instead, you must
+	// use specify `manual_scaling`.
 	AutoScaling *GoogleCloudMlV1__AutoScaling `json:"autoScaling,omitempty"`
 
 	// CreateTime: Output only. The time the version was created.
 	CreateTime string `json:"createTime,omitempty"`
 
 	// DeploymentUri: Required. The Cloud Storage location of the trained
-	// model used to
-	// create the version. See the
-	// [guide to
-	// model
-	// deployment](/ml-engine/docs/tensorflow/deploying-models) for
-	// more
-	// information.
-	//
-	// When passing Version to
-	// projects.models.versions.create
+	// model used to create the version. See the [guide to model
+	// deployment](/ml-engine/docs/tensorflow/deploying-models) for more
+	// information. When passing Version to projects.models.versions.create
 	// the model service uses the specified location as the source of the
-	// model.
-	// Once deployed, the model version is hosted by the prediction service,
-	// so
-	// this location is useful only as a historical record.
-	// The total number of model files can't exceed 1000.
+	// model. Once deployed, the model version is hosted by the prediction
+	// service, so this location is useful only as a historical record. The
+	// total number of model files can't exceed 1000.
 	DeploymentUri string `json:"deploymentUri,omitempty"`
 
 	// Description: Optional. The description specified for the version when
 	// it was created.
 	Description string `json:"description,omitempty"`
 
+	// Endpoints: Optional. Output only. If set by server, the http(s)
+	// endpoints returned to user after the public/private deployment is
+	// successful.
+	// https://cloud.google.com/apis/design/design_patterns#output_fields.
+	Endpoints *GoogleCloudMlV1__EndpointMap `json:"endpoints,omitempty"`
+
 	// ErrorMessage: Output only. The details of a failure or a
 	// cancellation.
 	ErrorMessage string `json:"errorMessage,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a model from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform model updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `GetVersion`,
-	// and
-	// systems are expected to put that etag in the request to
-	// `UpdateVersion` to
-	// ensure that their change will be applied to the model as intended.
+	// help prevent simultaneous updates of a model from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform model updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `GetVersion`, and systems are expected to put that etag in the
+	// request to `UpdateVersion` to ensure that their change will be
+	// applied to the model as intended.
 	Etag string `json:"etag,omitempty"`
 
 	// ExplanationConfig: Optional. Configures explainability features on
-	// the model's version.
-	// Some explanation features require additional metadata to be loaded
-	// as part of the model payload.
+	// the model's version. Some explanation features require additional
+	// metadata to be loaded as part of the model payload.
 	ExplanationConfig *GoogleCloudMlV1__ExplanationConfig `json:"explanationConfig,omitempty"`
 
 	// Framework: Optional. The machine learning framework AI Platform uses
-	// to train
-	// this version of the model. Valid values are `TENSORFLOW`,
-	// `SCIKIT_LEARN`,
-	// `XGBOOST`. If you do not specify a framework, AI Platform
-	// will analyze files in the deployment_uri to determine a framework. If
-	// you
-	// choose `SCIKIT_LEARN` or `XGBOOST`, you must also set the runtime
-	// version
-	// of the model to 1.4 or greater.
-	//
-	// Do **not** specify a framework if you're deploying a
-	// [custom
-	// prediction
-	// routine](/ml-engine/docs/tensorflow/custom-prediction-routines).
-	//
-	// If you specify a [Compute Engine (N1)
-	// machine
-	// type](/ml-engine/docs/machine-types-online-prediction) in
-	// the
-	// `machineType` field, you must specify `TENSORFLOW`
-	// for the framework.
+	// to train this version of the model. Valid values are `TENSORFLOW`,
+	// `SCIKIT_LEARN`, `XGBOOST`. If you do not specify a framework, AI
+	// Platform will analyze files in the deployment_uri to determine a
+	// framework. If you choose `SCIKIT_LEARN` or `XGBOOST`, you must also
+	// set the runtime version of the model to 1.4 or greater. Do **not**
+	// specify a framework if you're deploying a [custom prediction
+	// routine](/ml-engine/docs/tensorflow/custom-prediction-routines). If
+	// you specify a [Compute Engine (N1) machine
+	// type](/ml-engine/docs/machine-types-online-prediction) in the
+	// `machineType` field, you must specify `TENSORFLOW` for the framework.
 	//
 	// Possible values:
 	//   "FRAMEWORK_UNSPECIFIED" - Unspecified framework. Assigns a value
@@ -4012,22 +3482,14 @@
 	Framework string `json:"framework,omitempty"`
 
 	// IsDefault: Output only. If true, this version will be used to handle
-	// prediction
-	// requests that do not specify a version.
-	//
-	// You can change the default version by
-	// calling
-	// projects.methods.versions.setDefault.
+	// prediction requests that do not specify a version. You can change the
+	// default version by calling projects.methods.versions.setDefault.
 	IsDefault bool `json:"isDefault,omitempty"`
 
 	// Labels: Optional. One or more labels that you can add, to organize
-	// your model
-	// versions. Each label is a key-value pair, where both the key and the
-	// value
-	// are arbitrary strings that you supply.
-	// For more information, see the documentation on
-	// <a href="/ml-engine/docs/tensorflow/resource-labels">using
-	// labels</a>.
+	// your model versions. Each label is a key-value pair, where both the
+	// key and the value are arbitrary strings that you supply. For more
+	// information, see the documentation on using labels.
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// LastUseTime: Output only. The time the version was last used for
@@ -4035,195 +3497,97 @@
 	LastUseTime string `json:"lastUseTime,omitempty"`
 
 	// MachineType: Optional. The type of machine on which to serve the
-	// model. Currently only
-	// applies to online prediction service. If this field is not specified,
-	// it
-	// defaults to `mls1-c1-m2`.
-	//
-	// Online prediction supports the following machine types:
-	//
-	// * `mls1-c1-m2`
-	// * `mls1-c4-m2`
-	// * `n1-standard-2`
-	// * `n1-standard-4`
-	// * `n1-standard-8`
-	// * `n1-standard-16`
-	// * `n1-standard-32`
-	// * `n1-highmem-2`
-	// * `n1-highmem-4`
-	// * `n1-highmem-8`
-	// * `n1-highmem-16`
-	// * `n1-highmem-32`
-	// * `n1-highcpu-2`
-	// * `n1-highcpu-4`
-	// * `n1-highcpu-8`
-	// * `n1-highcpu-16`
-	// * `n1-highcpu-32`
-	//
+	// model. Currently only applies to online prediction service. If this
+	// field is not specified, it defaults to `mls1-c1-m2`. Online
+	// prediction supports the following machine types: * `mls1-c1-m2` *
+	// `mls1-c4-m2` * `n1-standard-2` * `n1-standard-4` * `n1-standard-8` *
+	// `n1-standard-16` * `n1-standard-32` * `n1-highmem-2` * `n1-highmem-4`
+	// * `n1-highmem-8` * `n1-highmem-16` * `n1-highmem-32` * `n1-highcpu-2`
+	// * `n1-highcpu-4` * `n1-highcpu-8` * `n1-highcpu-16` * `n1-highcpu-32`
 	// `mls1-c1-m2` is generally available. All other machine types are
-	// available
-	// in beta. Learn more about the [differences between
-	// machine
+	// available in beta. Learn more about the [differences between machine
 	// types](/ml-engine/docs/machine-types-online-prediction).
 	MachineType string `json:"machineType,omitempty"`
 
 	// ManualScaling: Manually select the number of nodes to use for serving
-	// the
-	// model. You should generally use `auto_scaling` with an
-	// appropriate
-	// `min_nodes` instead, but this option is available if you want
-	// more
-	// predictable billing. Beware that latency and error rates will
-	// increase
-	// if the traffic exceeds that capability of the system to serve it
-	// based
-	// on the selected number of nodes.
+	// the model. You should generally use `auto_scaling` with an
+	// appropriate `min_nodes` instead, but this option is available if you
+	// want more predictable billing. Beware that latency and error rates
+	// will increase if the traffic exceeds that capability of the system to
+	// serve it based on the selected number of nodes.
 	ManualScaling *GoogleCloudMlV1__ManualScaling `json:"manualScaling,omitempty"`
 
 	// Name: Required. The name specified for the version when it was
-	// created.
-	//
-	// The version name must be unique within the model it is created in.
+	// created. The version name must be unique within the model it is
+	// created in.
 	Name string `json:"name,omitempty"`
 
 	// PackageUris: Optional. Cloud Storage paths (`gs://…`) of packages
-	// for [custom
-	// prediction
-	// routines](/ml-engine/docs/tensorflow/custom-prediction-routines)
-	// or [scikit-learn pipelines with
-	// custom
-	// code](/ml-engine/docs/scikit/exporting-for-prediction#custom-pi
-	// peline-code).
-	//
-	// For a custom prediction routine, one of these packages must contain
-	// your
-	// Predictor class
-	// (see
-	// [`predictionClass`](#Version.FIELDS.prediction_class)).
-	// Additionally,
+	// for [custom prediction
+	// routines](/ml-engine/docs/tensorflow/custom-prediction-routines) or
+	// [scikit-learn pipelines with custom
+	// code](/ml-engine/docs/scikit/exporting-for-prediction#custom-pipeline-
+	// code). For a custom prediction routine, one of these packages must
+	// contain your Predictor class (see
+	// [`predictionClass`](#Version.FIELDS.prediction_class)). Additionally,
 	// include any dependencies used by your Predictor or scikit-learn
-	// pipeline
-	// uses that are not already included in your selected
-	// [runtime
-	// version](/ml-engine/docs/tensorflow/runtime-version-list).
-	//
-	// I
-	// f you specify this field, you must also
-	// set
+	// pipeline uses that are not already included in your selected [runtime
+	// version](/ml-engine/docs/tensorflow/runtime-version-list). If you
+	// specify this field, you must also set
 	// [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or
 	// greater.
 	PackageUris []string `json:"packageUris,omitempty"`
 
-	// PredictionClass: Optional. The fully qualified
-	// name
-	// (<var>module_name</var>.<var>class_name</var>) of a class that
-	// implements
-	// the Predictor interface described in this reference field. The
-	// module
-	// containing this class should be included in a package provided to
-	// the
-	// [`packageUris` field](#Version.FIELDS.package_uris).
-	//
-	// Specify this field if and only if you are deploying a [custom
-	// prediction
-	// routine
-	// (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines).
-	// If you specify this field, you must
-	// set
+	// PredictionClass: Optional. The fully qualified name
+	// (module_name.class_name) of a class that implements the Predictor
+	// interface described in this reference field. The module containing
+	// this class should be included in a package provided to the
+	// [`packageUris` field](#Version.FIELDS.package_uris). Specify this
+	// field if and only if you are deploying a [custom prediction routine
+	// (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines). If
+	// you specify this field, you must set
 	// [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater
-	// and
-	// you must set `machineType` to a [legacy (MLS1)
-	// machine type](/ml-engine/docs/machine-types-online-prediction).
-	//
-	// The following code sample provides the Predictor interface:
-	//
-	// <pre style="max-width: 626px;">
-	// class Predictor(object):
-	// """Interface for constructing custom predictors."""
-	//
-	// def predict(self, instances, **kwargs):
-	//     """Performs custom prediction.
-	//
-	//     Instances are the decoded values from the request. They have
-	// already
-	//     been deserialized from JSON.
-	//
-	//     Args:
-	//         instances: A list of prediction input instances.
-	//         **kwargs: A dictionary of keyword args provided as
-	// additional
-	//             fields on the predict request body.
-	//
-	//     Returns:
-	//         A list of outputs containing the prediction results. This
-	// list must
-	//         be JSON serializable.
-	//     """
-	//     raise NotImplementedError()
-	//
-	// @classmethod
-	// def from_path(cls, model_dir):
-	//     """Creates an instance of Predictor using the given path.
-	//
-	//     Loading of the predictor should be done in this method.
-	//
-	//     Args:
-	//         model_dir: The local directory that contains the exported
-	// model
-	//             file along with any additional files uploaded when
-	// creating the
-	//             version resource.
-	//
-	//     Returns:
-	//         An instance implementing this Predictor class.
-	//     """
-	//     raise NotImplementedError()
-	// </pre>
-	//
-	// Learn more about [the Predictor interface and custom
-	// prediction
-	// routines](/ml-engine/docs/tensorflow/custom-prediction-rout
-	// ines).
+	// and you must set `machineType` to a [legacy (MLS1) machine
+	// type](/ml-engine/docs/machine-types-online-prediction). The following
+	// code sample provides the Predictor interface: class
+	// Predictor(object): """Interface for constructing custom
+	// predictors.""" def predict(self, instances, **kwargs): """Performs
+	// custom prediction. Instances are the decoded values from the request.
+	// They have already been deserialized from JSON. Args: instances: A
+	// list of prediction input instances. **kwargs: A dictionary of keyword
+	// args provided as additional fields on the predict request body.
+	// Returns: A list of outputs containing the prediction results. This
+	// list must be JSON serializable. """ raise NotImplementedError()
+	// @classmethod def from_path(cls, model_dir): """Creates an instance of
+	// Predictor using the given path. Loading of the predictor should be
+	// done in this method. Args: model_dir: The local directory that
+	// contains the exported model file along with any additional files
+	// uploaded when creating the version resource. Returns: An instance
+	// implementing this Predictor class. """ raise NotImplementedError()
+	// Learn more about [the Predictor interface and custom prediction
+	// routines](/ml-engine/docs/tensorflow/custom-prediction-routines).
 	PredictionClass string `json:"predictionClass,omitempty"`
 
-	// PythonVersion: Required. The version of Python used in
-	// prediction.
-	//
-	// The following Python versions are available:
-	//
-	// * Python '3.7' is available when `runtime_version` is set to '1.15'
-	// or
-	//   later.
-	// * Python '3.5' is available when `runtime_version` is set to a
-	// version
-	//   from '1.4' to '1.14'.
-	// * Python '2.7' is available when `runtime_version` is set to '1.15'
-	// or
-	//   earlier.
-	//
-	// Read more about the Python versions available for [each
-	// runtime
+	// PythonVersion: Required. The version of Python used in prediction.
+	// The following Python versions are available: * Python '3.7' is
+	// available when `runtime_version` is set to '1.15' or later. * Python
+	// '3.5' is available when `runtime_version` is set to a version from
+	// '1.4' to '1.14'. * Python '2.7' is available when `runtime_version`
+	// is set to '1.15' or earlier. Read more about the Python versions
+	// available for [each runtime
 	// version](/ml-engine/docs/runtime-version-list).
 	PythonVersion string `json:"pythonVersion,omitempty"`
 
-	// RequestLoggingConfig: Optional. *Only* specify this field in
-	// a
-	// projects.models.versions.patch
-	// request. Specifying it in a
-	// projects.models.versions.create
-	// request has no effect.
-	//
-	// Configures the request-response pair logging on predictions from
-	// this
-	// Version.
+	// RequestLoggingConfig: Optional. *Only* specify this field in a
+	// projects.models.versions.patch request. Specifying it in a
+	// projects.models.versions.create request has no effect. Configures the
+	// request-response pair logging on predictions from this Version.
 	RequestLoggingConfig *GoogleCloudMlV1__RequestLoggingConfig `json:"requestLoggingConfig,omitempty"`
 
 	// RuntimeVersion: Required. The AI Platform runtime version to use for
-	// this deployment.
-	//
-	// For more information, see the
-	// [runtime version list](/ml-engine/docs/runtime-version-list) and
-	// [how to manage runtime versions](/ml-engine/docs/versioning).
+	// this deployment. For more information, see the [runtime version
+	// list](/ml-engine/docs/runtime-version-list) and [how to manage
+	// runtime versions](/ml-engine/docs/versioning).
 	RuntimeVersion string `json:"runtimeVersion,omitempty"`
 
 	// ServiceAccount: Optional. Specifies the service account for resource
@@ -4236,17 +3600,16 @@
 	//   "UNKNOWN" - The version state is unspecified.
 	//   "READY" - The version is ready for prediction.
 	//   "CREATING" - The version is being created. New UpdateVersion and
-	// DeleteVersion
-	// requests will fail if a version is in the CREATING state.
-	//   "FAILED" - The version failed to be created, possibly
-	// cancelled.
+	// DeleteVersion requests will fail if a version is in the CREATING
+	// state.
+	//   "FAILED" - The version failed to be created, possibly cancelled.
 	// `error_message` should contain the details of the failure.
 	//   "DELETING" - The version is being deleted. New UpdateVersion and
-	// DeleteVersion
-	// requests will fail if a version is in the DELETING state.
+	// DeleteVersion requests will fail if a version is in the DELETING
+	// state.
 	//   "UPDATING" - The version is being updated. New UpdateVersion and
-	// DeleteVersion
-	// requests will fail if a version is in the UPDATING state.
+	// DeleteVersion requests will fail if a version is in the UPDATING
+	// state.
 	State string `json:"state,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -4278,16 +3641,14 @@
 }
 
 // GoogleCloudMlV1__XraiAttribution: Attributes credit by computing the
-// XRAI taking advantage
-// of the model's fully differentiable structure. Refer to this paper
-// for
-// more details: https://arxiv.org/abs/1906.02825
-// Currently only implemented for models with natural image inputs.
+// XRAI taking advantage of the model's fully differentiable structure.
+// Refer to this paper for more details:
+// https://arxiv.org/abs/1906.02825 Currently only implemented for
+// models with natural image inputs.
 type GoogleCloudMlV1__XraiAttribution struct {
 	// NumIntegralSteps: Number of steps for approximating the path
-	// integral.
-	// A good value to start is 50 and gradually increase until the
-	// sum to diff property is met within the desired error range.
+	// integral. A good value to start is 50 and gradually increase until
+	// the sum to diff property is met within the desired error range.
 	NumIntegralSteps int64 `json:"numIntegralSteps,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "NumIntegralSteps") to
@@ -4315,72 +3676,30 @@
 }
 
 // GoogleIamV1__AuditConfig: Specifies the audit configuration for a
-// service.
-// The configuration determines which permission types are logged, and
-// what
-// identities, if any, are exempted from logging.
-// An AuditConfig must have one or more AuditLogConfigs.
-//
-// If there are AuditConfigs for both `allServices` and a specific
-// service,
-// the union of the two AuditConfigs is used for that service: the
-// log_types
+// service. The configuration determines which permission types are
+// logged, and what identities, if any, are exempted from logging. An
+// AuditConfig must have one or more AuditLogConfigs. If there are
+// AuditConfigs for both `allServices` and a specific service, the union
+// of the two AuditConfigs is used for that service: the log_types
 // specified in each AuditConfig are enabled, and the exempted_members
-// in each
-// AuditLogConfig are exempted.
-//
-// Example Policy with multiple AuditConfigs:
-//
-//     {
-//       "audit_configs": [
-//         {
-//           "service": "allServices",
-//           "audit_log_configs": [
-//             {
-//               "log_type": "DATA_READ",
-//               "exempted_members": [
-//                 "user:jose@example.com"
-//               ]
-//             },
-//             {
-//               "log_type": "DATA_WRITE"
-//             },
-//             {
-//               "log_type": "ADMIN_READ"
-//             }
-//           ]
-//         },
-//         {
-//           "service": "sampleservice.googleapis.com",
-//           "audit_log_configs": [
-//             {
-//               "log_type": "DATA_READ"
-//             },
-//             {
-//               "log_type": "DATA_WRITE",
-//               "exempted_members": [
-//                 "user:aliya@example.com"
-//               ]
-//             }
-//           ]
-//         }
-//       ]
-//     }
-//
-// For sampleservice, this policy enables DATA_READ, DATA_WRITE and
-// ADMIN_READ
-// logging. It also exempts jose@example.com from DATA_READ logging,
-// and
-// aliya@example.com from DATA_WRITE logging.
+// in each AuditLogConfig are exempted. Example Policy with multiple
+// AuditConfigs: { "audit_configs": [ { "service": "allServices",
+// "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members":
+// [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, {
+// "log_type": "ADMIN_READ" } ] }, { "service":
+// "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type":
+// "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [
+// "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy
+// enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts
+// jose@example.com from DATA_READ logging, and aliya@example.com from
+// DATA_WRITE logging.
 type GoogleIamV1__AuditConfig struct {
 	// AuditLogConfigs: The configuration for logging of each type of
 	// permission.
 	AuditLogConfigs []*GoogleIamV1__AuditLogConfig `json:"auditLogConfigs,omitempty"`
 
-	// Service: Specifies a service that will be enabled for audit
-	// logging.
-	// For example, `storage.googleapis.com`,
-	// `cloudsql.googleapis.com`.
+	// Service: Specifies a service that will be enabled for audit logging.
+	// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
 	// `allServices` is a special value that covers all services.
 	Service string `json:"service,omitempty"`
 
@@ -4409,31 +3728,15 @@
 }
 
 // GoogleIamV1__AuditLogConfig: Provides the configuration for logging a
-// type of permissions.
-// Example:
-//
-//     {
-//       "audit_log_configs": [
-//         {
-//           "log_type": "DATA_READ",
-//           "exempted_members": [
-//             "user:jose@example.com"
-//           ]
-//         },
-//         {
-//           "log_type": "DATA_WRITE"
-//         }
-//       ]
-//     }
-//
-// This enables 'DATA_READ' and 'DATA_WRITE' logging, while
-// exempting
-// jose@example.com from DATA_READ logging.
+// type of permissions. Example: { "audit_log_configs": [ { "log_type":
+// "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, {
+// "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and
+// 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ
+// logging.
 type GoogleIamV1__AuditLogConfig struct {
 	// ExemptedMembers: Specifies the identities that do not cause logging
-	// for this type of
-	// permission.
-	// Follows the same format of Binding.members.
+	// for this type of permission. Follows the same format of
+	// Binding.members.
 	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
 
 	// LogType: The log type that this config enables.
@@ -4471,95 +3774,53 @@
 
 // GoogleIamV1__Binding: Associates `members` with a `role`.
 type GoogleIamV1__Binding struct {
-	// Condition: The condition that is associated with this binding.
-	//
-	// If the condition evaluates to `true`, then this binding applies to
-	// the
-	// current request.
-	//
-	// If the condition evaluates to `false`, then this binding does not
-	// apply to
-	// the current request. However, a different role binding might grant
-	// the same
-	// role to one or more of the members in this binding.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// Condition: The condition that is associated with this binding. If the
+	// condition evaluates to `true`, then this binding applies to the
+	// current request. If the condition evaluates to `false`, then this
+	// binding does not apply to the current request. However, a different
+	// role binding might grant the same role to one or more of the members
+	// in this binding. To learn which resources support conditions in their
+	// IAM policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	Condition *GoogleType__Expr `json:"condition,omitempty"`
 
 	// Members: Specifies the identities requesting access for a Cloud
-	// Platform resource.
-	// `members` can have the following values:
-	//
-	// * `allUsers`: A special identifier that represents anyone who is
-	//    on the internet; with or without a Google account.
-	//
-	// * `allAuthenticatedUsers`: A special identifier that represents
-	// anyone
-	//    who is authenticated with a Google account or a service
-	// account.
-	//
-	// * `user:{emailid}`: An email address that represents a specific
-	// Google
-	//    account. For example, `alice@example.com` .
-	//
-	//
-	// * `serviceAccount:{emailid}`: An email address that represents a
-	// service
-	//    account. For example,
-	// `my-other-app@appspot.gserviceaccount.com`.
-	//
-	// * `group:{emailid}`: An email address that represents a Google
-	// group.
-	//    For example, `admins@example.com`.
-	//
-	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a user that has been recently deleted.
-	// For
-	//    example, `alice@example.com?uid=123456789012345678901`. If the
-	// user is
-	//    recovered, this value reverts to `user:{emailid}` and the
-	// recovered user
-	//    retains the role in the binding.
-	//
-	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
-	// (plus
-	//    unique identifier) representing a service account that has been
-	// recently
-	//    deleted. For example,
-	//
+	// Platform resource. `members` can have the following values: *
+	// `allUsers`: A special identifier that represents anyone who is on the
+	// internet; with or without a Google account. *
+	// `allAuthenticatedUsers`: A special identifier that represents anyone
+	// who is authenticated with a Google account or a service account. *
+	// `user:{emailid}`: An email address that represents a specific Google
+	// account. For example, `alice@example.com` . *
+	// `serviceAccount:{emailid}`: An email address that represents a
+	// service account. For example,
+	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
+	// email address that represents a Google group. For example,
+	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
+	// email address (plus unique identifier) representing a user that has
+	// been recently deleted. For example,
+	// `alice@example.com?uid=123456789012345678901`. If the user is
+	// recovered, this value reverts to `user:{emailid}` and the recovered
+	// user retains the role in the binding. *
+	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
+	// (plus unique identifier) representing a service account that has been
+	// recently deleted. For example,
 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
-	//
-	//    If the service account is undeleted, this value reverts to
-	//    `serviceAccount:{emailid}` and the undeleted service account
-	// retains the
-	//    role in the binding.
-	//
-	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a Google group that has been recently
-	//    deleted. For example,
-	// `admins@example.com?uid=123456789012345678901`. If
-	//    the group is recovered, this value reverts to `group:{emailid}`
-	// and the
-	//    recovered group retains the role in the binding.
-	//
-	//
-	// * `domain:{domain}`: The G Suite domain (primary) that represents all
-	// the
-	//    users of that domain. For example, `google.com` or
-	// `example.com`.
-	//
-	//
+	// If the service account is undeleted, this value reverts to
+	// `serviceAccount:{emailid}` and the undeleted service account retains
+	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
+	// An email address (plus unique identifier) representing a Google group
+	// that has been recently deleted. For example,
+	// `admins@example.com?uid=123456789012345678901`. If the group is
+	// recovered, this value reverts to `group:{emailid}` and the recovered
+	// group retains the role in the binding. * `domain:{domain}`: The G
+	// Suite domain (primary) that represents all the users of that domain.
+	// For example, `google.com` or `example.com`.
 	Members []string `json:"members,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`.
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -4586,154 +3847,77 @@
 }
 
 // GoogleIamV1__Policy: An Identity and Access Management (IAM) policy,
-// which specifies access
-// controls for Google Cloud resources.
-//
-//
-// A `Policy` is a collection of `bindings`. A `binding` binds one or
-// more
+// which specifies access controls for Google Cloud resources. A
+// `Policy` is a collection of `bindings`. A `binding` binds one or more
 // `members` to a single `role`. Members can be user accounts, service
-// accounts,
-// Google groups, and domains (such as G Suite). A `role` is a named
-// list of
-// permissions; each `role` can be an IAM predefined role or a
-// user-created
-// custom role.
-//
-// For some types of Google Cloud resources, a `binding` can also
-// specify a
-// `condition`, which is a logical expression that allows access to a
-// resource
-// only if the expression evaluates to `true`. A condition can add
-// constraints
-// based on attributes of the request, the resource, or both. To learn
-// which
-// resources support conditions in their IAM policies, see the
-// [IAM
+// accounts, Google groups, and domains (such as G Suite). A `role` is a
+// named list of permissions; each `role` can be an IAM predefined role
+// or a user-created custom role. For some types of Google Cloud
+// resources, a `binding` can also specify a `condition`, which is a
+// logical expression that allows access to a resource only if the
+// expression evaluates to `true`. A condition can add constraints based
+// on attributes of the request, the resource, or both. To learn which
+// resources support conditions in their IAM policies, see the [IAM
 // documentation](https://cloud.google.com/iam/help/conditions/resource-p
-// olicies).
-//
-// **JSON example:**
-//
-//     {
-//       "bindings": [
-//         {
-//           "role": "roles/resourcemanager.organizationAdmin",
-//           "members": [
-//             "user:mike@example.com",
-//             "group:admins@example.com",
-//             "domain:google.com",
-//
-// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
-//           ]
-//         },
-//         {
-//           "role": "roles/resourcemanager.organizationViewer",
-//           "members": [
-//             "user:eve@example.com"
-//           ],
-//           "condition": {
-//             "title": "expirable access",
-//             "description": "Does not grant access after Sep 2020",
-//             "expression": "request.time <
-// timestamp('2020-10-01T00:00:00.000Z')",
-//           }
-//         }
-//       ],
-//       "etag": "BwWWja0YfJA=",
-//       "version": 3
-//     }
-//
-// **YAML example:**
-//
-//     bindings:
-//     - members:
-//       - user:mike@example.com
-//       - group:admins@example.com
-//       - domain:google.com
-//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
-//       role: roles/resourcemanager.organizationAdmin
-//     - members:
-//       - user:eve@example.com
-//       role: roles/resourcemanager.organizationViewer
-//       condition:
-//         title: expirable access
-//         description: Does not grant access after Sep 2020
-//         expression: request.time <
-// timestamp('2020-10-01T00:00:00.000Z')
-//     - etag: BwWWja0YfJA=
-//     - version: 3
-//
-// For a description of IAM and its features, see the
-// [IAM documentation](https://cloud.google.com/iam/docs/).
+// olicies). **JSON example:** { "bindings": [ { "role":
+// "roles/resourcemanager.organizationAdmin", "members": [
+// "user:mike@example.com", "group:admins@example.com",
+// "domain:google.com",
+// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
+// "role": "roles/resourcemanager.organizationViewer", "members": [
+// "user:eve@example.com" ], "condition": { "title": "expirable access",
+// "description": "Does not grant access after Sep 2020", "expression":
+// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
+// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
+// members: - user:mike@example.com - group:admins@example.com -
+// domain:google.com -
+// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
+// roles/resourcemanager.organizationAdmin - members: -
+// user:eve@example.com role: roles/resourcemanager.organizationViewer
+// condition: title: expirable access description: Does not grant access
+// after Sep 2020 expression: request.time <
+// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
+// 3 For a description of IAM and its features, see the [IAM
+// documentation](https://cloud.google.com/iam/docs/).
 type GoogleIamV1__Policy struct {
 	// AuditConfigs: Specifies cloud audit logging configuration for this
 	// policy.
 	AuditConfigs []*GoogleIamV1__AuditConfig `json:"auditConfigs,omitempty"`
 
 	// Bindings: Associates a list of `members` to a `role`. Optionally, may
-	// specify a
-	// `condition` that determines how and when the `bindings` are applied.
-	// Each
-	// of the `bindings` must contain at least one member.
+	// specify a `condition` that determines how and when the `bindings` are
+	// applied. Each of the `bindings` must contain at least one member.
 	Bindings []*GoogleIamV1__Binding `json:"bindings,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a policy from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform policy updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `getIamPolicy`,
-	// and
-	// systems are expected to put that etag in the request to
-	// `setIamPolicy` to
-	// ensure that their change will be applied to the same version of the
-	// policy.
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
+	// help prevent simultaneous updates of a policy from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform policy updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `getIamPolicy`, and systems are expected to put that etag in the
+	// request to `setIamPolicy` to ensure that their change will be applied
+	// to the same version of the policy. **Important:** If you use IAM
+	// Conditions, you must include the `etag` field whenever you call
+	// `setIamPolicy`. If you omit this field, then IAM allows you to
+	// overwrite a version `3` policy with a version `1` policy, and all of
 	// the conditions in the version `3` policy are lost.
 	Etag string `json:"etag,omitempty"`
 
-	// Version: Specifies the format of the policy.
-	//
-	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
-	// value
-	// are rejected.
-	//
+	// Version: Specifies the format of the policy. Valid values are `0`,
+	// `1`, and `3`. Requests that specify an invalid value are rejected.
 	// Any operation that affects conditional role bindings must specify
-	// version
-	// `3`. This requirement applies to the following operations:
-	//
-	// * Getting a policy that includes a conditional role binding
-	// * Adding a conditional role binding to a policy
-	// * Changing a conditional role binding in a policy
-	// * Removing any role binding, with or without a condition, from a
-	// policy
-	//   that includes conditions
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
-	// the conditions in the version `3` policy are lost.
-	//
-	// If a policy does not include any conditions, operations on that
-	// policy may
-	// specify any valid version or leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see the
-	// [IAM
+	// version `3`. This requirement applies to the following operations: *
+	// Getting a policy that includes a conditional role binding * Adding a
+	// conditional role binding to a policy * Changing a conditional role
+	// binding in a policy * Removing any role binding, with or without a
+	// condition, from a policy that includes conditions **Important:** If
+	// you use IAM Conditions, you must include the `etag` field whenever
+	// you call `setIamPolicy`. If you omit this field, then IAM allows you
+	// to overwrite a version `3` policy with a version `1` policy, and all
+	// of the conditions in the version `3` policy are lost. If a policy
+	// does not include any conditions, operations on that policy may
+	// specify any valid version or leave the field unset. To learn which
+	// resources support conditions in their IAM policies, see the [IAM
 	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
 	// olicies).
 	Version int64 `json:"version,omitempty"`
@@ -4769,20 +3953,15 @@
 // method.
 type GoogleIamV1__SetIamPolicyRequest struct {
 	// Policy: REQUIRED: The complete policy to be applied to the
-	// `resource`. The size of
-	// the policy is limited to a few 10s of KB. An empty policy is a
-	// valid policy but certain Cloud Platform services (such as
-	// Projects)
-	// might reject them.
+	// `resource`. The size of the policy is limited to a few 10s of KB. An
+	// empty policy is a valid policy but certain Cloud Platform services
+	// (such as Projects) might reject them.
 	Policy *GoogleIamV1__Policy `json:"policy,omitempty"`
 
 	// UpdateMask: OPTIONAL: A FieldMask specifying which fields of the
-	// policy to modify. Only
-	// the fields in the mask will be modified. If no mask is provided,
-	// the
-	// following default mask is used:
-	//
-	// `paths: "bindings, etag"
+	// policy to modify. Only the fields in the mask will be modified. If no
+	// mask is provided, the following default mask is used: `paths:
+	// "bindings, etag"
 	UpdateMask string `json:"updateMask,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Policy") to
@@ -4812,11 +3991,8 @@
 // `TestIamPermissions` method.
 type GoogleIamV1__TestIamPermissionsRequest struct {
 	// Permissions: The set of permissions to check for the `resource`.
-	// Permissions with
-	// wildcards (such as '*' or 'storage.*') are not allowed. For
-	// more
-	// information see
-	// [IAM
+	// Permissions with wildcards (such as '*' or 'storage.*') are not
+	// allowed. For more information see [IAM
 	// Overview](https://cloud.google.com/iam/docs/overview#permissions).
 	Permissions []string `json:"permissions,omitempty"`
 
@@ -4847,8 +4023,7 @@
 // `TestIamPermissions` method.
 type GoogleIamV1__TestIamPermissionsResponse struct {
 	// Permissions: A subset of `TestPermissionsRequest.permissions` that
-	// the caller is
-	// allowed.
+	// the caller is allowed.
 	Permissions []string `json:"permissions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -4916,52 +4091,38 @@
 }
 
 // GoogleLongrunning__Operation: This resource represents a long-running
-// operation that is the result of a
-// network API call.
+// operation that is the result of a network API call.
 type GoogleLongrunning__Operation struct {
 	// Done: 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.
+	// progress. If `true`, the operation is completed, and either `error`
+	// or `response` is available.
 	Done bool `json:"done,omitempty"`
 
 	// Error: The error result of the operation in case of failure or
 	// cancellation.
 	Error *GoogleRpc__Status `json:"error,omitempty"`
 
-	// Metadata: 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.
+	// Metadata: 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.
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Name: The server-assigned name, which is only unique within the same
-	// service that
-	// originally returns it. If you use the default HTTP mapping,
-	// the
-	// `name` should be a resource name ending with
+	// service that originally returns it. If you use the default HTTP
+	// mapping, the `name` should be a resource name ending with
 	// `operations/{unique_id}`.
 	Name string `json:"name,omitempty"`
 
-	// Response: 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`.
+	// Response: 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`.
 	Response googleapi.RawMessage `json:"response,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -4992,17 +4153,11 @@
 }
 
 // GoogleProtobuf__Empty: 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 `{}`.
+// 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 `{}`.
 type GoogleProtobuf__Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -5010,32 +4165,24 @@
 }
 
 // GoogleRpc__Status: The `Status` type defines a logical error model
-// that is suitable for
-// different programming environments, including REST APIs and RPC APIs.
-// It is
-// used by [gRPC](https://github.com/grpc). Each `Status` message
-// contains
-// three pieces of data: error code, error message, and error
-// details.
-//
-// You can find out more about this error model and how to work with it
-// in the
+// that is suitable for different programming environments, including
+// REST APIs and RPC APIs. It is used by
+// [gRPC](https://github.com/grpc). Each `Status` message contains three
+// pieces of data: error code, error message, and error details. You can
+// find out more about this error model and how to work with it in the
 // [API Design Guide](https://cloud.google.com/apis/design/errors).
 type GoogleRpc__Status struct {
 	// Code: The status code, which should be an enum value of
 	// google.rpc.Code.
 	Code int64 `json:"code,omitempty"`
 
-	// Details: A list of messages that carry the error details.  There is a
-	// common set of
-	// message types for APIs to use.
+	// Details: A list of messages that carry the error details. There is a
+	// common set of message types for APIs to use.
 	Details []googleapi.RawMessage `json:"details,omitempty"`
 
 	// Message: 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.
+	// English. Any user-facing error message should be localized and sent
+	// in the google.rpc.Status.details field, or localized by the client.
 	Message string `json:"message,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Code") to
@@ -5062,65 +4209,40 @@
 }
 
 // GoogleType__Expr: Represents a textual expression in the Common
-// Expression Language (CEL)
-// syntax. CEL is a C-like expression language. The syntax and semantics
-// of CEL
-// are documented at https://github.com/google/cel-spec.
-//
-// Example (Comparison):
-//
-//     title: "Summary size limit"
-//     description: "Determines if a summary is less than 100 chars"
-//     expression: "document.summary.size() < 100"
-//
-// Example (Equality):
-//
-//     title: "Requestor is owner"
-//     description: "Determines if requestor is the document owner"
-//     expression: "document.owner ==
-// request.auth.claims.email"
-//
-// Example (Logic):
-//
-//     title: "Public documents"
-//     description: "Determine whether the document should be publicly
-// visible"
-//     expression: "document.type != 'private' && document.type !=
-// 'internal'"
-//
-// Example (Data Manipulation):
-//
-//     title: "Notification string"
-//     description: "Create a notification string with a timestamp."
-//     expression: "'New message received at ' +
-// string(document.create_time)"
-//
-// The exact variables and functions that may be referenced within an
-// expression
-// are determined by the service that evaluates it. See the
-// service
-// documentation for additional information.
+// Expression Language (CEL) syntax. CEL is a C-like expression
+// language. The syntax and semantics of CEL are documented at
+// https://github.com/google/cel-spec. Example (Comparison): title:
+// "Summary size limit" description: "Determines if a summary is less
+// than 100 chars" expression: "document.summary.size() < 100" Example
+// (Equality): title: "Requestor is owner" description: "Determines if
+// requestor is the document owner" expression: "document.owner ==
+// request.auth.claims.email" Example (Logic): title: "Public documents"
+// description: "Determine whether the document should be publicly
+// visible" expression: "document.type != 'private' && document.type !=
+// 'internal'" Example (Data Manipulation): title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' +
+// string(document.create_time)" The exact variables and functions that
+// may be referenced within an expression are determined by the service
+// that evaluates it. See the service documentation for additional
+// information.
 type GoogleType__Expr struct {
 	// Description: Optional. Description of the expression. This is a
-	// longer text which
-	// describes the expression, e.g. when hovered over it in a UI.
+	// longer text which describes the expression, e.g. when hovered over it
+	// in a UI.
 	Description string `json:"description,omitempty"`
 
 	// Expression: Textual representation of an expression in Common
-	// Expression Language
-	// syntax.
+	// Expression Language syntax.
 	Expression string `json:"expression,omitempty"`
 
 	// Location: Optional. String indicating the location of the expression
-	// for error
-	// reporting, e.g. a file name and a position in the file.
+	// for error reporting, e.g. a file name and a position in the file.
 	Location string `json:"location,omitempty"`
 
 	// Title: Optional. Title for the expression, i.e. a short string
-	// describing
-	// its purpose. This can be used e.g. in UIs which allow to enter
-	// the
-	// expression.
+	// describing its purpose. This can be used e.g. in UIs which allow to
+	// enter the expression.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -5157,10 +4279,8 @@
 	header_                         http.Header
 }
 
-// Explain: Performs explanation on the data in the request.
-//
-// <div>{% dynamic include "/ai-platform/includes/___explain-request"
-// %}</div>
+// Explain: Performs explanation on the data in the request. {% dynamic
+// include "/ai-platform/includes/___explain-request" %}
 func (r *ProjectsService) Explain(name string, googlecloudmlv1__explainrequest *GoogleCloudMlV1__ExplainRequest) *ProjectsExplainCall {
 	c := &ProjectsExplainCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -5195,7 +4315,7 @@
 
 func (c *ProjectsExplainCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5259,7 +4379,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Performs explanation on the data in the request.\n\n\u003cdiv\u003e{% dynamic include \"/ai-platform/includes/___explain-request\" %}\u003c/div\u003e",
+	//   "description": "Performs explanation on the data in the request. {% dynamic include \"/ai-platform/includes/___explain-request\" %} ",
 	//   "flatPath": "v1/projects/{projectsId}:explain",
 	//   "httpMethod": "POST",
 	//   "id": "ml.projects.explain",
@@ -5268,7 +4388,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of a model or a version.\n\nAuthorization: requires the `predict` permission on the specified resource.",
+	//       "description": "Required. The resource name of a model or a version. Authorization: requires the `predict` permission on the specified resource.",
 	//       "location": "path",
 	//       "pattern": "^projects/.*$",
 	//       "required": true,
@@ -5301,12 +4421,10 @@
 }
 
 // GetConfig: Get the service account information associated with your
-// project. You need
-// this information in order to grant the service account permissions
-// for
-// the Google Cloud Storage location where you put your model training
-// code
-// for training the model with Google Cloud Machine Learning.
+// project. You need this information in order to grant the service
+// account permissions for the Google Cloud Storage location where you
+// put your model training code for training the model with Google Cloud
+// Machine Learning.
 func (r *ProjectsService) GetConfig(name string) *ProjectsGetConfigCall {
 	c := &ProjectsGetConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -5350,7 +4468,7 @@
 
 func (c *ProjectsGetConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5413,7 +4531,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Get the service account information associated with your project. You need\nthis information in order to grant the service account permissions for\nthe Google Cloud Storage location where you put your model training code\nfor training the model with Google Cloud Machine Learning.",
+	//   "description": "Get the service account information associated with your project. You need this information in order to grant the service account permissions for the Google Cloud Storage location where you put your model training code for training the model with Google Cloud Machine Learning.",
 	//   "flatPath": "v1/projects/{projectsId}:getConfig",
 	//   "httpMethod": "GET",
 	//   "id": "ml.projects.getConfig",
@@ -5451,11 +4569,8 @@
 	header_                         http.Header
 }
 
-// Predict: Performs online prediction on the data in the
-// request.
-//
-// <div>{% dynamic include "/ai-platform/includes/___predict-request"
-// %}</div>
+// Predict: Performs online prediction on the data in the request. {%
+// dynamic include "/ai-platform/includes/___predict-request" %}
 func (r *ProjectsService) Predict(name string, googlecloudmlv1__predictrequest *GoogleCloudMlV1__PredictRequest) *ProjectsPredictCall {
 	c := &ProjectsPredictCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -5490,7 +4605,7 @@
 
 func (c *ProjectsPredictCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5559,7 +4674,7 @@
 	ret.Data = b.String()
 	return ret, nil
 	// {
-	//   "description": "Performs online prediction on the data in the request.\n\n\u003cdiv\u003e{% dynamic include \"/ai-platform/includes/___predict-request\" %}\u003c/div\u003e",
+	//   "description": "Performs online prediction on the data in the request. {% dynamic include \"/ai-platform/includes/___predict-request\" %} ",
 	//   "flatPath": "v1/projects/{projectsId}:predict",
 	//   "httpMethod": "POST",
 	//   "id": "ml.projects.predict",
@@ -5568,7 +4683,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of a model or a version.\n\nAuthorization: requires the `predict` permission on the specified resource.",
+	//       "description": "Required. The resource name of a model or a version. Authorization: requires the `predict` permission on the specified resource.",
 	//       "location": "path",
 	//       "pattern": "^projects/.*$",
 	//       "required": true,
@@ -5635,7 +4750,7 @@
 
 func (c *ProjectsJobsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5775,7 +4890,7 @@
 
 func (c *ProjectsJobsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5924,7 +5039,7 @@
 
 func (c *ProjectsJobsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6025,9 +5140,8 @@
 	header_      http.Header
 }
 
-// GetIamPolicy: Gets the access control policy for a resource.
-// Returns an empty policy if the resource exists and does not have a
-// policy
+// GetIamPolicy: Gets the access control policy for a resource. Returns
+// an empty policy if the resource exists and does not have a policy
 // set.
 func (r *ProjectsJobsService) GetIamPolicy(resource string) *ProjectsJobsGetIamPolicyCall {
 	c := &ProjectsJobsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -6037,24 +5151,14 @@
 
 // OptionsRequestedPolicyVersion sets the optional parameter
 // "options.requestedPolicyVersion": The policy format version to be
-// returned.
-//
-// Valid values are 0, 1, and 3. Requests specifying an invalid value
-// will be
-// rejected.
-//
-// Requests for policies with any conditional bindings must specify
-// version 3.
-// Policies without any conditional bindings may specify any valid value
-// or
-// leave the field unset.
-//
-// To learn which resources support conditions in their IAM policies,
-// see
-// the
-// [IAM
-// documentation](https://cloud.google.com/iam/help/conditions/r
-// esource-policies).
+// returned. Valid values are 0, 1, and 3. Requests specifying an
+// invalid value will be rejected. Requests for policies with any
+// conditional bindings must specify version 3. Policies without any
+// conditional bindings may specify any valid value or leave the field
+// unset. To learn which resources support conditions in their IAM
+// policies, see the [IAM
+// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+// olicies).
 func (c *ProjectsJobsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsJobsGetIamPolicyCall {
 	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
 	return c
@@ -6097,7 +5201,7 @@
 
 func (c *ProjectsJobsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6159,7 +5263,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
+	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
 	//   "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}:getIamPolicy",
 	//   "httpMethod": "GET",
 	//   "id": "ml.projects.jobs.getIamPolicy",
@@ -6168,13 +5272,13 @@
 	//   ],
 	//   "parameters": {
 	//     "options.requestedPolicyVersion": {
-	//       "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+	//       "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/jobs/[^/]+$",
 	//       "required": true,
@@ -6203,11 +5307,9 @@
 	header_      http.Header
 }
 
-// List: Lists the jobs in the project.
-//
-// If there are no jobs that match the request parameters, the
-// list
-// request returns an empty response body: {}.
+// List: Lists the jobs in the project. If there are no jobs that match
+// the request parameters, the list request returns an empty response
+// body: {}.
 func (r *ProjectsJobsService) List(parent string) *ProjectsJobsListCall {
 	c := &ProjectsJobsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -6215,43 +5317,30 @@
 }
 
 // Filter sets the optional parameter "filter": Specifies the subset of
-// jobs to retrieve.
-// You can filter on the value of one or more attributes of the job
-// object.
-// For example, retrieve jobs with a job identifier that starts with
-// 'census':
-// <p><code>gcloud ai-platform jobs list
-// --filter='jobId:census*'</code>
-// <p>List all failed jobs with names that start with
-// 'rnn':
-// <p><code>gcloud ai-platform jobs list --filter='jobId:rnn*
-// AND state:FAILED'</code>
-// <p>For more examples, see the guide to
-// <a href="/ml-engine/docs/tensorflow/monitor-training">monitoring
-// jobs</a>.
+// jobs to retrieve. You can filter on the value of one or more
+// attributes of the job object. For example, retrieve jobs with a job
+// identifier that starts with 'census': gcloud ai-platform jobs list
+// --filter='jobId:census*' List all failed jobs with names that start
+// with 'rnn': gcloud ai-platform jobs list --filter='jobId:rnn* AND
+// state:FAILED' For more examples, see the guide to monitoring jobs.
 func (c *ProjectsJobsListCall) Filter(filter string) *ProjectsJobsListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": The number of jobs
-// to retrieve per "page" of results. If there
-// are more remaining results than this number, the response message
-// will
-// contain a valid value in the `next_page_token` field.
-//
-// The default value is 20, and the maximum page size is 100.
+// to retrieve per "page" of results. If there are more remaining
+// results than this number, the response message will contain a valid
+// value in the `next_page_token` field. The default value is 20, and
+// the maximum page size is 100.
 func (c *ProjectsJobsListCall) PageSize(pageSize int64) *ProjectsJobsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": A page token to
-// request the next page of results.
-//
-// You get the token from the `next_page_token` field of the response
-// from
-// the previous call.
+// request the next page of results. You get the token from the
+// `next_page_token` field of the response from the previous call.
 func (c *ProjectsJobsListCall) PageToken(pageToken string) *ProjectsJobsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -6294,7 +5383,7 @@
 
 func (c *ProjectsJobsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6357,7 +5446,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists the jobs in the project.\n\nIf there are no jobs that match the request parameters, the list\nrequest returns an empty response body: {}.",
+	//   "description": "Lists the jobs in the project. If there are no jobs that match the request parameters, the list request returns an empty response body: {}.",
 	//   "flatPath": "v1/projects/{projectsId}/jobs",
 	//   "httpMethod": "GET",
 	//   "id": "ml.projects.jobs.list",
@@ -6366,18 +5455,18 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "Optional. Specifies the subset of jobs to retrieve.\nYou can filter on the value of one or more attributes of the job object.\nFor example, retrieve jobs with a job identifier that starts with 'census':\n\u003cp\u003e\u003ccode\u003egcloud ai-platform jobs list --filter='jobId:census*'\u003c/code\u003e\n\u003cp\u003eList all failed jobs with names that start with 'rnn':\n\u003cp\u003e\u003ccode\u003egcloud ai-platform jobs list --filter='jobId:rnn*\nAND state:FAILED'\u003c/code\u003e\n\u003cp\u003eFor more examples, see the guide to\n\u003ca href=\"/ml-engine/docs/tensorflow/monitor-training\"\u003emonitoring jobs\u003c/a\u003e.",
+	//       "description": "Optional. Specifies the subset of jobs to retrieve. You can filter on the value of one or more attributes of the job object. For example, retrieve jobs with a job identifier that starts with 'census': gcloud ai-platform jobs list --filter='jobId:census*' List all failed jobs with names that start with 'rnn': gcloud ai-platform jobs list --filter='jobId:rnn* AND state:FAILED' For more examples, see the guide to monitoring jobs.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "Optional. The number of jobs to retrieve per \"page\" of results. If there\nare more remaining results than this number, the response message will\ncontain a valid value in the `next_page_token` field.\n\nThe default value is 20, and the maximum page size is 100.",
+	//       "description": "Optional. The number of jobs to retrieve per \"page\" of results. If there are more remaining results than this number, the response message will contain a valid value in the `next_page_token` field. The default value is 20, and the maximum page size is 100.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Optional. A page token to request the next page of results.\n\nYou get the token from the `next_page_token` field of the response from\nthe previous call.",
+	//       "description": "Optional. A page token to request the next page of results. You get the token from the `next_page_token` field of the response from the previous call.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -6433,9 +5522,8 @@
 	header_              http.Header
 }
 
-// Patch: Updates a specific job resource.
-//
-// Currently the only supported fields to update are `labels`.
+// Patch: Updates a specific job resource. Currently the only supported
+// fields to update are `labels`.
 func (r *ProjectsJobsService) Patch(name string, googlecloudmlv1__job *GoogleCloudMlV1__Job) *ProjectsJobsPatchCall {
 	c := &ProjectsJobsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -6444,28 +5532,15 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": Required.
-// Specifies the path, relative to `Job`, of the field to update.
-// To adopt etag mechanism, include `etag` field in the mask, and
-// include the
-// `etag` value in your job resource.
-//
-// For example, to change the labels of a job, the `update_mask`
-// parameter
-// would be specified as `labels`, `etag`, and the
-// `PATCH` request body would specify the new value, as follows:
-//     {
-//       "labels": {
-//          "owner": "Google",
-//          "color": "Blue"
-//       }
-//       "etag": "33a64df551425fcc55e4d42a148795d9f25f89d4"
-//     }
-// If `etag` matches the one on the server, the labels of the job will
-// be
-// replaced with the given ones, and the server end `etag` will
-// be
-// recalculated.
-//
+// Specifies the path, relative to `Job`, of the field to update. To
+// adopt etag mechanism, include `etag` field in the mask, and include
+// the `etag` value in your job resource. For example, to change the
+// labels of a job, the `update_mask` parameter would be specified as
+// `labels`, `etag`, and the `PATCH` request body would specify the new
+// value, as follows: { "labels": { "owner": "Google", "color": "Blue" }
+// "etag": "33a64df551425fcc55e4d42a148795d9f25f89d4" } If `etag`
+// matches the one on the server, the labels of the job will be replaced
+// with the given ones, and the server end `etag` will be recalculated.
 // Currently the only supported update masks are `labels` and `etag`.
 func (c *ProjectsJobsPatchCall) UpdateMask(updateMask string) *ProjectsJobsPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
@@ -6499,7 +5574,7 @@
 
 func (c *ProjectsJobsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6563,7 +5638,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates a specific job resource.\n\nCurrently the only supported fields to update are `labels`.",
+	//   "description": "Updates a specific job resource. Currently the only supported fields to update are `labels`.",
 	//   "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}",
 	//   "httpMethod": "PATCH",
 	//   "id": "ml.projects.jobs.patch",
@@ -6579,7 +5654,7 @@
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "Required. Specifies the path, relative to `Job`, of the field to update.\nTo adopt etag mechanism, include `etag` field in the mask, and include the\n`etag` value in your job resource.\n\nFor example, to change the labels of a job, the `update_mask` parameter\nwould be specified as `labels`, `etag`, and the\n`PATCH` request body would specify the new value, as follows:\n    {\n      \"labels\": {\n         \"owner\": \"Google\",\n         \"color\": \"Blue\"\n      }\n      \"etag\": \"33a64df551425fcc55e4d42a148795d9f25f89d4\"\n    }\nIf `etag` matches the one on the server, the labels of the job will be\nreplaced with the given ones, and the server end `etag` will be\nrecalculated.\n\nCurrently the only supported update masks are `labels` and `etag`.",
+	//       "description": "Required. Specifies the path, relative to `Job`, of the field to update. To adopt etag mechanism, include `etag` field in the mask, and include the `etag` value in your job resource. For example, to change the labels of a job, the `update_mask` parameter would be specified as `labels`, `etag`, and the `PATCH` request body would specify the new value, as follows: { \"labels\": { \"owner\": \"Google\", \"color\": \"Blue\" } \"etag\": \"33a64df551425fcc55e4d42a148795d9f25f89d4\" } If `etag` matches the one on the server, the labels of the job will be replaced with the given ones, and the server end `etag` will be recalculated. Currently the only supported update masks are `labels` and `etag`.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -6611,11 +5686,8 @@
 }
 
 // SetIamPolicy: Sets the access control policy on the specified
-// resource. Replaces any
-// existing policy.
-//
-// Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`
-// errors.
+// resource. Replaces any existing policy. Can return `NOT_FOUND`,
+// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
 func (r *ProjectsJobsService) SetIamPolicy(resource string, googleiamv1__setiampolicyrequest *GoogleIamV1__SetIamPolicyRequest) *ProjectsJobsSetIamPolicyCall {
 	c := &ProjectsJobsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -6650,7 +5722,7 @@
 
 func (c *ProjectsJobsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6714,7 +5786,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
+	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
 	//   "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "ml.projects.jobs.setIamPolicy",
@@ -6723,7 +5795,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/jobs/[^/]+$",
 	//       "required": true,
@@ -6756,16 +5828,11 @@
 }
 
 // TestIamPermissions: 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.
+// 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.
 func (r *ProjectsJobsService) TestIamPermissions(resource string, googleiamv1__testiampermissionsrequest *GoogleIamV1__TestIamPermissionsRequest) *ProjectsJobsTestIamPermissionsCall {
 	c := &ProjectsJobsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -6800,7 +5867,7 @@
 
 func (c *ProjectsJobsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6865,7 +5932,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+	//   "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
 	//   "flatPath": "v1/projects/{projectsId}/jobs/{jobsId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "ml.projects.jobs.testIamPermissions",
@@ -6874,7 +5941,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/jobs/[^/]+$",
 	//       "required": true,
@@ -6907,8 +5974,7 @@
 }
 
 // Get: Get the complete list of CMLE capabilities in a location, along
-// with their
-// location-specific properties.
+// with their location-specific properties.
 func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall {
 	c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -6952,7 +6018,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7014,7 +6080,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Get the complete list of CMLE capabilities in a location, along with their\nlocation-specific properties.",
+	//   "description": "Get the complete list of CMLE capabilities in a location, along with their location-specific properties.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}",
 	//   "httpMethod": "GET",
 	//   "id": "ml.projects.locations.get",
@@ -7062,23 +6128,18 @@
 }
 
 // PageSize sets the optional parameter "pageSize": The number of
-// locations to retrieve per "page" of results. If
-// there are more remaining results than this number, the response
-// message
-// will contain a valid value in the `next_page_token` field.
-//
-// The default value is 20, and the maximum page size is 100.
+// locations to retrieve per "page" of results. If there are more
+// remaining results than this number, the response message will contain
+// a valid value in the `next_page_token` field. The default value is
+// 20, and the maximum page size is 100.
 func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": A page token to
-// request the next page of results.
-//
-// You get the token from the `next_page_token` field of the response
-// from
-// the previous call.
+// request the next page of results. You get the token from the
+// `next_page_token` field of the response from the previous call.
 func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -7121,7 +6182,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7193,18 +6254,18 @@
 	//   ],
 	//   "parameters": {
 	//     "pageSize": {
-	//       "description": "Optional. The number of locations to retrieve per \"page\" of results. If\nthere are more remaining results than this number, the response message\nwill contain a valid value in the `next_page_token` field.\n\nThe default value is 20, and the maximum page size is 100.",
+	//       "description": "Optional. The number of locations to retrieve per \"page\" of results. If there are more remaining results than this number, the response message will contain a valid value in the `next_page_token` field. The default value is 20, and the maximum page size is 100.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Optional. A page token to request the next page of results.\n\nYou get the token from the `next_page_token` field of the response from\nthe previous call.",
+	//       "description": "Optional. A page token to request the next page of results. You get the token from the `next_page_token` field of the response from the previous call.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The name of the project for which available locations are to be\nlisted (since some locations might be whitelisted for specific projects).",
+	//       "description": "Required. The name of the project for which available locations are to be listed (since some locations might be whitelisted for specific projects).",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -7255,23 +6316,15 @@
 }
 
 // Cancel: 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`.
+// 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`.
 func (r *ProjectsLocationsOperationsService) Cancel(name string) *ProjectsLocationsOperationsCancelCall {
 	c := &ProjectsLocationsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -7305,7 +6358,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7364,7 +6417,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Starts asynchronous cancellation on a long-running operation.  The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed.  If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.  Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
+	//   "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
 	//   "httpMethod": "POST",
 	//   "id": "ml.projects.locations.operations.cancel",
@@ -7402,11 +6455,9 @@
 	header_      http.Header
 }
 
-// Get: 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.
+// Get: 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.
 func (r *ProjectsLocationsOperationsService) Get(name string) *ProjectsLocationsOperationsGetCall {
 	c := &ProjectsLocationsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -7450,7 +6501,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7512,7 +6563,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+	//   "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
 	//   "httpMethod": "GET",
 	//   "id": "ml.projects.locations.operations.get",
@@ -7559,8 +6610,8 @@
 }
 
 // StudyId sets the optional parameter "studyId": Required. The ID to
-// use for the study, which will become the final component of
-// the study's resource name.
+// use for the study, which will become the final component of the
+// study's resource name.
 func (c *ProjectsLocationsStudiesCreateCall) StudyId(studyId string) *ProjectsLocationsStudiesCreateCall {
 	c.urlParams_.Set("studyId", studyId)
 	return c
@@ -7593,7 +6644,7 @@
 
 func (c *ProjectsLocationsStudiesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7666,14 +6717,14 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The project and location that the study belongs to.\nFormat: projects/{project}/locations/{location}",
+	//       "description": "Required. The project and location that the study belongs to. Format: projects/{project}/locations/{location}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "studyId": {
-	//       "description": "Required. The ID to use for the study, which will become the final component of\nthe study's resource name.",
+	//       "description": "Required. The ID to use for the study, which will become the final component of the study's resource name.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -7736,7 +6787,7 @@
 
 func (c *ProjectsLocationsStudiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7877,7 +6928,7 @@
 
 func (c *ProjectsLocationsStudiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8021,7 +7072,7 @@
 
 func (c *ProjectsLocationsStudiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8093,7 +7144,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The project and location that the study belongs to.\nFormat: projects/{project}/locations/{location}",
+	//       "description": "Required. The project and location that the study belongs to. Format: projects/{project}/locations/{location}",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/locations/[^/]+$",
 	//       "required": true,
@@ -8123,8 +7174,8 @@
 }
 
 // AddMeasurement: Adds a measurement of the objective metrics to a
-// trial. This measurement
-// is assumed to have been taken before the trial is complete.
+// trial. This measurement is assumed to have been taken before the
+// trial is complete.
 func (r *ProjectsLocationsStudiesTrialsService) AddMeasurement(name string, googlecloudmlv1__addtrialmeasurementrequest *GoogleCloudMlV1__AddTrialMeasurementRequest) *ProjectsLocationsStudiesTrialsAddMeasurementCall {
 	c := &ProjectsLocationsStudiesTrialsAddMeasurementCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -8159,7 +7210,7 @@
 
 func (c *ProjectsLocationsStudiesTrialsAddMeasurementCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8223,7 +7274,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Adds a measurement of the objective metrics to a trial. This measurement\nis assumed to have been taken before the trial is complete.",
+	//   "description": "Adds a measurement of the objective metrics to a trial. This measurement is assumed to have been taken before the trial is complete.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:addMeasurement",
 	//   "httpMethod": "POST",
 	//   "id": "ml.projects.locations.studies.trials.addMeasurement",
@@ -8264,11 +7315,9 @@
 	header_                                              http.Header
 }
 
-// CheckEarlyStoppingState: Checks  whether a trial should stop or not.
-// Returns a
-// long-running operation. When the operation is successful,
-// it will contain a
-// CheckTrialEarlyStoppingStateResponse.
+// CheckEarlyStoppingState: Checks whether a trial should stop or not.
+// Returns a long-running operation. When the operation is successful,
+// it will contain a CheckTrialEarlyStoppingStateResponse.
 func (r *ProjectsLocationsStudiesTrialsService) CheckEarlyStoppingState(name string, googlecloudmlv1__checktrialearlystoppingstaterequest *GoogleCloudMlV1__CheckTrialEarlyStoppingStateRequest) *ProjectsLocationsStudiesTrialsCheckEarlyStoppingStateCall {
 	c := &ProjectsLocationsStudiesTrialsCheckEarlyStoppingStateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -8303,7 +7352,7 @@
 
 func (c *ProjectsLocationsStudiesTrialsCheckEarlyStoppingStateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8367,7 +7416,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Checks  whether a trial should stop or not. Returns a\nlong-running operation. When the operation is successful,\nit will contain a\nCheckTrialEarlyStoppingStateResponse.",
+	//   "description": "Checks whether a trial should stop or not. Returns a long-running operation. When the operation is successful, it will contain a CheckTrialEarlyStoppingStateResponse.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}:checkEarlyStoppingState",
 	//   "httpMethod": "POST",
 	//   "id": "ml.projects.locations.studies.trials.checkEarlyStoppingState",
@@ -8443,7 +7492,7 @@
 
 func (c *ProjectsLocationsStudiesTrialsCompleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8583,7 +7632,7 @@
 
 func (c *ProjectsLocationsStudiesTrialsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8721,7 +7770,7 @@
 
 func (c *ProjectsLocationsStudiesTrialsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8862,7 +7911,7 @@
 
 func (c *ProjectsLocationsStudiesTrialsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9006,7 +8055,7 @@
 
 func (c *ProjectsLocationsStudiesTrialsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9142,7 +8191,7 @@
 
 func (c *ProjectsLocationsStudiesTrialsStopCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9247,12 +8296,11 @@
 	header_                               http.Header
 }
 
-// Suggest: Adds one or more trials to a study, with parameter
-// values
-// suggested by AI Platform Optimizer. Returns a long-running
-// operation associated with the generation of trial suggestions.
-// When this long-running operation succeeds, it will contain
-// a SuggestTrialsResponse.
+// Suggest: Adds one or more trials to a study, with parameter values
+// suggested by AI Platform Optimizer. Returns a long-running operation
+// associated with the generation of trial suggestions. When this
+// long-running operation succeeds, it will contain a
+// SuggestTrialsResponse.
 func (r *ProjectsLocationsStudiesTrialsService) Suggest(parent string, googlecloudmlv1__suggesttrialsrequest *GoogleCloudMlV1__SuggestTrialsRequest) *ProjectsLocationsStudiesTrialsSuggestCall {
 	c := &ProjectsLocationsStudiesTrialsSuggestCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -9287,7 +8335,7 @@
 
 func (c *ProjectsLocationsStudiesTrialsSuggestCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9351,7 +8399,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Adds one or more trials to a study, with parameter values\nsuggested by AI Platform Optimizer. Returns a long-running\noperation associated with the generation of trial suggestions.\nWhen this long-running operation succeeds, it will contain\na SuggestTrialsResponse.",
+	//   "description": "Adds one or more trials to a study, with parameter values suggested by AI Platform Optimizer. Returns a long-running operation associated with the generation of trial suggestions. When this long-running operation succeeds, it will contain a SuggestTrialsResponse.",
 	//   "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials:suggest",
 	//   "httpMethod": "POST",
 	//   "id": "ml.projects.locations.studies.trials.suggest",
@@ -9393,11 +8441,8 @@
 }
 
 // Create: Creates a model which will later contain one or more
-// versions.
-//
-// You must add at least one version before you can request predictions
-// from
-// the model. Add versions by calling
+// versions. You must add at least one version before you can request
+// predictions from the model. Add versions by calling
 // projects.models.versions.create.
 func (r *ProjectsModelsService) Create(parent string, googlecloudmlv1__model *GoogleCloudMlV1__Model) *ProjectsModelsCreateCall {
 	c := &ProjectsModelsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -9433,7 +8478,7 @@
 
 func (c *ProjectsModelsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9497,7 +8542,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a model which will later contain one or more versions.\n\nYou must add at least one version before you can request predictions from\nthe model. Add versions by calling\nprojects.models.versions.create.",
+	//   "description": "Creates a model which will later contain one or more versions. You must add at least one version before you can request predictions from the model. Add versions by calling projects.models.versions.create.",
 	//   "flatPath": "v1/projects/{projectsId}/models",
 	//   "httpMethod": "POST",
 	//   "id": "ml.projects.models.create",
@@ -9537,11 +8582,8 @@
 	header_    http.Header
 }
 
-// Delete: Deletes a model.
-//
-// You can only delete a model if there are no versions in it. You can
-// delete
-// versions by calling
+// Delete: Deletes a model. You can only delete a model if there are no
+// versions in it. You can delete versions by calling
 // projects.models.versions.delete.
 func (r *ProjectsModelsService) Delete(name string) *ProjectsModelsDeleteCall {
 	c := &ProjectsModelsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -9576,7 +8618,7 @@
 
 func (c *ProjectsModelsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9635,7 +8677,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a model.\n\nYou can only delete a model if there are no versions in it. You can delete\nversions by calling\nprojects.models.versions.delete.",
+	//   "description": "Deletes a model. You can only delete a model if there are no versions in it. You can delete versions by calling projects.models.versions.delete.",
 	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "ml.projects.models.delete",
@@ -9674,10 +8716,8 @@
 }
 
 // Get: Gets information about a model, including its name, the
-// description (if
-// set), and the default version (if at least one version of the model
-// has
-// been deployed).
+// description (if set), and the default version (if at least one
+// version of the model has been deployed).
 func (r *ProjectsModelsService) Get(name string) *ProjectsModelsGetCall {
 	c := &ProjectsModelsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -9721,7 +8761,7 @@
 
 func (c *ProjectsModelsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9783,7 +8823,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets information about a model, including its name, the description (if\nset), and the default version (if at least one version of the model has\nbeen deployed).",
+	//   "description": "Gets information about a model, including its name, the description (if set), and the default version (if at least one version of the model has been deployed).",
 	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}",
 	//   "httpMethod": "GET",
 	//   "id": "ml.projects.models.get",
@@ -9822,9 +8862,8 @@
 	header_      http.Header
 }
 
-// GetIamPolicy: Gets the access control policy for a resource.
-// Returns an empty policy if the resource exists and does not have a
-// policy
+// GetIamPolicy: Gets the access control policy for a resource. Returns
+// an empty policy if the resource exists and does not have a policy
 // set.
 func (r *ProjectsModelsService) GetIamPolicy(resource string) *ProjectsModelsGetIamPolicyCall {
 	c := &ProjectsModelsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -9834,24 +8873,14 @@
 
 // OptionsRequestedPolicyVersion sets the optional parameter
 // "options.requestedPolicyVersion": The policy format version to be
-// returned.
-//
-// Valid values are 0, 1, and 3. Requests specifying an invalid value
-// will be
-// rejected.
-//
-// Requests for policies with any conditional bindings must specify
-// version 3.
-// Policies without any conditional bindings may specify any valid value
-// or
-// leave the field unset.
-//
-// To learn which resources support conditions in their IAM policies,
-// see
-// the
-// [IAM
-// documentation](https://cloud.google.com/iam/help/conditions/r
-// esource-policies).
+// returned. Valid values are 0, 1, and 3. Requests specifying an
+// invalid value will be rejected. Requests for policies with any
+// conditional bindings must specify version 3. Policies without any
+// conditional bindings may specify any valid value or leave the field
+// unset. To learn which resources support conditions in their IAM
+// policies, see the [IAM
+// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+// olicies).
 func (c *ProjectsModelsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsModelsGetIamPolicyCall {
 	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
 	return c
@@ -9894,7 +8923,7 @@
 
 func (c *ProjectsModelsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9956,7 +8985,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
+	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
 	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}:getIamPolicy",
 	//   "httpMethod": "GET",
 	//   "id": "ml.projects.models.getIamPolicy",
@@ -9965,13 +8994,13 @@
 	//   ],
 	//   "parameters": {
 	//     "options.requestedPolicyVersion": {
-	//       "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+	//       "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/models/[^/]+$",
 	//       "required": true,
@@ -10000,14 +9029,9 @@
 	header_      http.Header
 }
 
-// List: Lists the models in a project.
-//
-// Each project can contain multiple models, and each model can have
-// multiple
-// versions.
-//
-// If there are no models that match the request parameters, the list
-// request
+// List: Lists the models in a project. Each project can contain
+// multiple models, and each model can have multiple versions. If there
+// are no models that match the request parameters, the list request
 // returns an empty response body: {}.
 func (r *ProjectsModelsService) List(parent string) *ProjectsModelsListCall {
 	c := &ProjectsModelsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -10023,23 +9047,18 @@
 }
 
 // PageSize sets the optional parameter "pageSize": The number of models
-// to retrieve per "page" of results. If there
-// are more remaining results than this number, the response message
-// will
-// contain a valid value in the `next_page_token` field.
-//
-// The default value is 20, and the maximum page size is 100.
+// to retrieve per "page" of results. If there are more remaining
+// results than this number, the response message will contain a valid
+// value in the `next_page_token` field. The default value is 20, and
+// the maximum page size is 100.
 func (c *ProjectsModelsListCall) PageSize(pageSize int64) *ProjectsModelsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": A page token to
-// request the next page of results.
-//
-// You get the token from the `next_page_token` field of the response
-// from
-// the previous call.
+// request the next page of results. You get the token from the
+// `next_page_token` field of the response from the previous call.
 func (c *ProjectsModelsListCall) PageToken(pageToken string) *ProjectsModelsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -10082,7 +9101,7 @@
 
 func (c *ProjectsModelsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10145,7 +9164,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists the models in a project.\n\nEach project can contain multiple models, and each model can have multiple\nversions.\n\nIf there are no models that match the request parameters, the list request\nreturns an empty response body: {}.",
+	//   "description": "Lists the models in a project. Each project can contain multiple models, and each model can have multiple versions. If there are no models that match the request parameters, the list request returns an empty response body: {}.",
 	//   "flatPath": "v1/projects/{projectsId}/models",
 	//   "httpMethod": "GET",
 	//   "id": "ml.projects.models.list",
@@ -10159,13 +9178,13 @@
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "Optional. The number of models to retrieve per \"page\" of results. If there\nare more remaining results than this number, the response message will\ncontain a valid value in the `next_page_token` field.\n\nThe default value is 20, and the maximum page size is 100.",
+	//       "description": "Optional. The number of models to retrieve per \"page\" of results. If there are more remaining results than this number, the response message will contain a valid value in the `next_page_token` field. The default value is 20, and the maximum page size is 100.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Optional. A page token to request the next page of results.\n\nYou get the token from the `next_page_token` field of the response from\nthe previous call.",
+	//       "description": "Optional. A page token to request the next page of results. You get the token from the `next_page_token` field of the response from the previous call.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -10221,10 +9240,8 @@
 	header_                http.Header
 }
 
-// Patch: Updates a specific model resource.
-//
-// Currently the only supported fields to update are `description`
-// and
+// Patch: Updates a specific model resource. Currently the only
+// supported fields to update are `description` and
 // `default_version.name`.
 func (r *ProjectsModelsService) Patch(name string, googlecloudmlv1__model *GoogleCloudMlV1__Model) *ProjectsModelsPatchCall {
 	c := &ProjectsModelsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -10234,24 +9251,13 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": Required.
-// Specifies the path, relative to `Model`, of the field to update.
-//
-// For example, to change the description of a model to "foo" and set
-// its
-// default version to "version_1", the `update_mask` parameter would
-// be
-// specified as `description`, `default_version.name`, and the
-// `PATCH`
-// request body would specify the new value, as follows:
-//     {
-//       "description": "foo",
-//       "defaultVersion": {
-//         "name":"version_1"
-//       }
-//     }
-//
-// Currently the supported update masks are `description`
-// and
+// Specifies the path, relative to `Model`, of the field to update. For
+// example, to change the description of a model to "foo" and set its
+// default version to "version_1", the `update_mask` parameter would be
+// specified as `description`, `default_version.name`, and the `PATCH`
+// request body would specify the new value, as follows: {
+// "description": "foo", "defaultVersion": { "name":"version_1" } }
+// Currently the supported update masks are `description` and
 // `default_version.name`.
 func (c *ProjectsModelsPatchCall) UpdateMask(updateMask string) *ProjectsModelsPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
@@ -10285,7 +9291,7 @@
 
 func (c *ProjectsModelsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10349,7 +9355,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates a specific model resource.\n\nCurrently the only supported fields to update are `description` and\n`default_version.name`.",
+	//   "description": "Updates a specific model resource. Currently the only supported fields to update are `description` and `default_version.name`.",
 	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}",
 	//   "httpMethod": "PATCH",
 	//   "id": "ml.projects.models.patch",
@@ -10365,7 +9371,7 @@
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "Required. Specifies the path, relative to `Model`, of the field to update.\n\nFor example, to change the description of a model to \"foo\" and set its\ndefault version to \"version_1\", the `update_mask` parameter would be\nspecified as `description`, `default_version.name`, and the `PATCH`\nrequest body would specify the new value, as follows:\n    {\n      \"description\": \"foo\",\n      \"defaultVersion\": {\n        \"name\":\"version_1\"\n      }\n    }\n\nCurrently the supported update masks are `description` and\n`default_version.name`.",
+	//       "description": "Required. Specifies the path, relative to `Model`, of the field to update. For example, to change the description of a model to \"foo\" and set its default version to \"version_1\", the `update_mask` parameter would be specified as `description`, `default_version.name`, and the `PATCH` request body would specify the new value, as follows: { \"description\": \"foo\", \"defaultVersion\": { \"name\":\"version_1\" } } Currently the supported update masks are `description` and `default_version.name`.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -10397,11 +9403,8 @@
 }
 
 // SetIamPolicy: Sets the access control policy on the specified
-// resource. Replaces any
-// existing policy.
-//
-// Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`
-// errors.
+// resource. Replaces any existing policy. Can return `NOT_FOUND`,
+// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
 func (r *ProjectsModelsService) SetIamPolicy(resource string, googleiamv1__setiampolicyrequest *GoogleIamV1__SetIamPolicyRequest) *ProjectsModelsSetIamPolicyCall {
 	c := &ProjectsModelsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -10436,7 +9439,7 @@
 
 func (c *ProjectsModelsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10500,7 +9503,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
+	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
 	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "ml.projects.models.setIamPolicy",
@@ -10509,7 +9512,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/models/[^/]+$",
 	//       "required": true,
@@ -10542,16 +9545,11 @@
 }
 
 // TestIamPermissions: 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.
+// 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.
 func (r *ProjectsModelsService) TestIamPermissions(resource string, googleiamv1__testiampermissionsrequest *GoogleIamV1__TestIamPermissionsRequest) *ProjectsModelsTestIamPermissionsCall {
 	c := &ProjectsModelsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -10586,7 +9584,7 @@
 
 func (c *ProjectsModelsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10651,7 +9649,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+	//   "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
 	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "ml.projects.models.testIamPermissions",
@@ -10660,7 +9658,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/models/[^/]+$",
 	//       "required": true,
@@ -10693,18 +9691,11 @@
 }
 
 // Create: Creates a new version of a model from a trained TensorFlow
-// model.
-//
-// If the version created in the cloud by this call is the first
-// deployed
-// version of the specified model, it will be made the default version
-// of the
-// model. When you add a version to a model that already has one or
-// more
-// versions, the default version does not automatically change. If you
-// want a
-// new version to be the default, you must
-// call
+// model. If the version created in the cloud by this call is the first
+// deployed version of the specified model, it will be made the default
+// version of the model. When you add a version to a model that already
+// has one or more versions, the default version does not automatically
+// change. If you want a new version to be the default, you must call
 // projects.models.versions.setDefault.
 func (r *ProjectsModelsVersionsService) Create(parent string, googlecloudmlv1__version *GoogleCloudMlV1__Version) *ProjectsModelsVersionsCreateCall {
 	c := &ProjectsModelsVersionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -10740,7 +9731,7 @@
 
 func (c *ProjectsModelsVersionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10804,7 +9795,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a new version of a model from a trained TensorFlow model.\n\nIf the version created in the cloud by this call is the first deployed\nversion of the specified model, it will be made the default version of the\nmodel. When you add a version to a model that already has one or more\nversions, the default version does not automatically change. If you want a\nnew version to be the default, you must call\nprojects.models.versions.setDefault.",
+	//   "description": "Creates a new version of a model from a trained TensorFlow model. If the version created in the cloud by this call is the first deployed version of the specified model, it will be made the default version of the model. When you add a version to a model that already has one or more versions, the default version does not automatically change. If you want a new version to be the default, you must call projects.models.versions.setDefault.",
 	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions",
 	//   "httpMethod": "POST",
 	//   "id": "ml.projects.models.versions.create",
@@ -10844,15 +9835,11 @@
 	header_    http.Header
 }
 
-// Delete: Deletes a model version.
-//
-// Each model can have multiple versions deployed and in use at any
-// given
-// time. Use this method to remove a single version.
-//
-// Note: You cannot delete the version that is set as the default
-// version
-// of the model unless it is the only remaining version.
+// Delete: Deletes a model version. Each model can have multiple
+// versions deployed and in use at any given time. Use this method to
+// remove a single version. Note: You cannot delete the version that is
+// set as the default version of the model unless it is the only
+// remaining version.
 func (r *ProjectsModelsVersionsService) Delete(name string) *ProjectsModelsVersionsDeleteCall {
 	c := &ProjectsModelsVersionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -10886,7 +9873,7 @@
 
 func (c *ProjectsModelsVersionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10945,7 +9932,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a model version.\n\nEach model can have multiple versions deployed and in use at any given\ntime. Use this method to remove a single version.\n\nNote: You cannot delete the version that is set as the default version\nof the model unless it is the only remaining version.",
+	//   "description": "Deletes a model version. Each model can have multiple versions deployed and in use at any given time. Use this method to remove a single version. Note: You cannot delete the version that is set as the default version of the model unless it is the only remaining version.",
 	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "ml.projects.models.versions.delete",
@@ -10954,7 +9941,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the version. You can get the names of all the\nversions of a model by calling\nprojects.models.versions.list.",
+	//       "description": "Required. The name of the version. You can get the names of all the versions of a model by calling projects.models.versions.list.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/models/[^/]+/versions/[^/]+$",
 	//       "required": true,
@@ -10983,14 +9970,10 @@
 	header_      http.Header
 }
 
-// Get: Gets information about a model version.
-//
-// Models can have multiple versions. You can
-// call
-// projects.models.versions.list
-// to get the same information that this method returns for all of
-// the
-// versions of a model.
+// Get: Gets information about a model version. Models can have multiple
+// versions. You can call projects.models.versions.list to get the same
+// information that this method returns for all of the versions of a
+// model.
 func (r *ProjectsModelsVersionsService) Get(name string) *ProjectsModelsVersionsGetCall {
 	c := &ProjectsModelsVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -11034,7 +10017,7 @@
 
 func (c *ProjectsModelsVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11096,7 +10079,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets information about a model version.\n\nModels can have multiple versions. You can call\nprojects.models.versions.list\nto get the same information that this method returns for all of the\nversions of a model.",
+	//   "description": "Gets information about a model version. Models can have multiple versions. You can call projects.models.versions.list to get the same information that this method returns for all of the versions of a model.",
 	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}",
 	//   "httpMethod": "GET",
 	//   "id": "ml.projects.models.versions.get",
@@ -11134,17 +10117,12 @@
 	header_      http.Header
 }
 
-// List: Gets basic information about all the versions of a model.
-//
-// If you expect that a model has many versions, or if you need to
-// handle
+// List: Gets basic information about all the versions of a model. If
+// you expect that a model has many versions, or if you need to handle
 // only a limited number of results at a time, you can request that the
-// list
-// be retrieved in batches (called pages).
-//
-// If there are no versions that match the request parameters, the
-// list
-// request returns an empty response body: {}.
+// list be retrieved in batches (called pages). If there are no versions
+// that match the request parameters, the list request returns an empty
+// response body: {}.
 func (r *ProjectsModelsVersionsService) List(parent string) *ProjectsModelsVersionsListCall {
 	c := &ProjectsModelsVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -11159,23 +10137,18 @@
 }
 
 // PageSize sets the optional parameter "pageSize": The number of
-// versions to retrieve per "page" of results. If
-// there are more remaining results than this number, the response
-// message
-// will contain a valid value in the `next_page_token` field.
-//
-// The default value is 20, and the maximum page size is 100.
+// versions to retrieve per "page" of results. If there are more
+// remaining results than this number, the response message will contain
+// a valid value in the `next_page_token` field. The default value is
+// 20, and the maximum page size is 100.
 func (c *ProjectsModelsVersionsListCall) PageSize(pageSize int64) *ProjectsModelsVersionsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": A page token to
-// request the next page of results.
-//
-// You get the token from the `next_page_token` field of the response
-// from
-// the previous call.
+// request the next page of results. You get the token from the
+// `next_page_token` field of the response from the previous call.
 func (c *ProjectsModelsVersionsListCall) PageToken(pageToken string) *ProjectsModelsVersionsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -11218,7 +10191,7 @@
 
 func (c *ProjectsModelsVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11281,7 +10254,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets basic information about all the versions of a model.\n\nIf you expect that a model has many versions, or if you need to handle\nonly a limited number of results at a time, you can request that the list\nbe retrieved in batches (called pages).\n\nIf there are no versions that match the request parameters, the list\nrequest returns an empty response body: {}.",
+	//   "description": "Gets basic information about all the versions of a model. If you expect that a model has many versions, or if you need to handle only a limited number of results at a time, you can request that the list be retrieved in batches (called pages). If there are no versions that match the request parameters, the list request returns an empty response body: {}.",
 	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions",
 	//   "httpMethod": "GET",
 	//   "id": "ml.projects.models.versions.list",
@@ -11295,13 +10268,13 @@
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "Optional. The number of versions to retrieve per \"page\" of results. If\nthere are more remaining results than this number, the response message\nwill contain a valid value in the `next_page_token` field.\n\nThe default value is 20, and the maximum page size is 100.",
+	//       "description": "Optional. The number of versions to retrieve per \"page\" of results. If there are more remaining results than this number, the response message will contain a valid value in the `next_page_token` field. The default value is 20, and the maximum page size is 100.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Optional. A page token to request the next page of results.\n\nYou get the token from the `next_page_token` field of the response from\nthe previous call.",
+	//       "description": "Optional. A page token to request the next page of results. You get the token from the `next_page_token` field of the response from the previous call.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -11357,12 +10330,9 @@
 	header_                  http.Header
 }
 
-// Patch: Updates the specified Version resource.
-//
-// Currently the only update-able fields are
-// `description`,
-// `requestLoggingConfig`, `autoScaling.minNodes`, and
-// `manualScaling.nodes`.
+// Patch: Updates the specified Version resource. Currently the only
+// update-able fields are `description`, `requestLoggingConfig`,
+// `autoScaling.minNodes`, and `manualScaling.nodes`.
 func (r *ProjectsModelsVersionsService) Patch(name string, googlecloudmlv1__version *GoogleCloudMlV1__Version) *ProjectsModelsVersionsPatchCall {
 	c := &ProjectsModelsVersionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -11371,28 +10341,15 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": Required.
-// Specifies the path, relative to `Version`, of the field to
-// update. Must be present and non-empty.
-//
-// For example, to change the description of a version to "foo",
-// the
-// `update_mask` parameter would be specified as `description`, and
-// the
-// `PATCH` request body would specify the new value, as follows:
-//
-// ```
-// {
-//   "description": "foo"
-// }
-// ```
-//
-// Currently the only supported update mask fields are
-// `description`,
+// Specifies the path, relative to `Version`, of the field to update.
+// Must be present and non-empty. For example, to change the description
+// of a version to "foo", the `update_mask` parameter would be specified
+// as `description`, and the `PATCH` request body would specify the new
+// value, as follows: ``` { "description": "foo" } ``` Currently the
+// only supported update mask fields are `description`,
 // `requestLoggingConfig`, `autoScaling.minNodes`, and
-// `manualScaling.nodes`.
-// However, you can only update `manualScaling.nodes` if the version
-// uses a
-// [Compute Engine (N1)
+// `manualScaling.nodes`. However, you can only update
+// `manualScaling.nodes` if the version uses a [Compute Engine (N1)
 // machine type](/ml-engine/docs/machine-types-online-prediction).
 func (c *ProjectsModelsVersionsPatchCall) UpdateMask(updateMask string) *ProjectsModelsVersionsPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
@@ -11426,7 +10383,7 @@
 
 func (c *ProjectsModelsVersionsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11490,7 +10447,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates the specified Version resource.\n\nCurrently the only update-able fields are `description`,\n`requestLoggingConfig`, `autoScaling.minNodes`, and `manualScaling.nodes`.",
+	//   "description": "Updates the specified Version resource. Currently the only update-able fields are `description`, `requestLoggingConfig`, `autoScaling.minNodes`, and `manualScaling.nodes`.",
 	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}",
 	//   "httpMethod": "PATCH",
 	//   "id": "ml.projects.models.versions.patch",
@@ -11506,7 +10463,7 @@
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "Required. Specifies the path, relative to `Version`, of the field to\nupdate. Must be present and non-empty.\n\nFor example, to change the description of a version to \"foo\", the\n`update_mask` parameter would be specified as `description`, and the\n`PATCH` request body would specify the new value, as follows:\n\n```\n{\n  \"description\": \"foo\"\n}\n```\n\nCurrently the only supported update mask fields are `description`,\n`requestLoggingConfig`, `autoScaling.minNodes`, and `manualScaling.nodes`.\nHowever, you can only update `manualScaling.nodes` if the version uses a\n[Compute Engine (N1)\nmachine type](/ml-engine/docs/machine-types-online-prediction).",
+	//       "description": "Required. Specifies the path, relative to `Version`, of the field to update. Must be present and non-empty. For example, to change the description of a version to \"foo\", the `update_mask` parameter would be specified as `description`, and the `PATCH` request body would specify the new value, as follows: ``` { \"description\": \"foo\" } ``` Currently the only supported update mask fields are `description`, `requestLoggingConfig`, `autoScaling.minNodes`, and `manualScaling.nodes`. However, you can only update `manualScaling.nodes` if the version uses a [Compute Engine (N1) machine type](/ml-engine/docs/machine-types-online-prediction).",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -11537,18 +10494,12 @@
 	header_                                   http.Header
 }
 
-// SetDefault: Designates a version to be the default for the
-// model.
-//
-// The default version is used for prediction requests made against the
-// model
-// that don't specify a version.
-//
-// The first version to be created for a model is automatically set as
-// the
-// default. You must make any subsequent changes to the default
-// version
-// setting manually using this method.
+// SetDefault: Designates a version to be the default for the model. The
+// default version is used for prediction requests made against the
+// model that don't specify a version. The first version to be created
+// for a model is automatically set as the default. You must make any
+// subsequent changes to the default version setting manually using this
+// method.
 func (r *ProjectsModelsVersionsService) SetDefault(name string, googlecloudmlv1__setdefaultversionrequest *GoogleCloudMlV1__SetDefaultVersionRequest) *ProjectsModelsVersionsSetDefaultCall {
 	c := &ProjectsModelsVersionsSetDefaultCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -11583,7 +10534,7 @@
 
 func (c *ProjectsModelsVersionsSetDefaultCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11647,7 +10598,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Designates a version to be the default for the model.\n\nThe default version is used for prediction requests made against the model\nthat don't specify a version.\n\nThe first version to be created for a model is automatically set as the\ndefault. You must make any subsequent changes to the default version\nsetting manually using this method.",
+	//   "description": "Designates a version to be the default for the model. The default version is used for prediction requests made against the model that don't specify a version. The first version to be created for a model is automatically set as the default. You must make any subsequent changes to the default version setting manually using this method.",
 	//   "flatPath": "v1/projects/{projectsId}/models/{modelsId}/versions/{versionsId}:setDefault",
 	//   "httpMethod": "POST",
 	//   "id": "ml.projects.models.versions.setDefault",
@@ -11656,7 +10607,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the version to make the default for the model. You\ncan get the names of all the versions of a model by calling\nprojects.models.versions.list.",
+	//       "description": "Required. The name of the version to make the default for the model. You can get the names of all the versions of a model by calling projects.models.versions.list.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/models/[^/]+/versions/[^/]+$",
 	//       "required": true,
@@ -11688,23 +10639,15 @@
 }
 
 // Cancel: 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`.
+// 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`.
 func (r *ProjectsOperationsService) Cancel(name string) *ProjectsOperationsCancelCall {
 	c := &ProjectsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -11738,7 +10681,7 @@
 
 func (c *ProjectsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11797,7 +10740,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Starts asynchronous cancellation on a long-running operation.  The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed.  If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.  Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
+	//   "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
 	//   "flatPath": "v1/projects/{projectsId}/operations/{operationsId}:cancel",
 	//   "httpMethod": "POST",
 	//   "id": "ml.projects.operations.cancel",
@@ -11835,11 +10778,9 @@
 	header_      http.Header
 }
 
-// Get: 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.
+// Get: 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.
 func (r *ProjectsOperationsService) Get(name string) *ProjectsOperationsGetCall {
 	c := &ProjectsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -11883,7 +10824,7 @@
 
 func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11945,7 +10886,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+	//   "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
 	//   "flatPath": "v1/projects/{projectsId}/operations/{operationsId}",
 	//   "httpMethod": "GET",
 	//   "id": "ml.projects.operations.get",
@@ -11984,22 +10925,15 @@
 }
 
 // List: 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. 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.
 func (r *ProjectsOperationsService) List(name string) *ProjectsOperationsListCall {
 	c := &ProjectsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -12064,7 +10998,7 @@
 
 func (c *ProjectsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12128,7 +11062,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
+	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
 	//   "flatPath": "v1/projects/{projectsId}/operations",
 	//   "httpMethod": "GET",
 	//   "id": "ml.projects.operations.list",
diff --git a/networkmanagement/v1/networkmanagement-gen.go b/networkmanagement/v1/networkmanagement-gen.go
index 7d91780..8990a44 100644
--- a/networkmanagement/v1/networkmanagement-gen.go
+++ b/networkmanagement/v1/networkmanagement-gen.go
@@ -2531,7 +2531,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2697,7 +2697,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2901,7 +2901,7 @@
 
 func (c *ProjectsLocationsGlobalConnectivityTestsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3044,7 +3044,7 @@
 
 func (c *ProjectsLocationsGlobalConnectivityTestsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3185,7 +3185,7 @@
 
 func (c *ProjectsLocationsGlobalConnectivityTestsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3357,7 +3357,7 @@
 
 func (c *ProjectsLocationsGlobalConnectivityTestsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3559,7 +3559,7 @@
 
 func (c *ProjectsLocationsGlobalConnectivityTestsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3766,7 +3766,7 @@
 
 func (c *ProjectsLocationsGlobalConnectivityTestsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3930,7 +3930,7 @@
 
 func (c *ProjectsLocationsGlobalConnectivityTestsRerunCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4075,7 +4075,7 @@
 
 func (c *ProjectsLocationsGlobalConnectivityTestsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4225,7 +4225,7 @@
 
 func (c *ProjectsLocationsGlobalConnectivityTestsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4382,7 +4382,7 @@
 
 func (c *ProjectsLocationsGlobalOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4526,7 +4526,7 @@
 
 func (c *ProjectsLocationsGlobalOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4671,7 +4671,7 @@
 
 func (c *ProjectsLocationsGlobalOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4852,7 +4852,7 @@
 
 func (c *ProjectsLocationsGlobalOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/networkmanagement/v1beta1/networkmanagement-gen.go b/networkmanagement/v1beta1/networkmanagement-gen.go
index 506e65d..050b006 100644
--- a/networkmanagement/v1beta1/networkmanagement-gen.go
+++ b/networkmanagement/v1beta1/networkmanagement-gen.go
@@ -2530,7 +2530,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2696,7 +2696,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2900,7 +2900,7 @@
 
 func (c *ProjectsLocationsGlobalConnectivityTestsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3043,7 +3043,7 @@
 
 func (c *ProjectsLocationsGlobalConnectivityTestsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3184,7 +3184,7 @@
 
 func (c *ProjectsLocationsGlobalConnectivityTestsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3356,7 +3356,7 @@
 
 func (c *ProjectsLocationsGlobalConnectivityTestsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3558,7 +3558,7 @@
 
 func (c *ProjectsLocationsGlobalConnectivityTestsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3765,7 +3765,7 @@
 
 func (c *ProjectsLocationsGlobalConnectivityTestsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3929,7 +3929,7 @@
 
 func (c *ProjectsLocationsGlobalConnectivityTestsRerunCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4074,7 +4074,7 @@
 
 func (c *ProjectsLocationsGlobalConnectivityTestsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4224,7 +4224,7 @@
 
 func (c *ProjectsLocationsGlobalConnectivityTestsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4381,7 +4381,7 @@
 
 func (c *ProjectsLocationsGlobalOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4525,7 +4525,7 @@
 
 func (c *ProjectsLocationsGlobalOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4670,7 +4670,7 @@
 
 func (c *ProjectsLocationsGlobalOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4851,7 +4851,7 @@
 
 func (c *ProjectsLocationsGlobalOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/osconfig/v1/osconfig-api.json b/osconfig/v1/osconfig-api.json
index 4e92c44..7d1bef6 100644
--- a/osconfig/v1/osconfig-api.json
+++ b/osconfig/v1/osconfig-api.json
@@ -126,7 +126,7 @@
                   "type": "string"
                 },
                 "patchDeploymentId": {
-                  "description": "Required. A name for the patch deployment in the project. When creating a name\nthe following rules apply:\n* Must contain only lowercase letters, numbers, and hyphens.\n* Must start with a letter.\n* Must be between 1-63 characters.\n* Must end with a number or a letter.\n* Must be unique within the project.",
+                  "description": "Required. A name for the patch deployment in the project. When creating a name the following rules apply: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the project.",
                   "location": "query",
                   "type": "string"
                 }
@@ -152,7 +152,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. The resource name of the patch deployment in the form\n`projects/*/patchDeployments/*`.",
+                  "description": "Required. The resource name of the patch deployment in the form `projects/*/patchDeployments/*`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/patchDeployments/[^/]+$",
                   "required": true,
@@ -177,7 +177,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. The resource name of the patch deployment in the form\n`projects/*/patchDeployments/*`.",
+                  "description": "Required. The resource name of the patch deployment in the form `projects/*/patchDeployments/*`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/patchDeployments/[^/]+$",
                   "required": true,
@@ -208,7 +208,7 @@
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "Optional. A pagination token returned from a previous call to ListPatchDeployments\nthat indicates where this listing should continue from.",
+                  "description": "Optional. A pagination token returned from a previous call to ListPatchDeployments that indicates where this listing should continue from.",
                   "location": "query",
                   "type": "string"
                 },
@@ -233,7 +233,7 @@
         "patchJobs": {
           "methods": {
             "cancel": {
-              "description": "Cancel a patch job. The patch job must be active. Canceled patch jobs\ncannot be restarted.",
+              "description": "Cancel a patch job. The patch job must be active. Canceled patch jobs cannot be restarted.",
               "flatPath": "v1/projects/{projectsId}/patchJobs/{patchJobsId}:cancel",
               "httpMethod": "POST",
               "id": "osconfig.projects.patchJobs.cancel",
@@ -289,7 +289,7 @@
               ]
             },
             "get": {
-              "description": "Get the patch job. This can be used to track the progress of an\nongoing patch job or review the details of completed jobs.",
+              "description": "Get the patch job. This can be used to track the progress of an ongoing patch job or review the details of completed jobs.",
               "flatPath": "v1/projects/{projectsId}/patchJobs/{patchJobsId}",
               "httpMethod": "GET",
               "id": "osconfig.projects.patchJobs.get",
@@ -323,7 +323,7 @@
               ],
               "parameters": {
                 "filter": {
-                  "description": "If provided, this field specifies the criteria that must be met by patch\njobs to be included in the response.\nCurrently, filtering is only available on the patch_deployment field.",
+                  "description": "If provided, this field specifies the criteria that must be met by patch jobs to be included in the response. Currently, filtering is only available on the patch_deployment field.",
                   "location": "query",
                   "type": "string"
                 },
@@ -334,7 +334,7 @@
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "A pagination token returned from a previous call\nthat indicates where this listing should continue from.",
+                  "description": "A pagination token returned from a previous call that indicates where this listing should continue from.",
                   "location": "query",
                   "type": "string"
                 },
@@ -368,18 +368,18 @@
                   ],
                   "parameters": {
                     "filter": {
-                      "description": "A filter expression that filters results listed in the response. This\nfield supports filtering results by instance zone, name, state, or\n`failure_reason`.",
+                      "description": "A filter expression that filters results listed in the response. This field supports filtering results by instance zone, name, state, or `failure_reason`.",
                       "location": "query",
                       "type": "string"
                     },
                     "pageSize": {
-                      "description": "The maximum number of instance details records to return.  Default is 100.",
+                      "description": "The maximum number of instance details records to return. Default is 100.",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "A pagination token returned from a previous call\nthat indicates where this listing should continue from.",
+                      "description": "A pagination token returned from a previous call that indicates where this listing should continue from.",
                       "location": "query",
                       "type": "string"
                     },
@@ -406,11 +406,11 @@
       }
     }
   },
-  "revision": "20200731",
+  "revision": "20200807",
   "rootUrl": "https://osconfig.googleapis.com/",
   "schemas": {
     "AptSettings": {
-      "description": "Apt patching is completed by executing `apt-get update \u0026\u0026 apt-get\nupgrade`. Additional options can be set to control how this is executed.",
+      "description": "Apt patching is completed by executing `apt-get update \u0026\u0026 apt-get upgrade`. Additional options can be set to control how this is executed.",
       "id": "AptSettings",
       "properties": {
         "excludes": {
@@ -421,14 +421,14 @@
           "type": "array"
         },
         "exclusivePackages": {
-          "description": "An exclusive list of packages to be updated. These are the only packages\nthat will be updated. If these packages are not installed, they will be\nignored. This field cannot be specified with any other patch configuration\nfields.",
+          "description": "An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field cannot be specified with any other patch configuration fields.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "type": {
-          "description": "By changing the type to DIST, the patching is performed\nusing `apt-get dist-upgrade` instead.",
+          "description": "By changing the type to DIST, the patching is performed using `apt-get dist-upgrade` instead.",
           "enum": [
             "TYPE_UNSPECIFIED",
             "DIST",
@@ -451,7 +451,7 @@
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
@@ -462,11 +462,11 @@
       "properties": {
         "enforce": {
           "$ref": "ExecResourceExec",
-          "description": "What to run to bring this resource into the desired state.\nOptional if policy is in validate only mode."
+          "description": "What to run to bring this resource into the desired state. Optional if policy is in validate only mode."
         },
         "validate": {
           "$ref": "ExecResourceExec",
-          "description": "What to run to validate this resource is in the desired state.\nA successful exit code indicates resource is in the desired state."
+          "description": "What to run to validate this resource is in the desired state. A successful exit code indicates resource is in the desired state."
         }
       },
       "type": "object"
@@ -504,8 +504,8 @@
           ],
           "enumDescriptions": [
             "Defaults to NONE.",
-            "If no interpreter is specified the\nsource will be executed directly, which will likely only succeed for\nexecutables and scripts with shebang lines.\n[Wikipedia shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)).",
-            "Indicates that the script will be run with /bin/sh on Linux and cmd.exe\non windows.",
+            "If no interpreter is specified the source will be executed directly, which will likely only succeed for executables and scripts with shebang lines. [Wikipedia shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)).",
+            "Indicates that the script will be run with /bin/sh on Linux and cmd.exe on windows.",
             "Indicates that the script will be run with powershell."
           ],
           "type": "string"
@@ -537,7 +537,7 @@
       "id": "ExecStepConfig",
       "properties": {
         "allowedSuccessCodes": {
-          "description": "Defaults to [0]. A list of possible return values that the\nexecution can return to indicate a success.",
+          "description": "Defaults to [0]. A list of possible return values that the execution can return to indicate a success.",
           "items": {
             "format": "int32",
             "type": "integer"
@@ -549,16 +549,16 @@
           "description": "A Cloud Storage object containing the executable."
         },
         "interpreter": {
-          "description": "The script interpreter to use to run the script. If no interpreter is\nspecified the script will be executed directly, which will likely\nonly succeed for scripts with [shebang lines]\n(https://en.wikipedia.org/wiki/Shebang_\\(Unix\\)).",
+          "description": "The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\\(Unix\\)).",
           "enum": [
             "INTERPRETER_UNSPECIFIED",
             "SHELL",
             "POWERSHELL"
           ],
           "enumDescriptions": [
-            "Invalid for a Windows ExecStepConfig. For a Linux ExecStepConfig, the\ninterpreter will be parsed from the shebang line of the script if\nunspecified.",
-            "Indicates that the script is run with `/bin/sh` on Linux and `cmd`\non Windows.",
-            "Indicates that the file is run with PowerShell flags\n`-NonInteractive`, `-NoProfile`, and `-ExecutionPolicy Bypass`."
+            "Invalid for a Windows ExecStepConfig. For a Linux ExecStepConfig, the interpreter will be parsed from the shebang line of the script if unspecified.",
+            "Indicates that the script is run with `/bin/sh` on Linux and `cmd` on Windows.",
+            "Indicates that the file is run with PowerShell flags `-NonInteractive`, `-NoProfile`, and `-ExecutionPolicy Bypass`."
           ],
           "type": "string"
         },
@@ -570,11 +570,11 @@
       "type": "object"
     },
     "ExecutePatchJobRequest": {
-      "description": "A request message to initiate patching across Compute Engine\ninstances.",
+      "description": "A request message to initiate patching across Compute Engine instances.",
       "id": "ExecutePatchJobRequest",
       "properties": {
         "description": {
-          "description": "Description of the patch job. Length of the description is limited\nto 1024 characters.",
+          "description": "Description of the patch job. Length of the description is limited to 1024 characters.",
           "type": "string"
         },
         "displayName": {
@@ -582,21 +582,21 @@
           "type": "string"
         },
         "dryRun": {
-          "description": "If this patch is a dry-run only, instances are contacted but\nwill do nothing.",
+          "description": "If this patch is a dry-run only, instances are contacted but will do nothing.",
           "type": "boolean"
         },
         "duration": {
-          "description": "Duration of the patch job. After the duration ends, the patch job\ntimes out.",
+          "description": "Duration of the patch job. After the duration ends, the patch job times out.",
           "format": "google-duration",
           "type": "string"
         },
         "instanceFilter": {
           "$ref": "PatchInstanceFilter",
-          "description": "Required. Instances to patch, either explicitly or filtered by some criteria such\nas zone or labels."
+          "description": "Required. Instances to patch, either explicitly or filtered by some criteria such as zone or labels."
         },
         "patchConfig": {
           "$ref": "PatchConfig",
-          "description": "Patch configuration being applied. If omitted, instances are\npatched using the default configurations."
+          "description": "Patch configuration being applied. If omitted, instances are patched using the default configurations."
         },
         "rollout": {
           "$ref": "PatchRollout",
@@ -610,7 +610,7 @@
       "id": "ExtractArchiveResource",
       "properties": {
         "creates": {
-          "description": "Local file path that signals this resource is in the desired state.\nThe absence of this file will indicate whether the archive needs to be\nextracted.",
+          "description": "Local file path that signals this resource is in the desired state. The absence of this file will indicate whether the archive needs to be extracted.",
           "type": "string"
         },
         "destination": {
@@ -618,7 +618,7 @@
           "type": "string"
         },
         "overwrite": {
-          "description": "Whether to overwrite existing files during extraction. If this is set to\ntrue, any existing files in the destination location will be overwritten by\nthe extraction.",
+          "description": "Whether to overwrite existing files during extraction. If this is set to true, any existing files in the destination location will be overwritten by the extraction.",
           "type": "boolean"
         },
         "source": {
@@ -655,7 +655,7 @@
       "id": "File",
       "properties": {
         "allowInsecure": {
-          "description": "Defaults to false. When false, files will be subject to validations\nbased on the file type:\n\nRemote: A checksum must be specified.\nGCS:    An object generation number must be specified.",
+          "description": "Defaults to false. When false, files will be subject to validations based on the file type: Remote: A checksum must be specified. GCS: An object generation number must be specified.",
           "type": "boolean"
         },
         "gcs": {
@@ -702,7 +702,7 @@
           "type": "string"
         },
         "uri": {
-          "description": "URI from which to fetch the object. It should contain both the protocol\nand path following the format {protocol}://{location}.",
+          "description": "URI from which to fetch the object. It should contain both the protocol and path following the format {protocol}://{location}.",
           "type": "string"
         }
       },
@@ -725,7 +725,7 @@
           "type": "string"
         },
         "permissions": {
-          "description": "Consists of three octal digits which represent, in\norder, the permissions of the owner, group, and other users for the\nfile (similarly to the numeric mode used in the linux chmod utility).\nEach digit represents a three bit number with the 4 bit\ncorresponding to the read permissions, the 2 bit corresponds to the\nwrite bit, and the one bit corresponds to the execute permission.\nDefault behavior is 755.\n\nBelow are some examples of permissions and their associated values:\nread, write, and execute: 7\nread and execute: 5\nread and write: 6\nread only: 4",
+          "description": "Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4",
           "type": "string"
         },
         "state": {
@@ -740,7 +740,7 @@
             "Unspecified is invalid.",
             "Ensure file at path is present.",
             "Ensure file at path is absent.",
-            "Ensure the contents of the file at path matches. If the file does not\nexist it will be created."
+            "Ensure the contents of the file at path matches. If the file does not exist it will be created."
           ],
           "type": "string"
         }
@@ -748,7 +748,7 @@
       "type": "object"
     },
     "FixedOrPercent": {
-      "description": "Message encapsulating a value that can be either absolute (\"fixed\") or\nrelative (\"percent\") to a value.",
+      "description": "Message encapsulating a value that can be either absolute (\"fixed\") or relative (\"percent\") to a value.",
       "id": "FixedOrPercent",
       "properties": {
         "fixed": {
@@ -757,7 +757,7 @@
           "type": "integer"
         },
         "percent": {
-          "description": "Specifies the relative value defined as a percentage, which will be\nmultiplied by a reference value.",
+          "description": "Specifies the relative value defined as a percentage, which will be multiplied by a reference value.",
           "format": "int32",
           "type": "integer"
         }
@@ -773,7 +773,7 @@
           "type": "string"
         },
         "generationNumber": {
-          "description": "Required. Generation number of the Cloud Storage object. This is used to\nensure that the ExecStep specified by this PatchJob does not change.",
+          "description": "Required. Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.",
           "format": "int64",
           "type": "string"
         },
@@ -795,7 +795,7 @@
       "id": "ListPatchDeploymentsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "A pagination token that can be used to get the next page of patch\ndeployments.",
+          "description": "A pagination token that can be used to get the next page of patch deployments.",
           "type": "string"
         },
         "patchDeployments": {
@@ -845,11 +845,11 @@
       "type": "object"
     },
     "MonthlySchedule": {
-      "description": "Represents a monthly schedule. An example of a valid monthly schedule is\n\"on the third Tuesday of the month\" or \"on the 15th of the month\".",
+      "description": "Represents a monthly schedule. An example of a valid monthly schedule is \"on the third Tuesday of the month\" or \"on the 15th of the month\".",
       "id": "MonthlySchedule",
       "properties": {
         "monthDay": {
-          "description": "Required. One day of the month. 1-31 indicates the 1st to the 31st day. -1\nindicates the last day of the month.\nMonths without the target day will be skipped. For example, a schedule to\nrun \"every month on the 31st\" will not run in February, April, June, etc.",
+          "description": "Required. One day of the month. 1-31 indicates the 1st to the 31st day. -1 indicates the last day of the month. Months without the target day will be skipped. For example, a schedule to run \"every month on the 31st\" will not run in February, April, June, etc.",
           "format": "int32",
           "type": "integer"
         },
@@ -861,7 +861,7 @@
       "type": "object"
     },
     "OneTimeSchedule": {
-      "description": "Sets the time for a one time patch deployment. Timestamp is in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
+      "description": "Sets the time for a one time patch deployment. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
       "id": "OneTimeSchedule",
       "properties": {
         "executeTime": {
@@ -885,7 +885,7 @@
           "description": "A deb package file."
         },
         "desiredState": {
-          "description": "The desired_state the agent should maintain for this package. The\ndefault is to ensure the package is installed.",
+          "description": "The desired_state the agent should maintain for this package. The default is to ensure the package is installed.",
           "enum": [
             "DESIRED_STATE_UNSPECIFIED",
             "INSTALLED",
@@ -894,7 +894,7 @@
           "enumDescriptions": [
             "Unspecified is invalid.",
             "Ensure that the package is installed.",
-            "The agent will ensure that the package is not installed and uninstall it\nif detected."
+            "The agent will ensure that the package is not installed and uninstall it if detected."
           ],
           "type": "string"
         },
@@ -922,7 +922,7 @@
       "type": "object"
     },
     "PackageResourceAPT": {
-      "description": "A package managed by APT.\ninstall: `apt-get update \u0026\u0026 apt-get -y install [name]`\nremove: `apt-get -y remove [name]`",
+      "description": "A package managed by APT. install: `apt-get update \u0026\u0026 apt-get -y install [name]` remove: `apt-get -y remove [name]`",
       "id": "PackageResourceAPT",
       "properties": {
         "name": {
@@ -937,7 +937,7 @@
       "id": "PackageResourceDeb",
       "properties": {
         "pullDeps": {
-          "description": "Whether dependencies should also be installed.\ninstall when false: `dpkg -i package`\ninstall when true: `apt-get update \u0026\u0026 apt-get -y install package.deb`",
+          "description": "Whether dependencies should also be installed. install when false: `dpkg -i package` install when true: `apt-get update \u0026\u0026 apt-get -y install package.deb`",
           "type": "boolean"
         },
         "source": {
@@ -948,7 +948,7 @@
       "type": "object"
     },
     "PackageResourceGooGet": {
-      "description": "A package managed by GooGet.\ninstall: `googet -noconfirm install package`\nremove: `googet -noconfirm remove package`",
+      "description": "A package managed by GooGet. install: `googet -noconfirm install package` remove: `googet -noconfirm remove package`",
       "id": "PackageResourceGooGet",
       "properties": {
         "name": {
@@ -959,11 +959,11 @@
       "type": "object"
     },
     "PackageResourceMSI": {
-      "description": "An MSI package. MSI packages only support INSTALLED state.\nInstall msiexec /i /qn /norestart",
+      "description": "An MSI package. MSI packages only support INSTALLED state. Install msiexec /i /qn /norestart",
       "id": "PackageResourceMSI",
       "properties": {
         "allowedSuccessCodes": {
-          "description": "Return codes that indicate that the software installed or updated\nsuccessfully. Behaviour defaults to [0]",
+          "description": "Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]",
           "items": {
             "format": "int32",
             "type": "integer"
@@ -971,7 +971,7 @@
           "type": "array"
         },
         "flags": {
-          "description": "Flags to use during package install.\nAppended to the defalts of \"/i /qn /norestart\"",
+          "description": "Flags to use during package install. Appended to the defalts of \"/i /qn /norestart\"",
           "items": {
             "type": "string"
           },
@@ -989,7 +989,7 @@
       "id": "PackageResourceRPM",
       "properties": {
         "pullDeps": {
-          "description": "Whether dependencies should also be installed.\ninstall when false: `rpm --upgrade --replacepkgs package.rpm`\ninstall when true: `yum -y install package.rpm` or\n`zypper -y install package.rpm`",
+          "description": "Whether dependencies should also be installed. install when false: `rpm --upgrade --replacepkgs package.rpm` install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`",
           "type": "boolean"
         },
         "source": {
@@ -1000,7 +1000,7 @@
       "type": "object"
     },
     "PackageResourceYUM": {
-      "description": "A package managed by YUM.\ninstall: `yum -y install package`\nremove: `yum -y remove package`",
+      "description": "A package managed by YUM. install: `yum -y install package` remove: `yum -y remove package`",
       "id": "PackageResourceYUM",
       "properties": {
         "name": {
@@ -1011,7 +1011,7 @@
       "type": "object"
     },
     "PackageResourceZypper": {
-      "description": "A package managed by Zypper.\ninstall: `zypper -y install package`\nremove: `zypper -y rm package`",
+      "description": "A package managed by Zypper. install: `zypper -y install package` remove: `zypper -y rm package`",
       "id": "PackageResourceZypper",
       "properties": {
         "name": {
@@ -1022,16 +1022,16 @@
       "type": "object"
     },
     "PatchConfig": {
-      "description": "Patch configuration specifications. Contains details on how to apply the\npatch(es) to a VM instance.",
+      "description": "Patch configuration specifications. Contains details on how to apply the patch(es) to a VM instance.",
       "id": "PatchConfig",
       "properties": {
         "apt": {
           "$ref": "AptSettings",
-          "description": "Apt update settings. Use this setting to override the default `apt` patch\nrules."
+          "description": "Apt update settings. Use this setting to override the default `apt` patch rules."
         },
         "goo": {
           "$ref": "GooSettings",
-          "description": "Goo update settings. Use this setting to override the default `goo` patch\nrules."
+          "description": "Goo update settings. Use this setting to override the default `goo` patch rules."
         },
         "postStep": {
           "$ref": "ExecStep",
@@ -1051,7 +1051,7 @@
           ],
           "enumDescriptions": [
             "The default behavior is DEFAULT.",
-            "The agent decides if a reboot is necessary by checking signals such as\nregistry keys on Windows or `/var/run/reboot-required` on APT based\nsystems. On RPM based systems, a set of core system package install times\nare compared with system boot time.",
+            "The agent decides if a reboot is necessary by checking signals such as registry keys on Windows or `/var/run/reboot-required` on APT based systems. On RPM based systems, a set of core system package install times are compared with system boot time.",
             "Always reboot the machine after the update completes.",
             "Never reboot the machine after the update completes."
           ],
@@ -1063,26 +1063,27 @@
         },
         "yum": {
           "$ref": "YumSettings",
-          "description": "Yum update settings. Use this setting to override the default `yum` patch\nrules."
+          "description": "Yum update settings. Use this setting to override the default `yum` patch rules."
         },
         "zypper": {
           "$ref": "ZypperSettings",
-          "description": "Zypper update settings. Use this setting to override the default `zypper`\npatch rules."
+          "description": "Zypper update settings. Use this setting to override the default `zypper` patch rules."
         }
       },
       "type": "object"
     },
     "PatchDeployment": {
-      "description": "Patch deployments are configurations that individual patch jobs use to\ncomplete a patch. These configurations include instance filter, package\nrepository settings, and a schedule. For more information about creating and\nmanaging patch deployments, see [Scheduling patch\njobs](https://cloud.google.com/compute/docs/os-patch-management/schedule-patch-jobs).",
+      "description": "Patch deployments are configurations that individual patch jobs use to complete a patch. These configurations include instance filter, package repository settings, and a schedule. For more information about creating and managing patch deployments, see [Scheduling patch jobs](https://cloud.google.com/compute/docs/os-patch-management/schedule-patch-jobs).",
       "id": "PatchDeployment",
       "properties": {
         "createTime": {
-          "description": "Output only. Time the patch deployment was created. Timestamp is in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
+          "description": "Output only. Time the patch deployment was created. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "description": {
-          "description": "Optional. Description of the patch deployment. Length of the description is limited\nto 1024 characters.",
+          "description": "Optional. Description of the patch deployment. Length of the description is limited to 1024 characters.",
           "type": "string"
         },
         "duration": {
@@ -1095,12 +1096,13 @@
           "description": "Required. VM instances to patch."
         },
         "lastExecuteTime": {
-          "description": "Output only. The last time a patch job was started by this deployment.\nTimestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text\nformat.",
+          "description": "Output only. The last time a patch job was started by this deployment. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "name": {
-          "description": "Unique name for the patch deployment resource in a project. The patch\ndeployment name is in the form:\n`projects/{project_id}/patchDeployments/{patch_deployment_id}`.\nThis field is ignored when you create a new patch deployment.",
+          "description": "Unique name for the patch deployment resource in a project. The patch deployment name is in the form: `projects/{project_id}/patchDeployments/{patch_deployment_id}`. This field is ignored when you create a new patch deployment.",
           "type": "string"
         },
         "oneTimeSchedule": {
@@ -1120,44 +1122,45 @@
           "description": "Optional. Rollout strategy of the patch job."
         },
         "updateTime": {
-          "description": "Output only. Time the patch deployment was last updated. Timestamp is in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
+          "description": "Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         }
       },
       "type": "object"
     },
     "PatchInstanceFilter": {
-      "description": "A filter to target VM instances for patching. The targeted\nVMs must meet all criteria specified. So if both labels and zones are\nspecified, the patch job targets only VMs with those labels and in those\nzones.",
+      "description": "A filter to target VM instances for patching. The targeted VMs must meet all criteria specified. So if both labels and zones are specified, the patch job targets only VMs with those labels and in those zones.",
       "id": "PatchInstanceFilter",
       "properties": {
         "all": {
-          "description": "Target all VM instances in the project. If true, no other criteria is\npermitted.",
+          "description": "Target all VM instances in the project. If true, no other criteria is permitted.",
           "type": "boolean"
         },
         "groupLabels": {
-          "description": "Targets VM instances matching ANY of these GroupLabels. This allows\ntargeting of disparate groups of VM instances.",
+          "description": "Targets VM instances matching ANY of these GroupLabels. This allows targeting of disparate groups of VM instances.",
           "items": {
             "$ref": "PatchInstanceFilterGroupLabel"
           },
           "type": "array"
         },
         "instanceNamePrefixes": {
-          "description": "Targets VMs whose name starts with one of these prefixes. Similar to\nlabels, this is another way to group VMs when targeting configs, for\nexample prefix=\"prod-\".",
+          "description": "Targets VMs whose name starts with one of these prefixes. Similar to labels, this is another way to group VMs when targeting configs, for example prefix=\"prod-\".",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "instances": {
-          "description": "Targets any of the VM instances specified. Instances are specified by their\nURI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`,\n`projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or\n`https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`",
+          "description": "Targets any of the VM instances specified. Instances are specified by their URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`, `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "zones": {
-          "description": "Targets VM instances in ANY of these zones. Leave empty to target VM\ninstances in any zone.",
+          "description": "Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.",
           "items": {
             "type": "string"
           },
@@ -1167,21 +1170,21 @@
       "type": "object"
     },
     "PatchInstanceFilterGroupLabel": {
-      "description": "Targets a group of VM instances by using their [assigned\nlabels](https://cloud.google.com/compute/docs/labeling-resources). Labels\nare key-value pairs. A `GroupLabel` is a combination of labels\nthat is used to target VMs for a patch job.\n\nFor example, a patch job can target VMs that have the following\n`GroupLabel`: `{\"env\":\"test\", \"app\":\"web\"}`. This means that the patch job\nis applied to VMs that have both the labels `env=test` and `app=web`.",
+      "description": "Targets a group of VM instances by using their [assigned labels](https://cloud.google.com/compute/docs/labeling-resources). Labels are key-value pairs. A `GroupLabel` is a combination of labels that is used to target VMs for a patch job. For example, a patch job can target VMs that have the following `GroupLabel`: `{\"env\":\"test\", \"app\":\"web\"}`. This means that the patch job is applied to VMs that have both the labels `env=test` and `app=web`.",
       "id": "PatchInstanceFilterGroupLabel",
       "properties": {
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Compute Engine instance labels that must be present for a VM\ninstance to be targeted by this filter.",
+          "description": "Compute Engine instance labels that must be present for a VM instance to be targeted by this filter.",
           "type": "object"
         }
       },
       "type": "object"
     },
     "PatchJob": {
-      "description": "A high level representation of a patch job that is either in progress\nor has completed.\n\nInstance details are not included in the job. To paginate through instance\ndetails, use ListPatchJobInstanceDetails.\n\nFor more information about patch jobs, see\n[Creating patch\njobs](https://cloud.google.com/compute/docs/os-patch-management/create-patch-job).",
+      "description": "A high level representation of a patch job that is either in progress or has completed. Instance details are not included in the job. To paginate through instance details, use ListPatchJobInstanceDetails. For more information about patch jobs, see [Creating patch jobs](https://cloud.google.com/compute/docs/os-patch-management/create-patch-job).",
       "id": "PatchJob",
       "properties": {
         "createTime": {
@@ -1190,7 +1193,7 @@
           "type": "string"
         },
         "description": {
-          "description": "Description of the patch job. Length of the description is limited\nto 1024 characters.",
+          "description": "Description of the patch job. Length of the description is limited to 1024 characters.",
           "type": "string"
         },
         "displayName": {
@@ -1198,16 +1201,16 @@
           "type": "string"
         },
         "dryRun": {
-          "description": "If this patch job is a dry run, the agent reports that it has\nfinished without running any updates on the VM instance.",
+          "description": "If this patch job is a dry run, the agent reports that it has finished without running any updates on the VM instance.",
           "type": "boolean"
         },
         "duration": {
-          "description": "Duration of the patch job. After the duration ends, the\npatch job times out.",
+          "description": "Duration of the patch job. After the duration ends, the patch job times out.",
           "format": "google-duration",
           "type": "string"
         },
         "errorMessage": {
-          "description": "If this patch job failed, this message provides information about the\nfailure.",
+          "description": "If this patch job failed, this message provides information about the failure.",
           "type": "string"
         },
         "instanceDetailsSummary": {
@@ -1219,7 +1222,7 @@
           "description": "Instances to patch."
         },
         "name": {
-          "description": "Unique identifier for this patch job in the form\n`projects/*/patchJobs/*`",
+          "description": "Unique identifier for this patch job in the form `projects/*/patchJobs/*`",
           "type": "string"
         },
         "patchConfig": {
@@ -1228,10 +1231,11 @@
         },
         "patchDeployment": {
           "description": "Output only. Name of the patch deployment that created this patch job.",
+          "readOnly": true,
           "type": "string"
         },
         "percentComplete": {
-          "description": "Reflects the overall progress of the patch job in the range of\n0.0 being no progress to 100.0 being complete.",
+          "description": "Reflects the overall progress of the patch job in the range of 0.0 being no progress to 100.0 being complete.",
           "format": "double",
           "type": "number"
         },
@@ -1272,7 +1276,7 @@
       "type": "object"
     },
     "PatchJobInstanceDetails": {
-      "description": "Patch details for a VM instance. For more information about reviewing VM\ninstance details, see\n[Listing all VM instance details for a specific patch\njob](https://cloud.google.com/compute/docs/os-patch-management/manage-patch-jobs#list-instance-details).",
+      "description": "Patch details for a VM instance. For more information about reviewing VM instance details, see [Listing all VM instance details for a specific patch job](https://cloud.google.com/compute/docs/os-patch-management/manage-patch-jobs#list-instance-details).",
       "id": "PatchJobInstanceDetails",
       "properties": {
         "attemptCount": {
@@ -1285,7 +1289,7 @@
           "type": "string"
         },
         "instanceSystemId": {
-          "description": "The unique identifier for the instance. This identifier is\ndefined by the server.",
+          "description": "The unique identifier for the instance. This identifier is defined by the server.",
           "type": "string"
         },
         "name": {
@@ -1328,7 +1332,7 @@
             "The instance exceeded the time out while applying the patch.",
             "The instance is running the pre-patch step.",
             "The instance is running the post-patch step.",
-            "The service could not detect the presence of the agent. Check to ensure\nthat the agent is installed, running, and able to communicate with the\nservice."
+            "The service could not detect the presence of the agent. Check to ensure that the agent is installed, running, and able to communicate with the service."
           ],
           "type": "string"
         }
@@ -1336,7 +1340,7 @@
       "type": "object"
     },
     "PatchJobInstanceDetailsSummary": {
-      "description": "A summary of the current patch state across all instances that this patch\njob affects. Contains counts of instances in different states. These states\nmap to `InstancePatchState`. List patch job instance details to see the\nspecific states of each instance.",
+      "description": "A summary of the current patch state across all instances that this patch job affects. Contains counts of instances in different states. These states map to `InstancePatchState`. List patch job instance details to see the specific states of each instance.",
       "id": "PatchJobInstanceDetailsSummary",
       "properties": {
         "ackedInstanceCount": {
@@ -1365,7 +1369,7 @@
           "type": "string"
         },
         "noAgentDetectedInstanceCount": {
-          "description": "Number of instances that do not appear to be running the agent. Check to\nensure that the agent is installed, running, and able to communicate with\nthe service.",
+          "description": "Number of instances that do not appear to be running the agent. Check to ensure that the agent is installed, running, and able to communicate with the service.",
           "format": "int64",
           "type": "string"
         },
@@ -1418,12 +1422,12 @@
       "type": "object"
     },
     "PatchRollout": {
-      "description": "Patch rollout configuration specifications. Contains details on the\nconcurrency control when applying patch(es) to all targeted VMs.",
+      "description": "Patch rollout configuration specifications. Contains details on the concurrency control when applying patch(es) to all targeted VMs.",
       "id": "PatchRollout",
       "properties": {
         "disruptionBudget": {
           "$ref": "FixedOrPercent",
-          "description": "The maximum number (or percentage) of VMs per zone to disrupt at any given\nmoment. The number of VMs calculated from multiplying the percentage by the\ntotal number of VMs in a zone is rounded up.\n\nDuring patching, a VM is considered disrupted from the time the agent is\nnotified to begin until patching has completed. This disruption time\nincludes the time to complete reboot and any post-patch steps.\n\nA VM contributes to the disruption budget if its patching operation fails\neither when applying the patches, running pre or post patch steps, or if it\nfails to respond with a success notification before timing out. VMs that\nare not running or do not have an active agent do not count toward this\ndisruption budget.\n\nFor zone-by-zone rollouts, if the disruption budget in a zone is exceeded,\nthe patch job stops, because continuing to the next zone requires\ncompletion of the patch process in the previous zone.\n\nFor example, if the disruption budget has a fixed value of `10`, and 8 VMs\nfail to patch in the current zone, the patch job continues to patch 2 VMs\nat a time until the zone is completed. When that zone is completed\nsuccessfully, patching begins with 10 VMs at a time in the next zone. If 10\nVMs in the next zone fail to patch, the patch job stops."
+          "description": "The maximum number (or percentage) of VMs per zone to disrupt at any given moment. The number of VMs calculated from multiplying the percentage by the total number of VMs in a zone is rounded up. During patching, a VM is considered disrupted from the time the agent is notified to begin until patching has completed. This disruption time includes the time to complete reboot and any post-patch steps. A VM contributes to the disruption budget if its patching operation fails either when applying the patches, running pre or post patch steps, or if it fails to respond with a success notification before timing out. VMs that are not running or do not have an active agent do not count toward this disruption budget. For zone-by-zone rollouts, if the disruption budget in a zone is exceeded, the patch job stops, because continuing to the next zone requires completion of the patch process in the previous zone. For example, if the disruption budget has a fixed value of `10`, and 8 VMs fail to patch in the current zone, the patch job continues to patch 2 VMs at a time until the zone is completed. When that zone is completed successfully, patching begins with 10 VMs at a time in the next zone. If 10 VMs in the next zone fail to patch, the patch job stops."
         },
         "mode": {
           "description": "Mode of the patch rollout.",
@@ -1434,7 +1438,7 @@
           ],
           "enumDescriptions": [
             "Mode must be specified.",
-            "Patches are applied one zone at a time. The patch job begins in the\nregion with the lowest number of targeted VMs. Within the region,\npatching begins in the zone with the lowest number of targeted VMs. If\nmultiple regions (or zones within a region) have the same number of\ntargeted VMs, a tie-breaker is achieved by sorting the regions or zones\nin alphabetical order.",
+            "Patches are applied one zone at a time. The patch job begins in the region with the lowest number of targeted VMs. Within the region, patching begins in the zone with the lowest number of targeted VMs. If multiple regions (or zones within a region) have the same number of targeted VMs, a tie-breaker is achieved by sorting the regions or zones in alphabetical order.",
             "Patches are applied to VMs in all zones at the same time."
           ],
           "type": "string"
@@ -1447,7 +1451,7 @@
       "id": "RecurringSchedule",
       "properties": {
         "endTime": {
-          "description": "Optional. The end time at which a recurring patch deployment schedule is no longer\nactive.",
+          "description": "Optional. The end time at which a recurring patch deployment schedule is no longer active.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -1460,14 +1464,15 @@
           ],
           "enumDescriptions": [
             "Invalid. A frequency must be specified.",
-            "Indicates that the frequency should be expressed in terms of\nweeks.",
-            "Indicates that the frequency should be expressed in terms of\nmonths."
+            "Indicates that the frequency should be expressed in terms of weeks.",
+            "Indicates that the frequency should be expressed in terms of months."
           ],
           "type": "string"
         },
         "lastExecuteTime": {
           "description": "Output only. The time the last patch job ran successfully.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "monthly": {
@@ -1477,10 +1482,11 @@
         "nextExecuteTime": {
           "description": "Output only. The time the next patch job is scheduled to run.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "startTime": {
-          "description": "Optional. The time that the recurring schedule becomes effective.\nDefaults to `create_time` of the patch deployment.",
+          "description": "Optional. The time that the recurring schedule becomes effective. Defaults to `create_time` of the patch deployment.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -1490,7 +1496,7 @@
         },
         "timeZone": {
           "$ref": "TimeZone",
-          "description": "Required. Defines the time zone that `time_of_day` is relative to.\nThe rules for daylight saving time are determined by the chosen time zone."
+          "description": "Required. Defines the time zone that `time_of_day` is relative to. The rules for daylight saving time are determined by the chosen time zone."
         },
         "weekly": {
           "$ref": "WeeklySchedule",
@@ -1523,7 +1529,7 @@
       "type": "object"
     },
     "RepositoryResourceAptRepository": {
-      "description": "Represents a single apt package repository. These will be added to a repo\nfile that will be managed at /etc/apt/sources.list.d/google_osconfig.list.",
+      "description": "Represents a single apt package repository. These will be added to a repo file that will be managed at /etc/apt/sources.list.d/google_osconfig.list.",
       "id": "RepositoryResourceAptRepository",
       "properties": {
         "archiveType": {
@@ -1552,7 +1558,7 @@
           "type": "string"
         },
         "gpgKey": {
-          "description": "URI of the key file for this repository. The agent will maintain\na keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg.",
+          "description": "URI of the key file for this repository. The agent will maintain a keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg.",
           "type": "string"
         },
         "uri": {
@@ -1563,7 +1569,7 @@
       "type": "object"
     },
     "RepositoryResourceGooRepository": {
-      "description": "Represents a Goo package repository. These will be added to a repo file\nthat will be managed at C:/ProgramData/GooGet/repos/google_osconfig.repo.",
+      "description": "Represents a Goo package repository. These will be added to a repo file that will be managed at C:/ProgramData/GooGet/repos/google_osconfig.repo.",
       "id": "RepositoryResourceGooRepository",
       "properties": {
         "name": {
@@ -1578,7 +1584,7 @@
       "type": "object"
     },
     "RepositoryResourceYumRepository": {
-      "description": "Represents a single yum package repository. These will be added to a repo\nfile that will be managed at /etc/yum.repos.d/google_osconfig.repo.",
+      "description": "Represents a single yum package repository. These will be added to a repo file that will be managed at /etc/yum.repos.d/google_osconfig.repo.",
       "id": "RepositoryResourceYumRepository",
       "properties": {
         "baseUrl": {
@@ -1597,14 +1603,14 @@
           "type": "array"
         },
         "id": {
-          "description": "A one word, unique name for this repository. This will be\nthe `repo id` in the yum config file and also the `display_name` if\n`display_name` is omitted. This id is also used as the unique identifier\nwhen checking for resource conflicts.",
+          "description": "A one word, unique name for this repository. This will be the `repo id` in the yum config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for resource conflicts.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "RepositoryResourceZypperRepository": {
-      "description": "Represents a single zypper package repository. These will be added to a\nrepo file that will be managed at /etc/zypp/repos.d/google_osconfig.repo.",
+      "description": "Represents a single zypper package repository. These will be added to a repo file that will be managed at /etc/zypp/repos.d/google_osconfig.repo.",
       "id": "RepositoryResourceZypperRepository",
       "properties": {
         "baseUrl": {
@@ -1623,7 +1629,7 @@
           "type": "array"
         },
         "id": {
-          "description": "A one word, unique name for this repository. This will be\nthe `repo id` in the zypper config file and also the `display_name` if\n`display_name` is omitted. This id is also used as the unique identifier\nwhen checking for GuestPolicy conflicts.",
+          "description": "A one word, unique name for this repository. This will be the `repo id` in the zypper config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for GuestPolicy conflicts.",
           "type": "string"
         }
       },
@@ -1636,11 +1642,11 @@
       "type": "object"
     },
     "TimeOfDay": {
-      "description": "Represents a time of day. The date and time zone are either not significant\nor are specified elsewhere. An API may choose to allow leap seconds. Related\ntypes are google.type.Date and `google.protobuf.Timestamp`.",
+      "description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.",
       "id": "TimeOfDay",
       "properties": {
         "hours": {
-          "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose\nto allow the value \"24:00:00\" for scenarios like business closing time.",
+          "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.",
           "format": "int32",
           "type": "integer"
         },
@@ -1655,7 +1661,7 @@
           "type": "integer"
         },
         "seconds": {
-          "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may\nallow the value 60 if it allows leap-seconds.",
+          "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.",
           "format": "int32",
           "type": "integer"
         }
@@ -1663,7 +1669,7 @@
       "type": "object"
     },
     "TimeZone": {
-      "description": "Represents a time zone from the\n[IANA Time Zone Database](https://www.iana.org/time-zones).",
+      "description": "Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).",
       "id": "TimeZone",
       "properties": {
         "id": {
@@ -1706,7 +1712,7 @@
           "type": "string"
         },
         "weekOrdinal": {
-          "description": "Required. Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1\nindicates the last week of the month.",
+          "description": "Required. Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1 indicates the last week of the month.",
           "format": "int32",
           "type": "integer"
         }
@@ -1749,18 +1755,18 @@
       "id": "WindowsUpdateSettings",
       "properties": {
         "classifications": {
-          "description": "Only apply updates of these windows update classifications. If empty, all\nupdates are applied.",
+          "description": "Only apply updates of these windows update classifications. If empty, all updates are applied.",
           "enumDescriptions": [
             "Invalid. If classifications are included, they must be specified.",
-            "\"A widely released fix for a specific problem that addresses a critical,\nnon-security-related bug.\" [1]",
-            "\"A widely released fix for a product-specific, security-related\nvulnerability. Security vulnerabilities are rated by their severity. The\nseverity rating is indicated in the Microsoft security bulletin as\ncritical, important, moderate, or low.\" [1]",
-            "\"A widely released and frequent software update that contains additions\nto a product's definition database. Definition databases are often used\nto detect objects that have specific attributes, such as malicious code,\nphishing websites, or junk mail.\" [1]",
+            "\"A widely released fix for a specific problem that addresses a critical, non-security-related bug.\" [1]",
+            "\"A widely released fix for a product-specific, security-related vulnerability. Security vulnerabilities are rated by their severity. The severity rating is indicated in the Microsoft security bulletin as critical, important, moderate, or low.\" [1]",
+            "\"A widely released and frequent software update that contains additions to a product's definition database. Definition databases are often used to detect objects that have specific attributes, such as malicious code, phishing websites, or junk mail.\" [1]",
             "\"Software that controls the input and output of a device.\" [1]",
-            "\"New product functionality that is first distributed outside the context\nof a product release and that is typically included in the next full\nproduct release.\" [1]",
-            "\"A tested, cumulative set of all hotfixes, security updates, critical\nupdates, and updates. Additionally, service packs may contain additional\nfixes for problems that are found internally since the release of the\nproduct. Service packs my also contain a limited number of\ncustomer-requested design changes or features.\" [1]",
+            "\"New product functionality that is first distributed outside the context of a product release and that is typically included in the next full product release.\" [1]",
+            "\"A tested, cumulative set of all hotfixes, security updates, critical updates, and updates. Additionally, service packs may contain additional fixes for problems that are found internally since the release of the product. Service packs my also contain a limited number of customer-requested design changes or features.\" [1]",
             "\"A utility or feature that helps complete a task or set of tasks.\" [1]",
-            "\"A tested, cumulative set of hotfixes, security updates, critical\nupdates, and updates that are packaged together for easy deployment. A\nrollup generally targets a specific area, such as security, or a\ncomponent of a product, such as Internet Information Services (IIS).\" [1]",
-            "\"A widely released fix for a specific problem. An update addresses a\nnoncritical, non-security-related bug.\" [1]"
+            "\"A tested, cumulative set of hotfixes, security updates, critical updates, and updates that are packaged together for easy deployment. A rollup generally targets a specific area, such as security, or a component of a product, such as Internet Information Services (IIS).\" [1]",
+            "\"A widely released fix for a specific problem. An update addresses a noncritical, non-security-related bug.\" [1]"
           ],
           "items": {
             "enum": [
@@ -1775,6 +1781,18 @@
               "UPDATE_ROLLUP",
               "UPDATE"
             ],
+            "enumDescriptions": [
+              "Invalid. If classifications are included, they must be specified.",
+              "\"A widely released fix for a specific problem that addresses a critical, non-security-related bug.\" [1]",
+              "\"A widely released fix for a product-specific, security-related vulnerability. Security vulnerabilities are rated by their severity. The severity rating is indicated in the Microsoft security bulletin as critical, important, moderate, or low.\" [1]",
+              "\"A widely released and frequent software update that contains additions to a product's definition database. Definition databases are often used to detect objects that have specific attributes, such as malicious code, phishing websites, or junk mail.\" [1]",
+              "\"Software that controls the input and output of a device.\" [1]",
+              "\"New product functionality that is first distributed outside the context of a product release and that is typically included in the next full product release.\" [1]",
+              "\"A tested, cumulative set of all hotfixes, security updates, critical updates, and updates. Additionally, service packs may contain additional fixes for problems that are found internally since the release of the product. Service packs my also contain a limited number of customer-requested design changes or features.\" [1]",
+              "\"A utility or feature that helps complete a task or set of tasks.\" [1]",
+              "\"A tested, cumulative set of hotfixes, security updates, critical updates, and updates that are packaged together for easy deployment. A rollup generally targets a specific area, such as security, or a component of a product, such as Internet Information Services (IIS).\" [1]",
+              "\"A widely released fix for a specific problem. An update addresses a noncritical, non-security-related bug.\" [1]"
+            ],
             "type": "string"
           },
           "type": "array"
@@ -1787,7 +1805,7 @@
           "type": "array"
         },
         "exclusivePatches": {
-          "description": "An exclusive list of kbs to be updated. These are the only patches\nthat will be updated. This field must not be used with other\npatch configurations.",
+          "description": "An exclusive list of kbs to be updated. These are the only patches that will be updated. This field must not be used with other patch configurations.",
           "items": {
             "type": "string"
           },
@@ -1797,18 +1815,18 @@
       "type": "object"
     },
     "YumSettings": {
-      "description": "Yum patching is performed by executing `yum update`. Additional options\ncan be set to control how this is executed.\n\nNote that not all settings are supported on all platforms.",
+      "description": "Yum patching is performed by executing `yum update`. Additional options can be set to control how this is executed. Note that not all settings are supported on all platforms.",
       "id": "YumSettings",
       "properties": {
         "excludes": {
-          "description": "List of packages to exclude from update. These packages are excluded by\nusing the yum `--exclude` flag.",
+          "description": "List of packages to exclude from update. These packages are excluded by using the yum `--exclude` flag.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "exclusivePackages": {
-          "description": "An exclusive list of packages to be updated. These are the only packages\nthat will be updated. If these packages are not installed, they will be\nignored. This field must not be specified with any other patch\nconfiguration fields.",
+          "description": "An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field must not be specified with any other patch configuration fields.",
           "items": {
             "type": "string"
           },
@@ -1819,18 +1837,18 @@
           "type": "boolean"
         },
         "security": {
-          "description": "Adds the `--security` flag to `yum update`. Not supported on\nall platforms.",
+          "description": "Adds the `--security` flag to `yum update`. Not supported on all platforms.",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "ZypperSettings": {
-      "description": "Zypper patching is performed by running `zypper patch`.\nSee also https://en.opensuse.org/SDB:Zypper_manual.",
+      "description": "Zypper patching is performed by running `zypper patch`. See also https://en.opensuse.org/SDB:Zypper_manual.",
       "id": "ZypperSettings",
       "properties": {
         "categories": {
-          "description": "Install only patches with these categories.\nCommon categories include security, recommended, and feature.",
+          "description": "Install only patches with these categories. Common categories include security, recommended, and feature.",
           "items": {
             "type": "string"
           },
@@ -1844,14 +1862,14 @@
           "type": "array"
         },
         "exclusivePatches": {
-          "description": "An exclusive list of patches to be updated. These are the only patches\nthat will be installed using 'zypper patch patch:\u003cpatch_name\u003e' command.\nThis field must not be used with any other patch configuration fields.",
+          "description": "An exclusive list of patches to be updated. These are the only patches that will be installed using 'zypper patch patch:' command. This field must not be used with any other patch configuration fields.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "severities": {
-          "description": "Install only patches with these severities.\nCommon severities include critical, important, moderate, and low.",
+          "description": "Install only patches with these severities. Common severities include critical, important, moderate, and low.",
           "items": {
             "type": "string"
           },
diff --git a/osconfig/v1/osconfig-gen.go b/osconfig/v1/osconfig-gen.go
index 6703b66..3305ba3 100644
--- a/osconfig/v1/osconfig-gen.go
+++ b/osconfig/v1/osconfig-gen.go
@@ -181,25 +181,21 @@
 }
 
 // AptSettings: Apt patching is completed by executing `apt-get update
-// && apt-get
-// upgrade`. Additional options can be set to control how this is
-// executed.
+// && apt-get upgrade`. Additional options can be set to control how
+// this is executed.
 type AptSettings struct {
 	// Excludes: List of packages to exclude from update. These packages
 	// will be excluded
 	Excludes []string `json:"excludes,omitempty"`
 
 	// ExclusivePackages: An exclusive list of packages to be updated. These
-	// are the only packages
-	// that will be updated. If these packages are not installed, they will
-	// be
-	// ignored. This field cannot be specified with any other patch
-	// configuration
-	// fields.
+	// are the only packages that will be updated. If these packages are not
+	// installed, they will be ignored. This field cannot be specified with
+	// any other patch configuration fields.
 	ExclusivePackages []string `json:"exclusivePackages,omitempty"`
 
-	// Type: By changing the type to DIST, the patching is performed
-	// using `apt-get dist-upgrade` instead.
+	// Type: By changing the type to DIST, the patching is performed using
+	// `apt-get dist-upgrade` instead.
 	//
 	// Possible values:
 	//   "TYPE_UNSPECIFIED" - By default, upgrade will be performed.
@@ -235,17 +231,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -255,14 +245,13 @@
 // ExecResource: A resource that contains custom validation and
 // enforcement steps.
 type ExecResource struct {
-	// Enforce: What to run to bring this resource into the desired
-	// state.
+	// Enforce: What to run to bring this resource into the desired state.
 	// Optional if policy is in validate only mode.
 	Enforce *ExecResourceExec `json:"enforce,omitempty"`
 
 	// Validate: What to run to validate this resource is in the desired
+	// state. A successful exit code indicates resource is in the desired
 	// state.
-	// A successful exit code indicates resource is in the desired state.
 	Validate *ExecResourceExec `json:"validate,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Enforce") to
@@ -303,14 +292,12 @@
 	//
 	// Possible values:
 	//   "INTERPRETER_UNSPECIFIED" - Defaults to NONE.
-	//   "NONE" - If no interpreter is specified the
-	// source will be executed directly, which will likely only succeed
-	// for
-	// executables and scripts with shebang lines.
-	// [Wikipedia shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)).
+	//   "NONE" - If no interpreter is specified the source will be executed
+	// directly, which will likely only succeed for executables and scripts
+	// with shebang lines. [Wikipedia
+	// shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)).
 	//   "SHELL" - Indicates that the script will be run with /bin/sh on
-	// Linux and cmd.exe
-	// on windows.
+	// Linux and cmd.exe on windows.
 	//   "POWERSHELL" - Indicates that the script will be run with
 	// powershell.
 	Interpreter string `json:"interpreter,omitempty"`
@@ -379,32 +366,24 @@
 // ExecStepConfig: Common configurations for an ExecStep.
 type ExecStepConfig struct {
 	// AllowedSuccessCodes: Defaults to [0]. A list of possible return
-	// values that the
-	// execution can return to indicate a success.
+	// values that the execution can return to indicate a success.
 	AllowedSuccessCodes []int64 `json:"allowedSuccessCodes,omitempty"`
 
 	// GcsObject: A Cloud Storage object containing the executable.
 	GcsObject *GcsObject `json:"gcsObject,omitempty"`
 
 	// Interpreter: The script interpreter to use to run the script. If no
-	// interpreter is
-	// specified the script will be executed directly, which will
-	// likely
-	// only succeed for scripts with [shebang
-	// lines]
+	// interpreter is specified the script will be executed directly, which
+	// will likely only succeed for scripts with [shebang lines]
 	// (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
 	//
 	// Possible values:
 	//   "INTERPRETER_UNSPECIFIED" - Invalid for a Windows ExecStepConfig.
-	// For a Linux ExecStepConfig, the
-	// interpreter will be parsed from the shebang line of the script
-	// if
-	// unspecified.
+	// For a Linux ExecStepConfig, the interpreter will be parsed from the
+	// shebang line of the script if unspecified.
 	//   "SHELL" - Indicates that the script is run with `/bin/sh` on Linux
-	// and `cmd`
-	// on Windows.
-	//   "POWERSHELL" - Indicates that the file is run with PowerShell
-	// flags
+	// and `cmd` on Windows.
+	//   "POWERSHELL" - Indicates that the file is run with PowerShell flags
 	// `-NonInteractive`, `-NoProfile`, and `-ExecutionPolicy Bypass`.
 	Interpreter string `json:"interpreter,omitempty"`
 
@@ -436,36 +415,30 @@
 }
 
 // ExecutePatchJobRequest: A request message to initiate patching across
-// Compute Engine
-// instances.
+// Compute Engine instances.
 type ExecutePatchJobRequest struct {
 	// Description: Description of the patch job. Length of the description
-	// is limited
-	// to 1024 characters.
+	// is limited to 1024 characters.
 	Description string `json:"description,omitempty"`
 
 	// DisplayName: Display name for this patch job. This does not have to
 	// be unique.
 	DisplayName string `json:"displayName,omitempty"`
 
-	// DryRun: If this patch is a dry-run only, instances are contacted
-	// but
+	// DryRun: If this patch is a dry-run only, instances are contacted but
 	// will do nothing.
 	DryRun bool `json:"dryRun,omitempty"`
 
 	// Duration: Duration of the patch job. After the duration ends, the
-	// patch job
-	// times out.
+	// patch job times out.
 	Duration string `json:"duration,omitempty"`
 
 	// InstanceFilter: Required. Instances to patch, either explicitly or
-	// filtered by some criteria such
-	// as zone or labels.
+	// filtered by some criteria such as zone or labels.
 	InstanceFilter *PatchInstanceFilter `json:"instanceFilter,omitempty"`
 
 	// PatchConfig: Patch configuration being applied. If omitted, instances
-	// are
-	// patched using the default configurations.
+	// are patched using the default configurations.
 	PatchConfig *PatchConfig `json:"patchConfig,omitempty"`
 
 	// Rollout: Rollout strategy of the patch job.
@@ -497,20 +470,16 @@
 // ExtractArchiveResource: A resource that extracts an archive
 type ExtractArchiveResource struct {
 	// Creates: Local file path that signals this resource is in the desired
-	// state.
-	// The absence of this file will indicate whether the archive needs to
-	// be
-	// extracted.
+	// state. The absence of this file will indicate whether the archive
+	// needs to be extracted.
 	Creates string `json:"creates,omitempty"`
 
 	// Destination: Directory to extract archive to.
 	Destination string `json:"destination,omitempty"`
 
 	// Overwrite: Whether to overwrite existing files during extraction. If
-	// this is set to
-	// true, any existing files in the destination location will be
-	// overwritten by
-	// the extraction.
+	// this is set to true, any existing files in the destination location
+	// will be overwritten by the extraction.
 	Overwrite bool `json:"overwrite,omitempty"`
 
 	// Source: The source archive to extract.
@@ -559,11 +528,8 @@
 // File: A remote or local file.
 type File struct {
 	// AllowInsecure: Defaults to false. When false, files will be subject
-	// to validations
-	// based on the file type:
-	//
-	// Remote: A checksum must be specified.
-	// GCS:    An object generation number must be specified.
+	// to validations based on the file type: Remote: A checksum must be
+	// specified. GCS: An object generation number must be specified.
 	AllowInsecure bool `json:"allowInsecure,omitempty"`
 
 	// Gcs: A GCS object.
@@ -638,8 +604,7 @@
 	Sha256Checksum string `json:"sha256Checksum,omitempty"`
 
 	// Uri: URI from which to fetch the object. It should contain both the
-	// protocol
-	// and path following the format {protocol}://{location}.
+	// protocol and path following the format {protocol}://{location}.
 	Uri string `json:"uri,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Sha256Checksum") to
@@ -677,25 +642,15 @@
 	// Path: The absolute path of the file.
 	Path string `json:"path,omitempty"`
 
-	// Permissions: Consists of three octal digits which represent,
-	// in
-	// order, the permissions of the owner, group, and other users for
-	// the
-	// file (similarly to the numeric mode used in the linux chmod
-	// utility).
-	// Each digit represents a three bit number with the 4 bit
-	// corresponding to the read permissions, the 2 bit corresponds to
-	// the
-	// write bit, and the one bit corresponds to the execute
-	// permission.
-	// Default behavior is 755.
-	//
-	// Below are some examples of permissions and their associated
-	// values:
-	// read, write, and execute: 7
-	// read and execute: 5
-	// read and write: 6
-	// read only: 4
+	// Permissions: Consists of three octal digits which represent, in
+	// order, the permissions of the owner, group, and other users for the
+	// file (similarly to the numeric mode used in the linux chmod utility).
+	// Each digit represents a three bit number with the 4 bit corresponding
+	// to the read permissions, the 2 bit corresponds to the write bit, and
+	// the one bit corresponds to the execute permission. Default behavior
+	// is 755. Below are some examples of permissions and their associated
+	// values: read, write, and execute: 7 read and execute: 5 read and
+	// write: 6 read only: 4
 	Permissions string `json:"permissions,omitempty"`
 
 	// State: Desired state of the file.
@@ -705,8 +660,7 @@
 	//   "PRESENT" - Ensure file at path is present.
 	//   "ABSENT" - Ensure file at path is absent.
 	//   "CONTENTS_MATCH" - Ensure the contents of the file at path matches.
-	// If the file does not
-	// exist it will be created.
+	// If the file does not exist it will be created.
 	State string `json:"state,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Content") to
@@ -733,15 +687,13 @@
 }
 
 // FixedOrPercent: Message encapsulating a value that can be either
-// absolute ("fixed") or
-// relative ("percent") to a value.
+// absolute ("fixed") or relative ("percent") to a value.
 type FixedOrPercent struct {
 	// Fixed: Specifies a fixed value.
 	Fixed int64 `json:"fixed,omitempty"`
 
 	// Percent: Specifies the relative value defined as a percentage, which
-	// will be
-	// multiplied by a reference value.
+	// will be multiplied by a reference value.
 	Percent int64 `json:"percent,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Fixed") to
@@ -773,8 +725,8 @@
 	Bucket string `json:"bucket,omitempty"`
 
 	// GenerationNumber: Required. Generation number of the Cloud Storage
-	// object. This is used to
-	// ensure that the ExecStep specified by this PatchJob does not change.
+	// object. This is used to ensure that the ExecStep specified by this
+	// PatchJob does not change.
 	GenerationNumber int64 `json:"generationNumber,omitempty,string"`
 
 	// Object: Required. Name of the Cloud Storage object.
@@ -811,8 +763,7 @@
 // deployments.
 type ListPatchDeploymentsResponse struct {
 	// NextPageToken: A pagination token that can be used to get the next
-	// page of patch
-	// deployments.
+	// page of patch deployments.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// PatchDeployments: The list of patch deployments.
@@ -919,16 +870,13 @@
 }
 
 // MonthlySchedule: Represents a monthly schedule. An example of a valid
-// monthly schedule is
-// "on the third Tuesday of the month" or "on the 15th of the month".
+// monthly schedule is "on the third Tuesday of the month" or "on the
+// 15th of the month".
 type MonthlySchedule struct {
 	// MonthDay: Required. One day of the month. 1-31 indicates the 1st to
-	// the 31st day. -1
-	// indicates the last day of the month.
-	// Months without the target day will be skipped. For example, a
-	// schedule to
-	// run "every month on the 31st" will not run in February, April, June,
-	// etc.
+	// the 31st day. -1 indicates the last day of the month. Months without
+	// the target day will be skipped. For example, a schedule to run "every
+	// month on the 31st" will not run in February, April, June, etc.
 	MonthDay int64 `json:"monthDay,omitempty"`
 
 	// WeekDayOfMonth: Required. Week day in a month.
@@ -958,8 +906,8 @@
 }
 
 // OneTimeSchedule: Sets the time for a one time patch deployment.
-// Timestamp is in
-// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+// Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text
+// format.
 type OneTimeSchedule struct {
 	// ExecuteTime: Required. The desired patch job execution time.
 	ExecuteTime string `json:"executeTime,omitempty"`
@@ -996,15 +944,13 @@
 	Deb *PackageResourceDeb `json:"deb,omitempty"`
 
 	// DesiredState: The desired_state the agent should maintain for this
-	// package. The
-	// default is to ensure the package is installed.
+	// package. The default is to ensure the package is installed.
 	//
 	// Possible values:
 	//   "DESIRED_STATE_UNSPECIFIED" - Unspecified is invalid.
 	//   "INSTALLED" - Ensure that the package is installed.
 	//   "REMOVED" - The agent will ensure that the package is not installed
-	// and uninstall it
-	// if detected.
+	// and uninstall it if detected.
 	DesiredState string `json:"desiredState,omitempty"`
 
 	// Googet: A package managed by GooGet.
@@ -1045,9 +991,9 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// PackageResourceAPT: A package managed by APT.
-// install: `apt-get update && apt-get -y install [name]`
-// remove: `apt-get -y remove [name]`
+// PackageResourceAPT: A package managed by APT. install: `apt-get
+// update && apt-get -y install [name]` remove: `apt-get -y remove
+// [name]`
 type PackageResourceAPT struct {
 	// Name: Package name.
 	Name string `json:"name,omitempty"`
@@ -1078,9 +1024,9 @@
 // PackageResourceDeb: A deb package file. dpkg packages only support
 // INSTALLED state.
 type PackageResourceDeb struct {
-	// PullDeps: Whether dependencies should also be installed.
-	// install when false: `dpkg -i package`
-	// install when true: `apt-get update && apt-get -y install package.deb`
+	// PullDeps: Whether dependencies should also be installed. install when
+	// false: `dpkg -i package` install when true: `apt-get update &&
+	// apt-get -y install package.deb`
 	PullDeps bool `json:"pullDeps,omitempty"`
 
 	// Source: A deb package.
@@ -1109,9 +1055,9 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// PackageResourceGooGet: A package managed by GooGet.
-// install: `googet -noconfirm install package`
-// remove: `googet -noconfirm remove package`
+// PackageResourceGooGet: A package managed by GooGet. install: `googet
+// -noconfirm install package` remove: `googet -noconfirm remove
+// package`
 type PackageResourceGooGet struct {
 	// Name: Package name.
 	Name string `json:"name,omitempty"`
@@ -1140,16 +1086,14 @@
 }
 
 // PackageResourceMSI: An MSI package. MSI packages only support
-// INSTALLED state.
-// Install msiexec /i /qn /norestart
+// INSTALLED state. Install msiexec /i /qn /norestart
 type PackageResourceMSI struct {
 	// AllowedSuccessCodes: Return codes that indicate that the software
-	// installed or updated
-	// successfully. Behaviour defaults to [0]
+	// installed or updated successfully. Behaviour defaults to [0]
 	AllowedSuccessCodes []int64 `json:"allowedSuccessCodes,omitempty"`
 
-	// Flags: Flags to use during package install.
-	// Appended to the defalts of "/i /qn /norestart"
+	// Flags: Flags to use during package install. Appended to the defalts
+	// of "/i /qn /norestart"
 	Flags []string `json:"flags,omitempty"`
 
 	// Source: The MSI package.
@@ -1182,10 +1126,9 @@
 // PackageResourceRPM: An RPM package file. RPM packages only support
 // INSTALLED state.
 type PackageResourceRPM struct {
-	// PullDeps: Whether dependencies should also be installed.
-	// install when false: `rpm --upgrade --replacepkgs package.rpm`
-	// install when true: `yum -y install package.rpm` or
-	// `zypper -y install package.rpm`
+	// PullDeps: Whether dependencies should also be installed. install when
+	// false: `rpm --upgrade --replacepkgs package.rpm` install when true:
+	// `yum -y install package.rpm` or `zypper -y install package.rpm`
 	PullDeps bool `json:"pullDeps,omitempty"`
 
 	// Source: An rpm package.
@@ -1214,9 +1157,8 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// PackageResourceYUM: A package managed by YUM.
-// install: `yum -y install package`
-// remove: `yum -y remove package`
+// PackageResourceYUM: A package managed by YUM. install: `yum -y
+// install package` remove: `yum -y remove package`
 type PackageResourceYUM struct {
 	// Name: Package name.
 	Name string `json:"name,omitempty"`
@@ -1244,9 +1186,8 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// PackageResourceZypper: A package managed by Zypper.
-// install: `zypper -y install package`
-// remove: `zypper -y rm package`
+// PackageResourceZypper: A package managed by Zypper. install: `zypper
+// -y install package` remove: `zypper -y rm package`
 type PackageResourceZypper struct {
 	// Name: Package name.
 	Name string `json:"name,omitempty"`
@@ -1275,17 +1216,14 @@
 }
 
 // PatchConfig: Patch configuration specifications. Contains details on
-// how to apply the
-// patch(es) to a VM instance.
+// how to apply the patch(es) to a VM instance.
 type PatchConfig struct {
 	// Apt: Apt update settings. Use this setting to override the default
-	// `apt` patch
-	// rules.
+	// `apt` patch rules.
 	Apt *AptSettings `json:"apt,omitempty"`
 
 	// Goo: Goo update settings. Use this setting to override the default
-	// `goo` patch
-	// rules.
+	// `goo` patch rules.
 	Goo *GooSettings `json:"goo,omitempty"`
 
 	// PostStep: The `ExecStep` to run after the patch update.
@@ -1299,12 +1237,10 @@
 	// Possible values:
 	//   "REBOOT_CONFIG_UNSPECIFIED" - The default behavior is DEFAULT.
 	//   "DEFAULT" - The agent decides if a reboot is necessary by checking
-	// signals such as
-	// registry keys on Windows or `/var/run/reboot-required` on APT
-	// based
-	// systems. On RPM based systems, a set of core system package install
-	// times
-	// are compared with system boot time.
+	// signals such as registry keys on Windows or
+	// `/var/run/reboot-required` on APT based systems. On RPM based
+	// systems, a set of core system package install times are compared with
+	// system boot time.
 	//   "ALWAYS" - Always reboot the machine after the update completes.
 	//   "NEVER" - Never reboot the machine after the update completes.
 	RebootConfig string `json:"rebootConfig,omitempty"`
@@ -1314,13 +1250,11 @@
 	WindowsUpdate *WindowsUpdateSettings `json:"windowsUpdate,omitempty"`
 
 	// Yum: Yum update settings. Use this setting to override the default
-	// `yum` patch
-	// rules.
+	// `yum` patch rules.
 	Yum *YumSettings `json:"yum,omitempty"`
 
 	// Zypper: Zypper update settings. Use this setting to override the
-	// default `zypper`
-	// patch rules.
+	// default `zypper` patch rules.
 	Zypper *ZypperSettings `json:"zypper,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Apt") to
@@ -1347,24 +1281,20 @@
 }
 
 // PatchDeployment: Patch deployments are configurations that individual
-// patch jobs use to
-// complete a patch. These configurations include instance filter,
-// package
-// repository settings, and a schedule. For more information about
-// creating and
-// managing patch deployments, see [Scheduling
-// patch
-// jobs](https://cloud.google.com/compute/docs/os-patch-management/
-// schedule-patch-jobs).
+// patch jobs use to complete a patch. These configurations include
+// instance filter, package repository settings, and a schedule. For
+// more information about creating and managing patch deployments, see
+// [Scheduling patch
+// jobs](https://cloud.google.com/compute/docs/os-patch-management/schedu
+// le-patch-jobs).
 type PatchDeployment struct {
 	// CreateTime: Output only. Time the patch deployment was created.
-	// Timestamp is in
-	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+	// Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text
+	// format.
 	CreateTime string `json:"createTime,omitempty"`
 
 	// Description: Optional. Description of the patch deployment. Length of
-	// the description is limited
-	// to 1024 characters.
+	// the description is limited to 1024 characters.
 	Description string `json:"description,omitempty"`
 
 	// Duration: Optional. Duration of the patch. After the duration ends,
@@ -1375,19 +1305,14 @@
 	InstanceFilter *PatchInstanceFilter `json:"instanceFilter,omitempty"`
 
 	// LastExecuteTime: Output only. The last time a patch job was started
-	// by this deployment.
-	// Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
-	// text
-	// format.
+	// by this deployment. Timestamp is in
+	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
 	LastExecuteTime string `json:"lastExecuteTime,omitempty"`
 
 	// Name: Unique name for the patch deployment resource in a project. The
-	// patch
-	// deployment name is in the
-	// form:
-	// `projects/{project_id}/patchDeployments/{patch_deployment_id}`.
-	//
-	// This field is ignored when you create a new patch deployment.
+	// patch deployment name is in the form:
+	// `projects/{project_id}/patchDeployments/{patch_deployment_id}`. This
+	// field is ignored when you create a new patch deployment.
 	Name string `json:"name,omitempty"`
 
 	// OneTimeSchedule: Required. Schedule a one-time execution.
@@ -1403,8 +1328,8 @@
 	Rollout *PatchRollout `json:"rollout,omitempty"`
 
 	// UpdateTime: Output only. Time the patch deployment was last updated.
-	// Timestamp is in
-	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+	// Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text
+	// format.
 	UpdateTime string `json:"updateTime,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1435,44 +1360,33 @@
 }
 
 // PatchInstanceFilter: A filter to target VM instances for patching.
-// The targeted
-// VMs must meet all criteria specified. So if both labels and zones
-// are
-// specified, the patch job targets only VMs with those labels and in
-// those
-// zones.
+// The targeted VMs must meet all criteria specified. So if both labels
+// and zones are specified, the patch job targets only VMs with those
+// labels and in those zones.
 type PatchInstanceFilter struct {
 	// All: Target all VM instances in the project. If true, no other
-	// criteria is
-	// permitted.
+	// criteria is permitted.
 	All bool `json:"all,omitempty"`
 
 	// GroupLabels: Targets VM instances matching ANY of these GroupLabels.
-	// This allows
-	// targeting of disparate groups of VM instances.
+	// This allows targeting of disparate groups of VM instances.
 	GroupLabels []*PatchInstanceFilterGroupLabel `json:"groupLabels,omitempty"`
 
 	// InstanceNamePrefixes: Targets VMs whose name starts with one of these
-	// prefixes. Similar to
-	// labels, this is another way to group VMs when targeting configs,
-	// for
-	// example prefix="prod-".
+	// prefixes. Similar to labels, this is another way to group VMs when
+	// targeting configs, for example prefix="prod-".
 	InstanceNamePrefixes []string `json:"instanceNamePrefixes,omitempty"`
 
 	// Instances: Targets any of the VM instances specified. Instances are
-	// specified by their
-	// URI in the form
+	// specified by their URI in the form
 	// `zones/[ZONE]/instances/[INSTANCE_NAME]`,
-	// `projects/[PROJECT_ID]/zones
-	// /[ZONE]/instances/[INSTANCE_NAME]`,
-	// or
-	// `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/
-	// [ZONE]/instances/[INSTANCE_NAME]`
+	// `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or
+	// `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZO
+	// NE]/instances/[INSTANCE_NAME]`
 	Instances []string `json:"instances,omitempty"`
 
 	// Zones: Targets VM instances in ANY of these zones. Leave empty to
-	// target VM
-	// instances in any zone.
+	// target VM instances in any zone.
 	Zones []string `json:"zones,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "All") to
@@ -1499,21 +1413,15 @@
 }
 
 // PatchInstanceFilterGroupLabel: Targets a group of VM instances by
-// using their
-// [assigned
-// labels](https://cloud.google.com/compute/docs/labeling-resou
-// rces). Labels
-// are key-value pairs. A `GroupLabel` is a combination of labels
-// that is used to target VMs for a patch job.
-//
-// For example, a patch job can target VMs that have the
-// following
-// `GroupLabel`: `{"env":"test", "app":"web"}`. This means that the
-// patch job
-// is applied to VMs that have both the labels `env=test` and `app=web`.
+// using their [assigned
+// labels](https://cloud.google.com/compute/docs/labeling-resources).
+// Labels are key-value pairs. A `GroupLabel` is a combination of labels
+// that is used to target VMs for a patch job. For example, a patch job
+// can target VMs that have the following `GroupLabel`: `{"env":"test",
+// "app":"web"}`. This means that the patch job is applied to VMs that
+// have both the labels `env=test` and `app=web`.
 type PatchInstanceFilterGroupLabel struct {
-	// Labels: Compute Engine instance labels that must be present for a
-	// VM
+	// Labels: Compute Engine instance labels that must be present for a VM
 	// instance to be targeted by this filter.
 	Labels map[string]string `json:"labels,omitempty"`
 
@@ -1541,44 +1449,34 @@
 }
 
 // PatchJob: A high level representation of a patch job that is either
-// in progress
-// or has completed.
-//
-// Instance details are not included in the job. To paginate through
-// instance
-// details, use ListPatchJobInstanceDetails.
-//
-// For more information about patch jobs, see
-// [Creating
-// patch
-// jobs](https://cloud.google.com/compute/docs/os-patch-management/
-// create-patch-job).
+// in progress or has completed. Instance details are not included in
+// the job. To paginate through instance details, use
+// ListPatchJobInstanceDetails. For more information about patch jobs,
+// see [Creating patch
+// jobs](https://cloud.google.com/compute/docs/os-patch-management/create
+// -patch-job).
 type PatchJob struct {
 	// CreateTime: Time this patch job was created.
 	CreateTime string `json:"createTime,omitempty"`
 
 	// Description: Description of the patch job. Length of the description
-	// is limited
-	// to 1024 characters.
+	// is limited to 1024 characters.
 	Description string `json:"description,omitempty"`
 
 	// DisplayName: Display name for this patch job. This is not a unique
 	// identifier.
 	DisplayName string `json:"displayName,omitempty"`
 
-	// DryRun: If this patch job is a dry run, the agent reports that it
-	// has
+	// DryRun: If this patch job is a dry run, the agent reports that it has
 	// finished without running any updates on the VM instance.
 	DryRun bool `json:"dryRun,omitempty"`
 
-	// Duration: Duration of the patch job. After the duration ends,
-	// the
+	// Duration: Duration of the patch job. After the duration ends, the
 	// patch job times out.
 	Duration string `json:"duration,omitempty"`
 
 	// ErrorMessage: If this patch job failed, this message provides
-	// information about the
-	// failure.
+	// information about the failure.
 	ErrorMessage string `json:"errorMessage,omitempty"`
 
 	// InstanceDetailsSummary: Summary of instance details.
@@ -1587,8 +1485,7 @@
 	// InstanceFilter: Instances to patch.
 	InstanceFilter *PatchInstanceFilter `json:"instanceFilter,omitempty"`
 
-	// Name: Unique identifier for this patch job in the
-	// form
+	// Name: Unique identifier for this patch job in the form
 	// `projects/*/patchJobs/*`
 	Name string `json:"name,omitempty"`
 
@@ -1600,8 +1497,7 @@
 	PatchDeployment string `json:"patchDeployment,omitempty"`
 
 	// PercentComplete: Reflects the overall progress of the patch job in
-	// the range of
-	// 0.0 being no progress to 100.0 being complete.
+	// the range of 0.0 being no progress to 100.0 being complete.
 	PercentComplete float64 `json:"percentComplete,omitempty"`
 
 	// Rollout: Rollout strategy being applied.
@@ -1667,12 +1563,10 @@
 }
 
 // PatchJobInstanceDetails: Patch details for a VM instance. For more
-// information about reviewing VM
-// instance details, see
-// [Listing all VM instance details for a specific
-// patch
-// job](https://cloud.google.com/compute/docs/os-patch-management/m
-// anage-patch-jobs#list-instance-details).
+// information about reviewing VM instance details, see [Listing all VM
+// instance details for a specific patch
+// job](https://cloud.google.com/compute/docs/os-patch-management/manage-
+// patch-jobs#list-instance-details).
 type PatchJobInstanceDetails struct {
 	// AttemptCount: The number of times the agent that the agent attempts
 	// to apply the patch.
@@ -1682,8 +1576,7 @@
 	FailureReason string `json:"failureReason,omitempty"`
 
 	// InstanceSystemId: The unique identifier for the instance. This
-	// identifier is
-	// defined by the server.
+	// identifier is defined by the server.
 	InstanceSystemId string `json:"instanceSystemId,omitempty"`
 
 	// Name: The instance name in the form `projects/*/zones/*/instances/*`
@@ -1713,10 +1606,8 @@
 	//   "RUNNING_POST_PATCH_STEP" - The instance is running the post-patch
 	// step.
 	//   "NO_AGENT_DETECTED" - The service could not detect the presence of
-	// the agent. Check to ensure
-	// that the agent is installed, running, and able to communicate with
-	// the
-	// service.
+	// the agent. Check to ensure that the agent is installed, running, and
+	// able to communicate with the service.
 	State string `json:"state,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AttemptCount") to
@@ -1743,11 +1634,9 @@
 }
 
 // PatchJobInstanceDetailsSummary: A summary of the current patch state
-// across all instances that this patch
-// job affects. Contains counts of instances in different states. These
-// states
-// map to `InstancePatchState`. List patch job instance details to see
-// the
+// across all instances that this patch job affects. Contains counts of
+// instances in different states. These states map to
+// `InstancePatchState`. List patch job instance details to see the
 // specific states of each instance.
 type PatchJobInstanceDetailsSummary struct {
 	// AckedInstanceCount: Number of instances that have acked and will
@@ -1769,10 +1658,8 @@
 	InactiveInstanceCount int64 `json:"inactiveInstanceCount,omitempty,string"`
 
 	// NoAgentDetectedInstanceCount: Number of instances that do not appear
-	// to be running the agent. Check to
-	// ensure that the agent is installed, running, and able to communicate
-	// with
-	// the service.
+	// to be running the agent. Check to ensure that the agent is installed,
+	// running, and able to communicate with the service.
 	NoAgentDetectedInstanceCount int64 `json:"noAgentDetectedInstanceCount,omitempty,string"`
 
 	// NotifiedInstanceCount: Number of instances notified about patch job.
@@ -1832,46 +1719,29 @@
 }
 
 // PatchRollout: Patch rollout configuration specifications. Contains
-// details on the
-// concurrency control when applying patch(es) to all targeted VMs.
+// details on the concurrency control when applying patch(es) to all
+// targeted VMs.
 type PatchRollout struct {
 	// DisruptionBudget: The maximum number (or percentage) of VMs per zone
-	// to disrupt at any given
-	// moment. The number of VMs calculated from multiplying the percentage
-	// by the
-	// total number of VMs in a zone is rounded up.
-	//
-	// During patching, a VM is considered disrupted from the time the agent
-	// is
-	// notified to begin until patching has completed. This disruption
-	// time
-	// includes the time to complete reboot and any post-patch steps.
-	//
-	// A VM contributes to the disruption budget if its patching operation
-	// fails
-	// either when applying the patches, running pre or post patch steps, or
-	// if it
-	// fails to respond with a success notification before timing out. VMs
-	// that
-	// are not running or do not have an active agent do not count toward
-	// this
-	// disruption budget.
-	//
-	// For zone-by-zone rollouts, if the disruption budget in a zone is
-	// exceeded,
-	// the patch job stops, because continuing to the next zone
-	// requires
-	// completion of the patch process in the previous zone.
-	//
-	// For example, if the disruption budget has a fixed value of `10`, and
-	// 8 VMs
-	// fail to patch in the current zone, the patch job continues to patch 2
-	// VMs
-	// at a time until the zone is completed. When that zone is
-	// completed
-	// successfully, patching begins with 10 VMs at a time in the next zone.
-	// If 10
-	// VMs in the next zone fail to patch, the patch job stops.
+	// to disrupt at any given moment. The number of VMs calculated from
+	// multiplying the percentage by the total number of VMs in a zone is
+	// rounded up. During patching, a VM is considered disrupted from the
+	// time the agent is notified to begin until patching has completed.
+	// This disruption time includes the time to complete reboot and any
+	// post-patch steps. A VM contributes to the disruption budget if its
+	// patching operation fails either when applying the patches, running
+	// pre or post patch steps, or if it fails to respond with a success
+	// notification before timing out. VMs that are not running or do not
+	// have an active agent do not count toward this disruption budget. For
+	// zone-by-zone rollouts, if the disruption budget in a zone is
+	// exceeded, the patch job stops, because continuing to the next zone
+	// requires completion of the patch process in the previous zone. For
+	// example, if the disruption budget has a fixed value of `10`, and 8
+	// VMs fail to patch in the current zone, the patch job continues to
+	// patch 2 VMs at a time until the zone is completed. When that zone is
+	// completed successfully, patching begins with 10 VMs at a time in the
+	// next zone. If 10 VMs in the next zone fail to patch, the patch job
+	// stops.
 	DisruptionBudget *FixedOrPercent `json:"disruptionBudget,omitempty"`
 
 	// Mode: Mode of the patch rollout.
@@ -1879,16 +1749,11 @@
 	// Possible values:
 	//   "MODE_UNSPECIFIED" - Mode must be specified.
 	//   "ZONE_BY_ZONE" - Patches are applied one zone at a time. The patch
-	// job begins in the
-	// region with the lowest number of targeted VMs. Within the
-	// region,
-	// patching begins in the zone with the lowest number of targeted VMs.
-	// If
-	// multiple regions (or zones within a region) have the same number
-	// of
-	// targeted VMs, a tie-breaker is achieved by sorting the regions or
-	// zones
-	// in alphabetical order.
+	// job begins in the region with the lowest number of targeted VMs.
+	// Within the region, patching begins in the zone with the lowest number
+	// of targeted VMs. If multiple regions (or zones within a region) have
+	// the same number of targeted VMs, a tie-breaker is achieved by sorting
+	// the regions or zones in alphabetical order.
 	//   "CONCURRENT_ZONES" - Patches are applied to VMs in all zones at the
 	// same time.
 	Mode string `json:"mode,omitempty"`
@@ -1920,8 +1785,7 @@
 // RecurringSchedule: Sets the time for recurring patch deployments.
 type RecurringSchedule struct {
 	// EndTime: Optional. The end time at which a recurring patch deployment
-	// schedule is no longer
-	// active.
+	// schedule is no longer active.
 	EndTime string `json:"endTime,omitempty"`
 
 	// Frequency: Required. The frequency unit of this recurring schedule.
@@ -1929,11 +1793,9 @@
 	// Possible values:
 	//   "FREQUENCY_UNSPECIFIED" - Invalid. A frequency must be specified.
 	//   "WEEKLY" - Indicates that the frequency should be expressed in
-	// terms of
-	// weeks.
+	// terms of weeks.
 	//   "MONTHLY" - Indicates that the frequency should be expressed in
-	// terms of
-	// months.
+	// terms of months.
 	Frequency string `json:"frequency,omitempty"`
 
 	// LastExecuteTime: Output only. The time the last patch job ran
@@ -1948,17 +1810,15 @@
 	NextExecuteTime string `json:"nextExecuteTime,omitempty"`
 
 	// StartTime: Optional. The time that the recurring schedule becomes
-	// effective.
-	// Defaults to `create_time` of the patch deployment.
+	// effective. Defaults to `create_time` of the patch deployment.
 	StartTime string `json:"startTime,omitempty"`
 
 	// TimeOfDay: Required. Time of the day to run a recurring deployment.
 	TimeOfDay *TimeOfDay `json:"timeOfDay,omitempty"`
 
 	// TimeZone: Required. Defines the time zone that `time_of_day` is
-	// relative to.
-	// The rules for daylight saving time are determined by the chosen time
-	// zone.
+	// relative to. The rules for daylight saving time are determined by the
+	// chosen time zone.
 	TimeZone *TimeZone `json:"timeZone,omitempty"`
 
 	// Weekly: Required. Schedule with weekly executions.
@@ -2025,9 +1885,8 @@
 }
 
 // RepositoryResourceAptRepository: Represents a single apt package
-// repository. These will be added to a repo
-// file that will be managed at
-// /etc/apt/sources.list.d/google_osconfig.list.
+// repository. These will be added to a repo file that will be managed
+// at /etc/apt/sources.list.d/google_osconfig.list.
 type RepositoryResourceAptRepository struct {
 	// ArchiveType: Type of archive files in this repository. The default
 	// behavior is DEB.
@@ -2047,8 +1906,8 @@
 	Distribution string `json:"distribution,omitempty"`
 
 	// GpgKey: URI of the key file for this repository. The agent will
-	// maintain
-	// a keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg.
+	// maintain a keyring at
+	// /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg.
 	GpgKey string `json:"gpgKey,omitempty"`
 
 	// Uri: URI for this repository.
@@ -2078,8 +1937,7 @@
 }
 
 // RepositoryResourceGooRepository: Represents a Goo package repository.
-// These will be added to a repo file
-// that will be managed at
+// These will be added to a repo file that will be managed at
 // C:/ProgramData/GooGet/repos/google_osconfig.repo.
 type RepositoryResourceGooRepository struct {
 	// Name: The name of the repository.
@@ -2112,8 +1970,8 @@
 }
 
 // RepositoryResourceYumRepository: Represents a single yum package
-// repository. These will be added to a repo
-// file that will be managed at /etc/yum.repos.d/google_osconfig.repo.
+// repository. These will be added to a repo file that will be managed
+// at /etc/yum.repos.d/google_osconfig.repo.
 type RepositoryResourceYumRepository struct {
 	// BaseUrl: The location of the repository directory.
 	BaseUrl string `json:"baseUrl,omitempty"`
@@ -2124,12 +1982,10 @@
 	// GpgKeys: URIs of GPG keys.
 	GpgKeys []string `json:"gpgKeys,omitempty"`
 
-	// Id: A one word, unique name for this repository. This will be
-	// the `repo id` in the yum config file and also the `display_name`
-	// if
+	// Id: A one word, unique name for this repository. This will be the
+	// `repo id` in the yum config file and also the `display_name` if
 	// `display_name` is omitted. This id is also used as the unique
-	// identifier
-	// when checking for resource conflicts.
+	// identifier when checking for resource conflicts.
 	Id string `json:"id,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "BaseUrl") to
@@ -2156,9 +2012,8 @@
 }
 
 // RepositoryResourceZypperRepository: Represents a single zypper
-// package repository. These will be added to a
-// repo file that will be managed at
-// /etc/zypp/repos.d/google_osconfig.repo.
+// package repository. These will be added to a repo file that will be
+// managed at /etc/zypp/repos.d/google_osconfig.repo.
 type RepositoryResourceZypperRepository struct {
 	// BaseUrl: The location of the repository directory.
 	BaseUrl string `json:"baseUrl,omitempty"`
@@ -2169,12 +2024,10 @@
 	// GpgKeys: URIs of GPG keys.
 	GpgKeys []string `json:"gpgKeys,omitempty"`
 
-	// Id: A one word, unique name for this repository. This will be
-	// the `repo id` in the zypper config file and also the `display_name`
-	// if
+	// Id: A one word, unique name for this repository. This will be the
+	// `repo id` in the zypper config file and also the `display_name` if
 	// `display_name` is omitted. This id is also used as the unique
-	// identifier
-	// when checking for GuestPolicy conflicts.
+	// identifier when checking for GuestPolicy conflicts.
 	Id string `json:"id,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "BaseUrl") to
@@ -2205,15 +2058,13 @@
 }
 
 // TimeOfDay: Represents a time of day. The date and time zone are
-// either not significant
-// or are specified elsewhere. An API may choose to allow leap seconds.
-// Related
-// types are google.type.Date and `google.protobuf.Timestamp`.
+// either not significant or are specified elsewhere. An API may choose
+// to allow leap seconds. Related types are google.type.Date and
+// `google.protobuf.Timestamp`.
 type TimeOfDay struct {
 	// Hours: Hours of day in 24 hour format. Should be from 0 to 23. An API
-	// may choose
-	// to allow the value "24:00:00" for scenarios like business closing
-	// time.
+	// may choose to allow the value "24:00:00" for scenarios like business
+	// closing time.
 	Hours int64 `json:"hours,omitempty"`
 
 	// Minutes: Minutes of hour of day. Must be from 0 to 59.
@@ -2224,8 +2075,7 @@
 	Nanos int64 `json:"nanos,omitempty"`
 
 	// Seconds: Seconds of minutes of the time. Must normally be from 0 to
-	// 59. An API may
-	// allow the value 60 if it allows leap-seconds.
+	// 59. An API may allow the value 60 if it allows leap-seconds.
 	Seconds int64 `json:"seconds,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Hours") to
@@ -2251,8 +2101,8 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// TimeZone: Represents a time zone from the
-// [IANA Time Zone Database](https://www.iana.org/time-zones).
+// TimeZone: Represents a time zone from the [IANA Time Zone
+// Database](https://www.iana.org/time-zones).
 type TimeZone struct {
 	// Id: IANA Time Zone Database time zone, e.g. "America/New_York".
 	Id string `json:"id,omitempty"`
@@ -2301,8 +2151,7 @@
 	DayOfWeek string `json:"dayOfWeek,omitempty"`
 
 	// WeekOrdinal: Required. Week number in a month. 1-4 indicates the 1st
-	// to 4th week of the month. -1
-	// indicates the last week of the month.
+	// to 4th week of the month. -1 indicates the last week of the month.
 	WeekOrdinal int64 `json:"weekOrdinal,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "DayOfWeek") to
@@ -2370,67 +2219,50 @@
 // Windows Update Agent.
 type WindowsUpdateSettings struct {
 	// Classifications: Only apply updates of these windows update
-	// classifications. If empty, all
-	// updates are applied.
+	// classifications. If empty, all updates are applied.
 	//
 	// Possible values:
 	//   "CLASSIFICATION_UNSPECIFIED" - Invalid. If classifications are
 	// included, they must be specified.
 	//   "CRITICAL" - "A widely released fix for a specific problem that
-	// addresses a critical,
-	// non-security-related bug." [1]
+	// addresses a critical, non-security-related bug." [1]
 	//   "SECURITY" - "A widely released fix for a product-specific,
-	// security-related
-	// vulnerability. Security vulnerabilities are rated by their severity.
-	// The
-	// severity rating is indicated in the Microsoft security bulletin
-	// as
-	// critical, important, moderate, or low." [1]
+	// security-related vulnerability. Security vulnerabilities are rated by
+	// their severity. The severity rating is indicated in the Microsoft
+	// security bulletin as critical, important, moderate, or low." [1]
 	//   "DEFINITION" - "A widely released and frequent software update that
-	// contains additions
-	// to a product's definition database. Definition databases are often
-	// used
-	// to detect objects that have specific attributes, such as malicious
-	// code,
-	// phishing websites, or junk mail." [1]
+	// contains additions to a product's definition database. Definition
+	// databases are often used to detect objects that have specific
+	// attributes, such as malicious code, phishing websites, or junk mail."
+	// [1]
 	//   "DRIVER" - "Software that controls the input and output of a
 	// device." [1]
 	//   "FEATURE_PACK" - "New product functionality that is first
-	// distributed outside the context
-	// of a product release and that is typically included in the next
-	// full
-	// product release." [1]
+	// distributed outside the context of a product release and that is
+	// typically included in the next full product release." [1]
 	//   "SERVICE_PACK" - "A tested, cumulative set of all hotfixes,
-	// security updates, critical
-	// updates, and updates. Additionally, service packs may contain
-	// additional
-	// fixes for problems that are found internally since the release of
-	// the
-	// product. Service packs my also contain a limited number
-	// of
-	// customer-requested design changes or features." [1]
+	// security updates, critical updates, and updates. Additionally,
+	// service packs may contain additional fixes for problems that are
+	// found internally since the release of the product. Service packs my
+	// also contain a limited number of customer-requested design changes or
+	// features." [1]
 	//   "TOOL" - "A utility or feature that helps complete a task or set of
 	// tasks." [1]
 	//   "UPDATE_ROLLUP" - "A tested, cumulative set of hotfixes, security
-	// updates, critical
-	// updates, and updates that are packaged together for easy deployment.
-	// A
-	// rollup generally targets a specific area, such as security, or
-	// a
-	// component of a product, such as Internet Information Services (IIS)."
-	// [1]
+	// updates, critical updates, and updates that are packaged together for
+	// easy deployment. A rollup generally targets a specific area, such as
+	// security, or a component of a product, such as Internet Information
+	// Services (IIS)." [1]
 	//   "UPDATE" - "A widely released fix for a specific problem. An update
-	// addresses a
-	// noncritical, non-security-related bug." [1]
+	// addresses a noncritical, non-security-related bug." [1]
 	Classifications []string `json:"classifications,omitempty"`
 
 	// Excludes: List of KBs to exclude from update.
 	Excludes []string `json:"excludes,omitempty"`
 
 	// ExclusivePatches: An exclusive list of kbs to be updated. These are
-	// the only patches
-	// that will be updated. This field must not be used with other
-	// patch configurations.
+	// the only patches that will be updated. This field must not be used
+	// with other patch configurations.
 	ExclusivePatches []string `json:"exclusivePatches,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Classifications") to
@@ -2458,31 +2290,24 @@
 }
 
 // YumSettings: Yum patching is performed by executing `yum update`.
-// Additional options
-// can be set to control how this is executed.
-//
-// Note that not all settings are supported on all platforms.
+// Additional options can be set to control how this is executed. Note
+// that not all settings are supported on all platforms.
 type YumSettings struct {
 	// Excludes: List of packages to exclude from update. These packages are
-	// excluded by
-	// using the yum `--exclude` flag.
+	// excluded by using the yum `--exclude` flag.
 	Excludes []string `json:"excludes,omitempty"`
 
 	// ExclusivePackages: An exclusive list of packages to be updated. These
-	// are the only packages
-	// that will be updated. If these packages are not installed, they will
-	// be
-	// ignored. This field must not be specified with any other
-	// patch
-	// configuration fields.
+	// are the only packages that will be updated. If these packages are not
+	// installed, they will be ignored. This field must not be specified
+	// with any other patch configuration fields.
 	ExclusivePackages []string `json:"exclusivePackages,omitempty"`
 
 	// Minimal: Will cause patch to run `yum update-minimal` instead.
 	Minimal bool `json:"minimal,omitempty"`
 
 	// Security: Adds the `--security` flag to `yum update`. Not supported
-	// on
-	// all platforms.
+	// on all platforms.
 	Security bool `json:"security,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Excludes") to
@@ -2509,26 +2334,23 @@
 }
 
 // ZypperSettings: Zypper patching is performed by running `zypper
-// patch`.
-// See also https://en.opensuse.org/SDB:Zypper_manual.
+// patch`. See also https://en.opensuse.org/SDB:Zypper_manual.
 type ZypperSettings struct {
-	// Categories: Install only patches with these categories.
-	// Common categories include security, recommended, and feature.
+	// Categories: Install only patches with these categories. Common
+	// categories include security, recommended, and feature.
 	Categories []string `json:"categories,omitempty"`
 
 	// Excludes: List of patches to exclude from update.
 	Excludes []string `json:"excludes,omitempty"`
 
 	// ExclusivePatches: An exclusive list of patches to be updated. These
-	// are the only patches
-	// that will be installed using 'zypper patch patch:<patch_name>'
-	// command.
-	// This field must not be used with any other patch configuration
-	// fields.
+	// are the only patches that will be installed using 'zypper patch
+	// patch:' command. This field must not be used with any other patch
+	// configuration fields.
 	ExclusivePatches []string `json:"exclusivePatches,omitempty"`
 
-	// Severities: Install only patches with these severities.
-	// Common severities include critical, important, moderate, and low.
+	// Severities: Install only patches with these severities. Common
+	// severities include critical, important, moderate, and low.
 	Severities []string `json:"severities,omitempty"`
 
 	// WithOptional: Adds the `--with-optional` flag to `zypper patch`.
@@ -2581,13 +2403,10 @@
 
 // PatchDeploymentId sets the optional parameter "patchDeploymentId":
 // Required. A name for the patch deployment in the project. When
-// creating a name
-// the following rules apply:
-// * Must contain only lowercase letters, numbers, and hyphens.
-// * Must start with a letter.
-// * Must be between 1-63 characters.
-// * Must end with a number or a letter.
-// * Must be unique within the project.
+// creating a name the following rules apply: * Must contain only
+// lowercase letters, numbers, and hyphens. * Must start with a letter.
+// * Must be between 1-63 characters. * Must end with a number or a
+// letter. * Must be unique within the project.
 func (c *ProjectsPatchDeploymentsCreateCall) PatchDeploymentId(patchDeploymentId string) *ProjectsPatchDeploymentsCreateCall {
 	c.urlParams_.Set("patchDeploymentId", patchDeploymentId)
 	return c
@@ -2620,7 +2439,7 @@
 
 func (c *ProjectsPatchDeploymentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2700,7 +2519,7 @@
 	//       "type": "string"
 	//     },
 	//     "patchDeploymentId": {
-	//       "description": "Required. A name for the patch deployment in the project. When creating a name\nthe following rules apply:\n* Must contain only lowercase letters, numbers, and hyphens.\n* Must start with a letter.\n* Must be between 1-63 characters.\n* Must end with a number or a letter.\n* Must be unique within the project.",
+	//       "description": "Required. A name for the patch deployment in the project. When creating a name the following rules apply: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the project.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -2763,7 +2582,7 @@
 
 func (c *ProjectsPatchDeploymentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2831,7 +2650,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the patch deployment in the form\n`projects/*/patchDeployments/*`.",
+	//       "description": "Required. The resource name of the patch deployment in the form `projects/*/patchDeployments/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/patchDeployments/[^/]+$",
 	//       "required": true,
@@ -2904,7 +2723,7 @@
 
 func (c *ProjectsPatchDeploymentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2975,7 +2794,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the patch deployment in the form\n`projects/*/patchDeployments/*`.",
+	//       "description": "Required. The resource name of the patch deployment in the form `projects/*/patchDeployments/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/patchDeployments/[^/]+$",
 	//       "required": true,
@@ -3019,8 +2838,8 @@
 }
 
 // PageToken sets the optional parameter "pageToken": A pagination token
-// returned from a previous call to ListPatchDeployments
-// that indicates where this listing should continue from.
+// returned from a previous call to ListPatchDeployments that indicates
+// where this listing should continue from.
 func (c *ProjectsPatchDeploymentsListCall) PageToken(pageToken string) *ProjectsPatchDeploymentsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -3063,7 +2882,7 @@
 
 func (c *ProjectsPatchDeploymentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3140,7 +2959,7 @@
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Optional. A pagination token returned from a previous call to ListPatchDeployments\nthat indicates where this listing should continue from.",
+	//       "description": "Optional. A pagination token returned from a previous call to ListPatchDeployments that indicates where this listing should continue from.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -3196,8 +3015,7 @@
 }
 
 // Cancel: Cancel a patch job. The patch job must be active. Canceled
-// patch jobs
-// cannot be restarted.
+// patch jobs cannot be restarted.
 func (r *ProjectsPatchJobsService) Cancel(name string, cancelpatchjobrequest *CancelPatchJobRequest) *ProjectsPatchJobsCancelCall {
 	c := &ProjectsPatchJobsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3232,7 +3050,7 @@
 
 func (c *ProjectsPatchJobsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3296,7 +3114,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Cancel a patch job. The patch job must be active. Canceled patch jobs\ncannot be restarted.",
+	//   "description": "Cancel a patch job. The patch job must be active. Canceled patch jobs cannot be restarted.",
 	//   "flatPath": "v1/projects/{projectsId}/patchJobs/{patchJobsId}:cancel",
 	//   "httpMethod": "POST",
 	//   "id": "osconfig.projects.patchJobs.cancel",
@@ -3372,7 +3190,7 @@
 
 func (c *ProjectsPatchJobsExecuteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3477,8 +3295,7 @@
 	header_      http.Header
 }
 
-// Get: Get the patch job. This can be used to track the progress of
-// an
+// Get: Get the patch job. This can be used to track the progress of an
 // ongoing patch job or review the details of completed jobs.
 func (r *ProjectsPatchJobsService) Get(name string) *ProjectsPatchJobsGetCall {
 	c := &ProjectsPatchJobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -3523,7 +3340,7 @@
 
 func (c *ProjectsPatchJobsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3585,7 +3402,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Get the patch job. This can be used to track the progress of an\nongoing patch job or review the details of completed jobs.",
+	//   "description": "Get the patch job. This can be used to track the progress of an ongoing patch job or review the details of completed jobs.",
 	//   "flatPath": "v1/projects/{projectsId}/patchJobs/{patchJobsId}",
 	//   "httpMethod": "GET",
 	//   "id": "osconfig.projects.patchJobs.get",
@@ -3631,9 +3448,9 @@
 }
 
 // Filter sets the optional parameter "filter": If provided, this field
-// specifies the criteria that must be met by patch
-// jobs to be included in the response.
-// Currently, filtering is only available on the patch_deployment field.
+// specifies the criteria that must be met by patch jobs to be included
+// in the response. Currently, filtering is only available on the
+// patch_deployment field.
 func (c *ProjectsPatchJobsListCall) Filter(filter string) *ProjectsPatchJobsListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
@@ -3647,8 +3464,8 @@
 }
 
 // PageToken sets the optional parameter "pageToken": A pagination token
-// returned from a previous call
-// that indicates where this listing should continue from.
+// returned from a previous call that indicates where this listing
+// should continue from.
 func (c *ProjectsPatchJobsListCall) PageToken(pageToken string) *ProjectsPatchJobsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -3691,7 +3508,7 @@
 
 func (c *ProjectsPatchJobsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3762,7 +3579,7 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "If provided, this field specifies the criteria that must be met by patch\njobs to be included in the response.\nCurrently, filtering is only available on the patch_deployment field.",
+	//       "description": "If provided, this field specifies the criteria that must be met by patch jobs to be included in the response. Currently, filtering is only available on the patch_deployment field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -3773,7 +3590,7 @@
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "A pagination token returned from a previous call\nthat indicates where this listing should continue from.",
+	//       "description": "A pagination token returned from a previous call that indicates where this listing should continue from.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -3836,25 +3653,23 @@
 }
 
 // Filter sets the optional parameter "filter": A filter expression that
-// filters results listed in the response. This
-// field supports filtering results by instance zone, name, state,
-// or
-// `failure_reason`.
+// filters results listed in the response. This field supports filtering
+// results by instance zone, name, state, or `failure_reason`.
 func (c *ProjectsPatchJobsInstanceDetailsListCall) Filter(filter string) *ProjectsPatchJobsInstanceDetailsListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
-// of instance details records to return.  Default is 100.
+// of instance details records to return. Default is 100.
 func (c *ProjectsPatchJobsInstanceDetailsListCall) PageSize(pageSize int64) *ProjectsPatchJobsInstanceDetailsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": A pagination token
-// returned from a previous call
-// that indicates where this listing should continue from.
+// returned from a previous call that indicates where this listing
+// should continue from.
 func (c *ProjectsPatchJobsInstanceDetailsListCall) PageToken(pageToken string) *ProjectsPatchJobsInstanceDetailsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -3897,7 +3712,7 @@
 
 func (c *ProjectsPatchJobsInstanceDetailsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3969,18 +3784,18 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "A filter expression that filters results listed in the response. This\nfield supports filtering results by instance zone, name, state, or\n`failure_reason`.",
+	//       "description": "A filter expression that filters results listed in the response. This field supports filtering results by instance zone, name, state, or `failure_reason`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "The maximum number of instance details records to return.  Default is 100.",
+	//       "description": "The maximum number of instance details records to return. Default is 100.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "A pagination token returned from a previous call\nthat indicates where this listing should continue from.",
+	//       "description": "A pagination token returned from a previous call that indicates where this listing should continue from.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
diff --git a/osconfig/v1beta/osconfig-api.json b/osconfig/v1beta/osconfig-api.json
index d5369a1..1b7b1da 100644
--- a/osconfig/v1beta/osconfig-api.json
+++ b/osconfig/v1beta/osconfig-api.json
@@ -119,12 +119,12 @@
               ],
               "parameters": {
                 "guestPolicyId": {
-                  "description": "Required. The logical name of the guest policy in the project\nwith the following restrictions:\n\n* Must contain only lowercase letters, numbers, and hyphens.\n* Must start with a letter.\n* Must be between 1-63 characters.\n* Must end with a number or a letter.\n* Must be unique within the project.",
+                  "description": "Required. The logical name of the guest policy in the project with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the project.",
                   "location": "query",
                   "type": "string"
                 },
                 "parent": {
-                  "description": "Required. The resource name of the parent using one of the following forms:\n`projects/{project_number}`.",
+                  "description": "Required. The resource name of the parent using one of the following forms: `projects/{project_number}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
@@ -152,7 +152,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. The resource name of the guest policy  using one of the following forms:\n`projects/{project_number}/guestPolicies/{guest_policy_id}`.",
+                  "description": "Required. The resource name of the guest policy using one of the following forms: `projects/{project_number}/guestPolicies/{guest_policy_id}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/guestPolicies/[^/]+$",
                   "required": true,
@@ -177,7 +177,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. The resource name of the guest policy using one of the following forms:\n`projects/{project_number}/guestPolicies/{guest_policy_id}`.",
+                  "description": "Required. The resource name of the guest policy using one of the following forms: `projects/{project_number}/guestPolicies/{guest_policy_id}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/guestPolicies/[^/]+$",
                   "required": true,
@@ -208,12 +208,12 @@
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "A pagination token returned from a previous call to `ListGuestPolicies`\nthat indicates where this listing should continue from.",
+                  "description": "A pagination token returned from a previous call to `ListGuestPolicies` that indicates where this listing should continue from.",
                   "location": "query",
                   "type": "string"
                 },
                 "parent": {
-                  "description": "Required. The resource name of the parent using one of the following forms:\n`projects/{project_number}`.",
+                  "description": "Required. The resource name of the parent using one of the following forms: `projects/{project_number}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
@@ -238,14 +238,14 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. Unique name of the resource in this project using one of the following\nforms:\n`projects/{project_number}/guestPolicies/{guest_policy_id}`.",
+                  "description": "Required. Unique name of the resource in this project using one of the following forms: `projects/{project_number}/guestPolicies/{guest_policy_id}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/guestPolicies/[^/]+$",
                   "required": true,
                   "type": "string"
                 },
                 "updateMask": {
-                  "description": "Field mask that controls which fields of the guest policy should be\nupdated.",
+                  "description": "Field mask that controls which fields of the guest policy should be updated.",
                   "format": "google-fieldmask",
                   "location": "query",
                   "type": "string"
@@ -283,7 +283,7 @@
                   "type": "string"
                 },
                 "patchDeploymentId": {
-                  "description": "Required. A name for the patch deployment in the project. When creating a name\nthe following rules apply:\n* Must contain only lowercase letters, numbers, and hyphens.\n* Must start with a letter.\n* Must be between 1-63 characters.\n* Must end with a number or a letter.\n* Must be unique within the project.",
+                  "description": "Required. A name for the patch deployment in the project. When creating a name the following rules apply: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the project.",
                   "location": "query",
                   "type": "string"
                 }
@@ -309,7 +309,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. The resource name of the patch deployment in the form\n`projects/*/patchDeployments/*`.",
+                  "description": "Required. The resource name of the patch deployment in the form `projects/*/patchDeployments/*`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/patchDeployments/[^/]+$",
                   "required": true,
@@ -334,7 +334,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. The resource name of the patch deployment in the form\n`projects/*/patchDeployments/*`.",
+                  "description": "Required. The resource name of the patch deployment in the form `projects/*/patchDeployments/*`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/patchDeployments/[^/]+$",
                   "required": true,
@@ -365,7 +365,7 @@
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "Optional. A pagination token returned from a previous call to ListPatchDeployments\nthat indicates where this listing should continue from.",
+                  "description": "Optional. A pagination token returned from a previous call to ListPatchDeployments that indicates where this listing should continue from.",
                   "location": "query",
                   "type": "string"
                 },
@@ -390,7 +390,7 @@
         "patchJobs": {
           "methods": {
             "cancel": {
-              "description": "Cancel a patch job. The patch job must be active. Canceled patch jobs\ncannot be restarted.",
+              "description": "Cancel a patch job. The patch job must be active. Canceled patch jobs cannot be restarted.",
               "flatPath": "v1beta/projects/{projectsId}/patchJobs/{patchJobsId}:cancel",
               "httpMethod": "POST",
               "id": "osconfig.projects.patchJobs.cancel",
@@ -446,7 +446,7 @@
               ]
             },
             "get": {
-              "description": "Get the patch job. This can be used to track the progress of an\nongoing patch job or review the details of completed jobs.",
+              "description": "Get the patch job. This can be used to track the progress of an ongoing patch job or review the details of completed jobs.",
               "flatPath": "v1beta/projects/{projectsId}/patchJobs/{patchJobsId}",
               "httpMethod": "GET",
               "id": "osconfig.projects.patchJobs.get",
@@ -480,7 +480,7 @@
               ],
               "parameters": {
                 "filter": {
-                  "description": "If provided, this field specifies the criteria that must be met by patch\njobs to be included in the response.\nCurrently, filtering is only available on the patch_deployment field.",
+                  "description": "If provided, this field specifies the criteria that must be met by patch jobs to be included in the response. Currently, filtering is only available on the patch_deployment field.",
                   "location": "query",
                   "type": "string"
                 },
@@ -491,7 +491,7 @@
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "A pagination token returned from a previous call\nthat indicates where this listing should continue from.",
+                  "description": "A pagination token returned from a previous call that indicates where this listing should continue from.",
                   "location": "query",
                   "type": "string"
                 },
@@ -525,18 +525,18 @@
                   ],
                   "parameters": {
                     "filter": {
-                      "description": "A filter expression that filters results listed in the response. This\nfield supports filtering results by instance zone, name, state, or\n`failure_reason`.",
+                      "description": "A filter expression that filters results listed in the response. This field supports filtering results by instance zone, name, state, or `failure_reason`.",
                       "location": "query",
                       "type": "string"
                     },
                     "pageSize": {
-                      "description": "The maximum number of instance details records to return.  Default is 100.",
+                      "description": "The maximum number of instance details records to return. Default is 100.",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "A pagination token returned from a previous call\nthat indicates where this listing should continue from.",
+                      "description": "A pagination token returned from a previous call that indicates where this listing should continue from.",
                       "location": "query",
                       "type": "string"
                     },
@@ -565,7 +565,7 @@
             "instances": {
               "methods": {
                 "lookupEffectiveGuestPolicy": {
-                  "description": "Lookup the effective guest policy that applies to a VM instance. This\nlookup merges all policies that are assigned to the instance ancestry.",
+                  "description": "Lookup the effective guest policy that applies to a VM instance. This lookup merges all policies that are assigned to the instance ancestry.",
                   "flatPath": "v1beta/projects/{projectsId}/zones/{zonesId}/instances/{instancesId}:lookupEffectiveGuestPolicy",
                   "httpMethod": "POST",
                   "id": "osconfig.projects.zones.instances.lookupEffectiveGuestPolicy",
@@ -599,11 +599,11 @@
       }
     }
   },
-  "revision": "20200731",
+  "revision": "20200807",
   "rootUrl": "https://osconfig.googleapis.com/",
   "schemas": {
     "AptRepository": {
-      "description": "Represents a single Apt package repository. This repository is added to\na repo file that is stored at\n`/etc/apt/sources.list.d/google_osconfig.list`.",
+      "description": "Represents a single Apt package repository. This repository is added to a repo file that is stored at `/etc/apt/sources.list.d/google_osconfig.list`.",
       "id": "AptRepository",
       "properties": {
         "archiveType": {
@@ -632,7 +632,7 @@
           "type": "string"
         },
         "gpgKey": {
-          "description": "URI of the key file for this repository. The agent maintains\na keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg` containing\nall the keys in any applied guest policy.",
+          "description": "URI of the key file for this repository. The agent maintains a keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg` containing all the keys in any applied guest policy.",
           "type": "string"
         },
         "uri": {
@@ -643,7 +643,7 @@
       "type": "object"
     },
     "AptSettings": {
-      "description": "Apt patching is completed by executing `apt-get update \u0026\u0026 apt-get\nupgrade`. Additional options can be set to control how this is executed.",
+      "description": "Apt patching is completed by executing `apt-get update \u0026\u0026 apt-get upgrade`. Additional options can be set to control how this is executed.",
       "id": "AptSettings",
       "properties": {
         "excludes": {
@@ -654,14 +654,14 @@
           "type": "array"
         },
         "exclusivePackages": {
-          "description": "An exclusive list of packages to be updated. These are the only packages\nthat will be updated. If these packages are not installed, they will be\nignored. This field cannot be specified with any other patch configuration\nfields.",
+          "description": "An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field cannot be specified with any other patch configuration fields.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "type": {
-          "description": "By changing the type to DIST, the patching is performed\nusing `apt-get dist-upgrade` instead.",
+          "description": "By changing the type to DIST, the patching is performed using `apt-get dist-upgrade` instead.",
           "enum": [
             "TYPE_UNSPECIFIED",
             "DIST",
@@ -678,39 +678,39 @@
       "type": "object"
     },
     "Assignment": {
-      "description": "An assignment represents the group or groups of VM instances that the policy\napplies to.\n\nIf an assignment is empty, it applies to all VM instances. Otherwise, the\ntargeted VM instances must meet all the criteria specified. So if both\nlabels and zones are specified, the policy applies to VM instances with those\nlabels and in those zones.",
+      "description": "An assignment represents the group or groups of VM instances that the policy applies to. If an assignment is empty, it applies to all VM instances. Otherwise, the targeted VM instances must meet all the criteria specified. So if both labels and zones are specified, the policy applies to VM instances with those labels and in those zones.",
       "id": "Assignment",
       "properties": {
         "groupLabels": {
-          "description": "Targets instances matching at least one of these label sets. This allows\nan assignment to target disparate groups, for example \"env=prod or\nenv=staging\".",
+          "description": "Targets instances matching at least one of these label sets. This allows an assignment to target disparate groups, for example \"env=prod or env=staging\".",
           "items": {
             "$ref": "AssignmentGroupLabel"
           },
           "type": "array"
         },
         "instanceNamePrefixes": {
-          "description": "Targets VM instances whose name starts with one of these prefixes.\n\nLike labels, this is another way to group VM instances when targeting\nconfigs, for example prefix=\"prod-\".\n\nOnly supported for project-level policies.",
+          "description": "Targets VM instances whose name starts with one of these prefixes. Like labels, this is another way to group VM instances when targeting configs, for example prefix=\"prod-\". Only supported for project-level policies.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "instances": {
-          "description": "Targets any of the instances specified. Instances are specified by their\nURI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`.\n\nInstance targeting is uncommon and is supported to facilitate the\nmanagement of changes by the instance or to target specific VM instances\nfor development and testing.\n\nOnly supported for project-level policies and must reference instances\nwithin this project.",
+          "description": "Targets any of the instances specified. Instances are specified by their URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`. Instance targeting is uncommon and is supported to facilitate the management of changes by the instance or to target specific VM instances for development and testing. Only supported for project-level policies and must reference instances within this project.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "osTypes": {
-          "description": "Targets VM instances matching at least one of the following OS types.\n\nVM instances must match all supplied criteria for a given OsType to be\nincluded.",
+          "description": "Targets VM instances matching at least one of the following OS types. VM instances must match all supplied criteria for a given OsType to be included.",
           "items": {
             "$ref": "AssignmentOsType"
           },
           "type": "array"
         },
         "zones": {
-          "description": "Targets instances in any of these zones. Leave empty to target instances\nin any zone.\n\nZonal targeting is uncommon and is supported to facilitate the management\nof changes by zone.",
+          "description": "Targets instances in any of these zones. Leave empty to target instances in any zone. Zonal targeting is uncommon and is supported to facilitate the management of changes by zone.",
           "items": {
             "type": "string"
           },
@@ -720,14 +720,14 @@
       "type": "object"
     },
     "AssignmentGroupLabel": {
-      "description": "Represents a group of VM intances that can be identified as having all\nthese labels, for example \"env=prod and app=web\".",
+      "description": "Represents a group of VM intances that can be identified as having all these labels, for example \"env=prod and app=web\".",
       "id": "AssignmentGroupLabel",
       "properties": {
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Google Compute Engine instance labels that must be present for an\ninstance to be included in this assignment group.",
+          "description": "Google Compute Engine instance labels that must be present for an instance to be included in this assignment group.",
           "type": "object"
         }
       },
@@ -738,15 +738,15 @@
       "id": "AssignmentOsType",
       "properties": {
         "osArchitecture": {
-          "description": "Targets VM instances with OS Inventory enabled and having the following\nOS architecture.",
+          "description": "Targets VM instances with OS Inventory enabled and having the following OS architecture.",
           "type": "string"
         },
         "osShortName": {
-          "description": "Targets VM instances with OS Inventory enabled and having the following\nOS short name, for example \"debian\" or \"windows\".",
+          "description": "Targets VM instances with OS Inventory enabled and having the following OS short name, for example \"debian\" or \"windows\".",
           "type": "string"
         },
         "osVersion": {
-          "description": "Targets VM instances with OS Inventory enabled and having the following\nfollowing OS version.",
+          "description": "Targets VM instances with OS Inventory enabled and having the following following OS version.",
           "type": "string"
         }
       },
@@ -832,7 +832,7 @@
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
@@ -843,11 +843,11 @@
       "properties": {
         "enforce": {
           "$ref": "ExecResourceExec",
-          "description": "What to run to bring this resource into the desired state.\nOptional if policy is in validate only mode."
+          "description": "What to run to bring this resource into the desired state. Optional if policy is in validate only mode."
         },
         "validate": {
           "$ref": "ExecResourceExec",
-          "description": "What to run to validate this resource is in the desired state.\nA successful exit code indicates resource is in the desired state."
+          "description": "What to run to validate this resource is in the desired state. A successful exit code indicates resource is in the desired state."
         }
       },
       "type": "object"
@@ -885,8 +885,8 @@
           ],
           "enumDescriptions": [
             "Defaults to NONE.",
-            "If no interpreter is specified the\nsource will be executed directly, which will likely only succeed for\nexecutables and scripts with shebang lines.\n[Wikipedia shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)).",
-            "Indicates that the script will be run with /bin/sh on Linux and cmd.exe\non windows.",
+            "If no interpreter is specified the source will be executed directly, which will likely only succeed for executables and scripts with shebang lines. [Wikipedia shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)).",
+            "Indicates that the script will be run with /bin/sh on Linux and cmd.exe on windows.",
             "Indicates that the script will be run with powershell."
           ],
           "type": "string"
@@ -918,7 +918,7 @@
       "id": "ExecStepConfig",
       "properties": {
         "allowedSuccessCodes": {
-          "description": "Defaults to [0]. A list of possible return values that the\nexecution can return to indicate a success.",
+          "description": "Defaults to [0]. A list of possible return values that the execution can return to indicate a success.",
           "items": {
             "format": "int32",
             "type": "integer"
@@ -930,16 +930,16 @@
           "description": "A Google Cloud Storage object containing the executable."
         },
         "interpreter": {
-          "description": "The script interpreter to use to run the script. If no interpreter is\nspecified the script will be executed directly, which will likely\nonly succeed for scripts with [shebang lines]\n(https://en.wikipedia.org/wiki/Shebang_\\(Unix\\)).",
+          "description": "The script interpreter to use to run the script. If no interpreter is specified the script will be executed directly, which will likely only succeed for scripts with [shebang lines] (https://en.wikipedia.org/wiki/Shebang_\\(Unix\\)).",
           "enum": [
             "INTERPRETER_UNSPECIFIED",
             "SHELL",
             "POWERSHELL"
           ],
           "enumDescriptions": [
-            "Invalid for a Windows ExecStepConfig. For a Linux ExecStepConfig, the\ninterpreter will be parsed from the shebang line of the script if\nunspecified.",
-            "Indicates that the script is run with `/bin/sh` on Linux and `cmd`\non Windows.",
-            "Indicates that the file is run with PowerShell flags\n`-NonInteractive`, `-NoProfile`, and `-ExecutionPolicy Bypass`."
+            "Invalid for a Windows ExecStepConfig. For a Linux ExecStepConfig, the interpreter will be parsed from the shebang line of the script if unspecified.",
+            "Indicates that the script is run with `/bin/sh` on Linux and `cmd` on Windows.",
+            "Indicates that the file is run with PowerShell flags `-NonInteractive`, `-NoProfile`, and `-ExecutionPolicy Bypass`."
           ],
           "type": "string"
         },
@@ -955,7 +955,7 @@
       "id": "ExecutePatchJobRequest",
       "properties": {
         "description": {
-          "description": "Description of the patch job. Length of the description is limited\nto 1024 characters.",
+          "description": "Description of the patch job. Length of the description is limited to 1024 characters.",
           "type": "string"
         },
         "displayName": {
@@ -963,21 +963,21 @@
           "type": "string"
         },
         "dryRun": {
-          "description": "If this patch is a dry-run only, instances are contacted but\nwill do nothing.",
+          "description": "If this patch is a dry-run only, instances are contacted but will do nothing.",
           "type": "boolean"
         },
         "duration": {
-          "description": "Duration of the patch job. After the duration ends, the patch job\ntimes out.",
+          "description": "Duration of the patch job. After the duration ends, the patch job times out.",
           "format": "google-duration",
           "type": "string"
         },
         "instanceFilter": {
           "$ref": "PatchInstanceFilter",
-          "description": "Required. Instances to patch, either explicitly or filtered by some criteria such\nas zone or labels."
+          "description": "Required. Instances to patch, either explicitly or filtered by some criteria such as zone or labels."
         },
         "patchConfig": {
           "$ref": "PatchConfig",
-          "description": "Patch configuration being applied. If omitted, instances are\npatched using the default configurations."
+          "description": "Patch configuration being applied. If omitted, instances are patched using the default configurations."
         },
         "rollout": {
           "$ref": "PatchRollout",
@@ -991,7 +991,7 @@
       "id": "ExtractArchiveResource",
       "properties": {
         "creates": {
-          "description": "Local file path that signals this resource is in the desired state.\nThe absence of this file will indicate whether the archive needs to be\nextracted.",
+          "description": "Local file path that signals this resource is in the desired state. The absence of this file will indicate whether the archive needs to be extracted.",
           "type": "string"
         },
         "destination": {
@@ -999,7 +999,7 @@
           "type": "string"
         },
         "overwrite": {
-          "description": "Whether to overwrite existing files during extraction. If this is set to\ntrue, any existing files in the destination location will be overwritten by\nthe extraction.",
+          "description": "Whether to overwrite existing files during extraction. If this is set to true, any existing files in the destination location will be overwritten by the extraction.",
           "type": "boolean"
         },
         "source": {
@@ -1036,7 +1036,7 @@
       "id": "File",
       "properties": {
         "allowInsecure": {
-          "description": "Defaults to false. When false, files will be subject to validations\nbased on the file type:\n\nRemote: A checksum must be specified.\nGCS:    An object generation number must be specified.",
+          "description": "Defaults to false. When false, files will be subject to validations based on the file type: Remote: A checksum must be specified. GCS: An object generation number must be specified.",
           "type": "boolean"
         },
         "gcs": {
@@ -1083,7 +1083,7 @@
           "type": "string"
         },
         "uri": {
-          "description": "URI from which to fetch the object. It should contain both the protocol\nand path following the format {protocol}://{location}.",
+          "description": "URI from which to fetch the object. It should contain both the protocol and path following the format {protocol}://{location}.",
           "type": "string"
         }
       },
@@ -1106,7 +1106,7 @@
           "type": "string"
         },
         "permissions": {
-          "description": "Consists of three octal digits which represent, in\norder, the permissions of the owner, group, and other users for the\nfile (similarly to the numeric mode used in the linux chmod utility).\nEach digit represents a three bit number with the 4 bit\ncorresponding to the read permissions, the 2 bit corresponds to the\nwrite bit, and the one bit corresponds to the execute permission.\nDefault behavior is 755.\n\nBelow are some examples of permissions and their associated values:\nread, write, and execute: 7\nread and execute: 5\nread and write: 6\nread only: 4",
+          "description": "Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4",
           "type": "string"
         },
         "state": {
@@ -1121,7 +1121,7 @@
             "Unspecified is invalid.",
             "Ensure file at path is present.",
             "Ensure file at path is absent.",
-            "Ensure the contents of the file at path matches. If the file does not\nexist it will be created."
+            "Ensure the contents of the file at path matches. If the file does not exist it will be created."
           ],
           "type": "string"
         }
@@ -1129,7 +1129,7 @@
       "type": "object"
     },
     "FixedOrPercent": {
-      "description": "Message encapsulating a value that can be either absolute (\"fixed\") or\nrelative (\"percent\") to a value.",
+      "description": "Message encapsulating a value that can be either absolute (\"fixed\") or relative (\"percent\") to a value.",
       "id": "FixedOrPercent",
       "properties": {
         "fixed": {
@@ -1138,7 +1138,7 @@
           "type": "integer"
         },
         "percent": {
-          "description": "Specifies the relative value defined as a percentage, which will be\nmultiplied by a reference value.",
+          "description": "Specifies the relative value defined as a percentage, which will be multiplied by a reference value.",
           "format": "int32",
           "type": "integer"
         }
@@ -1154,7 +1154,7 @@
           "type": "string"
         },
         "generationNumber": {
-          "description": "Required. Generation number of the Google Cloud Storage object. This is used to\nensure that the ExecStep specified by this PatchJob does not change.",
+          "description": "Required. Generation number of the Google Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.",
           "format": "int64",
           "type": "string"
         },
@@ -1166,7 +1166,7 @@
       "type": "object"
     },
     "GooRepository": {
-      "description": "Represents a Goo package repository. These is added to a repo file\nthat is stored at C:/ProgramData/GooGet/repos/google_osconfig.repo.",
+      "description": "Represents a Goo package repository. These is added to a repo file that is stored at C:/ProgramData/GooGet/repos/google_osconfig.repo.",
       "id": "GooRepository",
       "properties": {
         "name": {
@@ -1187,32 +1187,33 @@
       "type": "object"
     },
     "GuestPolicy": {
-      "description": "An OS Config resource representing a guest configuration policy. These\npolicies represent the desired state for VM instance guest environments\nincluding packages to install or remove, package repository configurations,\nand software to install.",
+      "description": "An OS Config resource representing a guest configuration policy. These policies represent the desired state for VM instance guest environments including packages to install or remove, package repository configurations, and software to install.",
       "id": "GuestPolicy",
       "properties": {
         "assignment": {
           "$ref": "Assignment",
-          "description": "Required. Specifies the VM instances that are assigned to this policy. This allows\nyou to target sets or groups of VM instances by different parameters such\nas labels, names, OS, or zones.\n\nIf left empty, all VM instances underneath this policy are targeted.\n\nAt the same level in the resource hierarchy (that is within a project), the\nservice prevents the creation of multiple policies that conflict with\neach other. For more information, see how the service [handles assignment\nconflicts](/compute/docs/os-config-management/create-guest-policy#handle-conflicts)."
+          "description": "Required. Specifies the VM instances that are assigned to this policy. This allows you to target sets or groups of VM instances by different parameters such as labels, names, OS, or zones. If left empty, all VM instances underneath this policy are targeted. At the same level in the resource hierarchy (that is within a project), the service prevents the creation of multiple policies that conflict with each other. For more information, see how the service [handles assignment conflicts](/compute/docs/os-config-management/create-guest-policy#handle-conflicts)."
         },
         "createTime": {
           "description": "Output only. Time this guest policy was created.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "description": {
-          "description": "Description of the guest policy. Length of the description is limited\nto 1024 characters.",
+          "description": "Description of the guest policy. Length of the description is limited to 1024 characters.",
           "type": "string"
         },
         "etag": {
-          "description": "The etag for this guest policy.\nIf this is provided on update, it must match the server's etag.",
+          "description": "The etag for this guest policy. If this is provided on update, it must match the server's etag.",
           "type": "string"
         },
         "name": {
-          "description": "Required. Unique name of the resource in this project using one of the following\nforms:\n`projects/{project_number}/guestPolicies/{guest_policy_id}`.",
+          "description": "Required. Unique name of the resource in this project using one of the following forms: `projects/{project_number}/guestPolicies/{guest_policy_id}`.",
           "type": "string"
         },
         "packageRepositories": {
-          "description": "A list of package repositories to configure on the VM instance. This is\ndone before any other configs are applied so they can use these repos.\nPackage repositories are only configured if the corresponding package\nmanager(s) are available.",
+          "description": "A list of package repositories to configure on the VM instance. This is done before any other configs are applied so they can use these repos. Package repositories are only configured if the corresponding package manager(s) are available.",
           "items": {
             "$ref": "PackageRepository"
           },
@@ -1235,6 +1236,7 @@
         "updateTime": {
           "description": "Output only. Last time this guest policy was updated.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         }
       },
@@ -1252,7 +1254,7 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "A pagination token that can be used to get the next page\nof guest policies.",
+          "description": "A pagination token that can be used to get the next page of guest policies.",
           "type": "string"
         }
       },
@@ -1263,7 +1265,7 @@
       "id": "ListPatchDeploymentsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "A pagination token that can be used to get the next page of patch\ndeployments.",
+          "description": "A pagination token that can be used to get the next page of patch deployments.",
           "type": "string"
         },
         "patchDeployments": {
@@ -1313,30 +1315,30 @@
       "type": "object"
     },
     "LookupEffectiveGuestPolicyRequest": {
-      "description": "A request message for getting the effective guest policy assigned to the\ninstance.",
+      "description": "A request message for getting the effective guest policy assigned to the instance.",
       "id": "LookupEffectiveGuestPolicyRequest",
       "properties": {
         "osArchitecture": {
-          "description": "Architecture of OS running on the instance. The OS Config agent only\nprovides this field for targeting if OS Inventory is enabled for that\ninstance.",
+          "description": "Architecture of OS running on the instance. The OS Config agent only provides this field for targeting if OS Inventory is enabled for that instance.",
           "type": "string"
         },
         "osShortName": {
-          "description": "Short name of the OS running on the instance. The OS Config agent only\nprovides this field for targeting if OS Inventory is enabled for that\ninstance.",
+          "description": "Short name of the OS running on the instance. The OS Config agent only provides this field for targeting if OS Inventory is enabled for that instance.",
           "type": "string"
         },
         "osVersion": {
-          "description": "Version of the OS running on the instance. The OS Config agent only\nprovides this field for targeting if OS Inventory is enabled for that\nVM instance.",
+          "description": "Version of the OS running on the instance. The OS Config agent only provides this field for targeting if OS Inventory is enabled for that VM instance.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "MonthlySchedule": {
-      "description": "Represents a monthly schedule. An example of a valid monthly schedule is\n\"on the third Tuesday of the month\" or \"on the 15th of the month\".",
+      "description": "Represents a monthly schedule. An example of a valid monthly schedule is \"on the third Tuesday of the month\" or \"on the 15th of the month\".",
       "id": "MonthlySchedule",
       "properties": {
         "monthDay": {
-          "description": "Required. One day of the month. 1-31 indicates the 1st to the 31st day. -1\nindicates the last day of the month.\nMonths without the target day will be skipped. For example, a schedule to\nrun \"every month on the 31st\" will not run in February, April, June, etc.",
+          "description": "Required. One day of the month. 1-31 indicates the 1st to the 31st day. -1 indicates the last day of the month. Months without the target day will be skipped. For example, a schedule to run \"every month on the 31st\" will not run in February, April, June, etc.",
           "format": "int32",
           "type": "integer"
         },
@@ -1348,7 +1350,7 @@
       "type": "object"
     },
     "OneTimeSchedule": {
-      "description": "Sets the time for a one time patch deployment. Timestamp is in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
+      "description": "Sets the time for a one time patch deployment. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
       "id": "OneTimeSchedule",
       "properties": {
         "executeTime": {
@@ -1360,11 +1362,11 @@
       "type": "object"
     },
     "Package": {
-      "description": "Package is a reference to the software package to be installed or removed.\nThe agent on the VM instance uses the system package manager to apply the\nconfig.\n\n\nThese are the commands that the agent uses to install or remove\npackages.\n\nApt\ninstall: `apt-get update \u0026\u0026 apt-get -y install package1 package2 package3`\nremove: `apt-get -y remove package1 package2 package3`\n\nYum\ninstall: `yum -y install package1 package2 package3`\nremove: `yum -y remove package1 package2 package3`\n\nZypper\ninstall: `zypper install package1 package2 package3`\nremove: `zypper rm package1 package2`\n\nGooget\ninstall: `googet -noconfirm install package1 package2 package3`\nremove: `googet -noconfirm remove package1 package2 package3`",
+      "description": "Package is a reference to the software package to be installed or removed. The agent on the VM instance uses the system package manager to apply the config. These are the commands that the agent uses to install or remove packages. Apt install: `apt-get update \u0026\u0026 apt-get -y install package1 package2 package3` remove: `apt-get -y remove package1 package2 package3` Yum install: `yum -y install package1 package2 package3` remove: `yum -y remove package1 package2 package3` Zypper install: `zypper install package1 package2 package3` remove: `zypper rm package1 package2` Googet install: `googet -noconfirm install package1 package2 package3` remove: `googet -noconfirm remove package1 package2 package3`",
       "id": "Package",
       "properties": {
         "desiredState": {
-          "description": "The desired_state the agent should maintain for this package. The\ndefault is to ensure the package is installed.",
+          "description": "The desired_state the agent should maintain for this package. The default is to ensure the package is installed.",
           "enum": [
             "DESIRED_STATE_UNSPECIFIED",
             "INSTALLED",
@@ -1374,13 +1376,13 @@
           "enumDescriptions": [
             "The default is to ensure the package is installed.",
             "The agent ensures that the package is installed.",
-            "The agent ensures that the package is installed and\nperiodically checks for and install any updates.",
-            "The agent ensures that the package is not installed and uninstall it\nif detected."
+            "The agent ensures that the package is installed and periodically checks for and install any updates.",
+            "The agent ensures that the package is not installed and uninstall it if detected."
           ],
           "type": "string"
         },
         "manager": {
-          "description": "Type of package manager that can be used to install this package.\nIf a system does not have the package manager, the package is not\ninstalled or removed no error message is returned. By default,\nor if you specify `ANY`,\nthe agent attempts to install and remove this package using the default\npackage manager. This is useful when creating a policy that applies to\ndifferent types of systems.\n\nThe default behavior is ANY.",
+          "description": "Type of package manager that can be used to install this package. If a system does not have the package manager, the package is not installed or removed no error message is returned. By default, or if you specify `ANY`, the agent attempts to install and remove this package using the default package manager. This is useful when creating a policy that applies to different types of systems. The default behavior is ANY.",
           "enum": [
             "MANAGER_UNSPECIFIED",
             "ANY",
@@ -1400,7 +1402,7 @@
           "type": "string"
         },
         "name": {
-          "description": "Required. The name of the package. A package is uniquely identified for conflict\nvalidation by checking the package name and the manager(s) that the\npackage targets.",
+          "description": "Required. The name of the package. A package is uniquely identified for conflict validation by checking the package name and the manager(s) that the package targets.",
           "type": "string"
         }
       },
@@ -1442,7 +1444,7 @@
           "description": "A deb package file."
         },
         "desiredState": {
-          "description": "The desired_state the agent should maintain for this package. The\ndefault is to ensure the package is installed.",
+          "description": "The desired_state the agent should maintain for this package. The default is to ensure the package is installed.",
           "enum": [
             "DESIRED_STATE_UNSPECIFIED",
             "INSTALLED",
@@ -1451,7 +1453,7 @@
           "enumDescriptions": [
             "Unspecified is invalid.",
             "Ensure that the package is installed.",
-            "The agent will ensure that the package is not installed and uninstall it\nif detected."
+            "The agent will ensure that the package is not installed and uninstall it if detected."
           ],
           "type": "string"
         },
@@ -1479,7 +1481,7 @@
       "type": "object"
     },
     "PackageResourceAPT": {
-      "description": "A package managed by APT.\ninstall: `apt-get update \u0026\u0026 apt-get -y install [name]`\nremove: `apt-get -y remove [name]`",
+      "description": "A package managed by APT. install: `apt-get update \u0026\u0026 apt-get -y install [name]` remove: `apt-get -y remove [name]`",
       "id": "PackageResourceAPT",
       "properties": {
         "name": {
@@ -1494,7 +1496,7 @@
       "id": "PackageResourceDeb",
       "properties": {
         "pullDeps": {
-          "description": "Whether dependencies should also be installed.\ninstall when false: `dpkg -i package`\ninstall when true: `apt-get update \u0026\u0026 apt-get -y install package.deb`",
+          "description": "Whether dependencies should also be installed. install when false: `dpkg -i package` install when true: `apt-get update \u0026\u0026 apt-get -y install package.deb`",
           "type": "boolean"
         },
         "source": {
@@ -1505,7 +1507,7 @@
       "type": "object"
     },
     "PackageResourceGooGet": {
-      "description": "A package managed by GooGet.\ninstall: `googet -noconfirm install package`\nremove: `googet -noconfirm remove package`",
+      "description": "A package managed by GooGet. install: `googet -noconfirm install package` remove: `googet -noconfirm remove package`",
       "id": "PackageResourceGooGet",
       "properties": {
         "name": {
@@ -1516,11 +1518,11 @@
       "type": "object"
     },
     "PackageResourceMSI": {
-      "description": "An MSI package. MSI packages only support INSTALLED state.\nInstall msiexec /i /qn /norestart",
+      "description": "An MSI package. MSI packages only support INSTALLED state. Install msiexec /i /qn /norestart",
       "id": "PackageResourceMSI",
       "properties": {
         "allowedSuccessCodes": {
-          "description": "Return codes that indicate that the software installed or updated\nsuccessfully. Behaviour defaults to [0]",
+          "description": "Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]",
           "items": {
             "format": "int32",
             "type": "integer"
@@ -1528,7 +1530,7 @@
           "type": "array"
         },
         "flags": {
-          "description": "Flags to use during package install.\nAppended to the defalts of \"/i /qn /norestart\"",
+          "description": "Flags to use during package install. Appended to the defalts of \"/i /qn /norestart\"",
           "items": {
             "type": "string"
           },
@@ -1546,7 +1548,7 @@
       "id": "PackageResourceRPM",
       "properties": {
         "pullDeps": {
-          "description": "Whether dependencies should also be installed.\ninstall when false: `rpm --upgrade --replacepkgs package.rpm`\ninstall when true: `yum -y install package.rpm` or\n`zypper -y install package.rpm`",
+          "description": "Whether dependencies should also be installed. install when false: `rpm --upgrade --replacepkgs package.rpm` install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`",
           "type": "boolean"
         },
         "source": {
@@ -1557,7 +1559,7 @@
       "type": "object"
     },
     "PackageResourceYUM": {
-      "description": "A package managed by YUM.\ninstall: `yum -y install package`\nremove: `yum -y remove package`",
+      "description": "A package managed by YUM. install: `yum -y install package` remove: `yum -y remove package`",
       "id": "PackageResourceYUM",
       "properties": {
         "name": {
@@ -1568,7 +1570,7 @@
       "type": "object"
     },
     "PackageResourceZypper": {
-      "description": "A package managed by Zypper.\ninstall: `zypper -y install package`\nremove: `zypper -y rm package`",
+      "description": "A package managed by Zypper. install: `zypper -y install package` remove: `zypper -y rm package`",
       "id": "PackageResourceZypper",
       "properties": {
         "name": {
@@ -1579,16 +1581,16 @@
       "type": "object"
     },
     "PatchConfig": {
-      "description": "Patch configuration specifications. Contains details on how to apply the\npatch(es) to a VM instance.",
+      "description": "Patch configuration specifications. Contains details on how to apply the patch(es) to a VM instance.",
       "id": "PatchConfig",
       "properties": {
         "apt": {
           "$ref": "AptSettings",
-          "description": "Apt update settings. Use this setting to override the default `apt` patch\nrules."
+          "description": "Apt update settings. Use this setting to override the default `apt` patch rules."
         },
         "goo": {
           "$ref": "GooSettings",
-          "description": "Goo update settings. Use this setting to override the default `goo` patch\nrules."
+          "description": "Goo update settings. Use this setting to override the default `goo` patch rules."
         },
         "postStep": {
           "$ref": "ExecStep",
@@ -1608,7 +1610,7 @@
           ],
           "enumDescriptions": [
             "The default behavior is DEFAULT.",
-            "The agent decides if a reboot is necessary by checking signals such as\nregistry keys on Windows or `/var/run/reboot-required` on APT based\nsystems. On RPM based systems, a set of core system package install times\nare compared with system boot time.",
+            "The agent decides if a reboot is necessary by checking signals such as registry keys on Windows or `/var/run/reboot-required` on APT based systems. On RPM based systems, a set of core system package install times are compared with system boot time.",
             "Always reboot the machine after the update completes.",
             "Never reboot the machine after the update completes."
           ],
@@ -1620,26 +1622,27 @@
         },
         "yum": {
           "$ref": "YumSettings",
-          "description": "Yum update settings. Use this setting to override the default `yum` patch\nrules."
+          "description": "Yum update settings. Use this setting to override the default `yum` patch rules."
         },
         "zypper": {
           "$ref": "ZypperSettings",
-          "description": "Zypper update settings. Use this setting to override the default `zypper`\npatch rules."
+          "description": "Zypper update settings. Use this setting to override the default `zypper` patch rules."
         }
       },
       "type": "object"
     },
     "PatchDeployment": {
-      "description": "Patch deployments are configurations that individual patch jobs use to\ncomplete a patch. These configurations include instance filter, package\nrepository settings, and a schedule. For more information about creating and\nmanaging patch deployments, see [Scheduling patch\njobs](https://cloud.google.com/compute/docs/os-patch-management/schedule-patch-jobs).",
+      "description": "Patch deployments are configurations that individual patch jobs use to complete a patch. These configurations include instance filter, package repository settings, and a schedule. For more information about creating and managing patch deployments, see [Scheduling patch jobs](https://cloud.google.com/compute/docs/os-patch-management/schedule-patch-jobs).",
       "id": "PatchDeployment",
       "properties": {
         "createTime": {
-          "description": "Output only. Time the patch deployment was created. Timestamp is in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
+          "description": "Output only. Time the patch deployment was created. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "description": {
-          "description": "Optional. Description of the patch deployment. Length of the description is limited\nto 1024 characters.",
+          "description": "Optional. Description of the patch deployment. Length of the description is limited to 1024 characters.",
           "type": "string"
         },
         "duration": {
@@ -1652,12 +1655,13 @@
           "description": "Required. VM instances to patch."
         },
         "lastExecuteTime": {
-          "description": "Output only. The last time a patch job was started by this deployment.\nTimestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text\nformat.",
+          "description": "Output only. The last time a patch job was started by this deployment. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "name": {
-          "description": "Unique name for the patch deployment resource in a project. The patch\ndeployment name is in the form:\n`projects/{project_id}/patchDeployments/{patch_deployment_id}`.\nThis field is ignored when you create a new patch deployment.",
+          "description": "Unique name for the patch deployment resource in a project. The patch deployment name is in the form: `projects/{project_id}/patchDeployments/{patch_deployment_id}`. This field is ignored when you create a new patch deployment.",
           "type": "string"
         },
         "oneTimeSchedule": {
@@ -1677,44 +1681,45 @@
           "description": "Optional. Rollout strategy of the patch job."
         },
         "updateTime": {
-          "description": "Output only. Time the patch deployment was last updated. Timestamp is in\n[RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
+          "description": "Output only. Time the patch deployment was last updated. Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         }
       },
       "type": "object"
     },
     "PatchInstanceFilter": {
-      "description": "A filter to target VM instances for patching. The targeted\nVMs must meet all criteria specified. So if both labels and zones are\nspecified, the patch job targets only VMs with those labels and in those\nzones.",
+      "description": "A filter to target VM instances for patching. The targeted VMs must meet all criteria specified. So if both labels and zones are specified, the patch job targets only VMs with those labels and in those zones.",
       "id": "PatchInstanceFilter",
       "properties": {
         "all": {
-          "description": "Target all VM instances in the project. If true, no other criteria is\npermitted.",
+          "description": "Target all VM instances in the project. If true, no other criteria is permitted.",
           "type": "boolean"
         },
         "groupLabels": {
-          "description": "Targets VM instances matching at least one of these label sets. This allows\ntargeting of disparate groups, for example \"env=prod or env=staging\".",
+          "description": "Targets VM instances matching at least one of these label sets. This allows targeting of disparate groups, for example \"env=prod or env=staging\".",
           "items": {
             "$ref": "PatchInstanceFilterGroupLabel"
           },
           "type": "array"
         },
         "instanceNamePrefixes": {
-          "description": "Targets VMs whose name starts with one of these prefixes. Similar to\nlabels, this is another way to group VMs when targeting configs, for\nexample prefix=\"prod-\".",
+          "description": "Targets VMs whose name starts with one of these prefixes. Similar to labels, this is another way to group VMs when targeting configs, for example prefix=\"prod-\".",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "instances": {
-          "description": "Targets any of the VM instances specified. Instances are specified by their\nURI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`,\n`projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or\n`https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`",
+          "description": "Targets any of the VM instances specified. Instances are specified by their URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`, `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "zones": {
-          "description": "Targets VM instances in ANY of these zones. Leave empty to target VM\ninstances in any zone.",
+          "description": "Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.",
           "items": {
             "type": "string"
           },
@@ -1724,21 +1729,21 @@
       "type": "object"
     },
     "PatchInstanceFilterGroupLabel": {
-      "description": "Represents a group of VMs that can be identified as having all these\nlabels, for example \"env=prod and app=web\".",
+      "description": "Represents a group of VMs that can be identified as having all these labels, for example \"env=prod and app=web\".",
       "id": "PatchInstanceFilterGroupLabel",
       "properties": {
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Compute Engine instance labels that must be present for a VM instance to\nbe targeted by this filter.",
+          "description": "Compute Engine instance labels that must be present for a VM instance to be targeted by this filter.",
           "type": "object"
         }
       },
       "type": "object"
     },
     "PatchJob": {
-      "description": "A high level representation of a patch job that is either in progress\nor has completed.\n\nInstance details are not included in the job. To paginate through instance\ndetails, use `ListPatchJobInstanceDetails`.\n\nFor more information about patch jobs, see\n[Creating patch\njobs](https://cloud.google.com/compute/docs/os-patch-management/create-patch-job).",
+      "description": "A high level representation of a patch job that is either in progress or has completed. Instance details are not included in the job. To paginate through instance details, use `ListPatchJobInstanceDetails`. For more information about patch jobs, see [Creating patch jobs](https://cloud.google.com/compute/docs/os-patch-management/create-patch-job).",
       "id": "PatchJob",
       "properties": {
         "createTime": {
@@ -1747,7 +1752,7 @@
           "type": "string"
         },
         "description": {
-          "description": "Description of the patch job. Length of the description is limited\nto 1024 characters.",
+          "description": "Description of the patch job. Length of the description is limited to 1024 characters.",
           "type": "string"
         },
         "displayName": {
@@ -1755,16 +1760,16 @@
           "type": "string"
         },
         "dryRun": {
-          "description": "If this patch job is a dry run, the agent reports that it has\nfinished without running any updates on the VM instance.",
+          "description": "If this patch job is a dry run, the agent reports that it has finished without running any updates on the VM instance.",
           "type": "boolean"
         },
         "duration": {
-          "description": "Duration of the patch job. After the duration ends, the\npatch job times out.",
+          "description": "Duration of the patch job. After the duration ends, the patch job times out.",
           "format": "google-duration",
           "type": "string"
         },
         "errorMessage": {
-          "description": "If this patch job failed, this message provides information about the\nfailure.",
+          "description": "If this patch job failed, this message provides information about the failure.",
           "type": "string"
         },
         "instanceDetailsSummary": {
@@ -1776,7 +1781,7 @@
           "description": "Instances to patch."
         },
         "name": {
-          "description": "Unique identifier for this patch job in the form\n`projects/*/patchJobs/*`",
+          "description": "Unique identifier for this patch job in the form `projects/*/patchJobs/*`",
           "type": "string"
         },
         "patchConfig": {
@@ -1785,10 +1790,11 @@
         },
         "patchDeployment": {
           "description": "Output only. Name of the patch deployment that created this patch job.",
+          "readOnly": true,
           "type": "string"
         },
         "percentComplete": {
-          "description": "Reflects the overall progress of the patch job in the range of\n0.0 being no progress to 100.0 being complete.",
+          "description": "Reflects the overall progress of the patch job in the range of 0.0 being no progress to 100.0 being complete.",
           "format": "double",
           "type": "number"
         },
@@ -1829,7 +1835,7 @@
       "type": "object"
     },
     "PatchJobInstanceDetails": {
-      "description": "Patch details for a VM instance. For more information about reviewing VM\ninstance details, see\n[Listing all VM instance details for a specific patch\njob](https://cloud.google.com/compute/docs/os-patch-management/manage-patch-jobs#list-instance-details).",
+      "description": "Patch details for a VM instance. For more information about reviewing VM instance details, see [Listing all VM instance details for a specific patch job](https://cloud.google.com/compute/docs/os-patch-management/manage-patch-jobs#list-instance-details).",
       "id": "PatchJobInstanceDetails",
       "properties": {
         "attemptCount": {
@@ -1842,7 +1848,7 @@
           "type": "string"
         },
         "instanceSystemId": {
-          "description": "The unique identifier for the instance. This identifier is\ndefined by the server.",
+          "description": "The unique identifier for the instance. This identifier is defined by the server.",
           "type": "string"
         },
         "name": {
@@ -1885,7 +1891,7 @@
             "The instance exceeded the time out while applying the patch.",
             "The instance is running the pre-patch step.",
             "The instance is running the post-patch step.",
-            "The service could not detect the presence of the agent. Check to ensure\nthat the agent is installed, running, and able to communicate with the\nservice."
+            "The service could not detect the presence of the agent. Check to ensure that the agent is installed, running, and able to communicate with the service."
           ],
           "type": "string"
         }
@@ -1893,7 +1899,7 @@
       "type": "object"
     },
     "PatchJobInstanceDetailsSummary": {
-      "description": "A summary of the current patch state across all instances that this patch\njob affects. Contains counts of instances in different states. These states\nmap to `InstancePatchState`. List patch job instance details to see the\nspecific states of each instance.",
+      "description": "A summary of the current patch state across all instances that this patch job affects. Contains counts of instances in different states. These states map to `InstancePatchState`. List patch job instance details to see the specific states of each instance.",
       "id": "PatchJobInstanceDetailsSummary",
       "properties": {
         "ackedInstanceCount": {
@@ -1922,7 +1928,7 @@
           "type": "string"
         },
         "noAgentDetectedInstanceCount": {
-          "description": "Number of instances that do not appear to be running the agent. Check to\nensure that the agent is installed, running, and able to communicate with\nthe service.",
+          "description": "Number of instances that do not appear to be running the agent. Check to ensure that the agent is installed, running, and able to communicate with the service.",
           "format": "int64",
           "type": "string"
         },
@@ -1975,12 +1981,12 @@
       "type": "object"
     },
     "PatchRollout": {
-      "description": "Patch rollout configuration specifications. Contains details on the\nconcurrency control when applying patch(es) to all targeted VMs.",
+      "description": "Patch rollout configuration specifications. Contains details on the concurrency control when applying patch(es) to all targeted VMs.",
       "id": "PatchRollout",
       "properties": {
         "disruptionBudget": {
           "$ref": "FixedOrPercent",
-          "description": "The maximum number (or percentage) of VMs per zone to disrupt at any given\nmoment. The number of VMs calculated from multiplying the percentage by the\ntotal number of VMs in a zone is rounded up.\n\nDuring patching, a VM is considered disrupted from the time the agent is\nnotified to begin until patching has completed. This disruption time\nincludes the time to complete reboot and any post-patch steps.\n\nA VM contributes to the disruption budget if its patching operation fails\neither when applying the patches, running pre or post patch steps, or if it\nfails to respond with a success notification before timing out. VMs that\nare not running or do not have an active agent do not count toward this\ndisruption budget.\n\nFor zone-by-zone rollouts, if the disruption budget in a zone is exceeded,\nthe patch job stops, because continuing to the next zone requires\ncompletion of the patch process in the previous zone.\n\nFor example, if the disruption budget has a fixed value of `10`, and 8 VMs\nfail to patch in the current zone, the patch job continues to patch 2 VMs\nat a time until the zone is completed. When that zone is completed\nsuccessfully, patching begins with 10 VMs at a time in the next zone. If 10\nVMs in the next zone fail to patch, the patch job stops."
+          "description": "The maximum number (or percentage) of VMs per zone to disrupt at any given moment. The number of VMs calculated from multiplying the percentage by the total number of VMs in a zone is rounded up. During patching, a VM is considered disrupted from the time the agent is notified to begin until patching has completed. This disruption time includes the time to complete reboot and any post-patch steps. A VM contributes to the disruption budget if its patching operation fails either when applying the patches, running pre or post patch steps, or if it fails to respond with a success notification before timing out. VMs that are not running or do not have an active agent do not count toward this disruption budget. For zone-by-zone rollouts, if the disruption budget in a zone is exceeded, the patch job stops, because continuing to the next zone requires completion of the patch process in the previous zone. For example, if the disruption budget has a fixed value of `10`, and 8 VMs fail to patch in the current zone, the patch job continues to patch 2 VMs at a time until the zone is completed. When that zone is completed successfully, patching begins with 10 VMs at a time in the next zone. If 10 VMs in the next zone fail to patch, the patch job stops."
         },
         "mode": {
           "description": "Mode of the patch rollout.",
@@ -1991,7 +1997,7 @@
           ],
           "enumDescriptions": [
             "Mode must be specified.",
-            "Patches are applied one zone at a time. The patch job begins in the\nregion with the lowest number of targeted VMs. Within the region,\npatching begins in the zone with the lowest number of targeted VMs. If\nmultiple regions (or zones within a region) have the same number of\ntargeted VMs, a tie-breaker is achieved by sorting the regions or zones\nin alphabetical order.",
+            "Patches are applied one zone at a time. The patch job begins in the region with the lowest number of targeted VMs. Within the region, patching begins in the zone with the lowest number of targeted VMs. If multiple regions (or zones within a region) have the same number of targeted VMs, a tie-breaker is achieved by sorting the regions or zones in alphabetical order.",
             "Patches are applied to VMs in all zones at the same time."
           ],
           "type": "string"
@@ -2004,7 +2010,7 @@
       "id": "RecurringSchedule",
       "properties": {
         "endTime": {
-          "description": "Optional. The end time at which a recurring patch deployment schedule is no longer\nactive.",
+          "description": "Optional. The end time at which a recurring patch deployment schedule is no longer active.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -2017,14 +2023,15 @@
           ],
           "enumDescriptions": [
             "Invalid. A frequency must be specified.",
-            "Indicates that the frequency should be expressed in terms of\nweeks.",
-            "Indicates that the frequency should be expressed in terms of\nmonths."
+            "Indicates that the frequency should be expressed in terms of weeks.",
+            "Indicates that the frequency should be expressed in terms of months."
           ],
           "type": "string"
         },
         "lastExecuteTime": {
           "description": "Output only. The time the last patch job ran successfully.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "monthly": {
@@ -2034,10 +2041,11 @@
         "nextExecuteTime": {
           "description": "Output only. The time the next patch job is scheduled to run.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "startTime": {
-          "description": "Optional. The time that the recurring schedule becomes effective.\nDefaults to `create_time` of the patch deployment.",
+          "description": "Optional. The time that the recurring schedule becomes effective. Defaults to `create_time` of the patch deployment.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -2047,7 +2055,7 @@
         },
         "timeZone": {
           "$ref": "TimeZone",
-          "description": "Required. Defines the time zone that `time_of_day` is relative to.\nThe rules for daylight saving time are determined by the chosen time zone."
+          "description": "Required. Defines the time zone that `time_of_day` is relative to. The rules for daylight saving time are determined by the chosen time zone."
         },
         "weekly": {
           "$ref": "WeeklySchedule",
@@ -2080,7 +2088,7 @@
       "type": "object"
     },
     "RepositoryResourceAptRepository": {
-      "description": "Represents a single apt package repository. These will be added to a repo\nfile that will be managed at /etc/apt/sources.list.d/google_osconfig.list.",
+      "description": "Represents a single apt package repository. These will be added to a repo file that will be managed at /etc/apt/sources.list.d/google_osconfig.list.",
       "id": "RepositoryResourceAptRepository",
       "properties": {
         "archiveType": {
@@ -2109,7 +2117,7 @@
           "type": "string"
         },
         "gpgKey": {
-          "description": "URI of the key file for this repository. The agent will maintain\na keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg.",
+          "description": "URI of the key file for this repository. The agent will maintain a keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg.",
           "type": "string"
         },
         "uri": {
@@ -2120,7 +2128,7 @@
       "type": "object"
     },
     "RepositoryResourceGooRepository": {
-      "description": "Represents a Goo package repository. These will be added to a repo file\nthat will be managed at C:/ProgramData/GooGet/repos/google_osconfig.repo.",
+      "description": "Represents a Goo package repository. These will be added to a repo file that will be managed at C:/ProgramData/GooGet/repos/google_osconfig.repo.",
       "id": "RepositoryResourceGooRepository",
       "properties": {
         "name": {
@@ -2135,7 +2143,7 @@
       "type": "object"
     },
     "RepositoryResourceYumRepository": {
-      "description": "Represents a single yum package repository. These will be added to a repo\nfile that will be managed at /etc/yum.repos.d/google_osconfig.repo.",
+      "description": "Represents a single yum package repository. These will be added to a repo file that will be managed at /etc/yum.repos.d/google_osconfig.repo.",
       "id": "RepositoryResourceYumRepository",
       "properties": {
         "baseUrl": {
@@ -2154,14 +2162,14 @@
           "type": "array"
         },
         "id": {
-          "description": "A one word, unique name for this repository. This will be\nthe `repo id` in the yum config file and also the `display_name` if\n`display_name` is omitted. This id is also used as the unique identifier\nwhen checking for resource conflicts.",
+          "description": "A one word, unique name for this repository. This will be the `repo id` in the yum config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for resource conflicts.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "RepositoryResourceZypperRepository": {
-      "description": "Represents a single zypper package repository. These will be added to a\nrepo file that will be managed at /etc/zypp/repos.d/google_osconfig.repo.",
+      "description": "Represents a single zypper package repository. These will be added to a repo file that will be managed at /etc/zypp/repos.d/google_osconfig.repo.",
       "id": "RepositoryResourceZypperRepository",
       "properties": {
         "baseUrl": {
@@ -2180,7 +2188,7 @@
           "type": "array"
         },
         "id": {
-          "description": "A one word, unique name for this repository. This will be\nthe `repo id` in the zypper config file and also the `display_name` if\n`display_name` is omitted. This id is also used as the unique identifier\nwhen checking for GuestPolicy conflicts.",
+          "description": "A one word, unique name for this repository. This will be the `repo id` in the zypper config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for GuestPolicy conflicts.",
           "type": "string"
         }
       },
@@ -2193,7 +2201,7 @@
       "type": "object"
     },
     "SoftwareRecipe": {
-      "description": "A software recipe is a set of instructions for installing and configuring a\npiece of software. It consists of a set of artifacts that are\ndownloaded, and a set of steps that install, configure, and/or update the\nsoftware.\n\nRecipes support installing and updating software from artifacts in the\nfollowing formats:\nZip archive, Tar archive, Windows MSI, Debian package, and RPM package.\n\nAdditionally, recipes support executing a script (either defined in a file or\ndirectly in this api) in bash, sh, cmd, and powershell.\n\nUpdating a software recipe\n\nIf a recipe is assigned to an instance and there is a recipe with the same\nname but a lower version already installed and the assigned state\nof the recipe is `UPDATED`, then the recipe is updated to\nthe new version.\n\nScript Working Directories\n\nEach script or execution step is run in its own temporary directory which\nis deleted after completing the step.",
+      "description": "A software recipe is a set of instructions for installing and configuring a piece of software. It consists of a set of artifacts that are downloaded, and a set of steps that install, configure, and/or update the software. Recipes support installing and updating software from artifacts in the following formats: Zip archive, Tar archive, Windows MSI, Debian package, and RPM package. Additionally, recipes support executing a script (either defined in a file or directly in this api) in bash, sh, cmd, and powershell. Updating a software recipe If a recipe is assigned to an instance and there is a recipe with the same name but a lower version already installed and the assigned state of the recipe is `UPDATED`, then the recipe is updated to the new version. Script Working Directories Each script or execution step is run in its own temporary directory which is deleted after completing the step.",
       "id": "SoftwareRecipe",
       "properties": {
         "artifacts": {
@@ -2204,7 +2212,7 @@
           "type": "array"
         },
         "desiredState": {
-          "description": "Default is INSTALLED. The desired state the agent should maintain for this\nrecipe.\n\nINSTALLED: The software recipe is installed on the instance but\n           won't be updated to new versions.\nUPDATED: The software recipe is installed on the instance. The recipe is\n         updated to a higher version, if a higher version of the recipe is\n         assigned to this instance.\nREMOVE: Remove is unsupported for software recipes and attempts to\n        create or update a recipe to the REMOVE state is rejected.",
+          "description": "Default is INSTALLED. The desired state the agent should maintain for this recipe. INSTALLED: The software recipe is installed on the instance but won't be updated to new versions. UPDATED: The software recipe is installed on the instance. The recipe is updated to a higher version, if a higher version of the recipe is assigned to this instance. REMOVE: Remove is unsupported for software recipes and attempts to create or update a recipe to the REMOVE state is rejected.",
           "enum": [
             "DESIRED_STATE_UNSPECIFIED",
             "INSTALLED",
@@ -2214,31 +2222,31 @@
           "enumDescriptions": [
             "The default is to ensure the package is installed.",
             "The agent ensures that the package is installed.",
-            "The agent ensures that the package is installed and\nperiodically checks for and install any updates.",
-            "The agent ensures that the package is not installed and uninstall it\nif detected."
+            "The agent ensures that the package is installed and periodically checks for and install any updates.",
+            "The agent ensures that the package is not installed and uninstall it if detected."
           ],
           "type": "string"
         },
         "installSteps": {
-          "description": "Actions to be taken for installing this recipe. On failure it stops\nexecuting steps and does not attempt another installation. Any steps taken\n(including partially completed steps) are not rolled back.",
+          "description": "Actions to be taken for installing this recipe. On failure it stops executing steps and does not attempt another installation. Any steps taken (including partially completed steps) are not rolled back.",
           "items": {
             "$ref": "SoftwareRecipeStep"
           },
           "type": "array"
         },
         "name": {
-          "description": "Required. Unique identifier for the recipe. Only one recipe with a given name is\ninstalled on an instance.\n\nNames are also used to identify resources which helps to determine whether\nguest policies have conflicts. This means that requests to create multiple\nrecipes with the same name and version are rejected since they\ncould potentially have conflicting assignments.",
+          "description": "Required. Unique identifier for the recipe. Only one recipe with a given name is installed on an instance. Names are also used to identify resources which helps to determine whether guest policies have conflicts. This means that requests to create multiple recipes with the same name and version are rejected since they could potentially have conflicting assignments.",
           "type": "string"
         },
         "updateSteps": {
-          "description": "Actions to be taken for updating this recipe. On failure it stops\nexecuting steps and  does not attempt another update for this recipe. Any\nsteps taken (including partially completed steps) are not rolled back.",
+          "description": "Actions to be taken for updating this recipe. On failure it stops executing steps and does not attempt another update for this recipe. Any steps taken (including partially completed steps) are not rolled back.",
           "items": {
             "$ref": "SoftwareRecipeStep"
           },
           "type": "array"
         },
         "version": {
-          "description": "The version of this software recipe. Version can be up to 4 period\nseparated numbers (e.g. 12.34.56.78).",
+          "description": "The version of this software recipe. Version can be up to 4 period separated numbers (e.g. 12.34.56.78).",
           "type": "string"
         }
       },
@@ -2249,7 +2257,7 @@
       "id": "SoftwareRecipeArtifact",
       "properties": {
         "allowInsecure": {
-          "description": "Defaults to false. When false, recipes are subject to validations\nbased on the artifact type:\n\nRemote: A checksum must be specified, and only protocols with\ntransport-layer security are permitted.\nGCS:    An object generation number must be specified.",
+          "description": "Defaults to false. When false, recipes are subject to validations based on the artifact type: Remote: A checksum must be specified, and only protocols with transport-layer security are permitted. GCS: An object generation number must be specified.",
           "type": "boolean"
         },
         "gcs": {
@@ -2257,7 +2265,7 @@
           "description": "A Google Cloud Storage artifact."
         },
         "id": {
-          "description": "Required. Id of the artifact, which the installation and update steps of this\nrecipe can reference. Artifacts in a recipe cannot have the same id.",
+          "description": "Required. Id of the artifact, which the installation and update steps of this recipe can reference. Artifacts in a recipe cannot have the same id.",
           "type": "string"
         },
         "remote": {
@@ -2272,16 +2280,16 @@
       "id": "SoftwareRecipeArtifactGcs",
       "properties": {
         "bucket": {
-          "description": "Bucket of the Google Cloud Storage object.\nGiven an example URL:\n`https://storage.googleapis.com/my-bucket/foo/bar#1234567`\nthis value would be `my-bucket`.",
+          "description": "Bucket of the Google Cloud Storage object. Given an example URL: `https://storage.googleapis.com/my-bucket/foo/bar#1234567` this value would be `my-bucket`.",
           "type": "string"
         },
         "generation": {
-          "description": "Must be provided if allow_insecure is false.\nGeneration number of the Google Cloud Storage object.\n`https://storage.googleapis.com/my-bucket/foo/bar#1234567`\nthis value would be `1234567`.",
+          "description": "Must be provided if allow_insecure is false. Generation number of the Google Cloud Storage object. `https://storage.googleapis.com/my-bucket/foo/bar#1234567` this value would be `1234567`.",
           "format": "int64",
           "type": "string"
         },
         "object": {
-          "description": "Name of the Google Cloud Storage object.\nAs specified [here]\n(https://cloud.google.com/storage/docs/naming#objectnames)\nGiven an example URL:\n`https://storage.googleapis.com/my-bucket/foo/bar#1234567`\nthis value would be `foo/bar`.",
+          "description": "Name of the Google Cloud Storage object. As specified [here] (https://cloud.google.com/storage/docs/naming#objectnames) Given an example URL: `https://storage.googleapis.com/my-bucket/foo/bar#1234567` this value would be `foo/bar`.",
           "type": "string"
         }
       },
@@ -2292,11 +2300,11 @@
       "id": "SoftwareRecipeArtifactRemote",
       "properties": {
         "checksum": {
-          "description": "Must be provided if `allow_insecure` is `false`.\nSHA256 checksum in hex format, to compare to the checksum of the\nartifact. If the checksum is not empty and it doesn't match the\nartifact then the recipe installation fails before running any of the\nsteps.",
+          "description": "Must be provided if `allow_insecure` is `false`. SHA256 checksum in hex format, to compare to the checksum of the artifact. If the checksum is not empty and it doesn't match the artifact then the recipe installation fails before running any of the steps.",
           "type": "string"
         },
         "uri": {
-          "description": "URI from which to fetch the object. It should contain both the protocol\nand path following the format {protocol}://{location}.",
+          "description": "URI from which to fetch the object. It should contain both the protocol and path following the format {protocol}://{location}.",
           "type": "string"
         }
       },
@@ -2350,11 +2358,11 @@
           "type": "string"
         },
         "overwrite": {
-          "description": "Whether to allow this step to overwrite existing files. If this is\nfalse and the file already exists the file is not overwritten\nand the step is considered a success. Defaults to false.",
+          "description": "Whether to allow this step to overwrite existing files. If this is false and the file already exists the file is not overwritten and the step is considered a success. Defaults to false.",
           "type": "boolean"
         },
         "permissions": {
-          "description": "Consists of three octal digits which represent, in\norder, the permissions of the owner, group, and other users for the\nfile (similarly to the numeric mode used in the linux chmod utility).\nEach digit represents a three bit number with the 4 bit\ncorresponding to the read permissions, the 2 bit corresponds to the\nwrite bit, and the one bit corresponds to the execute permission.\nDefault behavior is 755.\n\nBelow are some examples of permissions and their associated values:\nread, write, and execute: 7\nread and execute: 5\nread and write: 6\nread only: 4",
+          "description": "Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4",
           "type": "string"
         }
       },
@@ -2365,7 +2373,7 @@
       "id": "SoftwareRecipeStepExecFile",
       "properties": {
         "allowedExitCodes": {
-          "description": "Defaults to [0]. A list of possible return values that the program\ncan return to indicate a success.",
+          "description": "Defaults to [0]. A list of possible return values that the program can return to indicate a success.",
           "items": {
             "format": "int32",
             "type": "integer"
@@ -2399,7 +2407,7 @@
           "type": "string"
         },
         "destination": {
-          "description": "Directory to extract archive to.\nDefaults to `/` on Linux or `C:\\` on Windows.",
+          "description": "Directory to extract archive to. Defaults to `/` on Linux or `C:\\` on Windows.",
           "type": "string"
         },
         "type": {
@@ -2443,7 +2451,7 @@
       "id": "SoftwareRecipeStepInstallMsi",
       "properties": {
         "allowedExitCodes": {
-          "description": "Return codes that indicate that the software installed or updated\nsuccessfully. Behaviour defaults to [0]",
+          "description": "Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]",
           "items": {
             "format": "int32",
             "type": "integer"
@@ -2455,7 +2463,7 @@
           "type": "string"
         },
         "flags": {
-          "description": "The flags to use when installing the MSI\ndefaults to [\"/i\"] (i.e. the install flag).",
+          "description": "The flags to use when installing the MSI defaults to [\"/i\"] (i.e. the install flag).",
           "items": {
             "type": "string"
           },
@@ -2480,7 +2488,7 @@
       "id": "SoftwareRecipeStepRunScript",
       "properties": {
         "allowedExitCodes": {
-          "description": "Return codes that indicate that the software installed or updated\nsuccessfully. Behaviour defaults to [0]",
+          "description": "Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]",
           "items": {
             "format": "int32",
             "type": "integer"
@@ -2488,7 +2496,7 @@
           "type": "array"
         },
         "interpreter": {
-          "description": "The script interpreter to use to run the script. If no interpreter is\nspecified the script is executed directly, which likely\nonly succeed for scripts with\n[shebang lines](https://en.wikipedia.org/wiki/Shebang_\\(Unix\\)).",
+          "description": "The script interpreter to use to run the script. If no interpreter is specified the script is executed directly, which likely only succeed for scripts with [shebang lines](https://en.wikipedia.org/wiki/Shebang_\\(Unix\\)).",
           "enum": [
             "INTERPRETER_UNSPECIFIED",
             "SHELL",
@@ -2496,7 +2504,7 @@
           ],
           "enumDescriptions": [
             "Default value for ScriptType.",
-            "Indicates that the script is run with `/bin/sh` on Linux and `cmd`\non windows.",
+            "Indicates that the script is run with `/bin/sh` on Linux and `cmd` on windows.",
             "Indicates that the script is run with powershell."
           ],
           "type": "string"
@@ -2509,11 +2517,11 @@
       "type": "object"
     },
     "TimeOfDay": {
-      "description": "Represents a time of day. The date and time zone are either not significant\nor are specified elsewhere. An API may choose to allow leap seconds. Related\ntypes are google.type.Date and `google.protobuf.Timestamp`.",
+      "description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.",
       "id": "TimeOfDay",
       "properties": {
         "hours": {
-          "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose\nto allow the value \"24:00:00\" for scenarios like business closing time.",
+          "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.",
           "format": "int32",
           "type": "integer"
         },
@@ -2528,7 +2536,7 @@
           "type": "integer"
         },
         "seconds": {
-          "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may\nallow the value 60 if it allows leap-seconds.",
+          "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.",
           "format": "int32",
           "type": "integer"
         }
@@ -2536,7 +2544,7 @@
       "type": "object"
     },
     "TimeZone": {
-      "description": "Represents a time zone from the\n[IANA Time Zone Database](https://www.iana.org/time-zones).",
+      "description": "Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).",
       "id": "TimeZone",
       "properties": {
         "id": {
@@ -2579,7 +2587,7 @@
           "type": "string"
         },
         "weekOrdinal": {
-          "description": "Required. Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1\nindicates the last week of the month.",
+          "description": "Required. Week number in a month. 1-4 indicates the 1st to 4th week of the month. -1 indicates the last week of the month.",
           "format": "int32",
           "type": "integer"
         }
@@ -2622,18 +2630,18 @@
       "id": "WindowsUpdateSettings",
       "properties": {
         "classifications": {
-          "description": "Only apply updates of these windows update classifications. If empty, all\nupdates are applied.",
+          "description": "Only apply updates of these windows update classifications. If empty, all updates are applied.",
           "enumDescriptions": [
             "Invalid. If classifications are included, they must be specified.",
-            "\"A widely released fix for a specific problem that addresses a critical,\nnon-security-related bug.\" [1]",
-            "\"A widely released fix for a product-specific, security-related\nvulnerability. Security vulnerabilities are rated by their severity. The\nseverity rating is indicated in the Microsoft security bulletin as\ncritical, important, moderate, or low.\" [1]",
-            "\"A widely released and frequent software update that contains additions\nto a product's definition database. Definition databases are often used\nto detect objects that have specific attributes, such as malicious code,\nphishing websites, or junk mail.\" [1]",
+            "\"A widely released fix for a specific problem that addresses a critical, non-security-related bug.\" [1]",
+            "\"A widely released fix for a product-specific, security-related vulnerability. Security vulnerabilities are rated by their severity. The severity rating is indicated in the Microsoft security bulletin as critical, important, moderate, or low.\" [1]",
+            "\"A widely released and frequent software update that contains additions to a product's definition database. Definition databases are often used to detect objects that have specific attributes, such as malicious code, phishing websites, or junk mail.\" [1]",
             "\"Software that controls the input and output of a device.\" [1]",
-            "\"New product functionality that is first distributed outside the context\nof a product release and that is typically included in the next full\nproduct release.\" [1]",
-            "\"A tested, cumulative set of all hotfixes, security updates, critical\nupdates, and updates. Additionally, service packs may contain additional\nfixes for problems that are found internally since the release of the\nproduct. Service packs my also contain a limited number of\ncustomer-requested design changes or features.\" [1]",
+            "\"New product functionality that is first distributed outside the context of a product release and that is typically included in the next full product release.\" [1]",
+            "\"A tested, cumulative set of all hotfixes, security updates, critical updates, and updates. Additionally, service packs may contain additional fixes for problems that are found internally since the release of the product. Service packs my also contain a limited number of customer-requested design changes or features.\" [1]",
             "\"A utility or feature that helps complete a task or set of tasks.\" [1]",
-            "\"A tested, cumulative set of hotfixes, security updates, critical\nupdates, and updates that are packaged together for easy deployment. A\nrollup generally targets a specific area, such as security, or a\ncomponent of a product, such as Internet Information Services (IIS).\" [1]",
-            "\"A widely released fix for a specific problem. An update addresses a\nnoncritical, non-security-related bug.\" [1]"
+            "\"A tested, cumulative set of hotfixes, security updates, critical updates, and updates that are packaged together for easy deployment. A rollup generally targets a specific area, such as security, or a component of a product, such as Internet Information Services (IIS).\" [1]",
+            "\"A widely released fix for a specific problem. An update addresses a noncritical, non-security-related bug.\" [1]"
           ],
           "items": {
             "enum": [
@@ -2648,6 +2656,18 @@
               "UPDATE_ROLLUP",
               "UPDATE"
             ],
+            "enumDescriptions": [
+              "Invalid. If classifications are included, they must be specified.",
+              "\"A widely released fix for a specific problem that addresses a critical, non-security-related bug.\" [1]",
+              "\"A widely released fix for a product-specific, security-related vulnerability. Security vulnerabilities are rated by their severity. The severity rating is indicated in the Microsoft security bulletin as critical, important, moderate, or low.\" [1]",
+              "\"A widely released and frequent software update that contains additions to a product's definition database. Definition databases are often used to detect objects that have specific attributes, such as malicious code, phishing websites, or junk mail.\" [1]",
+              "\"Software that controls the input and output of a device.\" [1]",
+              "\"New product functionality that is first distributed outside the context of a product release and that is typically included in the next full product release.\" [1]",
+              "\"A tested, cumulative set of all hotfixes, security updates, critical updates, and updates. Additionally, service packs may contain additional fixes for problems that are found internally since the release of the product. Service packs my also contain a limited number of customer-requested design changes or features.\" [1]",
+              "\"A utility or feature that helps complete a task or set of tasks.\" [1]",
+              "\"A tested, cumulative set of hotfixes, security updates, critical updates, and updates that are packaged together for easy deployment. A rollup generally targets a specific area, such as security, or a component of a product, such as Internet Information Services (IIS).\" [1]",
+              "\"A widely released fix for a specific problem. An update addresses a noncritical, non-security-related bug.\" [1]"
+            ],
             "type": "string"
           },
           "type": "array"
@@ -2660,7 +2680,7 @@
           "type": "array"
         },
         "exclusivePatches": {
-          "description": "An exclusive list of kbs to be updated. These are the only patches\nthat will be updated. This field must not be used with other\npatch configurations.",
+          "description": "An exclusive list of kbs to be updated. These are the only patches that will be updated. This field must not be used with other patch configurations.",
           "items": {
             "type": "string"
           },
@@ -2670,7 +2690,7 @@
       "type": "object"
     },
     "YumRepository": {
-      "description": "Represents a single Yum package repository. This repository is added to a\nrepo file that is stored at `/etc/yum.repos.d/google_osconfig.repo`.",
+      "description": "Represents a single Yum package repository. This repository is added to a repo file that is stored at `/etc/yum.repos.d/google_osconfig.repo`.",
       "id": "YumRepository",
       "properties": {
         "baseUrl": {
@@ -2689,25 +2709,25 @@
           "type": "array"
         },
         "id": {
-          "description": "Required. A one word, unique name for this repository. This is\nthe `repo id` in the Yum config file and also the `display_name` if\n`display_name` is omitted. This id is also used as the unique identifier\nwhen checking for guest policy conflicts.",
+          "description": "Required. A one word, unique name for this repository. This is the `repo id` in the Yum config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for guest policy conflicts.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "YumSettings": {
-      "description": "Yum patching is performed by executing `yum update`. Additional options\ncan be set to control how this is executed.\n\nNote that not all settings are supported on all platforms.",
+      "description": "Yum patching is performed by executing `yum update`. Additional options can be set to control how this is executed. Note that not all settings are supported on all platforms.",
       "id": "YumSettings",
       "properties": {
         "excludes": {
-          "description": "List of packages to exclude from update. These packages are excluded by\nusing the yum `--exclude` flag.",
+          "description": "List of packages to exclude from update. These packages are excluded by using the yum `--exclude` flag.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "exclusivePackages": {
-          "description": "An exclusive list of packages to be updated. These are the only packages\nthat will be updated. If these packages are not installed, they will be\nignored. This field must not be specified with any other patch\nconfiguration fields.",
+          "description": "An exclusive list of packages to be updated. These are the only packages that will be updated. If these packages are not installed, they will be ignored. This field must not be specified with any other patch configuration fields.",
           "items": {
             "type": "string"
           },
@@ -2718,14 +2738,14 @@
           "type": "boolean"
         },
         "security": {
-          "description": "Adds the `--security` flag to `yum update`. Not supported on\nall platforms.",
+          "description": "Adds the `--security` flag to `yum update`. Not supported on all platforms.",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "ZypperRepository": {
-      "description": "Represents a single Zypper package repository. This repository is added to a\nrepo file that is stored at `/etc/zypp/repos.d/google_osconfig.repo`.",
+      "description": "Represents a single Zypper package repository. This repository is added to a repo file that is stored at `/etc/zypp/repos.d/google_osconfig.repo`.",
       "id": "ZypperRepository",
       "properties": {
         "baseUrl": {
@@ -2744,18 +2764,18 @@
           "type": "array"
         },
         "id": {
-          "description": "Required. A one word, unique name for this repository. This is\nthe `repo id` in the zypper config file and also the `display_name` if\n`display_name` is omitted. This id is also used as the unique identifier\nwhen checking for guest policy conflicts.",
+          "description": "Required. A one word, unique name for this repository. This is the `repo id` in the zypper config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for guest policy conflicts.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "ZypperSettings": {
-      "description": "Zypper patching is performed by running `zypper patch`.\nSee also https://en.opensuse.org/SDB:Zypper_manual.",
+      "description": "Zypper patching is performed by running `zypper patch`. See also https://en.opensuse.org/SDB:Zypper_manual.",
       "id": "ZypperSettings",
       "properties": {
         "categories": {
-          "description": "Install only patches with these categories.\nCommon categories include security, recommended, and feature.",
+          "description": "Install only patches with these categories. Common categories include security, recommended, and feature.",
           "items": {
             "type": "string"
           },
@@ -2769,14 +2789,14 @@
           "type": "array"
         },
         "exclusivePatches": {
-          "description": "An exclusive list of patches to be updated. These are the only patches\nthat will be installed using 'zypper patch patch:\u003cpatch_name\u003e' command.\nThis field must not be used with any other patch configuration fields.",
+          "description": "An exclusive list of patches to be updated. These are the only patches that will be installed using 'zypper patch patch:' command. This field must not be used with any other patch configuration fields.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "severities": {
-          "description": "Install only patches with these severities.\nCommon severities include critical, important, moderate, and low.",
+          "description": "Install only patches with these severities. Common severities include critical, important, moderate, and low.",
           "items": {
             "type": "string"
           },
diff --git a/osconfig/v1beta/osconfig-gen.go b/osconfig/v1beta/osconfig-gen.go
index 6a89b27..3942537 100644
--- a/osconfig/v1beta/osconfig-gen.go
+++ b/osconfig/v1beta/osconfig-gen.go
@@ -217,9 +217,7 @@
 }
 
 // AptRepository: Represents a single Apt package repository. This
-// repository is added to
-// a repo file that is stored
-// at
+// repository is added to a repo file that is stored at
 // `/etc/apt/sources.list.d/google_osconfig.list`.
 type AptRepository struct {
 	// ArchiveType: Type of archive files in this repository. The default
@@ -239,11 +237,9 @@
 	// Distribution: Required. Distribution of this repository.
 	Distribution string `json:"distribution,omitempty"`
 
-	// GpgKey: URI of the key file for this repository. The agent
-	// maintains
+	// GpgKey: URI of the key file for this repository. The agent maintains
 	// a keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg`
-	// containing
-	// all the keys in any applied guest policy.
+	// containing all the keys in any applied guest policy.
 	GpgKey string `json:"gpgKey,omitempty"`
 
 	// Uri: Required. URI for this repository.
@@ -273,25 +269,21 @@
 }
 
 // AptSettings: Apt patching is completed by executing `apt-get update
-// && apt-get
-// upgrade`. Additional options can be set to control how this is
-// executed.
+// && apt-get upgrade`. Additional options can be set to control how
+// this is executed.
 type AptSettings struct {
 	// Excludes: List of packages to exclude from update. These packages
 	// will be excluded
 	Excludes []string `json:"excludes,omitempty"`
 
 	// ExclusivePackages: An exclusive list of packages to be updated. These
-	// are the only packages
-	// that will be updated. If these packages are not installed, they will
-	// be
-	// ignored. This field cannot be specified with any other patch
-	// configuration
-	// fields.
+	// are the only packages that will be updated. If these packages are not
+	// installed, they will be ignored. This field cannot be specified with
+	// any other patch configuration fields.
 	ExclusivePackages []string `json:"exclusivePackages,omitempty"`
 
-	// Type: By changing the type to DIST, the patching is performed
-	// using `apt-get dist-upgrade` instead.
+	// Type: By changing the type to DIST, the patching is performed using
+	// `apt-get dist-upgrade` instead.
 	//
 	// Possible values:
 	//   "TYPE_UNSPECIFIED" - By default, upgrade will be performed.
@@ -323,64 +315,40 @@
 }
 
 // Assignment: An assignment represents the group or groups of VM
-// instances that the policy
-// applies to.
-//
-// If an assignment is empty, it applies to all VM instances. Otherwise,
-// the
-// targeted VM instances must meet all the criteria specified. So if
-// both
-// labels and zones are specified, the policy applies to VM instances
-// with those
-// labels and in those zones.
+// instances that the policy applies to. If an assignment is empty, it
+// applies to all VM instances. Otherwise, the targeted VM instances
+// must meet all the criteria specified. So if both labels and zones are
+// specified, the policy applies to VM instances with those labels and
+// in those zones.
 type Assignment struct {
 	// GroupLabels: Targets instances matching at least one of these label
-	// sets. This allows
-	// an assignment to target disparate groups, for example "env=prod
-	// or
-	// env=staging".
+	// sets. This allows an assignment to target disparate groups, for
+	// example "env=prod or env=staging".
 	GroupLabels []*AssignmentGroupLabel `json:"groupLabels,omitempty"`
 
 	// InstanceNamePrefixes: Targets VM instances whose name starts with one
-	// of these prefixes.
-	//
-	// Like labels, this is another way to group VM instances when
-	// targeting
-	// configs, for example prefix="prod-".
-	//
-	// Only supported for project-level policies.
+	// of these prefixes. Like labels, this is another way to group VM
+	// instances when targeting configs, for example prefix="prod-". Only
+	// supported for project-level policies.
 	InstanceNamePrefixes []string `json:"instanceNamePrefixes,omitempty"`
 
 	// Instances: Targets any of the instances specified. Instances are
-	// specified by their
-	// URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`.
-	//
-	// Instance targeting is uncommon and is supported to facilitate
-	// the
-	// management of changes by the instance or to target specific VM
-	// instances
-	// for development and testing.
-	//
-	// Only supported for project-level policies and must reference
-	// instances
-	// within this project.
+	// specified by their URI in the form
+	// `zones/[ZONE]/instances/[INSTANCE_NAME]`. Instance targeting is
+	// uncommon and is supported to facilitate the management of changes by
+	// the instance or to target specific VM instances for development and
+	// testing. Only supported for project-level policies and must reference
+	// instances within this project.
 	Instances []string `json:"instances,omitempty"`
 
 	// OsTypes: Targets VM instances matching at least one of the following
-	// OS types.
-	//
-	// VM instances must match all supplied criteria for a given OsType to
-	// be
-	// included.
+	// OS types. VM instances must match all supplied criteria for a given
+	// OsType to be included.
 	OsTypes []*AssignmentOsType `json:"osTypes,omitempty"`
 
 	// Zones: Targets instances in any of these zones. Leave empty to target
-	// instances
-	// in any zone.
-	//
-	// Zonal targeting is uncommon and is supported to facilitate the
-	// management
-	// of changes by zone.
+	// instances in any zone. Zonal targeting is uncommon and is supported
+	// to facilitate the management of changes by zone.
 	Zones []string `json:"zones,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "GroupLabels") to
@@ -407,12 +375,11 @@
 }
 
 // AssignmentGroupLabel: Represents a group of VM intances that can be
-// identified as having all
-// these labels, for example "env=prod and app=web".
+// identified as having all these labels, for example "env=prod and
+// app=web".
 type AssignmentGroupLabel struct {
 	// Labels: Google Compute Engine instance labels that must be present
-	// for an
-	// instance to be included in this assignment group.
+	// for an instance to be included in this assignment group.
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Labels") to
@@ -442,18 +409,16 @@
 // OS type.
 type AssignmentOsType struct {
 	// OsArchitecture: Targets VM instances with OS Inventory enabled and
-	// having the following
-	// OS architecture.
+	// having the following OS architecture.
 	OsArchitecture string `json:"osArchitecture,omitempty"`
 
 	// OsShortName: Targets VM instances with OS Inventory enabled and
-	// having the following
-	// OS short name, for example "debian" or "windows".
+	// having the following OS short name, for example "debian" or
+	// "windows".
 	OsShortName string `json:"osShortName,omitempty"`
 
 	// OsVersion: Targets VM instances with OS Inventory enabled and having
-	// the following
-	// following OS version.
+	// the following following OS version.
 	OsVersion string `json:"osVersion,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "OsArchitecture") to
@@ -625,17 +590,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -645,14 +604,13 @@
 // ExecResource: A resource that contains custom validation and
 // enforcement steps.
 type ExecResource struct {
-	// Enforce: What to run to bring this resource into the desired
-	// state.
+	// Enforce: What to run to bring this resource into the desired state.
 	// Optional if policy is in validate only mode.
 	Enforce *ExecResourceExec `json:"enforce,omitempty"`
 
 	// Validate: What to run to validate this resource is in the desired
+	// state. A successful exit code indicates resource is in the desired
 	// state.
-	// A successful exit code indicates resource is in the desired state.
 	Validate *ExecResourceExec `json:"validate,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Enforce") to
@@ -693,14 +651,12 @@
 	//
 	// Possible values:
 	//   "INTERPRETER_UNSPECIFIED" - Defaults to NONE.
-	//   "NONE" - If no interpreter is specified the
-	// source will be executed directly, which will likely only succeed
-	// for
-	// executables and scripts with shebang lines.
-	// [Wikipedia shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)).
+	//   "NONE" - If no interpreter is specified the source will be executed
+	// directly, which will likely only succeed for executables and scripts
+	// with shebang lines. [Wikipedia
+	// shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)).
 	//   "SHELL" - Indicates that the script will be run with /bin/sh on
-	// Linux and cmd.exe
-	// on windows.
+	// Linux and cmd.exe on windows.
 	//   "POWERSHELL" - Indicates that the script will be run with
 	// powershell.
 	Interpreter string `json:"interpreter,omitempty"`
@@ -769,32 +725,24 @@
 // ExecStepConfig: Common configurations for an ExecStep.
 type ExecStepConfig struct {
 	// AllowedSuccessCodes: Defaults to [0]. A list of possible return
-	// values that the
-	// execution can return to indicate a success.
+	// values that the execution can return to indicate a success.
 	AllowedSuccessCodes []int64 `json:"allowedSuccessCodes,omitempty"`
 
 	// GcsObject: A Google Cloud Storage object containing the executable.
 	GcsObject *GcsObject `json:"gcsObject,omitempty"`
 
 	// Interpreter: The script interpreter to use to run the script. If no
-	// interpreter is
-	// specified the script will be executed directly, which will
-	// likely
-	// only succeed for scripts with [shebang
-	// lines]
+	// interpreter is specified the script will be executed directly, which
+	// will likely only succeed for scripts with [shebang lines]
 	// (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
 	//
 	// Possible values:
 	//   "INTERPRETER_UNSPECIFIED" - Invalid for a Windows ExecStepConfig.
-	// For a Linux ExecStepConfig, the
-	// interpreter will be parsed from the shebang line of the script
-	// if
-	// unspecified.
+	// For a Linux ExecStepConfig, the interpreter will be parsed from the
+	// shebang line of the script if unspecified.
 	//   "SHELL" - Indicates that the script is run with `/bin/sh` on Linux
-	// and `cmd`
-	// on Windows.
-	//   "POWERSHELL" - Indicates that the file is run with PowerShell
-	// flags
+	// and `cmd` on Windows.
+	//   "POWERSHELL" - Indicates that the file is run with PowerShell flags
 	// `-NonInteractive`, `-NoProfile`, and `-ExecutionPolicy Bypass`.
 	Interpreter string `json:"interpreter,omitempty"`
 
@@ -829,32 +777,27 @@
 // Compute Engine instances.
 type ExecutePatchJobRequest struct {
 	// Description: Description of the patch job. Length of the description
-	// is limited
-	// to 1024 characters.
+	// is limited to 1024 characters.
 	Description string `json:"description,omitempty"`
 
 	// DisplayName: Display name for this patch job. This does not have to
 	// be unique.
 	DisplayName string `json:"displayName,omitempty"`
 
-	// DryRun: If this patch is a dry-run only, instances are contacted
-	// but
+	// DryRun: If this patch is a dry-run only, instances are contacted but
 	// will do nothing.
 	DryRun bool `json:"dryRun,omitempty"`
 
 	// Duration: Duration of the patch job. After the duration ends, the
-	// patch job
-	// times out.
+	// patch job times out.
 	Duration string `json:"duration,omitempty"`
 
 	// InstanceFilter: Required. Instances to patch, either explicitly or
-	// filtered by some criteria such
-	// as zone or labels.
+	// filtered by some criteria such as zone or labels.
 	InstanceFilter *PatchInstanceFilter `json:"instanceFilter,omitempty"`
 
 	// PatchConfig: Patch configuration being applied. If omitted, instances
-	// are
-	// patched using the default configurations.
+	// are patched using the default configurations.
 	PatchConfig *PatchConfig `json:"patchConfig,omitempty"`
 
 	// Rollout: Rollout strategy of the patch job.
@@ -886,20 +829,16 @@
 // ExtractArchiveResource: A resource that extracts an archive
 type ExtractArchiveResource struct {
 	// Creates: Local file path that signals this resource is in the desired
-	// state.
-	// The absence of this file will indicate whether the archive needs to
-	// be
-	// extracted.
+	// state. The absence of this file will indicate whether the archive
+	// needs to be extracted.
 	Creates string `json:"creates,omitempty"`
 
 	// Destination: Directory to extract archive to.
 	Destination string `json:"destination,omitempty"`
 
 	// Overwrite: Whether to overwrite existing files during extraction. If
-	// this is set to
-	// true, any existing files in the destination location will be
-	// overwritten by
-	// the extraction.
+	// this is set to true, any existing files in the destination location
+	// will be overwritten by the extraction.
 	Overwrite bool `json:"overwrite,omitempty"`
 
 	// Source: The source archive to extract.
@@ -948,11 +887,8 @@
 // File: A remote or local file.
 type File struct {
 	// AllowInsecure: Defaults to false. When false, files will be subject
-	// to validations
-	// based on the file type:
-	//
-	// Remote: A checksum must be specified.
-	// GCS:    An object generation number must be specified.
+	// to validations based on the file type: Remote: A checksum must be
+	// specified. GCS: An object generation number must be specified.
 	AllowInsecure bool `json:"allowInsecure,omitempty"`
 
 	// Gcs: A GCS object.
@@ -1027,8 +963,7 @@
 	Sha256Checksum string `json:"sha256Checksum,omitempty"`
 
 	// Uri: URI from which to fetch the object. It should contain both the
-	// protocol
-	// and path following the format {protocol}://{location}.
+	// protocol and path following the format {protocol}://{location}.
 	Uri string `json:"uri,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Sha256Checksum") to
@@ -1066,25 +1001,15 @@
 	// Path: The absolute path of the file.
 	Path string `json:"path,omitempty"`
 
-	// Permissions: Consists of three octal digits which represent,
-	// in
-	// order, the permissions of the owner, group, and other users for
-	// the
-	// file (similarly to the numeric mode used in the linux chmod
-	// utility).
-	// Each digit represents a three bit number with the 4 bit
-	// corresponding to the read permissions, the 2 bit corresponds to
-	// the
-	// write bit, and the one bit corresponds to the execute
-	// permission.
-	// Default behavior is 755.
-	//
-	// Below are some examples of permissions and their associated
-	// values:
-	// read, write, and execute: 7
-	// read and execute: 5
-	// read and write: 6
-	// read only: 4
+	// Permissions: Consists of three octal digits which represent, in
+	// order, the permissions of the owner, group, and other users for the
+	// file (similarly to the numeric mode used in the linux chmod utility).
+	// Each digit represents a three bit number with the 4 bit corresponding
+	// to the read permissions, the 2 bit corresponds to the write bit, and
+	// the one bit corresponds to the execute permission. Default behavior
+	// is 755. Below are some examples of permissions and their associated
+	// values: read, write, and execute: 7 read and execute: 5 read and
+	// write: 6 read only: 4
 	Permissions string `json:"permissions,omitempty"`
 
 	// State: Desired state of the file.
@@ -1094,8 +1019,7 @@
 	//   "PRESENT" - Ensure file at path is present.
 	//   "ABSENT" - Ensure file at path is absent.
 	//   "CONTENTS_MATCH" - Ensure the contents of the file at path matches.
-	// If the file does not
-	// exist it will be created.
+	// If the file does not exist it will be created.
 	State string `json:"state,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Content") to
@@ -1122,15 +1046,13 @@
 }
 
 // FixedOrPercent: Message encapsulating a value that can be either
-// absolute ("fixed") or
-// relative ("percent") to a value.
+// absolute ("fixed") or relative ("percent") to a value.
 type FixedOrPercent struct {
 	// Fixed: Specifies a fixed value.
 	Fixed int64 `json:"fixed,omitempty"`
 
 	// Percent: Specifies the relative value defined as a percentage, which
-	// will be
-	// multiplied by a reference value.
+	// will be multiplied by a reference value.
 	Percent int64 `json:"percent,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Fixed") to
@@ -1162,8 +1084,8 @@
 	Bucket string `json:"bucket,omitempty"`
 
 	// GenerationNumber: Required. Generation number of the Google Cloud
-	// Storage object. This is used to
-	// ensure that the ExecStep specified by this PatchJob does not change.
+	// Storage object. This is used to ensure that the ExecStep specified by
+	// this PatchJob does not change.
 	GenerationNumber int64 `json:"generationNumber,omitempty,string"`
 
 	// Object: Required. Name of the Google Cloud Storage object.
@@ -1193,8 +1115,8 @@
 }
 
 // GooRepository: Represents a Goo package repository. These is added to
-// a repo file
-// that is stored at C:/ProgramData/GooGet/repos/google_osconfig.repo.
+// a repo file that is stored at
+// C:/ProgramData/GooGet/repos/google_osconfig.repo.
 type GooRepository struct {
 	// Name: Required. The name of the repository.
 	Name string `json:"name,omitempty"`
@@ -1230,59 +1152,42 @@
 }
 
 // GuestPolicy: An OS Config resource representing a guest configuration
-// policy. These
-// policies represent the desired state for VM instance guest
-// environments
-// including packages to install or remove, package repository
-// configurations,
-// and software to install.
+// policy. These policies represent the desired state for VM instance
+// guest environments including packages to install or remove, package
+// repository configurations, and software to install.
 type GuestPolicy struct {
 	// Assignment: Required. Specifies the VM instances that are assigned to
-	// this policy. This allows
-	// you to target sets or groups of VM instances by different parameters
-	// such
-	// as labels, names, OS, or zones.
-	//
-	// If left empty, all VM instances underneath this policy are
-	// targeted.
-	//
-	// At the same level in the resource hierarchy (that is within a
-	// project), the
-	// service prevents the creation of multiple policies that conflict
-	// with
+	// this policy. This allows you to target sets or groups of VM instances
+	// by different parameters such as labels, names, OS, or zones. If left
+	// empty, all VM instances underneath this policy are targeted. At the
+	// same level in the resource hierarchy (that is within a project), the
+	// service prevents the creation of multiple policies that conflict with
 	// each other. For more information, see how the service [handles
 	// assignment
-	// conflicts](/compute/docs/os-config-management/create-guest-
-	// policy#handle-conflicts).
+	// conflicts](/compute/docs/os-config-management/create-guest-policy#hand
+	// le-conflicts).
 	Assignment *Assignment `json:"assignment,omitempty"`
 
 	// CreateTime: Output only. Time this guest policy was created.
 	CreateTime string `json:"createTime,omitempty"`
 
 	// Description: Description of the guest policy. Length of the
-	// description is limited
-	// to 1024 characters.
+	// description is limited to 1024 characters.
 	Description string `json:"description,omitempty"`
 
-	// Etag: The etag for this guest policy.
-	// If this is provided on update, it must match the server's etag.
+	// Etag: The etag for this guest policy. If this is provided on update,
+	// it must match the server's etag.
 	Etag string `json:"etag,omitempty"`
 
 	// Name: Required. Unique name of the resource in this project using one
-	// of the
-	// following
-	// forms:
-	// `projects/{project_number}/guestPolicies/{guest_polic
-	// y_id}`.
+	// of the following forms:
+	// `projects/{project_number}/guestPolicies/{guest_policy_id}`.
 	Name string `json:"name,omitempty"`
 
 	// PackageRepositories: A list of package repositories to configure on
-	// the VM instance. This is
-	// done before any other configs are applied so they can use these
-	// repos.
-	// Package repositories are only configured if the corresponding
-	// package
-	// manager(s) are available.
+	// the VM instance. This is done before any other configs are applied so
+	// they can use these repos. Package repositories are only configured if
+	// the corresponding package manager(s) are available.
 	PackageRepositories []*PackageRepository `json:"packageRepositories,omitempty"`
 
 	// Packages: The software packages to be managed by this policy.
@@ -1328,8 +1233,7 @@
 	GuestPolicies []*GuestPolicy `json:"guestPolicies,omitempty"`
 
 	// NextPageToken: A pagination token that can be used to get the next
-	// page
-	// of guest policies.
+	// page of guest policies.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1363,8 +1267,7 @@
 // deployments.
 type ListPatchDeploymentsResponse struct {
 	// NextPageToken: A pagination token that can be used to get the next
-	// page of patch
-	// deployments.
+	// page of patch deployments.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// PatchDeployments: The list of patch deployments.
@@ -1471,28 +1374,21 @@
 }
 
 // LookupEffectiveGuestPolicyRequest: A request message for getting the
-// effective guest policy assigned to the
-// instance.
+// effective guest policy assigned to the instance.
 type LookupEffectiveGuestPolicyRequest struct {
 	// OsArchitecture: Architecture of OS running on the instance. The OS
-	// Config agent only
-	// provides this field for targeting if OS Inventory is enabled for
-	// that
-	// instance.
+	// Config agent only provides this field for targeting if OS Inventory
+	// is enabled for that instance.
 	OsArchitecture string `json:"osArchitecture,omitempty"`
 
 	// OsShortName: Short name of the OS running on the instance. The OS
-	// Config agent only
-	// provides this field for targeting if OS Inventory is enabled for
-	// that
-	// instance.
+	// Config agent only provides this field for targeting if OS Inventory
+	// is enabled for that instance.
 	OsShortName string `json:"osShortName,omitempty"`
 
 	// OsVersion: Version of the OS running on the instance. The OS Config
-	// agent only
-	// provides this field for targeting if OS Inventory is enabled for
-	// that
-	// VM instance.
+	// agent only provides this field for targeting if OS Inventory is
+	// enabled for that VM instance.
 	OsVersion string `json:"osVersion,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "OsArchitecture") to
@@ -1520,16 +1416,13 @@
 }
 
 // MonthlySchedule: Represents a monthly schedule. An example of a valid
-// monthly schedule is
-// "on the third Tuesday of the month" or "on the 15th of the month".
+// monthly schedule is "on the third Tuesday of the month" or "on the
+// 15th of the month".
 type MonthlySchedule struct {
 	// MonthDay: Required. One day of the month. 1-31 indicates the 1st to
-	// the 31st day. -1
-	// indicates the last day of the month.
-	// Months without the target day will be skipped. For example, a
-	// schedule to
-	// run "every month on the 31st" will not run in February, April, June,
-	// etc.
+	// the 31st day. -1 indicates the last day of the month. Months without
+	// the target day will be skipped. For example, a schedule to run "every
+	// month on the 31st" will not run in February, April, June, etc.
 	MonthDay int64 `json:"monthDay,omitempty"`
 
 	// WeekDayOfMonth: Required. Week day in a month.
@@ -1559,8 +1452,8 @@
 }
 
 // OneTimeSchedule: Sets the time for a one time patch deployment.
-// Timestamp is in
-// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+// Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text
+// format.
 type OneTimeSchedule struct {
 	// ExecuteTime: Required. The desired patch job execution time.
 	ExecuteTime string `json:"executeTime,omitempty"`
@@ -1589,63 +1482,37 @@
 }
 
 // Package: Package is a reference to the software package to be
-// installed or removed.
-// The agent on the VM instance uses the system package manager to apply
-// the
-// config.
-//
-//
-// These are the commands that the agent uses to install or
-// remove
-// packages.
-//
-// Apt
-// install: `apt-get update && apt-get -y install package1 package2
-// package3`
-// remove: `apt-get -y remove package1 package2 package3`
-//
-// Yum
-// install: `yum -y install package1 package2 package3`
-// remove: `yum -y remove package1 package2 package3`
-//
-// Zypper
-// install: `zypper install package1 package2 package3`
-// remove: `zypper rm package1 package2`
-//
-// Googet
-// install: `googet -noconfirm install package1 package2
-// package3`
-// remove: `googet -noconfirm remove package1 package2 package3`
+// installed or removed. The agent on the VM instance uses the system
+// package manager to apply the config. These are the commands that the
+// agent uses to install or remove packages. Apt install: `apt-get
+// update && apt-get -y install package1 package2 package3` remove:
+// `apt-get -y remove package1 package2 package3` Yum install: `yum -y
+// install package1 package2 package3` remove: `yum -y remove package1
+// package2 package3` Zypper install: `zypper install package1 package2
+// package3` remove: `zypper rm package1 package2` Googet install:
+// `googet -noconfirm install package1 package2 package3` remove:
+// `googet -noconfirm remove package1 package2 package3`
 type Package struct {
 	// DesiredState: The desired_state the agent should maintain for this
-	// package. The
-	// default is to ensure the package is installed.
+	// package. The default is to ensure the package is installed.
 	//
 	// Possible values:
 	//   "DESIRED_STATE_UNSPECIFIED" - The default is to ensure the package
 	// is installed.
 	//   "INSTALLED" - The agent ensures that the package is installed.
-	//   "UPDATED" - The agent ensures that the package is installed
-	// and
+	//   "UPDATED" - The agent ensures that the package is installed and
 	// periodically checks for and install any updates.
 	//   "REMOVED" - The agent ensures that the package is not installed and
-	// uninstall it
-	// if detected.
+	// uninstall it if detected.
 	DesiredState string `json:"desiredState,omitempty"`
 
 	// Manager: Type of package manager that can be used to install this
-	// package.
-	// If a system does not have the package manager, the package is
-	// not
-	// installed or removed no error message is returned. By default,
-	// or if you specify `ANY`,
-	// the agent attempts to install and remove this package using the
-	// default
-	// package manager. This is useful when creating a policy that applies
-	// to
-	// different types of systems.
-	//
-	// The default behavior is ANY.
+	// package. If a system does not have the package manager, the package
+	// is not installed or removed no error message is returned. By default,
+	// or if you specify `ANY`, the agent attempts to install and remove
+	// this package using the default package manager. This is useful when
+	// creating a policy that applies to different types of systems. The
+	// default behavior is ANY.
 	//
 	// Possible values:
 	//   "MANAGER_UNSPECIFIED" - The default behavior is ANY.
@@ -1662,10 +1529,8 @@
 	Manager string `json:"manager,omitempty"`
 
 	// Name: Required. The name of the package. A package is uniquely
-	// identified for conflict
-	// validation by checking the package name and the manager(s) that
-	// the
-	// package targets.
+	// identified for conflict validation by checking the package name and
+	// the manager(s) that the package targets.
 	Name string `json:"name,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "DesiredState") to
@@ -1737,15 +1602,13 @@
 	Deb *PackageResourceDeb `json:"deb,omitempty"`
 
 	// DesiredState: The desired_state the agent should maintain for this
-	// package. The
-	// default is to ensure the package is installed.
+	// package. The default is to ensure the package is installed.
 	//
 	// Possible values:
 	//   "DESIRED_STATE_UNSPECIFIED" - Unspecified is invalid.
 	//   "INSTALLED" - Ensure that the package is installed.
 	//   "REMOVED" - The agent will ensure that the package is not installed
-	// and uninstall it
-	// if detected.
+	// and uninstall it if detected.
 	DesiredState string `json:"desiredState,omitempty"`
 
 	// Googet: A package managed by GooGet.
@@ -1786,9 +1649,9 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// PackageResourceAPT: A package managed by APT.
-// install: `apt-get update && apt-get -y install [name]`
-// remove: `apt-get -y remove [name]`
+// PackageResourceAPT: A package managed by APT. install: `apt-get
+// update && apt-get -y install [name]` remove: `apt-get -y remove
+// [name]`
 type PackageResourceAPT struct {
 	// Name: Package name.
 	Name string `json:"name,omitempty"`
@@ -1819,9 +1682,9 @@
 // PackageResourceDeb: A deb package file. dpkg packages only support
 // INSTALLED state.
 type PackageResourceDeb struct {
-	// PullDeps: Whether dependencies should also be installed.
-	// install when false: `dpkg -i package`
-	// install when true: `apt-get update && apt-get -y install package.deb`
+	// PullDeps: Whether dependencies should also be installed. install when
+	// false: `dpkg -i package` install when true: `apt-get update &&
+	// apt-get -y install package.deb`
 	PullDeps bool `json:"pullDeps,omitempty"`
 
 	// Source: A deb package.
@@ -1850,9 +1713,9 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// PackageResourceGooGet: A package managed by GooGet.
-// install: `googet -noconfirm install package`
-// remove: `googet -noconfirm remove package`
+// PackageResourceGooGet: A package managed by GooGet. install: `googet
+// -noconfirm install package` remove: `googet -noconfirm remove
+// package`
 type PackageResourceGooGet struct {
 	// Name: Package name.
 	Name string `json:"name,omitempty"`
@@ -1881,16 +1744,14 @@
 }
 
 // PackageResourceMSI: An MSI package. MSI packages only support
-// INSTALLED state.
-// Install msiexec /i /qn /norestart
+// INSTALLED state. Install msiexec /i /qn /norestart
 type PackageResourceMSI struct {
 	// AllowedSuccessCodes: Return codes that indicate that the software
-	// installed or updated
-	// successfully. Behaviour defaults to [0]
+	// installed or updated successfully. Behaviour defaults to [0]
 	AllowedSuccessCodes []int64 `json:"allowedSuccessCodes,omitempty"`
 
-	// Flags: Flags to use during package install.
-	// Appended to the defalts of "/i /qn /norestart"
+	// Flags: Flags to use during package install. Appended to the defalts
+	// of "/i /qn /norestart"
 	Flags []string `json:"flags,omitempty"`
 
 	// Source: The MSI package.
@@ -1923,10 +1784,9 @@
 // PackageResourceRPM: An RPM package file. RPM packages only support
 // INSTALLED state.
 type PackageResourceRPM struct {
-	// PullDeps: Whether dependencies should also be installed.
-	// install when false: `rpm --upgrade --replacepkgs package.rpm`
-	// install when true: `yum -y install package.rpm` or
-	// `zypper -y install package.rpm`
+	// PullDeps: Whether dependencies should also be installed. install when
+	// false: `rpm --upgrade --replacepkgs package.rpm` install when true:
+	// `yum -y install package.rpm` or `zypper -y install package.rpm`
 	PullDeps bool `json:"pullDeps,omitempty"`
 
 	// Source: An rpm package.
@@ -1955,9 +1815,8 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// PackageResourceYUM: A package managed by YUM.
-// install: `yum -y install package`
-// remove: `yum -y remove package`
+// PackageResourceYUM: A package managed by YUM. install: `yum -y
+// install package` remove: `yum -y remove package`
 type PackageResourceYUM struct {
 	// Name: Package name.
 	Name string `json:"name,omitempty"`
@@ -1985,9 +1844,8 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// PackageResourceZypper: A package managed by Zypper.
-// install: `zypper -y install package`
-// remove: `zypper -y rm package`
+// PackageResourceZypper: A package managed by Zypper. install: `zypper
+// -y install package` remove: `zypper -y rm package`
 type PackageResourceZypper struct {
 	// Name: Package name.
 	Name string `json:"name,omitempty"`
@@ -2016,17 +1874,14 @@
 }
 
 // PatchConfig: Patch configuration specifications. Contains details on
-// how to apply the
-// patch(es) to a VM instance.
+// how to apply the patch(es) to a VM instance.
 type PatchConfig struct {
 	// Apt: Apt update settings. Use this setting to override the default
-	// `apt` patch
-	// rules.
+	// `apt` patch rules.
 	Apt *AptSettings `json:"apt,omitempty"`
 
 	// Goo: Goo update settings. Use this setting to override the default
-	// `goo` patch
-	// rules.
+	// `goo` patch rules.
 	Goo *GooSettings `json:"goo,omitempty"`
 
 	// PostStep: The `ExecStep` to run after the patch update.
@@ -2040,12 +1895,10 @@
 	// Possible values:
 	//   "REBOOT_CONFIG_UNSPECIFIED" - The default behavior is DEFAULT.
 	//   "DEFAULT" - The agent decides if a reboot is necessary by checking
-	// signals such as
-	// registry keys on Windows or `/var/run/reboot-required` on APT
-	// based
-	// systems. On RPM based systems, a set of core system package install
-	// times
-	// are compared with system boot time.
+	// signals such as registry keys on Windows or
+	// `/var/run/reboot-required` on APT based systems. On RPM based
+	// systems, a set of core system package install times are compared with
+	// system boot time.
 	//   "ALWAYS" - Always reboot the machine after the update completes.
 	//   "NEVER" - Never reboot the machine after the update completes.
 	RebootConfig string `json:"rebootConfig,omitempty"`
@@ -2055,13 +1908,11 @@
 	WindowsUpdate *WindowsUpdateSettings `json:"windowsUpdate,omitempty"`
 
 	// Yum: Yum update settings. Use this setting to override the default
-	// `yum` patch
-	// rules.
+	// `yum` patch rules.
 	Yum *YumSettings `json:"yum,omitempty"`
 
 	// Zypper: Zypper update settings. Use this setting to override the
-	// default `zypper`
-	// patch rules.
+	// default `zypper` patch rules.
 	Zypper *ZypperSettings `json:"zypper,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Apt") to
@@ -2088,24 +1939,20 @@
 }
 
 // PatchDeployment: Patch deployments are configurations that individual
-// patch jobs use to
-// complete a patch. These configurations include instance filter,
-// package
-// repository settings, and a schedule. For more information about
-// creating and
-// managing patch deployments, see [Scheduling
-// patch
-// jobs](https://cloud.google.com/compute/docs/os-patch-management/
-// schedule-patch-jobs).
+// patch jobs use to complete a patch. These configurations include
+// instance filter, package repository settings, and a schedule. For
+// more information about creating and managing patch deployments, see
+// [Scheduling patch
+// jobs](https://cloud.google.com/compute/docs/os-patch-management/schedu
+// le-patch-jobs).
 type PatchDeployment struct {
 	// CreateTime: Output only. Time the patch deployment was created.
-	// Timestamp is in
-	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+	// Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text
+	// format.
 	CreateTime string `json:"createTime,omitempty"`
 
 	// Description: Optional. Description of the patch deployment. Length of
-	// the description is limited
-	// to 1024 characters.
+	// the description is limited to 1024 characters.
 	Description string `json:"description,omitempty"`
 
 	// Duration: Optional. Duration of the patch. After the duration ends,
@@ -2116,19 +1963,14 @@
 	InstanceFilter *PatchInstanceFilter `json:"instanceFilter,omitempty"`
 
 	// LastExecuteTime: Output only. The last time a patch job was started
-	// by this deployment.
-	// Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt)
-	// text
-	// format.
+	// by this deployment. Timestamp is in
+	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
 	LastExecuteTime string `json:"lastExecuteTime,omitempty"`
 
 	// Name: Unique name for the patch deployment resource in a project. The
-	// patch
-	// deployment name is in the
-	// form:
-	// `projects/{project_id}/patchDeployments/{patch_deployment_id}`.
-	//
-	// This field is ignored when you create a new patch deployment.
+	// patch deployment name is in the form:
+	// `projects/{project_id}/patchDeployments/{patch_deployment_id}`. This
+	// field is ignored when you create a new patch deployment.
 	Name string `json:"name,omitempty"`
 
 	// OneTimeSchedule: Required. Schedule a one-time execution.
@@ -2144,8 +1986,8 @@
 	Rollout *PatchRollout `json:"rollout,omitempty"`
 
 	// UpdateTime: Output only. Time the patch deployment was last updated.
-	// Timestamp is in
-	// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+	// Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text
+	// format.
 	UpdateTime string `json:"updateTime,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2176,44 +2018,34 @@
 }
 
 // PatchInstanceFilter: A filter to target VM instances for patching.
-// The targeted
-// VMs must meet all criteria specified. So if both labels and zones
-// are
-// specified, the patch job targets only VMs with those labels and in
-// those
-// zones.
+// The targeted VMs must meet all criteria specified. So if both labels
+// and zones are specified, the patch job targets only VMs with those
+// labels and in those zones.
 type PatchInstanceFilter struct {
 	// All: Target all VM instances in the project. If true, no other
-	// criteria is
-	// permitted.
+	// criteria is permitted.
 	All bool `json:"all,omitempty"`
 
 	// GroupLabels: Targets VM instances matching at least one of these
-	// label sets. This allows
-	// targeting of disparate groups, for example "env=prod or env=staging".
+	// label sets. This allows targeting of disparate groups, for example
+	// "env=prod or env=staging".
 	GroupLabels []*PatchInstanceFilterGroupLabel `json:"groupLabels,omitempty"`
 
 	// InstanceNamePrefixes: Targets VMs whose name starts with one of these
-	// prefixes. Similar to
-	// labels, this is another way to group VMs when targeting configs,
-	// for
-	// example prefix="prod-".
+	// prefixes. Similar to labels, this is another way to group VMs when
+	// targeting configs, for example prefix="prod-".
 	InstanceNamePrefixes []string `json:"instanceNamePrefixes,omitempty"`
 
 	// Instances: Targets any of the VM instances specified. Instances are
-	// specified by their
-	// URI in the form
+	// specified by their URI in the form
 	// `zones/[ZONE]/instances/[INSTANCE_NAME]`,
-	// `projects/[PROJECT_ID]/zones
-	// /[ZONE]/instances/[INSTANCE_NAME]`,
-	// or
-	// `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/
-	// [ZONE]/instances/[INSTANCE_NAME]`
+	// `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or
+	// `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZO
+	// NE]/instances/[INSTANCE_NAME]`
 	Instances []string `json:"instances,omitempty"`
 
 	// Zones: Targets VM instances in ANY of these zones. Leave empty to
-	// target VM
-	// instances in any zone.
+	// target VM instances in any zone.
 	Zones []string `json:"zones,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "All") to
@@ -2240,12 +2072,11 @@
 }
 
 // PatchInstanceFilterGroupLabel: Represents a group of VMs that can be
-// identified as having all these
-// labels, for example "env=prod and app=web".
+// identified as having all these labels, for example "env=prod and
+// app=web".
 type PatchInstanceFilterGroupLabel struct {
 	// Labels: Compute Engine instance labels that must be present for a VM
-	// instance to
-	// be targeted by this filter.
+	// instance to be targeted by this filter.
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Labels") to
@@ -2272,44 +2103,34 @@
 }
 
 // PatchJob: A high level representation of a patch job that is either
-// in progress
-// or has completed.
-//
-// Instance details are not included in the job. To paginate through
-// instance
-// details, use `ListPatchJobInstanceDetails`.
-//
-// For more information about patch jobs, see
-// [Creating
-// patch
-// jobs](https://cloud.google.com/compute/docs/os-patch-management/
-// create-patch-job).
+// in progress or has completed. Instance details are not included in
+// the job. To paginate through instance details, use
+// `ListPatchJobInstanceDetails`. For more information about patch jobs,
+// see [Creating patch
+// jobs](https://cloud.google.com/compute/docs/os-patch-management/create
+// -patch-job).
 type PatchJob struct {
 	// CreateTime: Time this patch job was created.
 	CreateTime string `json:"createTime,omitempty"`
 
 	// Description: Description of the patch job. Length of the description
-	// is limited
-	// to 1024 characters.
+	// is limited to 1024 characters.
 	Description string `json:"description,omitempty"`
 
 	// DisplayName: Display name for this patch job. This is not a unique
 	// identifier.
 	DisplayName string `json:"displayName,omitempty"`
 
-	// DryRun: If this patch job is a dry run, the agent reports that it
-	// has
+	// DryRun: If this patch job is a dry run, the agent reports that it has
 	// finished without running any updates on the VM instance.
 	DryRun bool `json:"dryRun,omitempty"`
 
-	// Duration: Duration of the patch job. After the duration ends,
-	// the
+	// Duration: Duration of the patch job. After the duration ends, the
 	// patch job times out.
 	Duration string `json:"duration,omitempty"`
 
 	// ErrorMessage: If this patch job failed, this message provides
-	// information about the
-	// failure.
+	// information about the failure.
 	ErrorMessage string `json:"errorMessage,omitempty"`
 
 	// InstanceDetailsSummary: Summary of instance details.
@@ -2318,8 +2139,7 @@
 	// InstanceFilter: Instances to patch.
 	InstanceFilter *PatchInstanceFilter `json:"instanceFilter,omitempty"`
 
-	// Name: Unique identifier for this patch job in the
-	// form
+	// Name: Unique identifier for this patch job in the form
 	// `projects/*/patchJobs/*`
 	Name string `json:"name,omitempty"`
 
@@ -2331,8 +2151,7 @@
 	PatchDeployment string `json:"patchDeployment,omitempty"`
 
 	// PercentComplete: Reflects the overall progress of the patch job in
-	// the range of
-	// 0.0 being no progress to 100.0 being complete.
+	// the range of 0.0 being no progress to 100.0 being complete.
 	PercentComplete float64 `json:"percentComplete,omitempty"`
 
 	// Rollout: Rollout strategy being applied.
@@ -2398,12 +2217,10 @@
 }
 
 // PatchJobInstanceDetails: Patch details for a VM instance. For more
-// information about reviewing VM
-// instance details, see
-// [Listing all VM instance details for a specific
-// patch
-// job](https://cloud.google.com/compute/docs/os-patch-management/m
-// anage-patch-jobs#list-instance-details).
+// information about reviewing VM instance details, see [Listing all VM
+// instance details for a specific patch
+// job](https://cloud.google.com/compute/docs/os-patch-management/manage-
+// patch-jobs#list-instance-details).
 type PatchJobInstanceDetails struct {
 	// AttemptCount: The number of times the agent that the agent attempts
 	// to apply the patch.
@@ -2413,8 +2230,7 @@
 	FailureReason string `json:"failureReason,omitempty"`
 
 	// InstanceSystemId: The unique identifier for the instance. This
-	// identifier is
-	// defined by the server.
+	// identifier is defined by the server.
 	InstanceSystemId string `json:"instanceSystemId,omitempty"`
 
 	// Name: The instance name in the form `projects/*/zones/*/instances/*`
@@ -2444,10 +2260,8 @@
 	//   "RUNNING_POST_PATCH_STEP" - The instance is running the post-patch
 	// step.
 	//   "NO_AGENT_DETECTED" - The service could not detect the presence of
-	// the agent. Check to ensure
-	// that the agent is installed, running, and able to communicate with
-	// the
-	// service.
+	// the agent. Check to ensure that the agent is installed, running, and
+	// able to communicate with the service.
 	State string `json:"state,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AttemptCount") to
@@ -2474,11 +2288,9 @@
 }
 
 // PatchJobInstanceDetailsSummary: A summary of the current patch state
-// across all instances that this patch
-// job affects. Contains counts of instances in different states. These
-// states
-// map to `InstancePatchState`. List patch job instance details to see
-// the
+// across all instances that this patch job affects. Contains counts of
+// instances in different states. These states map to
+// `InstancePatchState`. List patch job instance details to see the
 // specific states of each instance.
 type PatchJobInstanceDetailsSummary struct {
 	// AckedInstanceCount: Number of instances that have acked and will
@@ -2500,10 +2312,8 @@
 	InactiveInstanceCount int64 `json:"inactiveInstanceCount,omitempty,string"`
 
 	// NoAgentDetectedInstanceCount: Number of instances that do not appear
-	// to be running the agent. Check to
-	// ensure that the agent is installed, running, and able to communicate
-	// with
-	// the service.
+	// to be running the agent. Check to ensure that the agent is installed,
+	// running, and able to communicate with the service.
 	NoAgentDetectedInstanceCount int64 `json:"noAgentDetectedInstanceCount,omitempty,string"`
 
 	// NotifiedInstanceCount: Number of instances notified about patch job.
@@ -2563,46 +2373,29 @@
 }
 
 // PatchRollout: Patch rollout configuration specifications. Contains
-// details on the
-// concurrency control when applying patch(es) to all targeted VMs.
+// details on the concurrency control when applying patch(es) to all
+// targeted VMs.
 type PatchRollout struct {
 	// DisruptionBudget: The maximum number (or percentage) of VMs per zone
-	// to disrupt at any given
-	// moment. The number of VMs calculated from multiplying the percentage
-	// by the
-	// total number of VMs in a zone is rounded up.
-	//
-	// During patching, a VM is considered disrupted from the time the agent
-	// is
-	// notified to begin until patching has completed. This disruption
-	// time
-	// includes the time to complete reboot and any post-patch steps.
-	//
-	// A VM contributes to the disruption budget if its patching operation
-	// fails
-	// either when applying the patches, running pre or post patch steps, or
-	// if it
-	// fails to respond with a success notification before timing out. VMs
-	// that
-	// are not running or do not have an active agent do not count toward
-	// this
-	// disruption budget.
-	//
-	// For zone-by-zone rollouts, if the disruption budget in a zone is
-	// exceeded,
-	// the patch job stops, because continuing to the next zone
-	// requires
-	// completion of the patch process in the previous zone.
-	//
-	// For example, if the disruption budget has a fixed value of `10`, and
-	// 8 VMs
-	// fail to patch in the current zone, the patch job continues to patch 2
-	// VMs
-	// at a time until the zone is completed. When that zone is
-	// completed
-	// successfully, patching begins with 10 VMs at a time in the next zone.
-	// If 10
-	// VMs in the next zone fail to patch, the patch job stops.
+	// to disrupt at any given moment. The number of VMs calculated from
+	// multiplying the percentage by the total number of VMs in a zone is
+	// rounded up. During patching, a VM is considered disrupted from the
+	// time the agent is notified to begin until patching has completed.
+	// This disruption time includes the time to complete reboot and any
+	// post-patch steps. A VM contributes to the disruption budget if its
+	// patching operation fails either when applying the patches, running
+	// pre or post patch steps, or if it fails to respond with a success
+	// notification before timing out. VMs that are not running or do not
+	// have an active agent do not count toward this disruption budget. For
+	// zone-by-zone rollouts, if the disruption budget in a zone is
+	// exceeded, the patch job stops, because continuing to the next zone
+	// requires completion of the patch process in the previous zone. For
+	// example, if the disruption budget has a fixed value of `10`, and 8
+	// VMs fail to patch in the current zone, the patch job continues to
+	// patch 2 VMs at a time until the zone is completed. When that zone is
+	// completed successfully, patching begins with 10 VMs at a time in the
+	// next zone. If 10 VMs in the next zone fail to patch, the patch job
+	// stops.
 	DisruptionBudget *FixedOrPercent `json:"disruptionBudget,omitempty"`
 
 	// Mode: Mode of the patch rollout.
@@ -2610,16 +2403,11 @@
 	// Possible values:
 	//   "MODE_UNSPECIFIED" - Mode must be specified.
 	//   "ZONE_BY_ZONE" - Patches are applied one zone at a time. The patch
-	// job begins in the
-	// region with the lowest number of targeted VMs. Within the
-	// region,
-	// patching begins in the zone with the lowest number of targeted VMs.
-	// If
-	// multiple regions (or zones within a region) have the same number
-	// of
-	// targeted VMs, a tie-breaker is achieved by sorting the regions or
-	// zones
-	// in alphabetical order.
+	// job begins in the region with the lowest number of targeted VMs.
+	// Within the region, patching begins in the zone with the lowest number
+	// of targeted VMs. If multiple regions (or zones within a region) have
+	// the same number of targeted VMs, a tie-breaker is achieved by sorting
+	// the regions or zones in alphabetical order.
 	//   "CONCURRENT_ZONES" - Patches are applied to VMs in all zones at the
 	// same time.
 	Mode string `json:"mode,omitempty"`
@@ -2651,8 +2439,7 @@
 // RecurringSchedule: Sets the time for recurring patch deployments.
 type RecurringSchedule struct {
 	// EndTime: Optional. The end time at which a recurring patch deployment
-	// schedule is no longer
-	// active.
+	// schedule is no longer active.
 	EndTime string `json:"endTime,omitempty"`
 
 	// Frequency: Required. The frequency unit of this recurring schedule.
@@ -2660,11 +2447,9 @@
 	// Possible values:
 	//   "FREQUENCY_UNSPECIFIED" - Invalid. A frequency must be specified.
 	//   "WEEKLY" - Indicates that the frequency should be expressed in
-	// terms of
-	// weeks.
+	// terms of weeks.
 	//   "MONTHLY" - Indicates that the frequency should be expressed in
-	// terms of
-	// months.
+	// terms of months.
 	Frequency string `json:"frequency,omitempty"`
 
 	// LastExecuteTime: Output only. The time the last patch job ran
@@ -2679,17 +2464,15 @@
 	NextExecuteTime string `json:"nextExecuteTime,omitempty"`
 
 	// StartTime: Optional. The time that the recurring schedule becomes
-	// effective.
-	// Defaults to `create_time` of the patch deployment.
+	// effective. Defaults to `create_time` of the patch deployment.
 	StartTime string `json:"startTime,omitempty"`
 
 	// TimeOfDay: Required. Time of the day to run a recurring deployment.
 	TimeOfDay *TimeOfDay `json:"timeOfDay,omitempty"`
 
 	// TimeZone: Required. Defines the time zone that `time_of_day` is
-	// relative to.
-	// The rules for daylight saving time are determined by the chosen time
-	// zone.
+	// relative to. The rules for daylight saving time are determined by the
+	// chosen time zone.
 	TimeZone *TimeZone `json:"timeZone,omitempty"`
 
 	// Weekly: Required. Schedule with weekly executions.
@@ -2756,9 +2539,8 @@
 }
 
 // RepositoryResourceAptRepository: Represents a single apt package
-// repository. These will be added to a repo
-// file that will be managed at
-// /etc/apt/sources.list.d/google_osconfig.list.
+// repository. These will be added to a repo file that will be managed
+// at /etc/apt/sources.list.d/google_osconfig.list.
 type RepositoryResourceAptRepository struct {
 	// ArchiveType: Type of archive files in this repository. The default
 	// behavior is DEB.
@@ -2778,8 +2560,8 @@
 	Distribution string `json:"distribution,omitempty"`
 
 	// GpgKey: URI of the key file for this repository. The agent will
-	// maintain
-	// a keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg.
+	// maintain a keyring at
+	// /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg.
 	GpgKey string `json:"gpgKey,omitempty"`
 
 	// Uri: URI for this repository.
@@ -2809,8 +2591,7 @@
 }
 
 // RepositoryResourceGooRepository: Represents a Goo package repository.
-// These will be added to a repo file
-// that will be managed at
+// These will be added to a repo file that will be managed at
 // C:/ProgramData/GooGet/repos/google_osconfig.repo.
 type RepositoryResourceGooRepository struct {
 	// Name: The name of the repository.
@@ -2843,8 +2624,8 @@
 }
 
 // RepositoryResourceYumRepository: Represents a single yum package
-// repository. These will be added to a repo
-// file that will be managed at /etc/yum.repos.d/google_osconfig.repo.
+// repository. These will be added to a repo file that will be managed
+// at /etc/yum.repos.d/google_osconfig.repo.
 type RepositoryResourceYumRepository struct {
 	// BaseUrl: The location of the repository directory.
 	BaseUrl string `json:"baseUrl,omitempty"`
@@ -2855,12 +2636,10 @@
 	// GpgKeys: URIs of GPG keys.
 	GpgKeys []string `json:"gpgKeys,omitempty"`
 
-	// Id: A one word, unique name for this repository. This will be
-	// the `repo id` in the yum config file and also the `display_name`
-	// if
+	// Id: A one word, unique name for this repository. This will be the
+	// `repo id` in the yum config file and also the `display_name` if
 	// `display_name` is omitted. This id is also used as the unique
-	// identifier
-	// when checking for resource conflicts.
+	// identifier when checking for resource conflicts.
 	Id string `json:"id,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "BaseUrl") to
@@ -2887,9 +2666,8 @@
 }
 
 // RepositoryResourceZypperRepository: Represents a single zypper
-// package repository. These will be added to a
-// repo file that will be managed at
-// /etc/zypp/repos.d/google_osconfig.repo.
+// package repository. These will be added to a repo file that will be
+// managed at /etc/zypp/repos.d/google_osconfig.repo.
 type RepositoryResourceZypperRepository struct {
 	// BaseUrl: The location of the repository directory.
 	BaseUrl string `json:"baseUrl,omitempty"`
@@ -2900,12 +2678,10 @@
 	// GpgKeys: URIs of GPG keys.
 	GpgKeys []string `json:"gpgKeys,omitempty"`
 
-	// Id: A one word, unique name for this repository. This will be
-	// the `repo id` in the zypper config file and also the `display_name`
-	// if
+	// Id: A one word, unique name for this repository. This will be the
+	// `repo id` in the zypper config file and also the `display_name` if
 	// `display_name` is omitted. This id is also used as the unique
-	// identifier
-	// when checking for GuestPolicy conflicts.
+	// identifier when checking for GuestPolicy conflicts.
 	Id string `json:"id,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "BaseUrl") to
@@ -2936,96 +2712,64 @@
 }
 
 // SoftwareRecipe: A software recipe is a set of instructions for
-// installing and configuring a
-// piece of software. It consists of a set of artifacts that
-// are
-// downloaded, and a set of steps that install, configure, and/or update
-// the
-// software.
-//
-// Recipes support installing and updating software from artifacts in
-// the
-// following formats:
-// Zip archive, Tar archive, Windows MSI, Debian package, and RPM
-// package.
-//
+// installing and configuring a piece of software. It consists of a set
+// of artifacts that are downloaded, and a set of steps that install,
+// configure, and/or update the software. Recipes support installing and
+// updating software from artifacts in the following formats: Zip
+// archive, Tar archive, Windows MSI, Debian package, and RPM package.
 // Additionally, recipes support executing a script (either defined in a
-// file or
-// directly in this api) in bash, sh, cmd, and powershell.
-//
-// Updating a software recipe
-//
-// If a recipe is assigned to an instance and there is a recipe with the
-// same
-// name but a lower version already installed and the assigned state
-// of the recipe is `UPDATED`, then the recipe is updated to
-// the new version.
-//
-// Script Working Directories
-//
-// Each script or execution step is run in its own temporary directory
-// which
+// file or directly in this api) in bash, sh, cmd, and powershell.
+// Updating a software recipe If a recipe is assigned to an instance and
+// there is a recipe with the same name but a lower version already
+// installed and the assigned state of the recipe is `UPDATED`, then the
+// recipe is updated to the new version. Script Working Directories Each
+// script or execution step is run in its own temporary directory which
 // is deleted after completing the step.
 type SoftwareRecipe struct {
 	// Artifacts: Resources available to be used in the steps in the recipe.
 	Artifacts []*SoftwareRecipeArtifact `json:"artifacts,omitempty"`
 
 	// DesiredState: Default is INSTALLED. The desired state the agent
-	// should maintain for this
-	// recipe.
-	//
-	// INSTALLED: The software recipe is installed on the instance but
-	//            won't be updated to new versions.
+	// should maintain for this recipe. INSTALLED: The software recipe is
+	// installed on the instance but won't be updated to new versions.
 	// UPDATED: The software recipe is installed on the instance. The recipe
-	// is
-	//          updated to a higher version, if a higher version of the
-	// recipe is
-	//          assigned to this instance.
-	// REMOVE: Remove is unsupported for software recipes and attempts to
-	//         create or update a recipe to the REMOVE state is rejected.
+	// is updated to a higher version, if a higher version of the recipe is
+	// assigned to this instance. REMOVE: Remove is unsupported for software
+	// recipes and attempts to create or update a recipe to the REMOVE state
+	// is rejected.
 	//
 	// Possible values:
 	//   "DESIRED_STATE_UNSPECIFIED" - The default is to ensure the package
 	// is installed.
 	//   "INSTALLED" - The agent ensures that the package is installed.
-	//   "UPDATED" - The agent ensures that the package is installed
-	// and
+	//   "UPDATED" - The agent ensures that the package is installed and
 	// periodically checks for and install any updates.
 	//   "REMOVED" - The agent ensures that the package is not installed and
-	// uninstall it
-	// if detected.
+	// uninstall it if detected.
 	DesiredState string `json:"desiredState,omitempty"`
 
 	// InstallSteps: Actions to be taken for installing this recipe. On
-	// failure it stops
-	// executing steps and does not attempt another installation. Any steps
-	// taken
-	// (including partially completed steps) are not rolled back.
+	// failure it stops executing steps and does not attempt another
+	// installation. Any steps taken (including partially completed steps)
+	// are not rolled back.
 	InstallSteps []*SoftwareRecipeStep `json:"installSteps,omitempty"`
 
 	// Name: Required. Unique identifier for the recipe. Only one recipe
-	// with a given name is
-	// installed on an instance.
-	//
-	// Names are also used to identify resources which helps to determine
-	// whether
-	// guest policies have conflicts. This means that requests to create
-	// multiple
-	// recipes with the same name and version are rejected since they
-	// could potentially have conflicting assignments.
+	// with a given name is installed on an instance. Names are also used to
+	// identify resources which helps to determine whether guest policies
+	// have conflicts. This means that requests to create multiple recipes
+	// with the same name and version are rejected since they could
+	// potentially have conflicting assignments.
 	Name string `json:"name,omitempty"`
 
 	// UpdateSteps: Actions to be taken for updating this recipe. On failure
-	// it stops
-	// executing steps and  does not attempt another update for this recipe.
-	// Any
-	// steps taken (including partially completed steps) are not rolled
-	// back.
+	// it stops executing steps and does not attempt another update for this
+	// recipe. Any steps taken (including partially completed steps) are not
+	// rolled back.
 	UpdateSteps []*SoftwareRecipeStep `json:"updateSteps,omitempty"`
 
 	// Version: The version of this software recipe. Version can be up to 4
-	// period
-	// separated numbers (e.g. 12.34.56.78).
+	// period separated numbers (e.g. 12.34.56.78).
 	Version string `json:"version,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Artifacts") to
@@ -3055,21 +2799,17 @@
 // recipe.
 type SoftwareRecipeArtifact struct {
 	// AllowInsecure: Defaults to false. When false, recipes are subject to
-	// validations
-	// based on the artifact type:
-	//
-	// Remote: A checksum must be specified, and only protocols
-	// with
-	// transport-layer security are permitted.
-	// GCS:    An object generation number must be specified.
+	// validations based on the artifact type: Remote: A checksum must be
+	// specified, and only protocols with transport-layer security are
+	// permitted. GCS: An object generation number must be specified.
 	AllowInsecure bool `json:"allowInsecure,omitempty"`
 
 	// Gcs: A Google Cloud Storage artifact.
 	Gcs *SoftwareRecipeArtifactGcs `json:"gcs,omitempty"`
 
 	// Id: Required. Id of the artifact, which the installation and update
-	// steps of this
-	// recipe can reference. Artifacts in a recipe cannot have the same id.
+	// steps of this recipe can reference. Artifacts in a recipe cannot have
+	// the same id.
 	Id string `json:"id,omitempty"`
 
 	// Remote: A generic remote artifact.
@@ -3101,30 +2841,22 @@
 // SoftwareRecipeArtifactGcs: Specifies an artifact available as a
 // Google Cloud Storage object.
 type SoftwareRecipeArtifactGcs struct {
-	// Bucket: Bucket of the Google Cloud Storage object.
-	// Given an example
-	// URL:
-	// `https://storage.googleapis.com/my-bucket/foo/bar#1234567`
-	// this value would be `my-bucket`.
+	// Bucket: Bucket of the Google Cloud Storage object. Given an example
+	// URL: `https://storage.googleapis.com/my-bucket/foo/bar#1234567` this
+	// value would be `my-bucket`.
 	Bucket string `json:"bucket,omitempty"`
 
-	// Generation: Must be provided if allow_insecure is false.
-	// Generation number of the Google Cloud Storage
-	// object.
-	// `https://storage.googleapis.com/my-bucket/foo/bar#1234567`
-	// thi
-	// s value would be `1234567`.
+	// Generation: Must be provided if allow_insecure is false. Generation
+	// number of the Google Cloud Storage object.
+	// `https://storage.googleapis.com/my-bucket/foo/bar#1234567` this value
+	// would be `1234567`.
 	Generation int64 `json:"generation,omitempty,string"`
 
-	// Object: Name of the Google Cloud Storage object.
-	// As specified
-	// [here]
-	// (https://cloud.google.com/storage/docs/naming#objectnames)
-	// Give
-	// n an example
-	// URL:
-	// `https://storage.googleapis.com/my-bucket/foo/bar#1234567`
-	// this value would be `foo/bar`.
+	// Object: Name of the Google Cloud Storage object. As specified [here]
+	// (https://cloud.google.com/storage/docs/naming#objectnames) Given an
+	// example URL:
+	// `https://storage.googleapis.com/my-bucket/foo/bar#1234567` this value
+	// would be `foo/bar`.
 	Object string `json:"object,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Bucket") to
@@ -3153,19 +2885,14 @@
 // SoftwareRecipeArtifactRemote: Specifies an artifact available via
 // some URI.
 type SoftwareRecipeArtifactRemote struct {
-	// Checksum: Must be provided if `allow_insecure` is `false`.
-	// SHA256 checksum in hex format, to compare to the checksum of
-	// the
-	// artifact. If the checksum is not empty and it doesn't match
-	// the
-	// artifact then the recipe installation fails before running any of
-	// the
-	// steps.
+	// Checksum: Must be provided if `allow_insecure` is `false`. SHA256
+	// checksum in hex format, to compare to the checksum of the artifact.
+	// If the checksum is not empty and it doesn't match the artifact then
+	// the recipe installation fails before running any of the steps.
 	Checksum string `json:"checksum,omitempty"`
 
 	// Uri: URI from which to fetch the object. It should contain both the
-	// protocol
-	// and path following the format {protocol}://{location}.
+	// protocol and path following the format {protocol}://{location}.
 	Uri string `json:"uri,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Checksum") to
@@ -3250,30 +2977,19 @@
 	Destination string `json:"destination,omitempty"`
 
 	// Overwrite: Whether to allow this step to overwrite existing files. If
-	// this is
-	// false and the file already exists the file is not overwritten
+	// this is false and the file already exists the file is not overwritten
 	// and the step is considered a success. Defaults to false.
 	Overwrite bool `json:"overwrite,omitempty"`
 
-	// Permissions: Consists of three octal digits which represent,
-	// in
-	// order, the permissions of the owner, group, and other users for
-	// the
-	// file (similarly to the numeric mode used in the linux chmod
-	// utility).
-	// Each digit represents a three bit number with the 4 bit
-	// corresponding to the read permissions, the 2 bit corresponds to
-	// the
-	// write bit, and the one bit corresponds to the execute
-	// permission.
-	// Default behavior is 755.
-	//
-	// Below are some examples of permissions and their associated
-	// values:
-	// read, write, and execute: 7
-	// read and execute: 5
-	// read and write: 6
-	// read only: 4
+	// Permissions: Consists of three octal digits which represent, in
+	// order, the permissions of the owner, group, and other users for the
+	// file (similarly to the numeric mode used in the linux chmod utility).
+	// Each digit represents a three bit number with the 4 bit corresponding
+	// to the read permissions, the 2 bit corresponds to the write bit, and
+	// the one bit corresponds to the execute permission. Default behavior
+	// is 755. Below are some examples of permissions and their associated
+	// values: read, write, and execute: 7 read and execute: 5 read and
+	// write: 6 read only: 4
 	Permissions string `json:"permissions,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ArtifactId") to
@@ -3302,8 +3018,7 @@
 // SoftwareRecipeStepExecFile: Executes an artifact or local file.
 type SoftwareRecipeStepExecFile struct {
 	// AllowedExitCodes: Defaults to [0]. A list of possible return values
-	// that the program
-	// can return to indicate a success.
+	// that the program can return to indicate a success.
 	AllowedExitCodes []int64 `json:"allowedExitCodes,omitempty"`
 
 	// Args: Arguments to be passed to the provided executable.
@@ -3345,8 +3060,8 @@
 	// ArtifactId: Required. The id of the relevant artifact in the recipe.
 	ArtifactId string `json:"artifactId,omitempty"`
 
-	// Destination: Directory to extract archive to.
-	// Defaults to `/` on Linux or `C:\` on Windows.
+	// Destination: Directory to extract archive to. Defaults to `/` on
+	// Linux or `C:\` on Windows.
 	Destination string `json:"destination,omitempty"`
 
 	// Type: Required. The type of the archive to extract.
@@ -3421,15 +3136,14 @@
 // SoftwareRecipeStepInstallMsi: Installs an MSI file.
 type SoftwareRecipeStepInstallMsi struct {
 	// AllowedExitCodes: Return codes that indicate that the software
-	// installed or updated
-	// successfully. Behaviour defaults to [0]
+	// installed or updated successfully. Behaviour defaults to [0]
 	AllowedExitCodes []int64 `json:"allowedExitCodes,omitempty"`
 
 	// ArtifactId: Required. The id of the relevant artifact in the recipe.
 	ArtifactId string `json:"artifactId,omitempty"`
 
-	// Flags: The flags to use when installing the MSI
-	// defaults to ["/i"] (i.e. the install flag).
+	// Flags: The flags to use when installing the MSI defaults to ["/i"]
+	// (i.e. the install flag).
 	Flags []string `json:"flags,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AllowedExitCodes") to
@@ -3488,21 +3202,18 @@
 // SoftwareRecipeStepRunScript: Runs a script through an interpreter.
 type SoftwareRecipeStepRunScript struct {
 	// AllowedExitCodes: Return codes that indicate that the software
-	// installed or updated
-	// successfully. Behaviour defaults to [0]
+	// installed or updated successfully. Behaviour defaults to [0]
 	AllowedExitCodes []int64 `json:"allowedExitCodes,omitempty"`
 
 	// Interpreter: The script interpreter to use to run the script. If no
-	// interpreter is
-	// specified the script is executed directly, which likely
-	// only succeed for scripts with
-	// [shebang lines](https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+	// interpreter is specified the script is executed directly, which
+	// likely only succeed for scripts with [shebang
+	// lines](https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
 	//
 	// Possible values:
 	//   "INTERPRETER_UNSPECIFIED" - Default value for ScriptType.
 	//   "SHELL" - Indicates that the script is run with `/bin/sh` on Linux
-	// and `cmd`
-	// on windows.
+	// and `cmd` on windows.
 	//   "POWERSHELL" - Indicates that the script is run with powershell.
 	Interpreter string `json:"interpreter,omitempty"`
 
@@ -3534,15 +3245,13 @@
 }
 
 // TimeOfDay: Represents a time of day. The date and time zone are
-// either not significant
-// or are specified elsewhere. An API may choose to allow leap seconds.
-// Related
-// types are google.type.Date and `google.protobuf.Timestamp`.
+// either not significant or are specified elsewhere. An API may choose
+// to allow leap seconds. Related types are google.type.Date and
+// `google.protobuf.Timestamp`.
 type TimeOfDay struct {
 	// Hours: Hours of day in 24 hour format. Should be from 0 to 23. An API
-	// may choose
-	// to allow the value "24:00:00" for scenarios like business closing
-	// time.
+	// may choose to allow the value "24:00:00" for scenarios like business
+	// closing time.
 	Hours int64 `json:"hours,omitempty"`
 
 	// Minutes: Minutes of hour of day. Must be from 0 to 59.
@@ -3553,8 +3262,7 @@
 	Nanos int64 `json:"nanos,omitempty"`
 
 	// Seconds: Seconds of minutes of the time. Must normally be from 0 to
-	// 59. An API may
-	// allow the value 60 if it allows leap-seconds.
+	// 59. An API may allow the value 60 if it allows leap-seconds.
 	Seconds int64 `json:"seconds,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Hours") to
@@ -3580,8 +3288,8 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// TimeZone: Represents a time zone from the
-// [IANA Time Zone Database](https://www.iana.org/time-zones).
+// TimeZone: Represents a time zone from the [IANA Time Zone
+// Database](https://www.iana.org/time-zones).
 type TimeZone struct {
 	// Id: IANA Time Zone Database time zone, e.g. "America/New_York".
 	Id string `json:"id,omitempty"`
@@ -3630,8 +3338,7 @@
 	DayOfWeek string `json:"dayOfWeek,omitempty"`
 
 	// WeekOrdinal: Required. Week number in a month. 1-4 indicates the 1st
-	// to 4th week of the month. -1
-	// indicates the last week of the month.
+	// to 4th week of the month. -1 indicates the last week of the month.
 	WeekOrdinal int64 `json:"weekOrdinal,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "DayOfWeek") to
@@ -3699,67 +3406,50 @@
 // Windows Update Agent.
 type WindowsUpdateSettings struct {
 	// Classifications: Only apply updates of these windows update
-	// classifications. If empty, all
-	// updates are applied.
+	// classifications. If empty, all updates are applied.
 	//
 	// Possible values:
 	//   "CLASSIFICATION_UNSPECIFIED" - Invalid. If classifications are
 	// included, they must be specified.
 	//   "CRITICAL" - "A widely released fix for a specific problem that
-	// addresses a critical,
-	// non-security-related bug." [1]
+	// addresses a critical, non-security-related bug." [1]
 	//   "SECURITY" - "A widely released fix for a product-specific,
-	// security-related
-	// vulnerability. Security vulnerabilities are rated by their severity.
-	// The
-	// severity rating is indicated in the Microsoft security bulletin
-	// as
-	// critical, important, moderate, or low." [1]
+	// security-related vulnerability. Security vulnerabilities are rated by
+	// their severity. The severity rating is indicated in the Microsoft
+	// security bulletin as critical, important, moderate, or low." [1]
 	//   "DEFINITION" - "A widely released and frequent software update that
-	// contains additions
-	// to a product's definition database. Definition databases are often
-	// used
-	// to detect objects that have specific attributes, such as malicious
-	// code,
-	// phishing websites, or junk mail." [1]
+	// contains additions to a product's definition database. Definition
+	// databases are often used to detect objects that have specific
+	// attributes, such as malicious code, phishing websites, or junk mail."
+	// [1]
 	//   "DRIVER" - "Software that controls the input and output of a
 	// device." [1]
 	//   "FEATURE_PACK" - "New product functionality that is first
-	// distributed outside the context
-	// of a product release and that is typically included in the next
-	// full
-	// product release." [1]
+	// distributed outside the context of a product release and that is
+	// typically included in the next full product release." [1]
 	//   "SERVICE_PACK" - "A tested, cumulative set of all hotfixes,
-	// security updates, critical
-	// updates, and updates. Additionally, service packs may contain
-	// additional
-	// fixes for problems that are found internally since the release of
-	// the
-	// product. Service packs my also contain a limited number
-	// of
-	// customer-requested design changes or features." [1]
+	// security updates, critical updates, and updates. Additionally,
+	// service packs may contain additional fixes for problems that are
+	// found internally since the release of the product. Service packs my
+	// also contain a limited number of customer-requested design changes or
+	// features." [1]
 	//   "TOOL" - "A utility or feature that helps complete a task or set of
 	// tasks." [1]
 	//   "UPDATE_ROLLUP" - "A tested, cumulative set of hotfixes, security
-	// updates, critical
-	// updates, and updates that are packaged together for easy deployment.
-	// A
-	// rollup generally targets a specific area, such as security, or
-	// a
-	// component of a product, such as Internet Information Services (IIS)."
-	// [1]
+	// updates, critical updates, and updates that are packaged together for
+	// easy deployment. A rollup generally targets a specific area, such as
+	// security, or a component of a product, such as Internet Information
+	// Services (IIS)." [1]
 	//   "UPDATE" - "A widely released fix for a specific problem. An update
-	// addresses a
-	// noncritical, non-security-related bug." [1]
+	// addresses a noncritical, non-security-related bug." [1]
 	Classifications []string `json:"classifications,omitempty"`
 
 	// Excludes: List of KBs to exclude from update.
 	Excludes []string `json:"excludes,omitempty"`
 
 	// ExclusivePatches: An exclusive list of kbs to be updated. These are
-	// the only patches
-	// that will be updated. This field must not be used with other
-	// patch configurations.
+	// the only patches that will be updated. This field must not be used
+	// with other patch configurations.
 	ExclusivePatches []string `json:"exclusivePatches,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Classifications") to
@@ -3787,8 +3477,8 @@
 }
 
 // YumRepository: Represents a single Yum package repository. This
-// repository is added to a
-// repo file that is stored at `/etc/yum.repos.d/google_osconfig.repo`.
+// repository is added to a repo file that is stored at
+// `/etc/yum.repos.d/google_osconfig.repo`.
 type YumRepository struct {
 	// BaseUrl: Required. The location of the repository directory.
 	BaseUrl string `json:"baseUrl,omitempty"`
@@ -3799,13 +3489,10 @@
 	// GpgKeys: URIs of GPG keys.
 	GpgKeys []string `json:"gpgKeys,omitempty"`
 
-	// Id: Required. A one word, unique name for this repository. This
-	// is
-	// the `repo id` in the Yum config file and also the `display_name`
-	// if
+	// Id: Required. A one word, unique name for this repository. This is
+	// the `repo id` in the Yum config file and also the `display_name` if
 	// `display_name` is omitted. This id is also used as the unique
-	// identifier
-	// when checking for guest policy conflicts.
+	// identifier when checking for guest policy conflicts.
 	Id string `json:"id,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "BaseUrl") to
@@ -3832,31 +3519,24 @@
 }
 
 // YumSettings: Yum patching is performed by executing `yum update`.
-// Additional options
-// can be set to control how this is executed.
-//
-// Note that not all settings are supported on all platforms.
+// Additional options can be set to control how this is executed. Note
+// that not all settings are supported on all platforms.
 type YumSettings struct {
 	// Excludes: List of packages to exclude from update. These packages are
-	// excluded by
-	// using the yum `--exclude` flag.
+	// excluded by using the yum `--exclude` flag.
 	Excludes []string `json:"excludes,omitempty"`
 
 	// ExclusivePackages: An exclusive list of packages to be updated. These
-	// are the only packages
-	// that will be updated. If these packages are not installed, they will
-	// be
-	// ignored. This field must not be specified with any other
-	// patch
-	// configuration fields.
+	// are the only packages that will be updated. If these packages are not
+	// installed, they will be ignored. This field must not be specified
+	// with any other patch configuration fields.
 	ExclusivePackages []string `json:"exclusivePackages,omitempty"`
 
 	// Minimal: Will cause patch to run `yum update-minimal` instead.
 	Minimal bool `json:"minimal,omitempty"`
 
 	// Security: Adds the `--security` flag to `yum update`. Not supported
-	// on
-	// all platforms.
+	// on all platforms.
 	Security bool `json:"security,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Excludes") to
@@ -3883,8 +3563,8 @@
 }
 
 // ZypperRepository: Represents a single Zypper package repository. This
-// repository is added to a
-// repo file that is stored at `/etc/zypp/repos.d/google_osconfig.repo`.
+// repository is added to a repo file that is stored at
+// `/etc/zypp/repos.d/google_osconfig.repo`.
 type ZypperRepository struct {
 	// BaseUrl: Required. The location of the repository directory.
 	BaseUrl string `json:"baseUrl,omitempty"`
@@ -3895,13 +3575,10 @@
 	// GpgKeys: URIs of GPG keys.
 	GpgKeys []string `json:"gpgKeys,omitempty"`
 
-	// Id: Required. A one word, unique name for this repository. This
-	// is
+	// Id: Required. A one word, unique name for this repository. This is
 	// the `repo id` in the zypper config file and also the `display_name`
-	// if
-	// `display_name` is omitted. This id is also used as the unique
-	// identifier
-	// when checking for guest policy conflicts.
+	// if `display_name` is omitted. This id is also used as the unique
+	// identifier when checking for guest policy conflicts.
 	Id string `json:"id,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "BaseUrl") to
@@ -3928,26 +3605,23 @@
 }
 
 // ZypperSettings: Zypper patching is performed by running `zypper
-// patch`.
-// See also https://en.opensuse.org/SDB:Zypper_manual.
+// patch`. See also https://en.opensuse.org/SDB:Zypper_manual.
 type ZypperSettings struct {
-	// Categories: Install only patches with these categories.
-	// Common categories include security, recommended, and feature.
+	// Categories: Install only patches with these categories. Common
+	// categories include security, recommended, and feature.
 	Categories []string `json:"categories,omitempty"`
 
 	// Excludes: List of patches to exclude from update.
 	Excludes []string `json:"excludes,omitempty"`
 
 	// ExclusivePatches: An exclusive list of patches to be updated. These
-	// are the only patches
-	// that will be installed using 'zypper patch patch:<patch_name>'
-	// command.
-	// This field must not be used with any other patch configuration
-	// fields.
+	// are the only patches that will be installed using 'zypper patch
+	// patch:' command. This field must not be used with any other patch
+	// configuration fields.
 	ExclusivePatches []string `json:"exclusivePatches,omitempty"`
 
-	// Severities: Install only patches with these severities.
-	// Common severities include critical, important, moderate, and low.
+	// Severities: Install only patches with these severities. Common
+	// severities include critical, important, moderate, and low.
 	Severities []string `json:"severities,omitempty"`
 
 	// WithOptional: Adds the `--with-optional` flag to `zypper patch`.
@@ -3999,14 +3673,11 @@
 }
 
 // GuestPolicyId sets the optional parameter "guestPolicyId": Required.
-// The logical name of the guest policy in the project
-// with the following restrictions:
-//
-// * Must contain only lowercase letters, numbers, and hyphens.
-// * Must start with a letter.
-// * Must be between 1-63 characters.
-// * Must end with a number or a letter.
-// * Must be unique within the project.
+// The logical name of the guest policy in the project with the
+// following restrictions: * Must contain only lowercase letters,
+// numbers, and hyphens. * Must start with a letter. * Must be between
+// 1-63 characters. * Must end with a number or a letter. * Must be
+// unique within the project.
 func (c *ProjectsGuestPoliciesCreateCall) GuestPolicyId(guestPolicyId string) *ProjectsGuestPoliciesCreateCall {
 	c.urlParams_.Set("guestPolicyId", guestPolicyId)
 	return c
@@ -4039,7 +3710,7 @@
 
 func (c *ProjectsGuestPoliciesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4112,12 +3783,12 @@
 	//   ],
 	//   "parameters": {
 	//     "guestPolicyId": {
-	//       "description": "Required. The logical name of the guest policy in the project\nwith the following restrictions:\n\n* Must contain only lowercase letters, numbers, and hyphens.\n* Must start with a letter.\n* Must be between 1-63 characters.\n* Must end with a number or a letter.\n* Must be unique within the project.",
+	//       "description": "Required. The logical name of the guest policy in the project with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the project.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The resource name of the parent using one of the following forms:\n`projects/{project_number}`.",
+	//       "description": "Required. The resource name of the parent using one of the following forms: `projects/{project_number}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -4182,7 +3853,7 @@
 
 func (c *ProjectsGuestPoliciesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4250,7 +3921,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the guest policy  using one of the following forms:\n`projects/{project_number}/guestPolicies/{guest_policy_id}`.",
+	//       "description": "Required. The resource name of the guest policy using one of the following forms: `projects/{project_number}/guestPolicies/{guest_policy_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/guestPolicies/[^/]+$",
 	//       "required": true,
@@ -4323,7 +3994,7 @@
 
 func (c *ProjectsGuestPoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4394,7 +4065,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the guest policy using one of the following forms:\n`projects/{project_number}/guestPolicies/{guest_policy_id}`.",
+	//       "description": "Required. The resource name of the guest policy using one of the following forms: `projects/{project_number}/guestPolicies/{guest_policy_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/guestPolicies/[^/]+$",
 	//       "required": true,
@@ -4438,8 +4109,8 @@
 }
 
 // PageToken sets the optional parameter "pageToken": A pagination token
-// returned from a previous call to `ListGuestPolicies`
-// that indicates where this listing should continue from.
+// returned from a previous call to `ListGuestPolicies` that indicates
+// where this listing should continue from.
 func (c *ProjectsGuestPoliciesListCall) PageToken(pageToken string) *ProjectsGuestPoliciesListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -4482,7 +4153,7 @@
 
 func (c *ProjectsGuestPoliciesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4559,12 +4230,12 @@
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "A pagination token returned from a previous call to `ListGuestPolicies`\nthat indicates where this listing should continue from.",
+	//       "description": "A pagination token returned from a previous call to `ListGuestPolicies` that indicates where this listing should continue from.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The resource name of the parent using one of the following forms:\n`projects/{project_number}`.",
+	//       "description": "Required. The resource name of the parent using one of the following forms: `projects/{project_number}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -4623,8 +4294,7 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": Field mask that
-// controls which fields of the guest policy should be
-// updated.
+// controls which fields of the guest policy should be updated.
 func (c *ProjectsGuestPoliciesPatchCall) UpdateMask(updateMask string) *ProjectsGuestPoliciesPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
 	return c
@@ -4657,7 +4327,7 @@
 
 func (c *ProjectsGuestPoliciesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4730,14 +4400,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. Unique name of the resource in this project using one of the following\nforms:\n`projects/{project_number}/guestPolicies/{guest_policy_id}`.",
+	//       "description": "Required. Unique name of the resource in this project using one of the following forms: `projects/{project_number}/guestPolicies/{guest_policy_id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/guestPolicies/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "Field mask that controls which fields of the guest policy should be\nupdated.",
+	//       "description": "Field mask that controls which fields of the guest policy should be updated.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -4778,13 +4448,10 @@
 
 // PatchDeploymentId sets the optional parameter "patchDeploymentId":
 // Required. A name for the patch deployment in the project. When
-// creating a name
-// the following rules apply:
-// * Must contain only lowercase letters, numbers, and hyphens.
-// * Must start with a letter.
-// * Must be between 1-63 characters.
-// * Must end with a number or a letter.
-// * Must be unique within the project.
+// creating a name the following rules apply: * Must contain only
+// lowercase letters, numbers, and hyphens. * Must start with a letter.
+// * Must be between 1-63 characters. * Must end with a number or a
+// letter. * Must be unique within the project.
 func (c *ProjectsPatchDeploymentsCreateCall) PatchDeploymentId(patchDeploymentId string) *ProjectsPatchDeploymentsCreateCall {
 	c.urlParams_.Set("patchDeploymentId", patchDeploymentId)
 	return c
@@ -4817,7 +4484,7 @@
 
 func (c *ProjectsPatchDeploymentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4897,7 +4564,7 @@
 	//       "type": "string"
 	//     },
 	//     "patchDeploymentId": {
-	//       "description": "Required. A name for the patch deployment in the project. When creating a name\nthe following rules apply:\n* Must contain only lowercase letters, numbers, and hyphens.\n* Must start with a letter.\n* Must be between 1-63 characters.\n* Must end with a number or a letter.\n* Must be unique within the project.",
+	//       "description": "Required. A name for the patch deployment in the project. When creating a name the following rules apply: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the project.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -4960,7 +4627,7 @@
 
 func (c *ProjectsPatchDeploymentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5028,7 +4695,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the patch deployment in the form\n`projects/*/patchDeployments/*`.",
+	//       "description": "Required. The resource name of the patch deployment in the form `projects/*/patchDeployments/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/patchDeployments/[^/]+$",
 	//       "required": true,
@@ -5101,7 +4768,7 @@
 
 func (c *ProjectsPatchDeploymentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5172,7 +4839,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the patch deployment in the form\n`projects/*/patchDeployments/*`.",
+	//       "description": "Required. The resource name of the patch deployment in the form `projects/*/patchDeployments/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/patchDeployments/[^/]+$",
 	//       "required": true,
@@ -5216,8 +4883,8 @@
 }
 
 // PageToken sets the optional parameter "pageToken": A pagination token
-// returned from a previous call to ListPatchDeployments
-// that indicates where this listing should continue from.
+// returned from a previous call to ListPatchDeployments that indicates
+// where this listing should continue from.
 func (c *ProjectsPatchDeploymentsListCall) PageToken(pageToken string) *ProjectsPatchDeploymentsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -5260,7 +4927,7 @@
 
 func (c *ProjectsPatchDeploymentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5337,7 +5004,7 @@
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Optional. A pagination token returned from a previous call to ListPatchDeployments\nthat indicates where this listing should continue from.",
+	//       "description": "Optional. A pagination token returned from a previous call to ListPatchDeployments that indicates where this listing should continue from.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -5393,8 +5060,7 @@
 }
 
 // Cancel: Cancel a patch job. The patch job must be active. Canceled
-// patch jobs
-// cannot be restarted.
+// patch jobs cannot be restarted.
 func (r *ProjectsPatchJobsService) Cancel(name string, cancelpatchjobrequest *CancelPatchJobRequest) *ProjectsPatchJobsCancelCall {
 	c := &ProjectsPatchJobsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -5429,7 +5095,7 @@
 
 func (c *ProjectsPatchJobsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5493,7 +5159,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Cancel a patch job. The patch job must be active. Canceled patch jobs\ncannot be restarted.",
+	//   "description": "Cancel a patch job. The patch job must be active. Canceled patch jobs cannot be restarted.",
 	//   "flatPath": "v1beta/projects/{projectsId}/patchJobs/{patchJobsId}:cancel",
 	//   "httpMethod": "POST",
 	//   "id": "osconfig.projects.patchJobs.cancel",
@@ -5569,7 +5235,7 @@
 
 func (c *ProjectsPatchJobsExecuteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5674,8 +5340,7 @@
 	header_      http.Header
 }
 
-// Get: Get the patch job. This can be used to track the progress of
-// an
+// Get: Get the patch job. This can be used to track the progress of an
 // ongoing patch job or review the details of completed jobs.
 func (r *ProjectsPatchJobsService) Get(name string) *ProjectsPatchJobsGetCall {
 	c := &ProjectsPatchJobsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -5720,7 +5385,7 @@
 
 func (c *ProjectsPatchJobsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5782,7 +5447,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Get the patch job. This can be used to track the progress of an\nongoing patch job or review the details of completed jobs.",
+	//   "description": "Get the patch job. This can be used to track the progress of an ongoing patch job or review the details of completed jobs.",
 	//   "flatPath": "v1beta/projects/{projectsId}/patchJobs/{patchJobsId}",
 	//   "httpMethod": "GET",
 	//   "id": "osconfig.projects.patchJobs.get",
@@ -5828,9 +5493,9 @@
 }
 
 // Filter sets the optional parameter "filter": If provided, this field
-// specifies the criteria that must be met by patch
-// jobs to be included in the response.
-// Currently, filtering is only available on the patch_deployment field.
+// specifies the criteria that must be met by patch jobs to be included
+// in the response. Currently, filtering is only available on the
+// patch_deployment field.
 func (c *ProjectsPatchJobsListCall) Filter(filter string) *ProjectsPatchJobsListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
@@ -5844,8 +5509,8 @@
 }
 
 // PageToken sets the optional parameter "pageToken": A pagination token
-// returned from a previous call
-// that indicates where this listing should continue from.
+// returned from a previous call that indicates where this listing
+// should continue from.
 func (c *ProjectsPatchJobsListCall) PageToken(pageToken string) *ProjectsPatchJobsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -5888,7 +5553,7 @@
 
 func (c *ProjectsPatchJobsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5959,7 +5624,7 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "If provided, this field specifies the criteria that must be met by patch\njobs to be included in the response.\nCurrently, filtering is only available on the patch_deployment field.",
+	//       "description": "If provided, this field specifies the criteria that must be met by patch jobs to be included in the response. Currently, filtering is only available on the patch_deployment field.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -5970,7 +5635,7 @@
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "A pagination token returned from a previous call\nthat indicates where this listing should continue from.",
+	//       "description": "A pagination token returned from a previous call that indicates where this listing should continue from.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -6033,25 +5698,23 @@
 }
 
 // Filter sets the optional parameter "filter": A filter expression that
-// filters results listed in the response. This
-// field supports filtering results by instance zone, name, state,
-// or
-// `failure_reason`.
+// filters results listed in the response. This field supports filtering
+// results by instance zone, name, state, or `failure_reason`.
 func (c *ProjectsPatchJobsInstanceDetailsListCall) Filter(filter string) *ProjectsPatchJobsInstanceDetailsListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
-// of instance details records to return.  Default is 100.
+// of instance details records to return. Default is 100.
 func (c *ProjectsPatchJobsInstanceDetailsListCall) PageSize(pageSize int64) *ProjectsPatchJobsInstanceDetailsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": A pagination token
-// returned from a previous call
-// that indicates where this listing should continue from.
+// returned from a previous call that indicates where this listing
+// should continue from.
 func (c *ProjectsPatchJobsInstanceDetailsListCall) PageToken(pageToken string) *ProjectsPatchJobsInstanceDetailsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -6094,7 +5757,7 @@
 
 func (c *ProjectsPatchJobsInstanceDetailsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6166,18 +5829,18 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "A filter expression that filters results listed in the response. This\nfield supports filtering results by instance zone, name, state, or\n`failure_reason`.",
+	//       "description": "A filter expression that filters results listed in the response. This field supports filtering results by instance zone, name, state, or `failure_reason`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "The maximum number of instance details records to return.  Default is 100.",
+	//       "description": "The maximum number of instance details records to return. Default is 100.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "A pagination token returned from a previous call\nthat indicates where this listing should continue from.",
+	//       "description": "A pagination token returned from a previous call that indicates where this listing should continue from.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -6233,9 +5896,8 @@
 }
 
 // LookupEffectiveGuestPolicy: Lookup the effective guest policy that
-// applies to a VM instance. This
-// lookup merges all policies that are assigned to the instance
-// ancestry.
+// applies to a VM instance. This lookup merges all policies that are
+// assigned to the instance ancestry.
 func (r *ProjectsZonesInstancesService) LookupEffectiveGuestPolicy(instance string, lookupeffectiveguestpolicyrequest *LookupEffectiveGuestPolicyRequest) *ProjectsZonesInstancesLookupEffectiveGuestPolicyCall {
 	c := &ProjectsZonesInstancesLookupEffectiveGuestPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.instance = instance
@@ -6270,7 +5932,7 @@
 
 func (c *ProjectsZonesInstancesLookupEffectiveGuestPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6334,7 +5996,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lookup the effective guest policy that applies to a VM instance. This\nlookup merges all policies that are assigned to the instance ancestry.",
+	//   "description": "Lookup the effective guest policy that applies to a VM instance. This lookup merges all policies that are assigned to the instance ancestry.",
 	//   "flatPath": "v1beta/projects/{projectsId}/zones/{zonesId}/instances/{instancesId}:lookupEffectiveGuestPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "osconfig.projects.zones.instances.lookupEffectiveGuestPolicy",
diff --git a/oslogin/v1/oslogin-gen.go b/oslogin/v1/oslogin-gen.go
index 4650fc2..12f02fe 100644
--- a/oslogin/v1/oslogin-gen.go
+++ b/oslogin/v1/oslogin-gen.go
@@ -444,7 +444,7 @@
 
 func (c *UsersGetLoginProfileCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -599,7 +599,7 @@
 
 func (c *UsersImportSshPublicKeyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -743,7 +743,7 @@
 
 func (c *UsersProjectsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -874,7 +874,7 @@
 
 func (c *UsersSshPublicKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1016,7 +1016,7 @@
 
 func (c *UsersSshPublicKeysGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1160,7 +1160,7 @@
 
 func (c *UsersSshPublicKeysPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/oslogin/v1alpha/oslogin-gen.go b/oslogin/v1alpha/oslogin-gen.go
index 7502f39..4cbede2 100644
--- a/oslogin/v1alpha/oslogin-gen.go
+++ b/oslogin/v1alpha/oslogin-gen.go
@@ -466,7 +466,7 @@
 
 func (c *UsersGetLoginProfileCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -638,7 +638,7 @@
 
 func (c *UsersImportSshPublicKeyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -796,7 +796,7 @@
 
 func (c *UsersProjectsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -942,7 +942,7 @@
 
 func (c *UsersSshPublicKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1084,7 +1084,7 @@
 
 func (c *UsersSshPublicKeysGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1228,7 +1228,7 @@
 
 func (c *UsersSshPublicKeysPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/oslogin/v1beta/oslogin-gen.go b/oslogin/v1beta/oslogin-gen.go
index e087d01..fb5fe55 100644
--- a/oslogin/v1beta/oslogin-gen.go
+++ b/oslogin/v1beta/oslogin-gen.go
@@ -452,7 +452,7 @@
 
 func (c *UsersGetLoginProfileCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -609,7 +609,7 @@
 
 func (c *UsersImportSshPublicKeyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -753,7 +753,7 @@
 
 func (c *UsersProjectsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -884,7 +884,7 @@
 
 func (c *UsersSshPublicKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1026,7 +1026,7 @@
 
 func (c *UsersSshPublicKeysGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1170,7 +1170,7 @@
 
 func (c *UsersSshPublicKeysPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/pagespeedonline/v5/pagespeedonline-api.json b/pagespeedonline/v5/pagespeedonline-api.json
index 799c82e..39addc1 100644
--- a/pagespeedonline/v5/pagespeedonline-api.json
+++ b/pagespeedonline/v5/pagespeedonline-api.json
@@ -12,7 +12,7 @@
   "baseUrl": "https://pagespeedonline.googleapis.com/",
   "batchPath": "batch",
   "canonicalName": "Pagespeed Insights",
-  "description": "The PageSpeed Insights API lets you analyze the performance of your website with a simple API.  It offers tailored suggestions for how you can optimize your site, and lets you easily integrate PageSpeed Insights analysis into your development tools and workflow.\n",
+  "description": "The PageSpeed Insights API lets you analyze the performance of your website with a simple API. It offers tailored suggestions for how you can optimize your site, and lets you easily integrate PageSpeed Insights analysis into your development tools and workflow. ",
   "discoveryVersion": "v1",
   "documentationLink": "https://developers.google.com/speed/docs/insights/v5/about",
   "fullyEncodeReservedExpansion": true,
@@ -108,7 +108,7 @@
     "pagespeedapi": {
       "methods": {
         "runpagespeed": {
-          "description": "Runs PageSpeed analysis on the page at the specified URL, and returns\nPageSpeed scores, a list of suggestions to make that page faster, and other\ninformation.",
+          "description": "Runs PageSpeed analysis on the page at the specified URL, and returns PageSpeed scores, a list of suggestions to make that page faster, and other information.",
           "flatPath": "pagespeedonline/v5/runPagespeed",
           "httpMethod": "GET",
           "id": "pagespeedonline.pagespeedapi.runpagespeed",
@@ -120,7 +120,7 @@
               "type": "string"
             },
             "category": {
-              "description": "A Lighthouse category to run; if none are given, only Performance category\nwill be run",
+              "description": "A Lighthouse category to run; if none are given, only Performance category will be run",
               "enum": [
                 "CATEGORY_UNSPECIFIED",
                 "ACCESSIBILITY",
@@ -129,6 +129,14 @@
                 "PWA",
                 "SEO"
               ],
+              "enumDescriptions": [
+                "Default UNDEFINED category.",
+                "Accessibility (a11y), category pertaining to a website's capacity to be accessible to all users.",
+                "Best Practices, category pertaining to a website's conformance to web best practice.",
+                "Performance, category pertaining to a website's performance.",
+                "Progressive Web App (PWA), category pertaining to a website's ability to be run as a PWA.",
+                "Search Engine Optimization (SEO), category pertaining to a website's ability to be indexed by search engines."
+              ],
               "location": "query",
               "repeated": true,
               "type": "string"
@@ -139,17 +147,22 @@
               "type": "string"
             },
             "strategy": {
-              "description": "The analysis strategy (desktop or mobile) to use, and desktop is the\ndefault",
+              "description": "The analysis strategy (desktop or mobile) to use, and desktop is the default",
               "enum": [
                 "STRATEGY_UNSPECIFIED",
                 "DESKTOP",
                 "MOBILE"
               ],
+              "enumDescriptions": [
+                "UNDEFINED.",
+                "Fetch and analyze the URL for desktop browsers.",
+                "Fetch and analyze the URL for mobile devices."
+              ],
               "location": "query",
               "type": "string"
             },
             "url": {
-              "description": "The URL to fetch and analyze",
+              "description": "Required. The URL to fetch and analyze",
               "location": "query",
               "type": "string"
             },
@@ -175,11 +188,11 @@
       }
     }
   },
-  "revision": "20200723",
+  "revision": "20200813",
   "rootUrl": "https://pagespeedonline.googleapis.com/",
   "schemas": {
     "AuditRefs": {
-      "description": "A light reference to an audit by id, used to group and weight audits in a\ngiven category.",
+      "description": "A light reference to an audit by id, used to group and weight audits in a given category.",
       "id": "AuditRefs",
       "properties": {
         "group": {
@@ -199,7 +212,7 @@
       "type": "object"
     },
     "Bucket": {
-      "description": "A proportion of data in the total distribution, bucketed by a min/max\npercentage. Each bucket's range is bounded by min \u003c= x \u003c max, In\nmillisecond.",
+      "description": "A proportion of data in the total distribution, bucketed by a min/max percentage. Each bucket's range is bounded by min \u003c= x \u003c max, In millisecond.",
       "id": "Bucket",
       "properties": {
         "max": {
@@ -230,7 +243,7 @@
         },
         "best-practices": {
           "$ref": "LighthouseCategoryV5",
-          "description": "The best practices category, containing all best practices related\naudits."
+          "description": "The best practices category, containing all best practices related audits."
         },
         "performance": {
           "$ref": "LighthouseCategoryV5",
@@ -238,11 +251,11 @@
         },
         "pwa": {
           "$ref": "LighthouseCategoryV5",
-          "description": "The Progressive-Web-App (PWA) category, containing all pwa related\naudits."
+          "description": "The Progressive-Web-App (PWA) category, containing all pwa related audits."
         },
         "seo": {
           "$ref": "LighthouseCategoryV5",
-          "description": "The Search-Engine-Optimization (SEO) category, containing all seo related\naudits."
+          "description": "The Search-Engine-Optimization (SEO) category, containing all seo related audits."
         }
       },
       "type": "object"
@@ -267,7 +280,7 @@
       "id": "ConfigSettings",
       "properties": {
         "channel": {
-          "description": "How Lighthouse was run, e.g. from the Chrome extension or from the npm\nmodule.",
+          "description": "How Lighthouse was run, e.g. from the Chrome extension or from the npm module.",
           "type": "string"
         },
         "emulatedFormFactor": {
@@ -311,7 +324,7 @@
       "properties": {
         "rendererFormattedStrings": {
           "$ref": "RendererFormattedStrings",
-          "description": "Internationalized strings that are formatted to the locale in\nconfigSettings."
+          "description": "Internationalized strings that are formatted to the locale in configSettings."
         }
       },
       "type": "object"
@@ -349,7 +362,7 @@
           "type": "string"
         },
         "numericValue": {
-          "description": "A numeric value that has a meaning specific to the audit, e.g. the number\nof nodes in the DOM or the timestamp of a specific load event. More\ninformation can be found in the audit details, if present.",
+          "description": "A numeric value that has a meaning specific to the audit, e.g. the number of nodes in the DOM or the timestamp of a specific load event. More information can be found in the audit details, if present.",
           "format": "double",
           "type": "number"
         },
@@ -396,7 +409,7 @@
           "type": "string"
         },
         "score": {
-          "description": "The overall score of the category, the weighted average of all its audits.\n(The category's score, can be null.)",
+          "description": "The overall score of the category, the weighted average of all its audits. (The category's score, can be null.)",
           "type": "any"
         },
         "title": {
@@ -457,7 +470,7 @@
           "type": "string"
         },
         "runWarnings": {
-          "description": "List of all run warnings in the LHR.  Will always output to at least `[]`.",
+          "description": "List of all run warnings in the LHR. Will always output to at least `[]`.",
           "items": {
             "type": "any"
           },
@@ -465,7 +478,7 @@
         },
         "runtimeError": {
           "$ref": "RuntimeError",
-          "description": "A top-level error message that, if present, indicates a serious enough\nproblem that this Lighthouse result may need to be discarded."
+          "description": "A top-level error message that, if present, indicates a serious enough problem that this Lighthouse result may need to be discarded."
         },
         "stackPacks": {
           "description": "The Stack Pack advice strings.",
@@ -501,7 +514,7 @@
           "additionalProperties": {
             "$ref": "UserPageLoadMetricV5"
           },
-          "description": "The map of \u003cmetrics, data\u003e.",
+          "description": "The map of .",
           "type": "object"
         },
         "origin_fallback": {
@@ -528,7 +541,7 @@
           "type": "string"
         },
         "id": {
-          "description": "Canonicalized and final URL for the document, after following page\nredirects (if any).",
+          "description": "Canonicalized and final URL for the document, after following page redirects (if any).",
           "type": "string"
         },
         "kind": {
@@ -598,11 +611,11 @@
           "type": "string"
         },
         "lsPerformanceCategoryDescription": {
-          "description": "The disclaimer shown under performance explaning that the network can\nvary.",
+          "description": "The disclaimer shown under performance explaning that the network can vary.",
           "type": "string"
         },
         "manualAuditsGroupTitle": {
-          "description": "The heading shown above a list of audits that were not computerd in the\nrun.",
+          "description": "The heading shown above a list of audits that were not computerd in the run.",
           "type": "string"
         },
         "notApplicableAuditsGroupTitle": {
@@ -610,7 +623,7 @@
           "type": "string"
         },
         "opportunityResourceColumnLabel": {
-          "description": "The heading for the estimated page load savings opportunity of an\naudit.",
+          "description": "The heading for the estimated page load savings opportunity of an audit.",
           "type": "string"
         },
         "opportunitySavingsColumnLabel": {
@@ -626,7 +639,7 @@
           "type": "string"
         },
         "toplevelWarningsMessage": {
-          "description": "The label shown preceding important warnings that may have invalidated\nan entire report.",
+          "description": "The label shown preceding important warnings that may have invalidated an entire report.",
           "type": "string"
         },
         "varianceDisclaimer": {
@@ -722,7 +735,7 @@
           "type": "string"
         },
         "percentile": {
-          "description": "We use this field to store certain percentile value for this metric.\nFor v4, this field contains pc50.\nFor v5, this field contains pc90.",
+          "description": "We use this field to store certain percentile value for this metric. For v4, this field contains pc50. For v5, this field contains pc90.",
           "format": "int32",
           "type": "integer"
         }
diff --git a/pagespeedonline/v5/pagespeedonline-gen.go b/pagespeedonline/v5/pagespeedonline-gen.go
index 6b3cec5..aa6d671 100644
--- a/pagespeedonline/v5/pagespeedonline-gen.go
+++ b/pagespeedonline/v5/pagespeedonline-gen.go
@@ -145,8 +145,7 @@
 }
 
 // AuditRefs: A light reference to an audit by id, used to group and
-// weight audits in a
-// given category.
+// weight audits in a given category.
 type AuditRefs struct {
 	// Group: The category group that the audit belongs to (optional).
 	Group string `json:"group,omitempty"`
@@ -196,10 +195,8 @@
 }
 
 // Bucket: A proportion of data in the total distribution, bucketed by a
-// min/max
-// percentage. Each bucket's range is bounded by min <= x < max,
-// In
-// millisecond.
+// min/max percentage. Each bucket's range is bounded by min <= x < max,
+// In millisecond.
 type Bucket struct {
 	// Max: Upper bound for a bucket's range.
 	Max int64 `json:"max,omitempty"`
@@ -254,8 +251,7 @@
 	Accessibility *LighthouseCategoryV5 `json:"accessibility,omitempty"`
 
 	// BestPractices: The best practices category, containing all best
-	// practices related
-	// audits.
+	// practices related audits.
 	BestPractices *LighthouseCategoryV5 `json:"best-practices,omitempty"`
 
 	// Performance: The performance category, containing all performance
@@ -263,13 +259,11 @@
 	Performance *LighthouseCategoryV5 `json:"performance,omitempty"`
 
 	// Pwa: The Progressive-Web-App (PWA) category, containing all pwa
-	// related
-	// audits.
+	// related audits.
 	Pwa *LighthouseCategoryV5 `json:"pwa,omitempty"`
 
 	// Seo: The Search-Engine-Optimization (SEO) category, containing all
-	// seo related
-	// audits.
+	// seo related audits.
 	Seo *LighthouseCategoryV5 `json:"seo,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Accessibility") to
@@ -330,8 +324,7 @@
 // Lighthouse run.
 type ConfigSettings struct {
 	// Channel: How Lighthouse was run, e.g. from the Chrome extension or
-	// from the npm
-	// module.
+	// from the npm module.
 	Channel string `json:"channel,omitempty"`
 
 	// EmulatedFormFactor: The form factor the emulation should use.
@@ -421,8 +414,7 @@
 // I18n: Message containing the i18n data for the LHR - Version 1.
 type I18n struct {
 	// RendererFormattedStrings: Internationalized strings that are
-	// formatted to the locale in
-	// configSettings.
+	// formatted to the locale in configSettings.
 	RendererFormattedStrings *RendererFormattedStrings `json:"rendererFormattedStrings,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -473,10 +465,9 @@
 	Id string `json:"id,omitempty"`
 
 	// NumericValue: A numeric value that has a meaning specific to the
-	// audit, e.g. the number
-	// of nodes in the DOM or the timestamp of a specific load event.
-	// More
-	// information can be found in the audit details, if present.
+	// audit, e.g. the number of nodes in the DOM or the timestamp of a
+	// specific load event. More information can be found in the audit
+	// details, if present.
 	NumericValue float64 `json:"numericValue,omitempty"`
 
 	// Score: The score of the audit, can be null.
@@ -546,8 +537,7 @@
 	ManualDescription string `json:"manualDescription,omitempty"`
 
 	// Score: The overall score of the category, the weighted average of all
-	// its audits.
-	// (The category's score, can be null.)
+	// its audits. (The category's score, can be null.)
 	Score interface{} `json:"score,omitempty"`
 
 	// Title: The human-friendly name of the category.
@@ -611,13 +601,13 @@
 	// RequestedUrl: The original requested url.
 	RequestedUrl string `json:"requestedUrl,omitempty"`
 
-	// RunWarnings: List of all run warnings in the LHR.  Will always output
+	// RunWarnings: List of all run warnings in the LHR. Will always output
 	// to at least `[]`.
 	RunWarnings []interface{} `json:"runWarnings,omitempty"`
 
 	// RuntimeError: A top-level error message that, if present, indicates a
-	// serious enough
-	// problem that this Lighthouse result may need to be discarded.
+	// serious enough problem that this Lighthouse result may need to be
+	// discarded.
 	RuntimeError *RuntimeError `json:"runtimeError,omitempty"`
 
 	// StackPacks: The Stack Pack advice strings.
@@ -662,7 +652,7 @@
 	// "id".
 	InitialUrl string `json:"initial_url,omitempty"`
 
-	// Metrics: The map of <metrics, data>.
+	// Metrics: The map of .
 	Metrics map[string]UserPageLoadMetricV5 `json:"metrics,omitempty"`
 
 	// OriginFallback: True if the result is an origin fallback from a page,
@@ -704,8 +694,7 @@
 	CaptchaResult string `json:"captchaResult,omitempty"`
 
 	// Id: Canonicalized and final URL for the document, after following
-	// page
-	// redirects (if any).
+	// page redirects (if any).
 	Id string `json:"id,omitempty"`
 
 	// Kind: Kind of result.
@@ -813,13 +802,11 @@
 	LabDataTitle string `json:"labDataTitle,omitempty"`
 
 	// LsPerformanceCategoryDescription: The disclaimer shown under
-	// performance explaning that the network can
-	// vary.
+	// performance explaning that the network can vary.
 	LsPerformanceCategoryDescription string `json:"lsPerformanceCategoryDescription,omitempty"`
 
 	// ManualAuditsGroupTitle: The heading shown above a list of audits that
-	// were not computerd in the
-	// run.
+	// were not computerd in the run.
 	ManualAuditsGroupTitle string `json:"manualAuditsGroupTitle,omitempty"`
 
 	// NotApplicableAuditsGroupTitle: The heading shown above a list of
@@ -827,8 +814,7 @@
 	NotApplicableAuditsGroupTitle string `json:"notApplicableAuditsGroupTitle,omitempty"`
 
 	// OpportunityResourceColumnLabel: The heading for the estimated page
-	// load savings opportunity of an
-	// audit.
+	// load savings opportunity of an audit.
 	OpportunityResourceColumnLabel string `json:"opportunityResourceColumnLabel,omitempty"`
 
 	// OpportunitySavingsColumnLabel: The heading for the estimated page
@@ -844,8 +830,7 @@
 	ScorescaleLabel string `json:"scorescaleLabel,omitempty"`
 
 	// ToplevelWarningsMessage: The label shown preceding important warnings
-	// that may have invalidated
-	// an entire report.
+	// that may have invalidated an entire report.
 	ToplevelWarningsMessage string `json:"toplevelWarningsMessage,omitempty"`
 
 	// VarianceDisclaimer: The disclaimer shown below a performance metric
@@ -1010,9 +995,8 @@
 	MetricId string `json:"metricId,omitempty"`
 
 	// Percentile: We use this field to store certain percentile value for
-	// this metric.
-	// For v4, this field contains pc50.
-	// For v5, this field contains pc90.
+	// this metric. For v4, this field contains pc50. For v5, this field
+	// contains pc90.
 	Percentile int64 `json:"percentile,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Category") to
@@ -1049,10 +1033,8 @@
 }
 
 // Runpagespeed: Runs PageSpeed analysis on the page at the specified
-// URL, and returns
-// PageSpeed scores, a list of suggestions to make that page faster, and
-// other
-// information.
+// URL, and returns PageSpeed scores, a list of suggestions to make that
+// page faster, and other information.
 func (r *PagespeedapiService) Runpagespeed() *PagespeedapiRunpagespeedCall {
 	c := &PagespeedapiRunpagespeedCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	return c
@@ -1066,16 +1048,21 @@
 }
 
 // Category sets the optional parameter "category": A Lighthouse
-// category to run; if none are given, only Performance category
-// will be run
+// category to run; if none are given, only Performance category will be
+// run
 //
 // Possible values:
-//   "CATEGORY_UNSPECIFIED"
-//   "ACCESSIBILITY"
-//   "BEST_PRACTICES"
-//   "PERFORMANCE"
-//   "PWA"
-//   "SEO"
+//   "CATEGORY_UNSPECIFIED" - Default UNDEFINED category.
+//   "ACCESSIBILITY" - Accessibility (a11y), category pertaining to a
+// website's capacity to be accessible to all users.
+//   "BEST_PRACTICES" - Best Practices, category pertaining to a
+// website's conformance to web best practice.
+//   "PERFORMANCE" - Performance, category pertaining to a website's
+// performance.
+//   "PWA" - Progressive Web App (PWA), category pertaining to a
+// website's ability to be run as a PWA.
+//   "SEO" - Search Engine Optimization (SEO), category pertaining to a
+// website's ability to be indexed by search engines.
 func (c *PagespeedapiRunpagespeedCall) Category(category ...string) *PagespeedapiRunpagespeedCall {
 	c.urlParams_.SetMulti("category", append([]string{}, category...))
 	return c
@@ -1089,19 +1076,19 @@
 }
 
 // Strategy sets the optional parameter "strategy": The analysis
-// strategy (desktop or mobile) to use, and desktop is the
-// default
+// strategy (desktop or mobile) to use, and desktop is the default
 //
 // Possible values:
-//   "STRATEGY_UNSPECIFIED"
-//   "DESKTOP"
-//   "MOBILE"
+//   "STRATEGY_UNSPECIFIED" - UNDEFINED.
+//   "DESKTOP" - Fetch and analyze the URL for desktop browsers.
+//   "MOBILE" - Fetch and analyze the URL for mobile devices.
 func (c *PagespeedapiRunpagespeedCall) Strategy(strategy string) *PagespeedapiRunpagespeedCall {
 	c.urlParams_.Set("strategy", strategy)
 	return c
 }
 
-// Url sets the optional parameter "url": The URL to fetch and analyze
+// Url sets the optional parameter "url": Required. The URL to fetch and
+// analyze
 func (c *PagespeedapiRunpagespeedCall) Url(url string) *PagespeedapiRunpagespeedCall {
 	c.urlParams_.Set("url", url)
 	return c
@@ -1158,7 +1145,7 @@
 
 func (c *PagespeedapiRunpagespeedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1217,7 +1204,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Runs PageSpeed analysis on the page at the specified URL, and returns\nPageSpeed scores, a list of suggestions to make that page faster, and other\ninformation.",
+	//   "description": "Runs PageSpeed analysis on the page at the specified URL, and returns PageSpeed scores, a list of suggestions to make that page faster, and other information.",
 	//   "flatPath": "pagespeedonline/v5/runPagespeed",
 	//   "httpMethod": "GET",
 	//   "id": "pagespeedonline.pagespeedapi.runpagespeed",
@@ -1229,7 +1216,7 @@
 	//       "type": "string"
 	//     },
 	//     "category": {
-	//       "description": "A Lighthouse category to run; if none are given, only Performance category\nwill be run",
+	//       "description": "A Lighthouse category to run; if none are given, only Performance category will be run",
 	//       "enum": [
 	//         "CATEGORY_UNSPECIFIED",
 	//         "ACCESSIBILITY",
@@ -1238,6 +1225,14 @@
 	//         "PWA",
 	//         "SEO"
 	//       ],
+	//       "enumDescriptions": [
+	//         "Default UNDEFINED category.",
+	//         "Accessibility (a11y), category pertaining to a website's capacity to be accessible to all users.",
+	//         "Best Practices, category pertaining to a website's conformance to web best practice.",
+	//         "Performance, category pertaining to a website's performance.",
+	//         "Progressive Web App (PWA), category pertaining to a website's ability to be run as a PWA.",
+	//         "Search Engine Optimization (SEO), category pertaining to a website's ability to be indexed by search engines."
+	//       ],
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
@@ -1248,17 +1243,22 @@
 	//       "type": "string"
 	//     },
 	//     "strategy": {
-	//       "description": "The analysis strategy (desktop or mobile) to use, and desktop is the\ndefault",
+	//       "description": "The analysis strategy (desktop or mobile) to use, and desktop is the default",
 	//       "enum": [
 	//         "STRATEGY_UNSPECIFIED",
 	//         "DESKTOP",
 	//         "MOBILE"
 	//       ],
+	//       "enumDescriptions": [
+	//         "UNDEFINED.",
+	//         "Fetch and analyze the URL for desktop browsers.",
+	//         "Fetch and analyze the URL for mobile devices."
+	//       ],
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "url": {
-	//       "description": "The URL to fetch and analyze",
+	//       "description": "Required. The URL to fetch and analyze",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
diff --git a/people/v1/people-api.json b/people/v1/people-api.json
index ffdb256..4174e25 100644
--- a/people/v1/people-api.json
+++ b/people/v1/people-api.json
@@ -431,7 +431,7 @@
           "parameterOrder": [],
           "parameters": {
             "personFields": {
-              "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Defaults to all fields if not set. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * residences * sipAddresses * skills * urls * userDefined",
+              "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Defaults to all fields if not set. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined",
               "format": "google-fieldmask",
               "location": "query",
               "type": "string"
@@ -501,7 +501,7 @@
           ],
           "parameters": {
             "personFields": {
-              "description": "Optional. A field mask to restrict which fields on the person are returned. Multiple fields can be specified by separating them with commas. Defaults to empty if not set, which will skip the post mutate get. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * residences * sipAddresses * skills * urls * userDefined",
+              "description": "Optional. A field mask to restrict which fields on the person are returned. Multiple fields can be specified by separating them with commas. Defaults to empty if not set, which will skip the post mutate get. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined",
               "format": "google-fieldmask",
               "location": "query",
               "type": "string"
@@ -550,7 +550,7 @@
           ],
           "parameters": {
             "personFields": {
-              "description": "Required. A field mask to restrict which fields on the person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * residences * sipAddresses * skills * urls * userDefined",
+              "description": "Required. A field mask to restrict which fields on the person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined",
               "format": "google-fieldmask",
               "location": "query",
               "type": "string"
@@ -613,7 +613,7 @@
           "parameterOrder": [],
           "parameters": {
             "personFields": {
-              "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * residences * sipAddresses * skills * urls * userDefined",
+              "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined",
               "format": "google-fieldmask",
               "location": "query",
               "type": "string"
@@ -700,7 +700,7 @@
               "type": "string"
             },
             "readMask": {
-              "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * residences * sipAddresses * skills * urls * userDefined",
+              "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined",
               "format": "google-fieldmask",
               "location": "query",
               "type": "string"
@@ -778,7 +778,7 @@
               "type": "string"
             },
             "readMask": {
-              "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * residences * sipAddresses * skills * urls * userDefined",
+              "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined",
               "format": "google-fieldmask",
               "location": "query",
               "type": "string"
@@ -818,7 +818,7 @@
           ],
           "parameters": {
             "personFields": {
-              "description": "Optional. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Defaults to all fields if not set. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * residences * sipAddresses * skills * urls * userDefined",
+              "description": "Optional. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Defaults to all fields if not set. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined",
               "format": "google-fieldmask",
               "location": "query",
               "type": "string"
@@ -849,7 +849,7 @@
               "type": "string"
             },
             "updatePersonFields": {
-              "description": "Required. A field mask to restrict which fields on the person are updated. Multiple fields can be specified by separating them with commas. All updated fields will be replaced. Valid values are: * addresses * biographies * birthdays * calendarUrls * clientData * emailAddresses * events * externalIds * genders * imClients * interests * locales * memberships * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * relations * residences * sipAddresses * urls * userDefined",
+              "description": "Required. A field mask to restrict which fields on the person are updated. Multiple fields can be specified by separating them with commas. All updated fields will be replaced. Valid values are: * addresses * biographies * birthdays * calendarUrls * clientData * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * relations * sipAddresses * urls * userDefined",
               "format": "google-fieldmask",
               "location": "query",
               "type": "string"
@@ -919,7 +919,7 @@
                   "type": "string"
                 },
                 "personFields": {
-                  "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * residences * sipAddresses * skills * urls * userDefined",
+                  "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined",
                   "format": "google-fieldmask",
                   "location": "query",
                   "type": "string"
@@ -997,7 +997,7 @@
       }
     }
   },
-  "revision": "20200805",
+  "revision": "20200813",
   "rootUrl": "https://people.googleapis.com/",
   "schemas": {
     "Address": {
@@ -1324,18 +1324,12 @@
           "type": "string"
         },
         "readMask": {
-          "description": "Optional. A field mask to restrict which fields on the person are returned. Multiple fields can be specified by separating them with commas. Defaults to the copy mask with metadata and membership fields if not set. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * residences * sipAddresses * skills * urls * userDefined",
+          "description": "Optional. A field mask to restrict which fields on the person are returned. Multiple fields can be specified by separating them with commas. Defaults to the copy mask with metadata and membership fields if not set. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined",
           "format": "google-fieldmask",
           "type": "string"
         },
         "sources": {
           "description": "Optional. A mask of what source types to return. Defaults to ReadSourceType.CONTACT and ReadSourceType.PROFILE if not set.",
-          "enumDescriptions": [
-            "Unspecified.",
-            "Returns SourceType.ACCOUNT, SourceType.DOMAIN_PROFILE, and SourceType.PROFILE.",
-            "Returns SourceType.CONTACT.",
-            "Returns SourceType.DOMAIN_CONTACT."
-          ],
           "items": {
             "enum": [
               "READ_SOURCE_TYPE_UNSPECIFIED",
@@ -1751,6 +1745,45 @@
       },
       "type": "object"
     },
+    "Location": {
+      "description": "A person's location.",
+      "id": "Location",
+      "properties": {
+        "buildingId": {
+          "description": "The building identifier.",
+          "type": "string"
+        },
+        "current": {
+          "description": "Whether the location is the current location.",
+          "type": "boolean"
+        },
+        "deskCode": {
+          "description": "The individual desk location.",
+          "type": "string"
+        },
+        "floor": {
+          "description": "The floor name or number.",
+          "type": "string"
+        },
+        "floorSection": {
+          "description": "The floor section in `floor_name`.",
+          "type": "string"
+        },
+        "metadata": {
+          "$ref": "FieldMetadata",
+          "description": "Metadata about the location."
+        },
+        "type": {
+          "description": "The type of the location. The type can be custom or one of these predefined values: * `desk` * `grewUp`",
+          "type": "string"
+        },
+        "value": {
+          "description": "The free-form value of the location.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
     "Membership": {
       "description": "A person's membership in a group. Only contact group memberships can be modified.",
       "id": "Membership",
@@ -2189,6 +2222,13 @@
           },
           "type": "array"
         },
+        "locations": {
+          "description": "The person's locations.",
+          "items": {
+            "$ref": "Location"
+          },
+          "type": "array"
+        },
         "memberships": {
           "description": "The person's group memberships.",
           "items": {
@@ -2275,7 +2315,7 @@
           "type": "array"
         },
         "residences": {
-          "description": "The person's residences.",
+          "description": "**DEPRECATED**: (Please use `person.locations` instead) The person's residences.",
           "items": {
             "$ref": "Residence"
           },
@@ -2467,12 +2507,6 @@
         },
         "userTypes": {
           "description": "Output only. The user types.",
-          "enumDescriptions": [
-            "The user type is not known.",
-            "The user is a Google user.",
-            "The user is a Google+ user.",
-            "The user is a G Suite user."
-          ],
           "items": {
             "enum": [
               "USER_TYPE_UNKNOWN",
@@ -2559,7 +2593,7 @@
       "type": "object"
     },
     "Residence": {
-      "description": "A person's past or current residence.",
+      "description": "**DEPRECATED**: Please use `person.locations` instead. A person's past or current residence.",
       "id": "Residence",
       "properties": {
         "current": {
@@ -2745,7 +2779,7 @@
       "id": "UpdateContactPhotoRequest",
       "properties": {
         "personFields": {
-          "description": "Optional. A field mask to restrict which fields on the person are returned. Multiple fields can be specified by separating them with commas. Defaults to empty if not set, which will skip the post mutate get. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * residences * sipAddresses * skills * urls * userDefined",
+          "description": "Optional. A field mask to restrict which fields on the person are returned. Multiple fields can be specified by separating them with commas. Defaults to empty if not set, which will skip the post mutate get. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined",
           "format": "google-fieldmask",
           "type": "string"
         },
@@ -2756,12 +2790,6 @@
         },
         "sources": {
           "description": "Optional. A mask of what source types to return. Defaults to ReadSourceType.CONTACT and ReadSourceType.PROFILE if not set.",
-          "enumDescriptions": [
-            "Unspecified.",
-            "Returns SourceType.ACCOUNT, SourceType.DOMAIN_PROFILE, and SourceType.PROFILE.",
-            "Returns SourceType.CONTACT.",
-            "Returns SourceType.DOMAIN_CONTACT."
-          ],
           "items": {
             "enum": [
               "READ_SOURCE_TYPE_UNSPECIFIED",
diff --git a/people/v1/people-gen.go b/people/v1/people-gen.go
index e5e9d3f..50254f5 100644
--- a/people/v1/people-gen.go
+++ b/people/v1/people-gen.go
@@ -757,10 +757,10 @@
 	// membership fields if not set. Valid values are: * addresses *
 	// ageRanges * biographies * birthdays * calendarUrls * clientData *
 	// coverPhotos * emailAddresses * events * externalIds * genders *
-	// imClients * interests * locales * memberships * metadata *
-	// miscKeywords * names * nicknames * occupations * organizations *
-	// phoneNumbers * photos * relations * residences * sipAddresses *
-	// skills * urls * userDefined
+	// imClients * interests * locales * locations * memberships * metadata
+	// * miscKeywords * names * nicknames * occupations * organizations *
+	// phoneNumbers * photos * relations * sipAddresses * skills * urls *
+	// userDefined
 	ReadMask string `json:"readMask,omitempty"`
 
 	// Sources: Optional. A mask of what source types to return. Defaults to
@@ -1551,6 +1551,56 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// Location: A person's location.
+type Location struct {
+	// BuildingId: The building identifier.
+	BuildingId string `json:"buildingId,omitempty"`
+
+	// Current: Whether the location is the current location.
+	Current bool `json:"current,omitempty"`
+
+	// DeskCode: The individual desk location.
+	DeskCode string `json:"deskCode,omitempty"`
+
+	// Floor: The floor name or number.
+	Floor string `json:"floor,omitempty"`
+
+	// FloorSection: The floor section in `floor_name`.
+	FloorSection string `json:"floorSection,omitempty"`
+
+	// Metadata: Metadata about the location.
+	Metadata *FieldMetadata `json:"metadata,omitempty"`
+
+	// Type: The type of the location. The type can be custom or one of
+	// these predefined values: * `desk` * `grewUp`
+	Type string `json:"type,omitempty"`
+
+	// Value: The free-form value of the location.
+	Value string `json:"value,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "BuildingId") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "BuildingId") to include in
+	// API requests with the JSON null value. By default, fields with empty
+	// values are omitted from API requests. However, any field with an
+	// empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *Location) MarshalJSON() ([]byte, error) {
+	type NoMethod Location
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // Membership: A person's membership in a group. Only contact group
 // memberships can be modified.
 type Membership struct {
@@ -2019,6 +2069,9 @@
 	// Locales: The person's locale preferences.
 	Locales []*Locale `json:"locales,omitempty"`
 
+	// Locations: The person's locations.
+	Locations []*Location `json:"locations,omitempty"`
+
 	// Memberships: The person's group memberships.
 	Memberships []*Membership `json:"memberships,omitempty"`
 
@@ -2058,7 +2111,8 @@
 	// returned The person's relationship statuses.
 	RelationshipStatuses []*RelationshipStatus `json:"relationshipStatuses,omitempty"`
 
-	// Residences: The person's residences.
+	// Residences: **DEPRECATED**: (Please use `person.locations` instead)
+	// The person's residences.
 	Residences []*Residence `json:"residences,omitempty"`
 
 	// ResourceName: The resource name for the person, assigned by the
@@ -2461,7 +2515,8 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// Residence: A person's past or current residence.
+// Residence: **DEPRECATED**: Please use `person.locations` instead. A
+// person's past or current residence.
 type Residence struct {
 	// Current: True if the residence is the person's current residence;
 	// false if the residence is a past residence.
@@ -2791,9 +2846,10 @@
 	// post mutate get. Valid values are: * addresses * ageRanges *
 	// biographies * birthdays * calendarUrls * clientData * coverPhotos *
 	// emailAddresses * events * externalIds * genders * imClients *
-	// interests * locales * memberships * metadata * miscKeywords * names *
-	// nicknames * occupations * organizations * phoneNumbers * photos *
-	// relations * residences * sipAddresses * skills * urls * userDefined
+	// interests * locales * locations * memberships * metadata *
+	// miscKeywords * names * nicknames * occupations * organizations *
+	// phoneNumbers * photos * relations * sipAddresses * skills * urls *
+	// userDefined
 	PersonFields string `json:"personFields,omitempty"`
 
 	// PhotoBytes: Required. Raw photo bytes
@@ -3013,7 +3069,7 @@
 
 func (c *ContactGroupsBatchGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3147,7 +3203,7 @@
 
 func (c *ContactGroupsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3280,7 +3336,7 @@
 
 func (c *ContactGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3435,7 +3491,7 @@
 
 func (c *ContactGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3610,7 +3666,7 @@
 
 func (c *ContactGroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3772,7 +3828,7 @@
 
 func (c *ContactGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3916,7 +3972,7 @@
 
 func (c *ContactGroupsMembersModifyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4058,7 +4114,7 @@
 
 func (c *OtherContactsCopyOtherContactToMyContactsGroupCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4256,7 +4312,7 @@
 
 func (c *OtherContactsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4407,10 +4463,10 @@
 // Defaults to all fields if not set. Valid values are: * addresses *
 // ageRanges * biographies * birthdays * calendarUrls * clientData *
 // coverPhotos * emailAddresses * events * externalIds * genders *
-// imClients * interests * locales * memberships * metadata *
-// miscKeywords * names * nicknames * occupations * organizations *
-// phoneNumbers * photos * relations * residences * sipAddresses *
-// skills * urls * userDefined
+// imClients * interests * locales * locations * memberships * metadata
+// * miscKeywords * names * nicknames * occupations * organizations *
+// phoneNumbers * photos * relations * sipAddresses * skills * urls *
+// userDefined
 func (c *PeopleCreateContactCall) PersonFields(personFields string) *PeopleCreateContactCall {
 	c.urlParams_.Set("personFields", personFields)
 	return c
@@ -4459,7 +4515,7 @@
 
 func (c *PeopleCreateContactCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4527,7 +4583,7 @@
 	//   "parameterOrder": [],
 	//   "parameters": {
 	//     "personFields": {
-	//       "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Defaults to all fields if not set. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * residences * sipAddresses * skills * urls * userDefined",
+	//       "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Defaults to all fields if not set. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -4610,7 +4666,7 @@
 
 func (c *PeopleDeleteContactCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4719,9 +4775,9 @@
 // not set, which will skip the post mutate get. Valid values are: *
 // addresses * ageRanges * biographies * birthdays * calendarUrls *
 // clientData * coverPhotos * emailAddresses * events * externalIds *
-// genders * imClients * interests * locales * memberships * metadata *
-// miscKeywords * names * nicknames * occupations * organizations *
-// phoneNumbers * photos * relations * residences * sipAddresses *
+// genders * imClients * interests * locales * locations * memberships *
+// metadata * miscKeywords * names * nicknames * occupations *
+// organizations * phoneNumbers * photos * relations * sipAddresses *
 // skills * urls * userDefined
 func (c *PeopleDeleteContactPhotoCall) PersonFields(personFields string) *PeopleDeleteContactPhotoCall {
 	c.urlParams_.Set("personFields", personFields)
@@ -4771,7 +4827,7 @@
 
 func (c *PeopleDeleteContactPhotoCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4839,7 +4895,7 @@
 	//   ],
 	//   "parameters": {
 	//     "personFields": {
-	//       "description": "Optional. A field mask to restrict which fields on the person are returned. Multiple fields can be specified by separating them with commas. Defaults to empty if not set, which will skip the post mutate get. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * residences * sipAddresses * skills * urls * userDefined",
+	//       "description": "Optional. A field mask to restrict which fields on the person are returned. Multiple fields can be specified by separating them with commas. Defaults to empty if not set, which will skip the post mutate get. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -4906,9 +4962,9 @@
 // Multiple fields can be specified by separating them with commas.
 // Valid values are: * addresses * ageRanges * biographies * birthdays *
 // calendarUrls * clientData * coverPhotos * emailAddresses * events *
-// externalIds * genders * imClients * interests * locales * memberships
-// * metadata * miscKeywords * names * nicknames * occupations *
-// organizations * phoneNumbers * photos * relations * residences *
+// externalIds * genders * imClients * interests * locales * locations *
+// memberships * metadata * miscKeywords * names * nicknames *
+// occupations * organizations * phoneNumbers * photos * relations *
 // sipAddresses * skills * urls * userDefined
 func (c *PeopleGetCall) PersonFields(personFields string) *PeopleGetCall {
 	c.urlParams_.Set("personFields", personFields)
@@ -4977,7 +5033,7 @@
 
 func (c *PeopleGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5048,7 +5104,7 @@
 	//   ],
 	//   "parameters": {
 	//     "personFields": {
-	//       "description": "Required. A field mask to restrict which fields on the person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * residences * sipAddresses * skills * urls * userDefined",
+	//       "description": "Required. A field mask to restrict which fields on the person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -5130,9 +5186,9 @@
 // Multiple fields can be specified by separating them with commas.
 // Valid values are: * addresses * ageRanges * biographies * birthdays *
 // calendarUrls * clientData * coverPhotos * emailAddresses * events *
-// externalIds * genders * imClients * interests * locales * memberships
-// * metadata * miscKeywords * names * nicknames * occupations *
-// organizations * phoneNumbers * photos * relations * residences *
+// externalIds * genders * imClients * interests * locales * locations *
+// memberships * metadata * miscKeywords * names * nicknames *
+// occupations * organizations * phoneNumbers * photos * relations *
 // sipAddresses * skills * urls * userDefined
 func (c *PeopleGetBatchGetCall) PersonFields(personFields string) *PeopleGetBatchGetCall {
 	c.urlParams_.Set("personFields", personFields)
@@ -5214,7 +5270,7 @@
 
 func (c *PeopleGetBatchGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5280,7 +5336,7 @@
 	//   "parameterOrder": [],
 	//   "parameters": {
 	//     "personFields": {
-	//       "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * residences * sipAddresses * skills * urls * userDefined",
+	//       "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -5389,9 +5445,9 @@
 // fields can be specified by separating them with commas. Valid values
 // are: * addresses * ageRanges * biographies * birthdays * calendarUrls
 // * clientData * coverPhotos * emailAddresses * events * externalIds *
-// genders * imClients * interests * locales * memberships * metadata *
-// miscKeywords * names * nicknames * occupations * organizations *
-// phoneNumbers * photos * relations * residences * sipAddresses *
+// genders * imClients * interests * locales * locations * memberships *
+// metadata * miscKeywords * names * nicknames * occupations *
+// organizations * phoneNumbers * photos * relations * sipAddresses *
 // skills * urls * userDefined
 func (c *PeopleListDirectoryPeopleCall) ReadMask(readMask string) *PeopleListDirectoryPeopleCall {
 	c.urlParams_.Set("readMask", readMask)
@@ -5467,7 +5523,7 @@
 
 func (c *PeopleListDirectoryPeopleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5558,7 +5614,7 @@
 	//       "type": "string"
 	//     },
 	//     "readMask": {
-	//       "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * residences * sipAddresses * skills * urls * userDefined",
+	//       "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -5683,9 +5739,9 @@
 // fields can be specified by separating them with commas. Valid values
 // are: * addresses * ageRanges * biographies * birthdays * calendarUrls
 // * clientData * coverPhotos * emailAddresses * events * externalIds *
-// genders * imClients * interests * locales * memberships * metadata *
-// miscKeywords * names * nicknames * occupations * organizations *
-// phoneNumbers * photos * relations * residences * sipAddresses *
+// genders * imClients * interests * locales * locations * memberships *
+// metadata * miscKeywords * names * nicknames * occupations *
+// organizations * phoneNumbers * photos * relations * sipAddresses *
 // skills * urls * userDefined
 func (c *PeopleSearchDirectoryPeopleCall) ReadMask(readMask string) *PeopleSearchDirectoryPeopleCall {
 	c.urlParams_.Set("readMask", readMask)
@@ -5742,7 +5798,7 @@
 
 func (c *PeopleSearchDirectoryPeopleCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5838,7 +5894,7 @@
 	//       "type": "string"
 	//     },
 	//     "readMask": {
-	//       "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * residences * sipAddresses * skills * urls * userDefined",
+	//       "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -5931,9 +5987,10 @@
 // fields if not set. Valid values are: * addresses * ageRanges *
 // biographies * birthdays * calendarUrls * clientData * coverPhotos *
 // emailAddresses * events * externalIds * genders * imClients *
-// interests * locales * memberships * metadata * miscKeywords * names *
-// nicknames * occupations * organizations * phoneNumbers * photos *
-// relations * residences * sipAddresses * skills * urls * userDefined
+// interests * locales * locations * memberships * metadata *
+// miscKeywords * names * nicknames * occupations * organizations *
+// phoneNumbers * photos * relations * sipAddresses * skills * urls *
+// userDefined
 func (c *PeopleUpdateContactCall) PersonFields(personFields string) *PeopleUpdateContactCall {
 	c.urlParams_.Set("personFields", personFields)
 	return c
@@ -5961,8 +6018,8 @@
 // commas. All updated fields will be replaced. Valid values are: *
 // addresses * biographies * birthdays * calendarUrls * clientData *
 // emailAddresses * events * externalIds * genders * imClients *
-// interests * locales * memberships * miscKeywords * names * nicknames
-// * occupations * organizations * phoneNumbers * relations * residences
+// interests * locales * locations * memberships * miscKeywords * names
+// * nicknames * occupations * organizations * phoneNumbers * relations
 // * sipAddresses * urls * userDefined
 func (c *PeopleUpdateContactCall) UpdatePersonFields(updatePersonFields string) *PeopleUpdateContactCall {
 	c.urlParams_.Set("updatePersonFields", updatePersonFields)
@@ -5996,7 +6053,7 @@
 
 func (c *PeopleUpdateContactCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6069,7 +6126,7 @@
 	//   ],
 	//   "parameters": {
 	//     "personFields": {
-	//       "description": "Optional. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Defaults to all fields if not set. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * residences * sipAddresses * skills * urls * userDefined",
+	//       "description": "Optional. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Defaults to all fields if not set. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -6100,7 +6157,7 @@
 	//       "type": "string"
 	//     },
 	//     "updatePersonFields": {
-	//       "description": "Required. A field mask to restrict which fields on the person are updated. Multiple fields can be specified by separating them with commas. All updated fields will be replaced. Valid values are: * addresses * biographies * birthdays * calendarUrls * clientData * emailAddresses * events * externalIds * genders * imClients * interests * locales * memberships * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * relations * residences * sipAddresses * urls * userDefined",
+	//       "description": "Required. A field mask to restrict which fields on the person are updated. Multiple fields can be specified by separating them with commas. All updated fields will be replaced. Valid values are: * addresses * biographies * birthdays * calendarUrls * clientData * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * relations * sipAddresses * urls * userDefined",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -6166,7 +6223,7 @@
 
 func (c *PeopleUpdateContactPhotoCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6302,9 +6359,9 @@
 // Multiple fields can be specified by separating them with commas.
 // Valid values are: * addresses * ageRanges * biographies * birthdays *
 // calendarUrls * clientData * coverPhotos * emailAddresses * events *
-// externalIds * genders * imClients * interests * locales * memberships
-// * metadata * miscKeywords * names * nicknames * occupations *
-// organizations * phoneNumbers * photos * relations * residences *
+// externalIds * genders * imClients * interests * locales * locations *
+// memberships * metadata * miscKeywords * names * nicknames *
+// occupations * organizations * phoneNumbers * photos * relations *
 // sipAddresses * skills * urls * userDefined
 func (c *PeopleConnectionsListCall) PersonFields(personFields string) *PeopleConnectionsListCall {
 	c.urlParams_.Set("personFields", personFields)
@@ -6410,7 +6467,7 @@
 
 func (c *PeopleConnectionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6492,7 +6549,7 @@
 	//       "type": "string"
 	//     },
 	//     "personFields": {
-	//       "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * residences * sipAddresses * skills * urls * userDefined",
+	//       "description": "Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
diff --git a/playablelocations/v3/playablelocations-gen.go b/playablelocations/v3/playablelocations-gen.go
index 404e70d..5a46677 100644
--- a/playablelocations/v3/playablelocations-gen.go
+++ b/playablelocations/v3/playablelocations-gen.go
@@ -881,7 +881,7 @@
 
 func (c *V3LogImpressionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1008,7 +1008,7 @@
 
 func (c *V3LogPlayerReportsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1135,7 +1135,7 @@
 
 func (c *V3SamplePlayableLocationsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/plus/v1/plus-gen.go b/plus/v1/plus-gen.go
index 3955b3a..123f203 100644
--- a/plus/v1/plus-gen.go
+++ b/plus/v1/plus-gen.go
@@ -2345,7 +2345,7 @@
 
 func (c *ActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2509,7 +2509,7 @@
 
 func (c *ActivitiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2741,7 +2741,7 @@
 
 func (c *ActivitiesSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2937,7 +2937,7 @@
 
 func (c *CommentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3110,7 +3110,7 @@
 
 func (c *CommentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3304,7 +3304,7 @@
 
 func (c *PeopleGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3480,7 +3480,7 @@
 
 func (c *PeopleListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3708,7 +3708,7 @@
 
 func (c *PeopleListByActivityCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3929,7 +3929,7 @@
 
 func (c *PeopleSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/policytroubleshooter/v1/policytroubleshooter-gen.go b/policytroubleshooter/v1/policytroubleshooter-gen.go
index 2731df3..b16f93d 100644
--- a/policytroubleshooter/v1/policytroubleshooter-gen.go
+++ b/policytroubleshooter/v1/policytroubleshooter-gen.go
@@ -897,7 +897,7 @@
 
 func (c *IamTroubleshootCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/policytroubleshooter/v1beta/policytroubleshooter-gen.go b/policytroubleshooter/v1beta/policytroubleshooter-gen.go
index f5bf2bb..449c978 100644
--- a/policytroubleshooter/v1beta/policytroubleshooter-gen.go
+++ b/policytroubleshooter/v1beta/policytroubleshooter-gen.go
@@ -897,7 +897,7 @@
 
 func (c *IamTroubleshootCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/poly/v1/poly-gen.go b/poly/v1/poly-gen.go
index 3b42d66..e98bc71 100644
--- a/poly/v1/poly-gen.go
+++ b/poly/v1/poly-gen.go
@@ -1082,7 +1082,7 @@
 
 func (c *AssetsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1305,7 +1305,7 @@
 
 func (c *AssetsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1561,7 +1561,7 @@
 
 func (c *UsersAssetsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1795,7 +1795,7 @@
 
 func (c *UsersLikedassetsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/prod_tt_sasportal/v1alpha1/prod_tt_sasportal-api.json b/prod_tt_sasportal/v1alpha1/prod_tt_sasportal-api.json
index 3550ffd..3f6abcf 100644
--- a/prod_tt_sasportal/v1alpha1/prod_tt_sasportal-api.json
+++ b/prod_tt_sasportal/v1alpha1/prod_tt_sasportal-api.json
@@ -1550,7 +1550,7 @@
       }
     }
   },
-  "revision": "20200803",
+  "revision": "20200813",
   "rootUrl": "https://prod-tt-sasportal.googleapis.com/",
   "schemas": {
     "SasPortalAssignment": {
@@ -1841,6 +1841,10 @@
           "$ref": "SasPortalFrequencyRange",
           "description": "The transmission frequency range."
         },
+        "grantId": {
+          "description": "Grant Id.",
+          "type": "string"
+        },
         "maxEirp": {
           "description": "Maximum Equivalent Isotropically Radiated Power (EIRP) permitted by the grant. The maximum EIRP is in units of dBm/MHz. The value of maxEirp represents the average (RMS) EIRP that would be measured by the procedure defined in FCC part 96.41(e)(3).",
           "format": "double",
diff --git a/prod_tt_sasportal/v1alpha1/prod_tt_sasportal-gen.go b/prod_tt_sasportal/v1alpha1/prod_tt_sasportal-gen.go
index 547418f..76bca23 100644
--- a/prod_tt_sasportal/v1alpha1/prod_tt_sasportal-gen.go
+++ b/prod_tt_sasportal/v1alpha1/prod_tt_sasportal-gen.go
@@ -641,6 +641,9 @@
 	// FrequencyRange: The transmission frequency range.
 	FrequencyRange *SasPortalFrequencyRange `json:"frequencyRange,omitempty"`
 
+	// GrantId: Grant Id.
+	GrantId string `json:"grantId,omitempty"`
+
 	// MaxEirp: Maximum Equivalent Isotropically Radiated Power (EIRP)
 	// permitted by the grant. The maximum EIRP is in units of dBm/MHz. The
 	// value of maxEirp represents the average (RMS) EIRP that would be
@@ -1661,7 +1664,7 @@
 
 func (c *CustomersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1818,7 +1821,7 @@
 
 func (c *CustomersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1980,7 +1983,7 @@
 
 func (c *CustomersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2127,7 +2130,7 @@
 
 func (c *CustomersDevicesBulkCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2268,7 +2271,7 @@
 
 func (c *CustomersDevicesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2408,7 +2411,7 @@
 
 func (c *CustomersDevicesCreateSignedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2546,7 +2549,7 @@
 
 func (c *CustomersDevicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2687,7 +2690,7 @@
 
 func (c *CustomersDevicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2856,7 +2859,7 @@
 
 func (c *CustomersDevicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3028,7 +3031,7 @@
 
 func (c *CustomersDevicesMoveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3175,7 +3178,7 @@
 
 func (c *CustomersDevicesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3321,7 +3324,7 @@
 
 func (c *CustomersDevicesSignDeviceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3461,7 +3464,7 @@
 
 func (c *CustomersDevicesUpdateSignedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3601,7 +3604,7 @@
 
 func (c *CustomersNodesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3739,7 +3742,7 @@
 
 func (c *CustomersNodesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3880,7 +3883,7 @@
 
 func (c *CustomersNodesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4039,7 +4042,7 @@
 
 func (c *CustomersNodesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4206,7 +4209,7 @@
 
 func (c *CustomersNodesMoveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4353,7 +4356,7 @@
 
 func (c *CustomersNodesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4499,7 +4502,7 @@
 
 func (c *CustomersNodesNodesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4663,7 +4666,7 @@
 
 func (c *CustomersNodesNodesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4829,7 +4832,7 @@
 
 func (c *InstallerGenerateSecretCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4955,7 +4958,7 @@
 
 func (c *InstallerValidateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5092,7 +5095,7 @@
 
 func (c *NodesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5228,7 +5231,7 @@
 
 func (c *NodesDevicesBulkCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5369,7 +5372,7 @@
 
 func (c *NodesDevicesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5509,7 +5512,7 @@
 
 func (c *NodesDevicesCreateSignedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5647,7 +5650,7 @@
 
 func (c *NodesDevicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5788,7 +5791,7 @@
 
 func (c *NodesDevicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5957,7 +5960,7 @@
 
 func (c *NodesDevicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6129,7 +6132,7 @@
 
 func (c *NodesDevicesMoveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6276,7 +6279,7 @@
 
 func (c *NodesDevicesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6422,7 +6425,7 @@
 
 func (c *NodesDevicesSignDeviceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6562,7 +6565,7 @@
 
 func (c *NodesDevicesUpdateSignedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6702,7 +6705,7 @@
 
 func (c *NodesNodesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6840,7 +6843,7 @@
 
 func (c *NodesNodesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6981,7 +6984,7 @@
 
 func (c *NodesNodesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7140,7 +7143,7 @@
 
 func (c *NodesNodesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7307,7 +7310,7 @@
 
 func (c *NodesNodesMoveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7454,7 +7457,7 @@
 
 func (c *NodesNodesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7601,7 +7604,7 @@
 
 func (c *NodesNodesDevicesBulkCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7742,7 +7745,7 @@
 
 func (c *NodesNodesDevicesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7882,7 +7885,7 @@
 
 func (c *NodesNodesDevicesCreateSignedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8056,7 +8059,7 @@
 
 func (c *NodesNodesDevicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8228,7 +8231,7 @@
 
 func (c *NodesNodesNodesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8392,7 +8395,7 @@
 
 func (c *NodesNodesNodesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8558,7 +8561,7 @@
 
 func (c *PoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8684,7 +8687,7 @@
 
 func (c *PoliciesSetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8810,7 +8813,7 @@
 
 func (c *PoliciesTestCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/pubsub/v1/pubsub-api.json b/pubsub/v1/pubsub-api.json
index 2172f8e..50f986c 100644
--- a/pubsub/v1/pubsub-api.json
+++ b/pubsub/v1/pubsub-api.json
@@ -15,7 +15,7 @@
   "baseUrl": "https://pubsub.googleapis.com/",
   "batchPath": "batch",
   "canonicalName": "Pubsub",
-  "description": "Provides reliable, many-to-many, asynchronous messaging between applications.\n",
+  "description": "Provides reliable, many-to-many, asynchronous messaging between applications. ",
   "discoveryVersion": "v1",
   "documentationLink": "https://cloud.google.com/pubsub/docs",
   "icons": {
@@ -112,7 +112,7 @@
         "snapshots": {
           "methods": {
             "create": {
-              "description": "Creates a snapshot from the requested subscription. Snapshots are used in\n[Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations,\nwhich allow you to manage message acknowledgments in bulk. That is, you can\nset the acknowledgment state of messages in an existing subscription to the\nstate captured by a snapshot.\nIf the snapshot already exists, returns `ALREADY_EXISTS`.\nIf the requested subscription doesn't exist, returns `NOT_FOUND`.\nIf the backlog in the subscription is too old -- and the resulting snapshot\nwould expire in less than 1 hour -- then `FAILED_PRECONDITION` is returned.\nSee also the `Snapshot.expire_time` field. If the name is not provided in\nthe request, the server will assign a random\nname for this snapshot on the same project as the subscription, conforming\nto the [resource name format]\n(https://cloud.google.com/pubsub/docs/admin#resource_names). The\ngenerated name is populated in the returned Snapshot object. Note that for\nREST API requests, you must specify a name in the request.",
+              "description": "Creates a snapshot from the requested subscription. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. If the snapshot already exists, returns `ALREADY_EXISTS`. If the requested subscription doesn't exist, returns `NOT_FOUND`. If the backlog in the subscription is too old -- and the resulting snapshot would expire in less than 1 hour -- then `FAILED_PRECONDITION` is returned. See also the `Snapshot.expire_time` field. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription, conforming to the [resource name format] (https://cloud.google.com/pubsub/docs/admin#resource_names). The generated name is populated in the returned Snapshot object. Note that for REST API requests, you must specify a name in the request.",
               "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}",
               "httpMethod": "PUT",
               "id": "pubsub.projects.snapshots.create",
@@ -121,7 +121,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. User-provided name for this snapshot. If the name is not provided in the\nrequest, the server will assign a random name for this snapshot on the same\nproject as the subscription. Note that for REST API requests, you must\nspecify a name.  See the \u003ca\nhref=\"https://cloud.google.com/pubsub/docs/admin#resource_names\"\u003e resource\nname rules\u003c/a\u003e. Format is `projects/{project}/snapshots/{snap}`.",
+                  "description": "Required. User-provided name for this snapshot. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription. Note that for REST API requests, you must specify a name. See the resource name rules. Format is `projects/{project}/snapshots/{snap}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/snapshots/[^/]+$",
                   "required": true,
@@ -141,7 +141,7 @@
               ]
             },
             "delete": {
-              "description": "Removes an existing snapshot. Snapshots are used in [Seek]\n(https://cloud.google.com/pubsub/docs/replay-overview) operations, which\nallow you to manage message acknowledgments in bulk. That is, you can set\nthe acknowledgment state of messages in an existing subscription to the\nstate captured by a snapshot.\nWhen the snapshot is deleted, all messages retained in the snapshot\nare immediately dropped. After a snapshot is deleted, a new one may be\ncreated with the same name, but the new one has no association with the old\nsnapshot or its subscription, unless the same subscription is specified.",
+              "description": "Removes an existing snapshot. Snapshots are used in [Seek] (https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. When the snapshot is deleted, all messages retained in the snapshot are immediately dropped. After a snapshot is deleted, a new one may be created with the same name, but the new one has no association with the old snapshot or its subscription, unless the same subscription is specified.",
               "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}",
               "httpMethod": "DELETE",
               "id": "pubsub.projects.snapshots.delete",
@@ -150,7 +150,7 @@
               ],
               "parameters": {
                 "snapshot": {
-                  "description": "Required. The name of the snapshot to delete.\nFormat is `projects/{project}/snapshots/{snap}`.",
+                  "description": "Required. The name of the snapshot to delete. Format is `projects/{project}/snapshots/{snap}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/snapshots/[^/]+$",
                   "required": true,
@@ -167,7 +167,7 @@
               ]
             },
             "get": {
-              "description": "Gets the configuration details of a snapshot. Snapshots are used in\n\u003ca href=\"https://cloud.google.com/pubsub/docs/replay-overview\"\u003eSeek\u003c/a\u003e\noperations, which allow you to manage message acknowledgments in bulk. That\nis, you can set the acknowledgment state of messages in an existing\nsubscription to the state captured by a snapshot.",
+              "description": "Gets the configuration details of a snapshot. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.",
               "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}",
               "httpMethod": "GET",
               "id": "pubsub.projects.snapshots.get",
@@ -176,7 +176,7 @@
               ],
               "parameters": {
                 "snapshot": {
-                  "description": "Required. The name of the snapshot to get.\nFormat is `projects/{project}/snapshots/{snap}`.",
+                  "description": "Required. The name of the snapshot to get. Format is `projects/{project}/snapshots/{snap}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/snapshots/[^/]+$",
                   "required": true,
@@ -193,7 +193,7 @@
               ]
             },
             "getIamPolicy": {
-              "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
+              "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
               "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:getIamPolicy",
               "httpMethod": "GET",
               "id": "pubsub.projects.snapshots.getIamPolicy",
@@ -202,13 +202,13 @@
               ],
               "parameters": {
                 "options.requestedPolicyVersion": {
-                  "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+                  "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
                 },
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/snapshots/[^/]+$",
                   "required": true,
@@ -225,7 +225,7 @@
               ]
             },
             "list": {
-              "description": "Lists the existing snapshots. Snapshots are used in [Seek](\nhttps://cloud.google.com/pubsub/docs/replay-overview) operations, which\nallow you to manage message acknowledgments in bulk. That is, you can set\nthe acknowledgment state of messages in an existing subscription to the\nstate captured by a snapshot.",
+              "description": "Lists the existing snapshots. Snapshots are used in [Seek]( https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.",
               "flatPath": "v1/projects/{projectsId}/snapshots",
               "httpMethod": "GET",
               "id": "pubsub.projects.snapshots.list",
@@ -240,12 +240,12 @@
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "The value returned by the last `ListSnapshotsResponse`; indicates that this\nis a continuation of a prior `ListSnapshots` call, and that the system\nshould return the next page of data.",
+                  "description": "The value returned by the last `ListSnapshotsResponse`; indicates that this is a continuation of a prior `ListSnapshots` call, and that the system should return the next page of data.",
                   "location": "query",
                   "type": "string"
                 },
                 "project": {
-                  "description": "Required. The name of the project in which to list snapshots.\nFormat is `projects/{project-id}`.",
+                  "description": "Required. The name of the project in which to list snapshots. Format is `projects/{project-id}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
@@ -262,7 +262,7 @@
               ]
             },
             "patch": {
-              "description": "Updates an existing snapshot. Snapshots are used in\n\u003ca href=\"https://cloud.google.com/pubsub/docs/replay-overview\"\u003eSeek\u003c/a\u003e\noperations, which allow\nyou to manage message acknowledgments in bulk. That is, you can set the\nacknowledgment state of messages in an existing subscription to the state\ncaptured by a snapshot.",
+              "description": "Updates an existing snapshot. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.",
               "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}",
               "httpMethod": "PATCH",
               "id": "pubsub.projects.snapshots.patch",
@@ -291,7 +291,7 @@
               ]
             },
             "setIamPolicy": {
-              "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
+              "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
               "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:setIamPolicy",
               "httpMethod": "POST",
               "id": "pubsub.projects.snapshots.setIamPolicy",
@@ -300,7 +300,7 @@
               ],
               "parameters": {
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/snapshots/[^/]+$",
                   "required": true,
@@ -320,7 +320,7 @@
               ]
             },
             "testIamPermissions": {
-              "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+              "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
               "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:testIamPermissions",
               "httpMethod": "POST",
               "id": "pubsub.projects.snapshots.testIamPermissions",
@@ -329,7 +329,7 @@
               ],
               "parameters": {
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/snapshots/[^/]+$",
                   "required": true,
@@ -353,7 +353,7 @@
         "subscriptions": {
           "methods": {
             "acknowledge": {
-              "description": "Acknowledges the messages associated with the `ack_ids` in the\n`AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages\nfrom the subscription.\n\nAcknowledging a message whose ack deadline has expired may succeed,\nbut such a message may be redelivered later. Acknowledging a message more\nthan once will not result in an error.",
+              "description": "Acknowledges the messages associated with the `ack_ids` in the `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages from the subscription. Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error.",
               "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:acknowledge",
               "httpMethod": "POST",
               "id": "pubsub.projects.subscriptions.acknowledge",
@@ -362,7 +362,7 @@
               ],
               "parameters": {
                 "subscription": {
-                  "description": "Required. The subscription whose message is being acknowledged.\nFormat is `projects/{project}/subscriptions/{sub}`.",
+                  "description": "Required. The subscription whose message is being acknowledged. Format is `projects/{project}/subscriptions/{sub}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                   "required": true,
@@ -382,7 +382,7 @@
               ]
             },
             "create": {
-              "description": "Creates a subscription to a given topic. See the [resource name rules]\n(https://cloud.google.com/pubsub/docs/admin#resource_names).\nIf the subscription already exists, returns `ALREADY_EXISTS`.\nIf the corresponding topic doesn't exist, returns `NOT_FOUND`.\n\nIf the name is not provided in the request, the server will assign a random\nname for this subscription on the same project as the topic, conforming\nto the [resource name format]\n(https://cloud.google.com/pubsub/docs/admin#resource_names). The generated\nname is populated in the returned Subscription object. Note that for REST\nAPI requests, you must specify a name in the request.",
+              "description": "Creates a subscription to a given topic. See the [resource name rules] (https://cloud.google.com/pubsub/docs/admin#resource_names). If the subscription already exists, returns `ALREADY_EXISTS`. If the corresponding topic doesn't exist, returns `NOT_FOUND`. If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic, conforming to the [resource name format] (https://cloud.google.com/pubsub/docs/admin#resource_names). The generated name is populated in the returned Subscription object. Note that for REST API requests, you must specify a name in the request.",
               "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}",
               "httpMethod": "PUT",
               "id": "pubsub.projects.subscriptions.create",
@@ -391,7 +391,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. The name of the subscription. It must have the format\n`\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must\nstart with a letter, and contain only letters (`[A-Za-z]`), numbers\n(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),\nplus (`+`) or percent signs (`%`). It must be between 3 and 255 characters\nin length, and it must not start with `\"goog\"`.",
+                  "description": "Required. The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                   "required": true,
@@ -411,7 +411,7 @@
               ]
             },
             "delete": {
-              "description": "Deletes an existing subscription. All messages retained in the subscription\nare immediately dropped. Calls to `Pull` after deletion will return\n`NOT_FOUND`. After a subscription is deleted, a new one may be created with\nthe same name, but the new one has no association with the old\nsubscription or its topic unless the same topic is specified.",
+              "description": "Deletes an existing subscription. All messages retained in the subscription are immediately dropped. Calls to `Pull` after deletion will return `NOT_FOUND`. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription or its topic unless the same topic is specified.",
               "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}",
               "httpMethod": "DELETE",
               "id": "pubsub.projects.subscriptions.delete",
@@ -420,7 +420,7 @@
               ],
               "parameters": {
                 "subscription": {
-                  "description": "Required. The subscription to delete.\nFormat is `projects/{project}/subscriptions/{sub}`.",
+                  "description": "Required. The subscription to delete. Format is `projects/{project}/subscriptions/{sub}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                   "required": true,
@@ -437,7 +437,7 @@
               ]
             },
             "detach": {
-              "description": "Detaches a subscription from this topic. All messages retained in the\nsubscription are dropped. Subsequent `Pull` and `StreamingPull` requests\nwill return FAILED_PRECONDITION. If the subscription is a push\nsubscription, pushes to the endpoint will stop.",
+              "description": "Detaches a subscription from this topic. All messages retained in the subscription are dropped. Subsequent `Pull` and `StreamingPull` requests will return FAILED_PRECONDITION. If the subscription is a push subscription, pushes to the endpoint will stop.",
               "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:detach",
               "httpMethod": "POST",
               "id": "pubsub.projects.subscriptions.detach",
@@ -446,7 +446,7 @@
               ],
               "parameters": {
                 "subscription": {
-                  "description": "Required. The subscription to detach.\nFormat is `projects/{project}/subscriptions/{subscription}`.",
+                  "description": "Required. The subscription to detach. Format is `projects/{project}/subscriptions/{subscription}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                   "required": true,
@@ -472,7 +472,7 @@
               ],
               "parameters": {
                 "subscription": {
-                  "description": "Required. The name of the subscription to get.\nFormat is `projects/{project}/subscriptions/{sub}`.",
+                  "description": "Required. The name of the subscription to get. Format is `projects/{project}/subscriptions/{sub}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                   "required": true,
@@ -489,7 +489,7 @@
               ]
             },
             "getIamPolicy": {
-              "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
+              "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
               "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:getIamPolicy",
               "httpMethod": "GET",
               "id": "pubsub.projects.subscriptions.getIamPolicy",
@@ -498,13 +498,13 @@
               ],
               "parameters": {
                 "options.requestedPolicyVersion": {
-                  "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+                  "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
                 },
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                   "required": true,
@@ -536,12 +536,12 @@
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "The value returned by the last `ListSubscriptionsResponse`; indicates that\nthis is a continuation of a prior `ListSubscriptions` call, and that the\nsystem should return the next page of data.",
+                  "description": "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.",
                   "location": "query",
                   "type": "string"
                 },
                 "project": {
-                  "description": "Required. The name of the project in which to list subscriptions.\nFormat is `projects/{project-id}`.",
+                  "description": "Required. The name of the project in which to list subscriptions. Format is `projects/{project-id}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
@@ -558,7 +558,7 @@
               ]
             },
             "modifyAckDeadline": {
-              "description": "Modifies the ack deadline for a specific message. This method is useful\nto indicate that more time is needed to process a message by the\nsubscriber, or to make the message available for redelivery if the\nprocessing was interrupted. Note that this does not modify the\nsubscription-level `ackDeadlineSeconds` used for subsequent messages.",
+              "description": "Modifies the ack deadline for a specific message. This method is useful to indicate that more time is needed to process a message by the subscriber, or to make the message available for redelivery if the processing was interrupted. Note that this does not modify the subscription-level `ackDeadlineSeconds` used for subsequent messages.",
               "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyAckDeadline",
               "httpMethod": "POST",
               "id": "pubsub.projects.subscriptions.modifyAckDeadline",
@@ -567,7 +567,7 @@
               ],
               "parameters": {
                 "subscription": {
-                  "description": "Required. The name of the subscription.\nFormat is `projects/{project}/subscriptions/{sub}`.",
+                  "description": "Required. The name of the subscription. Format is `projects/{project}/subscriptions/{sub}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                   "required": true,
@@ -587,7 +587,7 @@
               ]
             },
             "modifyPushConfig": {
-              "description": "Modifies the `PushConfig` for a specified subscription.\n\nThis may be used to change a push subscription to a pull one (signified by\nan empty `PushConfig`) or vice versa, or change the endpoint URL and other\nattributes of a push subscription. Messages will accumulate for delivery\ncontinuously through the call regardless of changes to the `PushConfig`.",
+              "description": "Modifies the `PushConfig` for a specified subscription. This may be used to change a push subscription to a pull one (signified by an empty `PushConfig`) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the `PushConfig`.",
               "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyPushConfig",
               "httpMethod": "POST",
               "id": "pubsub.projects.subscriptions.modifyPushConfig",
@@ -596,7 +596,7 @@
               ],
               "parameters": {
                 "subscription": {
-                  "description": "Required. The name of the subscription.\nFormat is `projects/{project}/subscriptions/{sub}`.",
+                  "description": "Required. The name of the subscription. Format is `projects/{project}/subscriptions/{sub}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                   "required": true,
@@ -616,7 +616,7 @@
               ]
             },
             "patch": {
-              "description": "Updates an existing subscription. Note that certain properties of a\nsubscription, such as its topic, are not modifiable.",
+              "description": "Updates an existing subscription. Note that certain properties of a subscription, such as its topic, are not modifiable.",
               "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}",
               "httpMethod": "PATCH",
               "id": "pubsub.projects.subscriptions.patch",
@@ -625,7 +625,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. The name of the subscription. It must have the format\n`\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must\nstart with a letter, and contain only letters (`[A-Za-z]`), numbers\n(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),\nplus (`+`) or percent signs (`%`). It must be between 3 and 255 characters\nin length, and it must not start with `\"goog\"`.",
+                  "description": "Required. The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                   "required": true,
@@ -645,7 +645,7 @@
               ]
             },
             "pull": {
-              "description": "Pulls messages from the server. The server may return `UNAVAILABLE` if\nthere are too many concurrent pull requests pending for the given\nsubscription.",
+              "description": "Pulls messages from the server. The server may return `UNAVAILABLE` if there are too many concurrent pull requests pending for the given subscription.",
               "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:pull",
               "httpMethod": "POST",
               "id": "pubsub.projects.subscriptions.pull",
@@ -654,7 +654,7 @@
               ],
               "parameters": {
                 "subscription": {
-                  "description": "Required. The subscription from which messages should be pulled.\nFormat is `projects/{project}/subscriptions/{sub}`.",
+                  "description": "Required. The subscription from which messages should be pulled. Format is `projects/{project}/subscriptions/{sub}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                   "required": true,
@@ -674,7 +674,7 @@
               ]
             },
             "seek": {
-              "description": "Seeks an existing subscription to a point in time or to a given snapshot,\nwhichever is provided in the request. Snapshots are used in [Seek](\nhttps://cloud.google.com/pubsub/docs/replay-overview) operations, which\nallow you to manage message acknowledgments in bulk. That is, you can set\nthe acknowledgment state of messages in an existing subscription to the\nstate captured by a snapshot. Note that both the subscription and the\nsnapshot must be on the same topic.",
+              "description": "Seeks an existing subscription to a point in time or to a given snapshot, whichever is provided in the request. Snapshots are used in [Seek]( https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. Note that both the subscription and the snapshot must be on the same topic.",
               "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:seek",
               "httpMethod": "POST",
               "id": "pubsub.projects.subscriptions.seek",
@@ -703,7 +703,7 @@
               ]
             },
             "setIamPolicy": {
-              "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
+              "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
               "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:setIamPolicy",
               "httpMethod": "POST",
               "id": "pubsub.projects.subscriptions.setIamPolicy",
@@ -712,7 +712,7 @@
               ],
               "parameters": {
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                   "required": true,
@@ -732,7 +732,7 @@
               ]
             },
             "testIamPermissions": {
-              "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+              "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
               "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:testIamPermissions",
               "httpMethod": "POST",
               "id": "pubsub.projects.subscriptions.testIamPermissions",
@@ -741,7 +741,7 @@
               ],
               "parameters": {
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                   "required": true,
@@ -765,7 +765,7 @@
         "topics": {
           "methods": {
             "create": {
-              "description": "Creates the given topic with the given name. See the [resource name rules](\nhttps://cloud.google.com/pubsub/docs/admin#resource_names).",
+              "description": "Creates the given topic with the given name. See the [resource name rules]( https://cloud.google.com/pubsub/docs/admin#resource_names).",
               "flatPath": "v1/projects/{projectsId}/topics/{topicsId}",
               "httpMethod": "PUT",
               "id": "pubsub.projects.topics.create",
@@ -774,7 +774,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. The name of the topic. It must have the format\n`\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter,\nand contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),\nunderscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent\nsigns (`%`). It must be between 3 and 255 characters in length, and it\nmust not start with `\"goog\"`.",
+                  "description": "Required. The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/topics/[^/]+$",
                   "required": true,
@@ -794,7 +794,7 @@
               ]
             },
             "delete": {
-              "description": "Deletes the topic with the given name. Returns `NOT_FOUND` if the topic\ndoes not exist. After a topic is deleted, a new topic may be created with\nthe same name; this is an entirely new topic with none of the old\nconfiguration or subscriptions. Existing subscriptions to this topic are\nnot deleted, but their `topic` field is set to `_deleted-topic_`.",
+              "description": "Deletes the topic with the given name. Returns `NOT_FOUND` if the topic does not exist. After a topic is deleted, a new topic may be created with the same name; this is an entirely new topic with none of the old configuration or subscriptions. Existing subscriptions to this topic are not deleted, but their `topic` field is set to `_deleted-topic_`.",
               "flatPath": "v1/projects/{projectsId}/topics/{topicsId}",
               "httpMethod": "DELETE",
               "id": "pubsub.projects.topics.delete",
@@ -803,7 +803,7 @@
               ],
               "parameters": {
                 "topic": {
-                  "description": "Required. Name of the topic to delete.\nFormat is `projects/{project}/topics/{topic}`.",
+                  "description": "Required. Name of the topic to delete. Format is `projects/{project}/topics/{topic}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/topics/[^/]+$",
                   "required": true,
@@ -829,7 +829,7 @@
               ],
               "parameters": {
                 "topic": {
-                  "description": "Required. The name of the topic to get.\nFormat is `projects/{project}/topics/{topic}`.",
+                  "description": "Required. The name of the topic to get. Format is `projects/{project}/topics/{topic}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/topics/[^/]+$",
                   "required": true,
@@ -846,7 +846,7 @@
               ]
             },
             "getIamPolicy": {
-              "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
+              "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
               "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:getIamPolicy",
               "httpMethod": "GET",
               "id": "pubsub.projects.topics.getIamPolicy",
@@ -855,13 +855,13 @@
               ],
               "parameters": {
                 "options.requestedPolicyVersion": {
-                  "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+                  "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
                 },
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/topics/[^/]+$",
                   "required": true,
@@ -893,12 +893,12 @@
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "The value returned by the last `ListTopicsResponse`; indicates that this is\na continuation of a prior `ListTopics` call, and that the system should\nreturn the next page of data.",
+                  "description": "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.",
                   "location": "query",
                   "type": "string"
                 },
                 "project": {
-                  "description": "Required. The name of the project in which to list topics.\nFormat is `projects/{project-id}`.",
+                  "description": "Required. The name of the project in which to list topics. Format is `projects/{project-id}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
@@ -915,7 +915,7 @@
               ]
             },
             "patch": {
-              "description": "Updates an existing topic. Note that certain properties of a\ntopic are not modifiable.",
+              "description": "Updates an existing topic. Note that certain properties of a topic are not modifiable.",
               "flatPath": "v1/projects/{projectsId}/topics/{topicsId}",
               "httpMethod": "PATCH",
               "id": "pubsub.projects.topics.patch",
@@ -924,7 +924,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. The name of the topic. It must have the format\n`\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter,\nand contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),\nunderscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent\nsigns (`%`). It must be between 3 and 255 characters in length, and it\nmust not start with `\"goog\"`.",
+                  "description": "Required. The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/topics/[^/]+$",
                   "required": true,
@@ -944,7 +944,7 @@
               ]
             },
             "publish": {
-              "description": "Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic\ndoes not exist.",
+              "description": "Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic does not exist.",
               "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:publish",
               "httpMethod": "POST",
               "id": "pubsub.projects.topics.publish",
@@ -953,7 +953,7 @@
               ],
               "parameters": {
                 "topic": {
-                  "description": "Required. The messages in the request will be published on this topic.\nFormat is `projects/{project}/topics/{topic}`.",
+                  "description": "Required. The messages in the request will be published on this topic. Format is `projects/{project}/topics/{topic}`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/topics/[^/]+$",
                   "required": true,
@@ -973,7 +973,7 @@
               ]
             },
             "setIamPolicy": {
-              "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
+              "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
               "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:setIamPolicy",
               "httpMethod": "POST",
               "id": "pubsub.projects.topics.setIamPolicy",
@@ -982,7 +982,7 @@
               ],
               "parameters": {
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/topics/[^/]+$",
                   "required": true,
@@ -1002,7 +1002,7 @@
               ]
             },
             "testIamPermissions": {
-              "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+              "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
               "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:testIamPermissions",
               "httpMethod": "POST",
               "id": "pubsub.projects.topics.testIamPermissions",
@@ -1011,7 +1011,7 @@
               ],
               "parameters": {
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/topics/[^/]+$",
                   "required": true,
@@ -1035,7 +1035,7 @@
             "snapshots": {
               "methods": {
                 "list": {
-                  "description": "Lists the names of the snapshots on this topic. Snapshots are used in\n[Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations,\nwhich allow you to manage message acknowledgments in bulk. That is, you can\nset the acknowledgment state of messages in an existing subscription to the\nstate captured by a snapshot.",
+                  "description": "Lists the names of the snapshots on this topic. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.",
                   "flatPath": "v1/projects/{projectsId}/topics/{topicsId}/snapshots",
                   "httpMethod": "GET",
                   "id": "pubsub.projects.topics.snapshots.list",
@@ -1050,12 +1050,12 @@
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "The value returned by the last `ListTopicSnapshotsResponse`; indicates\nthat this is a continuation of a prior `ListTopicSnapshots` call, and\nthat the system should return the next page of data.",
+                      "description": "The value returned by the last `ListTopicSnapshotsResponse`; indicates that this is a continuation of a prior `ListTopicSnapshots` call, and that the system should return the next page of data.",
                       "location": "query",
                       "type": "string"
                     },
                     "topic": {
-                      "description": "Required. The name of the topic that snapshots are attached to.\nFormat is `projects/{project}/topics/{topic}`.",
+                      "description": "Required. The name of the topic that snapshots are attached to. Format is `projects/{project}/topics/{topic}`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/topics/[^/]+$",
                       "required": true,
@@ -1091,12 +1091,12 @@
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "The value returned by the last `ListTopicSubscriptionsResponse`; indicates\nthat this is a continuation of a prior `ListTopicSubscriptions` call, and\nthat the system should return the next page of data.",
+                      "description": "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.",
                       "location": "query",
                       "type": "string"
                     },
                     "topic": {
-                      "description": "Required. The name of the topic that subscriptions are attached to.\nFormat is `projects/{project}/topics/{topic}`.",
+                      "description": "Required. The name of the topic that subscriptions are attached to. Format is `projects/{project}/topics/{topic}`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/topics/[^/]+$",
                       "required": true,
@@ -1119,7 +1119,7 @@
       }
     }
   },
-  "revision": "20200731",
+  "revision": "20200807",
   "rootUrl": "https://pubsub.googleapis.com/",
   "schemas": {
     "AcknowledgeRequest": {
@@ -1127,7 +1127,7 @@
       "id": "AcknowledgeRequest",
       "properties": {
         "ackIds": {
-          "description": "Required. The acknowledgment ID for the messages being acknowledged that was returned\nby the Pub/Sub system in the `Pull` response. Must not be empty.",
+          "description": "Required. The acknowledgment ID for the messages being acknowledged that was returned by the Pub/Sub system in the `Pull` response. Must not be empty.",
           "items": {
             "type": "string"
           },
@@ -1142,17 +1142,17 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
           "type": "string"
         }
       },
@@ -1166,26 +1166,26 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "See \u003ca href=\"https://cloud.google.com/pubsub/docs/labels\"\u003e Creating and\nmanaging labels\u003c/a\u003e.",
+          "description": "See Creating and managing labels.",
           "type": "object"
         },
         "subscription": {
-          "description": "Required. The subscription whose backlog the snapshot retains.\nSpecifically, the created snapshot is guaranteed to retain:\n (a) The existing backlog on the subscription. More precisely, this is\n     defined as the messages in the subscription's backlog that are\n     unacknowledged upon the successful completion of the\n     `CreateSnapshot` request; as well as:\n (b) Any messages published to the subscription's topic following the\n     successful completion of the CreateSnapshot request.\nFormat is `projects/{project}/subscriptions/{sub}`.",
+          "description": "Required. The subscription whose backlog the snapshot retains. Specifically, the created snapshot is guaranteed to retain: (a) The existing backlog on the subscription. More precisely, this is defined as the messages in the subscription's backlog that are unacknowledged upon the successful completion of the `CreateSnapshot` request; as well as: (b) Any messages published to the subscription's topic following the successful completion of the CreateSnapshot request. Format is `projects/{project}/subscriptions/{sub}`.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "DeadLetterPolicy": {
-      "description": "Dead lettering is done on a best effort basis. The same message might be\ndead lettered multiple times.\n\nIf validation on any of the fields fails at subscription creation/updation,\nthe create/update subscription request will fail.",
+      "description": "Dead lettering is done on a best effort basis. The same message might be dead lettered multiple times. If validation on any of the fields fails at subscription creation/updation, the create/update subscription request will fail.",
       "id": "DeadLetterPolicy",
       "properties": {
         "deadLetterTopic": {
-          "description": "The name of the topic to which dead letter messages should be published.\nFormat is `projects/{project}/topics/{topic}`.The Cloud Pub/Sub service\naccount associated with the enclosing subscription's parent project (i.e.,\nservice-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have\npermission to Publish() to this topic.\n\nThe operation will fail if the topic does not exist.\nUsers should ensure that there is a subscription attached to this topic\nsince messages published to a topic with no subscriptions are lost.",
+          "description": "The name of the topic to which dead letter messages should be published. Format is `projects/{project}/topics/{topic}`.The Cloud Pub/Sub service account associated with the enclosing subscription's parent project (i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have permission to Publish() to this topic. The operation will fail if the topic does not exist. Users should ensure that there is a subscription attached to this topic since messages published to a topic with no subscriptions are lost.",
           "type": "string"
         },
         "maxDeliveryAttempts": {
-          "description": "The maximum number of delivery attempts for any message. The value must be\nbetween 5 and 100.\n\nThe number of delivery attempts is defined as 1 + (the sum of number of\nNACKs and number of times the acknowledgement deadline has been exceeded\nfor the message).\n\nA NACK is any call to ModifyAckDeadline with a 0 deadline. Note that\nclient libraries may automatically extend ack_deadlines.\n\nThis field will be honored on a best effort basis.\n\nIf this parameter is 0, a default value of 5 is used.",
+          "description": "The maximum number of delivery attempts for any message. The value must be between 5 and 100. The number of delivery attempts is defined as 1 + (the sum of number of NACKs and number of times the acknowledgement deadline has been exceeded for the message). A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that client libraries may automatically extend ack_deadlines. This field will be honored on a best effort basis. If this parameter is 0, a default value of 5 is used.",
           "format": "int32",
           "type": "integer"
         }
@@ -1193,23 +1193,23 @@
       "type": "object"
     },
     "DetachSubscriptionResponse": {
-      "description": "Response for the DetachSubscription method.\nReserved for future use.",
+      "description": "Response for the DetachSubscription method. Reserved for future use.",
       "id": "DetachSubscriptionResponse",
       "properties": {},
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
     },
     "ExpirationPolicy": {
-      "description": "A policy that specifies the conditions for resource expiration (i.e.,\nautomatic resource deletion).",
+      "description": "A policy that specifies the conditions for resource expiration (i.e., automatic resource deletion).",
       "id": "ExpirationPolicy",
       "properties": {
         "ttl": {
-          "description": "Specifies the \"time-to-live\" duration for an associated resource. The\nresource expires if it is not active for a period of `ttl`. The definition\nof \"activity\" depends on the type of the associated resource. The minimum\nand maximum allowed values for `ttl` depend on the type of the associated\nresource, as well. If `ttl` is not set, the associated resource never\nexpires.",
+          "description": "Specifies the \"time-to-live\" duration for an associated resource. The resource expires if it is not active for a period of `ttl`. The definition of \"activity\" depends on the type of the associated resource. The minimum and maximum allowed values for `ttl` depend on the type of the associated resource, as well. If `ttl` is not set, the associated resource never expires.",
           "format": "google-duration",
           "type": "string"
         }
@@ -1217,23 +1217,23 @@
       "type": "object"
     },
     "Expr": {
-      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
+      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
       "id": "Expr",
       "properties": {
         "description": {
-          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
+          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
           "type": "string"
         },
         "expression": {
-          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
+          "description": "Textual representation of an expression in Common Expression Language syntax.",
           "type": "string"
         },
         "location": {
-          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
+          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
           "type": "string"
         },
         "title": {
-          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
+          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
           "type": "string"
         }
       },
@@ -1244,7 +1244,7 @@
       "id": "ListSnapshotsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "If not empty, indicates that there may be more snapshot that match the\nrequest; this value should be passed in a new `ListSnapshotsRequest`.",
+          "description": "If not empty, indicates that there may be more snapshot that match the request; this value should be passed in a new `ListSnapshotsRequest`.",
           "type": "string"
         },
         "snapshots": {
@@ -1262,7 +1262,7 @@
       "id": "ListSubscriptionsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "If not empty, indicates that there may be more subscriptions that match\nthe request; this value should be passed in a new\n`ListSubscriptionsRequest` to get more subscriptions.",
+          "description": "If not empty, indicates that there may be more subscriptions that match the request; this value should be passed in a new `ListSubscriptionsRequest` to get more subscriptions.",
           "type": "string"
         },
         "subscriptions": {
@@ -1280,7 +1280,7 @@
       "id": "ListTopicSnapshotsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "If not empty, indicates that there may be more snapshots that match\nthe request; this value should be passed in a new\n`ListTopicSnapshotsRequest` to get more snapshots.",
+          "description": "If not empty, indicates that there may be more snapshots that match the request; this value should be passed in a new `ListTopicSnapshotsRequest` to get more snapshots.",
           "type": "string"
         },
         "snapshots": {
@@ -1298,7 +1298,7 @@
       "id": "ListTopicSubscriptionsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "If not empty, indicates that there may be more subscriptions that match\nthe request; this value should be passed in a new\n`ListTopicSubscriptionsRequest` to get more subscriptions.",
+          "description": "If not empty, indicates that there may be more subscriptions that match the request; this value should be passed in a new `ListTopicSubscriptionsRequest` to get more subscriptions.",
           "type": "string"
         },
         "subscriptions": {
@@ -1316,7 +1316,7 @@
       "id": "ListTopicsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "If not empty, indicates that there may be more topics that match the\nrequest; this value should be passed in a new `ListTopicsRequest`.",
+          "description": "If not empty, indicates that there may be more topics that match the request; this value should be passed in a new `ListTopicsRequest`.",
           "type": "string"
         },
         "topics": {
@@ -1334,7 +1334,7 @@
       "id": "MessageStoragePolicy",
       "properties": {
         "allowedPersistenceRegions": {
-          "description": "A list of IDs of GCP regions where messages that are published to the topic\nmay be persisted in storage. Messages published by publishers running in\nnon-allowed GCP regions (or running outside of GCP altogether) will be\nrouted for storage in one of the allowed regions. An empty list means that\nno regions are allowed, and is not a valid configuration.",
+          "description": "A list of IDs of GCP regions where messages that are published to the topic may be persisted in storage. Messages published by publishers running in non-allowed GCP regions (or running outside of GCP altogether) will be routed for storage in one of the allowed regions. An empty list means that no regions are allowed, and is not a valid configuration.",
           "items": {
             "type": "string"
           },
@@ -1348,7 +1348,7 @@
       "id": "ModifyAckDeadlineRequest",
       "properties": {
         "ackDeadlineSeconds": {
-          "description": "Required. The new ack deadline with respect to the time this request was sent to\nthe Pub/Sub system. For example, if the value is 10, the new\nack deadline will expire 10 seconds after the `ModifyAckDeadline` call\nwas made. Specifying zero might immediately make the message available for\ndelivery to another subscriber client. This typically results in an\nincrease in the rate of message redeliveries (that is, duplicates).\nThe minimum deadline you can specify is 0 seconds.\nThe maximum deadline you can specify is 600 seconds (10 minutes).",
+          "description": "Required. The new ack deadline with respect to the time this request was sent to the Pub/Sub system. For example, if the value is 10, the new ack deadline will expire 10 seconds after the `ModifyAckDeadline` call was made. Specifying zero might immediately make the message available for delivery to another subscriber client. This typically results in an increase in the rate of message redeliveries (that is, duplicates). The minimum deadline you can specify is 0 seconds. The maximum deadline you can specify is 600 seconds (10 minutes).",
           "format": "int32",
           "type": "integer"
         },
@@ -1368,44 +1368,44 @@
       "properties": {
         "pushConfig": {
           "$ref": "PushConfig",
-          "description": "Required. The push configuration for future deliveries.\n\nAn empty `pushConfig` indicates that the Pub/Sub system should\nstop pushing messages from the given subscription and allow\nmessages to be pulled and acknowledged - effectively pausing\nthe subscription if `Pull` or `StreamingPull` is not called."
+          "description": "Required. The push configuration for future deliveries. An empty `pushConfig` indicates that the Pub/Sub system should stop pushing messages from the given subscription and allow messages to be pulled and acknowledged - effectively pausing the subscription if `Pull` or `StreamingPull` is not called."
         }
       },
       "type": "object"
     },
     "OidcToken": {
-      "description": "Contains information needed for generating an\n[OpenID Connect\ntoken](https://developers.google.com/identity/protocols/OpenIDConnect).",
+      "description": "Contains information needed for generating an [OpenID Connect token](https://developers.google.com/identity/protocols/OpenIDConnect).",
       "id": "OidcToken",
       "properties": {
         "audience": {
-          "description": "Audience to be used when generating OIDC token. The audience claim\nidentifies the recipients that the JWT is intended for. The audience\nvalue is a single case-sensitive string. Having multiple values (array)\nfor the audience field is not supported. More info about the OIDC JWT\ntoken audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3\nNote: if not specified, the Push endpoint URL will be used.",
+          "description": "Audience to be used when generating OIDC token. The audience claim identifies the recipients that the JWT is intended for. The audience value is a single case-sensitive string. Having multiple values (array) for the audience field is not supported. More info about the OIDC JWT token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3 Note: if not specified, the Push endpoint URL will be used.",
           "type": "string"
         },
         "serviceAccountEmail": {
-          "description": "[Service account\nemail](https://cloud.google.com/iam/docs/service-accounts)\nto be used for generating the OIDC token. The caller (for\nCreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must\nhave the iam.serviceAccounts.actAs permission for the service account.",
+          "description": "[Service account email](https://cloud.google.com/iam/docs/service-accounts) to be used for generating the OIDC token. The caller (for CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must have the iam.serviceAccounts.actAs permission for the service account.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\n            \"user:eve@example.com\"\n          ],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "bindings": {
-          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
+          "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.",
           "items": {
             "$ref": "Binding"
           },
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
           "format": "byte",
           "type": "string"
         },
         "version": {
-          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -1431,7 +1431,7 @@
       "id": "PublishResponse",
       "properties": {
         "messageIds": {
-          "description": "The server-assigned ID of each published message, in the same order as\nthe messages in the request. IDs are guaranteed to be unique within\nthe topic.",
+          "description": "The server-assigned ID of each published message, in the same order as the messages in the request. IDs are guaranteed to be unique within the topic.",
           "items": {
             "type": "string"
           },
@@ -1441,31 +1441,31 @@
       "type": "object"
     },
     "PubsubMessage": {
-      "description": "A message that is published by publishers and consumed by subscribers. The\nmessage must contain either a non-empty data field or at least one attribute.\nNote that client libraries represent this object differently\ndepending on the language. See the corresponding [client library\ndocumentation](https://cloud.google.com/pubsub/docs/reference/libraries) for\nmore information. See [quotas and limits]\n(https://cloud.google.com/pubsub/quotas) for more information about message\nlimits.",
+      "description": "A message that is published by publishers and consumed by subscribers. The message must contain either a non-empty data field or at least one attribute. Note that client libraries represent this object differently depending on the language. See the corresponding [client library documentation](https://cloud.google.com/pubsub/docs/reference/libraries) for more information. See [quotas and limits] (https://cloud.google.com/pubsub/quotas) for more information about message limits.",
       "id": "PubsubMessage",
       "properties": {
         "attributes": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Attributes for this message. If this field is empty, the message must\ncontain non-empty data. This can be used to filter messages on the\nsubscription.",
+          "description": "Attributes for this message. If this field is empty, the message must contain non-empty data. This can be used to filter messages on the subscription.",
           "type": "object"
         },
         "data": {
-          "description": "The message data field. If this field is empty, the message must contain\nat least one attribute.",
+          "description": "The message data field. If this field is empty, the message must contain at least one attribute.",
           "format": "byte",
           "type": "string"
         },
         "messageId": {
-          "description": "ID of this message, assigned by the server when the message is published.\nGuaranteed to be unique within the topic. This value may be read by a\nsubscriber that receives a `PubsubMessage` via a `Pull` call or a push\ndelivery. It must not be populated by the publisher in a `Publish` call.",
+          "description": "ID of this message, assigned by the server when the message is published. Guaranteed to be unique within the topic. This value may be read by a subscriber that receives a `PubsubMessage` via a `Pull` call or a push delivery. It must not be populated by the publisher in a `Publish` call.",
           "type": "string"
         },
         "orderingKey": {
-          "description": "If non-empty, identifies related messages for which publish order should be\nrespected. If a `Subscription` has `enable_message_ordering` set to `true`,\nmessages published with the same non-empty `ordering_key` value will be\ndelivered to subscribers in the order in which they are received by the\nPub/Sub system. All `PubsubMessage`s published in a given `PublishRequest`\nmust specify the same `ordering_key` value.",
+          "description": "If non-empty, identifies related messages for which publish order should be respected. If a `Subscription` has `enable_message_ordering` set to `true`, messages published with the same non-empty `ordering_key` value will be delivered to subscribers in the order in which they are received by the Pub/Sub system. All `PubsubMessage`s published in a given `PublishRequest` must specify the same `ordering_key` value.",
           "type": "string"
         },
         "publishTime": {
-          "description": "The time at which the message was published, populated by the server when\nit receives the `Publish` call. It must not be populated by the\npublisher in a `Publish` call.",
+          "description": "The time at which the message was published, populated by the server when it receives the `Publish` call. It must not be populated by the publisher in a `Publish` call.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -1477,12 +1477,12 @@
       "id": "PullRequest",
       "properties": {
         "maxMessages": {
-          "description": "Required. The maximum number of messages to return for this request. Must be a\npositive integer. The Pub/Sub system may return fewer than the number\nspecified.",
+          "description": "Required. The maximum number of messages to return for this request. Must be a positive integer. The Pub/Sub system may return fewer than the number specified.",
           "format": "int32",
           "type": "integer"
         },
         "returnImmediately": {
-          "description": "Optional. If this field set to true, the system will respond immediately even if\nit there are no messages available to return in the `Pull` response.\nOtherwise, the system may wait (for a bounded amount of time) until at\nleast one message is available, rather than returning no messages. Warning:\nsetting this field to `true` is discouraged because it adversely impacts\nthe performance of `Pull` operations. We recommend that users do not set\nthis field.",
+          "description": "Optional. If this field set to true, the system will respond immediately even if it there are no messages available to return in the `Pull` response. Otherwise, the system may wait (for a bounded amount of time) until at least one message is available, rather than returning no messages. Warning: setting this field to `true` is discouraged because it adversely impacts the performance of `Pull` operations. We recommend that users do not set this field.",
           "type": "boolean"
         }
       },
@@ -1493,7 +1493,7 @@
       "id": "PullResponse",
       "properties": {
         "receivedMessages": {
-          "description": "Received Pub/Sub messages. The list will be empty if there are no more\nmessages available in the backlog. For JSON, the response can be entirely\nempty. The Pub/Sub system may return fewer than the `maxMessages` requested\neven if there are more messages available in the backlog.",
+          "description": "Received Pub/Sub messages. The list will be empty if there are no more messages available in the backlog. For JSON, the response can be entirely empty. The Pub/Sub system may return fewer than the `maxMessages` requested even if there are more messages available in the backlog.",
           "items": {
             "$ref": "ReceivedMessage"
           },
@@ -1510,15 +1510,15 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Endpoint configuration attributes that can be used to control different\naspects of the message delivery.\n\nThe only currently supported attribute is `x-goog-version`, which you can\nuse to change the format of the pushed message. This attribute\nindicates the version of the data expected by the endpoint. This\ncontrols the shape of the pushed message (i.e., its fields and metadata).\n\nIf not present during the `CreateSubscription` call, it will default to\nthe version of the Pub/Sub API used to make such call. If not present in a\n`ModifyPushConfig` call, its value will not be changed. `GetSubscription`\ncalls will always return a valid version, even if the subscription was\ncreated without this attribute.\n\nThe only supported values for the `x-goog-version` attribute are:\n\n* `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.\n* `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.\n\nFor example:\n\u003cpre\u003e\u003ccode\u003eattributes { \"x-goog-version\": \"v1\" } \u003c/code\u003e\u003c/pre\u003e",
+          "description": "Endpoint configuration attributes that can be used to control different aspects of the message delivery. The only currently supported attribute is `x-goog-version`, which you can use to change the format of the pushed message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the pushed message (i.e., its fields and metadata). If not present during the `CreateSubscription` call, it will default to the version of the Pub/Sub API used to make such call. If not present in a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The only supported values for the `x-goog-version` attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API. For example: attributes { \"x-goog-version\": \"v1\" } ",
           "type": "object"
         },
         "oidcToken": {
           "$ref": "OidcToken",
-          "description": "If specified, Pub/Sub will generate and attach an OIDC JWT token as an\n`Authorization` header in the HTTP request for every pushed message."
+          "description": "If specified, Pub/Sub will generate and attach an OIDC JWT token as an `Authorization` header in the HTTP request for every pushed message."
         },
         "pushEndpoint": {
-          "description": "A URL locating the endpoint to which messages should be pushed.\nFor example, a Webhook endpoint might use `https://example.com/push`.",
+          "description": "A URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might use `https://example.com/push`.",
           "type": "string"
         }
       },
@@ -1533,7 +1533,7 @@
           "type": "string"
         },
         "deliveryAttempt": {
-          "description": "The approximate number of times that Cloud Pub/Sub has attempted to deliver\nthe associated message to a subscriber.\n\nMore precisely, this is 1 + (number of NACKs) +\n(number of ack_deadline exceeds) for this message.\n\nA NACK is any call to ModifyAckDeadline with a 0 deadline. An ack_deadline\nexceeds event is whenever a message is not acknowledged within\nack_deadline. Note that ack_deadline is initially\nSubscription.ackDeadlineSeconds, but may get extended automatically by\nthe client library.\n\nUpon the first delivery of a given message, `delivery_attempt` will have a\nvalue of 1. The value is calculated at best effort and is approximate.\n\nIf a DeadLetterPolicy is not set on the subscription, this will be 0.",
+          "description": "The approximate number of times that Cloud Pub/Sub has attempted to deliver the associated message to a subscriber. More precisely, this is 1 + (number of NACKs) + (number of ack_deadline exceeds) for this message. A NACK is any call to ModifyAckDeadline with a 0 deadline. An ack_deadline exceeds event is whenever a message is not acknowledged within ack_deadline. Note that ack_deadline is initially Subscription.ackDeadlineSeconds, but may get extended automatically by the client library. Upon the first delivery of a given message, `delivery_attempt` will have a value of 1. The value is calculated at best effort and is approximate. If a DeadLetterPolicy is not set on the subscription, this will be 0.",
           "format": "int32",
           "type": "integer"
         },
@@ -1545,16 +1545,16 @@
       "type": "object"
     },
     "RetryPolicy": {
-      "description": "A policy that specifies how Cloud Pub/Sub retries message delivery.\n\nRetry delay will be exponential based on provided minimum and maximum\nbackoffs. https://en.wikipedia.org/wiki/Exponential_backoff.\n\nRetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded\nevents for a given message.\n\nRetry Policy is implemented on a best effort basis. At times, the delay\nbetween consecutive deliveries may not match the configuration. That is,\ndelay can be more or less than configured backoff.",
+      "description": "A policy that specifies how Cloud Pub/Sub retries message delivery. Retry delay will be exponential based on provided minimum and maximum backoffs. https://en.wikipedia.org/wiki/Exponential_backoff. RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded events for a given message. Retry Policy is implemented on a best effort basis. At times, the delay between consecutive deliveries may not match the configuration. That is, delay can be more or less than configured backoff.",
       "id": "RetryPolicy",
       "properties": {
         "maximumBackoff": {
-          "description": "The maximum delay between consecutive deliveries of a given message.\nValue should be between 0 and 600 seconds. Defaults to 600 seconds.",
+          "description": "The maximum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 600 seconds.",
           "format": "google-duration",
           "type": "string"
         },
         "minimumBackoff": {
-          "description": "The minimum delay between consecutive deliveries of a given message.\nValue should be between 0 and 600 seconds. Defaults to 10 seconds.",
+          "description": "The minimum delay between consecutive deliveries of a given message. Value should be between 0 and 600 seconds. Defaults to 10 seconds.",
           "format": "google-duration",
           "type": "string"
         }
@@ -1566,11 +1566,11 @@
       "id": "SeekRequest",
       "properties": {
         "snapshot": {
-          "description": "The snapshot to seek to. The snapshot's topic must be the same as that of\nthe provided subscription.\nFormat is `projects/{project}/snapshots/{snap}`.",
+          "description": "The snapshot to seek to. The snapshot's topic must be the same as that of the provided subscription. Format is `projects/{project}/snapshots/{snap}`.",
           "type": "string"
         },
         "time": {
-          "description": "The time to seek to.\nMessages retained in the subscription that were published before this\ntime are marked as acknowledged, and messages retained in the\nsubscription that were published after this time are marked as\nunacknowledged. Note that this operation affects only those messages\nretained in the subscription (configured by the combination of\n`message_retention_duration` and `retain_acked_messages`). For example,\nif `time` corresponds to a point before the message retention\nwindow (or to a point before the system's notion of the subscription\ncreation time), only retained messages will be marked as unacknowledged,\nand already-expunged messages will not be restored.",
+          "description": "The time to seek to. Messages retained in the subscription that were published before this time are marked as acknowledged, and messages retained in the subscription that were published after this time are marked as unacknowledged. Note that this operation affects only those messages retained in the subscription (configured by the combination of `message_retention_duration` and `retain_acked_messages`). For example, if `time` corresponds to a point before the message retention window (or to a point before the system's notion of the subscription creation time), only retained messages will be marked as unacknowledged, and already-expunged messages will not be restored.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -1589,17 +1589,17 @@
       "properties": {
         "policy": {
           "$ref": "Policy",
-          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
+          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them."
         }
       },
       "type": "object"
     },
     "Snapshot": {
-      "description": "A snapshot resource. Snapshots are used in\n[Seek](https://cloud.google.com/pubsub/docs/replay-overview)\noperations, which allow you to manage message acknowledgments in bulk. That\nis, you can set the acknowledgment state of messages in an existing\nsubscription to the state captured by a snapshot.",
+      "description": "A snapshot resource. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.",
       "id": "Snapshot",
       "properties": {
         "expireTime": {
-          "description": "The snapshot is guaranteed to exist up until this time.\nA newly-created snapshot expires no later than 7 days from the time of its\ncreation. Its exact lifetime is determined at creation by the existing\nbacklog in the source subscription. Specifically, the lifetime of the\nsnapshot is `7 days - (age of oldest unacked message in the subscription)`.\nFor example, consider a subscription whose oldest unacked message is 3 days\nold. If a snapshot is created from this subscription, the snapshot -- which\nwill always capture this 3-day-old backlog as long as the snapshot\nexists -- will expire in 4 days. The service will refuse to create a\nsnapshot that would expire in less than 1 hour after creation.",
+          "description": "The snapshot is guaranteed to exist up until this time. A newly-created snapshot expires no later than 7 days from the time of its creation. Its exact lifetime is determined at creation by the existing backlog in the source subscription. Specifically, the lifetime of the snapshot is `7 days - (age of oldest unacked message in the subscription)`. For example, consider a subscription whose oldest unacked message is 3 days old. If a snapshot is created from this subscription, the snapshot -- which will always capture this 3-day-old backlog as long as the snapshot exists -- will expire in 4 days. The service will refuse to create a snapshot that would expire in less than 1 hour after creation.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -1607,7 +1607,7 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "See [Creating and managing labels]\n(https://cloud.google.com/pubsub/docs/labels).",
+          "description": "See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels).",
           "type": "object"
         },
         "name": {
@@ -1626,60 +1626,60 @@
       "id": "Subscription",
       "properties": {
         "ackDeadlineSeconds": {
-          "description": "The approximate amount of time (on a best-effort basis) Pub/Sub waits for\nthe subscriber to acknowledge receipt before resending the message. In the\ninterval after the message is delivered and before it is acknowledged, it\nis considered to be \u003ci\u003eoutstanding\u003c/i\u003e. During that time period, the\nmessage will not be redelivered (on a best-effort basis).\n\nFor pull subscriptions, this value is used as the initial value for the ack\ndeadline. To override this value for a given message, call\n`ModifyAckDeadline` with the corresponding `ack_id` if using\nnon-streaming pull or send the `ack_id` in a\n`StreamingModifyAckDeadlineRequest` if using streaming pull.\nThe minimum custom deadline you can specify is 10 seconds.\nThe maximum custom deadline you can specify is 600 seconds (10 minutes).\nIf this parameter is 0, a default value of 10 seconds is used.\n\nFor push delivery, this value is also used to set the request timeout for\nthe call to the push endpoint.\n\nIf the subscriber never acknowledges the message, the Pub/Sub\nsystem will eventually redeliver the message.",
+          "description": "The approximate amount of time (on a best-effort basis) Pub/Sub waits for the subscriber to acknowledge receipt before resending the message. In the interval after the message is delivered and before it is acknowledged, it is considered to be *outstanding*. During that time period, the message will not be redelivered (on a best-effort basis). For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call `ModifyAckDeadline` with the corresponding `ack_id` if using non-streaming pull or send the `ack_id` in a `StreamingModifyAckDeadlineRequest` if using streaming pull. The minimum custom deadline you can specify is 10 seconds. The maximum custom deadline you can specify is 600 seconds (10 minutes). If this parameter is 0, a default value of 10 seconds is used. For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message.",
           "format": "int32",
           "type": "integer"
         },
         "deadLetterPolicy": {
           "$ref": "DeadLetterPolicy",
-          "description": "A policy that specifies the conditions for dead lettering messages in\nthis subscription. If dead_letter_policy is not set, dead lettering\nis disabled.\n\nThe Cloud Pub/Sub service account associated with this subscriptions's\nparent project (i.e.,\nservice-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have\npermission to Acknowledge() messages on this subscription."
+          "description": "A policy that specifies the conditions for dead lettering messages in this subscription. If dead_letter_policy is not set, dead lettering is disabled. The Cloud Pub/Sub service account associated with this subscriptions's parent project (i.e., service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have permission to Acknowledge() messages on this subscription."
         },
         "detached": {
-          "description": "Indicates whether the subscription is detached from its topic. Detached\nsubscriptions don't receive messages from their topic and don't retain any\nbacklog. `Pull` and `StreamingPull` requests will return\nFAILED_PRECONDITION. If the subscription is a push subscription, pushes to\nthe endpoint will not be made.",
+          "description": "Indicates whether the subscription is detached from its topic. Detached subscriptions don't receive messages from their topic and don't retain any backlog. `Pull` and `StreamingPull` requests will return FAILED_PRECONDITION. If the subscription is a push subscription, pushes to the endpoint will not be made.",
           "type": "boolean"
         },
         "enableMessageOrdering": {
-          "description": "If true, messages published with the same `ordering_key` in `PubsubMessage`\nwill be delivered to the subscribers in the order in which they\nare received by the Pub/Sub system. Otherwise, they may be delivered in\nany order.",
+          "description": "If true, messages published with the same `ordering_key` in `PubsubMessage` will be delivered to the subscribers in the order in which they are received by the Pub/Sub system. Otherwise, they may be delivered in any order.",
           "type": "boolean"
         },
         "expirationPolicy": {
           "$ref": "ExpirationPolicy",
-          "description": "A policy that specifies the conditions for this subscription's expiration.\nA subscription is considered active as long as any connected subscriber is\nsuccessfully consuming messages from the subscription or is issuing\noperations on the subscription. If `expiration_policy` is not set, a\n*default policy* with `ttl` of 31 days will be used. The minimum allowed\nvalue for `expiration_policy.ttl` is 1 day."
+          "description": "A policy that specifies the conditions for this subscription's expiration. A subscription is considered active as long as any connected subscriber is successfully consuming messages from the subscription or is issuing operations on the subscription. If `expiration_policy` is not set, a *default policy* with `ttl` of 31 days will be used. The minimum allowed value for `expiration_policy.ttl` is 1 day."
         },
         "filter": {
-          "description": "An expression written in the Pub/Sub [filter\nlanguage](https://cloud.google.com/pubsub/docs/filtering). If non-empty,\nthen only `PubsubMessage`s whose `attributes` field matches the filter are\ndelivered on this subscription. If empty, then no messages are filtered\nout.",
+          "description": "An expression written in the Pub/Sub [filter language](https://cloud.google.com/pubsub/docs/filtering). If non-empty, then only `PubsubMessage`s whose `attributes` field matches the filter are delivered on this subscription. If empty, then no messages are filtered out.",
           "type": "string"
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "See \u003ca href=\"https://cloud.google.com/pubsub/docs/labels\"\u003e Creating and\nmanaging labels\u003c/a\u003e.",
+          "description": "See Creating and managing labels.",
           "type": "object"
         },
         "messageRetentionDuration": {
-          "description": "How long to retain unacknowledged messages in the subscription's backlog,\nfrom the moment a message is published.\nIf `retain_acked_messages` is true, then this also configures the retention\nof acknowledged messages, and thus configures how far back in time a `Seek`\ncan be done. Defaults to 7 days. Cannot be more than 7 days or less than 10\nminutes.",
+          "description": "How long to retain unacknowledged messages in the subscription's backlog, from the moment a message is published. If `retain_acked_messages` is true, then this also configures the retention of acknowledged messages, and thus configures how far back in time a `Seek` can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10 minutes.",
           "format": "google-duration",
           "type": "string"
         },
         "name": {
-          "description": "Required. The name of the subscription. It must have the format\n`\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must\nstart with a letter, and contain only letters (`[A-Za-z]`), numbers\n(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),\nplus (`+`) or percent signs (`%`). It must be between 3 and 255 characters\nin length, and it must not start with `\"goog\"`.",
+          "description": "Required. The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.",
           "type": "string"
         },
         "pushConfig": {
           "$ref": "PushConfig",
-          "description": "If push delivery is used with this subscription, this field is\nused to configure it. An empty `pushConfig` signifies that the subscriber\nwill pull and ack messages using API methods."
+          "description": "If push delivery is used with this subscription, this field is used to configure it. An empty `pushConfig` signifies that the subscriber will pull and ack messages using API methods."
         },
         "retainAckedMessages": {
-          "description": "Indicates whether to retain acknowledged messages. If true, then\nmessages are not expunged from the subscription's backlog, even if they are\nacknowledged, until they fall out of the `message_retention_duration`\nwindow. This must be true if you would like to [Seek to a timestamp]\n(https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time).",
+          "description": "Indicates whether to retain acknowledged messages. If true, then messages are not expunged from the subscription's backlog, even if they are acknowledged, until they fall out of the `message_retention_duration` window. This must be true if you would like to [Seek to a timestamp] (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time).",
           "type": "boolean"
         },
         "retryPolicy": {
           "$ref": "RetryPolicy",
-          "description": "A policy that specifies how Pub/Sub retries message delivery for this\nsubscription.\n\nIf not set, the default retry policy is applied. This generally implies\nthat messages will be retried as soon as possible for healthy subscribers.\nRetryPolicy will be triggered on NACKs or acknowledgement deadline\nexceeded events for a given message."
+          "description": "A policy that specifies how Pub/Sub retries message delivery for this subscription. If not set, the default retry policy is applied. This generally implies that messages will be retried as soon as possible for healthy subscribers. RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded events for a given message."
         },
         "topic": {
-          "description": "Required. The name of the topic from which this subscription is receiving messages.\nFormat is `projects/{project}/topics/{topic}`.\nThe value of this field will be `_deleted-topic_` if the topic has been\ndeleted.",
+          "description": "Required. The name of the topic from which this subscription is receiving messages. Format is `projects/{project}/topics/{topic}`. The value of this field will be `_deleted-topic_` if the topic has been deleted.",
           "type": "string"
         }
       },
@@ -1690,7 +1690,7 @@
       "id": "TestIamPermissionsRequest",
       "properties": {
         "permissions": {
-          "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
+          "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
           "items": {
             "type": "string"
           },
@@ -1704,7 +1704,7 @@
       "id": "TestIamPermissionsResponse",
       "properties": {
         "permissions": {
-          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
+          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
           "items": {
             "type": "string"
           },
@@ -1718,22 +1718,22 @@
       "id": "Topic",
       "properties": {
         "kmsKeyName": {
-          "description": "The resource name of the Cloud KMS CryptoKey to be used to protect access\nto messages published on this topic.\n\nThe expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.",
+          "description": "The resource name of the Cloud KMS CryptoKey to be used to protect access to messages published on this topic. The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.",
           "type": "string"
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "See [Creating and managing labels]\n(https://cloud.google.com/pubsub/docs/labels).",
+          "description": "See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels).",
           "type": "object"
         },
         "messageStoragePolicy": {
           "$ref": "MessageStoragePolicy",
-          "description": "Policy constraining the set of Google Cloud Platform regions where messages\npublished to the topic may be stored. If not present, then no constraints\nare in effect."
+          "description": "Policy constraining the set of Google Cloud Platform regions where messages published to the topic may be stored. If not present, then no constraints are in effect."
         },
         "name": {
-          "description": "Required. The name of the topic. It must have the format\n`\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter,\nand contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),\nunderscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent\nsigns (`%`). It must be between 3 and 255 characters in length, and it\nmust not start with `\"goog\"`.",
+          "description": "Required. The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.",
           "type": "string"
         }
       },
@@ -1748,7 +1748,7 @@
           "description": "Required. The updated snapshot object."
         },
         "updateMask": {
-          "description": "Required. Indicates which fields in the provided snapshot to update.\nMust be specified and non-empty.",
+          "description": "Required. Indicates which fields in the provided snapshot to update. Must be specified and non-empty.",
           "format": "google-fieldmask",
           "type": "string"
         }
@@ -1764,7 +1764,7 @@
           "description": "Required. The updated subscription object."
         },
         "updateMask": {
-          "description": "Required. Indicates which fields in the provided subscription to update.\nMust be specified and non-empty.",
+          "description": "Required. Indicates which fields in the provided subscription to update. Must be specified and non-empty.",
           "format": "google-fieldmask",
           "type": "string"
         }
@@ -1780,7 +1780,7 @@
           "description": "Required. The updated topic object."
         },
         "updateMask": {
-          "description": "Required. Indicates which fields in the provided topic to update. Must be specified\nand non-empty. Note that if `update_mask` contains\n\"message_storage_policy\" but the `message_storage_policy` is not set in\nthe `topic` provided above, then the updated value is determined by the\npolicy configured at the project or organization level.",
+          "description": "Required. Indicates which fields in the provided topic to update. Must be specified and non-empty. Note that if `update_mask` contains \"message_storage_policy\" but the `message_storage_policy` is not set in the `topic` provided above, then the updated value is determined by the policy configured at the project or organization level.",
           "format": "google-fieldmask",
           "type": "string"
         }
diff --git a/pubsub/v1/pubsub-gen.go b/pubsub/v1/pubsub-gen.go
index 3ac57b6..f262b1b 100644
--- a/pubsub/v1/pubsub-gen.go
+++ b/pubsub/v1/pubsub-gen.go
@@ -217,8 +217,8 @@
 // AcknowledgeRequest: Request for the Acknowledge method.
 type AcknowledgeRequest struct {
 	// AckIds: Required. The acknowledgment ID for the messages being
-	// acknowledged that was returned
-	// by the Pub/Sub system in the `Pull` response. Must not be empty.
+	// acknowledged that was returned by the Pub/Sub system in the `Pull`
+	// response. Must not be empty.
 	AckIds []string `json:"ackIds,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AckIds") to
@@ -246,95 +246,53 @@
 
 // Binding: Associates `members` with a `role`.
 type Binding struct {
-	// Condition: The condition that is associated with this binding.
-	//
-	// If the condition evaluates to `true`, then this binding applies to
-	// the
-	// current request.
-	//
-	// If the condition evaluates to `false`, then this binding does not
-	// apply to
-	// the current request. However, a different role binding might grant
-	// the same
-	// role to one or more of the members in this binding.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// Condition: The condition that is associated with this binding. If the
+	// condition evaluates to `true`, then this binding applies to the
+	// current request. If the condition evaluates to `false`, then this
+	// binding does not apply to the current request. However, a different
+	// role binding might grant the same role to one or more of the members
+	// in this binding. To learn which resources support conditions in their
+	// IAM policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	Condition *Expr `json:"condition,omitempty"`
 
 	// Members: Specifies the identities requesting access for a Cloud
-	// Platform resource.
-	// `members` can have the following values:
-	//
-	// * `allUsers`: A special identifier that represents anyone who is
-	//    on the internet; with or without a Google account.
-	//
-	// * `allAuthenticatedUsers`: A special identifier that represents
-	// anyone
-	//    who is authenticated with a Google account or a service
-	// account.
-	//
-	// * `user:{emailid}`: An email address that represents a specific
-	// Google
-	//    account. For example, `alice@example.com` .
-	//
-	//
-	// * `serviceAccount:{emailid}`: An email address that represents a
-	// service
-	//    account. For example,
-	// `my-other-app@appspot.gserviceaccount.com`.
-	//
-	// * `group:{emailid}`: An email address that represents a Google
-	// group.
-	//    For example, `admins@example.com`.
-	//
-	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a user that has been recently deleted.
-	// For
-	//    example, `alice@example.com?uid=123456789012345678901`. If the
-	// user is
-	//    recovered, this value reverts to `user:{emailid}` and the
-	// recovered user
-	//    retains the role in the binding.
-	//
-	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
-	// (plus
-	//    unique identifier) representing a service account that has been
-	// recently
-	//    deleted. For example,
-	//
+	// Platform resource. `members` can have the following values: *
+	// `allUsers`: A special identifier that represents anyone who is on the
+	// internet; with or without a Google account. *
+	// `allAuthenticatedUsers`: A special identifier that represents anyone
+	// who is authenticated with a Google account or a service account. *
+	// `user:{emailid}`: An email address that represents a specific Google
+	// account. For example, `alice@example.com` . *
+	// `serviceAccount:{emailid}`: An email address that represents a
+	// service account. For example,
+	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
+	// email address that represents a Google group. For example,
+	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
+	// email address (plus unique identifier) representing a user that has
+	// been recently deleted. For example,
+	// `alice@example.com?uid=123456789012345678901`. If the user is
+	// recovered, this value reverts to `user:{emailid}` and the recovered
+	// user retains the role in the binding. *
+	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
+	// (plus unique identifier) representing a service account that has been
+	// recently deleted. For example,
 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
-	//
-	//    If the service account is undeleted, this value reverts to
-	//    `serviceAccount:{emailid}` and the undeleted service account
-	// retains the
-	//    role in the binding.
-	//
-	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a Google group that has been recently
-	//    deleted. For example,
-	// `admins@example.com?uid=123456789012345678901`. If
-	//    the group is recovered, this value reverts to `group:{emailid}`
-	// and the
-	//    recovered group retains the role in the binding.
-	//
-	//
-	// * `domain:{domain}`: The G Suite domain (primary) that represents all
-	// the
-	//    users of that domain. For example, `google.com` or
-	// `example.com`.
-	//
-	//
+	// If the service account is undeleted, this value reverts to
+	// `serviceAccount:{emailid}` and the undeleted service account retains
+	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
+	// An email address (plus unique identifier) representing a Google group
+	// that has been recently deleted. For example,
+	// `admins@example.com?uid=123456789012345678901`. If the group is
+	// recovered, this value reverts to `group:{emailid}` and the recovered
+	// group retains the role in the binding. * `domain:{domain}`: The G
+	// Suite domain (primary) that represents all the users of that domain.
+	// For example, `google.com` or `example.com`.
 	Members []string `json:"members,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`.
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -362,23 +320,17 @@
 
 // CreateSnapshotRequest: Request for the `CreateSnapshot` method.
 type CreateSnapshotRequest struct {
-	// Labels: See <a href="https://cloud.google.com/pubsub/docs/labels">
-	// Creating and
-	// managing labels</a>.
+	// Labels: See Creating and managing labels.
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// Subscription: Required. The subscription whose backlog the snapshot
-	// retains.
-	// Specifically, the created snapshot is guaranteed to retain:
-	//  (a) The existing backlog on the subscription. More precisely, this
-	// is
-	//      defined as the messages in the subscription's backlog that are
-	//      unacknowledged upon the successful completion of the
-	//      `CreateSnapshot` request; as well as:
-	//  (b) Any messages published to the subscription's topic following
-	// the
-	//      successful completion of the CreateSnapshot request.
-	// Format is `projects/{project}/subscriptions/{sub}`.
+	// retains. Specifically, the created snapshot is guaranteed to retain:
+	// (a) The existing backlog on the subscription. More precisely, this is
+	// defined as the messages in the subscription's backlog that are
+	// unacknowledged upon the successful completion of the `CreateSnapshot`
+	// request; as well as: (b) Any messages published to the subscription's
+	// topic following the successful completion of the CreateSnapshot
+	// request. Format is `projects/{project}/subscriptions/{sub}`.
 	Subscription string `json:"subscription,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Labels") to
@@ -405,46 +357,29 @@
 }
 
 // DeadLetterPolicy: Dead lettering is done on a best effort basis. The
-// same message might be
-// dead lettered multiple times.
-//
-// If validation on any of the fields fails at subscription
-// creation/updation,
-// the create/update subscription request will fail.
+// same message might be dead lettered multiple times. If validation on
+// any of the fields fails at subscription creation/updation, the
+// create/update subscription request will fail.
 type DeadLetterPolicy struct {
 	// DeadLetterTopic: The name of the topic to which dead letter messages
-	// should be published.
-	// Format is `projects/{project}/topics/{topic}`.The Cloud Pub/Sub
-	// service
-	// account associated with the enclosing subscription's parent project
-	// (i.e.,
-	// service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com)
-	//  must have
-	// permission to Publish() to this topic.
-	//
-	// The operation will fail if the topic does not exist.
-	// Users should ensure that there is a subscription attached to this
-	// topic
-	// since messages published to a topic with no subscriptions are lost.
+	// should be published. Format is
+	// `projects/{project}/topics/{topic}`.The Cloud Pub/Sub service account
+	// associated with the enclosing subscription's parent project (i.e.,
+	// service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must
+	// have permission to Publish() to this topic. The operation will fail
+	// if the topic does not exist. Users should ensure that there is a
+	// subscription attached to this topic since messages published to a
+	// topic with no subscriptions are lost.
 	DeadLetterTopic string `json:"deadLetterTopic,omitempty"`
 
 	// MaxDeliveryAttempts: The maximum number of delivery attempts for any
-	// message. The value must be
-	// between 5 and 100.
-	//
-	// The number of delivery attempts is defined as 1 + (the sum of number
-	// of
-	// NACKs and number of times the acknowledgement deadline has been
-	// exceeded
-	// for the message).
-	//
-	// A NACK is any call to ModifyAckDeadline with a 0 deadline. Note
-	// that
-	// client libraries may automatically extend ack_deadlines.
-	//
-	// This field will be honored on a best effort basis.
-	//
-	// If this parameter is 0, a default value of 5 is used.
+	// message. The value must be between 5 and 100. The number of delivery
+	// attempts is defined as 1 + (the sum of number of NACKs and number of
+	// times the acknowledgement deadline has been exceeded for the
+	// message). A NACK is any call to ModifyAckDeadline with a 0 deadline.
+	// Note that client libraries may automatically extend ack_deadlines.
+	// This field will be honored on a best effort basis. If this parameter
+	// is 0, a default value of 5 is used.
 	MaxDeliveryAttempts int64 `json:"maxDeliveryAttempts,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "DeadLetterTopic") to
@@ -472,8 +407,7 @@
 }
 
 // DetachSubscriptionResponse: Response for the DetachSubscription
-// method.
-// Reserved for future use.
+// method. Reserved for future use.
 type DetachSubscriptionResponse struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -481,17 +415,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -499,20 +427,14 @@
 }
 
 // ExpirationPolicy: A policy that specifies the conditions for resource
-// expiration (i.e.,
-// automatic resource deletion).
+// expiration (i.e., automatic resource deletion).
 type ExpirationPolicy struct {
 	// Ttl: Specifies the "time-to-live" duration for an associated
-	// resource. The
-	// resource expires if it is not active for a period of `ttl`. The
-	// definition
-	// of "activity" depends on the type of the associated resource. The
-	// minimum
-	// and maximum allowed values for `ttl` depend on the type of the
-	// associated
-	// resource, as well. If `ttl` is not set, the associated resource
-	// never
-	// expires.
+	// resource. The resource expires if it is not active for a period of
+	// `ttl`. The definition of "activity" depends on the type of the
+	// associated resource. The minimum and maximum allowed values for `ttl`
+	// depend on the type of the associated resource, as well. If `ttl` is
+	// not set, the associated resource never expires.
 	Ttl string `json:"ttl,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Ttl") to
@@ -539,65 +461,40 @@
 }
 
 // Expr: Represents a textual expression in the Common Expression
-// Language (CEL)
-// syntax. CEL is a C-like expression language. The syntax and semantics
-// of CEL
-// are documented at https://github.com/google/cel-spec.
-//
-// Example (Comparison):
-//
-//     title: "Summary size limit"
-//     description: "Determines if a summary is less than 100 chars"
-//     expression: "document.summary.size() < 100"
-//
-// Example (Equality):
-//
-//     title: "Requestor is owner"
-//     description: "Determines if requestor is the document owner"
-//     expression: "document.owner ==
-// request.auth.claims.email"
-//
-// Example (Logic):
-//
-//     title: "Public documents"
-//     description: "Determine whether the document should be publicly
-// visible"
-//     expression: "document.type != 'private' && document.type !=
-// 'internal'"
-//
-// Example (Data Manipulation):
-//
-//     title: "Notification string"
-//     description: "Create a notification string with a timestamp."
-//     expression: "'New message received at ' +
-// string(document.create_time)"
-//
-// The exact variables and functions that may be referenced within an
-// expression
-// are determined by the service that evaluates it. See the
-// service
-// documentation for additional information.
+// Language (CEL) syntax. CEL is a C-like expression language. The
+// syntax and semantics of CEL are documented at
+// https://github.com/google/cel-spec. Example (Comparison): title:
+// "Summary size limit" description: "Determines if a summary is less
+// than 100 chars" expression: "document.summary.size() < 100" Example
+// (Equality): title: "Requestor is owner" description: "Determines if
+// requestor is the document owner" expression: "document.owner ==
+// request.auth.claims.email" Example (Logic): title: "Public documents"
+// description: "Determine whether the document should be publicly
+// visible" expression: "document.type != 'private' && document.type !=
+// 'internal'" Example (Data Manipulation): title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' +
+// string(document.create_time)" The exact variables and functions that
+// may be referenced within an expression are determined by the service
+// that evaluates it. See the service documentation for additional
+// information.
 type Expr struct {
 	// Description: Optional. Description of the expression. This is a
-	// longer text which
-	// describes the expression, e.g. when hovered over it in a UI.
+	// longer text which describes the expression, e.g. when hovered over it
+	// in a UI.
 	Description string `json:"description,omitempty"`
 
 	// Expression: Textual representation of an expression in Common
-	// Expression Language
-	// syntax.
+	// Expression Language syntax.
 	Expression string `json:"expression,omitempty"`
 
 	// Location: Optional. String indicating the location of the expression
-	// for error
-	// reporting, e.g. a file name and a position in the file.
+	// for error reporting, e.g. a file name and a position in the file.
 	Location string `json:"location,omitempty"`
 
 	// Title: Optional. Title for the expression, i.e. a short string
-	// describing
-	// its purpose. This can be used e.g. in UIs which allow to enter
-	// the
-	// expression.
+	// describing its purpose. This can be used e.g. in UIs which allow to
+	// enter the expression.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -626,8 +523,8 @@
 // ListSnapshotsResponse: Response for the `ListSnapshots` method.
 type ListSnapshotsResponse struct {
 	// NextPageToken: If not empty, indicates that there may be more
-	// snapshot that match the
-	// request; this value should be passed in a new `ListSnapshotsRequest`.
+	// snapshot that match the request; this value should be passed in a new
+	// `ListSnapshotsRequest`.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Snapshots: The resulting snapshots.
@@ -664,10 +561,8 @@
 // method.
 type ListSubscriptionsResponse struct {
 	// NextPageToken: If not empty, indicates that there may be more
-	// subscriptions that match
-	// the request; this value should be passed in a
-	// new
-	// `ListSubscriptionsRequest` to get more subscriptions.
+	// subscriptions that match the request; this value should be passed in
+	// a new `ListSubscriptionsRequest` to get more subscriptions.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Subscriptions: The subscriptions that match the request.
@@ -704,10 +599,8 @@
 // method.
 type ListTopicSnapshotsResponse struct {
 	// NextPageToken: If not empty, indicates that there may be more
-	// snapshots that match
-	// the request; this value should be passed in a
-	// new
-	// `ListTopicSnapshotsRequest` to get more snapshots.
+	// snapshots that match the request; this value should be passed in a
+	// new `ListTopicSnapshotsRequest` to get more snapshots.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Snapshots: The names of the snapshots that match the request.
@@ -744,10 +637,8 @@
 // `ListTopicSubscriptions` method.
 type ListTopicSubscriptionsResponse struct {
 	// NextPageToken: If not empty, indicates that there may be more
-	// subscriptions that match
-	// the request; this value should be passed in a
-	// new
-	// `ListTopicSubscriptionsRequest` to get more subscriptions.
+	// subscriptions that match the request; this value should be passed in
+	// a new `ListTopicSubscriptionsRequest` to get more subscriptions.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Subscriptions: The names of subscriptions attached to the topic
@@ -784,8 +675,8 @@
 // ListTopicsResponse: Response for the `ListTopics` method.
 type ListTopicsResponse struct {
 	// NextPageToken: If not empty, indicates that there may be more topics
-	// that match the
-	// request; this value should be passed in a new `ListTopicsRequest`.
+	// that match the request; this value should be passed in a new
+	// `ListTopicsRequest`.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Topics: The resulting topics.
@@ -822,14 +713,11 @@
 // published to the topic.
 type MessageStoragePolicy struct {
 	// AllowedPersistenceRegions: A list of IDs of GCP regions where
-	// messages that are published to the topic
-	// may be persisted in storage. Messages published by publishers running
-	// in
-	// non-allowed GCP regions (or running outside of GCP altogether) will
-	// be
-	// routed for storage in one of the allowed regions. An empty list means
-	// that
-	// no regions are allowed, and is not a valid configuration.
+	// messages that are published to the topic may be persisted in storage.
+	// Messages published by publishers running in non-allowed GCP regions
+	// (or running outside of GCP altogether) will be routed for storage in
+	// one of the allowed regions. An empty list means that no regions are
+	// allowed, and is not a valid configuration.
 	AllowedPersistenceRegions []string `json:"allowedPersistenceRegions,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -860,18 +748,14 @@
 // ModifyAckDeadlineRequest: Request for the ModifyAckDeadline method.
 type ModifyAckDeadlineRequest struct {
 	// AckDeadlineSeconds: Required. The new ack deadline with respect to
-	// the time this request was sent to
-	// the Pub/Sub system. For example, if the value is 10, the new
-	// ack deadline will expire 10 seconds after the `ModifyAckDeadline`
-	// call
-	// was made. Specifying zero might immediately make the message
-	// available for
-	// delivery to another subscriber client. This typically results in
-	// an
-	// increase in the rate of message redeliveries (that is,
-	// duplicates).
-	// The minimum deadline you can specify is 0 seconds.
-	// The maximum deadline you can specify is 600 seconds (10 minutes).
+	// the time this request was sent to the Pub/Sub system. For example, if
+	// the value is 10, the new ack deadline will expire 10 seconds after
+	// the `ModifyAckDeadline` call was made. Specifying zero might
+	// immediately make the message available for delivery to another
+	// subscriber client. This typically results in an increase in the rate
+	// of message redeliveries (that is, duplicates). The minimum deadline
+	// you can specify is 0 seconds. The maximum deadline you can specify is
+	// 600 seconds (10 minutes).
 	AckDeadlineSeconds int64 `json:"ackDeadlineSeconds,omitempty"`
 
 	// AckIds: Required. List of acknowledgment IDs.
@@ -903,13 +787,11 @@
 
 // ModifyPushConfigRequest: Request for the ModifyPushConfig method.
 type ModifyPushConfigRequest struct {
-	// PushConfig: Required. The push configuration for future
-	// deliveries.
-	//
-	// An empty `pushConfig` indicates that the Pub/Sub system should
-	// stop pushing messages from the given subscription and allow
-	// messages to be pulled and acknowledged - effectively pausing
-	// the subscription if `Pull` or `StreamingPull` is not called.
+	// PushConfig: Required. The push configuration for future deliveries.
+	// An empty `pushConfig` indicates that the Pub/Sub system should stop
+	// pushing messages from the given subscription and allow messages to be
+	// pulled and acknowledged - effectively pausing the subscription if
+	// `Pull` or `StreamingPull` is not called.
 	PushConfig *PushConfig `json:"pushConfig,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "PushConfig") to
@@ -935,34 +817,25 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// OidcToken: Contains information needed for generating an
-// [OpenID
+// OidcToken: Contains information needed for generating an [OpenID
 // Connect
-// token](https://developers.google.com/identity/protocols/OpenID
-// Connect).
+// token](https://developers.google.com/identity/protocols/OpenIDConnect)
+// .
 type OidcToken struct {
 	// Audience: Audience to be used when generating OIDC token. The
-	// audience claim
-	// identifies the recipients that the JWT is intended for. The
-	// audience
-	// value is a single case-sensitive string. Having multiple values
-	// (array)
-	// for the audience field is not supported. More info about the OIDC
-	// JWT
-	// token audience here:
-	// https://tools.ietf.org/html/rfc7519#section-4.1.3
-	// Note: if not specified, the Push endpoint URL will be used.
+	// audience claim identifies the recipients that the JWT is intended
+	// for. The audience value is a single case-sensitive string. Having
+	// multiple values (array) for the audience field is not supported. More
+	// info about the OIDC JWT token audience here:
+	// https://tools.ietf.org/html/rfc7519#section-4.1.3 Note: if not
+	// specified, the Push endpoint URL will be used.
 	Audience string `json:"audience,omitempty"`
 
-	// ServiceAccountEmail: [Service
-	// account
-	// email](https://cloud.google.com/iam/docs/service-accounts)
-	// to be used for generating the OIDC token. The caller
-	// (for
-	// CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs)
-	// must
-	// have the iam.serviceAccounts.actAs permission for the service
-	// account.
+	// ServiceAccountEmail: [Service account
+	// email](https://cloud.google.com/iam/docs/service-accounts) to be used
+	// for generating the OIDC token. The caller (for CreateSubscription,
+	// UpdateSubscription, and ModifyPushConfig RPCs) must have the
+	// iam.serviceAccounts.actAs permission for the service account.
 	ServiceAccountEmail string `json:"serviceAccountEmail,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Audience") to
@@ -989,150 +862,73 @@
 }
 
 // Policy: An Identity and Access Management (IAM) policy, which
-// specifies access
-// controls for Google Cloud resources.
-//
-//
-// A `Policy` is a collection of `bindings`. A `binding` binds one or
-// more
-// `members` to a single `role`. Members can be user accounts, service
-// accounts,
+// specifies access controls for Google Cloud resources. A `Policy` is a
+// collection of `bindings`. A `binding` binds one or more `members` to
+// a single `role`. Members can be user accounts, service accounts,
 // Google groups, and domains (such as G Suite). A `role` is a named
-// list of
-// permissions; each `role` can be an IAM predefined role or a
-// user-created
-// custom role.
-//
-// For some types of Google Cloud resources, a `binding` can also
-// specify a
-// `condition`, which is a logical expression that allows access to a
-// resource
-// only if the expression evaluates to `true`. A condition can add
-// constraints
-// based on attributes of the request, the resource, or both. To learn
-// which
-// resources support conditions in their IAM policies, see the
-// [IAM
+// list of permissions; each `role` can be an IAM predefined role or a
+// user-created custom role. For some types of Google Cloud resources, a
+// `binding` can also specify a `condition`, which is a logical
+// expression that allows access to a resource only if the expression
+// evaluates to `true`. A condition can add constraints based on
+// attributes of the request, the resource, or both. To learn which
+// resources support conditions in their IAM policies, see the [IAM
 // documentation](https://cloud.google.com/iam/help/conditions/resource-p
-// olicies).
-//
-// **JSON example:**
-//
-//     {
-//       "bindings": [
-//         {
-//           "role": "roles/resourcemanager.organizationAdmin",
-//           "members": [
-//             "user:mike@example.com",
-//             "group:admins@example.com",
-//             "domain:google.com",
-//
-// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
-//           ]
-//         },
-//         {
-//           "role": "roles/resourcemanager.organizationViewer",
-//           "members": [
-//             "user:eve@example.com"
-//           ],
-//           "condition": {
-//             "title": "expirable access",
-//             "description": "Does not grant access after Sep 2020",
-//             "expression": "request.time <
-// timestamp('2020-10-01T00:00:00.000Z')",
-//           }
-//         }
-//       ],
-//       "etag": "BwWWja0YfJA=",
-//       "version": 3
-//     }
-//
-// **YAML example:**
-//
-//     bindings:
-//     - members:
-//       - user:mike@example.com
-//       - group:admins@example.com
-//       - domain:google.com
-//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
-//       role: roles/resourcemanager.organizationAdmin
-//     - members:
-//       - user:eve@example.com
-//       role: roles/resourcemanager.organizationViewer
-//       condition:
-//         title: expirable access
-//         description: Does not grant access after Sep 2020
-//         expression: request.time <
-// timestamp('2020-10-01T00:00:00.000Z')
-//     - etag: BwWWja0YfJA=
-//     - version: 3
-//
-// For a description of IAM and its features, see the
-// [IAM documentation](https://cloud.google.com/iam/docs/).
+// olicies). **JSON example:** { "bindings": [ { "role":
+// "roles/resourcemanager.organizationAdmin", "members": [
+// "user:mike@example.com", "group:admins@example.com",
+// "domain:google.com",
+// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
+// "role": "roles/resourcemanager.organizationViewer", "members": [
+// "user:eve@example.com" ], "condition": { "title": "expirable access",
+// "description": "Does not grant access after Sep 2020", "expression":
+// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
+// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
+// members: - user:mike@example.com - group:admins@example.com -
+// domain:google.com -
+// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
+// roles/resourcemanager.organizationAdmin - members: -
+// user:eve@example.com role: roles/resourcemanager.organizationViewer
+// condition: title: expirable access description: Does not grant access
+// after Sep 2020 expression: request.time <
+// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
+// 3 For a description of IAM and its features, see the [IAM
+// documentation](https://cloud.google.com/iam/docs/).
 type Policy struct {
 	// Bindings: Associates a list of `members` to a `role`. Optionally, may
-	// specify a
-	// `condition` that determines how and when the `bindings` are applied.
-	// Each
-	// of the `bindings` must contain at least one member.
+	// specify a `condition` that determines how and when the `bindings` are
+	// applied. Each of the `bindings` must contain at least one member.
 	Bindings []*Binding `json:"bindings,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a policy from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform policy updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `getIamPolicy`,
-	// and
-	// systems are expected to put that etag in the request to
-	// `setIamPolicy` to
-	// ensure that their change will be applied to the same version of the
-	// policy.
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
+	// help prevent simultaneous updates of a policy from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform policy updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `getIamPolicy`, and systems are expected to put that etag in the
+	// request to `setIamPolicy` to ensure that their change will be applied
+	// to the same version of the policy. **Important:** If you use IAM
+	// Conditions, you must include the `etag` field whenever you call
+	// `setIamPolicy`. If you omit this field, then IAM allows you to
+	// overwrite a version `3` policy with a version `1` policy, and all of
 	// the conditions in the version `3` policy are lost.
 	Etag string `json:"etag,omitempty"`
 
-	// Version: Specifies the format of the policy.
-	//
-	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
-	// value
-	// are rejected.
-	//
+	// Version: Specifies the format of the policy. Valid values are `0`,
+	// `1`, and `3`. Requests that specify an invalid value are rejected.
 	// Any operation that affects conditional role bindings must specify
-	// version
-	// `3`. This requirement applies to the following operations:
-	//
-	// * Getting a policy that includes a conditional role binding
-	// * Adding a conditional role binding to a policy
-	// * Changing a conditional role binding in a policy
-	// * Removing any role binding, with or without a condition, from a
-	// policy
-	//   that includes conditions
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
-	// the conditions in the version `3` policy are lost.
-	//
-	// If a policy does not include any conditions, operations on that
-	// policy may
-	// specify any valid version or leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see the
-	// [IAM
+	// version `3`. This requirement applies to the following operations: *
+	// Getting a policy that includes a conditional role binding * Adding a
+	// conditional role binding to a policy * Changing a conditional role
+	// binding in a policy * Removing any role binding, with or without a
+	// condition, from a policy that includes conditions **Important:** If
+	// you use IAM Conditions, you must include the `etag` field whenever
+	// you call `setIamPolicy`. If you omit this field, then IAM allows you
+	// to overwrite a version `3` policy with a version `1` policy, and all
+	// of the conditions in the version `3` policy are lost. If a policy
+	// does not include any conditions, operations on that policy may
+	// specify any valid version or leave the field unset. To learn which
+	// resources support conditions in their IAM policies, see the [IAM
 	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
 	// olicies).
 	Version int64 `json:"version,omitempty"`
@@ -1195,10 +991,8 @@
 // PublishResponse: Response for the `Publish` method.
 type PublishResponse struct {
 	// MessageIds: The server-assigned ID of each published message, in the
-	// same order as
-	// the messages in the request. IDs are guaranteed to be unique
-	// within
-	// the topic.
+	// same order as the messages in the request. IDs are guaranteed to be
+	// unique within the topic.
 	MessageIds []string `json:"messageIds,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1229,61 +1023,43 @@
 }
 
 // PubsubMessage: A message that is published by publishers and consumed
-// by subscribers. The
-// message must contain either a non-empty data field or at least one
-// attribute.
-// Note that client libraries represent this object
-// differently
-// depending on the language. See the corresponding [client
-// library
-// documentation](https://cloud.google.com/pubsub/docs/reference/
-// libraries) for
-// more information. See [quotas and
-// limits]
+// by subscribers. The message must contain either a non-empty data
+// field or at least one attribute. Note that client libraries represent
+// this object differently depending on the language. See the
+// corresponding [client library
+// documentation](https://cloud.google.com/pubsub/docs/reference/librarie
+// s) for more information. See [quotas and limits]
 // (https://cloud.google.com/pubsub/quotas) for more information about
-// message
-// limits.
+// message limits.
 type PubsubMessage struct {
 	// Attributes: Attributes for this message. If this field is empty, the
-	// message must
-	// contain non-empty data. This can be used to filter messages on
-	// the
-	// subscription.
+	// message must contain non-empty data. This can be used to filter
+	// messages on the subscription.
 	Attributes map[string]string `json:"attributes,omitempty"`
 
 	// Data: The message data field. If this field is empty, the message
-	// must contain
-	// at least one attribute.
+	// must contain at least one attribute.
 	Data string `json:"data,omitempty"`
 
 	// MessageId: ID of this message, assigned by the server when the
-	// message is published.
-	// Guaranteed to be unique within the topic. This value may be read by
-	// a
-	// subscriber that receives a `PubsubMessage` via a `Pull` call or a
-	// push
-	// delivery. It must not be populated by the publisher in a `Publish`
-	// call.
+	// message is published. Guaranteed to be unique within the topic. This
+	// value may be read by a subscriber that receives a `PubsubMessage` via
+	// a `Pull` call or a push delivery. It must not be populated by the
+	// publisher in a `Publish` call.
 	MessageId string `json:"messageId,omitempty"`
 
 	// OrderingKey: If non-empty, identifies related messages for which
-	// publish order should be
-	// respected. If a `Subscription` has `enable_message_ordering` set to
-	// `true`,
-	// messages published with the same non-empty `ordering_key` value will
-	// be
-	// delivered to subscribers in the order in which they are received by
-	// the
-	// Pub/Sub system. All `PubsubMessage`s published in a given
-	// `PublishRequest`
-	// must specify the same `ordering_key` value.
+	// publish order should be respected. If a `Subscription` has
+	// `enable_message_ordering` set to `true`, messages published with the
+	// same non-empty `ordering_key` value will be delivered to subscribers
+	// in the order in which they are received by the Pub/Sub system. All
+	// `PubsubMessage`s published in a given `PublishRequest` must specify
+	// the same `ordering_key` value.
 	OrderingKey string `json:"orderingKey,omitempty"`
 
 	// PublishTime: The time at which the message was published, populated
-	// by the server when
-	// it receives the `Publish` call. It must not be populated by
-	// the
-	// publisher in a `Publish` call.
+	// by the server when it receives the `Publish` call. It must not be
+	// populated by the publisher in a `Publish` call.
 	PublishTime string `json:"publishTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Attributes") to
@@ -1312,25 +1088,17 @@
 // PullRequest: Request for the `Pull` method.
 type PullRequest struct {
 	// MaxMessages: Required. The maximum number of messages to return for
-	// this request. Must be a
-	// positive integer. The Pub/Sub system may return fewer than the
-	// number
-	// specified.
+	// this request. Must be a positive integer. The Pub/Sub system may
+	// return fewer than the number specified.
 	MaxMessages int64 `json:"maxMessages,omitempty"`
 
 	// ReturnImmediately: Optional. If this field set to true, the system
-	// will respond immediately even if
-	// it there are no messages available to return in the `Pull`
-	// response.
-	// Otherwise, the system may wait (for a bounded amount of time) until
-	// at
-	// least one message is available, rather than returning no messages.
-	// Warning:
-	// setting this field to `true` is discouraged because it adversely
-	// impacts
-	// the performance of `Pull` operations. We recommend that users do not
-	// set
-	// this field.
+	// will respond immediately even if it there are no messages available
+	// to return in the `Pull` response. Otherwise, the system may wait (for
+	// a bounded amount of time) until at least one message is available,
+	// rather than returning no messages. Warning: setting this field to
+	// `true` is discouraged because it adversely impacts the performance of
+	// `Pull` operations. We recommend that users do not set this field.
 	ReturnImmediately bool `json:"returnImmediately,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "MaxMessages") to
@@ -1359,12 +1127,10 @@
 // PullResponse: Response for the `Pull` method.
 type PullResponse struct {
 	// ReceivedMessages: Received Pub/Sub messages. The list will be empty
-	// if there are no more
-	// messages available in the backlog. For JSON, the response can be
-	// entirely
-	// empty. The Pub/Sub system may return fewer than the `maxMessages`
-	// requested
-	// even if there are more messages available in the backlog.
+	// if there are no more messages available in the backlog. For JSON, the
+	// response can be entirely empty. The Pub/Sub system may return fewer
+	// than the `maxMessages` requested even if there are more messages
+	// available in the backlog.
 	ReceivedMessages []*ReceivedMessage `json:"receivedMessages,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1398,47 +1164,30 @@
 // PushConfig: Configuration for a push delivery endpoint.
 type PushConfig struct {
 	// Attributes: Endpoint configuration attributes that can be used to
-	// control different
-	// aspects of the message delivery.
-	//
-	// The only currently supported attribute is `x-goog-version`, which you
-	// can
-	// use to change the format of the pushed message. This
-	// attribute
-	// indicates the version of the data expected by the endpoint.
-	// This
-	// controls the shape of the pushed message (i.e., its fields and
-	// metadata).
-	//
-	// If not present during the `CreateSubscription` call, it will default
-	// to
-	// the version of the Pub/Sub API used to make such call. If not present
-	// in a
+	// control different aspects of the message delivery. The only currently
+	// supported attribute is `x-goog-version`, which you can use to change
+	// the format of the pushed message. This attribute indicates the
+	// version of the data expected by the endpoint. This controls the shape
+	// of the pushed message (i.e., its fields and metadata). If not present
+	// during the `CreateSubscription` call, it will default to the version
+	// of the Pub/Sub API used to make such call. If not present in a
 	// `ModifyPushConfig` call, its value will not be changed.
-	// `GetSubscription`
-	// calls will always return a valid version, even if the subscription
-	// was
-	// created without this attribute.
-	//
-	// The only supported values for the `x-goog-version` attribute are:
-	//
-	// * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub
-	// API.
-	// * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub
-	// API.
-	//
-	// For example:
-	// <pre><code>attributes { "x-goog-version": "v1" } </code></pre>
+	// `GetSubscription` calls will always return a valid version, even if
+	// the subscription was created without this attribute. The only
+	// supported values for the `x-goog-version` attribute are: * `v1beta1`:
+	// uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or
+	// `v1beta2`: uses the push format defined in the v1 Pub/Sub API. For
+	// example: attributes { "x-goog-version": "v1" }
 	Attributes map[string]string `json:"attributes,omitempty"`
 
 	// OidcToken: If specified, Pub/Sub will generate and attach an OIDC JWT
-	// token as an
-	// `Authorization` header in the HTTP request for every pushed message.
+	// token as an `Authorization` header in the HTTP request for every
+	// pushed message.
 	OidcToken *OidcToken `json:"oidcToken,omitempty"`
 
 	// PushEndpoint: A URL locating the endpoint to which messages should be
-	// pushed.
-	// For example, a Webhook endpoint might use `https://example.com/push`.
+	// pushed. For example, a Webhook endpoint might use
+	// `https://example.com/push`.
 	PushEndpoint string `json:"pushEndpoint,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Attributes") to
@@ -1470,28 +1219,16 @@
 	AckId string `json:"ackId,omitempty"`
 
 	// DeliveryAttempt: The approximate number of times that Cloud Pub/Sub
-	// has attempted to deliver
-	// the associated message to a subscriber.
-	//
-	// More precisely, this is 1 + (number of NACKs) +
-	// (number of ack_deadline exceeds) for this message.
-	//
-	// A NACK is any call to ModifyAckDeadline with a 0 deadline. An
-	// ack_deadline
-	// exceeds event is whenever a message is not acknowledged
-	// within
-	// ack_deadline. Note that ack_deadline is
-	// initially
-	// Subscription.ackDeadlineSeconds, but may get extended automatically
-	// by
-	// the client library.
-	//
-	// Upon the first delivery of a given message, `delivery_attempt` will
-	// have a
-	// value of 1. The value is calculated at best effort and is
-	// approximate.
-	//
-	// If a DeadLetterPolicy is not set on the subscription, this will be 0.
+	// has attempted to deliver the associated message to a subscriber. More
+	// precisely, this is 1 + (number of NACKs) + (number of ack_deadline
+	// exceeds) for this message. A NACK is any call to ModifyAckDeadline
+	// with a 0 deadline. An ack_deadline exceeds event is whenever a
+	// message is not acknowledged within ack_deadline. Note that
+	// ack_deadline is initially Subscription.ackDeadlineSeconds, but may
+	// get extended automatically by the client library. Upon the first
+	// delivery of a given message, `delivery_attempt` will have a value of
+	// 1. The value is calculated at best effort and is approximate. If a
+	// DeadLetterPolicy is not set on the subscription, this will be 0.
 	DeliveryAttempt int64 `json:"deliveryAttempt,omitempty"`
 
 	// Message: The message.
@@ -1521,31 +1258,23 @@
 }
 
 // RetryPolicy: A policy that specifies how Cloud Pub/Sub retries
-// message delivery.
-//
-// Retry delay will be exponential based on provided minimum and
-// maximum
-// backoffs.
-// https://en.wikipedia.org/wiki/Exponential_backoff.
-//
-// RetryPolicy will be triggered on NACKs or acknowledgement deadline
-// exceeded
-// events for a given message.
-//
-// Retry Policy is implemented on a best effort basis. At times, the
-// delay
-// between consecutive deliveries may not match the configuration. That
-// is,
-// delay can be more or less than configured backoff.
+// message delivery. Retry delay will be exponential based on provided
+// minimum and maximum backoffs.
+// https://en.wikipedia.org/wiki/Exponential_backoff. RetryPolicy will
+// be triggered on NACKs or acknowledgement deadline exceeded events for
+// a given message. Retry Policy is implemented on a best effort basis.
+// At times, the delay between consecutive deliveries may not match the
+// configuration. That is, delay can be more or less than configured
+// backoff.
 type RetryPolicy struct {
 	// MaximumBackoff: The maximum delay between consecutive deliveries of a
-	// given message.
-	// Value should be between 0 and 600 seconds. Defaults to 600 seconds.
+	// given message. Value should be between 0 and 600 seconds. Defaults to
+	// 600 seconds.
 	MaximumBackoff string `json:"maximumBackoff,omitempty"`
 
 	// MinimumBackoff: The minimum delay between consecutive deliveries of a
-	// given message.
-	// Value should be between 0 and 600 seconds. Defaults to 10 seconds.
+	// given message. Value should be between 0 and 600 seconds. Defaults to
+	// 10 seconds.
 	MinimumBackoff string `json:"minimumBackoff,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "MaximumBackoff") to
@@ -1575,30 +1304,21 @@
 // SeekRequest: Request for the `Seek` method.
 type SeekRequest struct {
 	// Snapshot: The snapshot to seek to. The snapshot's topic must be the
-	// same as that of
-	// the provided subscription.
-	// Format is `projects/{project}/snapshots/{snap}`.
+	// same as that of the provided subscription. Format is
+	// `projects/{project}/snapshots/{snap}`.
 	Snapshot string `json:"snapshot,omitempty"`
 
-	// Time: The time to seek to.
-	// Messages retained in the subscription that were published before
-	// this
-	// time are marked as acknowledged, and messages retained in
-	// the
-	// subscription that were published after this time are marked
-	// as
-	// unacknowledged. Note that this operation affects only those
-	// messages
-	// retained in the subscription (configured by the combination
-	// of
-	// `message_retention_duration` and `retain_acked_messages`). For
-	// example,
-	// if `time` corresponds to a point before the message retention
-	// window (or to a point before the system's notion of the
-	// subscription
-	// creation time), only retained messages will be marked as
-	// unacknowledged,
-	// and already-expunged messages will not be restored.
+	// Time: The time to seek to. Messages retained in the subscription that
+	// were published before this time are marked as acknowledged, and
+	// messages retained in the subscription that were published after this
+	// time are marked as unacknowledged. Note that this operation affects
+	// only those messages retained in the subscription (configured by the
+	// combination of `message_retention_duration` and
+	// `retain_acked_messages`). For example, if `time` corresponds to a
+	// point before the message retention window (or to a point before the
+	// system's notion of the subscription creation time), only retained
+	// messages will be marked as unacknowledged, and already-expunged
+	// messages will not be restored.
 	Time string `json:"time,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Snapshot") to
@@ -1635,11 +1355,9 @@
 // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
 type SetIamPolicyRequest struct {
 	// Policy: REQUIRED: The complete policy to be applied to the
-	// `resource`. The size of
-	// the policy is limited to a few 10s of KB. An empty policy is a
-	// valid policy but certain Cloud Platform services (such as
-	// Projects)
-	// might reject them.
+	// `resource`. The size of the policy is limited to a few 10s of KB. An
+	// empty policy is a valid policy but certain Cloud Platform services
+	// (such as Projects) might reject them.
 	Policy *Policy `json:"policy,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Policy") to
@@ -1665,38 +1383,26 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// Snapshot: A snapshot resource. Snapshots are used
-// in
+// Snapshot: A snapshot resource. Snapshots are used in
 // [Seek](https://cloud.google.com/pubsub/docs/replay-overview)
-// operat
-// ions, which allow you to manage message acknowledgments in bulk.
-// That
-// is, you can set the acknowledgment state of messages in an
-// existing
-// subscription to the state captured by a snapshot.
+// operations, which allow you to manage message acknowledgments in
+// bulk. That is, you can set the acknowledgment state of messages in an
+// existing subscription to the state captured by a snapshot.
 type Snapshot struct {
-	// ExpireTime: The snapshot is guaranteed to exist up until this time.
-	// A newly-created snapshot expires no later than 7 days from the time
-	// of its
-	// creation. Its exact lifetime is determined at creation by the
-	// existing
-	// backlog in the source subscription. Specifically, the lifetime of
-	// the
-	// snapshot is `7 days - (age of oldest unacked message in the
-	// subscription)`.
-	// For example, consider a subscription whose oldest unacked message is
-	// 3 days
-	// old. If a snapshot is created from this subscription, the snapshot --
-	// which
-	// will always capture this 3-day-old backlog as long as the
-	// snapshot
-	// exists -- will expire in 4 days. The service will refuse to create
-	// a
-	// snapshot that would expire in less than 1 hour after creation.
+	// ExpireTime: The snapshot is guaranteed to exist up until this time. A
+	// newly-created snapshot expires no later than 7 days from the time of
+	// its creation. Its exact lifetime is determined at creation by the
+	// existing backlog in the source subscription. Specifically, the
+	// lifetime of the snapshot is `7 days - (age of oldest unacked message
+	// in the subscription)`. For example, consider a subscription whose
+	// oldest unacked message is 3 days old. If a snapshot is created from
+	// this subscription, the snapshot -- which will always capture this
+	// 3-day-old backlog as long as the snapshot exists -- will expire in 4
+	// days. The service will refuse to create a snapshot that would expire
+	// in less than 1 hour after creation.
 	ExpireTime string `json:"expireTime,omitempty"`
 
-	// Labels: See [Creating and managing
-	// labels]
+	// Labels: See [Creating and managing labels]
 	// (https://cloud.google.com/pubsub/docs/labels).
 	Labels map[string]string `json:"labels,omitempty"`
 
@@ -1737,163 +1443,104 @@
 // Subscription: A subscription resource.
 type Subscription struct {
 	// AckDeadlineSeconds: The approximate amount of time (on a best-effort
-	// basis) Pub/Sub waits for
-	// the subscriber to acknowledge receipt before resending the message.
-	// In the
-	// interval after the message is delivered and before it is
-	// acknowledged, it
-	// is considered to be <i>outstanding</i>. During that time period,
-	// the
-	// message will not be redelivered (on a best-effort basis).
-	//
-	// For pull subscriptions, this value is used as the initial value for
-	// the ack
-	// deadline. To override this value for a given message,
-	// call
-	// `ModifyAckDeadline` with the corresponding `ack_id` if
-	// using
-	// non-streaming pull or send the `ack_id` in
-	// a
-	// `StreamingModifyAckDeadlineRequest` if using streaming pull.
-	// The minimum custom deadline you can specify is 10 seconds.
-	// The maximum custom deadline you can specify is 600 seconds (10
-	// minutes).
-	// If this parameter is 0, a default value of 10 seconds is used.
-	//
-	// For push delivery, this value is also used to set the request timeout
-	// for
-	// the call to the push endpoint.
-	//
-	// If the subscriber never acknowledges the message, the Pub/Sub
-	// system will eventually redeliver the message.
+	// basis) Pub/Sub waits for the subscriber to acknowledge receipt before
+	// resending the message. In the interval after the message is delivered
+	// and before it is acknowledged, it is considered to be *outstanding*.
+	// During that time period, the message will not be redelivered (on a
+	// best-effort basis). For pull subscriptions, this value is used as the
+	// initial value for the ack deadline. To override this value for a
+	// given message, call `ModifyAckDeadline` with the corresponding
+	// `ack_id` if using non-streaming pull or send the `ack_id` in a
+	// `StreamingModifyAckDeadlineRequest` if using streaming pull. The
+	// minimum custom deadline you can specify is 10 seconds. The maximum
+	// custom deadline you can specify is 600 seconds (10 minutes). If this
+	// parameter is 0, a default value of 10 seconds is used. For push
+	// delivery, this value is also used to set the request timeout for the
+	// call to the push endpoint. If the subscriber never acknowledges the
+	// message, the Pub/Sub system will eventually redeliver the message.
 	AckDeadlineSeconds int64 `json:"ackDeadlineSeconds,omitempty"`
 
 	// DeadLetterPolicy: A policy that specifies the conditions for dead
-	// lettering messages in
-	// this subscription. If dead_letter_policy is not set, dead
-	// lettering
-	// is disabled.
-	//
-	// The Cloud Pub/Sub service account associated with this
-	// subscriptions's
-	// parent project
-	// (i.e.,
-	// service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com)
-	//  must have
-	// permission to Acknowledge() messages on this subscription.
+	// lettering messages in this subscription. If dead_letter_policy is not
+	// set, dead lettering is disabled. The Cloud Pub/Sub service account
+	// associated with this subscriptions's parent project (i.e.,
+	// service-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must
+	// have permission to Acknowledge() messages on this subscription.
 	DeadLetterPolicy *DeadLetterPolicy `json:"deadLetterPolicy,omitempty"`
 
 	// Detached: Indicates whether the subscription is detached from its
-	// topic. Detached
-	// subscriptions don't receive messages from their topic and don't
-	// retain any
-	// backlog. `Pull` and `StreamingPull` requests will
-	// return
-	// FAILED_PRECONDITION. If the subscription is a push subscription,
-	// pushes to
-	// the endpoint will not be made.
+	// topic. Detached subscriptions don't receive messages from their topic
+	// and don't retain any backlog. `Pull` and `StreamingPull` requests
+	// will return FAILED_PRECONDITION. If the subscription is a push
+	// subscription, pushes to the endpoint will not be made.
 	Detached bool `json:"detached,omitempty"`
 
 	// EnableMessageOrdering: If true, messages published with the same
-	// `ordering_key` in `PubsubMessage`
-	// will be delivered to the subscribers in the order in which they
-	// are received by the Pub/Sub system. Otherwise, they may be delivered
-	// in
-	// any order.
+	// `ordering_key` in `PubsubMessage` will be delivered to the
+	// subscribers in the order in which they are received by the Pub/Sub
+	// system. Otherwise, they may be delivered in any order.
 	EnableMessageOrdering bool `json:"enableMessageOrdering,omitempty"`
 
 	// ExpirationPolicy: A policy that specifies the conditions for this
-	// subscription's expiration.
-	// A subscription is considered active as long as any connected
-	// subscriber is
-	// successfully consuming messages from the subscription or is
-	// issuing
-	// operations on the subscription. If `expiration_policy` is not set,
-	// a
-	// *default policy* with `ttl` of 31 days will be used. The minimum
-	// allowed
-	// value for `expiration_policy.ttl` is 1 day.
+	// subscription's expiration. A subscription is considered active as
+	// long as any connected subscriber is successfully consuming messages
+	// from the subscription or is issuing operations on the subscription.
+	// If `expiration_policy` is not set, a *default policy* with `ttl` of
+	// 31 days will be used. The minimum allowed value for
+	// `expiration_policy.ttl` is 1 day.
 	ExpirationPolicy *ExpirationPolicy `json:"expirationPolicy,omitempty"`
 
-	// Filter: An expression written in the Pub/Sub
-	// [filter
+	// Filter: An expression written in the Pub/Sub [filter
 	// language](https://cloud.google.com/pubsub/docs/filtering). If
-	// non-empty,
-	// then only `PubsubMessage`s whose `attributes` field matches the
-	// filter are
-	// delivered on this subscription. If empty, then no messages are
-	// filtered
-	// out.
+	// non-empty, then only `PubsubMessage`s whose `attributes` field
+	// matches the filter are delivered on this subscription. If empty, then
+	// no messages are filtered out.
 	Filter string `json:"filter,omitempty"`
 
-	// Labels: See <a href="https://cloud.google.com/pubsub/docs/labels">
-	// Creating and
-	// managing labels</a>.
+	// Labels: See Creating and managing labels.
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// MessageRetentionDuration: How long to retain unacknowledged messages
-	// in the subscription's backlog,
-	// from the moment a message is published.
-	// If `retain_acked_messages` is true, then this also configures the
-	// retention
-	// of acknowledged messages, and thus configures how far back in time a
-	// `Seek`
-	// can be done. Defaults to 7 days. Cannot be more than 7 days or less
-	// than 10
-	// minutes.
+	// in the subscription's backlog, from the moment a message is
+	// published. If `retain_acked_messages` is true, then this also
+	// configures the retention of acknowledged messages, and thus
+	// configures how far back in time a `Seek` can be done. Defaults to 7
+	// days. Cannot be more than 7 days or less than 10 minutes.
 	MessageRetentionDuration string `json:"messageRetentionDuration,omitempty"`
 
-	// Name: Required. The name of the subscription. It must have the
-	// format
+	// Name: Required. The name of the subscription. It must have the format
 	// "projects/{project}/subscriptions/{subscription}". `{subscription}`
-	// must
-	// start with a letter, and contain only letters (`[A-Za-z]`),
-	// numbers
-	// (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes
-	// (`~`),
-	// plus (`+`) or percent signs (`%`). It must be between 3 and 255
-	// characters
-	// in length, and it must not start with "goog".
+	// must start with a letter, and contain only letters (`[A-Za-z]`),
+	// numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`),
+	// tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3
+	// and 255 characters in length, and it must not start with "goog".
 	Name string `json:"name,omitempty"`
 
 	// PushConfig: If push delivery is used with this subscription, this
-	// field is
-	// used to configure it. An empty `pushConfig` signifies that the
-	// subscriber
-	// will pull and ack messages using API methods.
+	// field is used to configure it. An empty `pushConfig` signifies that
+	// the subscriber will pull and ack messages using API methods.
 	PushConfig *PushConfig `json:"pushConfig,omitempty"`
 
 	// RetainAckedMessages: Indicates whether to retain acknowledged
-	// messages. If true, then
-	// messages are not expunged from the subscription's backlog, even if
-	// they are
-	// acknowledged, until they fall out of the
-	// `message_retention_duration`
-	// window. This must be true if you would like to [Seek to a
-	// timestamp]
-	// (https://cloud.google.com/pubsub/docs/replay-overview#seek_
-	// to_a_time).
+	// messages. If true, then messages are not expunged from the
+	// subscription's backlog, even if they are acknowledged, until they
+	// fall out of the `message_retention_duration` window. This must be
+	// true if you would like to [Seek to a timestamp]
+	// (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time).
 	RetainAckedMessages bool `json:"retainAckedMessages,omitempty"`
 
 	// RetryPolicy: A policy that specifies how Pub/Sub retries message
-	// delivery for this
-	// subscription.
-	//
-	// If not set, the default retry policy is applied. This generally
-	// implies
-	// that messages will be retried as soon as possible for healthy
-	// subscribers.
-	// RetryPolicy will be triggered on NACKs or acknowledgement
-	// deadline
-	// exceeded events for a given message.
+	// delivery for this subscription. If not set, the default retry policy
+	// is applied. This generally implies that messages will be retried as
+	// soon as possible for healthy subscribers. RetryPolicy will be
+	// triggered on NACKs or acknowledgement deadline exceeded events for a
+	// given message.
 	RetryPolicy *RetryPolicy `json:"retryPolicy,omitempty"`
 
 	// Topic: Required. The name of the topic from which this subscription
-	// is receiving messages.
-	// Format is `projects/{project}/topics/{topic}`.
+	// is receiving messages. Format is `projects/{project}/topics/{topic}`.
 	// The value of this field will be `_deleted-topic_` if the topic has
-	// been
-	// deleted.
+	// been deleted.
 	Topic string `json:"topic,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1928,11 +1575,8 @@
 // method.
 type TestIamPermissionsRequest struct {
 	// Permissions: The set of permissions to check for the `resource`.
-	// Permissions with
-	// wildcards (such as '*' or 'storage.*') are not allowed. For
-	// more
-	// information see
-	// [IAM
+	// Permissions with wildcards (such as '*' or 'storage.*') are not
+	// allowed. For more information see [IAM
 	// Overview](https://cloud.google.com/iam/docs/overview#permissions).
 	Permissions []string `json:"permissions,omitempty"`
 
@@ -1963,8 +1607,7 @@
 // method.
 type TestIamPermissionsResponse struct {
 	// Permissions: A subset of `TestPermissionsRequest.permissions` that
-	// the caller is
-	// allowed.
+	// the caller is allowed.
 	Permissions []string `json:"permissions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1997,36 +1640,25 @@
 // Topic: A topic resource.
 type Topic struct {
 	// KmsKeyName: The resource name of the Cloud KMS CryptoKey to be used
-	// to protect access
-	// to messages published on this topic.
-	//
-	// The expected format is
-	// `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
+	// to protect access to messages published on this topic. The expected
+	// format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
 	KmsKeyName string `json:"kmsKeyName,omitempty"`
 
-	// Labels: See [Creating and managing
-	// labels]
+	// Labels: See [Creating and managing labels]
 	// (https://cloud.google.com/pubsub/docs/labels).
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// MessageStoragePolicy: Policy constraining the set of Google Cloud
-	// Platform regions where messages
-	// published to the topic may be stored. If not present, then no
-	// constraints
-	// are in effect.
+	// Platform regions where messages published to the topic may be stored.
+	// If not present, then no constraints are in effect.
 	MessageStoragePolicy *MessageStoragePolicy `json:"messageStoragePolicy,omitempty"`
 
-	// Name: Required. The name of the topic. It must have the
-	// format
+	// Name: Required. The name of the topic. It must have the format
 	// "projects/{project}/topics/{topic}". `{topic}` must start with a
-	// letter,
-	// and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes
-	// (`-`),
-	// underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or
-	// percent
-	// signs (`%`). It must be between 3 and 255 characters in length, and
-	// it
-	// must not start with "goog".
+	// letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`),
+	// dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus
+	// (`+`) or percent signs (`%`). It must be between 3 and 255 characters
+	// in length, and it must not start with "goog".
 	Name string `json:"name,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2062,8 +1694,7 @@
 	Snapshot *Snapshot `json:"snapshot,omitempty"`
 
 	// UpdateMask: Required. Indicates which fields in the provided snapshot
-	// to update.
-	// Must be specified and non-empty.
+	// to update. Must be specified and non-empty.
 	UpdateMask string `json:"updateMask,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Snapshot") to
@@ -2095,8 +1726,7 @@
 	Subscription *Subscription `json:"subscription,omitempty"`
 
 	// UpdateMask: Required. Indicates which fields in the provided
-	// subscription to update.
-	// Must be specified and non-empty.
+	// subscription to update. Must be specified and non-empty.
 	UpdateMask string `json:"updateMask,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Subscription") to
@@ -2128,14 +1758,11 @@
 	Topic *Topic `json:"topic,omitempty"`
 
 	// UpdateMask: Required. Indicates which fields in the provided topic to
-	// update. Must be specified
-	// and non-empty. Note that if `update_mask`
-	// contains
-	// "message_storage_policy" but the `message_storage_policy` is not set
-	// in
-	// the `topic` provided above, then the updated value is determined by
-	// the
-	// policy configured at the project or organization level.
+	// update. Must be specified and non-empty. Note that if `update_mask`
+	// contains "message_storage_policy" but the `message_storage_policy` is
+	// not set in the `topic` provided above, then the updated value is
+	// determined by the policy configured at the project or organization
+	// level.
 	UpdateMask string `json:"updateMask,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Topic") to
@@ -2173,33 +1800,22 @@
 }
 
 // Create: Creates a snapshot from the requested subscription. Snapshots
-// are used
-// in
+// are used in
 // [Seek](https://cloud.google.com/pubsub/docs/replay-overview)
-// operations,
-// which allow you to manage message acknowledgments in bulk. That is,
-// you can
-// set the acknowledgment state of messages in an existing subscription
-// to the
-// state captured by a snapshot.
-// If the snapshot already exists, returns `ALREADY_EXISTS`.
-// If the requested subscription doesn't exist, returns `NOT_FOUND`.
-// If the backlog in the subscription is too old -- and the resulting
-// snapshot
-// would expire in less than 1 hour -- then `FAILED_PRECONDITION` is
-// returned.
+// operations, which allow you to manage message acknowledgments in
+// bulk. That is, you can set the acknowledgment state of messages in an
+// existing subscription to the state captured by a snapshot. If the
+// snapshot already exists, returns `ALREADY_EXISTS`. If the requested
+// subscription doesn't exist, returns `NOT_FOUND`. If the backlog in
+// the subscription is too old -- and the resulting snapshot would
+// expire in less than 1 hour -- then `FAILED_PRECONDITION` is returned.
 // See also the `Snapshot.expire_time` field. If the name is not
-// provided in
-// the request, the server will assign a random
-// name for this snapshot on the same project as the subscription,
-// conforming
-// to the [resource name
-// format]
-// (https://cloud.google.com/pubsub/docs/admin#resource_names).
-// The
+// provided in the request, the server will assign a random name for
+// this snapshot on the same project as the subscription, conforming to
+// the [resource name format]
+// (https://cloud.google.com/pubsub/docs/admin#resource_names). The
 // generated name is populated in the returned Snapshot object. Note
-// that for
-// REST API requests, you must specify a name in the request.
+// that for REST API requests, you must specify a name in the request.
 func (r *ProjectsSnapshotsService) Create(name string, createsnapshotrequest *CreateSnapshotRequest) *ProjectsSnapshotsCreateCall {
 	c := &ProjectsSnapshotsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -2234,7 +1850,7 @@
 
 func (c *ProjectsSnapshotsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2298,7 +1914,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a snapshot from the requested subscription. Snapshots are used in\n[Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations,\nwhich allow you to manage message acknowledgments in bulk. That is, you can\nset the acknowledgment state of messages in an existing subscription to the\nstate captured by a snapshot.\nIf the snapshot already exists, returns `ALREADY_EXISTS`.\nIf the requested subscription doesn't exist, returns `NOT_FOUND`.\nIf the backlog in the subscription is too old -- and the resulting snapshot\nwould expire in less than 1 hour -- then `FAILED_PRECONDITION` is returned.\nSee also the `Snapshot.expire_time` field. If the name is not provided in\nthe request, the server will assign a random\nname for this snapshot on the same project as the subscription, conforming\nto the [resource name format]\n(https://cloud.google.com/pubsub/docs/admin#resource_names). The\ngenerated name is populated in the returned Snapshot object. Note that for\nREST API requests, you must specify a name in the request.",
+	//   "description": "Creates a snapshot from the requested subscription. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. If the snapshot already exists, returns `ALREADY_EXISTS`. If the requested subscription doesn't exist, returns `NOT_FOUND`. If the backlog in the subscription is too old -- and the resulting snapshot would expire in less than 1 hour -- then `FAILED_PRECONDITION` is returned. See also the `Snapshot.expire_time` field. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription, conforming to the [resource name format] (https://cloud.google.com/pubsub/docs/admin#resource_names). The generated name is populated in the returned Snapshot object. Note that for REST API requests, you must specify a name in the request.",
 	//   "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}",
 	//   "httpMethod": "PUT",
 	//   "id": "pubsub.projects.snapshots.create",
@@ -2307,7 +1923,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. User-provided name for this snapshot. If the name is not provided in the\nrequest, the server will assign a random name for this snapshot on the same\nproject as the subscription. Note that for REST API requests, you must\nspecify a name.  See the \u003ca\nhref=\"https://cloud.google.com/pubsub/docs/admin#resource_names\"\u003e resource\nname rules\u003c/a\u003e. Format is `projects/{project}/snapshots/{snap}`.",
+	//       "description": "Required. User-provided name for this snapshot. If the name is not provided in the request, the server will assign a random name for this snapshot on the same project as the subscription. Note that for REST API requests, you must specify a name. See the resource name rules. Format is `projects/{project}/snapshots/{snap}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/snapshots/[^/]+$",
 	//       "required": true,
@@ -2339,21 +1955,14 @@
 	header_    http.Header
 }
 
-// Delete: Removes an existing snapshot. Snapshots are used in
-// [Seek]
+// Delete: Removes an existing snapshot. Snapshots are used in [Seek]
 // (https://cloud.google.com/pubsub/docs/replay-overview) operations,
-// which
-// allow you to manage message acknowledgments in bulk. That is, you can
-// set
-// the acknowledgment state of messages in an existing subscription to
-// the
-// state captured by a snapshot.
-// When the snapshot is deleted, all messages retained in the
-// snapshot
-// are immediately dropped. After a snapshot is deleted, a new one may
-// be
-// created with the same name, but the new one has no association with
-// the old
+// which allow you to manage message acknowledgments in bulk. That is,
+// you can set the acknowledgment state of messages in an existing
+// subscription to the state captured by a snapshot. When the snapshot
+// is deleted, all messages retained in the snapshot are immediately
+// dropped. After a snapshot is deleted, a new one may be created with
+// the same name, but the new one has no association with the old
 // snapshot or its subscription, unless the same subscription is
 // specified.
 func (r *ProjectsSnapshotsService) Delete(snapshot string) *ProjectsSnapshotsDeleteCall {
@@ -2389,7 +1998,7 @@
 
 func (c *ProjectsSnapshotsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2448,7 +2057,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Removes an existing snapshot. Snapshots are used in [Seek]\n(https://cloud.google.com/pubsub/docs/replay-overview) operations, which\nallow you to manage message acknowledgments in bulk. That is, you can set\nthe acknowledgment state of messages in an existing subscription to the\nstate captured by a snapshot.\nWhen the snapshot is deleted, all messages retained in the snapshot\nare immediately dropped. After a snapshot is deleted, a new one may be\ncreated with the same name, but the new one has no association with the old\nsnapshot or its subscription, unless the same subscription is specified.",
+	//   "description": "Removes an existing snapshot. Snapshots are used in [Seek] (https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. When the snapshot is deleted, all messages retained in the snapshot are immediately dropped. After a snapshot is deleted, a new one may be created with the same name, but the new one has no association with the old snapshot or its subscription, unless the same subscription is specified.",
 	//   "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "pubsub.projects.snapshots.delete",
@@ -2457,7 +2066,7 @@
 	//   ],
 	//   "parameters": {
 	//     "snapshot": {
-	//       "description": "Required. The name of the snapshot to delete.\nFormat is `projects/{project}/snapshots/{snap}`.",
+	//       "description": "Required. The name of the snapshot to delete. Format is `projects/{project}/snapshots/{snap}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/snapshots/[^/]+$",
 	//       "required": true,
@@ -2488,15 +2097,9 @@
 }
 
 // Get: Gets the configuration details of a snapshot. Snapshots are used
-// in
-// <a
-// href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
-// o
-// perations, which allow you to manage message acknowledgments in bulk.
-// That
-// is, you can set the acknowledgment state of messages in an
-// existing
-// subscription to the state captured by a snapshot.
+// in Seek operations, which allow you to manage message acknowledgments
+// in bulk. That is, you can set the acknowledgment state of messages in
+// an existing subscription to the state captured by a snapshot.
 func (r *ProjectsSnapshotsService) Get(snapshot string) *ProjectsSnapshotsGetCall {
 	c := &ProjectsSnapshotsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.snapshot = snapshot
@@ -2540,7 +2143,7 @@
 
 func (c *ProjectsSnapshotsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2602,7 +2205,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the configuration details of a snapshot. Snapshots are used in\n\u003ca href=\"https://cloud.google.com/pubsub/docs/replay-overview\"\u003eSeek\u003c/a\u003e\noperations, which allow you to manage message acknowledgments in bulk. That\nis, you can set the acknowledgment state of messages in an existing\nsubscription to the state captured by a snapshot.",
+	//   "description": "Gets the configuration details of a snapshot. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.",
 	//   "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}",
 	//   "httpMethod": "GET",
 	//   "id": "pubsub.projects.snapshots.get",
@@ -2611,7 +2214,7 @@
 	//   ],
 	//   "parameters": {
 	//     "snapshot": {
-	//       "description": "Required. The name of the snapshot to get.\nFormat is `projects/{project}/snapshots/{snap}`.",
+	//       "description": "Required. The name of the snapshot to get. Format is `projects/{project}/snapshots/{snap}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/snapshots/[^/]+$",
 	//       "required": true,
@@ -2641,9 +2244,8 @@
 	header_      http.Header
 }
 
-// GetIamPolicy: Gets the access control policy for a resource.
-// Returns an empty policy if the resource exists and does not have a
-// policy
+// GetIamPolicy: Gets the access control policy for a resource. Returns
+// an empty policy if the resource exists and does not have a policy
 // set.
 func (r *ProjectsSnapshotsService) GetIamPolicy(resource string) *ProjectsSnapshotsGetIamPolicyCall {
 	c := &ProjectsSnapshotsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -2653,24 +2255,14 @@
 
 // OptionsRequestedPolicyVersion sets the optional parameter
 // "options.requestedPolicyVersion": The policy format version to be
-// returned.
-//
-// Valid values are 0, 1, and 3. Requests specifying an invalid value
-// will be
-// rejected.
-//
-// Requests for policies with any conditional bindings must specify
-// version 3.
-// Policies without any conditional bindings may specify any valid value
-// or
-// leave the field unset.
-//
-// To learn which resources support conditions in their IAM policies,
-// see
-// the
-// [IAM
-// documentation](https://cloud.google.com/iam/help/conditions/r
-// esource-policies).
+// returned. Valid values are 0, 1, and 3. Requests specifying an
+// invalid value will be rejected. Requests for policies with any
+// conditional bindings must specify version 3. Policies without any
+// conditional bindings may specify any valid value or leave the field
+// unset. To learn which resources support conditions in their IAM
+// policies, see the [IAM
+// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+// olicies).
 func (c *ProjectsSnapshotsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsSnapshotsGetIamPolicyCall {
 	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
 	return c
@@ -2713,7 +2305,7 @@
 
 func (c *ProjectsSnapshotsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2775,7 +2367,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
+	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
 	//   "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:getIamPolicy",
 	//   "httpMethod": "GET",
 	//   "id": "pubsub.projects.snapshots.getIamPolicy",
@@ -2784,13 +2376,13 @@
 	//   ],
 	//   "parameters": {
 	//     "options.requestedPolicyVersion": {
-	//       "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+	//       "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/snapshots/[^/]+$",
 	//       "required": true,
@@ -2820,15 +2412,11 @@
 	header_      http.Header
 }
 
-// List: Lists the existing snapshots. Snapshots are used in
-// [Seek](
+// List: Lists the existing snapshots. Snapshots are used in [Seek](
 // https://cloud.google.com/pubsub/docs/replay-overview) operations,
-// which
-// allow you to manage message acknowledgments in bulk. That is, you can
-// set
-// the acknowledgment state of messages in an existing subscription to
-// the
-// state captured by a snapshot.
+// which allow you to manage message acknowledgments in bulk. That is,
+// you can set the acknowledgment state of messages in an existing
+// subscription to the state captured by a snapshot.
 func (r *ProjectsSnapshotsService) List(project string) *ProjectsSnapshotsListCall {
 	c := &ProjectsSnapshotsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.project = project
@@ -2843,9 +2431,8 @@
 }
 
 // PageToken sets the optional parameter "pageToken": The value returned
-// by the last `ListSnapshotsResponse`; indicates that this
-// is a continuation of a prior `ListSnapshots` call, and that the
-// system
+// by the last `ListSnapshotsResponse`; indicates that this is a
+// continuation of a prior `ListSnapshots` call, and that the system
 // should return the next page of data.
 func (c *ProjectsSnapshotsListCall) PageToken(pageToken string) *ProjectsSnapshotsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
@@ -2889,7 +2476,7 @@
 
 func (c *ProjectsSnapshotsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2951,7 +2538,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists the existing snapshots. Snapshots are used in [Seek](\nhttps://cloud.google.com/pubsub/docs/replay-overview) operations, which\nallow you to manage message acknowledgments in bulk. That is, you can set\nthe acknowledgment state of messages in an existing subscription to the\nstate captured by a snapshot.",
+	//   "description": "Lists the existing snapshots. Snapshots are used in [Seek]( https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.",
 	//   "flatPath": "v1/projects/{projectsId}/snapshots",
 	//   "httpMethod": "GET",
 	//   "id": "pubsub.projects.snapshots.list",
@@ -2966,12 +2553,12 @@
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "The value returned by the last `ListSnapshotsResponse`; indicates that this\nis a continuation of a prior `ListSnapshots` call, and that the system\nshould return the next page of data.",
+	//       "description": "The value returned by the last `ListSnapshotsResponse`; indicates that this is a continuation of a prior `ListSnapshots` call, and that the system should return the next page of data.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "project": {
-	//       "description": "Required. The name of the project in which to list snapshots.\nFormat is `projects/{project-id}`.",
+	//       "description": "Required. The name of the project in which to list snapshots. Format is `projects/{project-id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -3022,16 +2609,10 @@
 	header_               http.Header
 }
 
-// Patch: Updates an existing snapshot. Snapshots are used in
-// <a
-// href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
-// o
-// perations, which allow
-// you to manage message acknowledgments in bulk. That is, you can set
-// the
-// acknowledgment state of messages in an existing subscription to the
-// state
-// captured by a snapshot.
+// Patch: Updates an existing snapshot. Snapshots are used in Seek
+// operations, which allow you to manage message acknowledgments in
+// bulk. That is, you can set the acknowledgment state of messages in an
+// existing subscription to the state captured by a snapshot.
 func (r *ProjectsSnapshotsService) Patch(name string, updatesnapshotrequest *UpdateSnapshotRequest) *ProjectsSnapshotsPatchCall {
 	c := &ProjectsSnapshotsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3066,7 +2647,7 @@
 
 func (c *ProjectsSnapshotsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3130,7 +2711,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates an existing snapshot. Snapshots are used in\n\u003ca href=\"https://cloud.google.com/pubsub/docs/replay-overview\"\u003eSeek\u003c/a\u003e\noperations, which allow\nyou to manage message acknowledgments in bulk. That is, you can set the\nacknowledgment state of messages in an existing subscription to the state\ncaptured by a snapshot.",
+	//   "description": "Updates an existing snapshot. Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.",
 	//   "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}",
 	//   "httpMethod": "PATCH",
 	//   "id": "pubsub.projects.snapshots.patch",
@@ -3173,11 +2754,8 @@
 }
 
 // SetIamPolicy: Sets the access control policy on the specified
-// resource. Replaces any
-// existing policy.
-//
-// Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`
-// errors.
+// resource. Replaces any existing policy. Can return `NOT_FOUND`,
+// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
 func (r *ProjectsSnapshotsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsSnapshotsSetIamPolicyCall {
 	c := &ProjectsSnapshotsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -3212,7 +2790,7 @@
 
 func (c *ProjectsSnapshotsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3276,7 +2854,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
+	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
 	//   "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.projects.snapshots.setIamPolicy",
@@ -3285,7 +2863,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/snapshots/[^/]+$",
 	//       "required": true,
@@ -3319,16 +2897,11 @@
 }
 
 // TestIamPermissions: 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.
+// 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.
 func (r *ProjectsSnapshotsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsSnapshotsTestIamPermissionsCall {
 	c := &ProjectsSnapshotsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -3363,7 +2936,7 @@
 
 func (c *ProjectsSnapshotsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3427,7 +3000,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+	//   "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
 	//   "flatPath": "v1/projects/{projectsId}/snapshots/{snapshotsId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.projects.snapshots.testIamPermissions",
@@ -3436,7 +3009,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/snapshots/[^/]+$",
 	//       "required": true,
@@ -3470,16 +3043,11 @@
 }
 
 // Acknowledge: Acknowledges the messages associated with the `ack_ids`
-// in the
-// `AcknowledgeRequest`. The Pub/Sub system can remove the relevant
-// messages
-// from the subscription.
-//
-// Acknowledging a message whose ack deadline has expired may
-// succeed,
-// but such a message may be redelivered later. Acknowledging a message
-// more
-// than once will not result in an error.
+// in the `AcknowledgeRequest`. The Pub/Sub system can remove the
+// relevant messages from the subscription. Acknowledging a message
+// whose ack deadline has expired may succeed, but such a message may be
+// redelivered later. Acknowledging a message more than once will not
+// result in an error.
 func (r *ProjectsSubscriptionsService) Acknowledge(subscription string, acknowledgerequest *AcknowledgeRequest) *ProjectsSubscriptionsAcknowledgeCall {
 	c := &ProjectsSubscriptionsAcknowledgeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.subscription = subscription
@@ -3514,7 +3082,7 @@
 
 func (c *ProjectsSubscriptionsAcknowledgeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3578,7 +3146,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Acknowledges the messages associated with the `ack_ids` in the\n`AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages\nfrom the subscription.\n\nAcknowledging a message whose ack deadline has expired may succeed,\nbut such a message may be redelivered later. Acknowledging a message more\nthan once will not result in an error.",
+	//   "description": "Acknowledges the messages associated with the `ack_ids` in the `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages from the subscription. Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error.",
 	//   "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:acknowledge",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.projects.subscriptions.acknowledge",
@@ -3587,7 +3155,7 @@
 	//   ],
 	//   "parameters": {
 	//     "subscription": {
-	//       "description": "Required. The subscription whose message is being acknowledged.\nFormat is `projects/{project}/subscriptions/{sub}`.",
+	//       "description": "Required. The subscription whose message is being acknowledged. Format is `projects/{project}/subscriptions/{sub}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
 	//       "required": true,
@@ -3621,24 +3189,16 @@
 }
 
 // Create: Creates a subscription to a given topic. See the [resource
-// name
-// rules]
-// (https://cloud.google.com/pubsub/docs/admin#resource_names).
-// If
-//  the subscription already exists, returns `ALREADY_EXISTS`.
-// If the corresponding topic doesn't exist, returns `NOT_FOUND`.
-//
-// If the name is not provided in the request, the server will assign a
-// random
-// name for this subscription on the same project as the topic,
-// conforming
-// to the [resource name
-// format]
+// name rules]
+// (https://cloud.google.com/pubsub/docs/admin#resource_names). If the
+// subscription already exists, returns `ALREADY_EXISTS`. If the
+// corresponding topic doesn't exist, returns `NOT_FOUND`. If the name
+// is not provided in the request, the server will assign a random name
+// for this subscription on the same project as the topic, conforming to
+// the [resource name format]
 // (https://cloud.google.com/pubsub/docs/admin#resource_names). The
-// generated
-// name is populated in the returned Subscription object. Note that for
-// REST
-// API requests, you must specify a name in the request.
+// generated name is populated in the returned Subscription object. Note
+// that for REST API requests, you must specify a name in the request.
 func (r *ProjectsSubscriptionsService) Create(name string, subscription *Subscription) *ProjectsSubscriptionsCreateCall {
 	c := &ProjectsSubscriptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3673,7 +3233,7 @@
 
 func (c *ProjectsSubscriptionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3737,7 +3297,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a subscription to a given topic. See the [resource name rules]\n(https://cloud.google.com/pubsub/docs/admin#resource_names).\nIf the subscription already exists, returns `ALREADY_EXISTS`.\nIf the corresponding topic doesn't exist, returns `NOT_FOUND`.\n\nIf the name is not provided in the request, the server will assign a random\nname for this subscription on the same project as the topic, conforming\nto the [resource name format]\n(https://cloud.google.com/pubsub/docs/admin#resource_names). The generated\nname is populated in the returned Subscription object. Note that for REST\nAPI requests, you must specify a name in the request.",
+	//   "description": "Creates a subscription to a given topic. See the [resource name rules] (https://cloud.google.com/pubsub/docs/admin#resource_names). If the subscription already exists, returns `ALREADY_EXISTS`. If the corresponding topic doesn't exist, returns `NOT_FOUND`. If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic, conforming to the [resource name format] (https://cloud.google.com/pubsub/docs/admin#resource_names). The generated name is populated in the returned Subscription object. Note that for REST API requests, you must specify a name in the request.",
 	//   "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}",
 	//   "httpMethod": "PUT",
 	//   "id": "pubsub.projects.subscriptions.create",
@@ -3746,7 +3306,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the subscription. It must have the format\n`\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must\nstart with a letter, and contain only letters (`[A-Za-z]`), numbers\n(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),\nplus (`+`) or percent signs (`%`). It must be between 3 and 255 characters\nin length, and it must not start with `\"goog\"`.",
+	//       "description": "Required. The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
 	//       "required": true,
@@ -3779,14 +3339,11 @@
 }
 
 // Delete: Deletes an existing subscription. All messages retained in
-// the subscription
-// are immediately dropped. Calls to `Pull` after deletion will
-// return
-// `NOT_FOUND`. After a subscription is deleted, a new one may be
-// created with
-// the same name, but the new one has no association with the
-// old
-// subscription or its topic unless the same topic is specified.
+// the subscription are immediately dropped. Calls to `Pull` after
+// deletion will return `NOT_FOUND`. After a subscription is deleted, a
+// new one may be created with the same name, but the new one has no
+// association with the old subscription or its topic unless the same
+// topic is specified.
 func (r *ProjectsSubscriptionsService) Delete(subscription string) *ProjectsSubscriptionsDeleteCall {
 	c := &ProjectsSubscriptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.subscription = subscription
@@ -3820,7 +3377,7 @@
 
 func (c *ProjectsSubscriptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3879,7 +3436,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes an existing subscription. All messages retained in the subscription\nare immediately dropped. Calls to `Pull` after deletion will return\n`NOT_FOUND`. After a subscription is deleted, a new one may be created with\nthe same name, but the new one has no association with the old\nsubscription or its topic unless the same topic is specified.",
+	//   "description": "Deletes an existing subscription. All messages retained in the subscription are immediately dropped. Calls to `Pull` after deletion will return `NOT_FOUND`. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription or its topic unless the same topic is specified.",
 	//   "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "pubsub.projects.subscriptions.delete",
@@ -3888,7 +3445,7 @@
 	//   ],
 	//   "parameters": {
 	//     "subscription": {
-	//       "description": "Required. The subscription to delete.\nFormat is `projects/{project}/subscriptions/{sub}`.",
+	//       "description": "Required. The subscription to delete. Format is `projects/{project}/subscriptions/{sub}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
 	//       "required": true,
@@ -3918,12 +3475,10 @@
 }
 
 // Detach: Detaches a subscription from this topic. All messages
-// retained in the
-// subscription are dropped. Subsequent `Pull` and `StreamingPull`
-// requests
-// will return FAILED_PRECONDITION. If the subscription is a
-// push
-// subscription, pushes to the endpoint will stop.
+// retained in the subscription are dropped. Subsequent `Pull` and
+// `StreamingPull` requests will return FAILED_PRECONDITION. If the
+// subscription is a push subscription, pushes to the endpoint will
+// stop.
 func (r *ProjectsSubscriptionsService) Detach(subscription string) *ProjectsSubscriptionsDetachCall {
 	c := &ProjectsSubscriptionsDetachCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.subscription = subscription
@@ -3957,7 +3512,7 @@
 
 func (c *ProjectsSubscriptionsDetachCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4016,7 +3571,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Detaches a subscription from this topic. All messages retained in the\nsubscription are dropped. Subsequent `Pull` and `StreamingPull` requests\nwill return FAILED_PRECONDITION. If the subscription is a push\nsubscription, pushes to the endpoint will stop.",
+	//   "description": "Detaches a subscription from this topic. All messages retained in the subscription are dropped. Subsequent `Pull` and `StreamingPull` requests will return FAILED_PRECONDITION. If the subscription is a push subscription, pushes to the endpoint will stop.",
 	//   "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:detach",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.projects.subscriptions.detach",
@@ -4025,7 +3580,7 @@
 	//   ],
 	//   "parameters": {
 	//     "subscription": {
-	//       "description": "Required. The subscription to detach.\nFormat is `projects/{project}/subscriptions/{subscription}`.",
+	//       "description": "Required. The subscription to detach. Format is `projects/{project}/subscriptions/{subscription}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
 	//       "required": true,
@@ -4099,7 +3654,7 @@
 
 func (c *ProjectsSubscriptionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4170,7 +3725,7 @@
 	//   ],
 	//   "parameters": {
 	//     "subscription": {
-	//       "description": "Required. The name of the subscription to get.\nFormat is `projects/{project}/subscriptions/{sub}`.",
+	//       "description": "Required. The name of the subscription to get. Format is `projects/{project}/subscriptions/{sub}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
 	//       "required": true,
@@ -4200,9 +3755,8 @@
 	header_      http.Header
 }
 
-// GetIamPolicy: Gets the access control policy for a resource.
-// Returns an empty policy if the resource exists and does not have a
-// policy
+// GetIamPolicy: Gets the access control policy for a resource. Returns
+// an empty policy if the resource exists and does not have a policy
 // set.
 func (r *ProjectsSubscriptionsService) GetIamPolicy(resource string) *ProjectsSubscriptionsGetIamPolicyCall {
 	c := &ProjectsSubscriptionsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -4212,24 +3766,14 @@
 
 // OptionsRequestedPolicyVersion sets the optional parameter
 // "options.requestedPolicyVersion": The policy format version to be
-// returned.
-//
-// Valid values are 0, 1, and 3. Requests specifying an invalid value
-// will be
-// rejected.
-//
-// Requests for policies with any conditional bindings must specify
-// version 3.
-// Policies without any conditional bindings may specify any valid value
-// or
-// leave the field unset.
-//
-// To learn which resources support conditions in their IAM policies,
-// see
-// the
-// [IAM
-// documentation](https://cloud.google.com/iam/help/conditions/r
-// esource-policies).
+// returned. Valid values are 0, 1, and 3. Requests specifying an
+// invalid value will be rejected. Requests for policies with any
+// conditional bindings must specify version 3. Policies without any
+// conditional bindings may specify any valid value or leave the field
+// unset. To learn which resources support conditions in their IAM
+// policies, see the [IAM
+// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+// olicies).
 func (c *ProjectsSubscriptionsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsSubscriptionsGetIamPolicyCall {
 	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
 	return c
@@ -4272,7 +3816,7 @@
 
 func (c *ProjectsSubscriptionsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4334,7 +3878,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
+	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
 	//   "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:getIamPolicy",
 	//   "httpMethod": "GET",
 	//   "id": "pubsub.projects.subscriptions.getIamPolicy",
@@ -4343,13 +3887,13 @@
 	//   ],
 	//   "parameters": {
 	//     "options.requestedPolicyVersion": {
-	//       "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+	//       "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
 	//       "required": true,
@@ -4394,10 +3938,9 @@
 }
 
 // PageToken sets the optional parameter "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.
+// 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.
 func (c *ProjectsSubscriptionsListCall) PageToken(pageToken string) *ProjectsSubscriptionsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -4440,7 +3983,7 @@
 
 func (c *ProjectsSubscriptionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4517,12 +4060,12 @@
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "The value returned by the last `ListSubscriptionsResponse`; indicates that\nthis is a continuation of a prior `ListSubscriptions` call, and that the\nsystem should return the next page of data.",
+	//       "description": "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.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "project": {
-	//       "description": "Required. The name of the project in which to list subscriptions.\nFormat is `projects/{project-id}`.",
+	//       "description": "Required. The name of the project in which to list subscriptions. Format is `projects/{project-id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -4574,14 +4117,11 @@
 }
 
 // ModifyAckDeadline: Modifies the ack deadline for a specific message.
-// This method is useful
-// to indicate that more time is needed to process a message by
-// the
-// subscriber, or to make the message available for redelivery if
-// the
-// processing was interrupted. Note that this does not modify
-// the
-// subscription-level `ackDeadlineSeconds` used for subsequent messages.
+// This method is useful to indicate that more time is needed to process
+// a message by the subscriber, or to make the message available for
+// redelivery if the processing was interrupted. Note that this does not
+// modify the subscription-level `ackDeadlineSeconds` used for
+// subsequent messages.
 func (r *ProjectsSubscriptionsService) ModifyAckDeadline(subscription string, modifyackdeadlinerequest *ModifyAckDeadlineRequest) *ProjectsSubscriptionsModifyAckDeadlineCall {
 	c := &ProjectsSubscriptionsModifyAckDeadlineCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.subscription = subscription
@@ -4616,7 +4156,7 @@
 
 func (c *ProjectsSubscriptionsModifyAckDeadlineCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4680,7 +4220,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Modifies the ack deadline for a specific message. This method is useful\nto indicate that more time is needed to process a message by the\nsubscriber, or to make the message available for redelivery if the\nprocessing was interrupted. Note that this does not modify the\nsubscription-level `ackDeadlineSeconds` used for subsequent messages.",
+	//   "description": "Modifies the ack deadline for a specific message. This method is useful to indicate that more time is needed to process a message by the subscriber, or to make the message available for redelivery if the processing was interrupted. Note that this does not modify the subscription-level `ackDeadlineSeconds` used for subsequent messages.",
 	//   "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyAckDeadline",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.projects.subscriptions.modifyAckDeadline",
@@ -4689,7 +4229,7 @@
 	//   ],
 	//   "parameters": {
 	//     "subscription": {
-	//       "description": "Required. The name of the subscription.\nFormat is `projects/{project}/subscriptions/{sub}`.",
+	//       "description": "Required. The name of the subscription. Format is `projects/{project}/subscriptions/{sub}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
 	//       "required": true,
@@ -4723,16 +4263,11 @@
 }
 
 // ModifyPushConfig: Modifies the `PushConfig` for a specified
-// subscription.
-//
-// This may be used to change a push subscription to a pull one
-// (signified by
-// an empty `PushConfig`) or vice versa, or change the endpoint URL and
-// other
-// attributes of a push subscription. Messages will accumulate for
-// delivery
-// continuously through the call regardless of changes to the
-// `PushConfig`.
+// subscription. This may be used to change a push subscription to a
+// pull one (signified by an empty `PushConfig`) or vice versa, or
+// change the endpoint URL and other attributes of a push subscription.
+// Messages will accumulate for delivery continuously through the call
+// regardless of changes to the `PushConfig`.
 func (r *ProjectsSubscriptionsService) ModifyPushConfig(subscription string, modifypushconfigrequest *ModifyPushConfigRequest) *ProjectsSubscriptionsModifyPushConfigCall {
 	c := &ProjectsSubscriptionsModifyPushConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.subscription = subscription
@@ -4767,7 +4302,7 @@
 
 func (c *ProjectsSubscriptionsModifyPushConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4831,7 +4366,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Modifies the `PushConfig` for a specified subscription.\n\nThis may be used to change a push subscription to a pull one (signified by\nan empty `PushConfig`) or vice versa, or change the endpoint URL and other\nattributes of a push subscription. Messages will accumulate for delivery\ncontinuously through the call regardless of changes to the `PushConfig`.",
+	//   "description": "Modifies the `PushConfig` for a specified subscription. This may be used to change a push subscription to a pull one (signified by an empty `PushConfig`) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the `PushConfig`.",
 	//   "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyPushConfig",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.projects.subscriptions.modifyPushConfig",
@@ -4840,7 +4375,7 @@
 	//   ],
 	//   "parameters": {
 	//     "subscription": {
-	//       "description": "Required. The name of the subscription.\nFormat is `projects/{project}/subscriptions/{sub}`.",
+	//       "description": "Required. The name of the subscription. Format is `projects/{project}/subscriptions/{sub}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
 	//       "required": true,
@@ -4874,8 +4409,7 @@
 }
 
 // Patch: Updates an existing subscription. Note that certain properties
-// of a
-// subscription, such as its topic, are not modifiable.
+// of a subscription, such as its topic, are not modifiable.
 func (r *ProjectsSubscriptionsService) Patch(name string, updatesubscriptionrequest *UpdateSubscriptionRequest) *ProjectsSubscriptionsPatchCall {
 	c := &ProjectsSubscriptionsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4910,7 +4444,7 @@
 
 func (c *ProjectsSubscriptionsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4974,7 +4508,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates an existing subscription. Note that certain properties of a\nsubscription, such as its topic, are not modifiable.",
+	//   "description": "Updates an existing subscription. Note that certain properties of a subscription, such as its topic, are not modifiable.",
 	//   "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}",
 	//   "httpMethod": "PATCH",
 	//   "id": "pubsub.projects.subscriptions.patch",
@@ -4983,7 +4517,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the subscription. It must have the format\n`\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must\nstart with a letter, and contain only letters (`[A-Za-z]`), numbers\n(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),\nplus (`+`) or percent signs (`%`). It must be between 3 and 255 characters\nin length, and it must not start with `\"goog\"`.",
+	//       "description": "Required. The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
 	//       "required": true,
@@ -5017,10 +4551,8 @@
 }
 
 // Pull: Pulls messages from the server. The server may return
-// `UNAVAILABLE` if
-// there are too many concurrent pull requests pending for the
-// given
-// subscription.
+// `UNAVAILABLE` if there are too many concurrent pull requests pending
+// for the given subscription.
 func (r *ProjectsSubscriptionsService) Pull(subscription string, pullrequest *PullRequest) *ProjectsSubscriptionsPullCall {
 	c := &ProjectsSubscriptionsPullCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.subscription = subscription
@@ -5055,7 +4587,7 @@
 
 func (c *ProjectsSubscriptionsPullCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5119,7 +4651,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Pulls messages from the server. The server may return `UNAVAILABLE` if\nthere are too many concurrent pull requests pending for the given\nsubscription.",
+	//   "description": "Pulls messages from the server. The server may return `UNAVAILABLE` if there are too many concurrent pull requests pending for the given subscription.",
 	//   "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:pull",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.projects.subscriptions.pull",
@@ -5128,7 +4660,7 @@
 	//   ],
 	//   "parameters": {
 	//     "subscription": {
-	//       "description": "Required. The subscription from which messages should be pulled.\nFormat is `projects/{project}/subscriptions/{sub}`.",
+	//       "description": "Required. The subscription from which messages should be pulled. Format is `projects/{project}/subscriptions/{sub}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
 	//       "required": true,
@@ -5162,18 +4694,12 @@
 }
 
 // Seek: Seeks an existing subscription to a point in time or to a given
-// snapshot,
-// whichever is provided in the request. Snapshots are used in
-// [Seek](
-// https://cloud.google.com/pubsub/docs/replay-overview) operations,
-// which
-// allow you to manage message acknowledgments in bulk. That is, you can
-// set
-// the acknowledgment state of messages in an existing subscription to
-// the
-// state captured by a snapshot. Note that both the subscription and
-// the
-// snapshot must be on the same topic.
+// snapshot, whichever is provided in the request. Snapshots are used in
+// [Seek]( https://cloud.google.com/pubsub/docs/replay-overview)
+// operations, which allow you to manage message acknowledgments in
+// bulk. That is, you can set the acknowledgment state of messages in an
+// existing subscription to the state captured by a snapshot. Note that
+// both the subscription and the snapshot must be on the same topic.
 func (r *ProjectsSubscriptionsService) Seek(subscription string, seekrequest *SeekRequest) *ProjectsSubscriptionsSeekCall {
 	c := &ProjectsSubscriptionsSeekCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.subscription = subscription
@@ -5208,7 +4734,7 @@
 
 func (c *ProjectsSubscriptionsSeekCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5272,7 +4798,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Seeks an existing subscription to a point in time or to a given snapshot,\nwhichever is provided in the request. Snapshots are used in [Seek](\nhttps://cloud.google.com/pubsub/docs/replay-overview) operations, which\nallow you to manage message acknowledgments in bulk. That is, you can set\nthe acknowledgment state of messages in an existing subscription to the\nstate captured by a snapshot. Note that both the subscription and the\nsnapshot must be on the same topic.",
+	//   "description": "Seeks an existing subscription to a point in time or to a given snapshot, whichever is provided in the request. Snapshots are used in [Seek]( https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. Note that both the subscription and the snapshot must be on the same topic.",
 	//   "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:seek",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.projects.subscriptions.seek",
@@ -5315,11 +4841,8 @@
 }
 
 // SetIamPolicy: Sets the access control policy on the specified
-// resource. Replaces any
-// existing policy.
-//
-// Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`
-// errors.
+// resource. Replaces any existing policy. Can return `NOT_FOUND`,
+// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
 func (r *ProjectsSubscriptionsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsSubscriptionsSetIamPolicyCall {
 	c := &ProjectsSubscriptionsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -5354,7 +4877,7 @@
 
 func (c *ProjectsSubscriptionsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5418,7 +4941,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
+	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
 	//   "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.projects.subscriptions.setIamPolicy",
@@ -5427,7 +4950,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
 	//       "required": true,
@@ -5461,16 +4984,11 @@
 }
 
 // TestIamPermissions: 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.
+// 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.
 func (r *ProjectsSubscriptionsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsSubscriptionsTestIamPermissionsCall {
 	c := &ProjectsSubscriptionsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -5505,7 +5023,7 @@
 
 func (c *ProjectsSubscriptionsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5569,7 +5087,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+	//   "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
 	//   "flatPath": "v1/projects/{projectsId}/subscriptions/{subscriptionsId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.projects.subscriptions.testIamPermissions",
@@ -5578,7 +5096,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
 	//       "required": true,
@@ -5612,8 +5130,7 @@
 }
 
 // Create: Creates the given topic with the given name. See the
-// [resource name
-// rules](
+// [resource name rules](
 // https://cloud.google.com/pubsub/docs/admin#resource_names).
 func (r *ProjectsTopicsService) Create(name string, topic *Topic) *ProjectsTopicsCreateCall {
 	c := &ProjectsTopicsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -5649,7 +5166,7 @@
 
 func (c *ProjectsTopicsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5713,7 +5230,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates the given topic with the given name. See the [resource name rules](\nhttps://cloud.google.com/pubsub/docs/admin#resource_names).",
+	//   "description": "Creates the given topic with the given name. See the [resource name rules]( https://cloud.google.com/pubsub/docs/admin#resource_names).",
 	//   "flatPath": "v1/projects/{projectsId}/topics/{topicsId}",
 	//   "httpMethod": "PUT",
 	//   "id": "pubsub.projects.topics.create",
@@ -5722,7 +5239,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the topic. It must have the format\n`\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter,\nand contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),\nunderscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent\nsigns (`%`). It must be between 3 and 255 characters in length, and it\nmust not start with `\"goog\"`.",
+	//       "description": "Required. The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/topics/[^/]+$",
 	//       "required": true,
@@ -5755,14 +5272,11 @@
 }
 
 // Delete: Deletes the topic with the given name. Returns `NOT_FOUND` if
-// the topic
-// does not exist. After a topic is deleted, a new topic may be created
-// with
-// the same name; this is an entirely new topic with none of the
-// old
-// configuration or subscriptions. Existing subscriptions to this topic
-// are
-// not deleted, but their `topic` field is set to `_deleted-topic_`.
+// the topic does not exist. After a topic is deleted, a new topic may
+// be created with the same name; this is an entirely new topic with
+// none of the old configuration or subscriptions. Existing
+// subscriptions to this topic are not deleted, but their `topic` field
+// is set to `_deleted-topic_`.
 func (r *ProjectsTopicsService) Delete(topic string) *ProjectsTopicsDeleteCall {
 	c := &ProjectsTopicsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.topic = topic
@@ -5796,7 +5310,7 @@
 
 func (c *ProjectsTopicsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5855,7 +5369,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes the topic with the given name. Returns `NOT_FOUND` if the topic\ndoes not exist. After a topic is deleted, a new topic may be created with\nthe same name; this is an entirely new topic with none of the old\nconfiguration or subscriptions. Existing subscriptions to this topic are\nnot deleted, but their `topic` field is set to `_deleted-topic_`.",
+	//   "description": "Deletes the topic with the given name. Returns `NOT_FOUND` if the topic does not exist. After a topic is deleted, a new topic may be created with the same name; this is an entirely new topic with none of the old configuration or subscriptions. Existing subscriptions to this topic are not deleted, but their `topic` field is set to `_deleted-topic_`.",
 	//   "flatPath": "v1/projects/{projectsId}/topics/{topicsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "pubsub.projects.topics.delete",
@@ -5864,7 +5378,7 @@
 	//   ],
 	//   "parameters": {
 	//     "topic": {
-	//       "description": "Required. Name of the topic to delete.\nFormat is `projects/{project}/topics/{topic}`.",
+	//       "description": "Required. Name of the topic to delete. Format is `projects/{project}/topics/{topic}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/topics/[^/]+$",
 	//       "required": true,
@@ -5938,7 +5452,7 @@
 
 func (c *ProjectsTopicsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6009,7 +5523,7 @@
 	//   ],
 	//   "parameters": {
 	//     "topic": {
-	//       "description": "Required. The name of the topic to get.\nFormat is `projects/{project}/topics/{topic}`.",
+	//       "description": "Required. The name of the topic to get. Format is `projects/{project}/topics/{topic}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/topics/[^/]+$",
 	//       "required": true,
@@ -6039,9 +5553,8 @@
 	header_      http.Header
 }
 
-// GetIamPolicy: Gets the access control policy for a resource.
-// Returns an empty policy if the resource exists and does not have a
-// policy
+// GetIamPolicy: Gets the access control policy for a resource. Returns
+// an empty policy if the resource exists and does not have a policy
 // set.
 func (r *ProjectsTopicsService) GetIamPolicy(resource string) *ProjectsTopicsGetIamPolicyCall {
 	c := &ProjectsTopicsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -6051,24 +5564,14 @@
 
 // OptionsRequestedPolicyVersion sets the optional parameter
 // "options.requestedPolicyVersion": The policy format version to be
-// returned.
-//
-// Valid values are 0, 1, and 3. Requests specifying an invalid value
-// will be
-// rejected.
-//
-// Requests for policies with any conditional bindings must specify
-// version 3.
-// Policies without any conditional bindings may specify any valid value
-// or
-// leave the field unset.
-//
-// To learn which resources support conditions in their IAM policies,
-// see
-// the
-// [IAM
-// documentation](https://cloud.google.com/iam/help/conditions/r
-// esource-policies).
+// returned. Valid values are 0, 1, and 3. Requests specifying an
+// invalid value will be rejected. Requests for policies with any
+// conditional bindings must specify version 3. Policies without any
+// conditional bindings may specify any valid value or leave the field
+// unset. To learn which resources support conditions in their IAM
+// policies, see the [IAM
+// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+// olicies).
 func (c *ProjectsTopicsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsTopicsGetIamPolicyCall {
 	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
 	return c
@@ -6111,7 +5614,7 @@
 
 func (c *ProjectsTopicsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6173,7 +5676,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
+	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
 	//   "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:getIamPolicy",
 	//   "httpMethod": "GET",
 	//   "id": "pubsub.projects.topics.getIamPolicy",
@@ -6182,13 +5685,13 @@
 	//   ],
 	//   "parameters": {
 	//     "options.requestedPolicyVersion": {
-	//       "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+	//       "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/topics/[^/]+$",
 	//       "required": true,
@@ -6233,9 +5736,8 @@
 }
 
 // PageToken sets the optional parameter "pageToken": The value returned
-// by the last `ListTopicsResponse`; indicates that this is
-// a continuation of a prior `ListTopics` call, and that the system
-// should
+// 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.
 func (c *ProjectsTopicsListCall) PageToken(pageToken string) *ProjectsTopicsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
@@ -6279,7 +5781,7 @@
 
 func (c *ProjectsTopicsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6356,12 +5858,12 @@
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "The value returned by the last `ListTopicsResponse`; indicates that this is\na continuation of a prior `ListTopics` call, and that the system should\nreturn the next page of data.",
+	//       "description": "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.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "project": {
-	//       "description": "Required. The name of the project in which to list topics.\nFormat is `projects/{project-id}`.",
+	//       "description": "Required. The name of the project in which to list topics. Format is `projects/{project-id}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -6412,8 +5914,7 @@
 	header_            http.Header
 }
 
-// Patch: Updates an existing topic. Note that certain properties of
-// a
+// Patch: Updates an existing topic. Note that certain properties of a
 // topic are not modifiable.
 func (r *ProjectsTopicsService) Patch(name string, updatetopicrequest *UpdateTopicRequest) *ProjectsTopicsPatchCall {
 	c := &ProjectsTopicsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -6449,7 +5950,7 @@
 
 func (c *ProjectsTopicsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6513,7 +6014,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates an existing topic. Note that certain properties of a\ntopic are not modifiable.",
+	//   "description": "Updates an existing topic. Note that certain properties of a topic are not modifiable.",
 	//   "flatPath": "v1/projects/{projectsId}/topics/{topicsId}",
 	//   "httpMethod": "PATCH",
 	//   "id": "pubsub.projects.topics.patch",
@@ -6522,7 +6023,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the topic. It must have the format\n`\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter,\nand contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),\nunderscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent\nsigns (`%`). It must be between 3 and 255 characters in length, and it\nmust not start with `\"goog\"`.",
+	//       "description": "Required. The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/topics/[^/]+$",
 	//       "required": true,
@@ -6556,8 +6057,7 @@
 }
 
 // Publish: Adds one or more messages to the topic. Returns `NOT_FOUND`
-// if the topic
-// does not exist.
+// if the topic does not exist.
 func (r *ProjectsTopicsService) Publish(topic string, publishrequest *PublishRequest) *ProjectsTopicsPublishCall {
 	c := &ProjectsTopicsPublishCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.topic = topic
@@ -6592,7 +6092,7 @@
 
 func (c *ProjectsTopicsPublishCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6656,7 +6156,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic\ndoes not exist.",
+	//   "description": "Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic does not exist.",
 	//   "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:publish",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.projects.topics.publish",
@@ -6665,7 +6165,7 @@
 	//   ],
 	//   "parameters": {
 	//     "topic": {
-	//       "description": "Required. The messages in the request will be published on this topic.\nFormat is `projects/{project}/topics/{topic}`.",
+	//       "description": "Required. The messages in the request will be published on this topic. Format is `projects/{project}/topics/{topic}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/topics/[^/]+$",
 	//       "required": true,
@@ -6699,11 +6199,8 @@
 }
 
 // SetIamPolicy: Sets the access control policy on the specified
-// resource. Replaces any
-// existing policy.
-//
-// Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`
-// errors.
+// resource. Replaces any existing policy. Can return `NOT_FOUND`,
+// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
 func (r *ProjectsTopicsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsTopicsSetIamPolicyCall {
 	c := &ProjectsTopicsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -6738,7 +6235,7 @@
 
 func (c *ProjectsTopicsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6802,7 +6299,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
+	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
 	//   "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.projects.topics.setIamPolicy",
@@ -6811,7 +6308,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/topics/[^/]+$",
 	//       "required": true,
@@ -6845,16 +6342,11 @@
 }
 
 // TestIamPermissions: 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.
+// 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.
 func (r *ProjectsTopicsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsTopicsTestIamPermissionsCall {
 	c := &ProjectsTopicsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -6889,7 +6381,7 @@
 
 func (c *ProjectsTopicsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6953,7 +6445,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+	//   "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
 	//   "flatPath": "v1/projects/{projectsId}/topics/{topicsId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.projects.topics.testIamPermissions",
@@ -6962,7 +6454,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/topics/[^/]+$",
 	//       "required": true,
@@ -6996,14 +6488,10 @@
 }
 
 // List: Lists the names of the snapshots on this topic. Snapshots are
-// used in
-// [Seek](https://cloud.google.com/pubsub/docs/replay-overview)
-// operations,
-// which allow you to manage message acknowledgments in bulk. That is,
-// you can
-// set the acknowledgment state of messages in an existing subscription
-// to the
-// state captured by a snapshot.
+// used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview)
+// operations, which allow you to manage message acknowledgments in
+// bulk. That is, you can set the acknowledgment state of messages in an
+// existing subscription to the state captured by a snapshot.
 func (r *ProjectsTopicsSnapshotsService) List(topic string) *ProjectsTopicsSnapshotsListCall {
 	c := &ProjectsTopicsSnapshotsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.topic = topic
@@ -7018,10 +6506,9 @@
 }
 
 // PageToken sets the optional parameter "pageToken": The value returned
-// by the last `ListTopicSnapshotsResponse`; indicates
-// that this is a continuation of a prior `ListTopicSnapshots` call,
-// and
-// that the system should return the next page of data.
+// by the last `ListTopicSnapshotsResponse`; indicates that this is a
+// continuation of a prior `ListTopicSnapshots` call, and that the
+// system should return the next page of data.
 func (c *ProjectsTopicsSnapshotsListCall) PageToken(pageToken string) *ProjectsTopicsSnapshotsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -7064,7 +6551,7 @@
 
 func (c *ProjectsTopicsSnapshotsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7126,7 +6613,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists the names of the snapshots on this topic. Snapshots are used in\n[Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations,\nwhich allow you to manage message acknowledgments in bulk. That is, you can\nset the acknowledgment state of messages in an existing subscription to the\nstate captured by a snapshot.",
+	//   "description": "Lists the names of the snapshots on this topic. Snapshots are used in [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot.",
 	//   "flatPath": "v1/projects/{projectsId}/topics/{topicsId}/snapshots",
 	//   "httpMethod": "GET",
 	//   "id": "pubsub.projects.topics.snapshots.list",
@@ -7141,12 +6628,12 @@
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "The value returned by the last `ListTopicSnapshotsResponse`; indicates\nthat this is a continuation of a prior `ListTopicSnapshots` call, and\nthat the system should return the next page of data.",
+	//       "description": "The value returned by the last `ListTopicSnapshotsResponse`; indicates that this is a continuation of a prior `ListTopicSnapshots` call, and that the system should return the next page of data.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "topic": {
-	//       "description": "Required. The name of the topic that snapshots are attached to.\nFormat is `projects/{project}/topics/{topic}`.",
+	//       "description": "Required. The name of the topic that snapshots are attached to. Format is `projects/{project}/topics/{topic}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/topics/[^/]+$",
 	//       "required": true,
@@ -7212,10 +6699,9 @@
 }
 
 // PageToken sets the optional parameter "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.
+// 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.
 func (c *ProjectsTopicsSubscriptionsListCall) PageToken(pageToken string) *ProjectsTopicsSubscriptionsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -7258,7 +6744,7 @@
 
 func (c *ProjectsTopicsSubscriptionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7335,12 +6821,12 @@
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "The value returned by the last `ListTopicSubscriptionsResponse`; indicates\nthat this is a continuation of a prior `ListTopicSubscriptions` call, and\nthat the system should return the next page of data.",
+	//       "description": "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.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "topic": {
-	//       "description": "Required. The name of the topic that subscriptions are attached to.\nFormat is `projects/{project}/topics/{topic}`.",
+	//       "description": "Required. The name of the topic that subscriptions are attached to. Format is `projects/{project}/topics/{topic}`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/topics/[^/]+$",
 	//       "required": true,
diff --git a/pubsub/v1beta1a/pubsub-api.json b/pubsub/v1beta1a/pubsub-api.json
index f61d64d..f13cbdc 100644
--- a/pubsub/v1beta1a/pubsub-api.json
+++ b/pubsub/v1beta1a/pubsub-api.json
@@ -15,7 +15,7 @@
   "baseUrl": "https://pubsub.googleapis.com/",
   "batchPath": "batch",
   "canonicalName": "Pubsub",
-  "description": "Provides reliable, many-to-many, asynchronous messaging between applications.\n",
+  "description": "Provides reliable, many-to-many, asynchronous messaging between applications. ",
   "discoveryVersion": "v1",
   "documentationLink": "https://cloud.google.com/pubsub/docs",
   "icons": {
@@ -110,7 +110,7 @@
     "subscriptions": {
       "methods": {
         "acknowledge": {
-          "description": "Acknowledges a particular received message: the Pub/Sub system can remove\nthe given message from the subscription. Acknowledging a message whose\nAck deadline has expired may succeed, but the message could have been\nalready redelivered. Acknowledging a message more than once will not\nresult in an error. This is only used for messages received via pull.",
+          "description": "Acknowledges a particular received message: the Pub/Sub system can remove the given message from the subscription. Acknowledging a message whose Ack deadline has expired may succeed, but the message could have been already redelivered. Acknowledging a message more than once will not result in an error. This is only used for messages received via pull.",
           "flatPath": "v1beta1a/subscriptions/acknowledge",
           "httpMethod": "POST",
           "id": "pubsub.subscriptions.acknowledge",
@@ -129,7 +129,7 @@
           ]
         },
         "create": {
-          "description": "Creates a subscription on a given topic for a given subscriber.\nIf the subscription already exists, returns ALREADY_EXISTS.\nIf the corresponding topic doesn't exist, returns NOT_FOUND.\n\nIf the name is not provided in the request, the server will assign a random\nname for this subscription on the same project as the topic.",
+          "description": "Creates a subscription on a given topic for a given subscriber. If the subscription already exists, returns ALREADY_EXISTS. If the corresponding topic doesn't exist, returns NOT_FOUND. If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic.",
           "flatPath": "v1beta1a/subscriptions",
           "httpMethod": "POST",
           "id": "pubsub.subscriptions.create",
@@ -148,7 +148,7 @@
           ]
         },
         "delete": {
-          "description": "Deletes an existing subscription. All pending messages in the subscription\nare immediately dropped. Calls to Pull after deletion will return\nNOT_FOUND.",
+          "description": "Deletes an existing subscription. All pending messages in the subscription are immediately dropped. Calls to Pull after deletion will return NOT_FOUND.",
           "flatPath": "v1beta1a/subscriptions/{subscriptionsId}",
           "httpMethod": "DELETE",
           "id": "pubsub.subscriptions.delete",
@@ -213,7 +213,7 @@
               "type": "integer"
             },
             "pageToken": {
-              "description": "The value obtained in the last \u003ccode\u003eListSubscriptionsResponse\u003c/code\u003e\nfor continuation.",
+              "description": "The value obtained in the last ListSubscriptionsResponse for continuation.",
               "location": "query",
               "type": "string"
             },
@@ -252,7 +252,7 @@
           ]
         },
         "modifyPushConfig": {
-          "description": "Modifies the \u003ccode\u003ePushConfig\u003c/code\u003e for a specified subscription.\nThis method can be used to suspend the flow of messages to an endpoint\nby clearing the \u003ccode\u003ePushConfig\u003c/code\u003e field in the request. Messages\nwill be accumulated for delivery even if no push configuration is\ndefined or while the configuration is modified.",
+          "description": "Modifies the PushConfig for a specified subscription. This method can be used to suspend the flow of messages to an endpoint by clearing the PushConfig field in the request. Messages will be accumulated for delivery even if no push configuration is defined or while the configuration is modified.",
           "flatPath": "v1beta1a/subscriptions/modifyPushConfig",
           "httpMethod": "POST",
           "id": "pubsub.subscriptions.modifyPushConfig",
@@ -271,7 +271,7 @@
           ]
         },
         "pull": {
-          "description": "Pulls a single message from the server.\nIf return_immediately is true, and no messages are available in the\nsubscription, this method returns FAILED_PRECONDITION. The system is free\nto return an UNAVAILABLE error if no messages are available in a\nreasonable amount of time (to reduce system load).",
+          "description": "Pulls a single message from the server. If return_immediately is true, and no messages are available in the subscription, this method returns FAILED_PRECONDITION. The system is free to return an UNAVAILABLE error if no messages are available in a reasonable amount of time (to reduce system load).",
           "flatPath": "v1beta1a/subscriptions/pull",
           "httpMethod": "POST",
           "id": "pubsub.subscriptions.pull",
@@ -290,7 +290,7 @@
           ]
         },
         "pullBatch": {
-          "description": "Pulls messages from the server. Returns an empty list if there are no\nmessages available in the backlog. The system is free to return UNAVAILABLE\nif there are too many pull requests outstanding for the given subscription.",
+          "description": "Pulls messages from the server. Returns an empty list if there are no messages available in the backlog. The system is free to return UNAVAILABLE if there are too many pull requests outstanding for the given subscription.",
           "flatPath": "v1beta1a/subscriptions/pullBatch",
           "httpMethod": "POST",
           "id": "pubsub.subscriptions.pullBatch",
@@ -332,7 +332,7 @@
           ]
         },
         "delete": {
-          "description": "Deletes the topic with the given name. Returns NOT_FOUND if the topic does\nnot exist. After a topic is deleted, a new topic may be created with the\nsame name.",
+          "description": "Deletes the topic with the given name. Returns NOT_FOUND if the topic does not exist. After a topic is deleted, a new topic may be created with the same name.",
           "flatPath": "v1beta1a/topics/{topicsId}",
           "httpMethod": "DELETE",
           "id": "pubsub.topics.delete",
@@ -358,7 +358,7 @@
           ]
         },
         "get": {
-          "description": "Gets the configuration of a topic. Since the topic only has the name\nattribute, this method is only useful to check the existence of a topic.\nIf other attributes are added in the future, they will be returned here.",
+          "description": "Gets the configuration of a topic. Since the topic only has the name attribute, this method is only useful to check the existence of a topic. If other attributes are added in the future, they will be returned here.",
           "flatPath": "v1beta1a/topics/{topicsId}",
           "httpMethod": "GET",
           "id": "pubsub.topics.get",
@@ -397,7 +397,7 @@
               "type": "integer"
             },
             "pageToken": {
-              "description": "The value obtained in the last \u003ccode\u003eListTopicsResponse\u003c/code\u003e\nfor continuation.",
+              "description": "The value obtained in the last ListTopicsResponse for continuation.",
               "location": "query",
               "type": "string"
             },
@@ -417,7 +417,7 @@
           ]
         },
         "publish": {
-          "description": "Adds a message to the topic.  Returns NOT_FOUND if the topic does not\nexist.",
+          "description": "Adds a message to the topic. Returns NOT_FOUND if the topic does not exist.",
           "flatPath": "v1beta1a/topics/publish",
           "httpMethod": "POST",
           "id": "pubsub.topics.publish",
@@ -436,7 +436,7 @@
           ]
         },
         "publishBatch": {
-          "description": "Adds one or more messages to the topic. Returns NOT_FOUND if the topic does\nnot exist.",
+          "description": "Adds one or more messages to the topic. Returns NOT_FOUND if the topic does not exist.",
           "flatPath": "v1beta1a/topics/publishBatch",
           "httpMethod": "POST",
           "id": "pubsub.topics.publishBatch",
@@ -457,7 +457,7 @@
       }
     }
   },
-  "revision": "20200218",
+  "revision": "20200807",
   "rootUrl": "https://pubsub.googleapis.com/",
   "schemas": {
     "AcknowledgeRequest": {
@@ -465,7 +465,7 @@
       "id": "AcknowledgeRequest",
       "properties": {
         "ackId": {
-          "description": "The acknowledgment ID for the message being acknowledged. This was\nreturned by the Pub/Sub system in the Pull response.",
+          "description": "The acknowledgment ID for the message being acknowledged. This was returned by the Pub/Sub system in the Pull response.",
           "items": {
             "type": "string"
           },
@@ -479,7 +479,7 @@
       "type": "object"
     },
     "Empty": {
-      "description": "An empty message that you can re-use to avoid defining duplicated empty\nmessages in your project. A typical example is to use it as argument or the\nreturn value of a service API. For instance:\n\n  service Foo {\n    rpc Bar (proto2.Empty) returns (proto2.Empty) { };\n  };\n\nBEGIN GOOGLE-INTERNAL\nThe difference between this one and net/rpc/empty-message.proto is that\n1) The generated message here is in proto2 C++ API.\n2) The proto2.Empty has minimum dependencies\n   (no message_set or net/rpc dependencies)\nEND GOOGLE-INTERNAL",
+      "description": "An empty message that you can re-use to avoid defining duplicated empty messages in your project. A typical example is to use it as argument or the return value of a service API. For instance: service Foo { rpc Bar (proto2.Empty) returns (proto2.Empty) { }; }; BEGIN GOOGLE-INTERNAL The difference between this one and net/rpc/empty-message.proto is that 1) The generated message here is in proto2 C++ API. 2) The proto2.Empty has minimum dependencies (no message_set or net/rpc dependencies) END GOOGLE-INTERNAL",
       "id": "Empty",
       "properties": {},
       "type": "object"
@@ -489,7 +489,7 @@
       "id": "Label",
       "properties": {
         "key": {
-          "description": "The key of a label is a syntactically valid URL (as per RFC 1738) with\nthe \"scheme\" and initial slashes omitted and with the additional\nrestrictions noted below.  Each key should be globally unique.  The\n\"host\" portion is called the \"namespace\" and is not necessarily\nresolvable to a network endpoint.  Instead, the namespace indicates what\nsystem or entity defines the semantics of the label.  Namespaces do not\nrestrict the set of objects to which a label may be associated.\n\nKeys are defined by the following grammar:\n\n  key          = hostname \"/\" kpath\n  kpath        = ksegment *[ \"/\" ksegment ]\n  ksegment     = alphadigit | *[ alphadigit | \"-\" | \"_\" | \".\" ]\n\nwhere \"hostname\" and \"alphadigit\" are defined as in RFC 1738.\n\nExample key:\n  spanner.google.com/universe",
+          "description": "The key of a label is a syntactically valid URL (as per RFC 1738) with the \"scheme\" and initial slashes omitted and with the additional restrictions noted below. Each key should be globally unique. The \"host\" portion is called the \"namespace\" and is not necessarily resolvable to a network endpoint. Instead, the namespace indicates what system or entity defines the semantics of the label. Namespaces do not restrict the set of objects to which a label may be associated. Keys are defined by the following grammar: key = hostname \"/\" kpath kpath = ksegment *[ \"/\" ksegment ] ksegment = alphadigit | *[ alphadigit | \"-\" | \"_\" | \".\" ] where \"hostname\" and \"alphadigit\" are defined as in RFC 1738. Example key: spanner.google.com/universe",
           "type": "string"
         },
         "numValue": {
@@ -509,7 +509,7 @@
       "id": "ListSubscriptionsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "If not empty, indicates that there are more subscriptions that match the\nrequest and this value should be passed to the next\n\u003ccode\u003eListSubscriptionsRequest\u003c/code\u003e to continue.",
+          "description": "If not empty, indicates that there are more subscriptions that match the request and this value should be passed to the next ListSubscriptionsRequest to continue.",
           "type": "string"
         },
         "subscription": {
@@ -527,7 +527,7 @@
       "id": "ListTopicsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "If not empty, indicates that there are more topics that match the request,\nand this value should be passed to the next \u003ccode\u003eListTopicsRequest\u003c/code\u003e\nto continue.",
+          "description": "If not empty, indicates that there are more topics that match the request, and this value should be passed to the next ListTopicsRequest to continue.",
           "type": "string"
         },
         "topic": {
@@ -545,23 +545,23 @@
       "id": "ModifyAckDeadlineRequest",
       "properties": {
         "ackDeadlineSeconds": {
-          "description": "The new ack deadline with respect to the time this request was sent to the\nPub/Sub system. Must be \u003e= 0. For example, if the value is 10, the new ack\ndeadline will expire 10 seconds after the ModifyAckDeadline call was made.\nSpecifying zero may immediately make the message available for another pull\nrequest.",
+          "description": "The new ack deadline with respect to the time this request was sent to the Pub/Sub system. Must be \u003e= 0. For example, if the value is 10, the new ack deadline will expire 10 seconds after the ModifyAckDeadline call was made. Specifying zero may immediately make the message available for another pull request.",
           "format": "int32",
           "type": "integer"
         },
         "ackId": {
-          "description": "The acknowledgment ID. Either this or ack_ids must be populated,\nnot both.",
+          "description": "The acknowledgment ID. Either this or ack_ids must be populated, not both.",
           "type": "string"
         },
         "ackIds": {
-          "description": "List of acknowledgment IDs. Either this field or ack_id\nshould be populated, not both.",
+          "description": "List of acknowledgment IDs. Either this field or ack_id should be populated, not both.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "subscription": {
-          "description": "Next Index: 5\nThe name of the subscription from which messages are being pulled.",
+          "description": "Next Index: 5 The name of the subscription from which messages are being pulled.",
           "type": "string"
         }
       },
@@ -573,7 +573,7 @@
       "properties": {
         "pushConfig": {
           "$ref": "PushConfig",
-          "description": "An empty \u003ccode\u003epush_config\u003c/code\u003e indicates that the Pub/Sub system should\npause pushing messages from the given subscription."
+          "description": "An empty push_config indicates that the Pub/Sub system should pause pushing messages from the given subscription."
         },
         "subscription": {
           "description": "The name of the subscription.",
@@ -605,7 +605,7 @@
       "id": "PublishBatchResponse",
       "properties": {
         "messageIds": {
-          "description": "The server-assigned ID of each published message, in the same order as\nthe messages in the request. IDs are guaranteed to be unique within\nthe topic.",
+          "description": "The server-assigned ID of each published message, in the same order as the messages in the request. IDs are guaranteed to be unique within the topic.",
           "items": {
             "type": "string"
           },
@@ -634,7 +634,7 @@
       "id": "PubsubEvent",
       "properties": {
         "deleted": {
-          "description": "Indicates that this subscription has been deleted. (Note that pull\nsubscribers will always receive NOT_FOUND in response in their pull\nrequest on the subscription, rather than seeing this boolean.)",
+          "description": "Indicates that this subscription has been deleted. (Note that pull subscribers will always receive NOT_FOUND in response in their pull request on the subscription, rather than seeing this boolean.)",
           "type": "boolean"
         },
         "message": {
@@ -662,18 +662,18 @@
           "type": "string"
         },
         "label": {
-          "description": "Optional list of labels for this message. Keys in this collection must\nbe unique.",
+          "description": "Optional list of labels for this message. Keys in this collection must be unique.",
           "items": {
             "$ref": "Label"
           },
           "type": "array"
         },
         "messageId": {
-          "description": "ID of this message assigned by the server at publication time. Guaranteed\nto be unique within the topic. This value may be read by a subscriber\nthat receives a PubsubMessage via a Pull call or a push delivery. It must\nnot be populated by a publisher in a Publish call.",
+          "description": "ID of this message assigned by the server at publication time. Guaranteed to be unique within the topic. This value may be read by a subscriber that receives a PubsubMessage via a Pull call or a push delivery. It must not be populated by a publisher in a Publish call.",
           "type": "string"
         },
         "publishTime": {
-          "description": "The time at which the message was published.\nThe time is milliseconds since the UNIX epoch.",
+          "description": "The time at which the message was published. The time is milliseconds since the UNIX epoch.",
           "format": "int64",
           "type": "string"
         }
@@ -685,12 +685,12 @@
       "id": "PullBatchRequest",
       "properties": {
         "maxEvents": {
-          "description": "The maximum number of PubsubEvents returned for this request. The Pub/Sub\nsystem may return fewer than the number of events specified.",
+          "description": "The maximum number of PubsubEvents returned for this request. The Pub/Sub system may return fewer than the number of events specified.",
           "format": "int32",
           "type": "integer"
         },
         "returnImmediately": {
-          "description": "If this is specified as true the system will respond immediately even if\nit is not able to return a message in the Pull response. Otherwise the\nsystem is allowed to wait until at least one message is available rather\nthan returning no messages. The client may cancel the request if it does\nnot wish to wait any longer for the response.",
+          "description": "If this is specified as true the system will respond immediately even if it is not able to return a message in the Pull response. Otherwise the system is allowed to wait until at least one message is available rather than returning no messages. The client may cancel the request if it does not wish to wait any longer for the response.",
           "type": "boolean"
         },
         "subscription": {
@@ -705,7 +705,7 @@
       "id": "PullBatchResponse",
       "properties": {
         "pullResponses": {
-          "description": "Received Pub/Sub messages or status events. The Pub/Sub system will return\nzero messages if there are no more messages available in the backlog. The\nPub/Sub system may return fewer than the max_events requested even if\nthere are more messages available in the backlog.",
+          "description": "Received Pub/Sub messages or status events. The Pub/Sub system will return zero messages if there are no more messages available in the backlog. The Pub/Sub system may return fewer than the max_events requested even if there are more messages available in the backlog.",
           "items": {
             "$ref": "PullResponse"
           },
@@ -719,7 +719,7 @@
       "id": "PullRequest",
       "properties": {
         "returnImmediately": {
-          "description": "If this is specified as true the system will respond immediately even if\nit is not able to return a message in the Pull response. Otherwise the\nsystem is allowed to wait until at least one message is available rather\nthan returning FAILED_PRECONDITION. The client may cancel the request if\nit does not wish to wait any longer for the response.",
+          "description": "If this is specified as true the system will respond immediately even if it is not able to return a message in the Pull response. Otherwise the system is allowed to wait until at least one message is available rather than returning FAILED_PRECONDITION. The client may cancel the request if it does not wish to wait any longer for the response.",
           "type": "boolean"
         },
         "subscription": {
@@ -730,7 +730,7 @@
       "type": "object"
     },
     "PullResponse": {
-      "description": "Either a \u003ccode\u003ePubsubMessage\u003c/code\u003e or a truncation event. One of these two\nmust be populated.",
+      "description": "Either a PubsubMessage or a truncation event. One of these two must be populated.",
       "id": "PullResponse",
       "properties": {
         "ackId": {
@@ -749,7 +749,7 @@
       "id": "PushConfig",
       "properties": {
         "pushEndpoint": {
-          "description": "A URL locating the endpoint to which messages should be pushed.\nFor example, a Webhook endpoint might use \"https://example.com/push\".",
+          "description": "A URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might use \"https://example.com/push\".",
           "type": "string"
         }
       },
@@ -760,7 +760,7 @@
       "id": "Subscription",
       "properties": {
         "ackDeadlineSeconds": {
-          "description": "For either push or pull delivery, the value is the maximum time after a\nsubscriber receives a message before the subscriber should acknowledge or\nNack the message. If the Ack deadline for a message passes without an\nAck or a Nack, the Pub/Sub system will eventually redeliver the message.\nIf a subscriber acknowledges after the deadline, the Pub/Sub system may\naccept the Ack, but it is possible that the message has been already\ndelivered again. Multiple Acks to the message are allowed and will\nsucceed.\n\nFor push delivery, this value is used to set the request timeout for\nthe call to the push endpoint.\n\nFor pull delivery, this value is used as the initial value for the Ack\ndeadline. It may be overridden for each message using its corresponding\nack_id with \u003ccode\u003eModifyAckDeadline\u003c/code\u003e.\nWhile a message is outstanding (i.e. it has been delivered to a pull\nsubscriber and the subscriber has not yet Acked or Nacked), the Pub/Sub\nsystem will not deliver that message to another pull subscriber\n(on a best-effort basis).",
+          "description": "For either push or pull delivery, the value is the maximum time after a subscriber receives a message before the subscriber should acknowledge or Nack the message. If the Ack deadline for a message passes without an Ack or a Nack, the Pub/Sub system will eventually redeliver the message. If a subscriber acknowledges after the deadline, the Pub/Sub system may accept the Ack, but it is possible that the message has been already delivered again. Multiple Acks to the message are allowed and will succeed. For push delivery, this value is used to set the request timeout for the call to the push endpoint. For pull delivery, this value is used as the initial value for the Ack deadline. It may be overridden for each message using its corresponding ack_id with ModifyAckDeadline. While a message is outstanding (i.e. it has been delivered to a pull subscriber and the subscriber has not yet Acked or Nacked), the Pub/Sub system will not deliver that message to another pull subscriber (on a best-effort basis).",
           "format": "int32",
           "type": "integer"
         },
@@ -770,7 +770,7 @@
         },
         "pushConfig": {
           "$ref": "PushConfig",
-          "description": "If push delivery is used with this subscription, this field is\nused to configure it."
+          "description": "If push delivery is used with this subscription, this field is used to configure it."
         },
         "topic": {
           "description": "The name of the topic from which this subscription is receiving messages.",
diff --git a/pubsub/v1beta1a/pubsub-gen.go b/pubsub/v1beta1a/pubsub-gen.go
index b9ac67a..fe361d0 100644
--- a/pubsub/v1beta1a/pubsub-gen.go
+++ b/pubsub/v1beta1a/pubsub-gen.go
@@ -169,8 +169,7 @@
 // AcknowledgeRequest: Request for the Acknowledge method.
 type AcknowledgeRequest struct {
 	// AckId: The acknowledgment ID for the message being acknowledged. This
-	// was
-	// returned by the Pub/Sub system in the Pull response.
+	// was returned by the Pub/Sub system in the Pull response.
 	AckId []string `json:"ackId,omitempty"`
 
 	// Subscription: The subscription whose message is being acknowledged.
@@ -200,22 +199,13 @@
 }
 
 // Empty: An empty message that you can re-use to avoid defining
-// duplicated empty
-// messages in your project. A typical example is to use it as argument
-// or the
-// return value of a service API. For instance:
-//
-//   service Foo {
-//     rpc Bar (proto2.Empty) returns (proto2.Empty) { };
-//   };
-//
-// BEGIN GOOGLE-INTERNAL
-// The difference between this one and net/rpc/empty-message.proto is
-// that
-// 1) The generated message here is in proto2 C++ API.
-// 2) The proto2.Empty has minimum dependencies
-//    (no message_set or net/rpc dependencies)
-// END GOOGLE-INTERNAL
+// duplicated empty messages in your project. A typical example is to
+// use it as argument or the return value of a service API. For
+// instance: service Foo { rpc Bar (proto2.Empty) returns (proto2.Empty)
+// { }; }; BEGIN GOOGLE-INTERNAL The difference between this one and
+// net/rpc/empty-message.proto is that 1) The generated message here is
+// in proto2 C++ API. 2) The proto2.Empty has minimum dependencies (no
+// message_set or net/rpc dependencies) END GOOGLE-INTERNAL
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -225,31 +215,16 @@
 // Label: A key-value pair applied to a given object.
 type Label struct {
 	// Key: The key of a label is a syntactically valid URL (as per RFC
-	// 1738) with
-	// the "scheme" and initial slashes omitted and with the
-	// additional
-	// restrictions noted below.  Each key should be globally unique.
-	// The
-	// "host" portion is called the "namespace" and is not
-	// necessarily
-	// resolvable to a network endpoint.  Instead, the namespace indicates
-	// what
-	// system or entity defines the semantics of the label.  Namespaces do
-	// not
-	// restrict the set of objects to which a label may be associated.
-	//
-	// Keys are defined by the following grammar:
-	//
-	//   key          = hostname "/" kpath
-	//   kpath        = ksegment *[ "/" ksegment ]
-	//   ksegment     = alphadigit | *[ alphadigit | "-" | "_" | "."
-	// ]
-	//
-	// where "hostname" and "alphadigit" are defined as in RFC
-	// 1738.
-	//
-	// Example key:
-	//   spanner.google.com/universe
+	// 1738) with the "scheme" and initial slashes omitted and with the
+	// additional restrictions noted below. Each key should be globally
+	// unique. The "host" portion is called the "namespace" and is not
+	// necessarily resolvable to a network endpoint. Instead, the namespace
+	// indicates what system or entity defines the semantics of the label.
+	// Namespaces do not restrict the set of objects to which a label may be
+	// associated. Keys are defined by the following grammar: key = hostname
+	// "/" kpath kpath = ksegment *[ "/" ksegment ] ksegment = alphadigit |
+	// *[ alphadigit | "-" | "_" | "." ] where "hostname" and "alphadigit"
+	// are defined as in RFC 1738. Example key: spanner.google.com/universe
 	Key string `json:"key,omitempty"`
 
 	// NumValue: An integer value.
@@ -284,10 +259,8 @@
 // ListSubscriptionsResponse: Response for the ListSubscriptions method.
 type ListSubscriptionsResponse struct {
 	// NextPageToken: If not empty, indicates that there are more
-	// subscriptions that match the
-	// request and this value should be passed to the
-	// next
-	// <code>ListSubscriptionsRequest</code> to continue.
+	// subscriptions that match the request and this value should be passed
+	// to the next ListSubscriptionsRequest to continue.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Subscription: The subscriptions that match the request.
@@ -323,10 +296,8 @@
 // ListTopicsResponse: Response for the ListTopics method.
 type ListTopicsResponse struct {
 	// NextPageToken: If not empty, indicates that there are more topics
-	// that match the request,
-	// and this value should be passed to the next
-	// <code>ListTopicsRequest</code>
-	// to continue.
+	// that match the request, and this value should be passed to the next
+	// ListTopicsRequest to continue.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Topic: The resulting topics.
@@ -362,28 +333,22 @@
 // ModifyAckDeadlineRequest: Request for the ModifyAckDeadline method.
 type ModifyAckDeadlineRequest struct {
 	// AckDeadlineSeconds: The new ack deadline with respect to the time
-	// this request was sent to the
-	// Pub/Sub system. Must be >= 0. For example, if the value is 10, the
-	// new ack
-	// deadline will expire 10 seconds after the ModifyAckDeadline call was
-	// made.
-	// Specifying zero may immediately make the message available for
-	// another pull
-	// request.
+	// this request was sent to the Pub/Sub system. Must be >= 0. For
+	// example, if the value is 10, the new ack deadline will expire 10
+	// seconds after the ModifyAckDeadline call was made. Specifying zero
+	// may immediately make the message available for another pull request.
 	AckDeadlineSeconds int64 `json:"ackDeadlineSeconds,omitempty"`
 
 	// AckId: The acknowledgment ID. Either this or ack_ids must be
-	// populated,
-	// not both.
+	// populated, not both.
 	AckId string `json:"ackId,omitempty"`
 
-	// AckIds: List of acknowledgment IDs. Either this field or
-	// ack_id
+	// AckIds: List of acknowledgment IDs. Either this field or ack_id
 	// should be populated, not both.
 	AckIds []string `json:"ackIds,omitempty"`
 
-	// Subscription: Next Index: 5
-	// The name of the subscription from which messages are being pulled.
+	// Subscription: Next Index: 5 The name of the subscription from which
+	// messages are being pulled.
 	Subscription string `json:"subscription,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AckDeadlineSeconds")
@@ -412,9 +377,8 @@
 
 // ModifyPushConfigRequest: Request for the ModifyPushConfig method.
 type ModifyPushConfigRequest struct {
-	// PushConfig: An empty <code>push_config</code> indicates that the
-	// Pub/Sub system should
-	// pause pushing messages from the given subscription.
+	// PushConfig: An empty push_config indicates that the Pub/Sub system
+	// should pause pushing messages from the given subscription.
 	PushConfig *PushConfig `json:"pushConfig,omitempty"`
 
 	// Subscription: The name of the subscription.
@@ -477,10 +441,8 @@
 // PublishBatchResponse: Response for the PublishBatch method.
 type PublishBatchResponse struct {
 	// MessageIds: The server-assigned ID of each published message, in the
-	// same order as
-	// the messages in the request. IDs are guaranteed to be unique
-	// within
-	// the topic.
+	// same order as the messages in the request. IDs are guaranteed to be
+	// unique within the topic.
 	MessageIds []string `json:"messageIds,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -545,10 +507,9 @@
 // event.
 type PubsubEvent struct {
 	// Deleted: Indicates that this subscription has been deleted. (Note
-	// that pull
-	// subscribers will always receive NOT_FOUND in response in their
-	// pull
-	// request on the subscription, rather than seeing this boolean.)
+	// that pull subscribers will always receive NOT_FOUND in response in
+	// their pull request on the subscription, rather than seeing this
+	// boolean.)
 	Deleted bool `json:"deleted,omitempty"`
 
 	// Message: A received message.
@@ -589,21 +550,18 @@
 	Data string `json:"data,omitempty"`
 
 	// Label: Optional list of labels for this message. Keys in this
-	// collection must
-	// be unique.
+	// collection must be unique.
 	Label []*Label `json:"label,omitempty"`
 
 	// MessageId: ID of this message assigned by the server at publication
-	// time. Guaranteed
-	// to be unique within the topic. This value may be read by a
-	// subscriber
-	// that receives a PubsubMessage via a Pull call or a push delivery. It
-	// must
-	// not be populated by a publisher in a Publish call.
+	// time. Guaranteed to be unique within the topic. This value may be
+	// read by a subscriber that receives a PubsubMessage via a Pull call or
+	// a push delivery. It must not be populated by a publisher in a Publish
+	// call.
 	MessageId string `json:"messageId,omitempty"`
 
-	// PublishTime: The time at which the message was published.
-	// The time is milliseconds since the UNIX epoch.
+	// PublishTime: The time at which the message was published. The time is
+	// milliseconds since the UNIX epoch.
 	PublishTime int64 `json:"publishTime,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "Data") to
@@ -632,19 +590,16 @@
 // PullBatchRequest: Request for the PullBatch method.
 type PullBatchRequest struct {
 	// MaxEvents: The maximum number of PubsubEvents returned for this
-	// request. The Pub/Sub
-	// system may return fewer than the number of events specified.
+	// request. The Pub/Sub system may return fewer than the number of
+	// events specified.
 	MaxEvents int64 `json:"maxEvents,omitempty"`
 
 	// ReturnImmediately: If this is specified as true the system will
-	// respond immediately even if
-	// it is not able to return a message in the Pull response. Otherwise
-	// the
-	// system is allowed to wait until at least one message is available
-	// rather
-	// than returning no messages. The client may cancel the request if it
-	// does
-	// not wish to wait any longer for the response.
+	// respond immediately even if it is not able to return a message in the
+	// Pull response. Otherwise the system is allowed to wait until at least
+	// one message is available rather than returning no messages. The
+	// client may cancel the request if it does not wish to wait any longer
+	// for the response.
 	ReturnImmediately bool `json:"returnImmediately,omitempty"`
 
 	// Subscription: The subscription from which messages should be pulled.
@@ -676,12 +631,10 @@
 // PullBatchResponse: Response for the PullBatch method.
 type PullBatchResponse struct {
 	// PullResponses: Received Pub/Sub messages or status events. The
-	// Pub/Sub system will return
-	// zero messages if there are no more messages available in the backlog.
-	// The
-	// Pub/Sub system may return fewer than the max_events requested even
-	// if
-	// there are more messages available in the backlog.
+	// Pub/Sub system will return zero messages if there are no more
+	// messages available in the backlog. The Pub/Sub system may return
+	// fewer than the max_events requested even if there are more messages
+	// available in the backlog.
 	PullResponses []*PullResponse `json:"pullResponses,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -714,14 +667,11 @@
 // PullRequest: Request for the Pull method.
 type PullRequest struct {
 	// ReturnImmediately: If this is specified as true the system will
-	// respond immediately even if
-	// it is not able to return a message in the Pull response. Otherwise
-	// the
-	// system is allowed to wait until at least one message is available
-	// rather
-	// than returning FAILED_PRECONDITION. The client may cancel the request
-	// if
-	// it does not wish to wait any longer for the response.
+	// respond immediately even if it is not able to return a message in the
+	// Pull response. Otherwise the system is allowed to wait until at least
+	// one message is available rather than returning FAILED_PRECONDITION.
+	// The client may cancel the request if it does not wish to wait any
+	// longer for the response.
 	ReturnImmediately bool `json:"returnImmediately,omitempty"`
 
 	// Subscription: The subscription from which a message should be pulled.
@@ -751,9 +701,8 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// PullResponse: Either a <code>PubsubMessage</code> or a truncation
-// event. One of these two
-// must be populated.
+// PullResponse: Either a PubsubMessage or a truncation event. One of
+// these two must be populated.
 type PullResponse struct {
 	// AckId: This ID must be used to acknowledge the received event or
 	// message.
@@ -792,8 +741,8 @@
 // PushConfig: Configuration for a push delivery endpoint.
 type PushConfig struct {
 	// PushEndpoint: A URL locating the endpoint to which messages should be
-	// pushed.
-	// For example, a Webhook endpoint might use "https://example.com/push".
+	// pushed. For example, a Webhook endpoint might use
+	// "https://example.com/push".
 	PushEndpoint string `json:"pushEndpoint,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "PushEndpoint") to
@@ -822,44 +771,28 @@
 // Subscription: A subscription resource.
 type Subscription struct {
 	// AckDeadlineSeconds: For either push or pull delivery, the value is
-	// the maximum time after a
-	// subscriber receives a message before the subscriber should
-	// acknowledge or
-	// Nack the message. If the Ack deadline for a message passes without
-	// an
-	// Ack or a Nack, the Pub/Sub system will eventually redeliver the
-	// message.
-	// If a subscriber acknowledges after the deadline, the Pub/Sub system
-	// may
-	// accept the Ack, but it is possible that the message has been
-	// already
-	// delivered again. Multiple Acks to the message are allowed and
-	// will
-	// succeed.
-	//
-	// For push delivery, this value is used to set the request timeout
-	// for
-	// the call to the push endpoint.
-	//
-	// For pull delivery, this value is used as the initial value for the
-	// Ack
-	// deadline. It may be overridden for each message using its
-	// corresponding
-	// ack_id with <code>ModifyAckDeadline</code>.
-	// While a message is outstanding (i.e. it has been delivered to a
-	// pull
+	// the maximum time after a subscriber receives a message before the
+	// subscriber should acknowledge or Nack the message. If the Ack
+	// deadline for a message passes without an Ack or a Nack, the Pub/Sub
+	// system will eventually redeliver the message. If a subscriber
+	// acknowledges after the deadline, the Pub/Sub system may accept the
+	// Ack, but it is possible that the message has been already delivered
+	// again. Multiple Acks to the message are allowed and will succeed. For
+	// push delivery, this value is used to set the request timeout for the
+	// call to the push endpoint. For pull delivery, this value is used as
+	// the initial value for the Ack deadline. It may be overridden for each
+	// message using its corresponding ack_id with ModifyAckDeadline. While
+	// a message is outstanding (i.e. it has been delivered to a pull
 	// subscriber and the subscriber has not yet Acked or Nacked), the
-	// Pub/Sub
-	// system will not deliver that message to another pull subscriber
-	// (on a best-effort basis).
+	// Pub/Sub system will not deliver that message to another pull
+	// subscriber (on a best-effort basis).
 	AckDeadlineSeconds int64 `json:"ackDeadlineSeconds,omitempty"`
 
 	// Name: Name of the subscription.
 	Name string `json:"name,omitempty"`
 
 	// PushConfig: If push delivery is used with this subscription, this
-	// field is
-	// used to configure it.
+	// field is used to configure it.
 	PushConfig *PushConfig `json:"pushConfig,omitempty"`
 
 	// Topic: The name of the topic from which this subscription is
@@ -937,14 +870,11 @@
 }
 
 // Acknowledge: Acknowledges a particular received message: the Pub/Sub
-// system can remove
-// the given message from the subscription. Acknowledging a message
-// whose
-// Ack deadline has expired may succeed, but the message could have
-// been
-// already redelivered. Acknowledging a message more than once will
-// not
-// result in an error. This is only used for messages received via pull.
+// system can remove the given message from the subscription.
+// Acknowledging a message whose Ack deadline has expired may succeed,
+// but the message could have been already redelivered. Acknowledging a
+// message more than once will not result in an error. This is only used
+// for messages received via pull.
 func (r *SubscriptionsService) Acknowledge(acknowledgerequest *AcknowledgeRequest) *SubscriptionsAcknowledgeCall {
 	c := &SubscriptionsAcknowledgeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.acknowledgerequest = acknowledgerequest
@@ -978,7 +908,7 @@
 
 func (c *SubscriptionsAcknowledgeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1039,7 +969,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Acknowledges a particular received message: the Pub/Sub system can remove\nthe given message from the subscription. Acknowledging a message whose\nAck deadline has expired may succeed, but the message could have been\nalready redelivered. Acknowledging a message more than once will not\nresult in an error. This is only used for messages received via pull.",
+	//   "description": "Acknowledges a particular received message: the Pub/Sub system can remove the given message from the subscription. Acknowledging a message whose Ack deadline has expired may succeed, but the message could have been already redelivered. Acknowledging a message more than once will not result in an error. This is only used for messages received via pull.",
 	//   "flatPath": "v1beta1a/subscriptions/acknowledge",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.subscriptions.acknowledge",
@@ -1071,13 +1001,11 @@
 }
 
 // Create: Creates a subscription on a given topic for a given
-// subscriber.
-// If the subscription already exists, returns ALREADY_EXISTS.
-// If the corresponding topic doesn't exist, returns NOT_FOUND.
-//
-// If the name is not provided in the request, the server will assign a
-// random
-// name for this subscription on the same project as the topic.
+// subscriber. If the subscription already exists, returns
+// ALREADY_EXISTS. If the corresponding topic doesn't exist, returns
+// NOT_FOUND. If the name is not provided in the request, the server
+// will assign a random name for this subscription on the same project
+// as the topic.
 func (r *SubscriptionsService) Create(subscription *Subscription) *SubscriptionsCreateCall {
 	c := &SubscriptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.subscription = subscription
@@ -1111,7 +1039,7 @@
 
 func (c *SubscriptionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1172,7 +1100,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a subscription on a given topic for a given subscriber.\nIf the subscription already exists, returns ALREADY_EXISTS.\nIf the corresponding topic doesn't exist, returns NOT_FOUND.\n\nIf the name is not provided in the request, the server will assign a random\nname for this subscription on the same project as the topic.",
+	//   "description": "Creates a subscription on a given topic for a given subscriber. If the subscription already exists, returns ALREADY_EXISTS. If the corresponding topic doesn't exist, returns NOT_FOUND. If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic.",
 	//   "flatPath": "v1beta1a/subscriptions",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.subscriptions.create",
@@ -1204,10 +1132,8 @@
 }
 
 // Delete: Deletes an existing subscription. All pending messages in the
-// subscription
-// are immediately dropped. Calls to Pull after deletion will
-// return
-// NOT_FOUND.
+// subscription are immediately dropped. Calls to Pull after deletion
+// will return NOT_FOUND.
 func (r *SubscriptionsService) Delete(subscription string) *SubscriptionsDeleteCall {
 	c := &SubscriptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.subscription = subscription
@@ -1241,7 +1167,7 @@
 
 func (c *SubscriptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1300,7 +1226,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes an existing subscription. All pending messages in the subscription\nare immediately dropped. Calls to Pull after deletion will return\nNOT_FOUND.",
+	//   "description": "Deletes an existing subscription. All pending messages in the subscription are immediately dropped. Calls to Pull after deletion will return NOT_FOUND.",
 	//   "flatPath": "v1beta1a/subscriptions/{subscriptionsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "pubsub.subscriptions.delete",
@@ -1383,7 +1309,7 @@
 
 func (c *SubscriptionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1497,8 +1423,7 @@
 }
 
 // PageToken sets the optional parameter "pageToken": The value obtained
-// in the last <code>ListSubscriptionsResponse</code>
-// for continuation.
+// in the last ListSubscriptionsResponse for continuation.
 func (c *SubscriptionsListCall) PageToken(pageToken string) *SubscriptionsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -1548,7 +1473,7 @@
 
 func (c *SubscriptionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1620,7 +1545,7 @@
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "The value obtained in the last \u003ccode\u003eListSubscriptionsResponse\u003c/code\u003e\nfor continuation.",
+	//       "description": "The value obtained in the last ListSubscriptionsResponse for continuation.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -1708,7 +1633,7 @@
 
 func (c *SubscriptionsModifyAckDeadlineCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1800,15 +1725,11 @@
 	header_                 http.Header
 }
 
-// ModifyPushConfig: Modifies the <code>PushConfig</code> for a
-// specified subscription.
-// This method can be used to suspend the flow of messages to an
-// endpoint
-// by clearing the <code>PushConfig</code> field in the request.
-// Messages
-// will be accumulated for delivery even if no push configuration
-// is
-// defined or while the configuration is modified.
+// ModifyPushConfig: Modifies the PushConfig for a specified
+// subscription. This method can be used to suspend the flow of messages
+// to an endpoint by clearing the PushConfig field in the request.
+// Messages will be accumulated for delivery even if no push
+// configuration is defined or while the configuration is modified.
 func (r *SubscriptionsService) ModifyPushConfig(modifypushconfigrequest *ModifyPushConfigRequest) *SubscriptionsModifyPushConfigCall {
 	c := &SubscriptionsModifyPushConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.modifypushconfigrequest = modifypushconfigrequest
@@ -1842,7 +1763,7 @@
 
 func (c *SubscriptionsModifyPushConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1903,7 +1824,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Modifies the \u003ccode\u003ePushConfig\u003c/code\u003e for a specified subscription.\nThis method can be used to suspend the flow of messages to an endpoint\nby clearing the \u003ccode\u003ePushConfig\u003c/code\u003e field in the request. Messages\nwill be accumulated for delivery even if no push configuration is\ndefined or while the configuration is modified.",
+	//   "description": "Modifies the PushConfig for a specified subscription. This method can be used to suspend the flow of messages to an endpoint by clearing the PushConfig field in the request. Messages will be accumulated for delivery even if no push configuration is defined or while the configuration is modified.",
 	//   "flatPath": "v1beta1a/subscriptions/modifyPushConfig",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.subscriptions.modifyPushConfig",
@@ -1934,14 +1855,11 @@
 	header_     http.Header
 }
 
-// Pull: Pulls a single message from the server.
-// If return_immediately is true, and no messages are available in
-// the
-// subscription, this method returns FAILED_PRECONDITION. The system is
-// free
-// to return an UNAVAILABLE error if no messages are available in
-// a
-// reasonable amount of time (to reduce system load).
+// Pull: Pulls a single message from the server. If return_immediately
+// is true, and no messages are available in the subscription, this
+// method returns FAILED_PRECONDITION. The system is free to return an
+// UNAVAILABLE error if no messages are available in a reasonable amount
+// of time (to reduce system load).
 func (r *SubscriptionsService) Pull(pullrequest *PullRequest) *SubscriptionsPullCall {
 	c := &SubscriptionsPullCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.pullrequest = pullrequest
@@ -1975,7 +1893,7 @@
 
 func (c *SubscriptionsPullCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2036,7 +1954,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Pulls a single message from the server.\nIf return_immediately is true, and no messages are available in the\nsubscription, this method returns FAILED_PRECONDITION. The system is free\nto return an UNAVAILABLE error if no messages are available in a\nreasonable amount of time (to reduce system load).",
+	//   "description": "Pulls a single message from the server. If return_immediately is true, and no messages are available in the subscription, this method returns FAILED_PRECONDITION. The system is free to return an UNAVAILABLE error if no messages are available in a reasonable amount of time (to reduce system load).",
 	//   "flatPath": "v1beta1a/subscriptions/pull",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.subscriptions.pull",
@@ -2068,11 +1986,9 @@
 }
 
 // PullBatch: Pulls messages from the server. Returns an empty list if
-// there are no
-// messages available in the backlog. The system is free to return
-// UNAVAILABLE
-// if there are too many pull requests outstanding for the given
-// subscription.
+// there are no messages available in the backlog. The system is free to
+// return UNAVAILABLE if there are too many pull requests outstanding
+// for the given subscription.
 func (r *SubscriptionsService) PullBatch(pullbatchrequest *PullBatchRequest) *SubscriptionsPullBatchCall {
 	c := &SubscriptionsPullBatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.pullbatchrequest = pullbatchrequest
@@ -2106,7 +2022,7 @@
 
 func (c *SubscriptionsPullBatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2167,7 +2083,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Pulls messages from the server. Returns an empty list if there are no\nmessages available in the backlog. The system is free to return UNAVAILABLE\nif there are too many pull requests outstanding for the given subscription.",
+	//   "description": "Pulls messages from the server. Returns an empty list if there are no messages available in the backlog. The system is free to return UNAVAILABLE if there are too many pull requests outstanding for the given subscription.",
 	//   "flatPath": "v1beta1a/subscriptions/pullBatch",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.subscriptions.pullBatch",
@@ -2232,7 +2148,7 @@
 
 func (c *TopicsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2325,10 +2241,8 @@
 }
 
 // Delete: Deletes the topic with the given name. Returns NOT_FOUND if
-// the topic does
-// not exist. After a topic is deleted, a new topic may be created with
-// the
-// same name.
+// the topic does not exist. After a topic is deleted, a new topic may
+// be created with the same name.
 func (r *TopicsService) Delete(topic string) *TopicsDeleteCall {
 	c := &TopicsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.topic = topic
@@ -2362,7 +2276,7 @@
 
 func (c *TopicsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2421,7 +2335,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes the topic with the given name. Returns NOT_FOUND if the topic does\nnot exist. After a topic is deleted, a new topic may be created with the\nsame name.",
+	//   "description": "Deletes the topic with the given name. Returns NOT_FOUND if the topic does not exist. After a topic is deleted, a new topic may be created with the same name.",
 	//   "flatPath": "v1beta1a/topics/{topicsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "pubsub.topics.delete",
@@ -2461,11 +2375,9 @@
 }
 
 // Get: Gets the configuration of a topic. Since the topic only has the
-// name
-// attribute, this method is only useful to check the existence of a
-// topic.
-// If other attributes are added in the future, they will be returned
-// here.
+// name attribute, this method is only useful to check the existence of
+// a topic. If other attributes are added in the future, they will be
+// returned here.
 func (r *TopicsService) Get(topic string) *TopicsGetCall {
 	c := &TopicsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.topic = topic
@@ -2509,7 +2421,7 @@
 
 func (c *TopicsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2571,7 +2483,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the configuration of a topic. Since the topic only has the name\nattribute, this method is only useful to check the existence of a topic.\nIf other attributes are added in the future, they will be returned here.",
+	//   "description": "Gets the configuration of a topic. Since the topic only has the name attribute, this method is only useful to check the existence of a topic. If other attributes are added in the future, they will be returned here.",
 	//   "flatPath": "v1beta1a/topics/{topicsId}",
 	//   "httpMethod": "GET",
 	//   "id": "pubsub.topics.get",
@@ -2623,8 +2535,7 @@
 }
 
 // PageToken sets the optional parameter "pageToken": The value obtained
-// in the last <code>ListTopicsResponse</code>
-// for continuation.
+// in the last ListTopicsResponse for continuation.
 func (c *TopicsListCall) PageToken(pageToken string) *TopicsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -2674,7 +2585,7 @@
 
 func (c *TopicsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2746,7 +2657,7 @@
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "The value obtained in the last \u003ccode\u003eListTopicsResponse\u003c/code\u003e\nfor continuation.",
+	//       "description": "The value obtained in the last ListTopicsResponse for continuation.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -2799,9 +2710,8 @@
 	header_        http.Header
 }
 
-// Publish: Adds a message to the topic.  Returns NOT_FOUND if the topic
-// does not
-// exist.
+// Publish: Adds a message to the topic. Returns NOT_FOUND if the topic
+// does not exist.
 func (r *TopicsService) Publish(publishrequest *PublishRequest) *TopicsPublishCall {
 	c := &TopicsPublishCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.publishrequest = publishrequest
@@ -2835,7 +2745,7 @@
 
 func (c *TopicsPublishCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2896,7 +2806,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Adds a message to the topic.  Returns NOT_FOUND if the topic does not\nexist.",
+	//   "description": "Adds a message to the topic. Returns NOT_FOUND if the topic does not exist.",
 	//   "flatPath": "v1beta1a/topics/publish",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.topics.publish",
@@ -2928,8 +2838,7 @@
 }
 
 // PublishBatch: Adds one or more messages to the topic. Returns
-// NOT_FOUND if the topic does
-// not exist.
+// NOT_FOUND if the topic does not exist.
 func (r *TopicsService) PublishBatch(publishbatchrequest *PublishBatchRequest) *TopicsPublishBatchCall {
 	c := &TopicsPublishBatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.publishbatchrequest = publishbatchrequest
@@ -2963,7 +2872,7 @@
 
 func (c *TopicsPublishBatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3024,7 +2933,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Adds one or more messages to the topic. Returns NOT_FOUND if the topic does\nnot exist.",
+	//   "description": "Adds one or more messages to the topic. Returns NOT_FOUND if the topic does not exist.",
 	//   "flatPath": "v1beta1a/topics/publishBatch",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.topics.publishBatch",
diff --git a/pubsub/v1beta2/pubsub-api.json b/pubsub/v1beta2/pubsub-api.json
index e5731bd..18d76d7 100644
--- a/pubsub/v1beta2/pubsub-api.json
+++ b/pubsub/v1beta2/pubsub-api.json
@@ -15,7 +15,7 @@
   "baseUrl": "https://pubsub.googleapis.com/",
   "batchPath": "batch",
   "canonicalName": "Pubsub",
-  "description": "Provides reliable, many-to-many, asynchronous messaging between applications.\n",
+  "description": "Provides reliable, many-to-many, asynchronous messaging between applications. ",
   "discoveryVersion": "v1",
   "documentationLink": "https://cloud.google.com/pubsub/docs",
   "icons": {
@@ -112,7 +112,7 @@
         "subscriptions": {
           "methods": {
             "acknowledge": {
-              "description": "Acknowledges the messages associated with the `ack_ids` in the\n`AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages\nfrom the subscription.\n\nAcknowledging a message whose ack deadline has expired may succeed,\nbut such a message may be redelivered later. Acknowledging a message more\nthan once will not result in an error.",
+              "description": "Acknowledges the messages associated with the `ack_ids` in the `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages from the subscription. Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error.",
               "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:acknowledge",
               "httpMethod": "POST",
               "id": "pubsub.projects.subscriptions.acknowledge",
@@ -141,7 +141,7 @@
               ]
             },
             "create": {
-              "description": "Creates a subscription to a given topic.\nIf the subscription already exists, returns `ALREADY_EXISTS`.\nIf the corresponding topic doesn't exist, returns `NOT_FOUND`.\n\nIf the name is not provided in the request, the server will assign a random\nname for this subscription on the same project as the topic. Note that\nfor REST API requests, you must specify a name.",
+              "description": "Creates a subscription to a given topic. If the subscription already exists, returns `ALREADY_EXISTS`. If the corresponding topic doesn't exist, returns `NOT_FOUND`. If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic. Note that for REST API requests, you must specify a name.",
               "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}",
               "httpMethod": "PUT",
               "id": "pubsub.projects.subscriptions.create",
@@ -150,7 +150,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "The name of the subscription. It must have the format\n`\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must\nstart with a letter, and contain only letters (`[A-Za-z]`), numbers\n(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),\nplus (`+`) or percent signs (`%`). It must be between 3 and 255 characters\nin length, and it must not start with `\"goog\"`.",
+                  "description": "The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                   "required": true,
@@ -170,7 +170,7 @@
               ]
             },
             "delete": {
-              "description": "Deletes an existing subscription. All pending messages in the subscription\nare immediately dropped. Calls to `Pull` after deletion will return\n`NOT_FOUND`. After a subscription is deleted, a new one may be created with\nthe same name, but the new one has no association with the old\nsubscription, or its topic unless the same topic is specified.",
+              "description": "Deletes an existing subscription. All pending messages in the subscription are immediately dropped. Calls to `Pull` after deletion will return `NOT_FOUND`. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription, or its topic unless the same topic is specified.",
               "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}",
               "httpMethod": "DELETE",
               "id": "pubsub.projects.subscriptions.delete",
@@ -222,7 +222,7 @@
               ]
             },
             "getIamPolicy": {
-              "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
+              "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
               "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:getIamPolicy",
               "httpMethod": "GET",
               "id": "pubsub.projects.subscriptions.getIamPolicy",
@@ -231,13 +231,13 @@
               ],
               "parameters": {
                 "options.requestedPolicyVersion": {
-                  "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+                  "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
                 },
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                   "required": true,
@@ -269,7 +269,7 @@
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "The value returned by the last `ListSubscriptionsResponse`; indicates that\nthis is a continuation of a prior `ListSubscriptions` call, and that the\nsystem should return the next page of data.",
+                  "description": "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.",
                   "location": "query",
                   "type": "string"
                 },
@@ -291,7 +291,7 @@
               ]
             },
             "modifyAckDeadline": {
-              "description": "Modifies the ack deadline for a specific message. This method is useful\nto indicate that more time is needed to process a message by the\nsubscriber, or to make the message available for redelivery if the\nprocessing was interrupted. Note that this does not modify the\nsubscription-level `ackDeadlineSeconds` used for subsequent messages.",
+              "description": "Modifies the ack deadline for a specific message. This method is useful to indicate that more time is needed to process a message by the subscriber, or to make the message available for redelivery if the processing was interrupted. Note that this does not modify the subscription-level `ackDeadlineSeconds` used for subsequent messages.",
               "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyAckDeadline",
               "httpMethod": "POST",
               "id": "pubsub.projects.subscriptions.modifyAckDeadline",
@@ -320,7 +320,7 @@
               ]
             },
             "modifyPushConfig": {
-              "description": "Modifies the `PushConfig` for a specified subscription.\n\nThis may be used to change a push subscription to a pull one (signified by\nan empty `PushConfig`) or vice versa, or change the endpoint URL and other\nattributes of a push subscription. Messages will accumulate for delivery\ncontinuously through the call regardless of changes to the `PushConfig`.",
+              "description": "Modifies the `PushConfig` for a specified subscription. This may be used to change a push subscription to a pull one (signified by an empty `PushConfig`) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the `PushConfig`.",
               "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyPushConfig",
               "httpMethod": "POST",
               "id": "pubsub.projects.subscriptions.modifyPushConfig",
@@ -349,7 +349,7 @@
               ]
             },
             "pull": {
-              "description": "Pulls messages from the server. Returns an empty list if there are no\nmessages available in the backlog. The server may return `UNAVAILABLE` if\nthere are too many concurrent pull requests pending for the given\nsubscription.",
+              "description": "Pulls messages from the server. Returns an empty list if there are no messages available in the backlog. The server may return `UNAVAILABLE` if there are too many concurrent pull requests pending for the given subscription.",
               "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:pull",
               "httpMethod": "POST",
               "id": "pubsub.projects.subscriptions.pull",
@@ -378,7 +378,7 @@
               ]
             },
             "setIamPolicy": {
-              "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
+              "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
               "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:setIamPolicy",
               "httpMethod": "POST",
               "id": "pubsub.projects.subscriptions.setIamPolicy",
@@ -387,7 +387,7 @@
               ],
               "parameters": {
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                   "required": true,
@@ -407,7 +407,7 @@
               ]
             },
             "testIamPermissions": {
-              "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+              "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
               "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:testIamPermissions",
               "httpMethod": "POST",
               "id": "pubsub.projects.subscriptions.testIamPermissions",
@@ -416,7 +416,7 @@
               ],
               "parameters": {
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
                   "required": true,
@@ -449,7 +449,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "The name of the topic. It must have the format\n`\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter,\nand contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),\nunderscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent\nsigns (`%`). It must be between 3 and 255 characters in length, and it\nmust not start with `\"goog\"`.",
+                  "description": "The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/topics/[^/]+$",
                   "required": true,
@@ -469,7 +469,7 @@
               ]
             },
             "delete": {
-              "description": "Deletes the topic with the given name. Returns `NOT_FOUND` if the topic\ndoes not exist. After a topic is deleted, a new topic may be created with\nthe same name; this is an entirely new topic with none of the old\nconfiguration or subscriptions. Existing subscriptions to this topic are\nnot deleted, but their `topic` field is set to `_deleted-topic_`.",
+              "description": "Deletes the topic with the given name. Returns `NOT_FOUND` if the topic does not exist. After a topic is deleted, a new topic may be created with the same name; this is an entirely new topic with none of the old configuration or subscriptions. Existing subscriptions to this topic are not deleted, but their `topic` field is set to `_deleted-topic_`.",
               "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}",
               "httpMethod": "DELETE",
               "id": "pubsub.projects.topics.delete",
@@ -521,7 +521,7 @@
               ]
             },
             "getIamPolicy": {
-              "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
+              "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
               "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}:getIamPolicy",
               "httpMethod": "GET",
               "id": "pubsub.projects.topics.getIamPolicy",
@@ -530,13 +530,13 @@
               ],
               "parameters": {
                 "options.requestedPolicyVersion": {
-                  "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+                  "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
                 },
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/topics/[^/]+$",
                   "required": true,
@@ -568,7 +568,7 @@
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "The value returned by the last `ListTopicsResponse`; indicates that this is\na continuation of a prior `ListTopics` call, and that the system should\nreturn the next page of data.",
+                  "description": "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.",
                   "location": "query",
                   "type": "string"
                 },
@@ -590,7 +590,7 @@
               ]
             },
             "publish": {
-              "description": "Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic\ndoes not exist. The message payload must not be empty; it must contain\n either a non-empty data field, or at least one attribute.",
+              "description": "Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic does not exist. The message payload must not be empty; it must contain either a non-empty data field, or at least one attribute.",
               "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}:publish",
               "httpMethod": "POST",
               "id": "pubsub.projects.topics.publish",
@@ -619,7 +619,7 @@
               ]
             },
             "setIamPolicy": {
-              "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
+              "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
               "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}:setIamPolicy",
               "httpMethod": "POST",
               "id": "pubsub.projects.topics.setIamPolicy",
@@ -628,7 +628,7 @@
               ],
               "parameters": {
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/topics/[^/]+$",
                   "required": true,
@@ -648,7 +648,7 @@
               ]
             },
             "testIamPermissions": {
-              "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+              "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
               "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}:testIamPermissions",
               "httpMethod": "POST",
               "id": "pubsub.projects.topics.testIamPermissions",
@@ -657,7 +657,7 @@
               ],
               "parameters": {
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/topics/[^/]+$",
                   "required": true,
@@ -696,7 +696,7 @@
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "The value returned by the last `ListTopicSubscriptionsResponse`; indicates\nthat this is a continuation of a prior `ListTopicSubscriptions` call, and\nthat the system should return the next page of data.",
+                      "description": "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.",
                       "location": "query",
                       "type": "string"
                     },
@@ -724,7 +724,7 @@
       }
     }
   },
-  "revision": "20200427",
+  "revision": "20200807",
   "rootUrl": "https://pubsub.googleapis.com/",
   "schemas": {
     "AcknowledgeRequest": {
@@ -732,7 +732,7 @@
       "id": "AcknowledgeRequest",
       "properties": {
         "ackIds": {
-          "description": "The acknowledgment ID for the messages being acknowledged that was returned\nby the Pub/Sub system in the `Pull` response. Must not be empty.",
+          "description": "The acknowledgment ID for the messages being acknowledged that was returned by the Pub/Sub system in the `Pull` response. Must not be empty.",
           "items": {
             "type": "string"
           },
@@ -747,46 +747,46 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
     },
     "Expr": {
-      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
+      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
       "id": "Expr",
       "properties": {
         "description": {
-          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
+          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
           "type": "string"
         },
         "expression": {
-          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
+          "description": "Textual representation of an expression in Common Expression Language syntax.",
           "type": "string"
         },
         "location": {
-          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
+          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
           "type": "string"
         },
         "title": {
-          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
+          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
           "type": "string"
         }
       },
@@ -797,7 +797,7 @@
       "id": "ListSubscriptionsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "If not empty, indicates that there may be more subscriptions that match\nthe request; this value should be passed in a new\n`ListSubscriptionsRequest` to get more subscriptions.",
+          "description": "If not empty, indicates that there may be more subscriptions that match the request; this value should be passed in a new `ListSubscriptionsRequest` to get more subscriptions.",
           "type": "string"
         },
         "subscriptions": {
@@ -815,7 +815,7 @@
       "id": "ListTopicSubscriptionsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "If not empty, indicates that there may be more subscriptions that match\nthe request; this value should be passed in a new\n`ListTopicSubscriptionsRequest` to get more subscriptions.",
+          "description": "If not empty, indicates that there may be more subscriptions that match the request; this value should be passed in a new `ListTopicSubscriptionsRequest` to get more subscriptions.",
           "type": "string"
         },
         "subscriptions": {
@@ -833,7 +833,7 @@
       "id": "ListTopicsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "If not empty, indicates that there may be more topics that match the\nrequest; this value should be passed in a new `ListTopicsRequest`.",
+          "description": "If not empty, indicates that there may be more topics that match the request; this value should be passed in a new `ListTopicsRequest`.",
           "type": "string"
         },
         "topics": {
@@ -851,12 +851,12 @@
       "id": "ModifyAckDeadlineRequest",
       "properties": {
         "ackDeadlineSeconds": {
-          "description": "The new ack deadline with respect to the time this request was sent to\nthe Pub/Sub system. Must be \u003e= 0. For example, if the value is 10, the new\nack deadline will expire 10 seconds after the `ModifyAckDeadline` call\nwas made. Specifying zero may immediately make the message available for\nanother pull request.",
+          "description": "The new ack deadline with respect to the time this request was sent to the Pub/Sub system. Must be \u003e= 0. For example, if the value is 10, the new ack deadline will expire 10 seconds after the `ModifyAckDeadline` call was made. Specifying zero may immediately make the message available for another pull request.",
           "format": "int32",
           "type": "integer"
         },
         "ackId": {
-          "description": "The acknowledgment ID. Either this or ack_ids must be populated, but not\nboth.",
+          "description": "The acknowledgment ID. Either this or ack_ids must be populated, but not both.",
           "type": "string"
         },
         "ackIds": {
@@ -875,44 +875,44 @@
       "properties": {
         "pushConfig": {
           "$ref": "PushConfig",
-          "description": "The push configuration for future deliveries.\n\nAn empty `pushConfig` indicates that the Pub/Sub system should\nstop pushing messages from the given subscription and allow\nmessages to be pulled and acknowledged - effectively pausing\nthe subscription if `Pull` is not called."
+          "description": "The push configuration for future deliveries. An empty `pushConfig` indicates that the Pub/Sub system should stop pushing messages from the given subscription and allow messages to be pulled and acknowledged - effectively pausing the subscription if `Pull` is not called."
         }
       },
       "type": "object"
     },
     "OidcToken": {
-      "description": "Contains information needed for generating an\n[OpenID Connect\ntoken](https://developers.google.com/identity/protocols/OpenIDConnect).",
+      "description": "Contains information needed for generating an [OpenID Connect token](https://developers.google.com/identity/protocols/OpenIDConnect).",
       "id": "OidcToken",
       "properties": {
         "audience": {
-          "description": "Audience to be used when generating OIDC token. The audience claim\nidentifies the recipients that the JWT is intended for. The audience\nvalue is a single case-sensitive string. Having multiple values (array)\nfor the audience field is not supported. More info about the OIDC JWT\ntoken audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3\nNote: if not specified, the Push endpoint URL will be used.",
+          "description": "Audience to be used when generating OIDC token. The audience claim identifies the recipients that the JWT is intended for. The audience value is a single case-sensitive string. Having multiple values (array) for the audience field is not supported. More info about the OIDC JWT token audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3 Note: if not specified, the Push endpoint URL will be used.",
           "type": "string"
         },
         "serviceAccountEmail": {
-          "description": "[Service account\nemail](https://cloud.google.com/iam/docs/service-accounts)\nto be used for generating the OIDC token. The caller (for\nCreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must\nhave the iam.serviceAccounts.actAs permission for the service account.",
+          "description": "[Service account email](https://cloud.google.com/iam/docs/service-accounts) to be used for generating the OIDC token. The caller (for CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs) must have the iam.serviceAccounts.actAs permission for the service account.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\n            \"user:eve@example.com\"\n          ],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "bindings": {
-          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
+          "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.",
           "items": {
             "$ref": "Binding"
           },
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
           "format": "byte",
           "type": "string"
         },
         "version": {
-          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -938,7 +938,7 @@
       "id": "PublishResponse",
       "properties": {
         "messageIds": {
-          "description": "The server-assigned ID of each published message, in the same order as\nthe messages in the request. IDs are guaranteed to be unique within\nthe topic.",
+          "description": "The server-assigned ID of each published message, in the same order as the messages in the request. IDs are guaranteed to be unique within the topic.",
           "items": {
             "type": "string"
           },
@@ -948,7 +948,7 @@
       "type": "object"
     },
     "PubsubMessage": {
-      "description": "A message data and its attributes. The message payload must not be empty;\nit must contain either a non-empty data field, or at least one attribute.",
+      "description": "A message data and its attributes. The message payload must not be empty; it must contain either a non-empty data field, or at least one attribute.",
       "id": "PubsubMessage",
       "properties": {
         "attributes": {
@@ -959,16 +959,16 @@
           "type": "object"
         },
         "data": {
-          "description": "The message payload. For JSON requests, the value of this field must be\n[base64-encoded](https://tools.ietf.org/html/rfc4648).",
+          "description": "The message payload. For JSON requests, the value of this field must be [base64-encoded](https://tools.ietf.org/html/rfc4648).",
           "format": "byte",
           "type": "string"
         },
         "messageId": {
-          "description": "ID of this message, assigned by the server when the message is published.\nGuaranteed to be unique within the topic. This value may be read by a\nsubscriber that receives a `PubsubMessage` via a `Pull` call or a push\ndelivery. It must not be populated by the publisher in a `Publish` call.",
+          "description": "ID of this message, assigned by the server when the message is published. Guaranteed to be unique within the topic. This value may be read by a subscriber that receives a `PubsubMessage` via a `Pull` call or a push delivery. It must not be populated by the publisher in a `Publish` call.",
           "type": "string"
         },
         "publishTime": {
-          "description": "The time at which the message was published, populated by the server when\nit receives the `Publish` call. It must not be populated by the\npublisher in a `Publish` call.",
+          "description": "The time at which the message was published, populated by the server when it receives the `Publish` call. It must not be populated by the publisher in a `Publish` call.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -980,12 +980,12 @@
       "id": "PullRequest",
       "properties": {
         "maxMessages": {
-          "description": "The maximum number of messages returned for this request. The Pub/Sub\nsystem may return fewer than the number specified.",
+          "description": "The maximum number of messages returned for this request. The Pub/Sub system may return fewer than the number specified.",
           "format": "int32",
           "type": "integer"
         },
         "returnImmediately": {
-          "description": "Optional. If this is specified as true the system will respond immediately even if\nit is not able to return a message in the `Pull` response. Otherwise the\nsystem is allowed to wait until at least one message is available rather\nthan returning no messages. The client may cancel the request if it does\nnot wish to wait any longer for the response. Warning: setting this field\nto `true` is discouraged because it adversely impacts the performance of\n`Pull` operations. We recommend that users do not set this field.",
+          "description": "Optional. If this is specified as true the system will respond immediately even if it is not able to return a message in the `Pull` response. Otherwise the system is allowed to wait until at least one message is available rather than returning no messages. The client may cancel the request if it does not wish to wait any longer for the response. Warning: setting this field to `true` is discouraged because it adversely impacts the performance of `Pull` operations. We recommend that users do not set this field.",
           "type": "boolean"
         }
       },
@@ -996,7 +996,7 @@
       "id": "PullResponse",
       "properties": {
         "receivedMessages": {
-          "description": "Received Pub/Sub messages. The Pub/Sub system will return zero messages if\nthere are no more available in the backlog. The Pub/Sub system may return\nfewer than the `maxMessages` requested even if there are more messages\navailable in the backlog.",
+          "description": "Received Pub/Sub messages. The Pub/Sub system will return zero messages if there are no more available in the backlog. The Pub/Sub system may return fewer than the `maxMessages` requested even if there are more messages available in the backlog.",
           "items": {
             "$ref": "ReceivedMessage"
           },
@@ -1013,15 +1013,15 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Endpoint configuration attributes.\n\nEvery endpoint has a set of API supported attributes that can be used to\ncontrol different aspects of the message delivery.\n\nThe currently supported attribute is `x-goog-version`, which you can\nuse to change the format of the push message. This attribute\nindicates the version of the data expected by the endpoint. This\ncontrols the shape of the envelope (i.e. its fields and metadata).\nThe endpoint version is based on the version of the Pub/Sub\nAPI.\n\nIf not present during the `CreateSubscription` call, it will default to\nthe version of the API used to make such call. If not present during a\n`ModifyPushConfig` call, its value will not be changed. `GetSubscription`\ncalls will always return a valid version, even if the subscription was\ncreated without this attribute.\n\nThe possible values for this attribute are:\n\n* `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.\n* `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.",
+          "description": "Endpoint configuration attributes. Every endpoint has a set of API supported attributes that can be used to control different aspects of the message delivery. The currently supported attribute is `x-goog-version`, which you can use to change the format of the push message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the envelope (i.e. its fields and metadata). The endpoint version is based on the version of the Pub/Sub API. If not present during the `CreateSubscription` call, it will default to the version of the API used to make such call. If not present during a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The possible values for this attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.",
           "type": "object"
         },
         "oidcToken": {
           "$ref": "OidcToken",
-          "description": "If specified, Pub/Sub will generate and attach an OIDC JWT token as an\n`Authorization` header in the HTTP request for every pushed message."
+          "description": "If specified, Pub/Sub will generate and attach an OIDC JWT token as an `Authorization` header in the HTTP request for every pushed message."
         },
         "pushEndpoint": {
-          "description": "A URL locating the endpoint to which messages should be pushed.\nFor example, a Webhook endpoint might use \"https://example.com/push\".",
+          "description": "A URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might use \"https://example.com/push\".",
           "type": "string"
         }
       },
@@ -1048,7 +1048,7 @@
       "properties": {
         "policy": {
           "$ref": "Policy",
-          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
+          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them."
         }
       },
       "type": "object"
@@ -1058,20 +1058,20 @@
       "id": "Subscription",
       "properties": {
         "ackDeadlineSeconds": {
-          "description": "This value is the maximum time after a subscriber receives a message\nbefore the subscriber should acknowledge the message. After message\ndelivery but before the ack deadline expires and before the message is\nacknowledged, it is an outstanding message and will not be delivered\nagain during that time (on a best-effort basis).\n\nFor pull subscriptions, this value is used as the initial value for the ack\ndeadline. To override this value for a given message, call\n`ModifyAckDeadline` with the corresponding `ack_id` if using pull.\nThe maximum custom deadline you can specify is 600 seconds (10 minutes).\n\nFor push delivery, this value is also used to set the request timeout for\nthe call to the push endpoint.\n\nIf the subscriber never acknowledges the message, the Pub/Sub\nsystem will eventually redeliver the message.\n\nIf this parameter is 0, a default value of 10 seconds is used.",
+          "description": "This value is the maximum time after a subscriber receives a message before the subscriber should acknowledge the message. After message delivery but before the ack deadline expires and before the message is acknowledged, it is an outstanding message and will not be delivered again during that time (on a best-effort basis). For pull subscriptions, this value is used as the initial value for the ack deadline. To override this value for a given message, call `ModifyAckDeadline` with the corresponding `ack_id` if using pull. The maximum custom deadline you can specify is 600 seconds (10 minutes). For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message. If this parameter is 0, a default value of 10 seconds is used.",
           "format": "int32",
           "type": "integer"
         },
         "name": {
-          "description": "The name of the subscription. It must have the format\n`\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must\nstart with a letter, and contain only letters (`[A-Za-z]`), numbers\n(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),\nplus (`+`) or percent signs (`%`). It must be between 3 and 255 characters\nin length, and it must not start with `\"goog\"`.",
+          "description": "The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.",
           "type": "string"
         },
         "pushConfig": {
           "$ref": "PushConfig",
-          "description": "If push delivery is used with this subscription, this field is\nused to configure it. An empty `pushConfig` signifies that the subscriber\nwill pull and ack messages using API methods."
+          "description": "If push delivery is used with this subscription, this field is used to configure it. An empty `pushConfig` signifies that the subscriber will pull and ack messages using API methods."
         },
         "topic": {
-          "description": "The name of the topic from which this subscription is receiving messages.\nThe value of this field will be `_deleted-topic_` if the topic has been\ndeleted.",
+          "description": "The name of the topic from which this subscription is receiving messages. The value of this field will be `_deleted-topic_` if the topic has been deleted.",
           "type": "string"
         }
       },
@@ -1082,7 +1082,7 @@
       "id": "TestIamPermissionsRequest",
       "properties": {
         "permissions": {
-          "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
+          "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
           "items": {
             "type": "string"
           },
@@ -1096,7 +1096,7 @@
       "id": "TestIamPermissionsResponse",
       "properties": {
         "permissions": {
-          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
+          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
           "items": {
             "type": "string"
           },
@@ -1110,7 +1110,7 @@
       "id": "Topic",
       "properties": {
         "name": {
-          "description": "The name of the topic. It must have the format\n`\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter,\nand contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),\nunderscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent\nsigns (`%`). It must be between 3 and 255 characters in length, and it\nmust not start with `\"goog\"`.",
+          "description": "The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.",
           "type": "string"
         }
       },
diff --git a/pubsub/v1beta2/pubsub-gen.go b/pubsub/v1beta2/pubsub-gen.go
index f5020ab..6340115 100644
--- a/pubsub/v1beta2/pubsub-gen.go
+++ b/pubsub/v1beta2/pubsub-gen.go
@@ -193,8 +193,8 @@
 // AcknowledgeRequest: Request for the Acknowledge method.
 type AcknowledgeRequest struct {
 	// AckIds: The acknowledgment ID for the messages being acknowledged
-	// that was returned
-	// by the Pub/Sub system in the `Pull` response. Must not be empty.
+	// that was returned by the Pub/Sub system in the `Pull` response. Must
+	// not be empty.
 	AckIds []string `json:"ackIds,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AckIds") to
@@ -222,95 +222,53 @@
 
 // Binding: Associates `members` with a `role`.
 type Binding struct {
-	// Condition: The condition that is associated with this binding.
-	//
-	// If the condition evaluates to `true`, then this binding applies to
-	// the
-	// current request.
-	//
-	// If the condition evaluates to `false`, then this binding does not
-	// apply to
-	// the current request. However, a different role binding might grant
-	// the same
-	// role to one or more of the members in this binding.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// Condition: The condition that is associated with this binding. If the
+	// condition evaluates to `true`, then this binding applies to the
+	// current request. If the condition evaluates to `false`, then this
+	// binding does not apply to the current request. However, a different
+	// role binding might grant the same role to one or more of the members
+	// in this binding. To learn which resources support conditions in their
+	// IAM policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	Condition *Expr `json:"condition,omitempty"`
 
 	// Members: Specifies the identities requesting access for a Cloud
-	// Platform resource.
-	// `members` can have the following values:
-	//
-	// * `allUsers`: A special identifier that represents anyone who is
-	//    on the internet; with or without a Google account.
-	//
-	// * `allAuthenticatedUsers`: A special identifier that represents
-	// anyone
-	//    who is authenticated with a Google account or a service
-	// account.
-	//
-	// * `user:{emailid}`: An email address that represents a specific
-	// Google
-	//    account. For example, `alice@example.com` .
-	//
-	//
-	// * `serviceAccount:{emailid}`: An email address that represents a
-	// service
-	//    account. For example,
-	// `my-other-app@appspot.gserviceaccount.com`.
-	//
-	// * `group:{emailid}`: An email address that represents a Google
-	// group.
-	//    For example, `admins@example.com`.
-	//
-	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a user that has been recently deleted.
-	// For
-	//    example, `alice@example.com?uid=123456789012345678901`. If the
-	// user is
-	//    recovered, this value reverts to `user:{emailid}` and the
-	// recovered user
-	//    retains the role in the binding.
-	//
-	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
-	// (plus
-	//    unique identifier) representing a service account that has been
-	// recently
-	//    deleted. For example,
-	//
+	// Platform resource. `members` can have the following values: *
+	// `allUsers`: A special identifier that represents anyone who is on the
+	// internet; with or without a Google account. *
+	// `allAuthenticatedUsers`: A special identifier that represents anyone
+	// who is authenticated with a Google account or a service account. *
+	// `user:{emailid}`: An email address that represents a specific Google
+	// account. For example, `alice@example.com` . *
+	// `serviceAccount:{emailid}`: An email address that represents a
+	// service account. For example,
+	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
+	// email address that represents a Google group. For example,
+	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
+	// email address (plus unique identifier) representing a user that has
+	// been recently deleted. For example,
+	// `alice@example.com?uid=123456789012345678901`. If the user is
+	// recovered, this value reverts to `user:{emailid}` and the recovered
+	// user retains the role in the binding. *
+	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
+	// (plus unique identifier) representing a service account that has been
+	// recently deleted. For example,
 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
-	//
-	//    If the service account is undeleted, this value reverts to
-	//    `serviceAccount:{emailid}` and the undeleted service account
-	// retains the
-	//    role in the binding.
-	//
-	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a Google group that has been recently
-	//    deleted. For example,
-	// `admins@example.com?uid=123456789012345678901`. If
-	//    the group is recovered, this value reverts to `group:{emailid}`
-	// and the
-	//    recovered group retains the role in the binding.
-	//
-	//
-	// * `domain:{domain}`: The G Suite domain (primary) that represents all
-	// the
-	//    users of that domain. For example, `google.com` or
-	// `example.com`.
-	//
-	//
+	// If the service account is undeleted, this value reverts to
+	// `serviceAccount:{emailid}` and the undeleted service account retains
+	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
+	// An email address (plus unique identifier) representing a Google group
+	// that has been recently deleted. For example,
+	// `admins@example.com?uid=123456789012345678901`. If the group is
+	// recovered, this value reverts to `group:{emailid}` and the recovered
+	// group retains the role in the binding. * `domain:{domain}`: The G
+	// Suite domain (primary) that represents all the users of that domain.
+	// For example, `google.com` or `example.com`.
 	Members []string `json:"members,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`.
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -337,17 +295,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -355,65 +307,40 @@
 }
 
 // Expr: Represents a textual expression in the Common Expression
-// Language (CEL)
-// syntax. CEL is a C-like expression language. The syntax and semantics
-// of CEL
-// are documented at https://github.com/google/cel-spec.
-//
-// Example (Comparison):
-//
-//     title: "Summary size limit"
-//     description: "Determines if a summary is less than 100 chars"
-//     expression: "document.summary.size() < 100"
-//
-// Example (Equality):
-//
-//     title: "Requestor is owner"
-//     description: "Determines if requestor is the document owner"
-//     expression: "document.owner ==
-// request.auth.claims.email"
-//
-// Example (Logic):
-//
-//     title: "Public documents"
-//     description: "Determine whether the document should be publicly
-// visible"
-//     expression: "document.type != 'private' && document.type !=
-// 'internal'"
-//
-// Example (Data Manipulation):
-//
-//     title: "Notification string"
-//     description: "Create a notification string with a timestamp."
-//     expression: "'New message received at ' +
-// string(document.create_time)"
-//
-// The exact variables and functions that may be referenced within an
-// expression
-// are determined by the service that evaluates it. See the
-// service
-// documentation for additional information.
+// Language (CEL) syntax. CEL is a C-like expression language. The
+// syntax and semantics of CEL are documented at
+// https://github.com/google/cel-spec. Example (Comparison): title:
+// "Summary size limit" description: "Determines if a summary is less
+// than 100 chars" expression: "document.summary.size() < 100" Example
+// (Equality): title: "Requestor is owner" description: "Determines if
+// requestor is the document owner" expression: "document.owner ==
+// request.auth.claims.email" Example (Logic): title: "Public documents"
+// description: "Determine whether the document should be publicly
+// visible" expression: "document.type != 'private' && document.type !=
+// 'internal'" Example (Data Manipulation): title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' +
+// string(document.create_time)" The exact variables and functions that
+// may be referenced within an expression are determined by the service
+// that evaluates it. See the service documentation for additional
+// information.
 type Expr struct {
 	// Description: Optional. Description of the expression. This is a
-	// longer text which
-	// describes the expression, e.g. when hovered over it in a UI.
+	// longer text which describes the expression, e.g. when hovered over it
+	// in a UI.
 	Description string `json:"description,omitempty"`
 
 	// Expression: Textual representation of an expression in Common
-	// Expression Language
-	// syntax.
+	// Expression Language syntax.
 	Expression string `json:"expression,omitempty"`
 
 	// Location: Optional. String indicating the location of the expression
-	// for error
-	// reporting, e.g. a file name and a position in the file.
+	// for error reporting, e.g. a file name and a position in the file.
 	Location string `json:"location,omitempty"`
 
 	// Title: Optional. Title for the expression, i.e. a short string
-	// describing
-	// its purpose. This can be used e.g. in UIs which allow to enter
-	// the
-	// expression.
+	// describing its purpose. This can be used e.g. in UIs which allow to
+	// enter the expression.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -443,10 +370,8 @@
 // method.
 type ListSubscriptionsResponse struct {
 	// NextPageToken: If not empty, indicates that there may be more
-	// subscriptions that match
-	// the request; this value should be passed in a
-	// new
-	// `ListSubscriptionsRequest` to get more subscriptions.
+	// subscriptions that match the request; this value should be passed in
+	// a new `ListSubscriptionsRequest` to get more subscriptions.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Subscriptions: The subscriptions that match the request.
@@ -483,10 +408,8 @@
 // `ListTopicSubscriptions` method.
 type ListTopicSubscriptionsResponse struct {
 	// NextPageToken: If not empty, indicates that there may be more
-	// subscriptions that match
-	// the request; this value should be passed in a
-	// new
-	// `ListTopicSubscriptionsRequest` to get more subscriptions.
+	// subscriptions that match the request; this value should be passed in
+	// a new `ListTopicSubscriptionsRequest` to get more subscriptions.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Subscriptions: The names of the subscriptions that match the request.
@@ -522,8 +445,8 @@
 // ListTopicsResponse: Response for the `ListTopics` method.
 type ListTopicsResponse struct {
 	// NextPageToken: If not empty, indicates that there may be more topics
-	// that match the
-	// request; this value should be passed in a new `ListTopicsRequest`.
+	// that match the request; this value should be passed in a new
+	// `ListTopicsRequest`.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Topics: The resulting topics.
@@ -559,19 +482,14 @@
 // ModifyAckDeadlineRequest: Request for the ModifyAckDeadline method.
 type ModifyAckDeadlineRequest struct {
 	// AckDeadlineSeconds: The new ack deadline with respect to the time
-	// this request was sent to
-	// the Pub/Sub system. Must be >= 0. For example, if the value is 10,
-	// the new
-	// ack deadline will expire 10 seconds after the `ModifyAckDeadline`
-	// call
-	// was made. Specifying zero may immediately make the message available
-	// for
-	// another pull request.
+	// this request was sent to the Pub/Sub system. Must be >= 0. For
+	// example, if the value is 10, the new ack deadline will expire 10
+	// seconds after the `ModifyAckDeadline` call was made. Specifying zero
+	// may immediately make the message available for another pull request.
 	AckDeadlineSeconds int64 `json:"ackDeadlineSeconds,omitempty"`
 
 	// AckId: The acknowledgment ID. Either this or ack_ids must be
-	// populated, but not
-	// both.
+	// populated, but not both.
 	AckId string `json:"ackId,omitempty"`
 
 	// AckIds: List of acknowledgment IDs.
@@ -603,12 +521,11 @@
 
 // ModifyPushConfigRequest: Request for the ModifyPushConfig method.
 type ModifyPushConfigRequest struct {
-	// PushConfig: The push configuration for future deliveries.
-	//
-	// An empty `pushConfig` indicates that the Pub/Sub system should
-	// stop pushing messages from the given subscription and allow
-	// messages to be pulled and acknowledged - effectively pausing
-	// the subscription if `Pull` is not called.
+	// PushConfig: The push configuration for future deliveries. An empty
+	// `pushConfig` indicates that the Pub/Sub system should stop pushing
+	// messages from the given subscription and allow messages to be pulled
+	// and acknowledged - effectively pausing the subscription if `Pull` is
+	// not called.
 	PushConfig *PushConfig `json:"pushConfig,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "PushConfig") to
@@ -634,34 +551,25 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// OidcToken: Contains information needed for generating an
-// [OpenID
+// OidcToken: Contains information needed for generating an [OpenID
 // Connect
-// token](https://developers.google.com/identity/protocols/OpenID
-// Connect).
+// token](https://developers.google.com/identity/protocols/OpenIDConnect)
+// .
 type OidcToken struct {
 	// Audience: Audience to be used when generating OIDC token. The
-	// audience claim
-	// identifies the recipients that the JWT is intended for. The
-	// audience
-	// value is a single case-sensitive string. Having multiple values
-	// (array)
-	// for the audience field is not supported. More info about the OIDC
-	// JWT
-	// token audience here:
-	// https://tools.ietf.org/html/rfc7519#section-4.1.3
-	// Note: if not specified, the Push endpoint URL will be used.
+	// audience claim identifies the recipients that the JWT is intended
+	// for. The audience value is a single case-sensitive string. Having
+	// multiple values (array) for the audience field is not supported. More
+	// info about the OIDC JWT token audience here:
+	// https://tools.ietf.org/html/rfc7519#section-4.1.3 Note: if not
+	// specified, the Push endpoint URL will be used.
 	Audience string `json:"audience,omitempty"`
 
-	// ServiceAccountEmail: [Service
-	// account
-	// email](https://cloud.google.com/iam/docs/service-accounts)
-	// to be used for generating the OIDC token. The caller
-	// (for
-	// CreateSubscription, UpdateSubscription, and ModifyPushConfig RPCs)
-	// must
-	// have the iam.serviceAccounts.actAs permission for the service
-	// account.
+	// ServiceAccountEmail: [Service account
+	// email](https://cloud.google.com/iam/docs/service-accounts) to be used
+	// for generating the OIDC token. The caller (for CreateSubscription,
+	// UpdateSubscription, and ModifyPushConfig RPCs) must have the
+	// iam.serviceAccounts.actAs permission for the service account.
 	ServiceAccountEmail string `json:"serviceAccountEmail,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Audience") to
@@ -688,150 +596,73 @@
 }
 
 // Policy: An Identity and Access Management (IAM) policy, which
-// specifies access
-// controls for Google Cloud resources.
-//
-//
-// A `Policy` is a collection of `bindings`. A `binding` binds one or
-// more
-// `members` to a single `role`. Members can be user accounts, service
-// accounts,
+// specifies access controls for Google Cloud resources. A `Policy` is a
+// collection of `bindings`. A `binding` binds one or more `members` to
+// a single `role`. Members can be user accounts, service accounts,
 // Google groups, and domains (such as G Suite). A `role` is a named
-// list of
-// permissions; each `role` can be an IAM predefined role or a
-// user-created
-// custom role.
-//
-// For some types of Google Cloud resources, a `binding` can also
-// specify a
-// `condition`, which is a logical expression that allows access to a
-// resource
-// only if the expression evaluates to `true`. A condition can add
-// constraints
-// based on attributes of the request, the resource, or both. To learn
-// which
-// resources support conditions in their IAM policies, see the
-// [IAM
+// list of permissions; each `role` can be an IAM predefined role or a
+// user-created custom role. For some types of Google Cloud resources, a
+// `binding` can also specify a `condition`, which is a logical
+// expression that allows access to a resource only if the expression
+// evaluates to `true`. A condition can add constraints based on
+// attributes of the request, the resource, or both. To learn which
+// resources support conditions in their IAM policies, see the [IAM
 // documentation](https://cloud.google.com/iam/help/conditions/resource-p
-// olicies).
-//
-// **JSON example:**
-//
-//     {
-//       "bindings": [
-//         {
-//           "role": "roles/resourcemanager.organizationAdmin",
-//           "members": [
-//             "user:mike@example.com",
-//             "group:admins@example.com",
-//             "domain:google.com",
-//
-// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
-//           ]
-//         },
-//         {
-//           "role": "roles/resourcemanager.organizationViewer",
-//           "members": [
-//             "user:eve@example.com"
-//           ],
-//           "condition": {
-//             "title": "expirable access",
-//             "description": "Does not grant access after Sep 2020",
-//             "expression": "request.time <
-// timestamp('2020-10-01T00:00:00.000Z')",
-//           }
-//         }
-//       ],
-//       "etag": "BwWWja0YfJA=",
-//       "version": 3
-//     }
-//
-// **YAML example:**
-//
-//     bindings:
-//     - members:
-//       - user:mike@example.com
-//       - group:admins@example.com
-//       - domain:google.com
-//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
-//       role: roles/resourcemanager.organizationAdmin
-//     - members:
-//       - user:eve@example.com
-//       role: roles/resourcemanager.organizationViewer
-//       condition:
-//         title: expirable access
-//         description: Does not grant access after Sep 2020
-//         expression: request.time <
-// timestamp('2020-10-01T00:00:00.000Z')
-//     - etag: BwWWja0YfJA=
-//     - version: 3
-//
-// For a description of IAM and its features, see the
-// [IAM documentation](https://cloud.google.com/iam/docs/).
+// olicies). **JSON example:** { "bindings": [ { "role":
+// "roles/resourcemanager.organizationAdmin", "members": [
+// "user:mike@example.com", "group:admins@example.com",
+// "domain:google.com",
+// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
+// "role": "roles/resourcemanager.organizationViewer", "members": [
+// "user:eve@example.com" ], "condition": { "title": "expirable access",
+// "description": "Does not grant access after Sep 2020", "expression":
+// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
+// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
+// members: - user:mike@example.com - group:admins@example.com -
+// domain:google.com -
+// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
+// roles/resourcemanager.organizationAdmin - members: -
+// user:eve@example.com role: roles/resourcemanager.organizationViewer
+// condition: title: expirable access description: Does not grant access
+// after Sep 2020 expression: request.time <
+// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
+// 3 For a description of IAM and its features, see the [IAM
+// documentation](https://cloud.google.com/iam/docs/).
 type Policy struct {
 	// Bindings: Associates a list of `members` to a `role`. Optionally, may
-	// specify a
-	// `condition` that determines how and when the `bindings` are applied.
-	// Each
-	// of the `bindings` must contain at least one member.
+	// specify a `condition` that determines how and when the `bindings` are
+	// applied. Each of the `bindings` must contain at least one member.
 	Bindings []*Binding `json:"bindings,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a policy from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform policy updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `getIamPolicy`,
-	// and
-	// systems are expected to put that etag in the request to
-	// `setIamPolicy` to
-	// ensure that their change will be applied to the same version of the
-	// policy.
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
+	// help prevent simultaneous updates of a policy from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform policy updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `getIamPolicy`, and systems are expected to put that etag in the
+	// request to `setIamPolicy` to ensure that their change will be applied
+	// to the same version of the policy. **Important:** If you use IAM
+	// Conditions, you must include the `etag` field whenever you call
+	// `setIamPolicy`. If you omit this field, then IAM allows you to
+	// overwrite a version `3` policy with a version `1` policy, and all of
 	// the conditions in the version `3` policy are lost.
 	Etag string `json:"etag,omitempty"`
 
-	// Version: Specifies the format of the policy.
-	//
-	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
-	// value
-	// are rejected.
-	//
+	// Version: Specifies the format of the policy. Valid values are `0`,
+	// `1`, and `3`. Requests that specify an invalid value are rejected.
 	// Any operation that affects conditional role bindings must specify
-	// version
-	// `3`. This requirement applies to the following operations:
-	//
-	// * Getting a policy that includes a conditional role binding
-	// * Adding a conditional role binding to a policy
-	// * Changing a conditional role binding in a policy
-	// * Removing any role binding, with or without a condition, from a
-	// policy
-	//   that includes conditions
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
-	// the conditions in the version `3` policy are lost.
-	//
-	// If a policy does not include any conditions, operations on that
-	// policy may
-	// specify any valid version or leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see the
-	// [IAM
+	// version `3`. This requirement applies to the following operations: *
+	// Getting a policy that includes a conditional role binding * Adding a
+	// conditional role binding to a policy * Changing a conditional role
+	// binding in a policy * Removing any role binding, with or without a
+	// condition, from a policy that includes conditions **Important:** If
+	// you use IAM Conditions, you must include the `etag` field whenever
+	// you call `setIamPolicy`. If you omit this field, then IAM allows you
+	// to overwrite a version `3` policy with a version `1` policy, and all
+	// of the conditions in the version `3` policy are lost. If a policy
+	// does not include any conditions, operations on that policy may
+	// specify any valid version or leave the field unset. To learn which
+	// resources support conditions in their IAM policies, see the [IAM
 	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
 	// olicies).
 	Version int64 `json:"version,omitempty"`
@@ -894,10 +725,8 @@
 // PublishResponse: Response for the `Publish` method.
 type PublishResponse struct {
 	// MessageIds: The server-assigned ID of each published message, in the
-	// same order as
-	// the messages in the request. IDs are guaranteed to be unique
-	// within
-	// the topic.
+	// same order as the messages in the request. IDs are guaranteed to be
+	// unique within the topic.
 	MessageIds []string `json:"messageIds,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -928,33 +757,26 @@
 }
 
 // PubsubMessage: A message data and its attributes. The message payload
-// must not be empty;
-// it must contain either a non-empty data field, or at least one
-// attribute.
+// must not be empty; it must contain either a non-empty data field, or
+// at least one attribute.
 type PubsubMessage struct {
 	// Attributes: Optional attributes for this message.
 	Attributes map[string]string `json:"attributes,omitempty"`
 
 	// Data: The message payload. For JSON requests, the value of this field
-	// must be
-	// [base64-encoded](https://tools.ietf.org/html/rfc4648).
+	// must be [base64-encoded](https://tools.ietf.org/html/rfc4648).
 	Data string `json:"data,omitempty"`
 
 	// MessageId: ID of this message, assigned by the server when the
-	// message is published.
-	// Guaranteed to be unique within the topic. This value may be read by
-	// a
-	// subscriber that receives a `PubsubMessage` via a `Pull` call or a
-	// push
-	// delivery. It must not be populated by the publisher in a `Publish`
-	// call.
+	// message is published. Guaranteed to be unique within the topic. This
+	// value may be read by a subscriber that receives a `PubsubMessage` via
+	// a `Pull` call or a push delivery. It must not be populated by the
+	// publisher in a `Publish` call.
 	MessageId string `json:"messageId,omitempty"`
 
 	// PublishTime: The time at which the message was published, populated
-	// by the server when
-	// it receives the `Publish` call. It must not be populated by
-	// the
-	// publisher in a `Publish` call.
+	// by the server when it receives the `Publish` call. It must not be
+	// populated by the publisher in a `Publish` call.
 	PublishTime string `json:"publishTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Attributes") to
@@ -983,23 +805,18 @@
 // PullRequest: Request for the `Pull` method.
 type PullRequest struct {
 	// MaxMessages: The maximum number of messages returned for this
-	// request. The Pub/Sub
-	// system may return fewer than the number specified.
+	// request. The Pub/Sub system may return fewer than the number
+	// specified.
 	MaxMessages int64 `json:"maxMessages,omitempty"`
 
 	// ReturnImmediately: Optional. If this is specified as true the system
-	// will respond immediately even if
-	// it is not able to return a message in the `Pull` response. Otherwise
-	// the
-	// system is allowed to wait until at least one message is available
-	// rather
-	// than returning no messages. The client may cancel the request if it
-	// does
-	// not wish to wait any longer for the response. Warning: setting this
-	// field
-	// to `true` is discouraged because it adversely impacts the performance
-	// of
-	// `Pull` operations. We recommend that users do not set this field.
+	// will respond immediately even if it is not able to return a message
+	// in the `Pull` response. Otherwise the system is allowed to wait until
+	// at least one message is available rather than returning no messages.
+	// The client may cancel the request if it does not wish to wait any
+	// longer for the response. Warning: setting this field to `true` is
+	// discouraged because it adversely impacts the performance of `Pull`
+	// operations. We recommend that users do not set this field.
 	ReturnImmediately bool `json:"returnImmediately,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "MaxMessages") to
@@ -1028,12 +845,9 @@
 // PullResponse: Response for the `Pull` method.
 type PullResponse struct {
 	// ReceivedMessages: Received Pub/Sub messages. The Pub/Sub system will
-	// return zero messages if
-	// there are no more available in the backlog. The Pub/Sub system may
-	// return
-	// fewer than the `maxMessages` requested even if there are more
-	// messages
-	// available in the backlog.
+	// return zero messages if there are no more available in the backlog.
+	// The Pub/Sub system may return fewer than the `maxMessages` requested
+	// even if there are more messages available in the backlog.
 	ReceivedMessages []*ReceivedMessage `json:"receivedMessages,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1066,49 +880,31 @@
 
 // PushConfig: Configuration for a push delivery endpoint.
 type PushConfig struct {
-	// Attributes: Endpoint configuration attributes.
-	//
-	// Every endpoint has a set of API supported attributes that can be used
-	// to
-	// control different aspects of the message delivery.
-	//
-	// The currently supported attribute is `x-goog-version`, which you
-	// can
-	// use to change the format of the push message. This
-	// attribute
-	// indicates the version of the data expected by the endpoint.
-	// This
-	// controls the shape of the envelope (i.e. its fields and
-	// metadata).
-	// The endpoint version is based on the version of the Pub/Sub
-	// API.
-	//
-	// If not present during the `CreateSubscription` call, it will default
-	// to
-	// the version of the API used to make such call. If not present during
-	// a
-	// `ModifyPushConfig` call, its value will not be changed.
-	// `GetSubscription`
-	// calls will always return a valid version, even if the subscription
-	// was
-	// created without this attribute.
-	//
-	// The possible values for this attribute are:
-	//
-	// * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub
-	// API.
-	// * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub
-	// API.
+	// Attributes: Endpoint configuration attributes. Every endpoint has a
+	// set of API supported attributes that can be used to control different
+	// aspects of the message delivery. The currently supported attribute is
+	// `x-goog-version`, which you can use to change the format of the push
+	// message. This attribute indicates the version of the data expected by
+	// the endpoint. This controls the shape of the envelope (i.e. its
+	// fields and metadata). The endpoint version is based on the version of
+	// the Pub/Sub API. If not present during the `CreateSubscription` call,
+	// it will default to the version of the API used to make such call. If
+	// not present during a `ModifyPushConfig` call, its value will not be
+	// changed. `GetSubscription` calls will always return a valid version,
+	// even if the subscription was created without this attribute. The
+	// possible values for this attribute are: * `v1beta1`: uses the push
+	// format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses
+	// the push format defined in the v1 Pub/Sub API.
 	Attributes map[string]string `json:"attributes,omitempty"`
 
 	// OidcToken: If specified, Pub/Sub will generate and attach an OIDC JWT
-	// token as an
-	// `Authorization` header in the HTTP request for every pushed message.
+	// token as an `Authorization` header in the HTTP request for every
+	// pushed message.
 	OidcToken *OidcToken `json:"oidcToken,omitempty"`
 
 	// PushEndpoint: A URL locating the endpoint to which messages should be
-	// pushed.
-	// For example, a Webhook endpoint might use "https://example.com/push".
+	// pushed. For example, a Webhook endpoint might use
+	// "https://example.com/push".
 	PushEndpoint string `json:"pushEndpoint,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Attributes") to
@@ -1168,11 +964,9 @@
 // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
 type SetIamPolicyRequest struct {
 	// Policy: REQUIRED: The complete policy to be applied to the
-	// `resource`. The size of
-	// the policy is limited to a few 10s of KB. An empty policy is a
-	// valid policy but certain Cloud Platform services (such as
-	// Projects)
-	// might reject them.
+	// `resource`. The size of the policy is limited to a few 10s of KB. An
+	// empty policy is a valid policy but certain Cloud Platform services
+	// (such as Projects) might reject them.
 	Policy *Policy `json:"policy,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Policy") to
@@ -1201,59 +995,37 @@
 // Subscription: A subscription resource.
 type Subscription struct {
 	// AckDeadlineSeconds: This value is the maximum time after a subscriber
-	// receives a message
-	// before the subscriber should acknowledge the message. After
-	// message
-	// delivery but before the ack deadline expires and before the message
-	// is
-	// acknowledged, it is an outstanding message and will not be
-	// delivered
-	// again during that time (on a best-effort basis).
-	//
-	// For pull subscriptions, this value is used as the initial value for
-	// the ack
-	// deadline. To override this value for a given message,
-	// call
-	// `ModifyAckDeadline` with the corresponding `ack_id` if using
-	// pull.
-	// The maximum custom deadline you can specify is 600 seconds (10
-	// minutes).
-	//
-	// For push delivery, this value is also used to set the request timeout
-	// for
-	// the call to the push endpoint.
-	//
-	// If the subscriber never acknowledges the message, the Pub/Sub
-	// system will eventually redeliver the message.
-	//
-	// If this parameter is 0, a default value of 10 seconds is used.
+	// receives a message before the subscriber should acknowledge the
+	// message. After message delivery but before the ack deadline expires
+	// and before the message is acknowledged, it is an outstanding message
+	// and will not be delivered again during that time (on a best-effort
+	// basis). For pull subscriptions, this value is used as the initial
+	// value for the ack deadline. To override this value for a given
+	// message, call `ModifyAckDeadline` with the corresponding `ack_id` if
+	// using pull. The maximum custom deadline you can specify is 600
+	// seconds (10 minutes). For push delivery, this value is also used to
+	// set the request timeout for the call to the push endpoint. If the
+	// subscriber never acknowledges the message, the Pub/Sub system will
+	// eventually redeliver the message. If this parameter is 0, a default
+	// value of 10 seconds is used.
 	AckDeadlineSeconds int64 `json:"ackDeadlineSeconds,omitempty"`
 
-	// Name: The name of the subscription. It must have the
-	// format
+	// Name: The name of the subscription. It must have the format
 	// "projects/{project}/subscriptions/{subscription}". `{subscription}`
-	// must
-	// start with a letter, and contain only letters (`[A-Za-z]`),
-	// numbers
-	// (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes
-	// (`~`),
-	// plus (`+`) or percent signs (`%`). It must be between 3 and 255
-	// characters
-	// in length, and it must not start with "goog".
+	// must start with a letter, and contain only letters (`[A-Za-z]`),
+	// numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`),
+	// tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3
+	// and 255 characters in length, and it must not start with "goog".
 	Name string `json:"name,omitempty"`
 
 	// PushConfig: If push delivery is used with this subscription, this
-	// field is
-	// used to configure it. An empty `pushConfig` signifies that the
-	// subscriber
-	// will pull and ack messages using API methods.
+	// field is used to configure it. An empty `pushConfig` signifies that
+	// the subscriber will pull and ack messages using API methods.
 	PushConfig *PushConfig `json:"pushConfig,omitempty"`
 
 	// Topic: The name of the topic from which this subscription is
-	// receiving messages.
-	// The value of this field will be `_deleted-topic_` if the topic has
-	// been
-	// deleted.
+	// receiving messages. The value of this field will be `_deleted-topic_`
+	// if the topic has been deleted.
 	Topic string `json:"topic,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1288,11 +1060,8 @@
 // method.
 type TestIamPermissionsRequest struct {
 	// Permissions: The set of permissions to check for the `resource`.
-	// Permissions with
-	// wildcards (such as '*' or 'storage.*') are not allowed. For
-	// more
-	// information see
-	// [IAM
+	// Permissions with wildcards (such as '*' or 'storage.*') are not
+	// allowed. For more information see [IAM
 	// Overview](https://cloud.google.com/iam/docs/overview#permissions).
 	Permissions []string `json:"permissions,omitempty"`
 
@@ -1323,8 +1092,7 @@
 // method.
 type TestIamPermissionsResponse struct {
 	// Permissions: A subset of `TestPermissionsRequest.permissions` that
-	// the caller is
-	// allowed.
+	// the caller is allowed.
 	Permissions []string `json:"permissions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1356,17 +1124,12 @@
 
 // Topic: A topic resource.
 type Topic struct {
-	// Name: The name of the topic. It must have the
-	// format
+	// Name: The name of the topic. It must have the format
 	// "projects/{project}/topics/{topic}". `{topic}` must start with a
-	// letter,
-	// and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes
-	// (`-`),
-	// underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or
-	// percent
-	// signs (`%`). It must be between 3 and 255 characters in length, and
-	// it
-	// must not start with "goog".
+	// letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`),
+	// dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus
+	// (`+`) or percent signs (`%`). It must be between 3 and 255 characters
+	// in length, and it must not start with "goog".
 	Name string `json:"name,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1408,16 +1171,11 @@
 }
 
 // Acknowledge: Acknowledges the messages associated with the `ack_ids`
-// in the
-// `AcknowledgeRequest`. The Pub/Sub system can remove the relevant
-// messages
-// from the subscription.
-//
-// Acknowledging a message whose ack deadline has expired may
-// succeed,
-// but such a message may be redelivered later. Acknowledging a message
-// more
-// than once will not result in an error.
+// in the `AcknowledgeRequest`. The Pub/Sub system can remove the
+// relevant messages from the subscription. Acknowledging a message
+// whose ack deadline has expired may succeed, but such a message may be
+// redelivered later. Acknowledging a message more than once will not
+// result in an error.
 func (r *ProjectsSubscriptionsService) Acknowledge(subscription string, acknowledgerequest *AcknowledgeRequest) *ProjectsSubscriptionsAcknowledgeCall {
 	c := &ProjectsSubscriptionsAcknowledgeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.subscription = subscription
@@ -1452,7 +1210,7 @@
 
 func (c *ProjectsSubscriptionsAcknowledgeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1516,7 +1274,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Acknowledges the messages associated with the `ack_ids` in the\n`AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages\nfrom the subscription.\n\nAcknowledging a message whose ack deadline has expired may succeed,\nbut such a message may be redelivered later. Acknowledging a message more\nthan once will not result in an error.",
+	//   "description": "Acknowledges the messages associated with the `ack_ids` in the `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages from the subscription. Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error.",
 	//   "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:acknowledge",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.projects.subscriptions.acknowledge",
@@ -1558,15 +1316,12 @@
 	header_      http.Header
 }
 
-// Create: Creates a subscription to a given topic.
-// If the subscription already exists, returns `ALREADY_EXISTS`.
-// If the corresponding topic doesn't exist, returns `NOT_FOUND`.
-//
-// If the name is not provided in the request, the server will assign a
-// random
-// name for this subscription on the same project as the topic. Note
-// that
-// for REST API requests, you must specify a name.
+// Create: Creates a subscription to a given topic. If the subscription
+// already exists, returns `ALREADY_EXISTS`. If the corresponding topic
+// doesn't exist, returns `NOT_FOUND`. If the name is not provided in
+// the request, the server will assign a random name for this
+// subscription on the same project as the topic. Note that for REST API
+// requests, you must specify a name.
 func (r *ProjectsSubscriptionsService) Create(name string, subscription *Subscription) *ProjectsSubscriptionsCreateCall {
 	c := &ProjectsSubscriptionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -1601,7 +1356,7 @@
 
 func (c *ProjectsSubscriptionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1665,7 +1420,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a subscription to a given topic.\nIf the subscription already exists, returns `ALREADY_EXISTS`.\nIf the corresponding topic doesn't exist, returns `NOT_FOUND`.\n\nIf the name is not provided in the request, the server will assign a random\nname for this subscription on the same project as the topic. Note that\nfor REST API requests, you must specify a name.",
+	//   "description": "Creates a subscription to a given topic. If the subscription already exists, returns `ALREADY_EXISTS`. If the corresponding topic doesn't exist, returns `NOT_FOUND`. If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic. Note that for REST API requests, you must specify a name.",
 	//   "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}",
 	//   "httpMethod": "PUT",
 	//   "id": "pubsub.projects.subscriptions.create",
@@ -1674,7 +1429,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name of the subscription. It must have the format\n`\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must\nstart with a letter, and contain only letters (`[A-Za-z]`), numbers\n(`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),\nplus (`+`) or percent signs (`%`). It must be between 3 and 255 characters\nin length, and it must not start with `\"goog\"`.",
+	//       "description": "The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
 	//       "required": true,
@@ -1707,14 +1462,11 @@
 }
 
 // Delete: Deletes an existing subscription. All pending messages in the
-// subscription
-// are immediately dropped. Calls to `Pull` after deletion will
-// return
-// `NOT_FOUND`. After a subscription is deleted, a new one may be
-// created with
-// the same name, but the new one has no association with the
-// old
-// subscription, or its topic unless the same topic is specified.
+// subscription are immediately dropped. Calls to `Pull` after deletion
+// will return `NOT_FOUND`. After a subscription is deleted, a new one
+// may be created with the same name, but the new one has no association
+// with the old subscription, or its topic unless the same topic is
+// specified.
 func (r *ProjectsSubscriptionsService) Delete(subscription string) *ProjectsSubscriptionsDeleteCall {
 	c := &ProjectsSubscriptionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.subscription = subscription
@@ -1748,7 +1500,7 @@
 
 func (c *ProjectsSubscriptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1807,7 +1559,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes an existing subscription. All pending messages in the subscription\nare immediately dropped. Calls to `Pull` after deletion will return\n`NOT_FOUND`. After a subscription is deleted, a new one may be created with\nthe same name, but the new one has no association with the old\nsubscription, or its topic unless the same topic is specified.",
+	//   "description": "Deletes an existing subscription. All pending messages in the subscription are immediately dropped. Calls to `Pull` after deletion will return `NOT_FOUND`. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription, or its topic unless the same topic is specified.",
 	//   "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "pubsub.projects.subscriptions.delete",
@@ -1890,7 +1642,7 @@
 
 func (c *ProjectsSubscriptionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1991,9 +1743,8 @@
 	header_      http.Header
 }
 
-// GetIamPolicy: Gets the access control policy for a resource.
-// Returns an empty policy if the resource exists and does not have a
-// policy
+// GetIamPolicy: Gets the access control policy for a resource. Returns
+// an empty policy if the resource exists and does not have a policy
 // set.
 func (r *ProjectsSubscriptionsService) GetIamPolicy(resource string) *ProjectsSubscriptionsGetIamPolicyCall {
 	c := &ProjectsSubscriptionsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -2003,24 +1754,14 @@
 
 // OptionsRequestedPolicyVersion sets the optional parameter
 // "options.requestedPolicyVersion": The policy format version to be
-// returned.
-//
-// Valid values are 0, 1, and 3. Requests specifying an invalid value
-// will be
-// rejected.
-//
-// Requests for policies with any conditional bindings must specify
-// version 3.
-// Policies without any conditional bindings may specify any valid value
-// or
-// leave the field unset.
-//
-// To learn which resources support conditions in their IAM policies,
-// see
-// the
-// [IAM
-// documentation](https://cloud.google.com/iam/help/conditions/r
-// esource-policies).
+// returned. Valid values are 0, 1, and 3. Requests specifying an
+// invalid value will be rejected. Requests for policies with any
+// conditional bindings must specify version 3. Policies without any
+// conditional bindings may specify any valid value or leave the field
+// unset. To learn which resources support conditions in their IAM
+// policies, see the [IAM
+// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+// olicies).
 func (c *ProjectsSubscriptionsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsSubscriptionsGetIamPolicyCall {
 	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
 	return c
@@ -2063,7 +1804,7 @@
 
 func (c *ProjectsSubscriptionsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2125,7 +1866,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
+	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
 	//   "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:getIamPolicy",
 	//   "httpMethod": "GET",
 	//   "id": "pubsub.projects.subscriptions.getIamPolicy",
@@ -2134,13 +1875,13 @@
 	//   ],
 	//   "parameters": {
 	//     "options.requestedPolicyVersion": {
-	//       "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+	//       "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
 	//       "required": true,
@@ -2185,10 +1926,9 @@
 }
 
 // PageToken sets the optional parameter "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.
+// 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.
 func (c *ProjectsSubscriptionsListCall) PageToken(pageToken string) *ProjectsSubscriptionsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -2231,7 +1971,7 @@
 
 func (c *ProjectsSubscriptionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2308,7 +2048,7 @@
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "The value returned by the last `ListSubscriptionsResponse`; indicates that\nthis is a continuation of a prior `ListSubscriptions` call, and that the\nsystem should return the next page of data.",
+	//       "description": "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.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -2365,14 +2105,11 @@
 }
 
 // ModifyAckDeadline: Modifies the ack deadline for a specific message.
-// This method is useful
-// to indicate that more time is needed to process a message by
-// the
-// subscriber, or to make the message available for redelivery if
-// the
-// processing was interrupted. Note that this does not modify
-// the
-// subscription-level `ackDeadlineSeconds` used for subsequent messages.
+// This method is useful to indicate that more time is needed to process
+// a message by the subscriber, or to make the message available for
+// redelivery if the processing was interrupted. Note that this does not
+// modify the subscription-level `ackDeadlineSeconds` used for
+// subsequent messages.
 func (r *ProjectsSubscriptionsService) ModifyAckDeadline(subscription string, modifyackdeadlinerequest *ModifyAckDeadlineRequest) *ProjectsSubscriptionsModifyAckDeadlineCall {
 	c := &ProjectsSubscriptionsModifyAckDeadlineCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.subscription = subscription
@@ -2407,7 +2144,7 @@
 
 func (c *ProjectsSubscriptionsModifyAckDeadlineCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2471,7 +2208,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Modifies the ack deadline for a specific message. This method is useful\nto indicate that more time is needed to process a message by the\nsubscriber, or to make the message available for redelivery if the\nprocessing was interrupted. Note that this does not modify the\nsubscription-level `ackDeadlineSeconds` used for subsequent messages.",
+	//   "description": "Modifies the ack deadline for a specific message. This method is useful to indicate that more time is needed to process a message by the subscriber, or to make the message available for redelivery if the processing was interrupted. Note that this does not modify the subscription-level `ackDeadlineSeconds` used for subsequent messages.",
 	//   "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyAckDeadline",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.projects.subscriptions.modifyAckDeadline",
@@ -2514,16 +2251,11 @@
 }
 
 // ModifyPushConfig: Modifies the `PushConfig` for a specified
-// subscription.
-//
-// This may be used to change a push subscription to a pull one
-// (signified by
-// an empty `PushConfig`) or vice versa, or change the endpoint URL and
-// other
-// attributes of a push subscription. Messages will accumulate for
-// delivery
-// continuously through the call regardless of changes to the
-// `PushConfig`.
+// subscription. This may be used to change a push subscription to a
+// pull one (signified by an empty `PushConfig`) or vice versa, or
+// change the endpoint URL and other attributes of a push subscription.
+// Messages will accumulate for delivery continuously through the call
+// regardless of changes to the `PushConfig`.
 func (r *ProjectsSubscriptionsService) ModifyPushConfig(subscription string, modifypushconfigrequest *ModifyPushConfigRequest) *ProjectsSubscriptionsModifyPushConfigCall {
 	c := &ProjectsSubscriptionsModifyPushConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.subscription = subscription
@@ -2558,7 +2290,7 @@
 
 func (c *ProjectsSubscriptionsModifyPushConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2622,7 +2354,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Modifies the `PushConfig` for a specified subscription.\n\nThis may be used to change a push subscription to a pull one (signified by\nan empty `PushConfig`) or vice versa, or change the endpoint URL and other\nattributes of a push subscription. Messages will accumulate for delivery\ncontinuously through the call regardless of changes to the `PushConfig`.",
+	//   "description": "Modifies the `PushConfig` for a specified subscription. This may be used to change a push subscription to a pull one (signified by an empty `PushConfig`) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the `PushConfig`.",
 	//   "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:modifyPushConfig",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.projects.subscriptions.modifyPushConfig",
@@ -2665,12 +2397,9 @@
 }
 
 // Pull: Pulls messages from the server. Returns an empty list if there
-// are no
-// messages available in the backlog. The server may return
-// `UNAVAILABLE` if
-// there are too many concurrent pull requests pending for the
-// given
-// subscription.
+// are no messages available in the backlog. The server may return
+// `UNAVAILABLE` if there are too many concurrent pull requests pending
+// for the given subscription.
 func (r *ProjectsSubscriptionsService) Pull(subscription string, pullrequest *PullRequest) *ProjectsSubscriptionsPullCall {
 	c := &ProjectsSubscriptionsPullCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.subscription = subscription
@@ -2705,7 +2434,7 @@
 
 func (c *ProjectsSubscriptionsPullCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2769,7 +2498,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Pulls messages from the server. Returns an empty list if there are no\nmessages available in the backlog. The server may return `UNAVAILABLE` if\nthere are too many concurrent pull requests pending for the given\nsubscription.",
+	//   "description": "Pulls messages from the server. Returns an empty list if there are no messages available in the backlog. The server may return `UNAVAILABLE` if there are too many concurrent pull requests pending for the given subscription.",
 	//   "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:pull",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.projects.subscriptions.pull",
@@ -2812,11 +2541,8 @@
 }
 
 // SetIamPolicy: Sets the access control policy on the specified
-// resource. Replaces any
-// existing policy.
-//
-// Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`
-// errors.
+// resource. Replaces any existing policy. Can return `NOT_FOUND`,
+// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
 func (r *ProjectsSubscriptionsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsSubscriptionsSetIamPolicyCall {
 	c := &ProjectsSubscriptionsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -2851,7 +2577,7 @@
 
 func (c *ProjectsSubscriptionsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2915,7 +2641,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
+	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
 	//   "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.projects.subscriptions.setIamPolicy",
@@ -2924,7 +2650,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
 	//       "required": true,
@@ -2958,16 +2684,11 @@
 }
 
 // TestIamPermissions: 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.
+// 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.
 func (r *ProjectsSubscriptionsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsSubscriptionsTestIamPermissionsCall {
 	c := &ProjectsSubscriptionsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -3002,7 +2723,7 @@
 
 func (c *ProjectsSubscriptionsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3066,7 +2787,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+	//   "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
 	//   "flatPath": "v1beta2/projects/{projectsId}/subscriptions/{subscriptionsId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.projects.subscriptions.testIamPermissions",
@@ -3075,7 +2796,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/subscriptions/[^/]+$",
 	//       "required": true,
@@ -3143,7 +2864,7 @@
 
 func (c *ProjectsTopicsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3216,7 +2937,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name of the topic. It must have the format\n`\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter,\nand contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),\nunderscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent\nsigns (`%`). It must be between 3 and 255 characters in length, and it\nmust not start with `\"goog\"`.",
+	//       "description": "The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/topics/[^/]+$",
 	//       "required": true,
@@ -3249,14 +2970,11 @@
 }
 
 // Delete: Deletes the topic with the given name. Returns `NOT_FOUND` if
-// the topic
-// does not exist. After a topic is deleted, a new topic may be created
-// with
-// the same name; this is an entirely new topic with none of the
-// old
-// configuration or subscriptions. Existing subscriptions to this topic
-// are
-// not deleted, but their `topic` field is set to `_deleted-topic_`.
+// the topic does not exist. After a topic is deleted, a new topic may
+// be created with the same name; this is an entirely new topic with
+// none of the old configuration or subscriptions. Existing
+// subscriptions to this topic are not deleted, but their `topic` field
+// is set to `_deleted-topic_`.
 func (r *ProjectsTopicsService) Delete(topic string) *ProjectsTopicsDeleteCall {
 	c := &ProjectsTopicsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.topic = topic
@@ -3290,7 +3008,7 @@
 
 func (c *ProjectsTopicsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3349,7 +3067,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes the topic with the given name. Returns `NOT_FOUND` if the topic\ndoes not exist. After a topic is deleted, a new topic may be created with\nthe same name; this is an entirely new topic with none of the old\nconfiguration or subscriptions. Existing subscriptions to this topic are\nnot deleted, but their `topic` field is set to `_deleted-topic_`.",
+	//   "description": "Deletes the topic with the given name. Returns `NOT_FOUND` if the topic does not exist. After a topic is deleted, a new topic may be created with the same name; this is an entirely new topic with none of the old configuration or subscriptions. Existing subscriptions to this topic are not deleted, but their `topic` field is set to `_deleted-topic_`.",
 	//   "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "pubsub.projects.topics.delete",
@@ -3432,7 +3150,7 @@
 
 func (c *ProjectsTopicsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3533,9 +3251,8 @@
 	header_      http.Header
 }
 
-// GetIamPolicy: Gets the access control policy for a resource.
-// Returns an empty policy if the resource exists and does not have a
-// policy
+// GetIamPolicy: Gets the access control policy for a resource. Returns
+// an empty policy if the resource exists and does not have a policy
 // set.
 func (r *ProjectsTopicsService) GetIamPolicy(resource string) *ProjectsTopicsGetIamPolicyCall {
 	c := &ProjectsTopicsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -3545,24 +3262,14 @@
 
 // OptionsRequestedPolicyVersion sets the optional parameter
 // "options.requestedPolicyVersion": The policy format version to be
-// returned.
-//
-// Valid values are 0, 1, and 3. Requests specifying an invalid value
-// will be
-// rejected.
-//
-// Requests for policies with any conditional bindings must specify
-// version 3.
-// Policies without any conditional bindings may specify any valid value
-// or
-// leave the field unset.
-//
-// To learn which resources support conditions in their IAM policies,
-// see
-// the
-// [IAM
-// documentation](https://cloud.google.com/iam/help/conditions/r
-// esource-policies).
+// returned. Valid values are 0, 1, and 3. Requests specifying an
+// invalid value will be rejected. Requests for policies with any
+// conditional bindings must specify version 3. Policies without any
+// conditional bindings may specify any valid value or leave the field
+// unset. To learn which resources support conditions in their IAM
+// policies, see the [IAM
+// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+// olicies).
 func (c *ProjectsTopicsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsTopicsGetIamPolicyCall {
 	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
 	return c
@@ -3605,7 +3312,7 @@
 
 func (c *ProjectsTopicsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3667,7 +3374,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.",
+	//   "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
 	//   "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}:getIamPolicy",
 	//   "httpMethod": "GET",
 	//   "id": "pubsub.projects.topics.getIamPolicy",
@@ -3676,13 +3383,13 @@
 	//   ],
 	//   "parameters": {
 	//     "options.requestedPolicyVersion": {
-	//       "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+	//       "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/topics/[^/]+$",
 	//       "required": true,
@@ -3727,9 +3434,8 @@
 }
 
 // PageToken sets the optional parameter "pageToken": The value returned
-// by the last `ListTopicsResponse`; indicates that this is
-// a continuation of a prior `ListTopics` call, and that the system
-// should
+// 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.
 func (c *ProjectsTopicsListCall) PageToken(pageToken string) *ProjectsTopicsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
@@ -3773,7 +3479,7 @@
 
 func (c *ProjectsTopicsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3850,7 +3556,7 @@
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "The value returned by the last `ListTopicsResponse`; indicates that this is\na continuation of a prior `ListTopics` call, and that the system should\nreturn the next page of data.",
+	//       "description": "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.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -3907,10 +3613,9 @@
 }
 
 // Publish: Adds one or more messages to the topic. Returns `NOT_FOUND`
-// if the topic
-// does not exist. The message payload must not be empty; it must
-// contain
-//  either a non-empty data field, or at least one attribute.
+// if the topic does not exist. The message payload must not be empty;
+// it must contain either a non-empty data field, or at least one
+// attribute.
 func (r *ProjectsTopicsService) Publish(topic string, publishrequest *PublishRequest) *ProjectsTopicsPublishCall {
 	c := &ProjectsTopicsPublishCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.topic = topic
@@ -3945,7 +3650,7 @@
 
 func (c *ProjectsTopicsPublishCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4009,7 +3714,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic\ndoes not exist. The message payload must not be empty; it must contain\n either a non-empty data field, or at least one attribute.",
+	//   "description": "Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic does not exist. The message payload must not be empty; it must contain either a non-empty data field, or at least one attribute.",
 	//   "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}:publish",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.projects.topics.publish",
@@ -4052,11 +3757,8 @@
 }
 
 // SetIamPolicy: Sets the access control policy on the specified
-// resource. Replaces any
-// existing policy.
-//
-// Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`
-// errors.
+// resource. Replaces any existing policy. Can return `NOT_FOUND`,
+// `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.
 func (r *ProjectsTopicsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsTopicsSetIamPolicyCall {
 	c := &ProjectsTopicsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -4091,7 +3793,7 @@
 
 func (c *ProjectsTopicsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4155,7 +3857,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
+	//   "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.",
 	//   "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.projects.topics.setIamPolicy",
@@ -4164,7 +3866,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/topics/[^/]+$",
 	//       "required": true,
@@ -4198,16 +3900,11 @@
 }
 
 // TestIamPermissions: 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.
+// 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.
 func (r *ProjectsTopicsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsTopicsTestIamPermissionsCall {
 	c := &ProjectsTopicsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -4242,7 +3939,7 @@
 
 func (c *ProjectsTopicsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4306,7 +4003,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+	//   "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
 	//   "flatPath": "v1beta2/projects/{projectsId}/topics/{topicsId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "pubsub.projects.topics.testIamPermissions",
@@ -4315,7 +4012,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/topics/[^/]+$",
 	//       "required": true,
@@ -4363,10 +4060,9 @@
 }
 
 // PageToken sets the optional parameter "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.
+// 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.
 func (c *ProjectsTopicsSubscriptionsListCall) PageToken(pageToken string) *ProjectsTopicsSubscriptionsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -4409,7 +4105,7 @@
 
 func (c *ProjectsTopicsSubscriptionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4486,7 +4182,7 @@
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "The value returned by the last `ListTopicSubscriptionsResponse`; indicates\nthat this is a continuation of a prior `ListTopicSubscriptions` call, and\nthat the system should return the next page of data.",
+	//       "description": "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.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
diff --git a/pubsublite/v1/pubsublite-gen.go b/pubsublite/v1/pubsublite-gen.go
index d06ed1a..4368fe8 100644
--- a/pubsublite/v1/pubsublite-gen.go
+++ b/pubsublite/v1/pubsublite-gen.go
@@ -808,7 +808,7 @@
 
 func (c *AdminProjectsLocationsSubscriptionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -951,7 +951,7 @@
 
 func (c *AdminProjectsLocationsSubscriptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1092,7 +1092,7 @@
 
 func (c *AdminProjectsLocationsSubscriptionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1255,7 +1255,7 @@
 
 func (c *AdminProjectsLocationsSubscriptionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1429,7 +1429,7 @@
 
 func (c *AdminProjectsLocationsSubscriptionsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1583,7 +1583,7 @@
 
 func (c *AdminProjectsLocationsTopicsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1726,7 +1726,7 @@
 
 func (c *AdminProjectsLocationsTopicsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1867,7 +1867,7 @@
 
 func (c *AdminProjectsLocationsTopicsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2012,7 +2012,7 @@
 
 func (c *AdminProjectsLocationsTopicsGetPartitionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2173,7 +2173,7 @@
 
 func (c *AdminProjectsLocationsTopicsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2347,7 +2347,7 @@
 
 func (c *AdminProjectsLocationsTopicsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2521,7 +2521,7 @@
 
 func (c *AdminProjectsLocationsTopicsSubscriptionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2715,7 +2715,7 @@
 
 func (c *CursorProjectsLocationsSubscriptionsCursorsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/realtimebidding/v1/realtimebidding-gen.go b/realtimebidding/v1/realtimebidding-gen.go
index bec6e62..f76b569 100644
--- a/realtimebidding/v1/realtimebidding-gen.go
+++ b/realtimebidding/v1/realtimebidding-gen.go
@@ -1905,7 +1905,7 @@
 
 func (c *BiddersCreativesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2098,7 +2098,7 @@
 
 func (c *BiddersCreativesWatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2250,7 +2250,7 @@
 
 func (c *BuyersGetRemarketingTagCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2385,7 +2385,7 @@
 
 func (c *BuyersCreativesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2552,7 +2552,7 @@
 
 func (c *BuyersCreativesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2758,7 +2758,7 @@
 
 func (c *BuyersCreativesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2952,7 +2952,7 @@
 
 func (c *BuyersCreativesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3099,7 +3099,7 @@
 
 func (c *BuyersUserListsCloseCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3239,7 +3239,7 @@
 
 func (c *BuyersUserListsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3388,7 +3388,7 @@
 
 func (c *BuyersUserListsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3535,7 +3535,7 @@
 
 func (c *BuyersUserListsGetRemarketingTagCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3693,7 +3693,7 @@
 
 func (c *BuyersUserListsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3861,7 +3861,7 @@
 
 func (c *BuyersUserListsOpenCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4002,7 +4002,7 @@
 
 func (c *BuyersUserListsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/recommendationengine/v1beta1/recommendationengine-api.json b/recommendationengine/v1beta1/recommendationengine-api.json
index a3f5af3..3a5fad0 100644
--- a/recommendationengine/v1beta1/recommendationengine-api.json
+++ b/recommendationengine/v1beta1/recommendationengine-api.json
@@ -164,7 +164,7 @@
                       "type": "string"
                     },
                     "updateMask": {
-                      "description": "Optional. Indicates which fields in the provided 'recommendation_model' to update. If not set, will only update the catalog_item_level_config field.",
+                      "description": "Optional. Indicates which fields in the provided 'catalog' to update. If not set, will only update the catalog_item_level_config field. Currently only fields that can be updated are catalog_item_level_config.",
                       "format": "google-fieldmask",
                       "location": "query",
                       "type": "string"
@@ -842,7 +842,7 @@
       }
     }
   },
-  "revision": "20200803",
+  "revision": "20200810",
   "rootUrl": "https://recommendationengine.googleapis.com/",
   "schemas": {
     "GoogleApiHttpBody": {
@@ -912,7 +912,7 @@
       "id": "GoogleCloudRecommendationengineV1beta1BigQuerySource",
       "properties": {
         "dataSchema": {
-          "description": "Optional. The schema to use when parsing the data from the source. Supported values for catalog imports: 1: \"catalog_recommendations_ai\" using https://cloud.google.com/recommendations-ai/docs/upload-catalog#json (Default for catalogItems.import) 2: \"catalog_merchant_center\" using https://cloud.google.com/recommendations-ai/docs/upload-catalog#mc Supported values for user event imports: 1: \"user_events_recommendations_ai\" using https://cloud.google.com/recommendations-ai/docs/manage-user-events#import (Default for userEvents.import)",
+          "description": "Optional. The schema to use when parsing the data from the source. Supported values for catalog imports: 1: \"catalog_recommendations_ai\" using https://cloud.google.com/recommendations-ai/docs/upload-catalog#json (Default for catalogItems.import) 2: \"catalog_merchant_center\" using https://cloud.google.com/recommendations-ai/docs/upload-catalog#mc Supported values for user event imports: 1: \"user_events_recommendations_ai\" using https://cloud.google.com/recommendations-ai/docs/manage-user-events#import (Default for userEvents.import) 2. \"user_events_ga360\" using https://support.google.com/analytics/answer/3437719?hl=en",
           "type": "string"
         },
         "datasetId": {
@@ -1176,7 +1176,7 @@
           "type": "array"
         },
         "jsonSchema": {
-          "description": "Optional. The schema to use when parsing the data from the source. Supported values for catalog imports: 1: \"catalog_recommendations_ai\" using https://cloud.google.com/recommendations-ai/docs/upload-catalog#json (Default for catalogItems.import) 2: \"catalog_merchant_center\" using https://cloud.google.com/recommendations-ai/docs/upload-catalog#mc Supported values for user events imports: 1: \"user_events_recommendations_ai\" using https://cloud.google.com/recommendations-ai/docs/manage-user-events#import (Default for userEvents.import)",
+          "description": "Optional. The schema to use when parsing the data from the source. Supported values for catalog imports: 1: \"catalog_recommendations_ai\" using https://cloud.google.com/recommendations-ai/docs/upload-catalog#json (Default for catalogItems.import) 2: \"catalog_merchant_center\" using https://cloud.google.com/recommendations-ai/docs/upload-catalog#mc Supported values for user events imports: 1: \"user_events_recommendations_ai\" using https://cloud.google.com/recommendations-ai/docs/manage-user-events#import (Default for userEvents.import) 2. \"user_events_ga360\" using https://support.google.com/analytics/answer/3437719?hl=en",
           "type": "string"
         }
       },
diff --git a/recommendationengine/v1beta1/recommendationengine-gen.go b/recommendationengine/v1beta1/recommendationengine-gen.go
index 3519c47..4b6b2a3 100644
--- a/recommendationengine/v1beta1/recommendationengine-gen.go
+++ b/recommendationengine/v1beta1/recommendationengine-gen.go
@@ -396,8 +396,8 @@
 	// https://cloud.google.com/recommendations-ai/docs/upload-catalog#mc
 	// Supported values for user event imports: 1:
 	// "user_events_recommendations_ai" using
-	// https://cloud.google.com/recommendations-ai/docs/manage-user-events#import (Default for
-	// userEvents.import)
+	// https://cloud.google.com/recommendations-ai/docs/manage-user-events#import (Default for userEvents.import) 2. "user_events_ga360" using
+	// https://support.google.com/analytics/answer/3437719?hl=en
 	DataSchema string `json:"dataSchema,omitempty"`
 
 	// DatasetId: Required. The BigQuery data set to copy the data from.
@@ -908,8 +908,8 @@
 	// https://cloud.google.com/recommendations-ai/docs/upload-catalog#mc
 	// Supported values for user events imports: 1:
 	// "user_events_recommendations_ai" using
-	// https://cloud.google.com/recommendations-ai/docs/manage-user-events#import (Default for
-	// userEvents.import)
+	// https://cloud.google.com/recommendations-ai/docs/manage-user-events#import (Default for userEvents.import) 2. "user_events_ga360" using
+	// https://support.google.com/analytics/answer/3437719?hl=en
 	JsonSchema string `json:"jsonSchema,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "InputUris") to
@@ -2608,7 +2608,7 @@
 
 func (c *ProjectsLocationsCatalogsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2752,8 +2752,9 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": Indicates which
-// fields in the provided 'recommendation_model' to update. If not set,
-// will only update the catalog_item_level_config field.
+// fields in the provided 'catalog' to update. If not set, will only
+// update the catalog_item_level_config field. Currently only fields
+// that can be updated are catalog_item_level_config.
 func (c *ProjectsLocationsCatalogsPatchCall) UpdateMask(updateMask string) *ProjectsLocationsCatalogsPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
 	return c
@@ -2786,7 +2787,7 @@
 
 func (c *ProjectsLocationsCatalogsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2868,7 +2869,7 @@
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "Optional. Indicates which fields in the provided 'recommendation_model' to update. If not set, will only update the catalog_item_level_config field.",
+	//       "description": "Optional. Indicates which fields in the provided 'catalog' to update. If not set, will only update the catalog_item_level_config field. Currently only fields that can be updated are catalog_item_level_config.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -2934,7 +2935,7 @@
 
 func (c *ProjectsLocationsCatalogsCatalogItemsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3074,7 +3075,7 @@
 
 func (c *ProjectsLocationsCatalogsCatalogItemsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3215,7 +3216,7 @@
 
 func (c *ProjectsLocationsCatalogsCatalogItemsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3356,7 +3357,7 @@
 
 func (c *ProjectsLocationsCatalogsCatalogItemsImportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3527,7 +3528,7 @@
 
 func (c *ProjectsLocationsCatalogsCatalogItemsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3711,7 +3712,7 @@
 
 func (c *ProjectsLocationsCatalogsCatalogItemsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3870,7 +3871,7 @@
 
 func (c *ProjectsLocationsCatalogsEventStoresOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4044,7 +4045,7 @@
 
 func (c *ProjectsLocationsCatalogsEventStoresOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4220,7 +4221,7 @@
 
 func (c *ProjectsLocationsCatalogsEventStoresPlacementsPredictCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4383,7 +4384,7 @@
 
 func (c *ProjectsLocationsCatalogsEventStoresPredictionApiKeyRegistrationsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4524,7 +4525,7 @@
 
 func (c *ProjectsLocationsCatalogsEventStoresPredictionApiKeyRegistrationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4680,7 +4681,7 @@
 
 func (c *ProjectsLocationsCatalogsEventStoresPredictionApiKeyRegistrationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4887,7 +4888,7 @@
 
 func (c *ProjectsLocationsCatalogsEventStoresUserEventsCollectCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5043,7 +5044,7 @@
 
 func (c *ProjectsLocationsCatalogsEventStoresUserEventsImportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5240,7 +5241,7 @@
 
 func (c *ProjectsLocationsCatalogsEventStoresUserEventsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5418,7 +5419,7 @@
 
 func (c *ProjectsLocationsCatalogsEventStoresUserEventsPurgeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5565,7 +5566,7 @@
 
 func (c *ProjectsLocationsCatalogsEventStoresUserEventsRejoinCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5705,7 +5706,7 @@
 
 func (c *ProjectsLocationsCatalogsEventStoresUserEventsWriteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5858,7 +5859,7 @@
 
 func (c *ProjectsLocationsCatalogsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6032,7 +6033,7 @@
 
 func (c *ProjectsLocationsCatalogsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/recommender/v1/recommender-gen.go b/recommender/v1/recommender-gen.go
index f2b3935..e733977 100644
--- a/recommender/v1/recommender-gen.go
+++ b/recommender/v1/recommender-gen.go
@@ -1104,7 +1104,7 @@
 
 func (c *ProjectsLocationsInsightTypesInsightsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1276,7 +1276,7 @@
 
 func (c *ProjectsLocationsInsightTypesInsightsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1455,7 +1455,7 @@
 
 func (c *ProjectsLocationsInsightTypesInsightsMarkAcceptedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1605,7 +1605,7 @@
 
 func (c *ProjectsLocationsRecommendersRecommendationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1779,7 +1779,7 @@
 
 func (c *ProjectsLocationsRecommendersRecommendationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1960,7 +1960,7 @@
 
 func (c *ProjectsLocationsRecommendersRecommendationsMarkClaimedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2108,7 +2108,7 @@
 
 func (c *ProjectsLocationsRecommendersRecommendationsMarkFailedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2256,7 +2256,7 @@
 
 func (c *ProjectsLocationsRecommendersRecommendationsMarkSucceededCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/recommender/v1beta1/recommender-gen.go b/recommender/v1beta1/recommender-gen.go
index 814e03d..0cce160 100644
--- a/recommender/v1beta1/recommender-gen.go
+++ b/recommender/v1beta1/recommender-gen.go
@@ -1104,7 +1104,7 @@
 
 func (c *ProjectsLocationsInsightTypesInsightsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1277,7 +1277,7 @@
 
 func (c *ProjectsLocationsInsightTypesInsightsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1456,7 +1456,7 @@
 
 func (c *ProjectsLocationsInsightTypesInsightsMarkAcceptedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1607,7 +1607,7 @@
 
 func (c *ProjectsLocationsRecommendersRecommendationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1782,7 +1782,7 @@
 
 func (c *ProjectsLocationsRecommendersRecommendationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1963,7 +1963,7 @@
 
 func (c *ProjectsLocationsRecommendersRecommendationsMarkClaimedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2112,7 +2112,7 @@
 
 func (c *ProjectsLocationsRecommendersRecommendationsMarkFailedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2261,7 +2261,7 @@
 
 func (c *ProjectsLocationsRecommendersRecommendationsMarkSucceededCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/redis/v1/redis-gen.go b/redis/v1/redis-gen.go
index f8cb835..ad2aab3 100644
--- a/redis/v1/redis-gen.go
+++ b/redis/v1/redis-gen.go
@@ -1435,7 +1435,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1601,7 +1601,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1792,7 +1792,7 @@
 
 func (c *ProjectsLocationsInstancesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1936,7 +1936,7 @@
 
 func (c *ProjectsLocationsInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2071,7 +2071,7 @@
 
 func (c *ProjectsLocationsInstancesExportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2213,7 +2213,7 @@
 
 func (c *ProjectsLocationsInstancesFailoverCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2362,7 +2362,7 @@
 
 func (c *ProjectsLocationsInstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2502,7 +2502,7 @@
 
 func (c *ProjectsLocationsInstancesImportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2675,7 +2675,7 @@
 
 func (c *ProjectsLocationsInstancesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2856,7 +2856,7 @@
 
 func (c *ProjectsLocationsInstancesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3003,7 +3003,7 @@
 
 func (c *ProjectsLocationsInstancesUpgradeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3150,7 +3150,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3283,7 +3283,7 @@
 
 func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3426,7 +3426,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3600,7 +3600,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/redis/v1beta1/redis-gen.go b/redis/v1beta1/redis-gen.go
index 2599810..aa3227e 100644
--- a/redis/v1beta1/redis-gen.go
+++ b/redis/v1beta1/redis-gen.go
@@ -1440,7 +1440,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1606,7 +1606,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1797,7 +1797,7 @@
 
 func (c *ProjectsLocationsInstancesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1941,7 +1941,7 @@
 
 func (c *ProjectsLocationsInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2076,7 +2076,7 @@
 
 func (c *ProjectsLocationsInstancesExportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2218,7 +2218,7 @@
 
 func (c *ProjectsLocationsInstancesFailoverCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2367,7 +2367,7 @@
 
 func (c *ProjectsLocationsInstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2507,7 +2507,7 @@
 
 func (c *ProjectsLocationsInstancesImportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2680,7 +2680,7 @@
 
 func (c *ProjectsLocationsInstancesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2861,7 +2861,7 @@
 
 func (c *ProjectsLocationsInstancesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3008,7 +3008,7 @@
 
 func (c *ProjectsLocationsInstancesUpgradeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3155,7 +3155,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3288,7 +3288,7 @@
 
 func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3431,7 +3431,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3605,7 +3605,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/remotebuildexecution/v1/remotebuildexecution-api.json b/remotebuildexecution/v1/remotebuildexecution-api.json
index 4ad0f19..af60c81 100644
--- a/remotebuildexecution/v1/remotebuildexecution-api.json
+++ b/remotebuildexecution/v1/remotebuildexecution-api.json
@@ -108,7 +108,7 @@
     "media": {
       "methods": {
         "download": {
-          "description": "Downloads media. Download is supported\non the URI `/v1/media/{+name}?alt=media`.",
+          "description": "Downloads media. Download is supported on the URI `/v1/media/{+name}?alt=media`.",
           "flatPath": "v1/media/{mediaId}",
           "httpMethod": "GET",
           "id": "remotebuildexecution.media.download",
@@ -117,7 +117,7 @@
           ],
           "parameters": {
             "resourceName": {
-              "description": "Name of the media that is being downloaded.  See\nReadRequest.resource_name.",
+              "description": "Name of the media that is being downloaded. See ReadRequest.resource_name.",
               "location": "path",
               "pattern": "^.*$",
               "required": true,
@@ -134,7 +134,7 @@
           "supportsMediaDownload": true
         },
         "upload": {
-          "description": "Uploads media. Upload is supported on\nthe URI `/upload/v1/media/{+name}`.",
+          "description": "Uploads media. Upload is supported on the URI `/upload/v1/media/{+name}`.",
           "flatPath": "v1/media/{mediaId}",
           "httpMethod": "POST",
           "id": "remotebuildexecution.media.upload",
@@ -154,7 +154,7 @@
           ],
           "parameters": {
             "resourceName": {
-              "description": "Name of the media that is being downloaded.  See\nReadRequest.resource_name.",
+              "description": "Name of the media that is being downloaded. See ReadRequest.resource_name.",
               "location": "path",
               "pattern": "^.*$",
               "required": true,
@@ -178,7 +178,7 @@
     "operations": {
       "methods": {
         "cancel": {
-          "description": "Starts asynchronous cancellation on a long-running operation.  The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed.  If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.  Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
+          "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
           "flatPath": "v1/operations/{operationsId}:cancel",
           "httpMethod": "POST",
           "id": "remotebuildexecution.operations.cancel",
@@ -206,7 +206,7 @@
           ]
         },
         "delete": {
-          "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.",
+          "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
           "flatPath": "v1/operations/{operationsId}",
           "httpMethod": "DELETE",
           "id": "remotebuildexecution.operations.delete",
@@ -231,7 +231,7 @@
           ]
         },
         "list": {
-          "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
+          "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
           "flatPath": "v1/operations",
           "httpMethod": "GET",
           "id": "remotebuildexecution.operations.list",
@@ -278,7 +278,7 @@
         "operations": {
           "methods": {
             "get": {
-              "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+              "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
               "flatPath": "v1/projects/{projectsId}/operations/{operationsId}",
               "httpMethod": "GET",
               "id": "remotebuildexecution.projects.operations.get",
@@ -307,34 +307,34 @@
       }
     }
   },
-  "revision": "20200721",
+  "revision": "20200810",
   "rootUrl": "https://remotebuildexecution.googleapis.com/",
   "schemas": {
     "BuildBazelRemoteExecutionV2Action": {
-      "description": "An `Action` captures all the information about an execution which is required\nto reproduce it.\n\n`Action`s are the core component of the [Execution] service. A single\n`Action` represents a repeatable action that can be performed by the\nexecution service. `Action`s can be succinctly identified by the digest of\ntheir wire format encoding and, once an `Action` has been executed, will be\ncached in the action cache. Future requests can then use the cached result\nrather than needing to run afresh.\n\nWhen a server completes execution of an\nAction, it MAY choose to\ncache the result in\nthe ActionCache unless\n`do_not_cache` is `true`. Clients SHOULD expect the server to do so. By\ndefault, future calls to\nExecute the same\n`Action` will also serve their results from the cache. Clients must take care\nto understand the caching behaviour. Ideally, all `Action`s will be\nreproducible so that serving a result from cache is always desirable and\ncorrect.",
+      "description": "An `Action` captures all the information about an execution which is required to reproduce it. `Action`s are the core component of the [Execution] service. A single `Action` represents a repeatable action that can be performed by the execution service. `Action`s can be succinctly identified by the digest of their wire format encoding and, once an `Action` has been executed, will be cached in the action cache. Future requests can then use the cached result rather than needing to run afresh. When a server completes execution of an Action, it MAY choose to cache the result in the ActionCache unless `do_not_cache` is `true`. Clients SHOULD expect the server to do so. By default, future calls to Execute the same `Action` will also serve their results from the cache. Clients must take care to understand the caching behaviour. Ideally, all `Action`s will be reproducible so that serving a result from cache is always desirable and correct.",
       "id": "BuildBazelRemoteExecutionV2Action",
       "properties": {
         "commandDigest": {
           "$ref": "BuildBazelRemoteExecutionV2Digest",
-          "description": "The digest of the Command\nto run, which MUST be present in the\nContentAddressableStorage."
+          "description": "The digest of the Command to run, which MUST be present in the ContentAddressableStorage."
         },
         "doNotCache": {
-          "description": "If true, then the `Action`'s result cannot be cached, and in-flight\nrequests for the same `Action` may not be merged.",
+          "description": "If true, then the `Action`'s result cannot be cached, and in-flight requests for the same `Action` may not be merged.",
           "type": "boolean"
         },
         "inputRootDigest": {
           "$ref": "BuildBazelRemoteExecutionV2Digest",
-          "description": "The digest of the root\nDirectory for the input\nfiles. The files in the directory tree are available in the correct\nlocation on the build machine before the command is executed. The root\ndirectory, as well as every subdirectory and content blob referred to, MUST\nbe in the\nContentAddressableStorage."
+          "description": "The digest of the root Directory for the input files. The files in the directory tree are available in the correct location on the build machine before the command is executed. The root directory, as well as every subdirectory and content blob referred to, MUST be in the ContentAddressableStorage."
         },
         "outputNodeProperties": {
-          "description": "List of required supported NodeProperty\nkeys. In order to ensure that equivalent `Action`s always hash to the same\nvalue, the supported node properties MUST be lexicographically sorted by name.\nSorting of strings is done by code point, equivalently, by the UTF-8 bytes.\n\nThe interpretation of these properties is server-dependent. If a property is\nnot recognized by the server, the server will return an `INVALID_ARGUMENT`\nerror.",
+          "description": "List of required supported NodeProperty keys. In order to ensure that equivalent `Action`s always hash to the same value, the supported node properties MUST be lexicographically sorted by name. Sorting of strings is done by code point, equivalently, by the UTF-8 bytes. The interpretation of these properties is server-dependent. If a property is not recognized by the server, the server will return an `INVALID_ARGUMENT` error.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "timeout": {
-          "description": "A timeout after which the execution should be killed. If the timeout is\nabsent, then the client is specifying that the execution should continue\nas long as the server will let it. The server SHOULD impose a timeout if\nthe client does not specify one, however, if the client does specify a\ntimeout that is longer than the server's maximum timeout, the server MUST\nreject the request.\n\nThe timeout is a part of the\nAction message, and\ntherefore two `Actions` with different timeouts are different, even if they\nare otherwise identical. This is because, if they were not, running an\n`Action` with a lower timeout than is required might result in a cache hit\nfrom an execution run with a longer timeout, hiding the fact that the\ntimeout is too short. By encoding it directly in the `Action`, a lower\ntimeout will result in a cache miss and the execution timeout will fail\nimmediately, rather than whenever the cache entry gets evicted.",
+          "description": "A timeout after which the execution should be killed. If the timeout is absent, then the client is specifying that the execution should continue as long as the server will let it. The server SHOULD impose a timeout if the client does not specify one, however, if the client does specify a timeout that is longer than the server's maximum timeout, the server MUST reject the request. The timeout is a part of the Action message, and therefore two `Actions` with different timeouts are different, even if they are otherwise identical. This is because, if they were not, running an `Action` with a lower timeout than is required might result in a cache hit from an execution run with a longer timeout, hiding the fact that the timeout is too short. By encoding it directly in the `Action`, a lower timeout will result in a cache miss and the execution timeout will fail immediately, rather than whenever the cache entry gets evicted.",
           "format": "google-duration",
           "type": "string"
         }
@@ -342,7 +342,7 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2ActionResult": {
-      "description": "An ActionResult represents the result of an\nAction being run.",
+      "description": "An ActionResult represents the result of an Action being run.",
       "id": "BuildBazelRemoteExecutionV2ActionResult",
       "properties": {
         "executionMetadata": {
@@ -355,35 +355,35 @@
           "type": "integer"
         },
         "outputDirectories": {
-          "description": "The output directories of the action. For each output directory requested\nin the `output_directories` or `output_paths` field of the Action, if the\ncorresponding directory existed after the action completed, a single entry\nwill be present in the output list, which will contain the digest of a\nTree message containing the\ndirectory tree, and the path equal exactly to the corresponding Action\noutput_directories member.\n\nAs an example, suppose the Action had an output directory `a/b/dir` and the\nexecution produced the following contents in `a/b/dir`: a file named `bar`\nand a directory named `foo` with an executable file named `baz`. Then,\noutput_directory will contain (hashes shortened for readability):\n\n```json\n// OutputDirectory proto:\n{\n  path: \"a/b/dir\"\n  tree_digest: {\n    hash: \"4a73bc9d03...\",\n    size: 55\n  }\n}\n// Tree proto with hash \"4a73bc9d03...\" and size 55:\n{\n  root: {\n    files: [\n      {\n        name: \"bar\",\n        digest: {\n          hash: \"4a73bc9d03...\",\n          size: 65534\n        }\n      }\n    ],\n    directories: [\n      {\n        name: \"foo\",\n        digest: {\n          hash: \"4cf2eda940...\",\n          size: 43\n        }\n      }\n    ]\n  }\n  children : {\n    // (Directory proto with hash \"4cf2eda940...\" and size 43)\n    files: [\n      {\n        name: \"baz\",\n        digest: {\n          hash: \"b2c941073e...\",\n          size: 1294,\n        },\n        is_executable: true\n      }\n    ]\n  }\n}\n```\nIf an output of the same name as listed in `output_files` of\nthe Command was found in `output_directories`, but was not a directory, the\nserver will return a FAILED_PRECONDITION.",
+          "description": "The output directories of the action. For each output directory requested in the `output_directories` or `output_paths` field of the Action, if the corresponding directory existed after the action completed, a single entry will be present in the output list, which will contain the digest of a Tree message containing the directory tree, and the path equal exactly to the corresponding Action output_directories member. As an example, suppose the Action had an output directory `a/b/dir` and the execution produced the following contents in `a/b/dir`: a file named `bar` and a directory named `foo` with an executable file named `baz`. Then, output_directory will contain (hashes shortened for readability): ```json // OutputDirectory proto: { path: \"a/b/dir\" tree_digest: { hash: \"4a73bc9d03...\", size: 55 } } // Tree proto with hash \"4a73bc9d03...\" and size 55: { root: { files: [ { name: \"bar\", digest: { hash: \"4a73bc9d03...\", size: 65534 } } ], directories: [ { name: \"foo\", digest: { hash: \"4cf2eda940...\", size: 43 } } ] } children : { // (Directory proto with hash \"4cf2eda940...\" and size 43) files: [ { name: \"baz\", digest: { hash: \"b2c941073e...\", size: 1294, }, is_executable: true } ] } } ``` If an output of the same name as listed in `output_files` of the Command was found in `output_directories`, but was not a directory, the server will return a FAILED_PRECONDITION.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2OutputDirectory"
           },
           "type": "array"
         },
         "outputDirectorySymlinks": {
-          "description": "The output directories of the action that are symbolic links to other\ndirectories. Those may be links to other output directories, or input\ndirectories, or even absolute paths outside of the working directory,\nif the server supports\nSymlinkAbsolutePathStrategy.ALLOWED.\nFor each output directory requested in the `output_directories` field of\nthe Action, if the directory existed after the action completed, a\nsingle entry will be present either in this field, or in the\n`output_directories` field, if the directory was not a symbolic link.\n\nIf an output of the same name was found, but was a symbolic link to a file\ninstead of a directory, the server will return a FAILED_PRECONDITION.\nIf the action does not produce the requested output, then that output\nwill be omitted from the list. The server is free to arrange the output\nlist as desired; clients MUST NOT assume that the output list is sorted.\n\nDEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API\nshould still populate this field in addition to `output_symlinks`.",
+          "description": "The output directories of the action that are symbolic links to other directories. Those may be links to other output directories, or input directories, or even absolute paths outside of the working directory, if the server supports SymlinkAbsolutePathStrategy.ALLOWED. For each output directory requested in the `output_directories` field of the Action, if the directory existed after the action completed, a single entry will be present either in this field, or in the `output_directories` field, if the directory was not a symbolic link. If an output of the same name was found, but was a symbolic link to a file instead of a directory, the server will return a FAILED_PRECONDITION. If the action does not produce the requested output, then that output will be omitted from the list. The server is free to arrange the output list as desired; clients MUST NOT assume that the output list is sorted. DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API should still populate this field in addition to `output_symlinks`.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2OutputSymlink"
           },
           "type": "array"
         },
         "outputFileSymlinks": {
-          "description": "The output files of the action that are symbolic links to other files. Those\nmay be links to other output files, or input files, or even absolute paths\noutside of the working directory, if the server supports\nSymlinkAbsolutePathStrategy.ALLOWED.\nFor each output file requested in the `output_files` or `output_paths`\nfield of the Action, if the corresponding file existed after\nthe action completed, a single entry will be present either in this field,\nor in the `output_files` field, if the file was not a symbolic link.\n\nIf an output symbolic link of the same name as listed in `output_files` of\nthe Command was found, but its target type was not a regular file, the\nserver will return a FAILED_PRECONDITION.\nIf the action does not produce the requested output, then that output\nwill be omitted from the list. The server is free to arrange the output\nlist as desired; clients MUST NOT assume that the output list is sorted.\n\nDEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API\nshould still populate this field in addition to `output_symlinks`.",
+          "description": "The output files of the action that are symbolic links to other files. Those may be links to other output files, or input files, or even absolute paths outside of the working directory, if the server supports SymlinkAbsolutePathStrategy.ALLOWED. For each output file requested in the `output_files` or `output_paths` field of the Action, if the corresponding file existed after the action completed, a single entry will be present either in this field, or in the `output_files` field, if the file was not a symbolic link. If an output symbolic link of the same name as listed in `output_files` of the Command was found, but its target type was not a regular file, the server will return a FAILED_PRECONDITION. If the action does not produce the requested output, then that output will be omitted from the list. The server is free to arrange the output list as desired; clients MUST NOT assume that the output list is sorted. DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API should still populate this field in addition to `output_symlinks`.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2OutputSymlink"
           },
           "type": "array"
         },
         "outputFiles": {
-          "description": "The output files of the action. For each output file requested in the\n`output_files` or `output_paths` field of the Action, if the corresponding\nfile existed after the action completed, a single entry will be present\neither in this field, or the `output_file_symlinks` field if the file was\na symbolic link to another file (`output_symlinks` field after v2.1).\n\nIf an output listed in `output_files` was found, but was a directory rather\nthan a regular file, the server will return a FAILED_PRECONDITION.\nIf the action does not produce the requested output, then that output\nwill be omitted from the list. The server is free to arrange the output\nlist as desired; clients MUST NOT assume that the output list is sorted.",
+          "description": "The output files of the action. For each output file requested in the `output_files` or `output_paths` field of the Action, if the corresponding file existed after the action completed, a single entry will be present either in this field, or the `output_file_symlinks` field if the file was a symbolic link to another file (`output_symlinks` field after v2.1). If an output listed in `output_files` was found, but was a directory rather than a regular file, the server will return a FAILED_PRECONDITION. If the action does not produce the requested output, then that output will be omitted from the list. The server is free to arrange the output list as desired; clients MUST NOT assume that the output list is sorted.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2OutputFile"
           },
           "type": "array"
         },
         "outputSymlinks": {
-          "description": "New in v2.1: this field will only be populated if the command\n`output_paths` field was used, and not the pre v2.1 `output_files` or\n`output_directories` fields.\nThe output paths of the action that are symbolic links to other paths. Those\nmay be links to other outputs, or inputs, or even absolute paths\noutside of the working directory, if the server supports\nSymlinkAbsolutePathStrategy.ALLOWED.\nA single entry for each output requested in `output_paths`\nfield of the Action, if the corresponding path existed after\nthe action completed and was a symbolic link.\n\nIf the action does not produce a requested output, then that output\nwill be omitted from the list. The server is free to arrange the output\nlist as desired; clients MUST NOT assume that the output list is sorted.",
+          "description": "New in v2.1: this field will only be populated if the command `output_paths` field was used, and not the pre v2.1 `output_files` or `output_directories` fields. The output paths of the action that are symbolic links to other paths. Those may be links to other outputs, or inputs, or even absolute paths outside of the working directory, if the server supports SymlinkAbsolutePathStrategy.ALLOWED. A single entry for each output requested in `output_paths` field of the Action, if the corresponding path existed after the action completed and was a symbolic link. If the action does not produce a requested output, then that output will be omitted from the list. The server is free to arrange the output list as desired; clients MUST NOT assume that the output list is sorted.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2OutputSymlink"
           },
@@ -391,19 +391,19 @@
         },
         "stderrDigest": {
           "$ref": "BuildBazelRemoteExecutionV2Digest",
-          "description": "The digest for a blob containing the standard error of the action, which\ncan be retrieved from the\nContentAddressableStorage."
+          "description": "The digest for a blob containing the standard error of the action, which can be retrieved from the ContentAddressableStorage."
         },
         "stderrRaw": {
-          "description": "The standard error buffer of the action. The server SHOULD NOT inline\nstderr unless requested by the client in the\nGetActionResultRequest\nmessage. The server MAY omit inlining, even if requested, and MUST do so if inlining\nwould cause the response to exceed message size limits.",
+          "description": "The standard error buffer of the action. The server SHOULD NOT inline stderr unless requested by the client in the GetActionResultRequest message. The server MAY omit inlining, even if requested, and MUST do so if inlining would cause the response to exceed message size limits.",
           "format": "byte",
           "type": "string"
         },
         "stdoutDigest": {
           "$ref": "BuildBazelRemoteExecutionV2Digest",
-          "description": "The digest for a blob containing the standard output of the action, which\ncan be retrieved from the\nContentAddressableStorage."
+          "description": "The digest for a blob containing the standard output of the action, which can be retrieved from the ContentAddressableStorage."
         },
         "stdoutRaw": {
-          "description": "The standard output buffer of the action. The server SHOULD NOT inline\nstdout unless requested by the client in the\nGetActionResultRequest\nmessage. The server MAY omit inlining, even if requested, and MUST do so if inlining\nwould cause the response to exceed message size limits.",
+          "description": "The standard output buffer of the action. The server SHOULD NOT inline stdout unless requested by the client in the GetActionResultRequest message. The server MAY omit inlining, even if requested, and MUST do so if inlining would cause the response to exceed message size limits.",
           "format": "byte",
           "type": "string"
         }
@@ -411,39 +411,39 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2Command": {
-      "description": "A `Command` is the actual command executed by a worker running an\nAction and specifications of its\nenvironment.\n\nExcept as otherwise required, the environment (such as which system\nlibraries or binaries are available, and what filesystems are mounted where)\nis defined by and specific to the implementation of the remote execution API.",
+      "description": "A `Command` is the actual command executed by a worker running an Action and specifications of its environment. Except as otherwise required, the environment (such as which system libraries or binaries are available, and what filesystems are mounted where) is defined by and specific to the implementation of the remote execution API.",
       "id": "BuildBazelRemoteExecutionV2Command",
       "properties": {
         "arguments": {
-          "description": "The arguments to the command. The first argument must be the path to the\nexecutable, which must be either a relative path, in which case it is\nevaluated with respect to the input root, or an absolute path.",
+          "description": "The arguments to the command. The first argument must be the path to the executable, which must be either a relative path, in which case it is evaluated with respect to the input root, or an absolute path.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "environmentVariables": {
-          "description": "The environment variables to set when running the program. The worker may\nprovide its own default environment variables; these defaults can be\noverridden using this field. Additional variables can also be specified.\n\nIn order to ensure that equivalent\nCommands always hash to the same\nvalue, the environment variables MUST be lexicographically sorted by name.\nSorting of strings is done by code point, equivalently, by the UTF-8 bytes.",
+          "description": "The environment variables to set when running the program. The worker may provide its own default environment variables; these defaults can be overridden using this field. Additional variables can also be specified. In order to ensure that equivalent Commands always hash to the same value, the environment variables MUST be lexicographically sorted by name. Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2CommandEnvironmentVariable"
           },
           "type": "array"
         },
         "outputDirectories": {
-          "description": "A list of the output directories that the client expects to retrieve from\nthe action. Only the listed directories will be returned (an entire\ndirectory structure will be returned as a\nTree message digest, see\nOutputDirectory), as\nwell as files listed in `output_files`. Other files or directories that\nmay be created during command execution are discarded.\n\nThe paths are relative to the working directory of the action execution.\nThe paths are specified using a single forward slash (`/`) as a path\nseparator, even if the execution platform natively uses a different\nseparator. The path MUST NOT include a trailing slash, nor a leading slash,\nbeing a relative path. The special value of empty string is allowed,\nalthough not recommended, and can be used to capture the entire working\ndirectory tree, including inputs.\n\nIn order to ensure consistent hashing of the same Action, the output paths\nMUST be sorted lexicographically by code point (or, equivalently, by UTF-8\nbytes).\n\nAn output directory cannot be duplicated or have the same path as any of\nthe listed output files. An output directory is allowed to be a parent of\nanother output directory.\n\nDirectories leading up to the output directories (but not the output\ndirectories themselves) are created by the worker prior to execution, even\nif they are not explicitly part of the input root.\n\nDEPRECATED since 2.1: Use `output_paths` instead.",
+          "description": "A list of the output directories that the client expects to retrieve from the action. Only the listed directories will be returned (an entire directory structure will be returned as a Tree message digest, see OutputDirectory), as well as files listed in `output_files`. Other files or directories that may be created during command execution are discarded. The paths are relative to the working directory of the action execution. The paths are specified using a single forward slash (`/`) as a path separator, even if the execution platform natively uses a different separator. The path MUST NOT include a trailing slash, nor a leading slash, being a relative path. The special value of empty string is allowed, although not recommended, and can be used to capture the entire working directory tree, including inputs. In order to ensure consistent hashing of the same Action, the output paths MUST be sorted lexicographically by code point (or, equivalently, by UTF-8 bytes). An output directory cannot be duplicated or have the same path as any of the listed output files. An output directory is allowed to be a parent of another output directory. Directories leading up to the output directories (but not the output directories themselves) are created by the worker prior to execution, even if they are not explicitly part of the input root. DEPRECATED since 2.1: Use `output_paths` instead.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "outputFiles": {
-          "description": "A list of the output files that the client expects to retrieve from the\naction. Only the listed files, as well as directories listed in\n`output_directories`, will be returned to the client as output.\nOther files or directories that may be created during command execution\nare discarded.\n\nThe paths are relative to the working directory of the action execution.\nThe paths are specified using a single forward slash (`/`) as a path\nseparator, even if the execution platform natively uses a different\nseparator. The path MUST NOT include a trailing slash, nor a leading slash,\nbeing a relative path.\n\nIn order to ensure consistent hashing of the same Action, the output paths\nMUST be sorted lexicographically by code point (or, equivalently, by UTF-8\nbytes).\n\nAn output file cannot be duplicated, be a parent of another output file, or\nhave the same path as any of the listed output directories.\n\nDirectories leading up to the output files are created by the worker prior\nto execution, even if they are not explicitly part of the input root.\n\nDEPRECATED since v2.1: Use `output_paths` instead.",
+          "description": "A list of the output files that the client expects to retrieve from the action. Only the listed files, as well as directories listed in `output_directories`, will be returned to the client as output. Other files or directories that may be created during command execution are discarded. The paths are relative to the working directory of the action execution. The paths are specified using a single forward slash (`/`) as a path separator, even if the execution platform natively uses a different separator. The path MUST NOT include a trailing slash, nor a leading slash, being a relative path. In order to ensure consistent hashing of the same Action, the output paths MUST be sorted lexicographically by code point (or, equivalently, by UTF-8 bytes). An output file cannot be duplicated, be a parent of another output file, or have the same path as any of the listed output directories. Directories leading up to the output files are created by the worker prior to execution, even if they are not explicitly part of the input root. DEPRECATED since v2.1: Use `output_paths` instead.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "outputPaths": {
-          "description": "A list of the output paths that the client expects to retrieve from the\naction. Only the listed paths will be returned to the client as output.\nThe type of the output (file or directory) is not specified, and will be\ndetermined by the server after action execution. If the resulting path is\na file, it will be returned in an\nOutputFile) typed field.\nIf the path is a directory, the entire directory structure will be returned\nas a Tree message digest, see\nOutputDirectory)\nOther files or directories that may be created during command execution\nare discarded.\n\nThe paths are relative to the working directory of the action execution.\nThe paths are specified using a single forward slash (`/`) as a path\nseparator, even if the execution platform natively uses a different\nseparator. The path MUST NOT include a trailing slash, nor a leading slash,\nbeing a relative path.\n\nIn order to ensure consistent hashing of the same Action, the output paths\nMUST be deduplicated and sorted lexicographically by code point (or,\nequivalently, by UTF-8 bytes).\n\nDirectories leading up to the output paths are created by the worker prior\nto execution, even if they are not explicitly part of the input root.\n\nNew in v2.1: this field supersedes the DEPRECATED `output_files` and\n`output_directories` fields. If `output_paths` is used, `output_files` and\n`output_directories` will be ignored!",
+          "description": "A list of the output paths that the client expects to retrieve from the action. Only the listed paths will be returned to the client as output. The type of the output (file or directory) is not specified, and will be determined by the server after action execution. If the resulting path is a file, it will be returned in an OutputFile) typed field. If the path is a directory, the entire directory structure will be returned as a Tree message digest, see OutputDirectory) Other files or directories that may be created during command execution are discarded. The paths are relative to the working directory of the action execution. The paths are specified using a single forward slash (`/`) as a path separator, even if the execution platform natively uses a different separator. The path MUST NOT include a trailing slash, nor a leading slash, being a relative path. In order to ensure consistent hashing of the same Action, the output paths MUST be deduplicated and sorted lexicographically by code point (or, equivalently, by UTF-8 bytes). Directories leading up to the output paths are created by the worker prior to execution, even if they are not explicitly part of the input root. New in v2.1: this field supersedes the DEPRECATED `output_files` and `output_directories` fields. If `output_paths` is used, `output_files` and `output_directories` will be ignored!",
           "items": {
             "type": "string"
           },
@@ -451,17 +451,17 @@
         },
         "platform": {
           "$ref": "BuildBazelRemoteExecutionV2Platform",
-          "description": "The platform requirements for the execution environment. The server MAY\nchoose to execute the action on any worker satisfying the requirements, so\nthe client SHOULD ensure that running the action on any such worker will\nhave the same result.\nA detailed lexicon for this can be found in the accompanying platform.md."
+          "description": "The platform requirements for the execution environment. The server MAY choose to execute the action on any worker satisfying the requirements, so the client SHOULD ensure that running the action on any such worker will have the same result. A detailed lexicon for this can be found in the accompanying platform.md."
         },
         "workingDirectory": {
-          "description": "The working directory, relative to the input root, for the command to run\nin. It must be a directory which exists in the input tree. If it is left\nempty, then the action is run in the input root.",
+          "description": "The working directory, relative to the input root, for the command to run in. It must be a directory which exists in the input tree. If it is left empty, then the action is run in the input root.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2CommandEnvironmentVariable": {
-      "description": "An `EnvironmentVariable` is one variable to set in the running program's\nenvironment.",
+      "description": "An `EnvironmentVariable` is one variable to set in the running program's environment.",
       "id": "BuildBazelRemoteExecutionV2CommandEnvironmentVariable",
       "properties": {
         "name": {
@@ -476,11 +476,11 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2Digest": {
-      "description": "A content digest. A digest for a given blob consists of the size of the blob\nand its hash. The hash algorithm to use is defined by the server.\n\nThe size is considered to be an integral part of the digest and cannot be\nseparated. That is, even if the `hash` field is correctly specified but\n`size_bytes` is not, the server MUST reject the request.\n\nThe reason for including the size in the digest is as follows: in a great\nmany cases, the server needs to know the size of the blob it is about to work\nwith prior to starting an operation with it, such as flattening Merkle tree\nstructures or streaming it to a worker. Technically, the server could\nimplement a separate metadata store, but this results in a significantly more\ncomplicated implementation as opposed to having the client specify the size\nup-front (or storing the size along with the digest in every message where\ndigests are embedded). This does mean that the API leaks some implementation\ndetails of (what we consider to be) a reasonable server implementation, but\nwe consider this to be a worthwhile tradeoff.\n\nWhen a `Digest` is used to refer to a proto message, it always refers to the\nmessage in binary encoded form. To ensure consistent hashing, clients and\nservers MUST ensure that they serialize messages according to the following\nrules, even if there are alternate valid encodings for the same message:\n\n* Fields are serialized in tag order.\n* There are no unknown fields.\n* There are no duplicate fields.\n* Fields are serialized according to the default semantics for their type.\n\nMost protocol buffer implementations will always follow these rules when\nserializing, but care should be taken to avoid shortcuts. For instance,\nconcatenating two messages to merge them may produce duplicate fields.",
+      "description": "A content digest. A digest for a given blob consists of the size of the blob and its hash. The hash algorithm to use is defined by the server. The size is considered to be an integral part of the digest and cannot be separated. That is, even if the `hash` field is correctly specified but `size_bytes` is not, the server MUST reject the request. The reason for including the size in the digest is as follows: in a great many cases, the server needs to know the size of the blob it is about to work with prior to starting an operation with it, such as flattening Merkle tree structures or streaming it to a worker. Technically, the server could implement a separate metadata store, but this results in a significantly more complicated implementation as opposed to having the client specify the size up-front (or storing the size along with the digest in every message where digests are embedded). This does mean that the API leaks some implementation details of (what we consider to be) a reasonable server implementation, but we consider this to be a worthwhile tradeoff. When a `Digest` is used to refer to a proto message, it always refers to the message in binary encoded form. To ensure consistent hashing, clients and servers MUST ensure that they serialize messages according to the following rules, even if there are alternate valid encodings for the same message: * Fields are serialized in tag order. * There are no unknown fields. * There are no duplicate fields. * Fields are serialized according to the default semantics for their type. Most protocol buffer implementations will always follow these rules when serializing, but care should be taken to avoid shortcuts. For instance, concatenating two messages to merge them may produce duplicate fields.",
       "id": "BuildBazelRemoteExecutionV2Digest",
       "properties": {
         "hash": {
-          "description": "The hash. In the case of SHA-256, it will always be a lowercase hex string\nexactly 64 characters long.",
+          "description": "The hash. In the case of SHA-256, it will always be a lowercase hex string exactly 64 characters long.",
           "type": "string"
         },
         "sizeBytes": {
@@ -492,7 +492,7 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2Directory": {
-      "description": "A `Directory` represents a directory node in a file tree, containing zero or\nmore children FileNodes,\nDirectoryNodes and\nSymlinkNodes.\nEach `Node` contains its name in the directory, either the digest of its\ncontent (either a file blob or a `Directory` proto) or a symlink target, as\nwell as possibly some metadata about the file or directory.\n\nIn order to ensure that two equivalent directory trees hash to the same\nvalue, the following restrictions MUST be obeyed when constructing a\na `Directory`:\n\n* Every child in the directory must have a path of exactly one segment.\n  Multiple levels of directory hierarchy may not be collapsed.\n* Each child in the directory must have a unique path segment (file name).\n  Note that while the API itself is case-sensitive, the environment where\n  the Action is executed may or may not be case-sensitive. That is, it is\n  legal to call the API with a Directory that has both \"Foo\" and \"foo\" as\n  children, but the Action may be rejected by the remote system upon\n  execution.\n* The files, directories and symlinks in the directory must each be sorted\n  in lexicographical order by path. The path strings must be sorted by code\n  point, equivalently, by UTF-8 bytes.\n* The NodeProperties of files,\n  directories, and symlinks must be sorted in lexicographical order by\n  property name.\n\nA `Directory` that obeys the restrictions is said to be in canonical form.\n\nAs an example, the following could be used for a file named `bar` and a\ndirectory named `foo` with an executable file named `baz` (hashes shortened\nfor readability):\n\n```json\n// (Directory proto)\n{\n  files: [\n    {\n      name: \"bar\",\n      digest: {\n        hash: \"4a73bc9d03...\",\n        size: 65534\n      },\n      node_properties: [\n        {\n          \"name\": \"MTime\",\n          \"value\": \"2017-01-15T01:30:15.01Z\"\n        }\n      ]\n    }\n  ],\n  directories: [\n    {\n      name: \"foo\",\n      digest: {\n        hash: \"4cf2eda940...\",\n        size: 43\n      }\n    }\n  ]\n}\n\n// (Directory proto with hash \"4cf2eda940...\" and size 43)\n{\n  files: [\n    {\n      name: \"baz\",\n      digest: {\n        hash: \"b2c941073e...\",\n        size: 1294,\n      },\n      is_executable: true\n    }\n  ]\n}\n```",
+      "description": "A `Directory` represents a directory node in a file tree, containing zero or more children FileNodes, DirectoryNodes and SymlinkNodes. Each `Node` contains its name in the directory, either the digest of its content (either a file blob or a `Directory` proto) or a symlink target, as well as possibly some metadata about the file or directory. In order to ensure that two equivalent directory trees hash to the same value, the following restrictions MUST be obeyed when constructing a a `Directory`: * Every child in the directory must have a path of exactly one segment. Multiple levels of directory hierarchy may not be collapsed. * Each child in the directory must have a unique path segment (file name). Note that while the API itself is case-sensitive, the environment where the Action is executed may or may not be case-sensitive. That is, it is legal to call the API with a Directory that has both \"Foo\" and \"foo\" as children, but the Action may be rejected by the remote system upon execution. * The files, directories and symlinks in the directory must each be sorted in lexicographical order by path. The path strings must be sorted by code point, equivalently, by UTF-8 bytes. * The NodeProperties of files, directories, and symlinks must be sorted in lexicographical order by property name. A `Directory` that obeys the restrictions is said to be in canonical form. As an example, the following could be used for a file named `bar` and a directory named `foo` with an executable file named `baz` (hashes shortened for readability): ```json // (Directory proto) { files: [ { name: \"bar\", digest: { hash: \"4a73bc9d03...\", size: 65534 }, node_properties: [ { \"name\": \"MTime\", \"value\": \"2017-01-15T01:30:15.01Z\" } ] } ], directories: [ { name: \"foo\", digest: { hash: \"4cf2eda940...\", size: 43 } } ] } // (Directory proto with hash \"4cf2eda940...\" and size 43) { files: [ { name: \"baz\", digest: { hash: \"b2c941073e...\", size: 1294, }, is_executable: true } ] } ```",
       "id": "BuildBazelRemoteExecutionV2Directory",
       "properties": {
         "directories": {
@@ -527,12 +527,12 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2DirectoryNode": {
-      "description": "A `DirectoryNode` represents a child of a\nDirectory which is itself\na `Directory` and its associated metadata.",
+      "description": "A `DirectoryNode` represents a child of a Directory which is itself a `Directory` and its associated metadata.",
       "id": "BuildBazelRemoteExecutionV2DirectoryNode",
       "properties": {
         "digest": {
           "$ref": "BuildBazelRemoteExecutionV2Digest",
-          "description": "The digest of the\nDirectory object\nrepresented. See Digest\nfor information about how to take the digest of a proto message."
+          "description": "The digest of the Directory object represented. See Digest for information about how to take the digest of a proto message."
         },
         "name": {
           "description": "The name of the directory.",
@@ -542,12 +542,12 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2ExecuteOperationMetadata": {
-      "description": "Metadata about an ongoing\nexecution, which\nwill be contained in the metadata\nfield of the\nOperation.",
+      "description": "Metadata about an ongoing execution, which will be contained in the metadata field of the Operation.",
       "id": "BuildBazelRemoteExecutionV2ExecuteOperationMetadata",
       "properties": {
         "actionDigest": {
           "$ref": "BuildBazelRemoteExecutionV2Digest",
-          "description": "The digest of the Action\nbeing executed."
+          "description": "The digest of the Action being executed."
         },
         "stage": {
           "description": "The current stage of execution.",
@@ -568,18 +568,18 @@
           "type": "string"
         },
         "stderrStreamName": {
-          "description": "If set, the client can use this name with\nByteStream.Read to stream the\nstandard error.",
+          "description": "If set, the client can use this name with ByteStream.Read to stream the standard error.",
           "type": "string"
         },
         "stdoutStreamName": {
-          "description": "If set, the client can use this name with\nByteStream.Read to stream the\nstandard output.",
+          "description": "If set, the client can use this name with ByteStream.Read to stream the standard output.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2ExecuteResponse": {
-      "description": "The response message for\nExecution.Execute,\nwhich will be contained in the response\nfield of the\nOperation.",
+      "description": "The response message for Execution.Execute, which will be contained in the response field of the Operation.",
       "id": "BuildBazelRemoteExecutionV2ExecuteResponse",
       "properties": {
         "cachedResult": {
@@ -587,7 +587,7 @@
           "type": "boolean"
         },
         "message": {
-          "description": "Freeform informational message with details on the execution of the action\nthat may be displayed to the user upon failure or when requested explicitly.",
+          "description": "Freeform informational message with details on the execution of the action that may be displayed to the user upon failure or when requested explicitly.",
           "type": "string"
         },
         "result": {
@@ -598,12 +598,12 @@
           "additionalProperties": {
             "$ref": "BuildBazelRemoteExecutionV2LogFile"
           },
-          "description": "An optional list of additional log outputs the server wishes to provide. A\nserver can use this to return execution-specific logs however it wishes.\nThis is intended primarily to make it easier for users to debug issues that\nmay be outside of the actual job execution, such as by identifying the\nworker executing the action or by providing logs from the worker's setup\nphase. The keys SHOULD be human readable so that a client can display them\nto a user.",
+          "description": "An optional list of additional log outputs the server wishes to provide. A server can use this to return execution-specific logs however it wishes. This is intended primarily to make it easier for users to debug issues that may be outside of the actual job execution, such as by identifying the worker executing the action or by providing logs from the worker's setup phase. The keys SHOULD be human readable so that a client can display them to a user.",
           "type": "object"
         },
         "status": {
           "$ref": "GoogleRpcStatus",
-          "description": "If the status has a code other than `OK`, it indicates that the action did\nnot finish execution. For example, if the operation times out during\nexecution, the status will have a `DEADLINE_EXCEEDED` code. Servers MUST\nuse this field for errors in execution, rather than the error field on the\n`Operation` object.\n\nIf the status code is other than `OK`, then the result MUST NOT be cached.\nFor an error status, the `result` field is optional; the server may\npopulate the output-, stdout-, and stderr-related fields if it has any\ninformation available, such as the stdout and stderr of a timed-out action."
+          "description": "If the status has a code other than `OK`, it indicates that the action did not finish execution. For example, if the operation times out during execution, the status will have a `DEADLINE_EXCEEDED` code. Servers MUST use this field for errors in execution, rather than the error field on the `Operation` object. If the status code is other than `OK`, then the result MUST NOT be cached. For an error status, the `result` field is optional; the server may populate the output-, stdout-, and stderr-related fields if it has any information available, such as the stdout and stderr of a timed-out action."
         }
       },
       "type": "object"
@@ -699,14 +699,14 @@
           "description": "The digest of the log contents."
         },
         "humanReadable": {
-          "description": "This is a hint as to the purpose of the log, and is set to true if the log\nis human-readable text that can be usefully displayed to a user, and false\notherwise. For instance, if a command-line client wishes to print the\nserver logs to the terminal for a failed action, this allows it to avoid\ndisplaying a binary file.",
+          "description": "This is a hint as to the purpose of the log, and is set to true if the log is human-readable text that can be usefully displayed to a user, and false otherwise. For instance, if a command-line client wishes to print the server logs to the terminal for a failed action, this allows it to avoid displaying a binary file.",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2NodeProperty": {
-      "description": "A single property for FileNodes,\nDirectoryNodes, and\nSymlinkNodes. The server is\nresponsible for specifying the property `name`s that it accepts. If\npermitted by the server, the same `name` may occur multiple times.",
+      "description": "A single property for FileNodes, DirectoryNodes, and SymlinkNodes. The server is responsible for specifying the property `name`s that it accepts. If permitted by the server, the same `name` may occur multiple times.",
       "id": "BuildBazelRemoteExecutionV2NodeProperty",
       "properties": {
         "name": {
@@ -721,26 +721,26 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2OutputDirectory": {
-      "description": "An `OutputDirectory` is the output in an `ActionResult` corresponding to a\ndirectory's full contents rather than a single file.",
+      "description": "An `OutputDirectory` is the output in an `ActionResult` corresponding to a directory's full contents rather than a single file.",
       "id": "BuildBazelRemoteExecutionV2OutputDirectory",
       "properties": {
         "path": {
-          "description": "The full path of the directory relative to the working directory. The path\nseparator is a forward slash `/`. Since this is a relative path, it MUST\nNOT begin with a leading forward slash. The empty string value is allowed,\nand it denotes the entire working directory.",
+          "description": "The full path of the directory relative to the working directory. The path separator is a forward slash `/`. Since this is a relative path, it MUST NOT begin with a leading forward slash. The empty string value is allowed, and it denotes the entire working directory.",
           "type": "string"
         },
         "treeDigest": {
           "$ref": "BuildBazelRemoteExecutionV2Digest",
-          "description": "The digest of the encoded\nTree proto containing the\ndirectory's contents."
+          "description": "The digest of the encoded Tree proto containing the directory's contents."
         }
       },
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2OutputFile": {
-      "description": "An `OutputFile` is similar to a\nFileNode, but it is used as an\noutput in an `ActionResult`. It allows a full file path rather than\nonly a name.",
+      "description": "An `OutputFile` is similar to a FileNode, but it is used as an output in an `ActionResult`. It allows a full file path rather than only a name.",
       "id": "BuildBazelRemoteExecutionV2OutputFile",
       "properties": {
         "contents": {
-          "description": "The contents of the file if inlining was requested. The server SHOULD NOT inline\nfile contents unless requested by the client in the\nGetActionResultRequest\nmessage. The server MAY omit inlining, even if requested, and MUST do so if inlining\nwould cause the response to exceed message size limits.",
+          "description": "The contents of the file if inlining was requested. The server SHOULD NOT inline file contents unless requested by the client in the GetActionResultRequest message. The server MAY omit inlining, even if requested, and MUST do so if inlining would cause the response to exceed message size limits.",
           "format": "byte",
           "type": "string"
         },
@@ -760,40 +760,40 @@
           "type": "array"
         },
         "path": {
-          "description": "The full path of the file relative to the working directory, including the\nfilename. The path separator is a forward slash `/`. Since this is a\nrelative path, it MUST NOT begin with a leading forward slash.",
+          "description": "The full path of the file relative to the working directory, including the filename. The path separator is a forward slash `/`. Since this is a relative path, it MUST NOT begin with a leading forward slash.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2OutputSymlink": {
-      "description": "An `OutputSymlink` is similar to a\nSymlink, but it is used as an\noutput in an `ActionResult`.\n\n`OutputSymlink` is binary-compatible with `SymlinkNode`.",
+      "description": "An `OutputSymlink` is similar to a Symlink, but it is used as an output in an `ActionResult`. `OutputSymlink` is binary-compatible with `SymlinkNode`.",
       "id": "BuildBazelRemoteExecutionV2OutputSymlink",
       "properties": {
         "nodeProperties": {
-          "description": "The supported node properties of the OutputSymlink, if requested by the\nAction.",
+          "description": "The supported node properties of the OutputSymlink, if requested by the Action.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2NodeProperty"
           },
           "type": "array"
         },
         "path": {
-          "description": "The full path of the symlink relative to the working directory, including the\nfilename. The path separator is a forward slash `/`. Since this is a\nrelative path, it MUST NOT begin with a leading forward slash.",
+          "description": "The full path of the symlink relative to the working directory, including the filename. The path separator is a forward slash `/`. Since this is a relative path, it MUST NOT begin with a leading forward slash.",
           "type": "string"
         },
         "target": {
-          "description": "The target path of the symlink. The path separator is a forward slash `/`.\nThe target path can be relative to the parent directory of the symlink or\nit can be an absolute path starting with `/`. Support for absolute paths\ncan be checked using the Capabilities\nAPI. The canonical form forbids the substrings `/./` and `//` in the target\npath. `..` components are allowed anywhere in the target path.",
+          "description": "The target path of the symlink. The path separator is a forward slash `/`. The target path can be relative to the parent directory of the symlink or it can be an absolute path starting with `/`. Support for absolute paths can be checked using the Capabilities API. The canonical form forbids the substrings `/./` and `//` in the target path. `..` components are allowed anywhere in the target path.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2Platform": {
-      "description": "A `Platform` is a set of requirements, such as hardware, operating system, or\ncompiler toolchain, for an\nAction's execution\nenvironment. A `Platform` is represented as a series of key-value pairs\nrepresenting the properties that are required of the platform.",
+      "description": "A `Platform` is a set of requirements, such as hardware, operating system, or compiler toolchain, for an Action's execution environment. A `Platform` is represented as a series of key-value pairs representing the properties that are required of the platform.",
       "id": "BuildBazelRemoteExecutionV2Platform",
       "properties": {
         "properties": {
-          "description": "The properties that make up this platform. In order to ensure that\nequivalent `Platform`s always hash to the same value, the properties MUST\nbe lexicographically sorted by name, and then by value. Sorting of strings\nis done by code point, equivalently, by the UTF-8 bytes.",
+          "description": "The properties that make up this platform. In order to ensure that equivalent `Platform`s always hash to the same value, the properties MUST be lexicographically sorted by name, and then by value. Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2PlatformProperty"
           },
@@ -803,7 +803,7 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2PlatformProperty": {
-      "description": "A single property for the environment. The server is responsible for\nspecifying the property `name`s that it accepts. If an unknown `name` is\nprovided in the requirements for an\nAction, the server SHOULD\nreject the execution request. If permitted by the server, the same `name`\nmay occur multiple times.\n\nThe server is also responsible for specifying the interpretation of\nproperty `value`s. For instance, a property describing how much RAM must be\navailable may be interpreted as allowing a worker with 16GB to fulfill a\nrequest for 8GB, while a property describing the OS environment on which\nthe action must be performed may require an exact match with the worker's\nOS.\n\nThe server MAY use the `value` of one or more properties to determine how\nit sets up the execution environment, such as by making specific system\nfiles available to the worker.",
+      "description": "A single property for the environment. The server is responsible for specifying the property `name`s that it accepts. If an unknown `name` is provided in the requirements for an Action, the server SHOULD reject the execution request. If permitted by the server, the same `name` may occur multiple times. The server is also responsible for specifying the interpretation of property `value`s. For instance, a property describing how much RAM must be available may be interpreted as allowing a worker with 16GB to fulfill a request for 8GB, while a property describing the OS environment on which the action must be performed may require an exact match with the worker's OS. The server MAY use the `value` of one or more properties to determine how it sets up the execution environment, such as by making specific system files available to the worker.",
       "id": "BuildBazelRemoteExecutionV2PlatformProperty",
       "properties": {
         "name": {
@@ -818,15 +818,15 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2RequestMetadata": {
-      "description": "An optional Metadata to attach to any RPC request to tell the server about an\nexternal context of the request. The server may use this for logging or other\npurposes. To use it, the client attaches the header to the call using the\ncanonical proto serialization:\n\n* name: `build.bazel.remote.execution.v2.requestmetadata-bin`\n* contents: the base64 encoded binary `RequestMetadata` message.\nNote: the gRPC library serializes binary headers encoded in base 64 by\ndefault (https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests).\nTherefore, if the gRPC library is used to pass/retrieve this\nmetadata, the user may ignore the base64 encoding and assume it is simply\nserialized as a binary message.",
+      "description": "An optional Metadata to attach to any RPC request to tell the server about an external context of the request. The server may use this for logging or other purposes. To use it, the client attaches the header to the call using the canonical proto serialization: * name: `build.bazel.remote.execution.v2.requestmetadata-bin` * contents: the base64 encoded binary `RequestMetadata` message. Note: the gRPC library serializes binary headers encoded in base 64 by default (https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests). Therefore, if the gRPC library is used to pass/retrieve this metadata, the user may ignore the base64 encoding and assume it is simply serialized as a binary message.",
       "id": "BuildBazelRemoteExecutionV2RequestMetadata",
       "properties": {
         "actionId": {
-          "description": "An identifier that ties multiple requests to the same action.\nFor example, multiple requests to the CAS, Action Cache, and Execution\nAPI are used in order to compile foo.cc.",
+          "description": "An identifier that ties multiple requests to the same action. For example, multiple requests to the CAS, Action Cache, and Execution API are used in order to compile foo.cc.",
           "type": "string"
         },
         "correlatedInvocationsId": {
-          "description": "An identifier to tie multiple tool invocations together. For example,\nruns of foo_test, bar_test and baz_test on a post-submit of a given patch.",
+          "description": "An identifier to tie multiple tool invocations together. For example, runs of foo_test, bar_test and baz_test on a post-submit of a given patch.",
           "type": "string"
         },
         "toolDetails": {
@@ -834,7 +834,7 @@
           "description": "The details for the tool invoking the requests."
         },
         "toolInvocationId": {
-          "description": "An identifier that ties multiple actions together to a final result.\nFor example, multiple actions are required to build and run foo_test.",
+          "description": "An identifier that ties multiple actions together to a final result. For example, multiple actions are required to build and run foo_test.",
           "type": "string"
         }
       },
@@ -856,7 +856,7 @@
           "type": "array"
         },
         "target": {
-          "description": "The target path of the symlink. The path separator is a forward slash `/`.\nThe target path can be relative to the parent directory of the symlink or\nit can be an absolute path starting with `/`. Support for absolute paths\ncan be checked using the Capabilities\nAPI. The canonical form forbids the substrings `/./` and `//` in the target\npath. `..` components are allowed anywhere in the target path.",
+          "description": "The target path of the symlink. The path separator is a forward slash `/`. The target path can be relative to the parent directory of the symlink or it can be an absolute path starting with `/`. Support for absolute paths can be checked using the Capabilities API. The canonical form forbids the substrings `/./` and `//` in the target path. `..` components are allowed anywhere in the target path.",
           "type": "string"
         }
       },
@@ -878,11 +878,11 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2Tree": {
-      "description": "A `Tree` contains all the\nDirectory protos in a\nsingle directory Merkle tree, compressed into one message.",
+      "description": "A `Tree` contains all the Directory protos in a single directory Merkle tree, compressed into one message.",
       "id": "BuildBazelRemoteExecutionV2Tree",
       "properties": {
         "children": {
-          "description": "All the child directories: the directories referred to by the root and,\nrecursively, all its children. In order to reconstruct the directory tree,\nthe client must take the digests of each of the child directories and then\nbuild up a tree starting from the `root`.",
+          "description": "All the child directories: the directories referred to by the root and, recursively, all its children. In order to reconstruct the directory tree, the client must take the digests of each of the child directories and then build up a tree starting from the `root`.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2Directory"
           },
@@ -907,11 +907,11 @@
       "type": "object"
     },
     "GoogleDevtoolsRemotebuildbotCommandDurations": {
-      "description": "CommandDuration contains the various duration metrics tracked when a bot\nperforms a command.",
+      "description": "CommandDuration contains the various duration metrics tracked when a bot performs a command.",
       "id": "GoogleDevtoolsRemotebuildbotCommandDurations",
       "properties": {
         "dockerPrep": {
-          "description": "The time spent preparing the command to be run in a Docker container\n(includes pulling the Docker image, if necessary).",
+          "description": "The time spent preparing the command to be run in a Docker container (includes pulling the Docker image, if necessary).",
           "format": "google-duration",
           "type": "string"
         },
@@ -921,7 +921,7 @@
           "type": "string"
         },
         "download": {
-          "description": "The time spent downloading the input files and constructing the working\ndirectory.",
+          "description": "The time spent downloading the input files and constructing the working directory.",
           "format": "google-duration",
           "type": "string"
         },
@@ -969,11 +969,11 @@
       "type": "object"
     },
     "GoogleDevtoolsRemotebuildbotCommandEvents": {
-      "description": "CommandEvents contains counters for the number of warnings and errors\nthat occurred during the execution of a command.",
+      "description": "CommandEvents contains counters for the number of warnings and errors that occurred during the execution of a command.",
       "id": "GoogleDevtoolsRemotebuildbotCommandEvents",
       "properties": {
         "dockerCacheHit": {
-          "description": "Indicates whether we are using a cached Docker image (true) or had to pull\nthe Docker image (false) for this command.",
+          "description": "Indicates whether we are using a cached Docker image (true) or had to pull the Docker image (false) for this command.",
           "type": "boolean"
         },
         "inputCacheMiss": {
@@ -1046,10 +1046,10 @@
             "The command had passed its expiry time while it was still running.",
             "The resources requested by the command were not found.",
             "The command failed due to permission errors.",
-            "The command failed because of some invariants expected by the underlying\nsystem have been broken. This usually indicates a bug wit the system.",
+            "The command failed because of some invariants expected by the underlying system have been broken. This usually indicates a bug wit the system.",
             "The command was aborted.",
-            "The command failed because the system is not in a state required for the\ncommand, e.g. the command inputs cannot be found on the server.",
-            "The bot failed to do the cleanup, e.g. unable to delete the command\nworking directory or the command process.",
+            "The command failed because the system is not in a state required for the command, e.g. the command inputs cannot be found on the server.",
+            "The bot failed to do the cleanup, e.g. unable to delete the command working directory or the command process.",
             "The bot failed to download the inputs.",
             "Unknown error.",
             "The bot failed to upload the outputs.",
@@ -1078,7 +1078,7 @@
             "Docker failed to create OCI runtime because of file not found.",
             "Docker failed to create OCI runtime because of permission denied.",
             "Docker failed to create process because of file not found.",
-            "Docker failed to run containers with CreateComputeSystem error that\ninvolves an incorrect parameter (more specific version of\nDOCKER_CREATE_COMPUTE_SYSTEM_ERROR that is user-caused)."
+            "Docker failed to run containers with CreateComputeSystem error that involves an incorrect parameter (more specific version of DOCKER_CREATE_COMPUTE_SYSTEM_ERROR that is user-caused)."
           ],
           "type": "string"
         },
@@ -1130,7 +1130,7 @@
           "type": "string"
         },
         "acceleratorType": {
-          "description": "The type of accelerator to attach to each VM, e.g. \"nvidia-tesla-k80\" for\nnVidia Tesla K80.",
+          "description": "The type of accelerator to attach to each VM, e.g. \"nvidia-tesla-k80\" for nVidia Tesla K80.",
           "type": "string"
         }
       },
@@ -1159,14 +1159,14 @@
       "properties": {
         "instance": {
           "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance",
-          "description": "Specifies the instance to create.\nThe name in the instance, if specified in the instance, is ignored."
+          "description": "Specifies the instance to create. The name in the instance, if specified in the instance, is ignored."
         },
         "instanceId": {
-          "description": "ID of the created instance.\nA valid `instance_id` must:\nbe 6-50 characters long,\ncontain only lowercase letters, digits, hyphens and underscores,\nstart with a lowercase letter, and\nend with a lowercase letter or a digit.",
+          "description": "ID of the created instance. A valid `instance_id` must: be 6-50 characters long, contain only lowercase letters, digits, hyphens and underscores, start with a lowercase letter, and end with a lowercase letter or a digit.",
           "type": "string"
         },
         "parent": {
-          "description": "Resource name of the project containing the instance.\nFormat: `projects/[PROJECT_ID]`.",
+          "description": "Resource name of the project containing the instance. Format: `projects/[PROJECT_ID]`.",
           "type": "string"
         }
       },
@@ -1177,16 +1177,16 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest",
       "properties": {
         "parent": {
-          "description": "Resource name of the instance in which to create the new worker pool.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+          "description": "Resource name of the instance in which to create the new worker pool. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
           "type": "string"
         },
         "poolId": {
-          "description": "ID of the created worker pool.\nA valid pool ID must:\nbe 6-50 characters long,\ncontain only lowercase letters, digits, hyphens and underscores,\nstart with a lowercase letter, and\nend with a lowercase letter or a digit.",
+          "description": "ID of the created worker pool. A valid pool ID must: be 6-50 characters long, contain only lowercase letters, digits, hyphens and underscores, start with a lowercase letter, and end with a lowercase letter or a digit.",
           "type": "string"
         },
         "workerPool": {
           "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool",
-          "description": "Specifies the worker pool to create.\nThe name in the worker pool, if specified, is ignored."
+          "description": "Specifies the worker pool to create. The name in the worker pool, if specified, is ignored."
         }
       },
       "type": "object"
@@ -1196,7 +1196,7 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteInstanceRequest",
       "properties": {
         "name": {
-          "description": "Name of the instance to delete.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+          "description": "Name of the instance to delete. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
           "type": "string"
         }
       },
@@ -1207,7 +1207,88 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteWorkerPoolRequest",
       "properties": {
         "name": {
-          "description": "Name of the worker pool to delete.\nFormat:\n`projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.",
+          "description": "Name of the worker pool to delete. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy": {
+      "description": "FeaturePolicy defines features allowed to be used on RBE instances, as well as instance-wide behavior changes that take effect without opt-in or opt-out at usage time.",
+      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy",
+      "properties": {
+        "containerImageSources": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Which container image sources are allowed. Currently only RBE-supported registry (gcr.io) is allowed. One can allow all repositories under a project or one specific repository only. E.g. container_image_sources { policy: RESTRICTED allowed_values: [ \"gcr.io/project-foo\", \"gcr.io/project-bar/repo-baz\", ] } will allow any repositories under \"gcr.io/project-foo\" plus the repository \"gcr.io/project-bar/repo-baz\". Default (UNSPECIFIED) is equivalent to any source is allowed."
+        },
+        "dockerAddCapabilities": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Whether dockerAddCapabilities can be used or what capabilities are allowed."
+        },
+        "dockerChrootPath": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Whether dockerChrootPath can be used."
+        },
+        "dockerNetwork": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Whether dockerNetwork can be used or what network modes are allowed. E.g. one may allow `off` value only via `allowed_values`."
+        },
+        "dockerPrivileged": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Whether dockerPrivileged can be used."
+        },
+        "dockerRunAsRoot": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Whether dockerRunAsRoot can be used."
+        },
+        "dockerRuntime": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Whether dockerRuntime is allowed to be set or what runtimes are allowed. Note linux_isolation takes precedence, and if set, docker_runtime values may be rejected if they are incompatible with the selected isolation."
+        },
+        "dockerSiblingContainers": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Whether dockerSiblingContainers can be used."
+        },
+        "linuxIsolation": {
+          "description": "linux_isolation allows overriding the docker runtime used for containers started on Linux.",
+          "enum": [
+            "LINUX_ISOLATION_UNSPECIFIED",
+            "GVISOR"
+          ],
+          "enumDescriptions": [
+            "Default value. Will be using Linux default runtime.",
+            "Use gVisor runsc runtime."
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature": {
+      "description": "Defines whether a feature can be used or what values are accepted.",
+      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+      "properties": {
+        "allowedValues": {
+          "description": "A list of acceptable values. Only effective when the policy is `RESTRICTED`.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "policy": {
+          "description": "The policy of the feature.",
+          "enum": [
+            "POLICY_UNSPECIFIED",
+            "ALLOWED",
+            "FORBIDDEN",
+            "RESTRICTED"
+          ],
+          "enumDescriptions": [
+            "Default value, if not explicitly set. Equivalent to FORBIDDEN, unless otherwise documented on a specific Feature.",
+            "Feature is explicitly allowed.",
+            "Feature is forbidden. Requests attempting to leverage it will get an FailedPrecondition error, with a message like: \"Feature forbidden by FeaturePolicy: Feature on instance \"",
+            "Only the values specified in the `allowed_values` are allowed."
+          ],
           "type": "string"
         }
       },
@@ -1218,7 +1299,7 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetInstanceRequest",
       "properties": {
         "name": {
-          "description": "Name of the instance to retrieve.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+          "description": "Name of the instance to retrieve. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
           "type": "string"
         }
       },
@@ -1229,16 +1310,20 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetWorkerPoolRequest",
       "properties": {
         "name": {
-          "description": "Name of the worker pool to retrieve.\nFormat:\n`projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.",
+          "description": "Name of the worker pool to retrieve. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance": {
-      "description": "Instance conceptually encapsulates all Remote Build Execution resources\nfor remote builds.\nAn instance consists of storage and compute resources (for example,\n`ContentAddressableStorage`, `ActionCache`, `WorkerPools`) used for\nrunning remote builds.\nAll Remote Build Execution API calls are scoped to an instance.",
+      "description": "Instance conceptually encapsulates all Remote Build Execution resources for remote builds. An instance consists of storage and compute resources (for example, `ContentAddressableStorage`, `ActionCache`, `WorkerPools`) used for running remote builds. All Remote Build Execution API calls are scoped to an instance.",
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance",
       "properties": {
+        "featurePolicy": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy",
+          "description": "The policy to define whether or not RBE features can be used or how they can be used."
+        },
         "location": {
           "description": "The location is a GCP region. Currently only `us-central1` is supported.",
           "type": "string"
@@ -1248,7 +1333,7 @@
           "type": "boolean"
         },
         "name": {
-          "description": "Output only. Instance resource name formatted as:\n`projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.\nName should not be populated when creating an instance since it is provided\nin the `instance_id` field.",
+          "description": "Output only. Instance resource name formatted as: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. Name should not be populated when creating an instance since it is provided in the `instance_id` field.",
           "type": "string"
         },
         "state": {
@@ -1261,9 +1346,9 @@
           ],
           "enumDescriptions": [
             "Not a valid state, but the default value of the enum.",
-            "The instance is in state `CREATING` once `CreateInstance` is called and\nbefore the instance is ready for use.",
+            "The instance is in state `CREATING` once `CreateInstance` is called and before the instance is ready for use.",
             "The instance is in state `RUNNING` when it is ready for use.",
-            "An `INACTIVE` instance indicates that there is a problem that needs to be\nfixed. Such instances cannot be used for execution and instances that\nremain in this state for a significant period of time will be removed\npermanently."
+            "An `INACTIVE` instance indicates that there is a problem that needs to be fixed. Such instances cannot be used for execution and instances that remain in this state for a significant period of time will be removed permanently."
           ],
           "type": "string"
         }
@@ -1274,7 +1359,7 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesRequest",
       "properties": {
         "parent": {
-          "description": "Resource name of the project.\nFormat: `projects/[PROJECT_ID]`.",
+          "description": "Resource name of the project. Format: `projects/[PROJECT_ID]`.",
           "type": "string"
         }
       },
@@ -1297,11 +1382,11 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsRequest",
       "properties": {
         "filter": {
-          "description": "Optional. A filter expression that filters resources listed in\nthe response. The expression must specify the field name, a comparison\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. String values are\ncase-insensitive.\nThe comparison operator must be either `:`, `=`, `!=`, `\u003e`, `\u003e=`, `\u003c=` or\n`\u003c`.\nThe `:` operator can be used with string fields to match substrings.\nFor non-string fields it is equivalent to the `=` operator.\nThe `:*` comparison can be used to test  whether a key has been defined.\n\nYou can also filter on nested fields.\n\nTo filter on multiple expressions, you can separate expression using\n`AND` and `OR` operators, using parentheses to specify precedence. If\nneither operator is specified, `AND` is assumed.\n\nExamples:\n\nInclude only pools with more than 100 reserved workers:\n`(worker_count \u003e 100) (worker_config.reserved = true)`\n\nInclude only pools with a certain label or machines of the n1-standard\nfamily:\n`worker_config.labels.key1 : * OR worker_config.machine_type: n1-standard`",
+          "description": "Optional. A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. String values are case-insensitive. The comparison operator must be either `:`, `=`, `!=`, `\u003e`, `\u003e=`, `\u003c=` or `\u003c`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. You can also filter on nested fields. To filter on multiple expressions, you can separate expression using `AND` and `OR` operators, using parentheses to specify precedence. If neither operator is specified, `AND` is assumed. Examples: Include only pools with more than 100 reserved workers: `(worker_count \u003e 100) (worker_config.reserved = true)` Include only pools with a certain label or machines of the n1-standard family: `worker_config.labels.key1 : * OR worker_config.machine_type: n1-standard`",
           "type": "string"
         },
         "parent": {
-          "description": "Resource name of the instance.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+          "description": "Resource name of the instance. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
           "type": "string"
         }
       },
@@ -1329,15 +1414,15 @@
           "description": "Specifies the instance to update."
         },
         "loggingEnabled": {
-          "description": "Deprecated, use instance.logging_enabled instead.\nWhether to enable Stackdriver logging for this instance.",
+          "description": "Deprecated, use instance.logging_enabled instead. Whether to enable Stackdriver logging for this instance.",
           "type": "boolean"
         },
         "name": {
-          "description": "Deprecated, use instance.Name instead.\nName of the instance to update.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+          "description": "Deprecated, use instance.Name instead. Name of the instance to update. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
           "type": "string"
         },
         "updateMask": {
-          "description": "The update mask applies to instance. For the `FieldMask` definition, see\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf an empty update_mask is provided, only the non-default valued field in\nthe worker pool field will be updated. Note that in order to update a field\nto the default value (zero, false, empty string) an explicit update_mask\nmust be provided.",
+          "description": "The update mask applies to instance. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If an empty update_mask is provided, only the non-default valued field in the worker pool field will be updated. Note that in order to update a field to the default value (zero, false, empty string) an explicit update_mask must be provided.",
           "format": "google-fieldmask",
           "type": "string"
         }
@@ -1349,7 +1434,7 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest",
       "properties": {
         "updateMask": {
-          "description": "The update mask applies to worker_pool. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf an empty update_mask is provided, only the non-default valued field in\nthe worker pool field will be updated. Note that in order to update a field\nto the default value (zero, false, empty string) an explicit update_mask\nmust be provided.",
+          "description": "The update mask applies to worker_pool. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If an empty update_mask is provided, only the non-default valued field in the worker pool field will be updated. Note that in order to update a field to the default value (zero, false, empty string) an explicit update_mask must be provided.",
           "format": "google-fieldmask",
           "type": "string"
         },
@@ -1361,7 +1446,7 @@
       "type": "object"
     },
     "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig": {
-      "description": "Defines the configuration to be used for a creating workers in\nthe worker pool.",
+      "description": "Defines the configuration to be used for a creating workers in the worker pool.",
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig",
       "properties": {
         "accelerator": {
@@ -1369,23 +1454,23 @@
           "description": "The accelerator card attached to each VM."
         },
         "diskSizeGb": {
-          "description": "Required. Size of the disk attached to the worker, in GB.\nSee https://cloud.google.com/compute/docs/disks/",
+          "description": "Required. Size of the disk attached to the worker, in GB. See https://cloud.google.com/compute/docs/disks/",
           "format": "int64",
           "type": "string"
         },
         "diskType": {
-          "description": "Required. Disk Type to use for the worker.\nSee [Storage\noptions](https://cloud.google.com/compute/docs/disks/#introduction).\nCurrently only `pd-standard` and `pd-ssd` are supported.",
+          "description": "Required. Disk Type to use for the worker. See [Storage options](https://cloud.google.com/compute/docs/disks/#introduction). Currently only `pd-standard` and `pd-ssd` are supported.",
           "type": "string"
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Labels associated with the workers.\nLabel keys and values can be no longer than 63 characters, can only contain\nlowercase letters, numeric characters, underscores and dashes.\nInternational letters are permitted. Label keys must start with a letter.\nLabel values are optional.\nThere can not be more than 64 labels per resource.",
+          "description": "Labels associated with the workers. Label keys and values can be no longer than 63 characters, can only contain lowercase letters, numeric characters, underscores and dashes. International letters are permitted. Label keys must start with a letter. Label values are optional. There can not be more than 64 labels per resource.",
           "type": "object"
         },
         "machineType": {
-          "description": "Required. Machine type of the worker, such as `n1-standard-2`.\nSee https://cloud.google.com/compute/docs/machine-types for a list of\nsupported machine types. Note that `f1-micro` and `g1-small` are not yet\nsupported.",
+          "description": "Required. Machine type of the worker, such as `n1-standard-2`. See https://cloud.google.com/compute/docs/machine-types for a list of supported machine types. Note that `f1-micro` and `g1-small` are not yet supported.",
           "type": "string"
         },
         "maxConcurrentActions": {
@@ -1394,15 +1479,15 @@
           "type": "string"
         },
         "minCpuPlatform": {
-          "description": "Minimum CPU platform to use when creating the worker.\nSee [CPU Platforms](https://cloud.google.com/compute/docs/cpu-platforms).",
+          "description": "Minimum CPU platform to use when creating the worker. See [CPU Platforms](https://cloud.google.com/compute/docs/cpu-platforms).",
           "type": "string"
         },
         "networkAccess": {
-          "description": "Determines the type of network access granted to workers. Possible values:\n\n- \"public\": Workers can connect to the public internet.\n- \"private\": Workers can only connect to Google APIs and services.\n- \"restricted-private\": Workers can only connect to Google APIs that are\n  reachable through `restricted.googleapis.com` (`199.36.153.4/30`).",
+          "description": "Determines the type of network access granted to workers. Possible values: - \"public\": Workers can connect to the public internet. - \"private\": Workers can only connect to Google APIs and services. - \"restricted-private\": Workers can only connect to Google APIs that are reachable through `restricted.googleapis.com` (`199.36.153.4/30`).",
           "type": "string"
         },
         "reserved": {
-          "description": "Determines whether the worker is reserved (equivalent to a Compute Engine\non-demand VM and therefore won't be preempted).\nSee [Preemptible VMs](https://cloud.google.com/preemptible-vms/) for more\ndetails.",
+          "description": "Determines whether the worker is reserved (equivalent to a Compute Engine on-demand VM and therefore won't be preempted). See [Preemptible VMs](https://cloud.google.com/preemptible-vms/) for more details.",
           "type": "boolean"
         },
         "vmImage": {
@@ -1425,7 +1510,7 @@
           "type": "string"
         },
         "name": {
-          "description": "WorkerPool resource name formatted as:\n`projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.\nname should not be populated when creating a worker pool since it is\nprovided in the `poolId` field.",
+          "description": "WorkerPool resource name formatted as: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`. name should not be populated when creating a worker pool since it is provided in the `poolId` field.",
           "type": "string"
         },
         "state": {
@@ -1440,20 +1525,20 @@
           ],
           "enumDescriptions": [
             "Not a valid state, but the default value of the enum.",
-            "The worker pool is in state `CREATING` once `CreateWorkerPool` is called\nand before all requested workers are ready.",
-            "The worker pool is in state `RUNNING` when all its workers are ready for\nuse.",
-            "The worker pool is in state `UPDATING` once `UpdateWorkerPool` is called\nand before the new configuration has all the requested workers ready for\nuse, and no older configuration has any workers. At that point the state\ntransitions to `RUNNING`.",
-            "The worker pool is in state `DELETING` once the `Delete` method is called\nand before the deletion completes.",
-            "The worker pool is in state `INACTIVE` when the instance hosting the\nworker pool in not running."
+            "The worker pool is in state `CREATING` once `CreateWorkerPool` is called and before all requested workers are ready.",
+            "The worker pool is in state `RUNNING` when all its workers are ready for use.",
+            "The worker pool is in state `UPDATING` once `UpdateWorkerPool` is called and before the new configuration has all the requested workers ready for use, and no older configuration has any workers. At that point the state transitions to `RUNNING`.",
+            "The worker pool is in state `DELETING` once the `Delete` method is called and before the deletion completes.",
+            "The worker pool is in state `INACTIVE` when the instance hosting the worker pool in not running."
           ],
           "type": "string"
         },
         "workerConfig": {
           "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig",
-          "description": "Specifies the properties, such as machine type and disk size, used for\ncreating workers in a worker pool."
+          "description": "Specifies the properties, such as machine type and disk size, used for creating workers in a worker pool."
         },
         "workerCount": {
-          "description": "The desired number of workers in the worker pool. Must be a value between\n0 and 15000.",
+          "description": "The desired number of workers in the worker pool. Must be a value between 0 and 15000.",
           "format": "int64",
           "type": "string"
         }
@@ -1461,7 +1546,7 @@
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2AdminTemp": {
-      "description": "AdminTemp is a prelimiary set of administration tasks. It's called \"Temp\"\nbecause we do not yet know the best way to represent admin tasks; it's\npossible that this will be entirely replaced in later versions of this API.\nIf this message proves to be sufficient, it will be renamed in the alpha or\nbeta release of this API.\n\nThis message (suitably marshalled into a protobuf.Any) can be used as the\ninline_assignment field in a lease; the lease assignment field should simply\nbe `\"admin\"` in these cases.\n\nThis message is heavily based on Swarming administration tasks from the LUCI\nproject (http://github.com/luci/luci-py/appengine/swarming).",
+      "description": "AdminTemp is a prelimiary set of administration tasks. It's called \"Temp\" because we do not yet know the best way to represent admin tasks; it's possible that this will be entirely replaced in later versions of this API. If this message proves to be sufficient, it will be renamed in the alpha or beta release of this API. This message (suitably marshalled into a protobuf.Any) can be used as the inline_assignment field in a lease; the lease assignment field should simply be `\"admin\"` in these cases. This message is heavily based on Swarming administration tasks from the LUCI project (http://github.com/luci/luci-py/appengine/swarming).",
       "id": "GoogleDevtoolsRemoteworkersV1test2AdminTemp",
       "properties": {
         "arg": {
@@ -1479,9 +1564,9 @@
           ],
           "enumDescriptions": [
             "Illegal value.",
-            "Download and run a new version of the bot. `arg` will be a resource\naccessible via `ByteStream.Read` to obtain the new bot code.",
-            "Restart the bot without downloading a new version. `arg` will be a\nmessage to log.",
-            "Shut down the bot. `arg` will be a task resource name (similar to those\nin tasks.proto) that the bot can use to tell the server that it is\nterminating.",
+            "Download and run a new version of the bot. `arg` will be a resource accessible via `ByteStream.Read` to obtain the new bot code.",
+            "Restart the bot without downloading a new version. `arg` will be a message to log.",
+            "Shut down the bot. `arg` will be a task resource name (similar to those in tasks.proto) that the bot can use to tell the server that it is terminating.",
             "Restart the host computer. `arg` will be a message to log."
           ],
           "type": "string"
@@ -1506,32 +1591,32 @@
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2CommandOutputs": {
-      "description": "DEPRECATED - use CommandResult instead.\nDescribes the actual outputs from the task.",
+      "description": "DEPRECATED - use CommandResult instead. Describes the actual outputs from the task.",
       "id": "GoogleDevtoolsRemoteworkersV1test2CommandOutputs",
       "properties": {
         "exitCode": {
-          "description": "exit_code is only fully reliable if the status' code is OK. If the task\nexceeded its deadline or was cancelled, the process may still produce an\nexit code as it is cancelled, and this will be populated, but a successful\n(zero) is unlikely to be correct unless the status code is OK.",
+          "description": "exit_code is only fully reliable if the status' code is OK. If the task exceeded its deadline or was cancelled, the process may still produce an exit code as it is cancelled, and this will be populated, but a successful (zero) is unlikely to be correct unless the status code is OK.",
           "format": "int32",
           "type": "integer"
         },
         "outputs": {
           "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest",
-          "description": "The output files. The blob referenced by the digest should contain\none of the following (implementation-dependent):\n   * A marshalled DirectoryMetadata of the returned filesystem\n   * A LUCI-style .isolated file"
+          "description": "The output files. The blob referenced by the digest should contain one of the following (implementation-dependent): * A marshalled DirectoryMetadata of the returned filesystem * A LUCI-style .isolated file"
         }
       },
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2CommandOverhead": {
-      "description": "DEPRECATED - use CommandResult instead.\nCan be used as part of CompleteRequest.metadata, or are part of a more\nsophisticated message.",
+      "description": "DEPRECATED - use CommandResult instead. Can be used as part of CompleteRequest.metadata, or are part of a more sophisticated message.",
       "id": "GoogleDevtoolsRemoteworkersV1test2CommandOverhead",
       "properties": {
         "duration": {
-          "description": "The elapsed time between calling Accept and Complete. The server will also\nhave its own idea of what this should be, but this excludes the overhead of\nthe RPCs and the bot response time.",
+          "description": "The elapsed time between calling Accept and Complete. The server will also have its own idea of what this should be, but this excludes the overhead of the RPCs and the bot response time.",
           "format": "google-duration",
           "type": "string"
         },
         "overhead": {
-          "description": "The amount of time *not* spent executing the command (ie\nuploading/downloading files).",
+          "description": "The amount of time *not* spent executing the command (ie uploading/downloading files).",
           "format": "google-duration",
           "type": "string"
         }
@@ -1539,21 +1624,21 @@
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2CommandResult": {
-      "description": "All information about the execution of a command, suitable for providing as\nthe Bots interface's `Lease.result` field.",
+      "description": "All information about the execution of a command, suitable for providing as the Bots interface's `Lease.result` field.",
       "id": "GoogleDevtoolsRemoteworkersV1test2CommandResult",
       "properties": {
         "duration": {
-          "description": "The elapsed time between calling Accept and Complete. The server will also\nhave its own idea of what this should be, but this excludes the overhead of\nthe RPCs and the bot response time.",
+          "description": "The elapsed time between calling Accept and Complete. The server will also have its own idea of what this should be, but this excludes the overhead of the RPCs and the bot response time.",
           "format": "google-duration",
           "type": "string"
         },
         "exitCode": {
-          "description": "The exit code of the process. An exit code of \"0\" should only be trusted if\n`status` has a code of OK (otherwise it may simply be unset).",
+          "description": "The exit code of the process. An exit code of \"0\" should only be trusted if `status` has a code of OK (otherwise it may simply be unset).",
           "format": "int32",
           "type": "integer"
         },
         "metadata": {
-          "description": "Implementation-dependent metadata about the task. Both servers and bots\nmay define messages which can be encoded here; bots are free to provide\nmetadata in multiple formats, and servers are free to choose one or more\nof the values to process and ignore others. In particular, it is *not*\nconsidered an error for the bot to provide the server with a field that it\ndoesn't know about.",
+          "description": "Implementation-dependent metadata about the task. Both servers and bots may define messages which can be encoded here; bots are free to provide metadata in multiple formats, and servers are free to choose one or more of the values to process and ignore others. In particular, it is *not* considered an error for the bot to provide the server with a field that it doesn't know about.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -1565,22 +1650,22 @@
         },
         "outputs": {
           "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest",
-          "description": "The output files. The blob referenced by the digest should contain\none of the following (implementation-dependent):\n   * A marshalled DirectoryMetadata of the returned filesystem\n   * A LUCI-style .isolated file"
+          "description": "The output files. The blob referenced by the digest should contain one of the following (implementation-dependent): * A marshalled DirectoryMetadata of the returned filesystem * A LUCI-style .isolated file"
         },
         "overhead": {
-          "description": "The amount of time *not* spent executing the command (ie\nuploading/downloading files).",
+          "description": "The amount of time *not* spent executing the command (ie uploading/downloading files).",
           "format": "google-duration",
           "type": "string"
         },
         "status": {
           "$ref": "GoogleRpcStatus",
-          "description": "An overall status for the command. For example, if the command timed out,\nthis might have a code of DEADLINE_EXCEEDED; if it was killed by the OS for\nmemory exhaustion, it might have a code of RESOURCE_EXHAUSTED."
+          "description": "An overall status for the command. For example, if the command timed out, this might have a code of DEADLINE_EXCEEDED; if it was killed by the OS for memory exhaustion, it might have a code of RESOURCE_EXHAUSTED."
         }
       },
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2CommandTask": {
-      "description": "Describes a shell-style task to execute, suitable for providing as the Bots\ninterface's `Lease.payload` field.",
+      "description": "Describes a shell-style task to execute, suitable for providing as the Bots interface's `Lease.payload` field.",
       "id": "GoogleDevtoolsRemoteworkersV1test2CommandTask",
       "properties": {
         "expectedOutputs": {
@@ -1603,7 +1688,7 @@
       "id": "GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs",
       "properties": {
         "arguments": {
-          "description": "The command itself to run (e.g., argv).\n\nThis field should be passed directly to the underlying operating system,\nand so it must be sensible to that operating system. For example, on\nWindows, the first argument might be \"C:\\Windows\\System32\\ping.exe\" -\nthat is, using drive letters and backslashes. A command for a *nix\nsystem, on the other hand, would use forward slashes.\n\nAll other fields in the RWAPI must consistently use forward slashes,\nsince those fields may be interpretted by both the service and the bot.",
+          "description": "The command itself to run (e.g., argv). This field should be passed directly to the underlying operating system, and so it must be sensible to that operating system. For example, on Windows, the first argument might be \"C:\\Windows\\System32\\ping.exe\" - that is, using drive letters and backslashes. A command for a *nix system, on the other hand, would use forward slashes. All other fields in the RWAPI must consistently use forward slashes, since those fields may be interpretted by both the service and the bot.",
           "items": {
             "type": "string"
           },
@@ -1617,21 +1702,21 @@
           "type": "array"
         },
         "files": {
-          "description": "The input filesystem to be set up prior to the task beginning. The\ncontents should be a repeated set of FileMetadata messages though other\nformats are allowed if better for the implementation (eg, a LUCI-style\n.isolated file).\n\nThis field is repeated since implementations might want to cache the\nmetadata, in which case it may be useful to break up portions of the\nfilesystem that change frequently (eg, specific input files) from those\nthat don't (eg, standard header files).",
+          "description": "The input filesystem to be set up prior to the task beginning. The contents should be a repeated set of FileMetadata messages though other formats are allowed if better for the implementation (eg, a LUCI-style .isolated file). This field is repeated since implementations might want to cache the metadata, in which case it may be useful to break up portions of the filesystem that change frequently (eg, specific input files) from those that don't (eg, standard header files).",
           "items": {
             "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest"
           },
           "type": "array"
         },
         "inlineBlobs": {
-          "description": "Inline contents for blobs expected to be needed by the bot to execute the\ntask. For example, contents of entries in `files` or blobs that are\nindirectly referenced by an entry there.\n\nThe bot should check against this list before downloading required task\ninputs to reduce the number of communications between itself and the\nremote CAS server.",
+          "description": "Inline contents for blobs expected to be needed by the bot to execute the task. For example, contents of entries in `files` or blobs that are indirectly referenced by an entry there. The bot should check against this list before downloading required task inputs to reduce the number of communications between itself and the remote CAS server.",
           "items": {
             "$ref": "GoogleDevtoolsRemoteworkersV1test2Blob"
           },
           "type": "array"
         },
         "workingDirectory": {
-          "description": "Directory from which a command is executed. It is a relative directory\nwith respect to the bot's working directory (i.e., \"./\"). If it is\nnon-empty, then it must exist under \"./\". Otherwise, \"./\" will be used.",
+          "description": "Directory from which a command is executed. It is a relative directory with respect to the bot's working directory (i.e., \"./\"). If it is non-empty, then it must exist under \"./\". Otherwise, \"./\" will be used.",
           "type": "string"
         }
       },
@@ -1657,25 +1742,25 @@
       "id": "GoogleDevtoolsRemoteworkersV1test2CommandTaskOutputs",
       "properties": {
         "directories": {
-          "description": "A list of expected directories, relative to the execution root. All paths\nMUST be delimited by forward slashes.",
+          "description": "A list of expected directories, relative to the execution root. All paths MUST be delimited by forward slashes.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "files": {
-          "description": "A list of expected files, relative to the execution root. All paths\nMUST be delimited by forward slashes.",
+          "description": "A list of expected files, relative to the execution root. All paths MUST be delimited by forward slashes.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "stderrDestination": {
-          "description": "The destination to which any stderr should be sent. The method by which\nthe bot should send the stream contents to that destination is not\ndefined in this API. As examples, the destination could be a file\nreferenced in the `files` field in this message, or it could be a URI\nthat must be written via the ByteStream API.",
+          "description": "The destination to which any stderr should be sent. The method by which the bot should send the stream contents to that destination is not defined in this API. As examples, the destination could be a file referenced in the `files` field in this message, or it could be a URI that must be written via the ByteStream API.",
           "type": "string"
         },
         "stdoutDestination": {
-          "description": "The destination to which any stdout should be sent. The method by which\nthe bot should send the stream contents to that destination is not\ndefined in this API. As examples, the destination could be a file\nreferenced in the `files` field in this message, or it could be a URI\nthat must be written via the ByteStream API.",
+          "description": "The destination to which any stdout should be sent. The method by which the bot should send the stream contents to that destination is not defined in this API. As examples, the destination could be a file referenced in the `files` field in this message, or it could be a URI that must be written via the ByteStream API.",
           "type": "string"
         }
       },
@@ -1686,17 +1771,17 @@
       "id": "GoogleDevtoolsRemoteworkersV1test2CommandTaskTimeouts",
       "properties": {
         "execution": {
-          "description": "This specifies the maximum time that the task can run, excluding the\ntime required to download inputs or upload outputs. That is, the worker\nwill terminate the task if it runs longer than this.",
+          "description": "This specifies the maximum time that the task can run, excluding the time required to download inputs or upload outputs. That is, the worker will terminate the task if it runs longer than this.",
           "format": "google-duration",
           "type": "string"
         },
         "idle": {
-          "description": "This specifies the maximum amount of time the task can be idle - that is,\ngo without generating some output in either stdout or stderr. If the\nprocess is silent for more than the specified time, the worker will\nterminate the task.",
+          "description": "This specifies the maximum amount of time the task can be idle - that is, go without generating some output in either stdout or stderr. If the process is silent for more than the specified time, the worker will terminate the task.",
           "format": "google-duration",
           "type": "string"
         },
         "shutdown": {
-          "description": "If the execution or IO timeouts are exceeded, the worker will try to\ngracefully terminate the task and return any existing logs. However,\ntasks may be hard-frozen in which case this process will fail. This\ntimeout specifies how long to wait for a terminated task to shut down\ngracefully (e.g. via SIGTERM) before we bring down the hammer (e.g.\nSIGKILL on *nix, CTRL_BREAK_EVENT on Windows).",
+          "description": "If the execution or IO timeouts are exceeded, the worker will try to gracefully terminate the task and return any existing logs. However, tasks may be hard-frozen in which case this process will fail. This timeout specifies how long to wait for a terminated task to shut down gracefully (e.g. via SIGTERM) before we bring down the hammer (e.g. SIGKILL on *nix, CTRL_BREAK_EVENT on Windows).",
           "format": "google-duration",
           "type": "string"
         }
@@ -1704,15 +1789,15 @@
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2Digest": {
-      "description": "The CommandTask and CommandResult messages assume the existence of a service\nthat can serve blobs of content, identified by a hash and size known as a\n\"digest.\" The method by which these blobs may be retrieved is not specified\nhere, but a model implementation is in the Remote Execution API's\n\"ContentAddressibleStorage\" interface.\n\nIn the context of the RWAPI, a Digest will virtually always refer to the\ncontents of a file or a directory. The latter is represented by the\nbyte-encoded Directory message.",
+      "description": "The CommandTask and CommandResult messages assume the existence of a service that can serve blobs of content, identified by a hash and size known as a \"digest.\" The method by which these blobs may be retrieved is not specified here, but a model implementation is in the Remote Execution API's \"ContentAddressibleStorage\" interface. In the context of the RWAPI, a Digest will virtually always refer to the contents of a file or a directory. The latter is represented by the byte-encoded Directory message.",
       "id": "GoogleDevtoolsRemoteworkersV1test2Digest",
       "properties": {
         "hash": {
-          "description": "A string-encoded hash (eg \"1a2b3c\", not the byte array [0x1a, 0x2b, 0x3c])\nusing an implementation-defined hash algorithm (eg SHA-256).",
+          "description": "A string-encoded hash (eg \"1a2b3c\", not the byte array [0x1a, 0x2b, 0x3c]) using an implementation-defined hash algorithm (eg SHA-256).",
           "type": "string"
         },
         "sizeBytes": {
-          "description": "The size of the contents. While this is not strictly required as part of an\nidentifier (after all, any given hash will have exactly one canonical\nsize), it's useful in almost all cases when one might want to send or\nretrieve blobs of content and is included here for this reason.",
+          "description": "The size of the contents. While this is not strictly required as part of an identifier (after all, any given hash will have exactly one canonical size), it's useful in almost all cases when one might want to send or retrieve blobs of content and is included here for this reason.",
           "format": "int64",
           "type": "string"
         }
@@ -1720,7 +1805,7 @@
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2Directory": {
-      "description": "The contents of a directory. Similar to the equivalent message in the Remote\nExecution API.",
+      "description": "The contents of a directory. Similar to the equivalent message in the Remote Execution API.",
       "id": "GoogleDevtoolsRemoteworkersV1test2Directory",
       "properties": {
         "directories": {
@@ -1741,12 +1826,12 @@
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata": {
-      "description": "The metadata for a directory. Similar to the equivalent message in the Remote\nExecution API.",
+      "description": "The metadata for a directory. Similar to the equivalent message in the Remote Execution API.",
       "id": "GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata",
       "properties": {
         "digest": {
           "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest",
-          "description": "A pointer to the contents of the directory, in the form of a marshalled\nDirectory message."
+          "description": "A pointer to the contents of the directory, in the form of a marshalled Directory message."
         },
         "path": {
           "description": "The path of the directory, as in FileMetadata.path.",
@@ -1756,24 +1841,24 @@
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2FileMetadata": {
-      "description": "The metadata for a file. Similar to the equivalent message in the Remote\nExecution API.",
+      "description": "The metadata for a file. Similar to the equivalent message in the Remote Execution API.",
       "id": "GoogleDevtoolsRemoteworkersV1test2FileMetadata",
       "properties": {
         "contents": {
-          "description": "If the file is small enough, its contents may also or alternatively be\nlisted here.",
+          "description": "If the file is small enough, its contents may also or alternatively be listed here.",
           "format": "byte",
           "type": "string"
         },
         "digest": {
           "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest",
-          "description": "A pointer to the contents of the file. The method by which a client\nretrieves the contents from a CAS system is not defined here."
+          "description": "A pointer to the contents of the file. The method by which a client retrieves the contents from a CAS system is not defined here."
         },
         "isExecutable": {
           "description": "Properties of the file",
           "type": "boolean"
         },
         "path": {
-          "description": "The path of this file. If this message is part of the\nCommandOutputs.outputs fields, the path is relative to the execution root\nand must correspond to an entry in CommandTask.outputs.files. If this\nmessage is part of a Directory message, then the path is relative to the\nroot of that directory. All paths MUST be delimited by forward slashes.",
+          "description": "The path of this file. If this message is part of the CommandOutputs.outputs fields, the path is relative to the execution root and must correspond to an entry in CommandTask.outputs.files. If this message is part of a Directory message, then the path is relative to the root of that directory. All paths MUST be delimited by forward slashes.",
           "type": "string"
         }
       },
@@ -1804,11 +1889,11 @@
       "type": "object"
     },
     "GoogleLongrunningOperation": {
-      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
+      "description": "This resource represents a long-running operation that is the result of a network API call.",
       "id": "GoogleLongrunningOperation",
       "properties": {
         "done": {
-          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
+          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
           "type": "boolean"
         },
         "error": {
@@ -1820,11 +1905,11 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "Service-specific metadata associated with the operation.  It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata.  Any method that returns a\nlong-running operation should document the metadata type, if any.",
+          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
           "type": "object"
         },
         "name": {
-          "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.",
+          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
           "type": "string"
         },
         "response": {
@@ -1832,20 +1917,20 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "The normal response of the operation in case of success.  If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`.  If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource.  For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name.  For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
+          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
           "type": "object"
         }
       },
       "type": "object"
     },
     "GoogleProtobufEmpty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "GoogleProtobufEmpty",
       "properties": {},
       "type": "object"
     },
     "GoogleRpcStatus": {
-      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "GoogleRpcStatus",
       "properties": {
         "code": {
@@ -1854,7 +1939,7 @@
           "type": "integer"
         },
         "details": {
-          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -1865,7 +1950,7 @@
           "type": "array"
         },
         "message": {
-          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
           "type": "string"
         }
       },
diff --git a/remotebuildexecution/v1/remotebuildexecution-gen.go b/remotebuildexecution/v1/remotebuildexecution-gen.go
index 7287cea..32acdc3 100644
--- a/remotebuildexecution/v1/remotebuildexecution-gen.go
+++ b/remotebuildexecution/v1/remotebuildexecution-gen.go
@@ -181,101 +181,60 @@
 }
 
 // BuildBazelRemoteExecutionV2Action: An `Action` captures all the
-// information about an execution which is required
-// to reproduce it.
-//
-// `Action`s are the core component of the [Execution] service. A
-// single
-// `Action` represents a repeatable action that can be performed by
-// the
+// information about an execution which is required to reproduce it.
+// `Action`s are the core component of the [Execution] service. A single
+// `Action` represents a repeatable action that can be performed by the
 // execution service. `Action`s can be succinctly identified by the
-// digest of
-// their wire format encoding and, once an `Action` has been executed,
-// will be
-// cached in the action cache. Future requests can then use the cached
-// result
-// rather than needing to run afresh.
-//
-// When a server completes execution of an
-// Action, it MAY choose to
-// cache the result in
-// the ActionCache unless
-// `do_not_cache` is `true`. Clients SHOULD expect the server to do so.
-// By
-// default, future calls to
-// Execute the same
-// `Action` will also serve their results from the cache. Clients must
-// take care
-// to understand the caching behaviour. Ideally, all `Action`s will
-// be
-// reproducible so that serving a result from cache is always desirable
-// and
-// correct.
+// digest of their wire format encoding and, once an `Action` has been
+// executed, will be cached in the action cache. Future requests can
+// then use the cached result rather than needing to run afresh. When a
+// server completes execution of an Action, it MAY choose to cache the
+// result in the ActionCache unless `do_not_cache` is `true`. Clients
+// SHOULD expect the server to do so. By default, future calls to
+// Execute the same `Action` will also serve their results from the
+// cache. Clients must take care to understand the caching behaviour.
+// Ideally, all `Action`s will be reproducible so that serving a result
+// from cache is always desirable and correct.
 type BuildBazelRemoteExecutionV2Action struct {
-	// CommandDigest: The digest of the Command
-	// to run, which MUST be present in the
-	// ContentAddressableStorage.
+	// CommandDigest: The digest of the Command to run, which MUST be
+	// present in the ContentAddressableStorage.
 	CommandDigest *BuildBazelRemoteExecutionV2Digest `json:"commandDigest,omitempty"`
 
 	// DoNotCache: If true, then the `Action`'s result cannot be cached, and
-	// in-flight
-	// requests for the same `Action` may not be merged.
+	// in-flight requests for the same `Action` may not be merged.
 	DoNotCache bool `json:"doNotCache,omitempty"`
 
-	// InputRootDigest: The digest of the root
-	// Directory for the input
-	// files. The files in the directory tree are available in the
-	// correct
+	// InputRootDigest: The digest of the root Directory for the input
+	// files. The files in the directory tree are available in the correct
 	// location on the build machine before the command is executed. The
-	// root
-	// directory, as well as every subdirectory and content blob referred
-	// to, MUST
-	// be in the
-	// ContentAddressableStorage.
+	// root directory, as well as every subdirectory and content blob
+	// referred to, MUST be in the ContentAddressableStorage.
 	InputRootDigest *BuildBazelRemoteExecutionV2Digest `json:"inputRootDigest,omitempty"`
 
-	// OutputNodeProperties: List of required supported NodeProperty
-	// keys. In order to ensure that equivalent `Action`s always hash to the
-	// same
+	// OutputNodeProperties: List of required supported NodeProperty keys.
+	// In order to ensure that equivalent `Action`s always hash to the same
 	// value, the supported node properties MUST be lexicographically sorted
-	// by name.
-	// Sorting of strings is done by code point, equivalently, by the UTF-8
-	// bytes.
-	//
-	// The interpretation of these properties is server-dependent. If a
-	// property is
-	// not recognized by the server, the server will return an
-	// `INVALID_ARGUMENT`
-	// error.
+	// by name. Sorting of strings is done by code point, equivalently, by
+	// the UTF-8 bytes. The interpretation of these properties is
+	// server-dependent. If a property is not recognized by the server, the
+	// server will return an `INVALID_ARGUMENT` error.
 	OutputNodeProperties []string `json:"outputNodeProperties,omitempty"`
 
 	// Timeout: A timeout after which the execution should be killed. If the
-	// timeout is
-	// absent, then the client is specifying that the execution should
-	// continue
-	// as long as the server will let it. The server SHOULD impose a timeout
-	// if
-	// the client does not specify one, however, if the client does specify
-	// a
-	// timeout that is longer than the server's maximum timeout, the server
-	// MUST
-	// reject the request.
-	//
-	// The timeout is a part of the
-	// Action message, and
-	// therefore two `Actions` with different timeouts are different, even
-	// if they
-	// are otherwise identical. This is because, if they were not, running
-	// an
-	// `Action` with a lower timeout than is required might result in a
-	// cache hit
-	// from an execution run with a longer timeout, hiding the fact that
-	// the
+	// timeout is absent, then the client is specifying that the execution
+	// should continue as long as the server will let it. The server SHOULD
+	// impose a timeout if the client does not specify one, however, if the
+	// client does specify a timeout that is longer than the server's
+	// maximum timeout, the server MUST reject the request. The timeout is a
+	// part of the Action message, and therefore two `Actions` with
+	// different timeouts are different, even if they are otherwise
+	// identical. This is because, if they were not, running an `Action`
+	// with a lower timeout than is required might result in a cache hit
+	// from an execution run with a longer timeout, hiding the fact that the
 	// timeout is too short. By encoding it directly in the `Action`, a
-	// lower
-	// timeout will result in a cache miss and the execution timeout will
-	// fail
-	// immediately, rather than whenever the cache entry gets evicted.
+	// lower timeout will result in a cache miss and the execution timeout
+	// will fail immediately, rather than whenever the cache entry gets
+	// evicted.
 	Timeout string `json:"timeout,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CommandDigest") to
@@ -302,8 +261,7 @@
 }
 
 // BuildBazelRemoteExecutionV2ActionResult: An ActionResult represents
-// the result of an
-// Action being run.
+// the result of an Action being run.
 type BuildBazelRemoteExecutionV2ActionResult struct {
 	// ExecutionMetadata: The details of the execution that originally
 	// produced this result.
@@ -313,220 +271,117 @@
 	ExitCode int64 `json:"exitCode,omitempty"`
 
 	// OutputDirectories: The output directories of the action. For each
-	// output directory requested
-	// in the `output_directories` or `output_paths` field of the Action, if
-	// the
-	// corresponding directory existed after the action completed, a single
-	// entry
-	// will be present in the output list, which will contain the digest of
-	// a
-	// Tree message containing the
-	// directory tree, and the path equal exactly to the corresponding
-	// Action
-	// output_directories member.
-	//
-	// As an example, suppose the Action had an output directory `a/b/dir`
-	// and the
+	// output directory requested in the `output_directories` or
+	// `output_paths` field of the Action, if the corresponding directory
+	// existed after the action completed, a single entry will be present in
+	// the output list, which will contain the digest of a Tree message
+	// containing the directory tree, and the path equal exactly to the
+	// corresponding Action output_directories member. As an example,
+	// suppose the Action had an output directory `a/b/dir` and the
 	// execution produced the following contents in `a/b/dir`: a file named
-	// `bar`
-	// and a directory named `foo` with an executable file named `baz`.
-	// Then,
-	// output_directory will contain (hashes shortened for
-	// readability):
-	//
-	// ```json
-	// // OutputDirectory proto:
-	// {
-	//   path: "a/b/dir"
-	//   tree_digest: {
-	//     hash: "4a73bc9d03...",
-	//     size: 55
-	//   }
-	// }
-	// // Tree proto with hash "4a73bc9d03..." and size 55:
-	// {
-	//   root: {
-	//     files: [
-	//       {
-	//         name: "bar",
-	//         digest: {
-	//           hash: "4a73bc9d03...",
-	//           size: 65534
-	//         }
-	//       }
-	//     ],
-	//     directories: [
-	//       {
-	//         name: "foo",
-	//         digest: {
-	//           hash: "4cf2eda940...",
-	//           size: 43
-	//         }
-	//       }
-	//     ]
-	//   }
-	//   children : {
-	//     // (Directory proto with hash "4cf2eda940..." and size 43)
-	//     files: [
-	//       {
-	//         name: "baz",
-	//         digest: {
-	//           hash: "b2c941073e...",
-	//           size: 1294,
-	//         },
-	//         is_executable: true
-	//       }
-	//     ]
-	//   }
-	// }
-	// ```
-	// If an output of the same name as listed in `output_files` of
-	// the Command was found in `output_directories`, but was not a
-	// directory, the
-	// server will return a FAILED_PRECONDITION.
+	// `bar` and a directory named `foo` with an executable file named
+	// `baz`. Then, output_directory will contain (hashes shortened for
+	// readability): ```json // OutputDirectory proto: { path: "a/b/dir"
+	// tree_digest: { hash: "4a73bc9d03...", size: 55 } } // Tree proto with
+	// hash "4a73bc9d03..." and size 55: { root: { files: [ { name: "bar",
+	// digest: { hash: "4a73bc9d03...", size: 65534 } } ], directories: [ {
+	// name: "foo", digest: { hash: "4cf2eda940...", size: 43 } } ] }
+	// children : { // (Directory proto with hash "4cf2eda940..." and size
+	// 43) files: [ { name: "baz", digest: { hash: "b2c941073e...", size:
+	// 1294, }, is_executable: true } ] } } ``` If an output of the same
+	// name as listed in `output_files` of the Command was found in
+	// `output_directories`, but was not a directory, the server will return
+	// a FAILED_PRECONDITION.
 	OutputDirectories []*BuildBazelRemoteExecutionV2OutputDirectory `json:"outputDirectories,omitempty"`
 
 	// OutputDirectorySymlinks: The output directories of the action that
-	// are symbolic links to other
-	// directories. Those may be links to other output directories, or
-	// input
-	// directories, or even absolute paths outside of the working
-	// directory,
-	// if the server supports
-	// SymlinkAbsolutePathStrategy.ALLOWED.
-	// For each output directory requested in the `output_directories` field
-	// of
-	// the Action, if the directory existed after the action completed,
-	// a
-	// single entry will be present either in this field, or in
-	// the
-	// `output_directories` field, if the directory was not a symbolic
-	// link.
-	//
-	// If an output of the same name was found, but was a symbolic link to a
-	// file
-	// instead of a directory, the server will return a
-	// FAILED_PRECONDITION.
-	// If the action does not produce the requested output, then that
-	// output
-	// will be omitted from the list. The server is free to arrange the
-	// output
+	// are symbolic links to other directories. Those may be links to other
+	// output directories, or input directories, or even absolute paths
+	// outside of the working directory, if the server supports
+	// SymlinkAbsolutePathStrategy.ALLOWED. For each output directory
+	// requested in the `output_directories` field of the Action, if the
+	// directory existed after the action completed, a single entry will be
+	// present either in this field, or in the `output_directories` field,
+	// if the directory was not a symbolic link. If an output of the same
+	// name was found, but was a symbolic link to a file instead of a
+	// directory, the server will return a FAILED_PRECONDITION. If the
+	// action does not produce the requested output, then that output will
+	// be omitted from the list. The server is free to arrange the output
 	// list as desired; clients MUST NOT assume that the output list is
-	// sorted.
-	//
-	// DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0
-	// API
-	// should still populate this field in addition to `output_symlinks`.
+	// sorted. DEPRECATED as of v2.1. Servers that wish to be compatible
+	// with v2.0 API should still populate this field in addition to
+	// `output_symlinks`.
 	OutputDirectorySymlinks []*BuildBazelRemoteExecutionV2OutputSymlink `json:"outputDirectorySymlinks,omitempty"`
 
 	// OutputFileSymlinks: The output files of the action that are symbolic
-	// links to other files. Those
-	// may be links to other output files, or input files, or even absolute
-	// paths
-	// outside of the working directory, if the server
-	// supports
-	// SymlinkAbsolutePathStrategy.ALLOWED.
-	// For each output file requested in the `output_files` or
-	// `output_paths`
-	// field of the Action, if the corresponding file existed after
-	// the action completed, a single entry will be present either in this
-	// field,
-	// or in the `output_files` field, if the file was not a symbolic
-	// link.
-	//
-	// If an output symbolic link of the same name as listed in
-	// `output_files` of
+	// links to other files. Those may be links to other output files, or
+	// input files, or even absolute paths outside of the working directory,
+	// if the server supports SymlinkAbsolutePathStrategy.ALLOWED. For each
+	// output file requested in the `output_files` or `output_paths` field
+	// of the Action, if the corresponding file existed after the action
+	// completed, a single entry will be present either in this field, or in
+	// the `output_files` field, if the file was not a symbolic link. If an
+	// output symbolic link of the same name as listed in `output_files` of
 	// the Command was found, but its target type was not a regular file,
-	// the
-	// server will return a FAILED_PRECONDITION.
-	// If the action does not produce the requested output, then that
-	// output
-	// will be omitted from the list. The server is free to arrange the
-	// output
-	// list as desired; clients MUST NOT assume that the output list is
-	// sorted.
-	//
-	// DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0
-	// API
-	// should still populate this field in addition to `output_symlinks`.
+	// the server will return a FAILED_PRECONDITION. If the action does not
+	// produce the requested output, then that output will be omitted from
+	// the list. The server is free to arrange the output list as desired;
+	// clients MUST NOT assume that the output list is sorted. DEPRECATED as
+	// of v2.1. Servers that wish to be compatible with v2.0 API should
+	// still populate this field in addition to `output_symlinks`.
 	OutputFileSymlinks []*BuildBazelRemoteExecutionV2OutputSymlink `json:"outputFileSymlinks,omitempty"`
 
 	// OutputFiles: The output files of the action. For each output file
-	// requested in the
-	// `output_files` or `output_paths` field of the Action, if the
-	// corresponding
-	// file existed after the action completed, a single entry will be
-	// present
-	// either in this field, or the `output_file_symlinks` field if the file
-	// was
-	// a symbolic link to another file (`output_symlinks` field after
-	// v2.1).
-	//
-	// If an output listed in `output_files` was found, but was a directory
-	// rather
-	// than a regular file, the server will return a FAILED_PRECONDITION.
-	// If the action does not produce the requested output, then that
-	// output
-	// will be omitted from the list. The server is free to arrange the
-	// output
+	// requested in the `output_files` or `output_paths` field of the
+	// Action, if the corresponding file existed after the action completed,
+	// a single entry will be present either in this field, or the
+	// `output_file_symlinks` field if the file was a symbolic link to
+	// another file (`output_symlinks` field after v2.1). If an output
+	// listed in `output_files` was found, but was a directory rather than a
+	// regular file, the server will return a FAILED_PRECONDITION. If the
+	// action does not produce the requested output, then that output will
+	// be omitted from the list. The server is free to arrange the output
 	// list as desired; clients MUST NOT assume that the output list is
 	// sorted.
 	OutputFiles []*BuildBazelRemoteExecutionV2OutputFile `json:"outputFiles,omitempty"`
 
 	// OutputSymlinks: New in v2.1: this field will only be populated if the
-	// command
-	// `output_paths` field was used, and not the pre v2.1 `output_files`
-	// or
-	// `output_directories` fields.
-	// The output paths of the action that are symbolic links to other
-	// paths. Those
-	// may be links to other outputs, or inputs, or even absolute
-	// paths
-	// outside of the working directory, if the server
-	// supports
-	// SymlinkAbsolutePathStrategy.ALLOWED.
-	// A single entry for each output requested in `output_paths`
-	// field of the Action, if the corresponding path existed after
-	// the action completed and was a symbolic link.
-	//
-	// If the action does not produce a requested output, then that
-	// output
-	// will be omitted from the list. The server is free to arrange the
-	// output
+	// command `output_paths` field was used, and not the pre v2.1
+	// `output_files` or `output_directories` fields. The output paths of
+	// the action that are symbolic links to other paths. Those may be links
+	// to other outputs, or inputs, or even absolute paths outside of the
+	// working directory, if the server supports
+	// SymlinkAbsolutePathStrategy.ALLOWED. A single entry for each output
+	// requested in `output_paths` field of the Action, if the corresponding
+	// path existed after the action completed and was a symbolic link. If
+	// the action does not produce a requested output, then that output will
+	// be omitted from the list. The server is free to arrange the output
 	// list as desired; clients MUST NOT assume that the output list is
 	// sorted.
 	OutputSymlinks []*BuildBazelRemoteExecutionV2OutputSymlink `json:"outputSymlinks,omitempty"`
 
 	// StderrDigest: The digest for a blob containing the standard error of
-	// the action, which
-	// can be retrieved from the
+	// the action, which can be retrieved from the
 	// ContentAddressableStorage.
 	StderrDigest *BuildBazelRemoteExecutionV2Digest `json:"stderrDigest,omitempty"`
 
 	// StderrRaw: The standard error buffer of the action. The server SHOULD
-	// NOT inline
-	// stderr unless requested by the client in
-	// the
-	// GetActionResultRequest
-	// message. The server MAY omit inlining, even if requested, and MUST do
-	// so if inlining
-	// would cause the response to exceed message size limits.
+	// NOT inline stderr unless requested by the client in the
+	// GetActionResultRequest message. The server MAY omit inlining, even if
+	// requested, and MUST do so if inlining would cause the response to
+	// exceed message size limits.
 	StderrRaw string `json:"stderrRaw,omitempty"`
 
 	// StdoutDigest: The digest for a blob containing the standard output of
-	// the action, which
-	// can be retrieved from the
+	// the action, which can be retrieved from the
 	// ContentAddressableStorage.
 	StdoutDigest *BuildBazelRemoteExecutionV2Digest `json:"stdoutDigest,omitempty"`
 
 	// StdoutRaw: The standard output buffer of the action. The server
-	// SHOULD NOT inline
-	// stdout unless requested by the client in
-	// the
-	// GetActionResultRequest
-	// message. The server MAY omit inlining, even if requested, and MUST do
-	// so if inlining
-	// would cause the response to exceed message size limits.
+	// SHOULD NOT inline stdout unless requested by the client in the
+	// GetActionResultRequest message. The server MAY omit inlining, even if
+	// requested, and MUST do so if inlining would cause the response to
+	// exceed message size limits.
 	StdoutRaw string `json:"stdoutRaw,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ExecutionMetadata")
@@ -554,185 +409,104 @@
 }
 
 // BuildBazelRemoteExecutionV2Command: A `Command` is the actual command
-// executed by a worker running an
-// Action and specifications of its
-// environment.
-//
-// Except as otherwise required, the environment (such as which
-// system
-// libraries or binaries are available, and what filesystems are mounted
-// where)
-// is defined by and specific to the implementation of the remote
-// execution API.
+// executed by a worker running an Action and specifications of its
+// environment. Except as otherwise required, the environment (such as
+// which system libraries or binaries are available, and what
+// filesystems are mounted where) is defined by and specific to the
+// implementation of the remote execution API.
 type BuildBazelRemoteExecutionV2Command struct {
 	// Arguments: The arguments to the command. The first argument must be
-	// the path to the
-	// executable, which must be either a relative path, in which case it
-	// is
-	// evaluated with respect to the input root, or an absolute path.
+	// the path to the executable, which must be either a relative path, in
+	// which case it is evaluated with respect to the input root, or an
+	// absolute path.
 	Arguments []string `json:"arguments,omitempty"`
 
 	// EnvironmentVariables: The environment variables to set when running
-	// the program. The worker may
-	// provide its own default environment variables; these defaults can
-	// be
-	// overridden using this field. Additional variables can also be
-	// specified.
-	//
-	// In order to ensure that equivalent
-	// Commands always hash to the same
-	// value, the environment variables MUST be lexicographically sorted by
-	// name.
-	// Sorting of strings is done by code point, equivalently, by the UTF-8
-	// bytes.
+	// the program. The worker may provide its own default environment
+	// variables; these defaults can be overridden using this field.
+	// Additional variables can also be specified. In order to ensure that
+	// equivalent Commands always hash to the same value, the environment
+	// variables MUST be lexicographically sorted by name. Sorting of
+	// strings is done by code point, equivalently, by the UTF-8 bytes.
 	EnvironmentVariables []*BuildBazelRemoteExecutionV2CommandEnvironmentVariable `json:"environmentVariables,omitempty"`
 
 	// OutputDirectories: A list of the output directories that the client
-	// expects to retrieve from
-	// the action. Only the listed directories will be returned (an
-	// entire
-	// directory structure will be returned as a
-	// Tree message digest, see
-	// OutputDirectory), as
-	// well as files listed in `output_files`. Other files or directories
-	// that
-	// may be created during command execution are discarded.
-	//
-	// The paths are relative to the working directory of the action
-	// execution.
-	// The paths are specified using a single forward slash (`/`) as a
-	// path
-	// separator, even if the execution platform natively uses a
-	// different
-	// separator. The path MUST NOT include a trailing slash, nor a leading
-	// slash,
-	// being a relative path. The special value of empty string is
-	// allowed,
-	// although not recommended, and can be used to capture the entire
-	// working
-	// directory tree, including inputs.
-	//
-	// In order to ensure consistent hashing of the same Action, the output
-	// paths
-	// MUST be sorted lexicographically by code point (or, equivalently, by
-	// UTF-8
-	// bytes).
-	//
-	// An output directory cannot be duplicated or have the same path as any
-	// of
-	// the listed output files. An output directory is allowed to be a
-	// parent of
-	// another output directory.
-	//
-	// Directories leading up to the output directories (but not the
-	// output
-	// directories themselves) are created by the worker prior to execution,
-	// even
-	// if they are not explicitly part of the input root.
-	//
-	// DEPRECATED since 2.1: Use `output_paths` instead.
+	// expects to retrieve from the action. Only the listed directories will
+	// be returned (an entire directory structure will be returned as a Tree
+	// message digest, see OutputDirectory), as well as files listed in
+	// `output_files`. Other files or directories that may be created during
+	// command execution are discarded. The paths are relative to the
+	// working directory of the action execution. The paths are specified
+	// using a single forward slash (`/`) as a path separator, even if the
+	// execution platform natively uses a different separator. The path MUST
+	// NOT include a trailing slash, nor a leading slash, being a relative
+	// path. The special value of empty string is allowed, although not
+	// recommended, and can be used to capture the entire working directory
+	// tree, including inputs. In order to ensure consistent hashing of the
+	// same Action, the output paths MUST be sorted lexicographically by
+	// code point (or, equivalently, by UTF-8 bytes). An output directory
+	// cannot be duplicated or have the same path as any of the listed
+	// output files. An output directory is allowed to be a parent of
+	// another output directory. Directories leading up to the output
+	// directories (but not the output directories themselves) are created
+	// by the worker prior to execution, even if they are not explicitly
+	// part of the input root. DEPRECATED since 2.1: Use `output_paths`
+	// instead.
 	OutputDirectories []string `json:"outputDirectories,omitempty"`
 
 	// OutputFiles: A list of the output files that the client expects to
-	// retrieve from the
-	// action. Only the listed files, as well as directories listed
-	// in
-	// `output_directories`, will be returned to the client as output.
-	// Other files or directories that may be created during command
-	// execution
-	// are discarded.
-	//
-	// The paths are relative to the working directory of the action
-	// execution.
-	// The paths are specified using a single forward slash (`/`) as a
-	// path
-	// separator, even if the execution platform natively uses a
-	// different
-	// separator. The path MUST NOT include a trailing slash, nor a leading
-	// slash,
-	// being a relative path.
-	//
-	// In order to ensure consistent hashing of the same Action, the output
-	// paths
-	// MUST be sorted lexicographically by code point (or, equivalently, by
-	// UTF-8
-	// bytes).
-	//
-	// An output file cannot be duplicated, be a parent of another output
-	// file, or
-	// have the same path as any of the listed output
-	// directories.
-	//
-	// Directories leading up to the output files are created by the worker
-	// prior
-	// to execution, even if they are not explicitly part of the input
-	// root.
-	//
-	// DEPRECATED since v2.1: Use `output_paths` instead.
+	// retrieve from the action. Only the listed files, as well as
+	// directories listed in `output_directories`, will be returned to the
+	// client as output. Other files or directories that may be created
+	// during command execution are discarded. The paths are relative to the
+	// working directory of the action execution. The paths are specified
+	// using a single forward slash (`/`) as a path separator, even if the
+	// execution platform natively uses a different separator. The path MUST
+	// NOT include a trailing slash, nor a leading slash, being a relative
+	// path. In order to ensure consistent hashing of the same Action, the
+	// output paths MUST be sorted lexicographically by code point (or,
+	// equivalently, by UTF-8 bytes). An output file cannot be duplicated,
+	// be a parent of another output file, or have the same path as any of
+	// the listed output directories. Directories leading up to the output
+	// files are created by the worker prior to execution, even if they are
+	// not explicitly part of the input root. DEPRECATED since v2.1: Use
+	// `output_paths` instead.
 	OutputFiles []string `json:"outputFiles,omitempty"`
 
 	// OutputPaths: A list of the output paths that the client expects to
-	// retrieve from the
-	// action. Only the listed paths will be returned to the client as
-	// output.
-	// The type of the output (file or directory) is not specified, and will
-	// be
-	// determined by the server after action execution. If the resulting
-	// path is
-	// a file, it will be returned in an
-	// OutputFile) typed field.
-	// If the path is a directory, the entire directory structure will be
-	// returned
-	// as a Tree message digest, see
-	// OutputDirectory)
-	// Other files or directories that may be created during command
-	// execution
-	// are discarded.
-	//
-	// The paths are relative to the working directory of the action
-	// execution.
-	// The paths are specified using a single forward slash (`/`) as a
-	// path
-	// separator, even if the execution platform natively uses a
-	// different
-	// separator. The path MUST NOT include a trailing slash, nor a leading
-	// slash,
-	// being a relative path.
-	//
-	// In order to ensure consistent hashing of the same Action, the output
-	// paths
-	// MUST be deduplicated and sorted lexicographically by code point
-	// (or,
-	// equivalently, by UTF-8 bytes).
-	//
-	// Directories leading up to the output paths are created by the worker
-	// prior
-	// to execution, even if they are not explicitly part of the input
-	// root.
-	//
-	// New in v2.1: this field supersedes the DEPRECATED `output_files`
-	// and
+	// retrieve from the action. Only the listed paths will be returned to
+	// the client as output. The type of the output (file or directory) is
+	// not specified, and will be determined by the server after action
+	// execution. If the resulting path is a file, it will be returned in an
+	// OutputFile) typed field. If the path is a directory, the entire
+	// directory structure will be returned as a Tree message digest, see
+	// OutputDirectory) Other files or directories that may be created
+	// during command execution are discarded. The paths are relative to the
+	// working directory of the action execution. The paths are specified
+	// using a single forward slash (`/`) as a path separator, even if the
+	// execution platform natively uses a different separator. The path MUST
+	// NOT include a trailing slash, nor a leading slash, being a relative
+	// path. In order to ensure consistent hashing of the same Action, the
+	// output paths MUST be deduplicated and sorted lexicographically by
+	// code point (or, equivalently, by UTF-8 bytes). Directories leading up
+	// to the output paths are created by the worker prior to execution,
+	// even if they are not explicitly part of the input root. New in v2.1:
+	// this field supersedes the DEPRECATED `output_files` and
 	// `output_directories` fields. If `output_paths` is used,
-	// `output_files` and
-	// `output_directories` will be ignored!
+	// `output_files` and `output_directories` will be ignored!
 	OutputPaths []string `json:"outputPaths,omitempty"`
 
 	// Platform: The platform requirements for the execution environment.
-	// The server MAY
-	// choose to execute the action on any worker satisfying the
-	// requirements, so
-	// the client SHOULD ensure that running the action on any such worker
-	// will
-	// have the same result.
-	// A detailed lexicon for this can be found in the accompanying
-	// platform.md.
+	// The server MAY choose to execute the action on any worker satisfying
+	// the requirements, so the client SHOULD ensure that running the action
+	// on any such worker will have the same result. A detailed lexicon for
+	// this can be found in the accompanying platform.md.
 	Platform *BuildBazelRemoteExecutionV2Platform `json:"platform,omitempty"`
 
 	// WorkingDirectory: The working directory, relative to the input root,
-	// for the command to run
-	// in. It must be a directory which exists in the input tree. If it is
-	// left
-	// empty, then the action is run in the input root.
+	// for the command to run in. It must be a directory which exists in the
+	// input tree. If it is left empty, then the action is run in the input
+	// root.
 	WorkingDirectory string `json:"workingDirectory,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Arguments") to
@@ -759,8 +533,7 @@
 }
 
 // BuildBazelRemoteExecutionV2CommandEnvironmentVariable: An
-// `EnvironmentVariable` is one variable to set in the running
-// program's
+// `EnvironmentVariable` is one variable to set in the running program's
 // environment.
 type BuildBazelRemoteExecutionV2CommandEnvironmentVariable struct {
 	// Name: The variable name.
@@ -793,61 +566,35 @@
 }
 
 // BuildBazelRemoteExecutionV2Digest: A content digest. A digest for a
-// given blob consists of the size of the blob
-// and its hash. The hash algorithm to use is defined by the
-// server.
-//
-// The size is considered to be an integral part of the digest and
-// cannot be
-// separated. That is, even if the `hash` field is correctly specified
-// but
-// `size_bytes` is not, the server MUST reject the request.
-//
-// The reason for including the size in the digest is as follows: in a
-// great
-// many cases, the server needs to know the size of the blob it is about
-// to work
-// with prior to starting an operation with it, such as flattening
-// Merkle tree
-// structures or streaming it to a worker. Technically, the server
-// could
+// given blob consists of the size of the blob and its hash. The hash
+// algorithm to use is defined by the server. The size is considered to
+// be an integral part of the digest and cannot be separated. That is,
+// even if the `hash` field is correctly specified but `size_bytes` is
+// not, the server MUST reject the request. The reason for including the
+// size in the digest is as follows: in a great many cases, the server
+// needs to know the size of the blob it is about to work with prior to
+// starting an operation with it, such as flattening Merkle tree
+// structures or streaming it to a worker. Technically, the server could
 // implement a separate metadata store, but this results in a
-// significantly more
-// complicated implementation as opposed to having the client specify
-// the size
-// up-front (or storing the size along with the digest in every message
-// where
-// digests are embedded). This does mean that the API leaks some
-// implementation
-// details of (what we consider to be) a reasonable server
-// implementation, but
-// we consider this to be a worthwhile tradeoff.
-//
-// When a `Digest` is used to refer to a proto message, it always refers
-// to the
-// message in binary encoded form. To ensure consistent hashing, clients
-// and
-// servers MUST ensure that they serialize messages according to the
-// following
-// rules, even if there are alternate valid encodings for the same
-// message:
-//
-// * Fields are serialized in tag order.
-// * There are no unknown fields.
-// * There are no duplicate fields.
-// * Fields are serialized according to the default semantics for their
-// type.
-//
-// Most protocol buffer implementations will always follow these rules
-// when
-// serializing, but care should be taken to avoid shortcuts. For
-// instance,
-// concatenating two messages to merge them may produce duplicate
-// fields.
+// significantly more complicated implementation as opposed to having
+// the client specify the size up-front (or storing the size along with
+// the digest in every message where digests are embedded). This does
+// mean that the API leaks some implementation details of (what we
+// consider to be) a reasonable server implementation, but we consider
+// this to be a worthwhile tradeoff. When a `Digest` is used to refer to
+// a proto message, it always refers to the message in binary encoded
+// form. To ensure consistent hashing, clients and servers MUST ensure
+// that they serialize messages according to the following rules, even
+// if there are alternate valid encodings for the same message: * Fields
+// are serialized in tag order. * There are no unknown fields. * There
+// are no duplicate fields. * Fields are serialized according to the
+// default semantics for their type. Most protocol buffer
+// implementations will always follow these rules when serializing, but
+// care should be taken to avoid shortcuts. For instance, concatenating
+// two messages to merge them may produce duplicate fields.
 type BuildBazelRemoteExecutionV2Digest struct {
 	// Hash: The hash. In the case of SHA-256, it will always be a lowercase
-	// hex string
-	// exactly 64 characters long.
+	// hex string exactly 64 characters long.
 	Hash string `json:"hash,omitempty"`
 
 	// SizeBytes: The size of the blob, in bytes.
@@ -877,97 +624,36 @@
 }
 
 // BuildBazelRemoteExecutionV2Directory: A `Directory` represents a
-// directory node in a file tree, containing zero or
-// more children FileNodes,
-// DirectoryNodes and
-// SymlinkNodes.
-// Each `Node` contains its name in the directory, either the digest of
-// its
-// content (either a file blob or a `Directory` proto) or a symlink
-// target, as
-// well as possibly some metadata about the file or directory.
-//
-// In order to ensure that two equivalent directory trees hash to the
-// same
-// value, the following restrictions MUST be obeyed when constructing
-// a
-// a `Directory`:
-//
-// * Every child in the directory must have a path of exactly one
-// segment.
-//   Multiple levels of directory hierarchy may not be collapsed.
-// * Each child in the directory must have a unique path segment (file
-// name).
-//   Note that while the API itself is case-sensitive, the environment
-// where
-//   the Action is executed may or may not be case-sensitive. That is,
-// it is
-//   legal to call the API with a Directory that has both "Foo" and
-// "foo" as
-//   children, but the Action may be rejected by the remote system upon
-//   execution.
-// * The files, directories and symlinks in the directory must each be
-// sorted
-//   in lexicographical order by path. The path strings must be sorted
-// by code
-//   point, equivalently, by UTF-8 bytes.
-// * The NodeProperties of files,
-//   directories, and symlinks must be sorted in lexicographical order
-// by
-//   property name.
-//
-// A `Directory` that obeys the restrictions is said to be in canonical
-// form.
-//
-// As an example, the following could be used for a file named `bar` and
-// a
-// directory named `foo` with an executable file named `baz` (hashes
-// shortened
-// for readability):
-//
-// ```json
-// // (Directory proto)
-// {
-//   files: [
-//     {
-//       name: "bar",
-//       digest: {
-//         hash: "4a73bc9d03...",
-//         size: 65534
-//       },
-//       node_properties: [
-//         {
-//           "name": "MTime",
-//           "value": "2017-01-15T01:30:15.01Z"
-//         }
-//       ]
-//     }
-//   ],
-//   directories: [
-//     {
-//       name: "foo",
-//       digest: {
-//         hash: "4cf2eda940...",
-//         size: 43
-//       }
-//     }
-//   ]
-// }
-//
-// // (Directory proto with hash "4cf2eda940..." and size 43)
-// {
-//   files: [
-//     {
-//       name: "baz",
-//       digest: {
-//         hash: "b2c941073e...",
-//         size: 1294,
-//       },
-//       is_executable: true
-//     }
-//   ]
-// }
-// ```
+// directory node in a file tree, containing zero or more children
+// FileNodes, DirectoryNodes and SymlinkNodes. Each `Node` contains its
+// name in the directory, either the digest of its content (either a
+// file blob or a `Directory` proto) or a symlink target, as well as
+// possibly some metadata about the file or directory. In order to
+// ensure that two equivalent directory trees hash to the same value,
+// the following restrictions MUST be obeyed when constructing a a
+// `Directory`: * Every child in the directory must have a path of
+// exactly one segment. Multiple levels of directory hierarchy may not
+// be collapsed. * Each child in the directory must have a unique path
+// segment (file name). Note that while the API itself is
+// case-sensitive, the environment where the Action is executed may or
+// may not be case-sensitive. That is, it is legal to call the API with
+// a Directory that has both "Foo" and "foo" as children, but the Action
+// may be rejected by the remote system upon execution. * The files,
+// directories and symlinks in the directory must each be sorted in
+// lexicographical order by path. The path strings must be sorted by
+// code point, equivalently, by UTF-8 bytes. * The NodeProperties of
+// files, directories, and symlinks must be sorted in lexicographical
+// order by property name. A `Directory` that obeys the restrictions is
+// said to be in canonical form. As an example, the following could be
+// used for a file named `bar` and a directory named `foo` with an
+// executable file named `baz` (hashes shortened for readability):
+// ```json // (Directory proto) { files: [ { name: "bar", digest: {
+// hash: "4a73bc9d03...", size: 65534 }, node_properties: [ { "name":
+// "MTime", "value": "2017-01-15T01:30:15.01Z" } ] } ], directories: [ {
+// name: "foo", digest: { hash: "4cf2eda940...", size: 43 } } ] } //
+// (Directory proto with hash "4cf2eda940..." and size 43) { files: [ {
+// name: "baz", digest: { hash: "b2c941073e...", size: 1294, },
+// is_executable: true } ] } ```
 type BuildBazelRemoteExecutionV2Directory struct {
 	// Directories: The subdirectories in the directory.
 	Directories []*BuildBazelRemoteExecutionV2DirectoryNode `json:"directories,omitempty"`
@@ -1005,13 +691,10 @@
 }
 
 // BuildBazelRemoteExecutionV2DirectoryNode: A `DirectoryNode`
-// represents a child of a
-// Directory which is itself
-// a `Directory` and its associated metadata.
+// represents a child of a Directory which is itself a `Directory` and
+// its associated metadata.
 type BuildBazelRemoteExecutionV2DirectoryNode struct {
-	// Digest: The digest of the
-	// Directory object
-	// represented. See Digest
+	// Digest: The digest of the Directory object represented. See Digest
 	// for information about how to take the digest of a proto message.
 	Digest *BuildBazelRemoteExecutionV2Digest `json:"digest,omitempty"`
 
@@ -1042,14 +725,10 @@
 }
 
 // BuildBazelRemoteExecutionV2ExecuteOperationMetadata: Metadata about
-// an ongoing
-// execution, which
-// will be contained in the metadata
-// field of the
-// Operation.
+// an ongoing execution, which will be contained in the metadata field
+// of the Operation.
 type BuildBazelRemoteExecutionV2ExecuteOperationMetadata struct {
-	// ActionDigest: The digest of the Action
-	// being executed.
+	// ActionDigest: The digest of the Action being executed.
 	ActionDigest *BuildBazelRemoteExecutionV2Digest `json:"actionDigest,omitempty"`
 
 	// Stage: The current stage of execution.
@@ -1062,16 +741,12 @@
 	//   "COMPLETED" - Finished execution.
 	Stage string `json:"stage,omitempty"`
 
-	// StderrStreamName: If set, the client can use this name
-	// with
-	// ByteStream.Read to stream the
-	// standard error.
+	// StderrStreamName: If set, the client can use this name with
+	// ByteStream.Read to stream the standard error.
 	StderrStreamName string `json:"stderrStreamName,omitempty"`
 
-	// StdoutStreamName: If set, the client can use this name
-	// with
-	// ByteStream.Read to stream the
-	// standard output.
+	// StdoutStreamName: If set, the client can use this name with
+	// ByteStream.Read to stream the standard output.
 	StdoutStreamName string `json:"stdoutStreamName,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ActionDigest") to
@@ -1097,59 +772,41 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// BuildBazelRemoteExecutionV2ExecuteResponse: The response message
-// for
-// Execution.Execute,
-// which will be contained in the response
-// field of the
-// Operation.
+// BuildBazelRemoteExecutionV2ExecuteResponse: The response message for
+// Execution.Execute, which will be contained in the response field of
+// the Operation.
 type BuildBazelRemoteExecutionV2ExecuteResponse struct {
 	// CachedResult: True if the result was served from cache, false if it
 	// was executed.
 	CachedResult bool `json:"cachedResult,omitempty"`
 
 	// Message: Freeform informational message with details on the execution
-	// of the action
-	// that may be displayed to the user upon failure or when requested
-	// explicitly.
+	// of the action that may be displayed to the user upon failure or when
+	// requested explicitly.
 	Message string `json:"message,omitempty"`
 
 	// Result: The result of the action.
 	Result *BuildBazelRemoteExecutionV2ActionResult `json:"result,omitempty"`
 
 	// ServerLogs: An optional list of additional log outputs the server
-	// wishes to provide. A
-	// server can use this to return execution-specific logs however it
-	// wishes.
-	// This is intended primarily to make it easier for users to debug
-	// issues that
-	// may be outside of the actual job execution, such as by identifying
-	// the
-	// worker executing the action or by providing logs from the worker's
-	// setup
-	// phase. The keys SHOULD be human readable so that a client can display
-	// them
-	// to a user.
+	// wishes to provide. A server can use this to return execution-specific
+	// logs however it wishes. This is intended primarily to make it easier
+	// for users to debug issues that may be outside of the actual job
+	// execution, such as by identifying the worker executing the action or
+	// by providing logs from the worker's setup phase. The keys SHOULD be
+	// human readable so that a client can display them to a user.
 	ServerLogs map[string]BuildBazelRemoteExecutionV2LogFile `json:"serverLogs,omitempty"`
 
 	// Status: If the status has a code other than `OK`, it indicates that
-	// the action did
-	// not finish execution. For example, if the operation times out
-	// during
-	// execution, the status will have a `DEADLINE_EXCEEDED` code. Servers
-	// MUST
-	// use this field for errors in execution, rather than the error field
-	// on the
-	// `Operation` object.
-	//
-	// If the status code is other than `OK`, then the result MUST NOT be
-	// cached.
-	// For an error status, the `result` field is optional; the server
-	// may
-	// populate the output-, stdout-, and stderr-related fields if it has
-	// any
-	// information available, such as the stdout and stderr of a timed-out
-	// action.
+	// the action did not finish execution. For example, if the operation
+	// times out during execution, the status will have a
+	// `DEADLINE_EXCEEDED` code. Servers MUST use this field for errors in
+	// execution, rather than the error field on the `Operation` object. If
+	// the status code is other than `OK`, then the result MUST NOT be
+	// cached. For an error status, the `result` field is optional; the
+	// server may populate the output-, stdout-, and stderr-related fields
+	// if it has any information available, such as the stdout and stderr of
+	// a timed-out action.
 	Status *GoogleRpcStatus `json:"status,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CachedResult") to
@@ -1285,14 +942,11 @@
 	Digest *BuildBazelRemoteExecutionV2Digest `json:"digest,omitempty"`
 
 	// HumanReadable: This is a hint as to the purpose of the log, and is
-	// set to true if the log
-	// is human-readable text that can be usefully displayed to a user, and
-	// false
-	// otherwise. For instance, if a command-line client wishes to print
-	// the
-	// server logs to the terminal for a failed action, this allows it to
-	// avoid
-	// displaying a binary file.
+	// set to true if the log is human-readable text that can be usefully
+	// displayed to a user, and false otherwise. For instance, if a
+	// command-line client wishes to print the server logs to the terminal
+	// for a failed action, this allows it to avoid displaying a binary
+	// file.
 	HumanReadable bool `json:"humanReadable,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Digest") to
@@ -1319,11 +973,8 @@
 }
 
 // BuildBazelRemoteExecutionV2NodeProperty: A single property for
-// FileNodes,
-// DirectoryNodes, and
-// SymlinkNodes. The server is
-// responsible for specifying the property `name`s that it accepts.
-// If
+// FileNodes, DirectoryNodes, and SymlinkNodes. The server is
+// responsible for specifying the property `name`s that it accepts. If
 // permitted by the server, the same `name` may occur multiple times.
 type BuildBazelRemoteExecutionV2NodeProperty struct {
 	// Name: The property name.
@@ -1356,20 +1007,17 @@
 }
 
 // BuildBazelRemoteExecutionV2OutputDirectory: An `OutputDirectory` is
-// the output in an `ActionResult` corresponding to a
-// directory's full contents rather than a single file.
+// the output in an `ActionResult` corresponding to a directory's full
+// contents rather than a single file.
 type BuildBazelRemoteExecutionV2OutputDirectory struct {
 	// Path: The full path of the directory relative to the working
-	// directory. The path
-	// separator is a forward slash `/`. Since this is a relative path, it
-	// MUST
-	// NOT begin with a leading forward slash. The empty string value is
-	// allowed,
-	// and it denotes the entire working directory.
+	// directory. The path separator is a forward slash `/`. Since this is a
+	// relative path, it MUST NOT begin with a leading forward slash. The
+	// empty string value is allowed, and it denotes the entire working
+	// directory.
 	Path string `json:"path,omitempty"`
 
-	// TreeDigest: The digest of the encoded
-	// Tree proto containing the
+	// TreeDigest: The digest of the encoded Tree proto containing the
 	// directory's contents.
 	TreeDigest *BuildBazelRemoteExecutionV2Digest `json:"treeDigest,omitempty"`
 
@@ -1397,20 +1045,14 @@
 }
 
 // BuildBazelRemoteExecutionV2OutputFile: An `OutputFile` is similar to
-// a
-// FileNode, but it is used as an
-// output in an `ActionResult`. It allows a full file path rather
-// than
-// only a name.
+// a FileNode, but it is used as an output in an `ActionResult`. It
+// allows a full file path rather than only a name.
 type BuildBazelRemoteExecutionV2OutputFile struct {
 	// Contents: The contents of the file if inlining was requested. The
-	// server SHOULD NOT inline
-	// file contents unless requested by the client in
-	// the
-	// GetActionResultRequest
-	// message. The server MAY omit inlining, even if requested, and MUST do
-	// so if inlining
-	// would cause the response to exceed message size limits.
+	// server SHOULD NOT inline file contents unless requested by the client
+	// in the GetActionResultRequest message. The server MAY omit inlining,
+	// even if requested, and MUST do so if inlining would cause the
+	// response to exceed message size limits.
 	Contents string `json:"contents,omitempty"`
 
 	// Digest: The digest of the file's content.
@@ -1424,10 +1066,9 @@
 	NodeProperties []*BuildBazelRemoteExecutionV2NodeProperty `json:"nodeProperties,omitempty"`
 
 	// Path: The full path of the file relative to the working directory,
-	// including the
-	// filename. The path separator is a forward slash `/`. Since this is
-	// a
-	// relative path, it MUST NOT begin with a leading forward slash.
+	// including the filename. The path separator is a forward slash `/`.
+	// Since this is a relative path, it MUST NOT begin with a leading
+	// forward slash.
 	Path string `json:"path,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Contents") to
@@ -1454,34 +1095,26 @@
 }
 
 // BuildBazelRemoteExecutionV2OutputSymlink: An `OutputSymlink` is
-// similar to a
-// Symlink, but it is used as an
-// output in an `ActionResult`.
-//
-// `OutputSymlink` is binary-compatible with `SymlinkNode`.
+// similar to a Symlink, but it is used as an output in an
+// `ActionResult`. `OutputSymlink` is binary-compatible with
+// `SymlinkNode`.
 type BuildBazelRemoteExecutionV2OutputSymlink struct {
 	// NodeProperties: The supported node properties of the OutputSymlink,
-	// if requested by the
-	// Action.
+	// if requested by the Action.
 	NodeProperties []*BuildBazelRemoteExecutionV2NodeProperty `json:"nodeProperties,omitempty"`
 
 	// Path: The full path of the symlink relative to the working directory,
-	// including the
-	// filename. The path separator is a forward slash `/`. Since this is
-	// a
-	// relative path, it MUST NOT begin with a leading forward slash.
+	// including the filename. The path separator is a forward slash `/`.
+	// Since this is a relative path, it MUST NOT begin with a leading
+	// forward slash.
 	Path string `json:"path,omitempty"`
 
 	// Target: The target path of the symlink. The path separator is a
-	// forward slash `/`.
-	// The target path can be relative to the parent directory of the
-	// symlink or
-	// it can be an absolute path starting with `/`. Support for absolute
-	// paths
-	// can be checked using the Capabilities
+	// forward slash `/`. The target path can be relative to the parent
+	// directory of the symlink or it can be an absolute path starting with
+	// `/`. Support for absolute paths can be checked using the Capabilities
 	// API. The canonical form forbids the substrings `/./` and `//` in the
-	// target
-	// path. `..` components are allowed anywhere in the target path.
+	// target path. `..` components are allowed anywhere in the target path.
 	Target string `json:"target,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "NodeProperties") to
@@ -1509,20 +1142,16 @@
 }
 
 // BuildBazelRemoteExecutionV2Platform: A `Platform` is a set of
-// requirements, such as hardware, operating system, or
-// compiler toolchain, for an
-// Action's execution
-// environment. A `Platform` is represented as a series of key-value
-// pairs
-// representing the properties that are required of the platform.
+// requirements, such as hardware, operating system, or compiler
+// toolchain, for an Action's execution environment. A `Platform` is
+// represented as a series of key-value pairs representing the
+// properties that are required of the platform.
 type BuildBazelRemoteExecutionV2Platform struct {
 	// Properties: The properties that make up this platform. In order to
-	// ensure that
-	// equivalent `Platform`s always hash to the same value, the properties
-	// MUST
-	// be lexicographically sorted by name, and then by value. Sorting of
-	// strings
-	// is done by code point, equivalently, by the UTF-8 bytes.
+	// ensure that equivalent `Platform`s always hash to the same value, the
+	// properties MUST be lexicographically sorted by name, and then by
+	// value. Sorting of strings is done by code point, equivalently, by the
+	// UTF-8 bytes.
 	Properties []*BuildBazelRemoteExecutionV2PlatformProperty `json:"properties,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Properties") to
@@ -1549,31 +1178,18 @@
 }
 
 // BuildBazelRemoteExecutionV2PlatformProperty: A single property for
-// the environment. The server is responsible for
-// specifying the property `name`s that it accepts. If an unknown `name`
-// is
-// provided in the requirements for an
-// Action, the server SHOULD
-// reject the execution request. If permitted by the server, the same
-// `name`
-// may occur multiple times.
-//
-// The server is also responsible for specifying the interpretation
-// of
-// property `value`s. For instance, a property describing how much RAM
-// must be
-// available may be interpreted as allowing a worker with 16GB to
-// fulfill a
-// request for 8GB, while a property describing the OS environment on
-// which
-// the action must be performed may require an exact match with the
-// worker's
-// OS.
-//
-// The server MAY use the `value` of one or more properties to determine
-// how
-// it sets up the execution environment, such as by making specific
-// system
+// the environment. The server is responsible for specifying the
+// property `name`s that it accepts. If an unknown `name` is provided in
+// the requirements for an Action, the server SHOULD reject the
+// execution request. If permitted by the server, the same `name` may
+// occur multiple times. The server is also responsible for specifying
+// the interpretation of property `value`s. For instance, a property
+// describing how much RAM must be available may be interpreted as
+// allowing a worker with 16GB to fulfill a request for 8GB, while a
+// property describing the OS environment on which the action must be
+// performed may require an exact match with the worker's OS. The server
+// MAY use the `value` of one or more properties to determine how it
+// sets up the execution environment, such as by making specific system
 // files available to the worker.
 type BuildBazelRemoteExecutionV2PlatformProperty struct {
 	// Name: The property name.
@@ -1606,46 +1222,34 @@
 }
 
 // BuildBazelRemoteExecutionV2RequestMetadata: An optional Metadata to
-// attach to any RPC request to tell the server about an
-// external context of the request. The server may use this for logging
-// or other
+// attach to any RPC request to tell the server about an external
+// context of the request. The server may use this for logging or other
 // purposes. To use it, the client attaches the header to the call using
-// the
-// canonical proto serialization:
-//
-// * name: `build.bazel.remote.execution.v2.requestmetadata-bin`
-// * contents: the base64 encoded binary `RequestMetadata`
-// message.
-// Note: the gRPC library serializes binary headers encoded in base 64
-// by
-// default
+// the canonical proto serialization: * name:
+// `build.bazel.remote.execution.v2.requestmetadata-bin` * contents: the
+// base64 encoded binary `RequestMetadata` message. Note: the gRPC
+// library serializes binary headers encoded in base 64 by default
 // (https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#reques
-// ts).
-// Therefore, if the gRPC library is used to pass/retrieve
-// this
+// ts). Therefore, if the gRPC library is used to pass/retrieve this
 // metadata, the user may ignore the base64 encoding and assume it is
-// simply
-// serialized as a binary message.
+// simply serialized as a binary message.
 type BuildBazelRemoteExecutionV2RequestMetadata struct {
 	// ActionId: An identifier that ties multiple requests to the same
-	// action.
-	// For example, multiple requests to the CAS, Action Cache, and
-	// Execution
-	// API are used in order to compile foo.cc.
+	// action. For example, multiple requests to the CAS, Action Cache, and
+	// Execution API are used in order to compile foo.cc.
 	ActionId string `json:"actionId,omitempty"`
 
 	// CorrelatedInvocationsId: An identifier to tie multiple tool
-	// invocations together. For example,
-	// runs of foo_test, bar_test and baz_test on a post-submit of a given
-	// patch.
+	// invocations together. For example, runs of foo_test, bar_test and
+	// baz_test on a post-submit of a given patch.
 	CorrelatedInvocationsId string `json:"correlatedInvocationsId,omitempty"`
 
 	// ToolDetails: The details for the tool invoking the requests.
 	ToolDetails *BuildBazelRemoteExecutionV2ToolDetails `json:"toolDetails,omitempty"`
 
 	// ToolInvocationId: An identifier that ties multiple actions together
-	// to a final result.
-	// For example, multiple actions are required to build and run foo_test.
+	// to a final result. For example, multiple actions are required to
+	// build and run foo_test.
 	ToolInvocationId string `json:"toolInvocationId,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ActionId") to
@@ -1681,15 +1285,11 @@
 	NodeProperties []*BuildBazelRemoteExecutionV2NodeProperty `json:"nodeProperties,omitempty"`
 
 	// Target: The target path of the symlink. The path separator is a
-	// forward slash `/`.
-	// The target path can be relative to the parent directory of the
-	// symlink or
-	// it can be an absolute path starting with `/`. Support for absolute
-	// paths
-	// can be checked using the Capabilities
+	// forward slash `/`. The target path can be relative to the parent
+	// directory of the symlink or it can be an absolute path starting with
+	// `/`. Support for absolute paths can be checked using the Capabilities
 	// API. The canonical form forbids the substrings `/./` and `//` in the
-	// target
-	// path. `..` components are allowed anywhere in the target path.
+	// target path. `..` components are allowed anywhere in the target path.
 	Target string `json:"target,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Name") to
@@ -1747,17 +1347,14 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// BuildBazelRemoteExecutionV2Tree: A `Tree` contains all the
-// Directory protos in a
-// single directory Merkle tree, compressed into one message.
+// BuildBazelRemoteExecutionV2Tree: A `Tree` contains all the Directory
+// protos in a single directory Merkle tree, compressed into one
+// message.
 type BuildBazelRemoteExecutionV2Tree struct {
 	// Children: All the child directories: the directories referred to by
-	// the root and,
-	// recursively, all its children. In order to reconstruct the directory
-	// tree,
-	// the client must take the digests of each of the child directories and
-	// then
-	// build up a tree starting from the `root`.
+	// the root and, recursively, all its children. In order to reconstruct
+	// the directory tree, the client must take the digests of each of the
+	// child directories and then build up a tree starting from the `root`.
 	Children []*BuildBazelRemoteExecutionV2Directory `json:"children,omitempty"`
 
 	// Root: The root directory in the tree.
@@ -1819,20 +1416,18 @@
 }
 
 // GoogleDevtoolsRemotebuildbotCommandDurations: CommandDuration
-// contains the various duration metrics tracked when a bot
-// performs a command.
+// contains the various duration metrics tracked when a bot performs a
+// command.
 type GoogleDevtoolsRemotebuildbotCommandDurations struct {
 	// DockerPrep: The time spent preparing the command to be run in a
-	// Docker container
-	// (includes pulling the Docker image, if necessary).
+	// Docker container (includes pulling the Docker image, if necessary).
 	DockerPrep string `json:"dockerPrep,omitempty"`
 
 	// DockerPrepStartTime: The timestamp when docker preparation begins.
 	DockerPrepStartTime string `json:"dockerPrepStartTime,omitempty"`
 
 	// Download: The time spent downloading the input files and constructing
-	// the working
-	// directory.
+	// the working directory.
 	Download string `json:"download,omitempty"`
 
 	// DownloadStartTime: The timestamp when downloading the input files
@@ -1887,12 +1482,11 @@
 }
 
 // GoogleDevtoolsRemotebuildbotCommandEvents: CommandEvents contains
-// counters for the number of warnings and errors
-// that occurred during the execution of a command.
+// counters for the number of warnings and errors that occurred during
+// the execution of a command.
 type GoogleDevtoolsRemotebuildbotCommandEvents struct {
 	// DockerCacheHit: Indicates whether we are using a cached Docker image
-	// (true) or had to pull
-	// the Docker image (false) for this command.
+	// (true) or had to pull the Docker image (false) for this command.
 	DockerCacheHit bool `json:"dockerCacheHit,omitempty"`
 
 	// InputCacheMiss: The input cache miss ratio.
@@ -1956,15 +1550,14 @@
 	// found.
 	//   "PERMISSION_DENIED" - The command failed due to permission errors.
 	//   "INTERNAL" - The command failed because of some invariants expected
-	// by the underlying
-	// system have been broken. This usually indicates a bug wit the system.
+	// by the underlying system have been broken. This usually indicates a
+	// bug wit the system.
 	//   "ABORTED" - The command was aborted.
 	//   "FAILED_PRECONDITION" - The command failed because the system is
-	// not in a state required for the
-	// command, e.g. the command inputs cannot be found on the server.
+	// not in a state required for the command, e.g. the command inputs
+	// cannot be found on the server.
 	//   "CLEANUP_ERROR" - The bot failed to do the cleanup, e.g. unable to
-	// delete the command
-	// working directory or the command process.
+	// delete the command working directory or the command process.
 	//   "DOWNLOAD_INPUTS_ERROR" - The bot failed to download the inputs.
 	//   "UNKNOWN" - Unknown error.
 	//   "UPLOAD_OUTPUTS_ERROR" - The bot failed to upload the outputs.
@@ -2009,9 +1602,8 @@
 	//   "DOCKER_CREATE_PROCESS_FILE_NOT_FOUND" - Docker failed to create
 	// process because of file not found.
 	//   "DOCKER_CREATE_COMPUTE_SYSTEM_INCORRECT_PARAMETER_ERROR" - Docker
-	// failed to run containers with CreateComputeSystem error that
-	// involves an incorrect parameter (more specific version
-	// of
+	// failed to run containers with CreateComputeSystem error that involves
+	// an incorrect parameter (more specific version of
 	// DOCKER_CREATE_COMPUTE_SYSTEM_ERROR that is user-caused).
 	Code string `json:"code,omitempty"`
 
@@ -2124,8 +1716,7 @@
 	AcceleratorCount int64 `json:"acceleratorCount,omitempty,string"`
 
 	// AcceleratorType: The type of accelerator to attach to each VM, e.g.
-	// "nvidia-tesla-k80" for
-	// nVidia Tesla K80.
+	// "nvidia-tesla-k80" for nVidia Tesla K80.
 	AcceleratorType string `json:"acceleratorType,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AcceleratorCount") to
@@ -2188,21 +1779,18 @@
 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest:
 // The request used for `CreateInstance`.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest struct {
-	// Instance: Specifies the instance to create.
-	// The name in the instance, if specified in the instance, is ignored.
+	// Instance: Specifies the instance to create. The name in the instance,
+	// if specified in the instance, is ignored.
 	Instance *GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance `json:"instance,omitempty"`
 
-	// InstanceId: ID of the created instance.
-	// A valid `instance_id` must:
-	// be 6-50 characters long,
-	// contain only lowercase letters, digits, hyphens and
-	// underscores,
-	// start with a lowercase letter, and
-	// end with a lowercase letter or a digit.
+	// InstanceId: ID of the created instance. A valid `instance_id` must:
+	// be 6-50 characters long, contain only lowercase letters, digits,
+	// hyphens and underscores, start with a lowercase letter, and end with
+	// a lowercase letter or a digit.
 	InstanceId string `json:"instanceId,omitempty"`
 
-	// Parent: Resource name of the project containing the instance.
-	// Format: `projects/[PROJECT_ID]`.
+	// Parent: Resource name of the project containing the instance. Format:
+	// `projects/[PROJECT_ID]`.
 	Parent string `json:"parent,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Instance") to
@@ -2232,21 +1820,17 @@
 //  The request used for `CreateWorkerPool`.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest struct {
 	// Parent: Resource name of the instance in which to create the new
-	// worker pool.
-	// Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
+	// worker pool. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
 	Parent string `json:"parent,omitempty"`
 
-	// PoolId: ID of the created worker pool.
-	// A valid pool ID must:
-	// be 6-50 characters long,
-	// contain only lowercase letters, digits, hyphens and
-	// underscores,
-	// start with a lowercase letter, and
-	// end with a lowercase letter or a digit.
+	// PoolId: ID of the created worker pool. A valid pool ID must: be 6-50
+	// characters long, contain only lowercase letters, digits, hyphens and
+	// underscores, start with a lowercase letter, and end with a lowercase
+	// letter or a digit.
 	PoolId string `json:"poolId,omitempty"`
 
-	// WorkerPool: Specifies the worker pool to create.
-	// The name in the worker pool, if specified, is ignored.
+	// WorkerPool: Specifies the worker pool to create. The name in the
+	// worker pool, if specified, is ignored.
 	WorkerPool *GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool `json:"workerPool,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Parent") to
@@ -2275,8 +1859,8 @@
 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteInstanceRequest:
 // The request used for `DeleteInstance`.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteInstanceRequest struct {
-	// Name: Name of the instance to delete.
-	// Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
+	// Name: Name of the instance to delete. Format:
+	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
 	Name string `json:"name,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Name") to
@@ -2305,11 +1889,8 @@
 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteWorkerPoolRequest:
 //  The request used for DeleteWorkerPool.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteWorkerPoolRequest struct {
-	// Name: Name of the worker pool to
-	// delete.
-	// Format:
-	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerp
-	// ools/[POOL_ID]`.
+	// Name: Name of the worker pool to delete. Format:
+	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.
 	Name string `json:"name,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Name") to
@@ -2335,11 +1916,132 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy:
+// FeaturePolicy defines features allowed to be used on RBE instances,
+// as well as instance-wide behavior changes that take effect without
+// opt-in or opt-out at usage time.
+type GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy struct {
+	// ContainerImageSources: Which container image sources are allowed.
+	// Currently only RBE-supported registry (gcr.io) is allowed. One can
+	// allow all repositories under a project or one specific repository
+	// only. E.g. container_image_sources { policy: RESTRICTED
+	// allowed_values: [ "gcr.io/project-foo",
+	// "gcr.io/project-bar/repo-baz", ] } will allow any repositories under
+	// "gcr.io/project-foo" plus the repository
+	// "gcr.io/project-bar/repo-baz". Default (UNSPECIFIED) is equivalent to
+	// any source is allowed.
+	ContainerImageSources *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"containerImageSources,omitempty"`
+
+	// DockerAddCapabilities: Whether dockerAddCapabilities can be used or
+	// what capabilities are allowed.
+	DockerAddCapabilities *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerAddCapabilities,omitempty"`
+
+	// DockerChrootPath: Whether dockerChrootPath can be used.
+	DockerChrootPath *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerChrootPath,omitempty"`
+
+	// DockerNetwork: Whether dockerNetwork can be used or what network
+	// modes are allowed. E.g. one may allow `off` value only via
+	// `allowed_values`.
+	DockerNetwork *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerNetwork,omitempty"`
+
+	// DockerPrivileged: Whether dockerPrivileged can be used.
+	DockerPrivileged *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerPrivileged,omitempty"`
+
+	// DockerRunAsRoot: Whether dockerRunAsRoot can be used.
+	DockerRunAsRoot *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerRunAsRoot,omitempty"`
+
+	// DockerRuntime: Whether dockerRuntime is allowed to be set or what
+	// runtimes are allowed. Note linux_isolation takes precedence, and if
+	// set, docker_runtime values may be rejected if they are incompatible
+	// with the selected isolation.
+	DockerRuntime *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerRuntime,omitempty"`
+
+	// DockerSiblingContainers: Whether dockerSiblingContainers can be used.
+	DockerSiblingContainers *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerSiblingContainers,omitempty"`
+
+	// LinuxIsolation: linux_isolation allows overriding the docker runtime
+	// used for containers started on Linux.
+	//
+	// Possible values:
+	//   "LINUX_ISOLATION_UNSPECIFIED" - Default value. Will be using Linux
+	// default runtime.
+	//   "GVISOR" - Use gVisor runsc runtime.
+	LinuxIsolation string `json:"linuxIsolation,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g.
+	// "ContainerImageSources") to unconditionally include in API requests.
+	// By default, fields with empty values are omitted from API requests.
+	// However, any non-pointer, non-interface field appearing in
+	// ForceSendFields will be sent to the server regardless of whether the
+	// field is empty or not. This may be used to include empty fields in
+	// Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "ContainerImageSources") to
+	// include in API requests with the JSON null value. By default, fields
+	// with empty values are omitted from API requests. However, any field
+	// with an empty value appearing in NullFields will be sent to the
+	// server as null. It is an error if a field in this list has a
+	// non-empty value. This may be used to include null fields in Patch
+	// requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy) MarshalJSON() ([]byte, error) {
+	type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature:
+// Defines whether a feature can be used or what values are accepted.
+type GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature struct {
+	// AllowedValues: A list of acceptable values. Only effective when the
+	// policy is `RESTRICTED`.
+	AllowedValues []string `json:"allowedValues,omitempty"`
+
+	// Policy: The policy of the feature.
+	//
+	// Possible values:
+	//   "POLICY_UNSPECIFIED" - Default value, if not explicitly set.
+	// Equivalent to FORBIDDEN, unless otherwise documented on a specific
+	// Feature.
+	//   "ALLOWED" - Feature is explicitly allowed.
+	//   "FORBIDDEN" - Feature is forbidden. Requests attempting to leverage
+	// it will get an FailedPrecondition error, with a message like:
+	// "Feature forbidden by FeaturePolicy: Feature on instance "
+	//   "RESTRICTED" - Only the values specified in the `allowed_values`
+	// are allowed.
+	Policy string `json:"policy,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "AllowedValues") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "AllowedValues") to include
+	// in API requests with the JSON null value. By default, fields with
+	// empty values are omitted from API requests. However, any field with
+	// an empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature) MarshalJSON() ([]byte, error) {
+	type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetInstanceRequest: The
 // request used for `GetInstance`.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetInstanceRequest struct {
-	// Name: Name of the instance to retrieve.
-	// Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
+	// Name: Name of the instance to retrieve. Format:
+	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
 	Name string `json:"name,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Name") to
@@ -2368,11 +2070,8 @@
 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetWorkerPoolRequest:
 // The request used for GetWorkerPool.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetWorkerPoolRequest struct {
-	// Name: Name of the worker pool to
-	// retrieve.
-	// Format:
-	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/worke
-	// rpools/[POOL_ID]`.
+	// Name: Name of the worker pool to retrieve. Format:
+	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.
 	Name string `json:"name,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Name") to
@@ -2399,15 +2098,16 @@
 }
 
 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance: Instance
-// conceptually encapsulates all Remote Build Execution resources
-// for remote builds.
-// An instance consists of storage and compute resources (for
-// example,
-// `ContentAddressableStorage`, `ActionCache`, `WorkerPools`) used
-// for
-// running remote builds.
-// All Remote Build Execution API calls are scoped to an instance.
+// conceptually encapsulates all Remote Build Execution resources for
+// remote builds. An instance consists of storage and compute resources
+// (for example, `ContentAddressableStorage`, `ActionCache`,
+// `WorkerPools`) used for running remote builds. All Remote Build
+// Execution API calls are scoped to an instance.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance struct {
+	// FeaturePolicy: The policy to define whether or not RBE features can
+	// be used or how they can be used.
+	FeaturePolicy *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy `json:"featurePolicy,omitempty"`
+
 	// Location: The location is a GCP region. Currently only `us-central1`
 	// is supported.
 	Location string `json:"location,omitempty"`
@@ -2416,12 +2116,10 @@
 	// for the instance.
 	LoggingEnabled bool `json:"loggingEnabled,omitempty"`
 
-	// Name: Output only. Instance resource name formatted
-	// as:
-	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
-	// Name should not be populated when creating an instance since it is
-	// provided
-	// in the `instance_id` field.
+	// Name: Output only. Instance resource name formatted as:
+	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. Name should not be
+	// populated when creating an instance since it is provided in the
+	// `instance_id` field.
 	Name string `json:"name,omitempty"`
 
 	// State: Output only. State of the instance.
@@ -2430,20 +2128,16 @@
 	//   "STATE_UNSPECIFIED" - Not a valid state, but the default value of
 	// the enum.
 	//   "CREATING" - The instance is in state `CREATING` once
-	// `CreateInstance` is called and
-	// before the instance is ready for use.
+	// `CreateInstance` is called and before the instance is ready for use.
 	//   "RUNNING" - The instance is in state `RUNNING` when it is ready for
 	// use.
 	//   "INACTIVE" - An `INACTIVE` instance indicates that there is a
-	// problem that needs to be
-	// fixed. Such instances cannot be used for execution and instances
-	// that
-	// remain in this state for a significant period of time will be
-	// removed
-	// permanently.
+	// problem that needs to be fixed. Such instances cannot be used for
+	// execution and instances that remain in this state for a significant
+	// period of time will be removed permanently.
 	State string `json:"state,omitempty"`
 
-	// ForceSendFields is a list of field names (e.g. "Location") to
+	// ForceSendFields is a list of field names (e.g. "FeaturePolicy") to
 	// unconditionally include in API requests. By default, fields with
 	// empty values are omitted from API requests. However, any non-pointer,
 	// non-interface field appearing in ForceSendFields will be sent to the
@@ -2451,10 +2145,10 @@
 	// used to include empty fields in Patch requests.
 	ForceSendFields []string `json:"-"`
 
-	// NullFields is a list of field names (e.g. "Location") to include in
-	// API requests with the JSON null value. By default, fields with empty
-	// values are omitted from API requests. However, any field with an
-	// empty value appearing in NullFields will be sent to the server as
+	// NullFields is a list of field names (e.g. "FeaturePolicy") to include
+	// in API requests with the JSON null value. By default, fields with
+	// empty values are omitted from API requests. However, any field with
+	// an empty value appearing in NullFields will be sent to the server as
 	// null. It is an error if a field in this list has a non-empty value.
 	// This may be used to include null fields in Patch requests.
 	NullFields []string `json:"-"`
@@ -2467,8 +2161,8 @@
 }
 
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesRequest struct {
-	// Parent: Resource name of the project.
-	// Format: `projects/[PROJECT_ID]`.
+	// Parent: Resource name of the project. Format:
+	// `projects/[PROJECT_ID]`.
 	Parent string `json:"parent,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Parent") to
@@ -2523,46 +2217,26 @@
 
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsRequest struct {
 	// Filter: Optional. A filter expression that filters resources listed
-	// in
-	// the response. The expression must specify the field name, a
-	// comparison
-	// operator, and the value that you want to use for filtering. The
-	// value
-	// must be a string, a number, or a boolean. String values
-	// are
-	// case-insensitive.
-	// The comparison operator must be either `:`, `=`, `!=`, `>`, `>=`,
-	// `<=` or
-	// `<`.
-	// The `:` operator can be used with string fields to match
-	// substrings.
-	// For non-string fields it is equivalent to the `=` operator.
-	// The `:*` comparison can be used to test  whether a key has been
-	// defined.
-	//
-	// You can also filter on nested fields.
-	//
-	// To filter on multiple expressions, you can separate expression
-	// using
-	// `AND` and `OR` operators, using parentheses to specify precedence.
-	// If
-	// neither operator is specified, `AND` is assumed.
-	//
-	// Examples:
-	//
-	// Include only pools with more than 100 reserved
-	// workers:
-	// `(worker_count > 100) (worker_config.reserved = true)`
-	//
+	// in the response. The expression must specify the field name, a
+	// comparison operator, and the value that you want to use for
+	// filtering. The value must be a string, a number, or a boolean. String
+	// values are case-insensitive. The comparison operator must be either
+	// `:`, `=`, `!=`, `>`, `>=`, `<=` or `<`. The `:` operator can be used
+	// with string fields to match substrings. For non-string fields it is
+	// equivalent to the `=` operator. The `:*` comparison can be used to
+	// test whether a key has been defined. You can also filter on nested
+	// fields. To filter on multiple expressions, you can separate
+	// expression using `AND` and `OR` operators, using parentheses to
+	// specify precedence. If neither operator is specified, `AND` is
+	// assumed. Examples: Include only pools with more than 100 reserved
+	// workers: `(worker_count > 100) (worker_config.reserved = true)`
 	// Include only pools with a certain label or machines of the
-	// n1-standard
-	// family:
-	// `worker_config.labels.key1 : * OR worker_config.machine_type:
-	// n1-standard`
+	// n1-standard family: `worker_config.labels.key1 : * OR
+	// worker_config.machine_type: n1-standard`
 	Filter string `json:"filter,omitempty"`
 
-	// Parent: Resource name of the instance.
-	// Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
+	// Parent: Resource name of the instance. Format:
+	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
 	Parent string `json:"parent,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Filter") to
@@ -2621,28 +2295,18 @@
 	// Instance: Specifies the instance to update.
 	Instance *GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance `json:"instance,omitempty"`
 
-	// LoggingEnabled: Deprecated, use instance.logging_enabled
-	// instead.
+	// LoggingEnabled: Deprecated, use instance.logging_enabled instead.
 	// Whether to enable Stackdriver logging for this instance.
 	LoggingEnabled bool `json:"loggingEnabled,omitempty"`
 
-	// Name: Deprecated, use instance.Name instead.
-	// Name of the instance to update.
-	// Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
+	// Name: Deprecated, use instance.Name instead. Name of the instance to
+	// update. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
 	Name string `json:"name,omitempty"`
 
 	// UpdateMask: The update mask applies to instance. For the `FieldMask`
-	// definition,
-	// see
-	// https://developers.google.com/protocol-buffers/docs/reference/goog
-	// le.protobuf#fieldmask
-	// If an empty update_mask is provided, only the non-default valued
-	// field in
-	// the worker pool field will be updated. Note that in order to update a
-	// field
-	// to the default value (zero, false, empty string) an explicit
-	// update_mask
-	// must be provided.
+	// definition, see
+	// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If an empty update_mask is provided, only the non-default valued field in the worker pool field will be updated. Note that in order to update a field to the default value (zero, false, empty string) an explicit update_mask must be
+	// provided.
 	UpdateMask string `json:"updateMask,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Instance") to
@@ -2672,18 +2336,9 @@
 //  The request used for UpdateWorkerPool.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest struct {
 	// UpdateMask: The update mask applies to worker_pool. For the
-	// `FieldMask`
-	// definition,
-	// see
-	// https://developers.google.com/protocol-buffers/docs/re
-	// ference/google.protobuf#fieldmask
-	// If an empty update_mask is provided, only the non-default valued
-	// field in
-	// the worker pool field will be updated. Note that in order to update a
-	// field
-	// to the default value (zero, false, empty string) an explicit
-	// update_mask
-	// must be provided.
+	// `FieldMask` definition, see
+	// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If an empty update_mask is provided, only the non-default valued field in the worker pool field will be updated. Note that in order to update a field to the default value (zero, false, empty string) an explicit update_mask must be
+	// provided.
 	UpdateMask string `json:"updateMask,omitempty"`
 
 	// WorkerPool: Specifies the worker pool to update.
@@ -2713,70 +2368,55 @@
 }
 
 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig: Defines
-// the configuration to be used for a creating workers in
-// the worker pool.
+// the configuration to be used for a creating workers in the worker
+// pool.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig struct {
 	// Accelerator: The accelerator card attached to each VM.
 	Accelerator *GoogleDevtoolsRemotebuildexecutionAdminV1alphaAcceleratorConfig `json:"accelerator,omitempty"`
 
-	// DiskSizeGb: Required. Size of the disk attached to the worker, in
-	// GB.
+	// DiskSizeGb: Required. Size of the disk attached to the worker, in GB.
 	// See https://cloud.google.com/compute/docs/disks/
 	DiskSizeGb int64 `json:"diskSizeGb,omitempty,string"`
 
-	// DiskType: Required. Disk Type to use for the worker.
-	// See
-	// [Storage
-	// options](https://cloud.google.com/compute/docs/disks/#introdu
-	// ction).
+	// DiskType: Required. Disk Type to use for the worker. See [Storage
+	// options](https://cloud.google.com/compute/docs/disks/#introduction).
 	// Currently only `pd-standard` and `pd-ssd` are supported.
 	DiskType string `json:"diskType,omitempty"`
 
-	// Labels: Labels associated with the workers.
-	// Label keys and values can be no longer than 63 characters, can only
-	// contain
-	// lowercase letters, numeric characters, underscores and
-	// dashes.
-	// International letters are permitted. Label keys must start with a
-	// letter.
-	// Label values are optional.
-	// There can not be more than 64 labels per resource.
+	// Labels: Labels associated with the workers. Label keys and values can
+	// be no longer than 63 characters, can only contain lowercase letters,
+	// numeric characters, underscores and dashes. International letters are
+	// permitted. Label keys must start with a letter. Label values are
+	// optional. There can not be more than 64 labels per resource.
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// MachineType: Required. Machine type of the worker, such as
-	// `n1-standard-2`.
-	// See https://cloud.google.com/compute/docs/machine-types for a list
-	// of
+	// `n1-standard-2`. See
+	// https://cloud.google.com/compute/docs/machine-types for a list of
 	// supported machine types. Note that `f1-micro` and `g1-small` are not
-	// yet
-	// supported.
+	// yet supported.
 	MachineType string `json:"machineType,omitempty"`
 
 	// MaxConcurrentActions: The maximum number of actions a worker can
 	// execute concurrently.
 	MaxConcurrentActions int64 `json:"maxConcurrentActions,omitempty,string"`
 
-	// MinCpuPlatform: Minimum CPU platform to use when creating the
-	// worker.
+	// MinCpuPlatform: Minimum CPU platform to use when creating the worker.
 	// See [CPU
 	// Platforms](https://cloud.google.com/compute/docs/cpu-platforms).
 	MinCpuPlatform string `json:"minCpuPlatform,omitempty"`
 
 	// NetworkAccess: Determines the type of network access granted to
-	// workers. Possible values:
-	//
-	// - "public": Workers can connect to the public internet.
-	// - "private": Workers can only connect to Google APIs and services.
-	// - "restricted-private": Workers can only connect to Google APIs that
-	// are
-	//   reachable through `restricted.googleapis.com` (`199.36.153.4/30`).
+	// workers. Possible values: - "public": Workers can connect to the
+	// public internet. - "private": Workers can only connect to Google APIs
+	// and services. - "restricted-private": Workers can only connect to
+	// Google APIs that are reachable through `restricted.googleapis.com`
+	// (`199.36.153.4/30`).
 	NetworkAccess string `json:"networkAccess,omitempty"`
 
 	// Reserved: Determines whether the worker is reserved (equivalent to a
-	// Compute Engine
-	// on-demand VM and therefore won't be preempted).
-	// See [Preemptible VMs](https://cloud.google.com/preemptible-vms/) for
-	// more
+	// Compute Engine on-demand VM and therefore won't be preempted). See
+	// [Preemptible VMs](https://cloud.google.com/preemptible-vms/) for more
 	// details.
 	Reserved bool `json:"reserved,omitempty"`
 
@@ -2815,12 +2455,9 @@
 	// Channel: Channel specifies the release channel of the pool.
 	Channel string `json:"channel,omitempty"`
 
-	// Name: WorkerPool resource name formatted
-	// as:
-	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_I
-	// D]`.
-	// name should not be populated when creating a worker pool since it
-	// is
+	// Name: WorkerPool resource name formatted as:
+	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.
+	//  name should not be populated when creating a worker pool since it is
 	// provided in the `poolId` field.
 	Name string `json:"name,omitempty"`
 
@@ -2830,34 +2467,26 @@
 	//   "STATE_UNSPECIFIED" - Not a valid state, but the default value of
 	// the enum.
 	//   "CREATING" - The worker pool is in state `CREATING` once
-	// `CreateWorkerPool` is called
-	// and before all requested workers are ready.
+	// `CreateWorkerPool` is called and before all requested workers are
+	// ready.
 	//   "RUNNING" - The worker pool is in state `RUNNING` when all its
-	// workers are ready for
-	// use.
+	// workers are ready for use.
 	//   "UPDATING" - The worker pool is in state `UPDATING` once
-	// `UpdateWorkerPool` is called
-	// and before the new configuration has all the requested workers ready
-	// for
-	// use, and no older configuration has any workers. At that point the
-	// state
-	// transitions to `RUNNING`.
+	// `UpdateWorkerPool` is called and before the new configuration has all
+	// the requested workers ready for use, and no older configuration has
+	// any workers. At that point the state transitions to `RUNNING`.
 	//   "DELETING" - The worker pool is in state `DELETING` once the
-	// `Delete` method is called
-	// and before the deletion completes.
+	// `Delete` method is called and before the deletion completes.
 	//   "INACTIVE" - The worker pool is in state `INACTIVE` when the
-	// instance hosting the
-	// worker pool in not running.
+	// instance hosting the worker pool in not running.
 	State string `json:"state,omitempty"`
 
 	// WorkerConfig: Specifies the properties, such as machine type and disk
-	// size, used for
-	// creating workers in a worker pool.
+	// size, used for creating workers in a worker pool.
 	WorkerConfig *GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig `json:"workerConfig,omitempty"`
 
 	// WorkerCount: The desired number of workers in the worker pool. Must
-	// be a value between
-	// 0 and 15000.
+	// be a value between 0 and 15000.
 	WorkerCount int64 `json:"workerCount,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "Autoscale") to
@@ -2884,24 +2513,15 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2AdminTemp: AdminTemp is a
-// prelimiary set of administration tasks. It's called "Temp"
-// because we do not yet know the best way to represent admin tasks;
-// it's
-// possible that this will be entirely replaced in later versions of
-// this API.
-// If this message proves to be sufficient, it will be renamed in the
-// alpha or
-// beta release of this API.
-//
-// This message (suitably marshalled into a protobuf.Any) can be used as
-// the
-// inline_assignment field in a lease; the lease assignment field should
-// simply
-// be "admin" in these cases.
-//
+// prelimiary set of administration tasks. It's called "Temp" because we
+// do not yet know the best way to represent admin tasks; it's possible
+// that this will be entirely replaced in later versions of this API. If
+// this message proves to be sufficient, it will be renamed in the alpha
+// or beta release of this API. This message (suitably marshalled into a
+// protobuf.Any) can be used as the inline_assignment field in a lease;
+// the lease assignment field should simply be "admin" in these cases.
 // This message is heavily based on Swarming administration tasks from
-// the LUCI
-// project (http://github.com/luci/luci-py/appengine/swarming).
+// the LUCI project (http://github.com/luci/luci-py/appengine/swarming).
 type GoogleDevtoolsRemoteworkersV1test2AdminTemp struct {
 	// Arg: The argument to the admin action; see `Command` for semantics.
 	Arg string `json:"arg,omitempty"`
@@ -2911,16 +2531,13 @@
 	// Possible values:
 	//   "UNSPECIFIED" - Illegal value.
 	//   "BOT_UPDATE" - Download and run a new version of the bot. `arg`
-	// will be a resource
-	// accessible via `ByteStream.Read` to obtain the new bot code.
+	// will be a resource accessible via `ByteStream.Read` to obtain the new
+	// bot code.
 	//   "BOT_RESTART" - Restart the bot without downloading a new version.
-	// `arg` will be a
-	// message to log.
+	// `arg` will be a message to log.
 	//   "BOT_TERMINATE" - Shut down the bot. `arg` will be a task resource
-	// name (similar to those
-	// in tasks.proto) that the bot can use to tell the server that it
-	// is
-	// terminating.
+	// name (similar to those in tasks.proto) that the bot can use to tell
+	// the server that it is terminating.
 	//   "HOST_RESTART" - Restart the host computer. `arg` will be a message
 	// to log.
 	Command string `json:"command,omitempty"`
@@ -2982,23 +2599,19 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2CommandOutputs: DEPRECATED - use
-// CommandResult instead.
-// Describes the actual outputs from the task.
+// CommandResult instead. Describes the actual outputs from the task.
 type GoogleDevtoolsRemoteworkersV1test2CommandOutputs struct {
 	// ExitCode: exit_code is only fully reliable if the status' code is OK.
-	// If the task
-	// exceeded its deadline or was cancelled, the process may still produce
-	// an
-	// exit code as it is cancelled, and this will be populated, but a
-	// successful
-	// (zero) is unlikely to be correct unless the status code is OK.
+	// If the task exceeded its deadline or was cancelled, the process may
+	// still produce an exit code as it is cancelled, and this will be
+	// populated, but a successful (zero) is unlikely to be correct unless
+	// the status code is OK.
 	ExitCode int64 `json:"exitCode,omitempty"`
 
 	// Outputs: The output files. The blob referenced by the digest should
-	// contain
-	// one of the following (implementation-dependent):
-	//    * A marshalled DirectoryMetadata of the returned filesystem
-	//    * A LUCI-style .isolated file
+	// contain one of the following (implementation-dependent): * A
+	// marshalled DirectoryMetadata of the returned filesystem * A
+	// LUCI-style .isolated file
 	Outputs *GoogleDevtoolsRemoteworkersV1test2Digest `json:"outputs,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ExitCode") to
@@ -3025,20 +2638,16 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2CommandOverhead: DEPRECATED - use
-// CommandResult instead.
-// Can be used as part of CompleteRequest.metadata, or are part of a
-// more
-// sophisticated message.
+// CommandResult instead. Can be used as part of
+// CompleteRequest.metadata, or are part of a more sophisticated
+// message.
 type GoogleDevtoolsRemoteworkersV1test2CommandOverhead struct {
 	// Duration: The elapsed time between calling Accept and Complete. The
-	// server will also
-	// have its own idea of what this should be, but this excludes the
-	// overhead of
-	// the RPCs and the bot response time.
+	// server will also have its own idea of what this should be, but this
+	// excludes the overhead of the RPCs and the bot response time.
 	Duration string `json:"duration,omitempty"`
 
-	// Overhead: The amount of time *not* spent executing the command
-	// (ie
+	// Overhead: The amount of time *not* spent executing the command (ie
 	// uploading/downloading files).
 	Overhead string `json:"overhead,omitempty"`
 
@@ -3066,51 +2675,41 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2CommandResult: All information
-// about the execution of a command, suitable for providing as
-// the Bots interface's `Lease.result` field.
+// about the execution of a command, suitable for providing as the Bots
+// interface's `Lease.result` field.
 type GoogleDevtoolsRemoteworkersV1test2CommandResult struct {
 	// Duration: The elapsed time between calling Accept and Complete. The
-	// server will also
-	// have its own idea of what this should be, but this excludes the
-	// overhead of
-	// the RPCs and the bot response time.
+	// server will also have its own idea of what this should be, but this
+	// excludes the overhead of the RPCs and the bot response time.
 	Duration string `json:"duration,omitempty"`
 
 	// ExitCode: The exit code of the process. An exit code of "0" should
-	// only be trusted if
-	// `status` has a code of OK (otherwise it may simply be unset).
+	// only be trusted if `status` has a code of OK (otherwise it may simply
+	// be unset).
 	ExitCode int64 `json:"exitCode,omitempty"`
 
 	// Metadata: Implementation-dependent metadata about the task. Both
-	// servers and bots
-	// may define messages which can be encoded here; bots are free to
-	// provide
-	// metadata in multiple formats, and servers are free to choose one or
-	// more
-	// of the values to process and ignore others. In particular, it is
-	// *not*
-	// considered an error for the bot to provide the server with a field
-	// that it
-	// doesn't know about.
+	// servers and bots may define messages which can be encoded here; bots
+	// are free to provide metadata in multiple formats, and servers are
+	// free to choose one or more of the values to process and ignore
+	// others. In particular, it is *not* considered an error for the bot to
+	// provide the server with a field that it doesn't know about.
 	Metadata []googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Outputs: The output files. The blob referenced by the digest should
-	// contain
-	// one of the following (implementation-dependent):
-	//    * A marshalled DirectoryMetadata of the returned filesystem
-	//    * A LUCI-style .isolated file
+	// contain one of the following (implementation-dependent): * A
+	// marshalled DirectoryMetadata of the returned filesystem * A
+	// LUCI-style .isolated file
 	Outputs *GoogleDevtoolsRemoteworkersV1test2Digest `json:"outputs,omitempty"`
 
-	// Overhead: The amount of time *not* spent executing the command
-	// (ie
+	// Overhead: The amount of time *not* spent executing the command (ie
 	// uploading/downloading files).
 	Overhead string `json:"overhead,omitempty"`
 
 	// Status: An overall status for the command. For example, if the
-	// command timed out,
-	// this might have a code of DEADLINE_EXCEEDED; if it was killed by the
-	// OS for
-	// memory exhaustion, it might have a code of RESOURCE_EXHAUSTED.
+	// command timed out, this might have a code of DEADLINE_EXCEEDED; if it
+	// was killed by the OS for memory exhaustion, it might have a code of
+	// RESOURCE_EXHAUSTED.
 	Status *GoogleRpcStatus `json:"status,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Duration") to
@@ -3137,8 +2736,7 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2CommandTask: Describes a
-// shell-style task to execute, suitable for providing as the
-// Bots
+// shell-style task to execute, suitable for providing as the Bots
 // interface's `Lease.payload` field.
 type GoogleDevtoolsRemoteworkersV1test2CommandTask struct {
 	// ExpectedOutputs: The expected outputs from the task.
@@ -3177,63 +2775,41 @@
 // GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs: Describes the
 // inputs to a shell-style task.
 type GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs struct {
-	// Arguments: The command itself to run (e.g., argv).
-	//
-	// This field should be passed directly to the underlying operating
-	// system,
-	// and so it must be sensible to that operating system. For example,
-	// on
-	// Windows, the first argument might be "C:\Windows\System32\ping.exe"
-	// -
-	// that is, using drive letters and backslashes. A command for a
-	// *nix
-	// system, on the other hand, would use forward slashes.
-	//
-	// All other fields in the RWAPI must consistently use forward
-	// slashes,
-	// since those fields may be interpretted by both the service and the
-	// bot.
+	// Arguments: The command itself to run (e.g., argv). This field should
+	// be passed directly to the underlying operating system, and so it must
+	// be sensible to that operating system. For example, on Windows, the
+	// first argument might be "C:\Windows\System32\ping.exe" - that is,
+	// using drive letters and backslashes. A command for a *nix system, on
+	// the other hand, would use forward slashes. All other fields in the
+	// RWAPI must consistently use forward slashes, since those fields may
+	// be interpretted by both the service and the bot.
 	Arguments []string `json:"arguments,omitempty"`
 
 	// EnvironmentVariables: All environment variables required by the task.
 	EnvironmentVariables []*GoogleDevtoolsRemoteworkersV1test2CommandTaskInputsEnvironmentVariable `json:"environmentVariables,omitempty"`
 
 	// Files: The input filesystem to be set up prior to the task beginning.
-	// The
-	// contents should be a repeated set of FileMetadata messages though
-	// other
-	// formats are allowed if better for the implementation (eg, a
-	// LUCI-style
-	// .isolated file).
-	//
-	// This field is repeated since implementations might want to cache
-	// the
-	// metadata, in which case it may be useful to break up portions of
-	// the
-	// filesystem that change frequently (eg, specific input files) from
-	// those
-	// that don't (eg, standard header files).
+	// The contents should be a repeated set of FileMetadata messages though
+	// other formats are allowed if better for the implementation (eg, a
+	// LUCI-style .isolated file). This field is repeated since
+	// implementations might want to cache the metadata, in which case it
+	// may be useful to break up portions of the filesystem that change
+	// frequently (eg, specific input files) from those that don't (eg,
+	// standard header files).
 	Files []*GoogleDevtoolsRemoteworkersV1test2Digest `json:"files,omitempty"`
 
 	// InlineBlobs: Inline contents for blobs expected to be needed by the
-	// bot to execute the
-	// task. For example, contents of entries in `files` or blobs that
-	// are
-	// indirectly referenced by an entry there.
-	//
-	// The bot should check against this list before downloading required
-	// task
-	// inputs to reduce the number of communications between itself and
-	// the
+	// bot to execute the task. For example, contents of entries in `files`
+	// or blobs that are indirectly referenced by an entry there. The bot
+	// should check against this list before downloading required task
+	// inputs to reduce the number of communications between itself and the
 	// remote CAS server.
 	InlineBlobs []*GoogleDevtoolsRemoteworkersV1test2Blob `json:"inlineBlobs,omitempty"`
 
 	// WorkingDirectory: Directory from which a command is executed. It is a
-	// relative directory
-	// with respect to the bot's working directory (i.e., "./"). If it
-	// is
-	// non-empty, then it must exist under "./". Otherwise, "./" will be
-	// used.
+	// relative directory with respect to the bot's working directory (i.e.,
+	// "./"). If it is non-empty, then it must exist under "./". Otherwise,
+	// "./" will be used.
 	WorkingDirectory string `json:"workingDirectory,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Arguments") to
@@ -3295,35 +2871,27 @@
 // expected outputs of the command.
 type GoogleDevtoolsRemoteworkersV1test2CommandTaskOutputs struct {
 	// Directories: A list of expected directories, relative to the
-	// execution root. All paths
-	// MUST be delimited by forward slashes.
+	// execution root. All paths MUST be delimited by forward slashes.
 	Directories []string `json:"directories,omitempty"`
 
 	// Files: A list of expected files, relative to the execution root. All
-	// paths
-	// MUST be delimited by forward slashes.
+	// paths MUST be delimited by forward slashes.
 	Files []string `json:"files,omitempty"`
 
 	// StderrDestination: The destination to which any stderr should be
-	// sent. The method by which
-	// the bot should send the stream contents to that destination is
-	// not
-	// defined in this API. As examples, the destination could be a
-	// file
-	// referenced in the `files` field in this message, or it could be a
-	// URI
-	// that must be written via the ByteStream API.
+	// sent. The method by which the bot should send the stream contents to
+	// that destination is not defined in this API. As examples, the
+	// destination could be a file referenced in the `files` field in this
+	// message, or it could be a URI that must be written via the ByteStream
+	// API.
 	StderrDestination string `json:"stderrDestination,omitempty"`
 
 	// StdoutDestination: The destination to which any stdout should be
-	// sent. The method by which
-	// the bot should send the stream contents to that destination is
-	// not
-	// defined in this API. As examples, the destination could be a
-	// file
-	// referenced in the `files` field in this message, or it could be a
-	// URI
-	// that must be written via the ByteStream API.
+	// sent. The method by which the bot should send the stream contents to
+	// that destination is not defined in this API. As examples, the
+	// destination could be a file referenced in the `files` field in this
+	// message, or it could be a URI that must be written via the ByteStream
+	// API.
 	StdoutDestination string `json:"stdoutDestination,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Directories") to
@@ -3353,32 +2921,23 @@
 // timeouts associated with this task.
 type GoogleDevtoolsRemoteworkersV1test2CommandTaskTimeouts struct {
 	// Execution: This specifies the maximum time that the task can run,
-	// excluding the
-	// time required to download inputs or upload outputs. That is, the
-	// worker
-	// will terminate the task if it runs longer than this.
+	// excluding the time required to download inputs or upload outputs.
+	// That is, the worker will terminate the task if it runs longer than
+	// this.
 	Execution string `json:"execution,omitempty"`
 
 	// Idle: This specifies the maximum amount of time the task can be idle
-	// - that is,
-	// go without generating some output in either stdout or stderr. If
-	// the
-	// process is silent for more than the specified time, the worker
-	// will
-	// terminate the task.
+	// - that is, go without generating some output in either stdout or
+	// stderr. If the process is silent for more than the specified time,
+	// the worker will terminate the task.
 	Idle string `json:"idle,omitempty"`
 
 	// Shutdown: If the execution or IO timeouts are exceeded, the worker
-	// will try to
-	// gracefully terminate the task and return any existing logs.
-	// However,
-	// tasks may be hard-frozen in which case this process will fail.
-	// This
-	// timeout specifies how long to wait for a terminated task to shut
-	// down
-	// gracefully (e.g. via SIGTERM) before we bring down the hammer
-	// (e.g.
-	// SIGKILL on *nix, CTRL_BREAK_EVENT on Windows).
+	// will try to gracefully terminate the task and return any existing
+	// logs. However, tasks may be hard-frozen in which case this process
+	// will fail. This timeout specifies how long to wait for a terminated
+	// task to shut down gracefully (e.g. via SIGTERM) before we bring down
+	// the hammer (e.g. SIGKILL on *nix, CTRL_BREAK_EVENT on Windows).
 	Shutdown string `json:"shutdown,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Execution") to
@@ -3405,33 +2964,25 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2Digest: The CommandTask and
-// CommandResult messages assume the existence of a service
-// that can serve blobs of content, identified by a hash and size known
-// as a
+// CommandResult messages assume the existence of a service that can
+// serve blobs of content, identified by a hash and size known as a
 // "digest." The method by which these blobs may be retrieved is not
-// specified
-// here, but a model implementation is in the Remote Execution
-// API's
-// "ContentAddressibleStorage" interface.
-//
-// In the context of the RWAPI, a Digest will virtually always refer to
-// the
-// contents of a file or a directory. The latter is represented by
-// the
-// byte-encoded Directory message.
+// specified here, but a model implementation is in the Remote Execution
+// API's "ContentAddressibleStorage" interface. In the context of the
+// RWAPI, a Digest will virtually always refer to the contents of a file
+// or a directory. The latter is represented by the byte-encoded
+// Directory message.
 type GoogleDevtoolsRemoteworkersV1test2Digest struct {
 	// Hash: A string-encoded hash (eg "1a2b3c", not the byte array [0x1a,
-	// 0x2b, 0x3c])
-	// using an implementation-defined hash algorithm (eg SHA-256).
+	// 0x2b, 0x3c]) using an implementation-defined hash algorithm (eg
+	// SHA-256).
 	Hash string `json:"hash,omitempty"`
 
 	// SizeBytes: The size of the contents. While this is not strictly
-	// required as part of an
-	// identifier (after all, any given hash will have exactly one
-	// canonical
-	// size), it's useful in almost all cases when one might want to send
-	// or
-	// retrieve blobs of content and is included here for this reason.
+	// required as part of an identifier (after all, any given hash will
+	// have exactly one canonical size), it's useful in almost all cases
+	// when one might want to send or retrieve blobs of content and is
+	// included here for this reason.
 	SizeBytes int64 `json:"sizeBytes,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "Hash") to
@@ -3458,8 +3009,8 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2Directory: The contents of a
-// directory. Similar to the equivalent message in the Remote
-// Execution API.
+// directory. Similar to the equivalent message in the Remote Execution
+// API.
 type GoogleDevtoolsRemoteworkersV1test2Directory struct {
 	// Directories: Any subdirectories
 	Directories []*GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata `json:"directories,omitempty"`
@@ -3491,13 +3042,11 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata: The metadata for
-// a directory. Similar to the equivalent message in the
-// Remote
+// a directory. Similar to the equivalent message in the Remote
 // Execution API.
 type GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata struct {
 	// Digest: A pointer to the contents of the directory, in the form of a
-	// marshalled
-	// Directory message.
+	// marshalled Directory message.
 	Digest *GoogleDevtoolsRemoteworkersV1test2Digest `json:"digest,omitempty"`
 
 	// Path: The path of the directory, as in FileMetadata.path.
@@ -3527,32 +3076,25 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2FileMetadata: The metadata for a
-// file. Similar to the equivalent message in the Remote
-// Execution API.
+// file. Similar to the equivalent message in the Remote Execution API.
 type GoogleDevtoolsRemoteworkersV1test2FileMetadata struct {
 	// Contents: If the file is small enough, its contents may also or
-	// alternatively be
-	// listed here.
+	// alternatively be listed here.
 	Contents string `json:"contents,omitempty"`
 
 	// Digest: A pointer to the contents of the file. The method by which a
-	// client
-	// retrieves the contents from a CAS system is not defined here.
+	// client retrieves the contents from a CAS system is not defined here.
 	Digest *GoogleDevtoolsRemoteworkersV1test2Digest `json:"digest,omitempty"`
 
 	// IsExecutable: Properties of the file
 	IsExecutable bool `json:"isExecutable,omitempty"`
 
-	// Path: The path of this file. If this message is part of
-	// the
+	// Path: The path of this file. If this message is part of the
 	// CommandOutputs.outputs fields, the path is relative to the execution
-	// root
-	// and must correspond to an entry in CommandTask.outputs.files. If
-	// this
-	// message is part of a Directory message, then the path is relative to
-	// the
-	// root of that directory. All paths MUST be delimited by forward
-	// slashes.
+	// root and must correspond to an entry in CommandTask.outputs.files. If
+	// this message is part of a Directory message, then the path is
+	// relative to the root of that directory. All paths MUST be delimited
+	// by forward slashes.
 	Path string `json:"path,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Contents") to
@@ -3621,52 +3163,38 @@
 }
 
 // GoogleLongrunningOperation: This resource represents a long-running
-// operation that is the result of a
-// network API call.
+// operation that is the result of a network API call.
 type GoogleLongrunningOperation struct {
 	// Done: 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.
+	// progress. If `true`, the operation is completed, and either `error`
+	// or `response` is available.
 	Done bool `json:"done,omitempty"`
 
 	// Error: The error result of the operation in case of failure or
 	// cancellation.
 	Error *GoogleRpcStatus `json:"error,omitempty"`
 
-	// Metadata: 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.
+	// Metadata: 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.
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Name: The server-assigned name, which is only unique within the same
-	// service that
-	// originally returns it. If you use the default HTTP mapping,
-	// the
-	// `name` should be a resource name ending with
+	// service that originally returns it. If you use the default HTTP
+	// mapping, the `name` should be a resource name ending with
 	// `operations/{unique_id}`.
 	Name string `json:"name,omitempty"`
 
-	// Response: 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`.
+	// Response: 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`.
 	Response googleapi.RawMessage `json:"response,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -3697,17 +3225,11 @@
 }
 
 // GoogleProtobufEmpty: 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 `{}`.
+// 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 `{}`.
 type GoogleProtobufEmpty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -3715,32 +3237,24 @@
 }
 
 // GoogleRpcStatus: The `Status` type defines a logical error model that
-// is suitable for
-// different programming environments, including REST APIs and RPC APIs.
-// It is
-// used by [gRPC](https://github.com/grpc). Each `Status` message
-// contains
-// three pieces of data: error code, error message, and error
-// details.
-//
-// You can find out more about this error model and how to work with it
-// in the
-// [API Design Guide](https://cloud.google.com/apis/design/errors).
+// is suitable for different programming environments, including REST
+// APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc).
+// Each `Status` message contains three pieces of data: error code,
+// error message, and error details. You can find out more about this
+// error model and how to work with it in the [API Design
+// Guide](https://cloud.google.com/apis/design/errors).
 type GoogleRpcStatus struct {
 	// Code: The status code, which should be an enum value of
 	// google.rpc.Code.
 	Code int64 `json:"code,omitempty"`
 
-	// Details: A list of messages that carry the error details.  There is a
-	// common set of
-	// message types for APIs to use.
+	// Details: A list of messages that carry the error details. There is a
+	// common set of message types for APIs to use.
 	Details []googleapi.RawMessage `json:"details,omitempty"`
 
 	// Message: 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.
+	// English. Any user-facing error message should be localized and sent
+	// in the google.rpc.Status.details field, or localized by the client.
 	Message string `json:"message,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Code") to
@@ -3777,8 +3291,8 @@
 	header_      http.Header
 }
 
-// Download: Downloads media. Download is supported
-// on the URI `/v1/media/{+name}?alt=media`.
+// Download: Downloads media. Download is supported on the URI
+// `/v1/media/{+name}?alt=media`.
 func (r *MediaService) Download(resourceName string) *MediaDownloadCall {
 	c := &MediaDownloadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resourceName = resourceName
@@ -3822,7 +3336,7 @@
 
 func (c *MediaDownloadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3900,7 +3414,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Downloads media. Download is supported\non the URI `/v1/media/{+name}?alt=media`.",
+	//   "description": "Downloads media. Download is supported on the URI `/v1/media/{+name}?alt=media`.",
 	//   "flatPath": "v1/media/{mediaId}",
 	//   "httpMethod": "GET",
 	//   "id": "remotebuildexecution.media.download",
@@ -3909,7 +3423,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resourceName": {
-	//       "description": "Name of the media that is being downloaded.  See\nReadRequest.resource_name.",
+	//       "description": "Name of the media that is being downloaded. See ReadRequest.resource_name.",
 	//       "location": "path",
 	//       "pattern": "^.*$",
 	//       "required": true,
@@ -3940,8 +3454,8 @@
 	header_               http.Header
 }
 
-// Upload: Uploads media. Upload is supported on
-// the URI `/upload/v1/media/{+name}`.
+// Upload: Uploads media. Upload is supported on the URI
+// `/upload/v1/media/{+name}`.
 func (r *MediaService) Upload(resourceName string, googlebytestreammedia *GoogleBytestreamMedia) *MediaUploadCall {
 	c := &MediaUploadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resourceName = resourceName
@@ -4015,7 +3529,7 @@
 
 func (c *MediaUploadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4107,7 +3621,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Uploads media. Upload is supported on\nthe URI `/upload/v1/media/{+name}`.",
+	//   "description": "Uploads media. Upload is supported on the URI `/upload/v1/media/{+name}`.",
 	//   "flatPath": "v1/media/{mediaId}",
 	//   "httpMethod": "POST",
 	//   "id": "remotebuildexecution.media.upload",
@@ -4127,7 +3641,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resourceName": {
-	//       "description": "Name of the media that is being downloaded.  See\nReadRequest.resource_name.",
+	//       "description": "Name of the media that is being downloaded. See ReadRequest.resource_name.",
 	//       "location": "path",
 	//       "pattern": "^.*$",
 	//       "required": true,
@@ -4161,23 +3675,15 @@
 }
 
 // Cancel: 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`.
+// 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`.
 func (r *OperationsService) Cancel(name string, googlelongrunningcanceloperationrequest *GoogleLongrunningCancelOperationRequest) *OperationsCancelCall {
 	c := &OperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4212,7 +3718,7 @@
 
 func (c *OperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4276,7 +3782,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Starts asynchronous cancellation on a long-running operation.  The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed.  If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.  Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
+	//   "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
 	//   "flatPath": "v1/operations/{operationsId}:cancel",
 	//   "httpMethod": "POST",
 	//   "id": "remotebuildexecution.operations.cancel",
@@ -4317,12 +3823,9 @@
 }
 
 // Delete: 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`.
+// 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`.
 func (r *OperationsService) Delete(name string) *OperationsDeleteCall {
 	c := &OperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4356,7 +3859,7 @@
 
 func (c *OperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4415,7 +3918,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.",
+	//   "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
 	//   "flatPath": "v1/operations/{operationsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "remotebuildexecution.operations.delete",
@@ -4454,22 +3957,15 @@
 }
 
 // List: 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. 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.
 func (r *OperationsService) List(name string) *OperationsListCall {
 	c := &OperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4534,7 +4030,7 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4597,7 +4093,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
+	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
 	//   "flatPath": "v1/operations",
 	//   "httpMethod": "GET",
 	//   "id": "remotebuildexecution.operations.list",
@@ -4672,11 +4168,9 @@
 	header_      http.Header
 }
 
-// Get: 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.
+// Get: 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.
 func (r *ProjectsOperationsService) Get(name string) *ProjectsOperationsGetCall {
 	c := &ProjectsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4720,7 +4214,7 @@
 
 func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4782,7 +4276,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+	//   "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
 	//   "flatPath": "v1/projects/{projectsId}/operations/{operationsId}",
 	//   "httpMethod": "GET",
 	//   "id": "remotebuildexecution.projects.operations.get",
diff --git a/remotebuildexecution/v1alpha/remotebuildexecution-api.json b/remotebuildexecution/v1alpha/remotebuildexecution-api.json
index 6724e02..0dc83cf 100644
--- a/remotebuildexecution/v1alpha/remotebuildexecution-api.json
+++ b/remotebuildexecution/v1alpha/remotebuildexecution-api.json
@@ -110,7 +110,7 @@
         "instances": {
           "methods": {
             "create": {
-              "description": "Creates a new instance in the specified region.\nReturns a long running operation which contains an instance on completion.\nWhile the long running operation is in progress, any call to `GetInstance`\nreturns an instance in state `CREATING`.",
+              "description": "Creates a new instance in the specified region. Returns a long running operation which contains an instance on completion. While the long running operation is in progress, any call to `GetInstance` returns an instance in state `CREATING`.",
               "flatPath": "v1alpha/projects/{projectsId}/instances",
               "httpMethod": "POST",
               "id": "remotebuildexecution.projects.instances.create",
@@ -119,7 +119,7 @@
               ],
               "parameters": {
                 "parent": {
-                  "description": "Resource name of the project containing the instance.\nFormat: `projects/[PROJECT_ID]`.",
+                  "description": "Resource name of the project containing the instance. Format: `projects/[PROJECT_ID]`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
@@ -138,7 +138,7 @@
               ]
             },
             "delete": {
-              "description": "Deletes the specified instance.\nReturns a long running operation which contains a `google.protobuf.Empty`\nresponse on completion.\nDeleting an instance with worker pools in it will delete these worker\npools.",
+              "description": "Deletes the specified instance. Returns a long running operation which contains a `google.protobuf.Empty` response on completion. Deleting an instance with worker pools in it will delete these worker pools.",
               "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}",
               "httpMethod": "DELETE",
               "id": "remotebuildexecution.projects.instances.delete",
@@ -147,7 +147,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Name of the instance to delete.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+                  "description": "Name of the instance to delete. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/instances/[^/]+$",
                   "required": true,
@@ -172,7 +172,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Name of the instance to retrieve.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+                  "description": "Name of the instance to retrieve. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/instances/[^/]+$",
                   "required": true,
@@ -197,7 +197,7 @@
               ],
               "parameters": {
                 "parent": {
-                  "description": "Resource name of the project.\nFormat: `projects/[PROJECT_ID]`.",
+                  "description": "Resource name of the project. Format: `projects/[PROJECT_ID]`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
@@ -211,13 +211,57 @@
               "scopes": [
                 "https://www.googleapis.com/auth/cloud-platform"
               ]
+            },
+            "patch": {
+              "description": "Updates the specified instance. Returns a long running operation which contains the updated instance in the response on completion.",
+              "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}",
+              "httpMethod": "PATCH",
+              "id": "remotebuildexecution.projects.instances.patch",
+              "parameterOrder": [
+                "name"
+              ],
+              "parameters": {
+                "loggingEnabled": {
+                  "description": "Deprecated, use instance.logging_enabled instead. Whether to enable Stackdriver logging for this instance.",
+                  "location": "query",
+                  "type": "boolean"
+                },
+                "name": {
+                  "description": "Output only. Instance resource name formatted as: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. Name should not be populated when creating an instance since it is provided in the `instance_id` field.",
+                  "location": "path",
+                  "pattern": "^projects/[^/]+/instances/[^/]+$",
+                  "required": true,
+                  "type": "string"
+                },
+                "name1": {
+                  "description": "Deprecated, use instance.Name instead. Name of the instance to update. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+                  "location": "query",
+                  "type": "string"
+                },
+                "updateMask": {
+                  "description": "The update mask applies to instance. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If an empty update_mask is provided, only the non-default valued field in the worker pool field will be updated. Note that in order to update a field to the default value (zero, false, empty string) an explicit update_mask must be provided.",
+                  "format": "google-fieldmask",
+                  "location": "query",
+                  "type": "string"
+                }
+              },
+              "path": "v1alpha/{+name}",
+              "request": {
+                "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance"
+              },
+              "response": {
+                "$ref": "GoogleLongrunningOperation"
+              },
+              "scopes": [
+                "https://www.googleapis.com/auth/cloud-platform"
+              ]
             }
           },
           "resources": {
             "workerpools": {
               "methods": {
                 "create": {
-                  "description": "Creates a new worker pool with a specified size and configuration.\nReturns a long running operation which contains a worker pool on\ncompletion. While the long running operation is in progress, any call to\n`GetWorkerPool` returns a worker pool in state `CREATING`.",
+                  "description": "Creates a new worker pool with a specified size and configuration. Returns a long running operation which contains a worker pool on completion. While the long running operation is in progress, any call to `GetWorkerPool` returns a worker pool in state `CREATING`.",
                   "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}/workerpools",
                   "httpMethod": "POST",
                   "id": "remotebuildexecution.projects.instances.workerpools.create",
@@ -226,7 +270,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Resource name of the instance in which to create the new worker pool.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+                      "description": "Resource name of the instance in which to create the new worker pool. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/instances/[^/]+$",
                       "required": true,
@@ -245,7 +289,7 @@
                   ]
                 },
                 "delete": {
-                  "description": "Deletes the specified worker pool.\nReturns a long running operation, which contains a `google.protobuf.Empty`\nresponse on completion.\nWhile the long running operation is in progress, any call to\n`GetWorkerPool` returns a worker pool in state `DELETING`.",
+                  "description": "Deletes the specified worker pool. Returns a long running operation, which contains a `google.protobuf.Empty` response on completion. While the long running operation is in progress, any call to `GetWorkerPool` returns a worker pool in state `DELETING`.",
                   "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}/workerpools/{workerpoolsId}",
                   "httpMethod": "DELETE",
                   "id": "remotebuildexecution.projects.instances.workerpools.delete",
@@ -254,7 +298,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Name of the worker pool to delete.\nFormat:\n`projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.",
+                      "description": "Name of the worker pool to delete. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/instances/[^/]+/workerpools/[^/]+$",
                       "required": true,
@@ -279,7 +323,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Name of the worker pool to retrieve.\nFormat:\n`projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.",
+                      "description": "Name of the worker pool to retrieve. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/instances/[^/]+/workerpools/[^/]+$",
                       "required": true,
@@ -304,12 +348,12 @@
                   ],
                   "parameters": {
                     "filter": {
-                      "description": "Optional. A filter expression that filters resources listed in\nthe response. The expression must specify the field name, a comparison\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. String values are\ncase-insensitive.\nThe comparison operator must be either `:`, `=`, `!=`, `\u003e`, `\u003e=`, `\u003c=` or\n`\u003c`.\nThe `:` operator can be used with string fields to match substrings.\nFor non-string fields it is equivalent to the `=` operator.\nThe `:*` comparison can be used to test  whether a key has been defined.\n\nYou can also filter on nested fields.\n\nTo filter on multiple expressions, you can separate expression using\n`AND` and `OR` operators, using parentheses to specify precedence. If\nneither operator is specified, `AND` is assumed.\n\nExamples:\n\nInclude only pools with more than 100 reserved workers:\n`(worker_count \u003e 100) (worker_config.reserved = true)`\n\nInclude only pools with a certain label or machines of the n1-standard\nfamily:\n`worker_config.labels.key1 : * OR worker_config.machine_type: n1-standard`",
+                      "description": "Optional. A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. String values are case-insensitive. The comparison operator must be either `:`, `=`, `!=`, `\u003e`, `\u003e=`, `\u003c=` or `\u003c`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. You can also filter on nested fields. To filter on multiple expressions, you can separate expression using `AND` and `OR` operators, using parentheses to specify precedence. If neither operator is specified, `AND` is assumed. Examples: Include only pools with more than 100 reserved workers: `(worker_count \u003e 100) (worker_config.reserved = true)` Include only pools with a certain label or machines of the n1-standard family: `worker_config.labels.key1 : * OR worker_config.machine_type: n1-standard`",
                       "location": "query",
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Resource name of the instance.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+                      "description": "Resource name of the instance. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/instances/[^/]+$",
                       "required": true,
@@ -325,7 +369,7 @@
                   ]
                 },
                 "patch": {
-                  "description": "Updates an existing worker pool with a specified size and/or configuration.\nReturns a long running operation, which contains a worker pool on\ncompletion. While the long running operation is in progress, any call to\n`GetWorkerPool` returns a worker pool in state `UPDATING`.",
+                  "description": "Updates an existing worker pool with a specified size and/or configuration. Returns a long running operation, which contains a worker pool on completion. While the long running operation is in progress, any call to `GetWorkerPool` returns a worker pool in state `UPDATING`.",
                   "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}/workerpools/{workerpoolsId}",
                   "httpMethod": "PATCH",
                   "id": "remotebuildexecution.projects.instances.workerpools.patch",
@@ -334,7 +378,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "WorkerPool resource name formatted as:\n`projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.\nname should not be populated when creating a worker pool since it is\nprovided in the `poolId` field.",
+                      "description": "WorkerPool resource name formatted as: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`. name should not be populated when creating a worker pool since it is provided in the `poolId` field.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/instances/[^/]+/workerpools/[^/]+$",
                       "required": true,
@@ -359,7 +403,7 @@
         "operations": {
           "methods": {
             "get": {
-              "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+              "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
               "flatPath": "v1alpha/projects/{projectsId}/operations/{operationsId}",
               "httpMethod": "GET",
               "id": "remotebuildexecution.projects.operations.get",
@@ -388,34 +432,34 @@
       }
     }
   },
-  "revision": "20200721",
+  "revision": "20200810",
   "rootUrl": "https://admin-remotebuildexecution.googleapis.com/",
   "schemas": {
     "BuildBazelRemoteExecutionV2Action": {
-      "description": "An `Action` captures all the information about an execution which is required\nto reproduce it.\n\n`Action`s are the core component of the [Execution] service. A single\n`Action` represents a repeatable action that can be performed by the\nexecution service. `Action`s can be succinctly identified by the digest of\ntheir wire format encoding and, once an `Action` has been executed, will be\ncached in the action cache. Future requests can then use the cached result\nrather than needing to run afresh.\n\nWhen a server completes execution of an\nAction, it MAY choose to\ncache the result in\nthe ActionCache unless\n`do_not_cache` is `true`. Clients SHOULD expect the server to do so. By\ndefault, future calls to\nExecute the same\n`Action` will also serve their results from the cache. Clients must take care\nto understand the caching behaviour. Ideally, all `Action`s will be\nreproducible so that serving a result from cache is always desirable and\ncorrect.",
+      "description": "An `Action` captures all the information about an execution which is required to reproduce it. `Action`s are the core component of the [Execution] service. A single `Action` represents a repeatable action that can be performed by the execution service. `Action`s can be succinctly identified by the digest of their wire format encoding and, once an `Action` has been executed, will be cached in the action cache. Future requests can then use the cached result rather than needing to run afresh. When a server completes execution of an Action, it MAY choose to cache the result in the ActionCache unless `do_not_cache` is `true`. Clients SHOULD expect the server to do so. By default, future calls to Execute the same `Action` will also serve their results from the cache. Clients must take care to understand the caching behaviour. Ideally, all `Action`s will be reproducible so that serving a result from cache is always desirable and correct.",
       "id": "BuildBazelRemoteExecutionV2Action",
       "properties": {
         "commandDigest": {
           "$ref": "BuildBazelRemoteExecutionV2Digest",
-          "description": "The digest of the Command\nto run, which MUST be present in the\nContentAddressableStorage."
+          "description": "The digest of the Command to run, which MUST be present in the ContentAddressableStorage."
         },
         "doNotCache": {
-          "description": "If true, then the `Action`'s result cannot be cached, and in-flight\nrequests for the same `Action` may not be merged.",
+          "description": "If true, then the `Action`'s result cannot be cached, and in-flight requests for the same `Action` may not be merged.",
           "type": "boolean"
         },
         "inputRootDigest": {
           "$ref": "BuildBazelRemoteExecutionV2Digest",
-          "description": "The digest of the root\nDirectory for the input\nfiles. The files in the directory tree are available in the correct\nlocation on the build machine before the command is executed. The root\ndirectory, as well as every subdirectory and content blob referred to, MUST\nbe in the\nContentAddressableStorage."
+          "description": "The digest of the root Directory for the input files. The files in the directory tree are available in the correct location on the build machine before the command is executed. The root directory, as well as every subdirectory and content blob referred to, MUST be in the ContentAddressableStorage."
         },
         "outputNodeProperties": {
-          "description": "List of required supported NodeProperty\nkeys. In order to ensure that equivalent `Action`s always hash to the same\nvalue, the supported node properties MUST be lexicographically sorted by name.\nSorting of strings is done by code point, equivalently, by the UTF-8 bytes.\n\nThe interpretation of these properties is server-dependent. If a property is\nnot recognized by the server, the server will return an `INVALID_ARGUMENT`\nerror.",
+          "description": "List of required supported NodeProperty keys. In order to ensure that equivalent `Action`s always hash to the same value, the supported node properties MUST be lexicographically sorted by name. Sorting of strings is done by code point, equivalently, by the UTF-8 bytes. The interpretation of these properties is server-dependent. If a property is not recognized by the server, the server will return an `INVALID_ARGUMENT` error.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "timeout": {
-          "description": "A timeout after which the execution should be killed. If the timeout is\nabsent, then the client is specifying that the execution should continue\nas long as the server will let it. The server SHOULD impose a timeout if\nthe client does not specify one, however, if the client does specify a\ntimeout that is longer than the server's maximum timeout, the server MUST\nreject the request.\n\nThe timeout is a part of the\nAction message, and\ntherefore two `Actions` with different timeouts are different, even if they\nare otherwise identical. This is because, if they were not, running an\n`Action` with a lower timeout than is required might result in a cache hit\nfrom an execution run with a longer timeout, hiding the fact that the\ntimeout is too short. By encoding it directly in the `Action`, a lower\ntimeout will result in a cache miss and the execution timeout will fail\nimmediately, rather than whenever the cache entry gets evicted.",
+          "description": "A timeout after which the execution should be killed. If the timeout is absent, then the client is specifying that the execution should continue as long as the server will let it. The server SHOULD impose a timeout if the client does not specify one, however, if the client does specify a timeout that is longer than the server's maximum timeout, the server MUST reject the request. The timeout is a part of the Action message, and therefore two `Actions` with different timeouts are different, even if they are otherwise identical. This is because, if they were not, running an `Action` with a lower timeout than is required might result in a cache hit from an execution run with a longer timeout, hiding the fact that the timeout is too short. By encoding it directly in the `Action`, a lower timeout will result in a cache miss and the execution timeout will fail immediately, rather than whenever the cache entry gets evicted.",
           "format": "google-duration",
           "type": "string"
         }
@@ -423,7 +467,7 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2ActionResult": {
-      "description": "An ActionResult represents the result of an\nAction being run.",
+      "description": "An ActionResult represents the result of an Action being run.",
       "id": "BuildBazelRemoteExecutionV2ActionResult",
       "properties": {
         "executionMetadata": {
@@ -436,35 +480,35 @@
           "type": "integer"
         },
         "outputDirectories": {
-          "description": "The output directories of the action. For each output directory requested\nin the `output_directories` or `output_paths` field of the Action, if the\ncorresponding directory existed after the action completed, a single entry\nwill be present in the output list, which will contain the digest of a\nTree message containing the\ndirectory tree, and the path equal exactly to the corresponding Action\noutput_directories member.\n\nAs an example, suppose the Action had an output directory `a/b/dir` and the\nexecution produced the following contents in `a/b/dir`: a file named `bar`\nand a directory named `foo` with an executable file named `baz`. Then,\noutput_directory will contain (hashes shortened for readability):\n\n```json\n// OutputDirectory proto:\n{\n  path: \"a/b/dir\"\n  tree_digest: {\n    hash: \"4a73bc9d03...\",\n    size: 55\n  }\n}\n// Tree proto with hash \"4a73bc9d03...\" and size 55:\n{\n  root: {\n    files: [\n      {\n        name: \"bar\",\n        digest: {\n          hash: \"4a73bc9d03...\",\n          size: 65534\n        }\n      }\n    ],\n    directories: [\n      {\n        name: \"foo\",\n        digest: {\n          hash: \"4cf2eda940...\",\n          size: 43\n        }\n      }\n    ]\n  }\n  children : {\n    // (Directory proto with hash \"4cf2eda940...\" and size 43)\n    files: [\n      {\n        name: \"baz\",\n        digest: {\n          hash: \"b2c941073e...\",\n          size: 1294,\n        },\n        is_executable: true\n      }\n    ]\n  }\n}\n```\nIf an output of the same name as listed in `output_files` of\nthe Command was found in `output_directories`, but was not a directory, the\nserver will return a FAILED_PRECONDITION.",
+          "description": "The output directories of the action. For each output directory requested in the `output_directories` or `output_paths` field of the Action, if the corresponding directory existed after the action completed, a single entry will be present in the output list, which will contain the digest of a Tree message containing the directory tree, and the path equal exactly to the corresponding Action output_directories member. As an example, suppose the Action had an output directory `a/b/dir` and the execution produced the following contents in `a/b/dir`: a file named `bar` and a directory named `foo` with an executable file named `baz`. Then, output_directory will contain (hashes shortened for readability): ```json // OutputDirectory proto: { path: \"a/b/dir\" tree_digest: { hash: \"4a73bc9d03...\", size: 55 } } // Tree proto with hash \"4a73bc9d03...\" and size 55: { root: { files: [ { name: \"bar\", digest: { hash: \"4a73bc9d03...\", size: 65534 } } ], directories: [ { name: \"foo\", digest: { hash: \"4cf2eda940...\", size: 43 } } ] } children : { // (Directory proto with hash \"4cf2eda940...\" and size 43) files: [ { name: \"baz\", digest: { hash: \"b2c941073e...\", size: 1294, }, is_executable: true } ] } } ``` If an output of the same name as listed in `output_files` of the Command was found in `output_directories`, but was not a directory, the server will return a FAILED_PRECONDITION.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2OutputDirectory"
           },
           "type": "array"
         },
         "outputDirectorySymlinks": {
-          "description": "The output directories of the action that are symbolic links to other\ndirectories. Those may be links to other output directories, or input\ndirectories, or even absolute paths outside of the working directory,\nif the server supports\nSymlinkAbsolutePathStrategy.ALLOWED.\nFor each output directory requested in the `output_directories` field of\nthe Action, if the directory existed after the action completed, a\nsingle entry will be present either in this field, or in the\n`output_directories` field, if the directory was not a symbolic link.\n\nIf an output of the same name was found, but was a symbolic link to a file\ninstead of a directory, the server will return a FAILED_PRECONDITION.\nIf the action does not produce the requested output, then that output\nwill be omitted from the list. The server is free to arrange the output\nlist as desired; clients MUST NOT assume that the output list is sorted.\n\nDEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API\nshould still populate this field in addition to `output_symlinks`.",
+          "description": "The output directories of the action that are symbolic links to other directories. Those may be links to other output directories, or input directories, or even absolute paths outside of the working directory, if the server supports SymlinkAbsolutePathStrategy.ALLOWED. For each output directory requested in the `output_directories` field of the Action, if the directory existed after the action completed, a single entry will be present either in this field, or in the `output_directories` field, if the directory was not a symbolic link. If an output of the same name was found, but was a symbolic link to a file instead of a directory, the server will return a FAILED_PRECONDITION. If the action does not produce the requested output, then that output will be omitted from the list. The server is free to arrange the output list as desired; clients MUST NOT assume that the output list is sorted. DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API should still populate this field in addition to `output_symlinks`.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2OutputSymlink"
           },
           "type": "array"
         },
         "outputFileSymlinks": {
-          "description": "The output files of the action that are symbolic links to other files. Those\nmay be links to other output files, or input files, or even absolute paths\noutside of the working directory, if the server supports\nSymlinkAbsolutePathStrategy.ALLOWED.\nFor each output file requested in the `output_files` or `output_paths`\nfield of the Action, if the corresponding file existed after\nthe action completed, a single entry will be present either in this field,\nor in the `output_files` field, if the file was not a symbolic link.\n\nIf an output symbolic link of the same name as listed in `output_files` of\nthe Command was found, but its target type was not a regular file, the\nserver will return a FAILED_PRECONDITION.\nIf the action does not produce the requested output, then that output\nwill be omitted from the list. The server is free to arrange the output\nlist as desired; clients MUST NOT assume that the output list is sorted.\n\nDEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API\nshould still populate this field in addition to `output_symlinks`.",
+          "description": "The output files of the action that are symbolic links to other files. Those may be links to other output files, or input files, or even absolute paths outside of the working directory, if the server supports SymlinkAbsolutePathStrategy.ALLOWED. For each output file requested in the `output_files` or `output_paths` field of the Action, if the corresponding file existed after the action completed, a single entry will be present either in this field, or in the `output_files` field, if the file was not a symbolic link. If an output symbolic link of the same name as listed in `output_files` of the Command was found, but its target type was not a regular file, the server will return a FAILED_PRECONDITION. If the action does not produce the requested output, then that output will be omitted from the list. The server is free to arrange the output list as desired; clients MUST NOT assume that the output list is sorted. DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API should still populate this field in addition to `output_symlinks`.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2OutputSymlink"
           },
           "type": "array"
         },
         "outputFiles": {
-          "description": "The output files of the action. For each output file requested in the\n`output_files` or `output_paths` field of the Action, if the corresponding\nfile existed after the action completed, a single entry will be present\neither in this field, or the `output_file_symlinks` field if the file was\na symbolic link to another file (`output_symlinks` field after v2.1).\n\nIf an output listed in `output_files` was found, but was a directory rather\nthan a regular file, the server will return a FAILED_PRECONDITION.\nIf the action does not produce the requested output, then that output\nwill be omitted from the list. The server is free to arrange the output\nlist as desired; clients MUST NOT assume that the output list is sorted.",
+          "description": "The output files of the action. For each output file requested in the `output_files` or `output_paths` field of the Action, if the corresponding file existed after the action completed, a single entry will be present either in this field, or the `output_file_symlinks` field if the file was a symbolic link to another file (`output_symlinks` field after v2.1). If an output listed in `output_files` was found, but was a directory rather than a regular file, the server will return a FAILED_PRECONDITION. If the action does not produce the requested output, then that output will be omitted from the list. The server is free to arrange the output list as desired; clients MUST NOT assume that the output list is sorted.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2OutputFile"
           },
           "type": "array"
         },
         "outputSymlinks": {
-          "description": "New in v2.1: this field will only be populated if the command\n`output_paths` field was used, and not the pre v2.1 `output_files` or\n`output_directories` fields.\nThe output paths of the action that are symbolic links to other paths. Those\nmay be links to other outputs, or inputs, or even absolute paths\noutside of the working directory, if the server supports\nSymlinkAbsolutePathStrategy.ALLOWED.\nA single entry for each output requested in `output_paths`\nfield of the Action, if the corresponding path existed after\nthe action completed and was a symbolic link.\n\nIf the action does not produce a requested output, then that output\nwill be omitted from the list. The server is free to arrange the output\nlist as desired; clients MUST NOT assume that the output list is sorted.",
+          "description": "New in v2.1: this field will only be populated if the command `output_paths` field was used, and not the pre v2.1 `output_files` or `output_directories` fields. The output paths of the action that are symbolic links to other paths. Those may be links to other outputs, or inputs, or even absolute paths outside of the working directory, if the server supports SymlinkAbsolutePathStrategy.ALLOWED. A single entry for each output requested in `output_paths` field of the Action, if the corresponding path existed after the action completed and was a symbolic link. If the action does not produce a requested output, then that output will be omitted from the list. The server is free to arrange the output list as desired; clients MUST NOT assume that the output list is sorted.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2OutputSymlink"
           },
@@ -472,19 +516,19 @@
         },
         "stderrDigest": {
           "$ref": "BuildBazelRemoteExecutionV2Digest",
-          "description": "The digest for a blob containing the standard error of the action, which\ncan be retrieved from the\nContentAddressableStorage."
+          "description": "The digest for a blob containing the standard error of the action, which can be retrieved from the ContentAddressableStorage."
         },
         "stderrRaw": {
-          "description": "The standard error buffer of the action. The server SHOULD NOT inline\nstderr unless requested by the client in the\nGetActionResultRequest\nmessage. The server MAY omit inlining, even if requested, and MUST do so if inlining\nwould cause the response to exceed message size limits.",
+          "description": "The standard error buffer of the action. The server SHOULD NOT inline stderr unless requested by the client in the GetActionResultRequest message. The server MAY omit inlining, even if requested, and MUST do so if inlining would cause the response to exceed message size limits.",
           "format": "byte",
           "type": "string"
         },
         "stdoutDigest": {
           "$ref": "BuildBazelRemoteExecutionV2Digest",
-          "description": "The digest for a blob containing the standard output of the action, which\ncan be retrieved from the\nContentAddressableStorage."
+          "description": "The digest for a blob containing the standard output of the action, which can be retrieved from the ContentAddressableStorage."
         },
         "stdoutRaw": {
-          "description": "The standard output buffer of the action. The server SHOULD NOT inline\nstdout unless requested by the client in the\nGetActionResultRequest\nmessage. The server MAY omit inlining, even if requested, and MUST do so if inlining\nwould cause the response to exceed message size limits.",
+          "description": "The standard output buffer of the action. The server SHOULD NOT inline stdout unless requested by the client in the GetActionResultRequest message. The server MAY omit inlining, even if requested, and MUST do so if inlining would cause the response to exceed message size limits.",
           "format": "byte",
           "type": "string"
         }
@@ -492,39 +536,39 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2Command": {
-      "description": "A `Command` is the actual command executed by a worker running an\nAction and specifications of its\nenvironment.\n\nExcept as otherwise required, the environment (such as which system\nlibraries or binaries are available, and what filesystems are mounted where)\nis defined by and specific to the implementation of the remote execution API.",
+      "description": "A `Command` is the actual command executed by a worker running an Action and specifications of its environment. Except as otherwise required, the environment (such as which system libraries or binaries are available, and what filesystems are mounted where) is defined by and specific to the implementation of the remote execution API.",
       "id": "BuildBazelRemoteExecutionV2Command",
       "properties": {
         "arguments": {
-          "description": "The arguments to the command. The first argument must be the path to the\nexecutable, which must be either a relative path, in which case it is\nevaluated with respect to the input root, or an absolute path.",
+          "description": "The arguments to the command. The first argument must be the path to the executable, which must be either a relative path, in which case it is evaluated with respect to the input root, or an absolute path.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "environmentVariables": {
-          "description": "The environment variables to set when running the program. The worker may\nprovide its own default environment variables; these defaults can be\noverridden using this field. Additional variables can also be specified.\n\nIn order to ensure that equivalent\nCommands always hash to the same\nvalue, the environment variables MUST be lexicographically sorted by name.\nSorting of strings is done by code point, equivalently, by the UTF-8 bytes.",
+          "description": "The environment variables to set when running the program. The worker may provide its own default environment variables; these defaults can be overridden using this field. Additional variables can also be specified. In order to ensure that equivalent Commands always hash to the same value, the environment variables MUST be lexicographically sorted by name. Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2CommandEnvironmentVariable"
           },
           "type": "array"
         },
         "outputDirectories": {
-          "description": "A list of the output directories that the client expects to retrieve from\nthe action. Only the listed directories will be returned (an entire\ndirectory structure will be returned as a\nTree message digest, see\nOutputDirectory), as\nwell as files listed in `output_files`. Other files or directories that\nmay be created during command execution are discarded.\n\nThe paths are relative to the working directory of the action execution.\nThe paths are specified using a single forward slash (`/`) as a path\nseparator, even if the execution platform natively uses a different\nseparator. The path MUST NOT include a trailing slash, nor a leading slash,\nbeing a relative path. The special value of empty string is allowed,\nalthough not recommended, and can be used to capture the entire working\ndirectory tree, including inputs.\n\nIn order to ensure consistent hashing of the same Action, the output paths\nMUST be sorted lexicographically by code point (or, equivalently, by UTF-8\nbytes).\n\nAn output directory cannot be duplicated or have the same path as any of\nthe listed output files. An output directory is allowed to be a parent of\nanother output directory.\n\nDirectories leading up to the output directories (but not the output\ndirectories themselves) are created by the worker prior to execution, even\nif they are not explicitly part of the input root.\n\nDEPRECATED since 2.1: Use `output_paths` instead.",
+          "description": "A list of the output directories that the client expects to retrieve from the action. Only the listed directories will be returned (an entire directory structure will be returned as a Tree message digest, see OutputDirectory), as well as files listed in `output_files`. Other files or directories that may be created during command execution are discarded. The paths are relative to the working directory of the action execution. The paths are specified using a single forward slash (`/`) as a path separator, even if the execution platform natively uses a different separator. The path MUST NOT include a trailing slash, nor a leading slash, being a relative path. The special value of empty string is allowed, although not recommended, and can be used to capture the entire working directory tree, including inputs. In order to ensure consistent hashing of the same Action, the output paths MUST be sorted lexicographically by code point (or, equivalently, by UTF-8 bytes). An output directory cannot be duplicated or have the same path as any of the listed output files. An output directory is allowed to be a parent of another output directory. Directories leading up to the output directories (but not the output directories themselves) are created by the worker prior to execution, even if they are not explicitly part of the input root. DEPRECATED since 2.1: Use `output_paths` instead.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "outputFiles": {
-          "description": "A list of the output files that the client expects to retrieve from the\naction. Only the listed files, as well as directories listed in\n`output_directories`, will be returned to the client as output.\nOther files or directories that may be created during command execution\nare discarded.\n\nThe paths are relative to the working directory of the action execution.\nThe paths are specified using a single forward slash (`/`) as a path\nseparator, even if the execution platform natively uses a different\nseparator. The path MUST NOT include a trailing slash, nor a leading slash,\nbeing a relative path.\n\nIn order to ensure consistent hashing of the same Action, the output paths\nMUST be sorted lexicographically by code point (or, equivalently, by UTF-8\nbytes).\n\nAn output file cannot be duplicated, be a parent of another output file, or\nhave the same path as any of the listed output directories.\n\nDirectories leading up to the output files are created by the worker prior\nto execution, even if they are not explicitly part of the input root.\n\nDEPRECATED since v2.1: Use `output_paths` instead.",
+          "description": "A list of the output files that the client expects to retrieve from the action. Only the listed files, as well as directories listed in `output_directories`, will be returned to the client as output. Other files or directories that may be created during command execution are discarded. The paths are relative to the working directory of the action execution. The paths are specified using a single forward slash (`/`) as a path separator, even if the execution platform natively uses a different separator. The path MUST NOT include a trailing slash, nor a leading slash, being a relative path. In order to ensure consistent hashing of the same Action, the output paths MUST be sorted lexicographically by code point (or, equivalently, by UTF-8 bytes). An output file cannot be duplicated, be a parent of another output file, or have the same path as any of the listed output directories. Directories leading up to the output files are created by the worker prior to execution, even if they are not explicitly part of the input root. DEPRECATED since v2.1: Use `output_paths` instead.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "outputPaths": {
-          "description": "A list of the output paths that the client expects to retrieve from the\naction. Only the listed paths will be returned to the client as output.\nThe type of the output (file or directory) is not specified, and will be\ndetermined by the server after action execution. If the resulting path is\na file, it will be returned in an\nOutputFile) typed field.\nIf the path is a directory, the entire directory structure will be returned\nas a Tree message digest, see\nOutputDirectory)\nOther files or directories that may be created during command execution\nare discarded.\n\nThe paths are relative to the working directory of the action execution.\nThe paths are specified using a single forward slash (`/`) as a path\nseparator, even if the execution platform natively uses a different\nseparator. The path MUST NOT include a trailing slash, nor a leading slash,\nbeing a relative path.\n\nIn order to ensure consistent hashing of the same Action, the output paths\nMUST be deduplicated and sorted lexicographically by code point (or,\nequivalently, by UTF-8 bytes).\n\nDirectories leading up to the output paths are created by the worker prior\nto execution, even if they are not explicitly part of the input root.\n\nNew in v2.1: this field supersedes the DEPRECATED `output_files` and\n`output_directories` fields. If `output_paths` is used, `output_files` and\n`output_directories` will be ignored!",
+          "description": "A list of the output paths that the client expects to retrieve from the action. Only the listed paths will be returned to the client as output. The type of the output (file or directory) is not specified, and will be determined by the server after action execution. If the resulting path is a file, it will be returned in an OutputFile) typed field. If the path is a directory, the entire directory structure will be returned as a Tree message digest, see OutputDirectory) Other files or directories that may be created during command execution are discarded. The paths are relative to the working directory of the action execution. The paths are specified using a single forward slash (`/`) as a path separator, even if the execution platform natively uses a different separator. The path MUST NOT include a trailing slash, nor a leading slash, being a relative path. In order to ensure consistent hashing of the same Action, the output paths MUST be deduplicated and sorted lexicographically by code point (or, equivalently, by UTF-8 bytes). Directories leading up to the output paths are created by the worker prior to execution, even if they are not explicitly part of the input root. New in v2.1: this field supersedes the DEPRECATED `output_files` and `output_directories` fields. If `output_paths` is used, `output_files` and `output_directories` will be ignored!",
           "items": {
             "type": "string"
           },
@@ -532,17 +576,17 @@
         },
         "platform": {
           "$ref": "BuildBazelRemoteExecutionV2Platform",
-          "description": "The platform requirements for the execution environment. The server MAY\nchoose to execute the action on any worker satisfying the requirements, so\nthe client SHOULD ensure that running the action on any such worker will\nhave the same result.\nA detailed lexicon for this can be found in the accompanying platform.md."
+          "description": "The platform requirements for the execution environment. The server MAY choose to execute the action on any worker satisfying the requirements, so the client SHOULD ensure that running the action on any such worker will have the same result. A detailed lexicon for this can be found in the accompanying platform.md."
         },
         "workingDirectory": {
-          "description": "The working directory, relative to the input root, for the command to run\nin. It must be a directory which exists in the input tree. If it is left\nempty, then the action is run in the input root.",
+          "description": "The working directory, relative to the input root, for the command to run in. It must be a directory which exists in the input tree. If it is left empty, then the action is run in the input root.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2CommandEnvironmentVariable": {
-      "description": "An `EnvironmentVariable` is one variable to set in the running program's\nenvironment.",
+      "description": "An `EnvironmentVariable` is one variable to set in the running program's environment.",
       "id": "BuildBazelRemoteExecutionV2CommandEnvironmentVariable",
       "properties": {
         "name": {
@@ -557,11 +601,11 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2Digest": {
-      "description": "A content digest. A digest for a given blob consists of the size of the blob\nand its hash. The hash algorithm to use is defined by the server.\n\nThe size is considered to be an integral part of the digest and cannot be\nseparated. That is, even if the `hash` field is correctly specified but\n`size_bytes` is not, the server MUST reject the request.\n\nThe reason for including the size in the digest is as follows: in a great\nmany cases, the server needs to know the size of the blob it is about to work\nwith prior to starting an operation with it, such as flattening Merkle tree\nstructures or streaming it to a worker. Technically, the server could\nimplement a separate metadata store, but this results in a significantly more\ncomplicated implementation as opposed to having the client specify the size\nup-front (or storing the size along with the digest in every message where\ndigests are embedded). This does mean that the API leaks some implementation\ndetails of (what we consider to be) a reasonable server implementation, but\nwe consider this to be a worthwhile tradeoff.\n\nWhen a `Digest` is used to refer to a proto message, it always refers to the\nmessage in binary encoded form. To ensure consistent hashing, clients and\nservers MUST ensure that they serialize messages according to the following\nrules, even if there are alternate valid encodings for the same message:\n\n* Fields are serialized in tag order.\n* There are no unknown fields.\n* There are no duplicate fields.\n* Fields are serialized according to the default semantics for their type.\n\nMost protocol buffer implementations will always follow these rules when\nserializing, but care should be taken to avoid shortcuts. For instance,\nconcatenating two messages to merge them may produce duplicate fields.",
+      "description": "A content digest. A digest for a given blob consists of the size of the blob and its hash. The hash algorithm to use is defined by the server. The size is considered to be an integral part of the digest and cannot be separated. That is, even if the `hash` field is correctly specified but `size_bytes` is not, the server MUST reject the request. The reason for including the size in the digest is as follows: in a great many cases, the server needs to know the size of the blob it is about to work with prior to starting an operation with it, such as flattening Merkle tree structures or streaming it to a worker. Technically, the server could implement a separate metadata store, but this results in a significantly more complicated implementation as opposed to having the client specify the size up-front (or storing the size along with the digest in every message where digests are embedded). This does mean that the API leaks some implementation details of (what we consider to be) a reasonable server implementation, but we consider this to be a worthwhile tradeoff. When a `Digest` is used to refer to a proto message, it always refers to the message in binary encoded form. To ensure consistent hashing, clients and servers MUST ensure that they serialize messages according to the following rules, even if there are alternate valid encodings for the same message: * Fields are serialized in tag order. * There are no unknown fields. * There are no duplicate fields. * Fields are serialized according to the default semantics for their type. Most protocol buffer implementations will always follow these rules when serializing, but care should be taken to avoid shortcuts. For instance, concatenating two messages to merge them may produce duplicate fields.",
       "id": "BuildBazelRemoteExecutionV2Digest",
       "properties": {
         "hash": {
-          "description": "The hash. In the case of SHA-256, it will always be a lowercase hex string\nexactly 64 characters long.",
+          "description": "The hash. In the case of SHA-256, it will always be a lowercase hex string exactly 64 characters long.",
           "type": "string"
         },
         "sizeBytes": {
@@ -573,7 +617,7 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2Directory": {
-      "description": "A `Directory` represents a directory node in a file tree, containing zero or\nmore children FileNodes,\nDirectoryNodes and\nSymlinkNodes.\nEach `Node` contains its name in the directory, either the digest of its\ncontent (either a file blob or a `Directory` proto) or a symlink target, as\nwell as possibly some metadata about the file or directory.\n\nIn order to ensure that two equivalent directory trees hash to the same\nvalue, the following restrictions MUST be obeyed when constructing a\na `Directory`:\n\n* Every child in the directory must have a path of exactly one segment.\n  Multiple levels of directory hierarchy may not be collapsed.\n* Each child in the directory must have a unique path segment (file name).\n  Note that while the API itself is case-sensitive, the environment where\n  the Action is executed may or may not be case-sensitive. That is, it is\n  legal to call the API with a Directory that has both \"Foo\" and \"foo\" as\n  children, but the Action may be rejected by the remote system upon\n  execution.\n* The files, directories and symlinks in the directory must each be sorted\n  in lexicographical order by path. The path strings must be sorted by code\n  point, equivalently, by UTF-8 bytes.\n* The NodeProperties of files,\n  directories, and symlinks must be sorted in lexicographical order by\n  property name.\n\nA `Directory` that obeys the restrictions is said to be in canonical form.\n\nAs an example, the following could be used for a file named `bar` and a\ndirectory named `foo` with an executable file named `baz` (hashes shortened\nfor readability):\n\n```json\n// (Directory proto)\n{\n  files: [\n    {\n      name: \"bar\",\n      digest: {\n        hash: \"4a73bc9d03...\",\n        size: 65534\n      },\n      node_properties: [\n        {\n          \"name\": \"MTime\",\n          \"value\": \"2017-01-15T01:30:15.01Z\"\n        }\n      ]\n    }\n  ],\n  directories: [\n    {\n      name: \"foo\",\n      digest: {\n        hash: \"4cf2eda940...\",\n        size: 43\n      }\n    }\n  ]\n}\n\n// (Directory proto with hash \"4cf2eda940...\" and size 43)\n{\n  files: [\n    {\n      name: \"baz\",\n      digest: {\n        hash: \"b2c941073e...\",\n        size: 1294,\n      },\n      is_executable: true\n    }\n  ]\n}\n```",
+      "description": "A `Directory` represents a directory node in a file tree, containing zero or more children FileNodes, DirectoryNodes and SymlinkNodes. Each `Node` contains its name in the directory, either the digest of its content (either a file blob or a `Directory` proto) or a symlink target, as well as possibly some metadata about the file or directory. In order to ensure that two equivalent directory trees hash to the same value, the following restrictions MUST be obeyed when constructing a a `Directory`: * Every child in the directory must have a path of exactly one segment. Multiple levels of directory hierarchy may not be collapsed. * Each child in the directory must have a unique path segment (file name). Note that while the API itself is case-sensitive, the environment where the Action is executed may or may not be case-sensitive. That is, it is legal to call the API with a Directory that has both \"Foo\" and \"foo\" as children, but the Action may be rejected by the remote system upon execution. * The files, directories and symlinks in the directory must each be sorted in lexicographical order by path. The path strings must be sorted by code point, equivalently, by UTF-8 bytes. * The NodeProperties of files, directories, and symlinks must be sorted in lexicographical order by property name. A `Directory` that obeys the restrictions is said to be in canonical form. As an example, the following could be used for a file named `bar` and a directory named `foo` with an executable file named `baz` (hashes shortened for readability): ```json // (Directory proto) { files: [ { name: \"bar\", digest: { hash: \"4a73bc9d03...\", size: 65534 }, node_properties: [ { \"name\": \"MTime\", \"value\": \"2017-01-15T01:30:15.01Z\" } ] } ], directories: [ { name: \"foo\", digest: { hash: \"4cf2eda940...\", size: 43 } } ] } // (Directory proto with hash \"4cf2eda940...\" and size 43) { files: [ { name: \"baz\", digest: { hash: \"b2c941073e...\", size: 1294, }, is_executable: true } ] } ```",
       "id": "BuildBazelRemoteExecutionV2Directory",
       "properties": {
         "directories": {
@@ -608,12 +652,12 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2DirectoryNode": {
-      "description": "A `DirectoryNode` represents a child of a\nDirectory which is itself\na `Directory` and its associated metadata.",
+      "description": "A `DirectoryNode` represents a child of a Directory which is itself a `Directory` and its associated metadata.",
       "id": "BuildBazelRemoteExecutionV2DirectoryNode",
       "properties": {
         "digest": {
           "$ref": "BuildBazelRemoteExecutionV2Digest",
-          "description": "The digest of the\nDirectory object\nrepresented. See Digest\nfor information about how to take the digest of a proto message."
+          "description": "The digest of the Directory object represented. See Digest for information about how to take the digest of a proto message."
         },
         "name": {
           "description": "The name of the directory.",
@@ -623,12 +667,12 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2ExecuteOperationMetadata": {
-      "description": "Metadata about an ongoing\nexecution, which\nwill be contained in the metadata\nfield of the\nOperation.",
+      "description": "Metadata about an ongoing execution, which will be contained in the metadata field of the Operation.",
       "id": "BuildBazelRemoteExecutionV2ExecuteOperationMetadata",
       "properties": {
         "actionDigest": {
           "$ref": "BuildBazelRemoteExecutionV2Digest",
-          "description": "The digest of the Action\nbeing executed."
+          "description": "The digest of the Action being executed."
         },
         "stage": {
           "description": "The current stage of execution.",
@@ -649,18 +693,18 @@
           "type": "string"
         },
         "stderrStreamName": {
-          "description": "If set, the client can use this name with\nByteStream.Read to stream the\nstandard error.",
+          "description": "If set, the client can use this name with ByteStream.Read to stream the standard error.",
           "type": "string"
         },
         "stdoutStreamName": {
-          "description": "If set, the client can use this name with\nByteStream.Read to stream the\nstandard output.",
+          "description": "If set, the client can use this name with ByteStream.Read to stream the standard output.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2ExecuteResponse": {
-      "description": "The response message for\nExecution.Execute,\nwhich will be contained in the response\nfield of the\nOperation.",
+      "description": "The response message for Execution.Execute, which will be contained in the response field of the Operation.",
       "id": "BuildBazelRemoteExecutionV2ExecuteResponse",
       "properties": {
         "cachedResult": {
@@ -668,7 +712,7 @@
           "type": "boolean"
         },
         "message": {
-          "description": "Freeform informational message with details on the execution of the action\nthat may be displayed to the user upon failure or when requested explicitly.",
+          "description": "Freeform informational message with details on the execution of the action that may be displayed to the user upon failure or when requested explicitly.",
           "type": "string"
         },
         "result": {
@@ -679,12 +723,12 @@
           "additionalProperties": {
             "$ref": "BuildBazelRemoteExecutionV2LogFile"
           },
-          "description": "An optional list of additional log outputs the server wishes to provide. A\nserver can use this to return execution-specific logs however it wishes.\nThis is intended primarily to make it easier for users to debug issues that\nmay be outside of the actual job execution, such as by identifying the\nworker executing the action or by providing logs from the worker's setup\nphase. The keys SHOULD be human readable so that a client can display them\nto a user.",
+          "description": "An optional list of additional log outputs the server wishes to provide. A server can use this to return execution-specific logs however it wishes. This is intended primarily to make it easier for users to debug issues that may be outside of the actual job execution, such as by identifying the worker executing the action or by providing logs from the worker's setup phase. The keys SHOULD be human readable so that a client can display them to a user.",
           "type": "object"
         },
         "status": {
           "$ref": "GoogleRpcStatus",
-          "description": "If the status has a code other than `OK`, it indicates that the action did\nnot finish execution. For example, if the operation times out during\nexecution, the status will have a `DEADLINE_EXCEEDED` code. Servers MUST\nuse this field for errors in execution, rather than the error field on the\n`Operation` object.\n\nIf the status code is other than `OK`, then the result MUST NOT be cached.\nFor an error status, the `result` field is optional; the server may\npopulate the output-, stdout-, and stderr-related fields if it has any\ninformation available, such as the stdout and stderr of a timed-out action."
+          "description": "If the status has a code other than `OK`, it indicates that the action did not finish execution. For example, if the operation times out during execution, the status will have a `DEADLINE_EXCEEDED` code. Servers MUST use this field for errors in execution, rather than the error field on the `Operation` object. If the status code is other than `OK`, then the result MUST NOT be cached. For an error status, the `result` field is optional; the server may populate the output-, stdout-, and stderr-related fields if it has any information available, such as the stdout and stderr of a timed-out action."
         }
       },
       "type": "object"
@@ -780,14 +824,14 @@
           "description": "The digest of the log contents."
         },
         "humanReadable": {
-          "description": "This is a hint as to the purpose of the log, and is set to true if the log\nis human-readable text that can be usefully displayed to a user, and false\notherwise. For instance, if a command-line client wishes to print the\nserver logs to the terminal for a failed action, this allows it to avoid\ndisplaying a binary file.",
+          "description": "This is a hint as to the purpose of the log, and is set to true if the log is human-readable text that can be usefully displayed to a user, and false otherwise. For instance, if a command-line client wishes to print the server logs to the terminal for a failed action, this allows it to avoid displaying a binary file.",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2NodeProperty": {
-      "description": "A single property for FileNodes,\nDirectoryNodes, and\nSymlinkNodes. The server is\nresponsible for specifying the property `name`s that it accepts. If\npermitted by the server, the same `name` may occur multiple times.",
+      "description": "A single property for FileNodes, DirectoryNodes, and SymlinkNodes. The server is responsible for specifying the property `name`s that it accepts. If permitted by the server, the same `name` may occur multiple times.",
       "id": "BuildBazelRemoteExecutionV2NodeProperty",
       "properties": {
         "name": {
@@ -802,26 +846,26 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2OutputDirectory": {
-      "description": "An `OutputDirectory` is the output in an `ActionResult` corresponding to a\ndirectory's full contents rather than a single file.",
+      "description": "An `OutputDirectory` is the output in an `ActionResult` corresponding to a directory's full contents rather than a single file.",
       "id": "BuildBazelRemoteExecutionV2OutputDirectory",
       "properties": {
         "path": {
-          "description": "The full path of the directory relative to the working directory. The path\nseparator is a forward slash `/`. Since this is a relative path, it MUST\nNOT begin with a leading forward slash. The empty string value is allowed,\nand it denotes the entire working directory.",
+          "description": "The full path of the directory relative to the working directory. The path separator is a forward slash `/`. Since this is a relative path, it MUST NOT begin with a leading forward slash. The empty string value is allowed, and it denotes the entire working directory.",
           "type": "string"
         },
         "treeDigest": {
           "$ref": "BuildBazelRemoteExecutionV2Digest",
-          "description": "The digest of the encoded\nTree proto containing the\ndirectory's contents."
+          "description": "The digest of the encoded Tree proto containing the directory's contents."
         }
       },
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2OutputFile": {
-      "description": "An `OutputFile` is similar to a\nFileNode, but it is used as an\noutput in an `ActionResult`. It allows a full file path rather than\nonly a name.",
+      "description": "An `OutputFile` is similar to a FileNode, but it is used as an output in an `ActionResult`. It allows a full file path rather than only a name.",
       "id": "BuildBazelRemoteExecutionV2OutputFile",
       "properties": {
         "contents": {
-          "description": "The contents of the file if inlining was requested. The server SHOULD NOT inline\nfile contents unless requested by the client in the\nGetActionResultRequest\nmessage. The server MAY omit inlining, even if requested, and MUST do so if inlining\nwould cause the response to exceed message size limits.",
+          "description": "The contents of the file if inlining was requested. The server SHOULD NOT inline file contents unless requested by the client in the GetActionResultRequest message. The server MAY omit inlining, even if requested, and MUST do so if inlining would cause the response to exceed message size limits.",
           "format": "byte",
           "type": "string"
         },
@@ -841,40 +885,40 @@
           "type": "array"
         },
         "path": {
-          "description": "The full path of the file relative to the working directory, including the\nfilename. The path separator is a forward slash `/`. Since this is a\nrelative path, it MUST NOT begin with a leading forward slash.",
+          "description": "The full path of the file relative to the working directory, including the filename. The path separator is a forward slash `/`. Since this is a relative path, it MUST NOT begin with a leading forward slash.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2OutputSymlink": {
-      "description": "An `OutputSymlink` is similar to a\nSymlink, but it is used as an\noutput in an `ActionResult`.\n\n`OutputSymlink` is binary-compatible with `SymlinkNode`.",
+      "description": "An `OutputSymlink` is similar to a Symlink, but it is used as an output in an `ActionResult`. `OutputSymlink` is binary-compatible with `SymlinkNode`.",
       "id": "BuildBazelRemoteExecutionV2OutputSymlink",
       "properties": {
         "nodeProperties": {
-          "description": "The supported node properties of the OutputSymlink, if requested by the\nAction.",
+          "description": "The supported node properties of the OutputSymlink, if requested by the Action.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2NodeProperty"
           },
           "type": "array"
         },
         "path": {
-          "description": "The full path of the symlink relative to the working directory, including the\nfilename. The path separator is a forward slash `/`. Since this is a\nrelative path, it MUST NOT begin with a leading forward slash.",
+          "description": "The full path of the symlink relative to the working directory, including the filename. The path separator is a forward slash `/`. Since this is a relative path, it MUST NOT begin with a leading forward slash.",
           "type": "string"
         },
         "target": {
-          "description": "The target path of the symlink. The path separator is a forward slash `/`.\nThe target path can be relative to the parent directory of the symlink or\nit can be an absolute path starting with `/`. Support for absolute paths\ncan be checked using the Capabilities\nAPI. The canonical form forbids the substrings `/./` and `//` in the target\npath. `..` components are allowed anywhere in the target path.",
+          "description": "The target path of the symlink. The path separator is a forward slash `/`. The target path can be relative to the parent directory of the symlink or it can be an absolute path starting with `/`. Support for absolute paths can be checked using the Capabilities API. The canonical form forbids the substrings `/./` and `//` in the target path. `..` components are allowed anywhere in the target path.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2Platform": {
-      "description": "A `Platform` is a set of requirements, such as hardware, operating system, or\ncompiler toolchain, for an\nAction's execution\nenvironment. A `Platform` is represented as a series of key-value pairs\nrepresenting the properties that are required of the platform.",
+      "description": "A `Platform` is a set of requirements, such as hardware, operating system, or compiler toolchain, for an Action's execution environment. A `Platform` is represented as a series of key-value pairs representing the properties that are required of the platform.",
       "id": "BuildBazelRemoteExecutionV2Platform",
       "properties": {
         "properties": {
-          "description": "The properties that make up this platform. In order to ensure that\nequivalent `Platform`s always hash to the same value, the properties MUST\nbe lexicographically sorted by name, and then by value. Sorting of strings\nis done by code point, equivalently, by the UTF-8 bytes.",
+          "description": "The properties that make up this platform. In order to ensure that equivalent `Platform`s always hash to the same value, the properties MUST be lexicographically sorted by name, and then by value. Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2PlatformProperty"
           },
@@ -884,7 +928,7 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2PlatformProperty": {
-      "description": "A single property for the environment. The server is responsible for\nspecifying the property `name`s that it accepts. If an unknown `name` is\nprovided in the requirements for an\nAction, the server SHOULD\nreject the execution request. If permitted by the server, the same `name`\nmay occur multiple times.\n\nThe server is also responsible for specifying the interpretation of\nproperty `value`s. For instance, a property describing how much RAM must be\navailable may be interpreted as allowing a worker with 16GB to fulfill a\nrequest for 8GB, while a property describing the OS environment on which\nthe action must be performed may require an exact match with the worker's\nOS.\n\nThe server MAY use the `value` of one or more properties to determine how\nit sets up the execution environment, such as by making specific system\nfiles available to the worker.",
+      "description": "A single property for the environment. The server is responsible for specifying the property `name`s that it accepts. If an unknown `name` is provided in the requirements for an Action, the server SHOULD reject the execution request. If permitted by the server, the same `name` may occur multiple times. The server is also responsible for specifying the interpretation of property `value`s. For instance, a property describing how much RAM must be available may be interpreted as allowing a worker with 16GB to fulfill a request for 8GB, while a property describing the OS environment on which the action must be performed may require an exact match with the worker's OS. The server MAY use the `value` of one or more properties to determine how it sets up the execution environment, such as by making specific system files available to the worker.",
       "id": "BuildBazelRemoteExecutionV2PlatformProperty",
       "properties": {
         "name": {
@@ -899,15 +943,15 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2RequestMetadata": {
-      "description": "An optional Metadata to attach to any RPC request to tell the server about an\nexternal context of the request. The server may use this for logging or other\npurposes. To use it, the client attaches the header to the call using the\ncanonical proto serialization:\n\n* name: `build.bazel.remote.execution.v2.requestmetadata-bin`\n* contents: the base64 encoded binary `RequestMetadata` message.\nNote: the gRPC library serializes binary headers encoded in base 64 by\ndefault (https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests).\nTherefore, if the gRPC library is used to pass/retrieve this\nmetadata, the user may ignore the base64 encoding and assume it is simply\nserialized as a binary message.",
+      "description": "An optional Metadata to attach to any RPC request to tell the server about an external context of the request. The server may use this for logging or other purposes. To use it, the client attaches the header to the call using the canonical proto serialization: * name: `build.bazel.remote.execution.v2.requestmetadata-bin` * contents: the base64 encoded binary `RequestMetadata` message. Note: the gRPC library serializes binary headers encoded in base 64 by default (https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests). Therefore, if the gRPC library is used to pass/retrieve this metadata, the user may ignore the base64 encoding and assume it is simply serialized as a binary message.",
       "id": "BuildBazelRemoteExecutionV2RequestMetadata",
       "properties": {
         "actionId": {
-          "description": "An identifier that ties multiple requests to the same action.\nFor example, multiple requests to the CAS, Action Cache, and Execution\nAPI are used in order to compile foo.cc.",
+          "description": "An identifier that ties multiple requests to the same action. For example, multiple requests to the CAS, Action Cache, and Execution API are used in order to compile foo.cc.",
           "type": "string"
         },
         "correlatedInvocationsId": {
-          "description": "An identifier to tie multiple tool invocations together. For example,\nruns of foo_test, bar_test and baz_test on a post-submit of a given patch.",
+          "description": "An identifier to tie multiple tool invocations together. For example, runs of foo_test, bar_test and baz_test on a post-submit of a given patch.",
           "type": "string"
         },
         "toolDetails": {
@@ -915,7 +959,7 @@
           "description": "The details for the tool invoking the requests."
         },
         "toolInvocationId": {
-          "description": "An identifier that ties multiple actions together to a final result.\nFor example, multiple actions are required to build and run foo_test.",
+          "description": "An identifier that ties multiple actions together to a final result. For example, multiple actions are required to build and run foo_test.",
           "type": "string"
         }
       },
@@ -937,7 +981,7 @@
           "type": "array"
         },
         "target": {
-          "description": "The target path of the symlink. The path separator is a forward slash `/`.\nThe target path can be relative to the parent directory of the symlink or\nit can be an absolute path starting with `/`. Support for absolute paths\ncan be checked using the Capabilities\nAPI. The canonical form forbids the substrings `/./` and `//` in the target\npath. `..` components are allowed anywhere in the target path.",
+          "description": "The target path of the symlink. The path separator is a forward slash `/`. The target path can be relative to the parent directory of the symlink or it can be an absolute path starting with `/`. Support for absolute paths can be checked using the Capabilities API. The canonical form forbids the substrings `/./` and `//` in the target path. `..` components are allowed anywhere in the target path.",
           "type": "string"
         }
       },
@@ -959,11 +1003,11 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2Tree": {
-      "description": "A `Tree` contains all the\nDirectory protos in a\nsingle directory Merkle tree, compressed into one message.",
+      "description": "A `Tree` contains all the Directory protos in a single directory Merkle tree, compressed into one message.",
       "id": "BuildBazelRemoteExecutionV2Tree",
       "properties": {
         "children": {
-          "description": "All the child directories: the directories referred to by the root and,\nrecursively, all its children. In order to reconstruct the directory tree,\nthe client must take the digests of each of the child directories and then\nbuild up a tree starting from the `root`.",
+          "description": "All the child directories: the directories referred to by the root and, recursively, all its children. In order to reconstruct the directory tree, the client must take the digests of each of the child directories and then build up a tree starting from the `root`.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2Directory"
           },
@@ -977,11 +1021,11 @@
       "type": "object"
     },
     "GoogleDevtoolsRemotebuildbotCommandDurations": {
-      "description": "CommandDuration contains the various duration metrics tracked when a bot\nperforms a command.",
+      "description": "CommandDuration contains the various duration metrics tracked when a bot performs a command.",
       "id": "GoogleDevtoolsRemotebuildbotCommandDurations",
       "properties": {
         "dockerPrep": {
-          "description": "The time spent preparing the command to be run in a Docker container\n(includes pulling the Docker image, if necessary).",
+          "description": "The time spent preparing the command to be run in a Docker container (includes pulling the Docker image, if necessary).",
           "format": "google-duration",
           "type": "string"
         },
@@ -991,7 +1035,7 @@
           "type": "string"
         },
         "download": {
-          "description": "The time spent downloading the input files and constructing the working\ndirectory.",
+          "description": "The time spent downloading the input files and constructing the working directory.",
           "format": "google-duration",
           "type": "string"
         },
@@ -1039,11 +1083,11 @@
       "type": "object"
     },
     "GoogleDevtoolsRemotebuildbotCommandEvents": {
-      "description": "CommandEvents contains counters for the number of warnings and errors\nthat occurred during the execution of a command.",
+      "description": "CommandEvents contains counters for the number of warnings and errors that occurred during the execution of a command.",
       "id": "GoogleDevtoolsRemotebuildbotCommandEvents",
       "properties": {
         "dockerCacheHit": {
-          "description": "Indicates whether we are using a cached Docker image (true) or had to pull\nthe Docker image (false) for this command.",
+          "description": "Indicates whether we are using a cached Docker image (true) or had to pull the Docker image (false) for this command.",
           "type": "boolean"
         },
         "inputCacheMiss": {
@@ -1116,10 +1160,10 @@
             "The command had passed its expiry time while it was still running.",
             "The resources requested by the command were not found.",
             "The command failed due to permission errors.",
-            "The command failed because of some invariants expected by the underlying\nsystem have been broken. This usually indicates a bug wit the system.",
+            "The command failed because of some invariants expected by the underlying system have been broken. This usually indicates a bug wit the system.",
             "The command was aborted.",
-            "The command failed because the system is not in a state required for the\ncommand, e.g. the command inputs cannot be found on the server.",
-            "The bot failed to do the cleanup, e.g. unable to delete the command\nworking directory or the command process.",
+            "The command failed because the system is not in a state required for the command, e.g. the command inputs cannot be found on the server.",
+            "The bot failed to do the cleanup, e.g. unable to delete the command working directory or the command process.",
             "The bot failed to download the inputs.",
             "Unknown error.",
             "The bot failed to upload the outputs.",
@@ -1148,7 +1192,7 @@
             "Docker failed to create OCI runtime because of file not found.",
             "Docker failed to create OCI runtime because of permission denied.",
             "Docker failed to create process because of file not found.",
-            "Docker failed to run containers with CreateComputeSystem error that\ninvolves an incorrect parameter (more specific version of\nDOCKER_CREATE_COMPUTE_SYSTEM_ERROR that is user-caused)."
+            "Docker failed to run containers with CreateComputeSystem error that involves an incorrect parameter (more specific version of DOCKER_CREATE_COMPUTE_SYSTEM_ERROR that is user-caused)."
           ],
           "type": "string"
         },
@@ -1200,7 +1244,7 @@
           "type": "string"
         },
         "acceleratorType": {
-          "description": "The type of accelerator to attach to each VM, e.g. \"nvidia-tesla-k80\" for\nnVidia Tesla K80.",
+          "description": "The type of accelerator to attach to each VM, e.g. \"nvidia-tesla-k80\" for nVidia Tesla K80.",
           "type": "string"
         }
       },
@@ -1229,14 +1273,14 @@
       "properties": {
         "instance": {
           "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance",
-          "description": "Specifies the instance to create.\nThe name in the instance, if specified in the instance, is ignored."
+          "description": "Specifies the instance to create. The name in the instance, if specified in the instance, is ignored."
         },
         "instanceId": {
-          "description": "ID of the created instance.\nA valid `instance_id` must:\nbe 6-50 characters long,\ncontain only lowercase letters, digits, hyphens and underscores,\nstart with a lowercase letter, and\nend with a lowercase letter or a digit.",
+          "description": "ID of the created instance. A valid `instance_id` must: be 6-50 characters long, contain only lowercase letters, digits, hyphens and underscores, start with a lowercase letter, and end with a lowercase letter or a digit.",
           "type": "string"
         },
         "parent": {
-          "description": "Resource name of the project containing the instance.\nFormat: `projects/[PROJECT_ID]`.",
+          "description": "Resource name of the project containing the instance. Format: `projects/[PROJECT_ID]`.",
           "type": "string"
         }
       },
@@ -1247,16 +1291,16 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest",
       "properties": {
         "parent": {
-          "description": "Resource name of the instance in which to create the new worker pool.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+          "description": "Resource name of the instance in which to create the new worker pool. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
           "type": "string"
         },
         "poolId": {
-          "description": "ID of the created worker pool.\nA valid pool ID must:\nbe 6-50 characters long,\ncontain only lowercase letters, digits, hyphens and underscores,\nstart with a lowercase letter, and\nend with a lowercase letter or a digit.",
+          "description": "ID of the created worker pool. A valid pool ID must: be 6-50 characters long, contain only lowercase letters, digits, hyphens and underscores, start with a lowercase letter, and end with a lowercase letter or a digit.",
           "type": "string"
         },
         "workerPool": {
           "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool",
-          "description": "Specifies the worker pool to create.\nThe name in the worker pool, if specified, is ignored."
+          "description": "Specifies the worker pool to create. The name in the worker pool, if specified, is ignored."
         }
       },
       "type": "object"
@@ -1266,7 +1310,7 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteInstanceRequest",
       "properties": {
         "name": {
-          "description": "Name of the instance to delete.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+          "description": "Name of the instance to delete. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
           "type": "string"
         }
       },
@@ -1277,7 +1321,88 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteWorkerPoolRequest",
       "properties": {
         "name": {
-          "description": "Name of the worker pool to delete.\nFormat:\n`projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.",
+          "description": "Name of the worker pool to delete. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy": {
+      "description": "FeaturePolicy defines features allowed to be used on RBE instances, as well as instance-wide behavior changes that take effect without opt-in or opt-out at usage time.",
+      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy",
+      "properties": {
+        "containerImageSources": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Which container image sources are allowed. Currently only RBE-supported registry (gcr.io) is allowed. One can allow all repositories under a project or one specific repository only. E.g. container_image_sources { policy: RESTRICTED allowed_values: [ \"gcr.io/project-foo\", \"gcr.io/project-bar/repo-baz\", ] } will allow any repositories under \"gcr.io/project-foo\" plus the repository \"gcr.io/project-bar/repo-baz\". Default (UNSPECIFIED) is equivalent to any source is allowed."
+        },
+        "dockerAddCapabilities": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Whether dockerAddCapabilities can be used or what capabilities are allowed."
+        },
+        "dockerChrootPath": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Whether dockerChrootPath can be used."
+        },
+        "dockerNetwork": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Whether dockerNetwork can be used or what network modes are allowed. E.g. one may allow `off` value only via `allowed_values`."
+        },
+        "dockerPrivileged": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Whether dockerPrivileged can be used."
+        },
+        "dockerRunAsRoot": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Whether dockerRunAsRoot can be used."
+        },
+        "dockerRuntime": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Whether dockerRuntime is allowed to be set or what runtimes are allowed. Note linux_isolation takes precedence, and if set, docker_runtime values may be rejected if they are incompatible with the selected isolation."
+        },
+        "dockerSiblingContainers": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Whether dockerSiblingContainers can be used."
+        },
+        "linuxIsolation": {
+          "description": "linux_isolation allows overriding the docker runtime used for containers started on Linux.",
+          "enum": [
+            "LINUX_ISOLATION_UNSPECIFIED",
+            "GVISOR"
+          ],
+          "enumDescriptions": [
+            "Default value. Will be using Linux default runtime.",
+            "Use gVisor runsc runtime."
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature": {
+      "description": "Defines whether a feature can be used or what values are accepted.",
+      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+      "properties": {
+        "allowedValues": {
+          "description": "A list of acceptable values. Only effective when the policy is `RESTRICTED`.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "policy": {
+          "description": "The policy of the feature.",
+          "enum": [
+            "POLICY_UNSPECIFIED",
+            "ALLOWED",
+            "FORBIDDEN",
+            "RESTRICTED"
+          ],
+          "enumDescriptions": [
+            "Default value, if not explicitly set. Equivalent to FORBIDDEN, unless otherwise documented on a specific Feature.",
+            "Feature is explicitly allowed.",
+            "Feature is forbidden. Requests attempting to leverage it will get an FailedPrecondition error, with a message like: \"Feature forbidden by FeaturePolicy: Feature on instance \"",
+            "Only the values specified in the `allowed_values` are allowed."
+          ],
           "type": "string"
         }
       },
@@ -1288,7 +1413,7 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetInstanceRequest",
       "properties": {
         "name": {
-          "description": "Name of the instance to retrieve.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+          "description": "Name of the instance to retrieve. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
           "type": "string"
         }
       },
@@ -1299,16 +1424,20 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetWorkerPoolRequest",
       "properties": {
         "name": {
-          "description": "Name of the worker pool to retrieve.\nFormat:\n`projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.",
+          "description": "Name of the worker pool to retrieve. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance": {
-      "description": "Instance conceptually encapsulates all Remote Build Execution resources\nfor remote builds.\nAn instance consists of storage and compute resources (for example,\n`ContentAddressableStorage`, `ActionCache`, `WorkerPools`) used for\nrunning remote builds.\nAll Remote Build Execution API calls are scoped to an instance.",
+      "description": "Instance conceptually encapsulates all Remote Build Execution resources for remote builds. An instance consists of storage and compute resources (for example, `ContentAddressableStorage`, `ActionCache`, `WorkerPools`) used for running remote builds. All Remote Build Execution API calls are scoped to an instance.",
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance",
       "properties": {
+        "featurePolicy": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy",
+          "description": "The policy to define whether or not RBE features can be used or how they can be used."
+        },
         "location": {
           "description": "The location is a GCP region. Currently only `us-central1` is supported.",
           "type": "string"
@@ -1318,7 +1447,7 @@
           "type": "boolean"
         },
         "name": {
-          "description": "Output only. Instance resource name formatted as:\n`projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.\nName should not be populated when creating an instance since it is provided\nin the `instance_id` field.",
+          "description": "Output only. Instance resource name formatted as: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. Name should not be populated when creating an instance since it is provided in the `instance_id` field.",
           "type": "string"
         },
         "state": {
@@ -1331,9 +1460,9 @@
           ],
           "enumDescriptions": [
             "Not a valid state, but the default value of the enum.",
-            "The instance is in state `CREATING` once `CreateInstance` is called and\nbefore the instance is ready for use.",
+            "The instance is in state `CREATING` once `CreateInstance` is called and before the instance is ready for use.",
             "The instance is in state `RUNNING` when it is ready for use.",
-            "An `INACTIVE` instance indicates that there is a problem that needs to be\nfixed. Such instances cannot be used for execution and instances that\nremain in this state for a significant period of time will be removed\npermanently."
+            "An `INACTIVE` instance indicates that there is a problem that needs to be fixed. Such instances cannot be used for execution and instances that remain in this state for a significant period of time will be removed permanently."
           ],
           "type": "string"
         }
@@ -1344,7 +1473,7 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesRequest",
       "properties": {
         "parent": {
-          "description": "Resource name of the project.\nFormat: `projects/[PROJECT_ID]`.",
+          "description": "Resource name of the project. Format: `projects/[PROJECT_ID]`.",
           "type": "string"
         }
       },
@@ -1367,11 +1496,11 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsRequest",
       "properties": {
         "filter": {
-          "description": "Optional. A filter expression that filters resources listed in\nthe response. The expression must specify the field name, a comparison\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. String values are\ncase-insensitive.\nThe comparison operator must be either `:`, `=`, `!=`, `\u003e`, `\u003e=`, `\u003c=` or\n`\u003c`.\nThe `:` operator can be used with string fields to match substrings.\nFor non-string fields it is equivalent to the `=` operator.\nThe `:*` comparison can be used to test  whether a key has been defined.\n\nYou can also filter on nested fields.\n\nTo filter on multiple expressions, you can separate expression using\n`AND` and `OR` operators, using parentheses to specify precedence. If\nneither operator is specified, `AND` is assumed.\n\nExamples:\n\nInclude only pools with more than 100 reserved workers:\n`(worker_count \u003e 100) (worker_config.reserved = true)`\n\nInclude only pools with a certain label or machines of the n1-standard\nfamily:\n`worker_config.labels.key1 : * OR worker_config.machine_type: n1-standard`",
+          "description": "Optional. A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. String values are case-insensitive. The comparison operator must be either `:`, `=`, `!=`, `\u003e`, `\u003e=`, `\u003c=` or `\u003c`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. You can also filter on nested fields. To filter on multiple expressions, you can separate expression using `AND` and `OR` operators, using parentheses to specify precedence. If neither operator is specified, `AND` is assumed. Examples: Include only pools with more than 100 reserved workers: `(worker_count \u003e 100) (worker_config.reserved = true)` Include only pools with a certain label or machines of the n1-standard family: `worker_config.labels.key1 : * OR worker_config.machine_type: n1-standard`",
           "type": "string"
         },
         "parent": {
-          "description": "Resource name of the instance.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+          "description": "Resource name of the instance. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
           "type": "string"
         }
       },
@@ -1399,15 +1528,15 @@
           "description": "Specifies the instance to update."
         },
         "loggingEnabled": {
-          "description": "Deprecated, use instance.logging_enabled instead.\nWhether to enable Stackdriver logging for this instance.",
+          "description": "Deprecated, use instance.logging_enabled instead. Whether to enable Stackdriver logging for this instance.",
           "type": "boolean"
         },
         "name": {
-          "description": "Deprecated, use instance.Name instead.\nName of the instance to update.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+          "description": "Deprecated, use instance.Name instead. Name of the instance to update. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
           "type": "string"
         },
         "updateMask": {
-          "description": "The update mask applies to instance. For the `FieldMask` definition, see\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf an empty update_mask is provided, only the non-default valued field in\nthe worker pool field will be updated. Note that in order to update a field\nto the default value (zero, false, empty string) an explicit update_mask\nmust be provided.",
+          "description": "The update mask applies to instance. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If an empty update_mask is provided, only the non-default valued field in the worker pool field will be updated. Note that in order to update a field to the default value (zero, false, empty string) an explicit update_mask must be provided.",
           "format": "google-fieldmask",
           "type": "string"
         }
@@ -1419,7 +1548,7 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest",
       "properties": {
         "updateMask": {
-          "description": "The update mask applies to worker_pool. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf an empty update_mask is provided, only the non-default valued field in\nthe worker pool field will be updated. Note that in order to update a field\nto the default value (zero, false, empty string) an explicit update_mask\nmust be provided.",
+          "description": "The update mask applies to worker_pool. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If an empty update_mask is provided, only the non-default valued field in the worker pool field will be updated. Note that in order to update a field to the default value (zero, false, empty string) an explicit update_mask must be provided.",
           "format": "google-fieldmask",
           "type": "string"
         },
@@ -1431,7 +1560,7 @@
       "type": "object"
     },
     "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig": {
-      "description": "Defines the configuration to be used for a creating workers in\nthe worker pool.",
+      "description": "Defines the configuration to be used for a creating workers in the worker pool.",
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig",
       "properties": {
         "accelerator": {
@@ -1439,23 +1568,23 @@
           "description": "The accelerator card attached to each VM."
         },
         "diskSizeGb": {
-          "description": "Required. Size of the disk attached to the worker, in GB.\nSee https://cloud.google.com/compute/docs/disks/",
+          "description": "Required. Size of the disk attached to the worker, in GB. See https://cloud.google.com/compute/docs/disks/",
           "format": "int64",
           "type": "string"
         },
         "diskType": {
-          "description": "Required. Disk Type to use for the worker.\nSee [Storage\noptions](https://cloud.google.com/compute/docs/disks/#introduction).\nCurrently only `pd-standard` and `pd-ssd` are supported.",
+          "description": "Required. Disk Type to use for the worker. See [Storage options](https://cloud.google.com/compute/docs/disks/#introduction). Currently only `pd-standard` and `pd-ssd` are supported.",
           "type": "string"
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Labels associated with the workers.\nLabel keys and values can be no longer than 63 characters, can only contain\nlowercase letters, numeric characters, underscores and dashes.\nInternational letters are permitted. Label keys must start with a letter.\nLabel values are optional.\nThere can not be more than 64 labels per resource.",
+          "description": "Labels associated with the workers. Label keys and values can be no longer than 63 characters, can only contain lowercase letters, numeric characters, underscores and dashes. International letters are permitted. Label keys must start with a letter. Label values are optional. There can not be more than 64 labels per resource.",
           "type": "object"
         },
         "machineType": {
-          "description": "Required. Machine type of the worker, such as `n1-standard-2`.\nSee https://cloud.google.com/compute/docs/machine-types for a list of\nsupported machine types. Note that `f1-micro` and `g1-small` are not yet\nsupported.",
+          "description": "Required. Machine type of the worker, such as `n1-standard-2`. See https://cloud.google.com/compute/docs/machine-types for a list of supported machine types. Note that `f1-micro` and `g1-small` are not yet supported.",
           "type": "string"
         },
         "maxConcurrentActions": {
@@ -1464,15 +1593,15 @@
           "type": "string"
         },
         "minCpuPlatform": {
-          "description": "Minimum CPU platform to use when creating the worker.\nSee [CPU Platforms](https://cloud.google.com/compute/docs/cpu-platforms).",
+          "description": "Minimum CPU platform to use when creating the worker. See [CPU Platforms](https://cloud.google.com/compute/docs/cpu-platforms).",
           "type": "string"
         },
         "networkAccess": {
-          "description": "Determines the type of network access granted to workers. Possible values:\n\n- \"public\": Workers can connect to the public internet.\n- \"private\": Workers can only connect to Google APIs and services.\n- \"restricted-private\": Workers can only connect to Google APIs that are\n  reachable through `restricted.googleapis.com` (`199.36.153.4/30`).",
+          "description": "Determines the type of network access granted to workers. Possible values: - \"public\": Workers can connect to the public internet. - \"private\": Workers can only connect to Google APIs and services. - \"restricted-private\": Workers can only connect to Google APIs that are reachable through `restricted.googleapis.com` (`199.36.153.4/30`).",
           "type": "string"
         },
         "reserved": {
-          "description": "Determines whether the worker is reserved (equivalent to a Compute Engine\non-demand VM and therefore won't be preempted).\nSee [Preemptible VMs](https://cloud.google.com/preemptible-vms/) for more\ndetails.",
+          "description": "Determines whether the worker is reserved (equivalent to a Compute Engine on-demand VM and therefore won't be preempted). See [Preemptible VMs](https://cloud.google.com/preemptible-vms/) for more details.",
           "type": "boolean"
         },
         "vmImage": {
@@ -1495,7 +1624,7 @@
           "type": "string"
         },
         "name": {
-          "description": "WorkerPool resource name formatted as:\n`projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.\nname should not be populated when creating a worker pool since it is\nprovided in the `poolId` field.",
+          "description": "WorkerPool resource name formatted as: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`. name should not be populated when creating a worker pool since it is provided in the `poolId` field.",
           "type": "string"
         },
         "state": {
@@ -1510,20 +1639,20 @@
           ],
           "enumDescriptions": [
             "Not a valid state, but the default value of the enum.",
-            "The worker pool is in state `CREATING` once `CreateWorkerPool` is called\nand before all requested workers are ready.",
-            "The worker pool is in state `RUNNING` when all its workers are ready for\nuse.",
-            "The worker pool is in state `UPDATING` once `UpdateWorkerPool` is called\nand before the new configuration has all the requested workers ready for\nuse, and no older configuration has any workers. At that point the state\ntransitions to `RUNNING`.",
-            "The worker pool is in state `DELETING` once the `Delete` method is called\nand before the deletion completes.",
-            "The worker pool is in state `INACTIVE` when the instance hosting the\nworker pool in not running."
+            "The worker pool is in state `CREATING` once `CreateWorkerPool` is called and before all requested workers are ready.",
+            "The worker pool is in state `RUNNING` when all its workers are ready for use.",
+            "The worker pool is in state `UPDATING` once `UpdateWorkerPool` is called and before the new configuration has all the requested workers ready for use, and no older configuration has any workers. At that point the state transitions to `RUNNING`.",
+            "The worker pool is in state `DELETING` once the `Delete` method is called and before the deletion completes.",
+            "The worker pool is in state `INACTIVE` when the instance hosting the worker pool in not running."
           ],
           "type": "string"
         },
         "workerConfig": {
           "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig",
-          "description": "Specifies the properties, such as machine type and disk size, used for\ncreating workers in a worker pool."
+          "description": "Specifies the properties, such as machine type and disk size, used for creating workers in a worker pool."
         },
         "workerCount": {
-          "description": "The desired number of workers in the worker pool. Must be a value between\n0 and 15000.",
+          "description": "The desired number of workers in the worker pool. Must be a value between 0 and 15000.",
           "format": "int64",
           "type": "string"
         }
@@ -1531,7 +1660,7 @@
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2AdminTemp": {
-      "description": "AdminTemp is a prelimiary set of administration tasks. It's called \"Temp\"\nbecause we do not yet know the best way to represent admin tasks; it's\npossible that this will be entirely replaced in later versions of this API.\nIf this message proves to be sufficient, it will be renamed in the alpha or\nbeta release of this API.\n\nThis message (suitably marshalled into a protobuf.Any) can be used as the\ninline_assignment field in a lease; the lease assignment field should simply\nbe `\"admin\"` in these cases.\n\nThis message is heavily based on Swarming administration tasks from the LUCI\nproject (http://github.com/luci/luci-py/appengine/swarming).",
+      "description": "AdminTemp is a prelimiary set of administration tasks. It's called \"Temp\" because we do not yet know the best way to represent admin tasks; it's possible that this will be entirely replaced in later versions of this API. If this message proves to be sufficient, it will be renamed in the alpha or beta release of this API. This message (suitably marshalled into a protobuf.Any) can be used as the inline_assignment field in a lease; the lease assignment field should simply be `\"admin\"` in these cases. This message is heavily based on Swarming administration tasks from the LUCI project (http://github.com/luci/luci-py/appengine/swarming).",
       "id": "GoogleDevtoolsRemoteworkersV1test2AdminTemp",
       "properties": {
         "arg": {
@@ -1549,9 +1678,9 @@
           ],
           "enumDescriptions": [
             "Illegal value.",
-            "Download and run a new version of the bot. `arg` will be a resource\naccessible via `ByteStream.Read` to obtain the new bot code.",
-            "Restart the bot without downloading a new version. `arg` will be a\nmessage to log.",
-            "Shut down the bot. `arg` will be a task resource name (similar to those\nin tasks.proto) that the bot can use to tell the server that it is\nterminating.",
+            "Download and run a new version of the bot. `arg` will be a resource accessible via `ByteStream.Read` to obtain the new bot code.",
+            "Restart the bot without downloading a new version. `arg` will be a message to log.",
+            "Shut down the bot. `arg` will be a task resource name (similar to those in tasks.proto) that the bot can use to tell the server that it is terminating.",
             "Restart the host computer. `arg` will be a message to log."
           ],
           "type": "string"
@@ -1576,32 +1705,32 @@
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2CommandOutputs": {
-      "description": "DEPRECATED - use CommandResult instead.\nDescribes the actual outputs from the task.",
+      "description": "DEPRECATED - use CommandResult instead. Describes the actual outputs from the task.",
       "id": "GoogleDevtoolsRemoteworkersV1test2CommandOutputs",
       "properties": {
         "exitCode": {
-          "description": "exit_code is only fully reliable if the status' code is OK. If the task\nexceeded its deadline or was cancelled, the process may still produce an\nexit code as it is cancelled, and this will be populated, but a successful\n(zero) is unlikely to be correct unless the status code is OK.",
+          "description": "exit_code is only fully reliable if the status' code is OK. If the task exceeded its deadline or was cancelled, the process may still produce an exit code as it is cancelled, and this will be populated, but a successful (zero) is unlikely to be correct unless the status code is OK.",
           "format": "int32",
           "type": "integer"
         },
         "outputs": {
           "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest",
-          "description": "The output files. The blob referenced by the digest should contain\none of the following (implementation-dependent):\n   * A marshalled DirectoryMetadata of the returned filesystem\n   * A LUCI-style .isolated file"
+          "description": "The output files. The blob referenced by the digest should contain one of the following (implementation-dependent): * A marshalled DirectoryMetadata of the returned filesystem * A LUCI-style .isolated file"
         }
       },
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2CommandOverhead": {
-      "description": "DEPRECATED - use CommandResult instead.\nCan be used as part of CompleteRequest.metadata, or are part of a more\nsophisticated message.",
+      "description": "DEPRECATED - use CommandResult instead. Can be used as part of CompleteRequest.metadata, or are part of a more sophisticated message.",
       "id": "GoogleDevtoolsRemoteworkersV1test2CommandOverhead",
       "properties": {
         "duration": {
-          "description": "The elapsed time between calling Accept and Complete. The server will also\nhave its own idea of what this should be, but this excludes the overhead of\nthe RPCs and the bot response time.",
+          "description": "The elapsed time between calling Accept and Complete. The server will also have its own idea of what this should be, but this excludes the overhead of the RPCs and the bot response time.",
           "format": "google-duration",
           "type": "string"
         },
         "overhead": {
-          "description": "The amount of time *not* spent executing the command (ie\nuploading/downloading files).",
+          "description": "The amount of time *not* spent executing the command (ie uploading/downloading files).",
           "format": "google-duration",
           "type": "string"
         }
@@ -1609,21 +1738,21 @@
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2CommandResult": {
-      "description": "All information about the execution of a command, suitable for providing as\nthe Bots interface's `Lease.result` field.",
+      "description": "All information about the execution of a command, suitable for providing as the Bots interface's `Lease.result` field.",
       "id": "GoogleDevtoolsRemoteworkersV1test2CommandResult",
       "properties": {
         "duration": {
-          "description": "The elapsed time between calling Accept and Complete. The server will also\nhave its own idea of what this should be, but this excludes the overhead of\nthe RPCs and the bot response time.",
+          "description": "The elapsed time between calling Accept and Complete. The server will also have its own idea of what this should be, but this excludes the overhead of the RPCs and the bot response time.",
           "format": "google-duration",
           "type": "string"
         },
         "exitCode": {
-          "description": "The exit code of the process. An exit code of \"0\" should only be trusted if\n`status` has a code of OK (otherwise it may simply be unset).",
+          "description": "The exit code of the process. An exit code of \"0\" should only be trusted if `status` has a code of OK (otherwise it may simply be unset).",
           "format": "int32",
           "type": "integer"
         },
         "metadata": {
-          "description": "Implementation-dependent metadata about the task. Both servers and bots\nmay define messages which can be encoded here; bots are free to provide\nmetadata in multiple formats, and servers are free to choose one or more\nof the values to process and ignore others. In particular, it is *not*\nconsidered an error for the bot to provide the server with a field that it\ndoesn't know about.",
+          "description": "Implementation-dependent metadata about the task. Both servers and bots may define messages which can be encoded here; bots are free to provide metadata in multiple formats, and servers are free to choose one or more of the values to process and ignore others. In particular, it is *not* considered an error for the bot to provide the server with a field that it doesn't know about.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -1635,22 +1764,22 @@
         },
         "outputs": {
           "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest",
-          "description": "The output files. The blob referenced by the digest should contain\none of the following (implementation-dependent):\n   * A marshalled DirectoryMetadata of the returned filesystem\n   * A LUCI-style .isolated file"
+          "description": "The output files. The blob referenced by the digest should contain one of the following (implementation-dependent): * A marshalled DirectoryMetadata of the returned filesystem * A LUCI-style .isolated file"
         },
         "overhead": {
-          "description": "The amount of time *not* spent executing the command (ie\nuploading/downloading files).",
+          "description": "The amount of time *not* spent executing the command (ie uploading/downloading files).",
           "format": "google-duration",
           "type": "string"
         },
         "status": {
           "$ref": "GoogleRpcStatus",
-          "description": "An overall status for the command. For example, if the command timed out,\nthis might have a code of DEADLINE_EXCEEDED; if it was killed by the OS for\nmemory exhaustion, it might have a code of RESOURCE_EXHAUSTED."
+          "description": "An overall status for the command. For example, if the command timed out, this might have a code of DEADLINE_EXCEEDED; if it was killed by the OS for memory exhaustion, it might have a code of RESOURCE_EXHAUSTED."
         }
       },
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2CommandTask": {
-      "description": "Describes a shell-style task to execute, suitable for providing as the Bots\ninterface's `Lease.payload` field.",
+      "description": "Describes a shell-style task to execute, suitable for providing as the Bots interface's `Lease.payload` field.",
       "id": "GoogleDevtoolsRemoteworkersV1test2CommandTask",
       "properties": {
         "expectedOutputs": {
@@ -1673,7 +1802,7 @@
       "id": "GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs",
       "properties": {
         "arguments": {
-          "description": "The command itself to run (e.g., argv).\n\nThis field should be passed directly to the underlying operating system,\nand so it must be sensible to that operating system. For example, on\nWindows, the first argument might be \"C:\\Windows\\System32\\ping.exe\" -\nthat is, using drive letters and backslashes. A command for a *nix\nsystem, on the other hand, would use forward slashes.\n\nAll other fields in the RWAPI must consistently use forward slashes,\nsince those fields may be interpretted by both the service and the bot.",
+          "description": "The command itself to run (e.g., argv). This field should be passed directly to the underlying operating system, and so it must be sensible to that operating system. For example, on Windows, the first argument might be \"C:\\Windows\\System32\\ping.exe\" - that is, using drive letters and backslashes. A command for a *nix system, on the other hand, would use forward slashes. All other fields in the RWAPI must consistently use forward slashes, since those fields may be interpretted by both the service and the bot.",
           "items": {
             "type": "string"
           },
@@ -1687,21 +1816,21 @@
           "type": "array"
         },
         "files": {
-          "description": "The input filesystem to be set up prior to the task beginning. The\ncontents should be a repeated set of FileMetadata messages though other\nformats are allowed if better for the implementation (eg, a LUCI-style\n.isolated file).\n\nThis field is repeated since implementations might want to cache the\nmetadata, in which case it may be useful to break up portions of the\nfilesystem that change frequently (eg, specific input files) from those\nthat don't (eg, standard header files).",
+          "description": "The input filesystem to be set up prior to the task beginning. The contents should be a repeated set of FileMetadata messages though other formats are allowed if better for the implementation (eg, a LUCI-style .isolated file). This field is repeated since implementations might want to cache the metadata, in which case it may be useful to break up portions of the filesystem that change frequently (eg, specific input files) from those that don't (eg, standard header files).",
           "items": {
             "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest"
           },
           "type": "array"
         },
         "inlineBlobs": {
-          "description": "Inline contents for blobs expected to be needed by the bot to execute the\ntask. For example, contents of entries in `files` or blobs that are\nindirectly referenced by an entry there.\n\nThe bot should check against this list before downloading required task\ninputs to reduce the number of communications between itself and the\nremote CAS server.",
+          "description": "Inline contents for blobs expected to be needed by the bot to execute the task. For example, contents of entries in `files` or blobs that are indirectly referenced by an entry there. The bot should check against this list before downloading required task inputs to reduce the number of communications between itself and the remote CAS server.",
           "items": {
             "$ref": "GoogleDevtoolsRemoteworkersV1test2Blob"
           },
           "type": "array"
         },
         "workingDirectory": {
-          "description": "Directory from which a command is executed. It is a relative directory\nwith respect to the bot's working directory (i.e., \"./\"). If it is\nnon-empty, then it must exist under \"./\". Otherwise, \"./\" will be used.",
+          "description": "Directory from which a command is executed. It is a relative directory with respect to the bot's working directory (i.e., \"./\"). If it is non-empty, then it must exist under \"./\". Otherwise, \"./\" will be used.",
           "type": "string"
         }
       },
@@ -1727,25 +1856,25 @@
       "id": "GoogleDevtoolsRemoteworkersV1test2CommandTaskOutputs",
       "properties": {
         "directories": {
-          "description": "A list of expected directories, relative to the execution root. All paths\nMUST be delimited by forward slashes.",
+          "description": "A list of expected directories, relative to the execution root. All paths MUST be delimited by forward slashes.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "files": {
-          "description": "A list of expected files, relative to the execution root. All paths\nMUST be delimited by forward slashes.",
+          "description": "A list of expected files, relative to the execution root. All paths MUST be delimited by forward slashes.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "stderrDestination": {
-          "description": "The destination to which any stderr should be sent. The method by which\nthe bot should send the stream contents to that destination is not\ndefined in this API. As examples, the destination could be a file\nreferenced in the `files` field in this message, or it could be a URI\nthat must be written via the ByteStream API.",
+          "description": "The destination to which any stderr should be sent. The method by which the bot should send the stream contents to that destination is not defined in this API. As examples, the destination could be a file referenced in the `files` field in this message, or it could be a URI that must be written via the ByteStream API.",
           "type": "string"
         },
         "stdoutDestination": {
-          "description": "The destination to which any stdout should be sent. The method by which\nthe bot should send the stream contents to that destination is not\ndefined in this API. As examples, the destination could be a file\nreferenced in the `files` field in this message, or it could be a URI\nthat must be written via the ByteStream API.",
+          "description": "The destination to which any stdout should be sent. The method by which the bot should send the stream contents to that destination is not defined in this API. As examples, the destination could be a file referenced in the `files` field in this message, or it could be a URI that must be written via the ByteStream API.",
           "type": "string"
         }
       },
@@ -1756,17 +1885,17 @@
       "id": "GoogleDevtoolsRemoteworkersV1test2CommandTaskTimeouts",
       "properties": {
         "execution": {
-          "description": "This specifies the maximum time that the task can run, excluding the\ntime required to download inputs or upload outputs. That is, the worker\nwill terminate the task if it runs longer than this.",
+          "description": "This specifies the maximum time that the task can run, excluding the time required to download inputs or upload outputs. That is, the worker will terminate the task if it runs longer than this.",
           "format": "google-duration",
           "type": "string"
         },
         "idle": {
-          "description": "This specifies the maximum amount of time the task can be idle - that is,\ngo without generating some output in either stdout or stderr. If the\nprocess is silent for more than the specified time, the worker will\nterminate the task.",
+          "description": "This specifies the maximum amount of time the task can be idle - that is, go without generating some output in either stdout or stderr. If the process is silent for more than the specified time, the worker will terminate the task.",
           "format": "google-duration",
           "type": "string"
         },
         "shutdown": {
-          "description": "If the execution or IO timeouts are exceeded, the worker will try to\ngracefully terminate the task and return any existing logs. However,\ntasks may be hard-frozen in which case this process will fail. This\ntimeout specifies how long to wait for a terminated task to shut down\ngracefully (e.g. via SIGTERM) before we bring down the hammer (e.g.\nSIGKILL on *nix, CTRL_BREAK_EVENT on Windows).",
+          "description": "If the execution or IO timeouts are exceeded, the worker will try to gracefully terminate the task and return any existing logs. However, tasks may be hard-frozen in which case this process will fail. This timeout specifies how long to wait for a terminated task to shut down gracefully (e.g. via SIGTERM) before we bring down the hammer (e.g. SIGKILL on *nix, CTRL_BREAK_EVENT on Windows).",
           "format": "google-duration",
           "type": "string"
         }
@@ -1774,15 +1903,15 @@
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2Digest": {
-      "description": "The CommandTask and CommandResult messages assume the existence of a service\nthat can serve blobs of content, identified by a hash and size known as a\n\"digest.\" The method by which these blobs may be retrieved is not specified\nhere, but a model implementation is in the Remote Execution API's\n\"ContentAddressibleStorage\" interface.\n\nIn the context of the RWAPI, a Digest will virtually always refer to the\ncontents of a file or a directory. The latter is represented by the\nbyte-encoded Directory message.",
+      "description": "The CommandTask and CommandResult messages assume the existence of a service that can serve blobs of content, identified by a hash and size known as a \"digest.\" The method by which these blobs may be retrieved is not specified here, but a model implementation is in the Remote Execution API's \"ContentAddressibleStorage\" interface. In the context of the RWAPI, a Digest will virtually always refer to the contents of a file or a directory. The latter is represented by the byte-encoded Directory message.",
       "id": "GoogleDevtoolsRemoteworkersV1test2Digest",
       "properties": {
         "hash": {
-          "description": "A string-encoded hash (eg \"1a2b3c\", not the byte array [0x1a, 0x2b, 0x3c])\nusing an implementation-defined hash algorithm (eg SHA-256).",
+          "description": "A string-encoded hash (eg \"1a2b3c\", not the byte array [0x1a, 0x2b, 0x3c]) using an implementation-defined hash algorithm (eg SHA-256).",
           "type": "string"
         },
         "sizeBytes": {
-          "description": "The size of the contents. While this is not strictly required as part of an\nidentifier (after all, any given hash will have exactly one canonical\nsize), it's useful in almost all cases when one might want to send or\nretrieve blobs of content and is included here for this reason.",
+          "description": "The size of the contents. While this is not strictly required as part of an identifier (after all, any given hash will have exactly one canonical size), it's useful in almost all cases when one might want to send or retrieve blobs of content and is included here for this reason.",
           "format": "int64",
           "type": "string"
         }
@@ -1790,7 +1919,7 @@
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2Directory": {
-      "description": "The contents of a directory. Similar to the equivalent message in the Remote\nExecution API.",
+      "description": "The contents of a directory. Similar to the equivalent message in the Remote Execution API.",
       "id": "GoogleDevtoolsRemoteworkersV1test2Directory",
       "properties": {
         "directories": {
@@ -1811,12 +1940,12 @@
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata": {
-      "description": "The metadata for a directory. Similar to the equivalent message in the Remote\nExecution API.",
+      "description": "The metadata for a directory. Similar to the equivalent message in the Remote Execution API.",
       "id": "GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata",
       "properties": {
         "digest": {
           "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest",
-          "description": "A pointer to the contents of the directory, in the form of a marshalled\nDirectory message."
+          "description": "A pointer to the contents of the directory, in the form of a marshalled Directory message."
         },
         "path": {
           "description": "The path of the directory, as in FileMetadata.path.",
@@ -1826,35 +1955,35 @@
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2FileMetadata": {
-      "description": "The metadata for a file. Similar to the equivalent message in the Remote\nExecution API.",
+      "description": "The metadata for a file. Similar to the equivalent message in the Remote Execution API.",
       "id": "GoogleDevtoolsRemoteworkersV1test2FileMetadata",
       "properties": {
         "contents": {
-          "description": "If the file is small enough, its contents may also or alternatively be\nlisted here.",
+          "description": "If the file is small enough, its contents may also or alternatively be listed here.",
           "format": "byte",
           "type": "string"
         },
         "digest": {
           "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest",
-          "description": "A pointer to the contents of the file. The method by which a client\nretrieves the contents from a CAS system is not defined here."
+          "description": "A pointer to the contents of the file. The method by which a client retrieves the contents from a CAS system is not defined here."
         },
         "isExecutable": {
           "description": "Properties of the file",
           "type": "boolean"
         },
         "path": {
-          "description": "The path of this file. If this message is part of the\nCommandOutputs.outputs fields, the path is relative to the execution root\nand must correspond to an entry in CommandTask.outputs.files. If this\nmessage is part of a Directory message, then the path is relative to the\nroot of that directory. All paths MUST be delimited by forward slashes.",
+          "description": "The path of this file. If this message is part of the CommandOutputs.outputs fields, the path is relative to the execution root and must correspond to an entry in CommandTask.outputs.files. If this message is part of a Directory message, then the path is relative to the root of that directory. All paths MUST be delimited by forward slashes.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleLongrunningOperation": {
-      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
+      "description": "This resource represents a long-running operation that is the result of a network API call.",
       "id": "GoogleLongrunningOperation",
       "properties": {
         "done": {
-          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
+          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
           "type": "boolean"
         },
         "error": {
@@ -1866,11 +1995,11 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "Service-specific metadata associated with the operation.  It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata.  Any method that returns a\nlong-running operation should document the metadata type, if any.",
+          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
           "type": "object"
         },
         "name": {
-          "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.",
+          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
           "type": "string"
         },
         "response": {
@@ -1878,14 +2007,14 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "The normal response of the operation in case of success.  If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`.  If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource.  For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name.  For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
+          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
           "type": "object"
         }
       },
       "type": "object"
     },
     "GoogleRpcStatus": {
-      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "GoogleRpcStatus",
       "properties": {
         "code": {
@@ -1894,7 +2023,7 @@
           "type": "integer"
         },
         "details": {
-          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -1905,7 +2034,7 @@
           "type": "array"
         },
         "message": {
-          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
           "type": "string"
         }
       },
diff --git a/remotebuildexecution/v1alpha/remotebuildexecution-gen.go b/remotebuildexecution/v1alpha/remotebuildexecution-gen.go
index abec09b..f4dc37d 100644
--- a/remotebuildexecution/v1alpha/remotebuildexecution-gen.go
+++ b/remotebuildexecution/v1alpha/remotebuildexecution-gen.go
@@ -181,101 +181,60 @@
 }
 
 // BuildBazelRemoteExecutionV2Action: An `Action` captures all the
-// information about an execution which is required
-// to reproduce it.
-//
-// `Action`s are the core component of the [Execution] service. A
-// single
-// `Action` represents a repeatable action that can be performed by
-// the
+// information about an execution which is required to reproduce it.
+// `Action`s are the core component of the [Execution] service. A single
+// `Action` represents a repeatable action that can be performed by the
 // execution service. `Action`s can be succinctly identified by the
-// digest of
-// their wire format encoding and, once an `Action` has been executed,
-// will be
-// cached in the action cache. Future requests can then use the cached
-// result
-// rather than needing to run afresh.
-//
-// When a server completes execution of an
-// Action, it MAY choose to
-// cache the result in
-// the ActionCache unless
-// `do_not_cache` is `true`. Clients SHOULD expect the server to do so.
-// By
-// default, future calls to
-// Execute the same
-// `Action` will also serve their results from the cache. Clients must
-// take care
-// to understand the caching behaviour. Ideally, all `Action`s will
-// be
-// reproducible so that serving a result from cache is always desirable
-// and
-// correct.
+// digest of their wire format encoding and, once an `Action` has been
+// executed, will be cached in the action cache. Future requests can
+// then use the cached result rather than needing to run afresh. When a
+// server completes execution of an Action, it MAY choose to cache the
+// result in the ActionCache unless `do_not_cache` is `true`. Clients
+// SHOULD expect the server to do so. By default, future calls to
+// Execute the same `Action` will also serve their results from the
+// cache. Clients must take care to understand the caching behaviour.
+// Ideally, all `Action`s will be reproducible so that serving a result
+// from cache is always desirable and correct.
 type BuildBazelRemoteExecutionV2Action struct {
-	// CommandDigest: The digest of the Command
-	// to run, which MUST be present in the
-	// ContentAddressableStorage.
+	// CommandDigest: The digest of the Command to run, which MUST be
+	// present in the ContentAddressableStorage.
 	CommandDigest *BuildBazelRemoteExecutionV2Digest `json:"commandDigest,omitempty"`
 
 	// DoNotCache: If true, then the `Action`'s result cannot be cached, and
-	// in-flight
-	// requests for the same `Action` may not be merged.
+	// in-flight requests for the same `Action` may not be merged.
 	DoNotCache bool `json:"doNotCache,omitempty"`
 
-	// InputRootDigest: The digest of the root
-	// Directory for the input
-	// files. The files in the directory tree are available in the
-	// correct
+	// InputRootDigest: The digest of the root Directory for the input
+	// files. The files in the directory tree are available in the correct
 	// location on the build machine before the command is executed. The
-	// root
-	// directory, as well as every subdirectory and content blob referred
-	// to, MUST
-	// be in the
-	// ContentAddressableStorage.
+	// root directory, as well as every subdirectory and content blob
+	// referred to, MUST be in the ContentAddressableStorage.
 	InputRootDigest *BuildBazelRemoteExecutionV2Digest `json:"inputRootDigest,omitempty"`
 
-	// OutputNodeProperties: List of required supported NodeProperty
-	// keys. In order to ensure that equivalent `Action`s always hash to the
-	// same
+	// OutputNodeProperties: List of required supported NodeProperty keys.
+	// In order to ensure that equivalent `Action`s always hash to the same
 	// value, the supported node properties MUST be lexicographically sorted
-	// by name.
-	// Sorting of strings is done by code point, equivalently, by the UTF-8
-	// bytes.
-	//
-	// The interpretation of these properties is server-dependent. If a
-	// property is
-	// not recognized by the server, the server will return an
-	// `INVALID_ARGUMENT`
-	// error.
+	// by name. Sorting of strings is done by code point, equivalently, by
+	// the UTF-8 bytes. The interpretation of these properties is
+	// server-dependent. If a property is not recognized by the server, the
+	// server will return an `INVALID_ARGUMENT` error.
 	OutputNodeProperties []string `json:"outputNodeProperties,omitempty"`
 
 	// Timeout: A timeout after which the execution should be killed. If the
-	// timeout is
-	// absent, then the client is specifying that the execution should
-	// continue
-	// as long as the server will let it. The server SHOULD impose a timeout
-	// if
-	// the client does not specify one, however, if the client does specify
-	// a
-	// timeout that is longer than the server's maximum timeout, the server
-	// MUST
-	// reject the request.
-	//
-	// The timeout is a part of the
-	// Action message, and
-	// therefore two `Actions` with different timeouts are different, even
-	// if they
-	// are otherwise identical. This is because, if they were not, running
-	// an
-	// `Action` with a lower timeout than is required might result in a
-	// cache hit
-	// from an execution run with a longer timeout, hiding the fact that
-	// the
+	// timeout is absent, then the client is specifying that the execution
+	// should continue as long as the server will let it. The server SHOULD
+	// impose a timeout if the client does not specify one, however, if the
+	// client does specify a timeout that is longer than the server's
+	// maximum timeout, the server MUST reject the request. The timeout is a
+	// part of the Action message, and therefore two `Actions` with
+	// different timeouts are different, even if they are otherwise
+	// identical. This is because, if they were not, running an `Action`
+	// with a lower timeout than is required might result in a cache hit
+	// from an execution run with a longer timeout, hiding the fact that the
 	// timeout is too short. By encoding it directly in the `Action`, a
-	// lower
-	// timeout will result in a cache miss and the execution timeout will
-	// fail
-	// immediately, rather than whenever the cache entry gets evicted.
+	// lower timeout will result in a cache miss and the execution timeout
+	// will fail immediately, rather than whenever the cache entry gets
+	// evicted.
 	Timeout string `json:"timeout,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CommandDigest") to
@@ -302,8 +261,7 @@
 }
 
 // BuildBazelRemoteExecutionV2ActionResult: An ActionResult represents
-// the result of an
-// Action being run.
+// the result of an Action being run.
 type BuildBazelRemoteExecutionV2ActionResult struct {
 	// ExecutionMetadata: The details of the execution that originally
 	// produced this result.
@@ -313,220 +271,117 @@
 	ExitCode int64 `json:"exitCode,omitempty"`
 
 	// OutputDirectories: The output directories of the action. For each
-	// output directory requested
-	// in the `output_directories` or `output_paths` field of the Action, if
-	// the
-	// corresponding directory existed after the action completed, a single
-	// entry
-	// will be present in the output list, which will contain the digest of
-	// a
-	// Tree message containing the
-	// directory tree, and the path equal exactly to the corresponding
-	// Action
-	// output_directories member.
-	//
-	// As an example, suppose the Action had an output directory `a/b/dir`
-	// and the
+	// output directory requested in the `output_directories` or
+	// `output_paths` field of the Action, if the corresponding directory
+	// existed after the action completed, a single entry will be present in
+	// the output list, which will contain the digest of a Tree message
+	// containing the directory tree, and the path equal exactly to the
+	// corresponding Action output_directories member. As an example,
+	// suppose the Action had an output directory `a/b/dir` and the
 	// execution produced the following contents in `a/b/dir`: a file named
-	// `bar`
-	// and a directory named `foo` with an executable file named `baz`.
-	// Then,
-	// output_directory will contain (hashes shortened for
-	// readability):
-	//
-	// ```json
-	// // OutputDirectory proto:
-	// {
-	//   path: "a/b/dir"
-	//   tree_digest: {
-	//     hash: "4a73bc9d03...",
-	//     size: 55
-	//   }
-	// }
-	// // Tree proto with hash "4a73bc9d03..." and size 55:
-	// {
-	//   root: {
-	//     files: [
-	//       {
-	//         name: "bar",
-	//         digest: {
-	//           hash: "4a73bc9d03...",
-	//           size: 65534
-	//         }
-	//       }
-	//     ],
-	//     directories: [
-	//       {
-	//         name: "foo",
-	//         digest: {
-	//           hash: "4cf2eda940...",
-	//           size: 43
-	//         }
-	//       }
-	//     ]
-	//   }
-	//   children : {
-	//     // (Directory proto with hash "4cf2eda940..." and size 43)
-	//     files: [
-	//       {
-	//         name: "baz",
-	//         digest: {
-	//           hash: "b2c941073e...",
-	//           size: 1294,
-	//         },
-	//         is_executable: true
-	//       }
-	//     ]
-	//   }
-	// }
-	// ```
-	// If an output of the same name as listed in `output_files` of
-	// the Command was found in `output_directories`, but was not a
-	// directory, the
-	// server will return a FAILED_PRECONDITION.
+	// `bar` and a directory named `foo` with an executable file named
+	// `baz`. Then, output_directory will contain (hashes shortened for
+	// readability): ```json // OutputDirectory proto: { path: "a/b/dir"
+	// tree_digest: { hash: "4a73bc9d03...", size: 55 } } // Tree proto with
+	// hash "4a73bc9d03..." and size 55: { root: { files: [ { name: "bar",
+	// digest: { hash: "4a73bc9d03...", size: 65534 } } ], directories: [ {
+	// name: "foo", digest: { hash: "4cf2eda940...", size: 43 } } ] }
+	// children : { // (Directory proto with hash "4cf2eda940..." and size
+	// 43) files: [ { name: "baz", digest: { hash: "b2c941073e...", size:
+	// 1294, }, is_executable: true } ] } } ``` If an output of the same
+	// name as listed in `output_files` of the Command was found in
+	// `output_directories`, but was not a directory, the server will return
+	// a FAILED_PRECONDITION.
 	OutputDirectories []*BuildBazelRemoteExecutionV2OutputDirectory `json:"outputDirectories,omitempty"`
 
 	// OutputDirectorySymlinks: The output directories of the action that
-	// are symbolic links to other
-	// directories. Those may be links to other output directories, or
-	// input
-	// directories, or even absolute paths outside of the working
-	// directory,
-	// if the server supports
-	// SymlinkAbsolutePathStrategy.ALLOWED.
-	// For each output directory requested in the `output_directories` field
-	// of
-	// the Action, if the directory existed after the action completed,
-	// a
-	// single entry will be present either in this field, or in
-	// the
-	// `output_directories` field, if the directory was not a symbolic
-	// link.
-	//
-	// If an output of the same name was found, but was a symbolic link to a
-	// file
-	// instead of a directory, the server will return a
-	// FAILED_PRECONDITION.
-	// If the action does not produce the requested output, then that
-	// output
-	// will be omitted from the list. The server is free to arrange the
-	// output
+	// are symbolic links to other directories. Those may be links to other
+	// output directories, or input directories, or even absolute paths
+	// outside of the working directory, if the server supports
+	// SymlinkAbsolutePathStrategy.ALLOWED. For each output directory
+	// requested in the `output_directories` field of the Action, if the
+	// directory existed after the action completed, a single entry will be
+	// present either in this field, or in the `output_directories` field,
+	// if the directory was not a symbolic link. If an output of the same
+	// name was found, but was a symbolic link to a file instead of a
+	// directory, the server will return a FAILED_PRECONDITION. If the
+	// action does not produce the requested output, then that output will
+	// be omitted from the list. The server is free to arrange the output
 	// list as desired; clients MUST NOT assume that the output list is
-	// sorted.
-	//
-	// DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0
-	// API
-	// should still populate this field in addition to `output_symlinks`.
+	// sorted. DEPRECATED as of v2.1. Servers that wish to be compatible
+	// with v2.0 API should still populate this field in addition to
+	// `output_symlinks`.
 	OutputDirectorySymlinks []*BuildBazelRemoteExecutionV2OutputSymlink `json:"outputDirectorySymlinks,omitempty"`
 
 	// OutputFileSymlinks: The output files of the action that are symbolic
-	// links to other files. Those
-	// may be links to other output files, or input files, or even absolute
-	// paths
-	// outside of the working directory, if the server
-	// supports
-	// SymlinkAbsolutePathStrategy.ALLOWED.
-	// For each output file requested in the `output_files` or
-	// `output_paths`
-	// field of the Action, if the corresponding file existed after
-	// the action completed, a single entry will be present either in this
-	// field,
-	// or in the `output_files` field, if the file was not a symbolic
-	// link.
-	//
-	// If an output symbolic link of the same name as listed in
-	// `output_files` of
+	// links to other files. Those may be links to other output files, or
+	// input files, or even absolute paths outside of the working directory,
+	// if the server supports SymlinkAbsolutePathStrategy.ALLOWED. For each
+	// output file requested in the `output_files` or `output_paths` field
+	// of the Action, if the corresponding file existed after the action
+	// completed, a single entry will be present either in this field, or in
+	// the `output_files` field, if the file was not a symbolic link. If an
+	// output symbolic link of the same name as listed in `output_files` of
 	// the Command was found, but its target type was not a regular file,
-	// the
-	// server will return a FAILED_PRECONDITION.
-	// If the action does not produce the requested output, then that
-	// output
-	// will be omitted from the list. The server is free to arrange the
-	// output
-	// list as desired; clients MUST NOT assume that the output list is
-	// sorted.
-	//
-	// DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0
-	// API
-	// should still populate this field in addition to `output_symlinks`.
+	// the server will return a FAILED_PRECONDITION. If the action does not
+	// produce the requested output, then that output will be omitted from
+	// the list. The server is free to arrange the output list as desired;
+	// clients MUST NOT assume that the output list is sorted. DEPRECATED as
+	// of v2.1. Servers that wish to be compatible with v2.0 API should
+	// still populate this field in addition to `output_symlinks`.
 	OutputFileSymlinks []*BuildBazelRemoteExecutionV2OutputSymlink `json:"outputFileSymlinks,omitempty"`
 
 	// OutputFiles: The output files of the action. For each output file
-	// requested in the
-	// `output_files` or `output_paths` field of the Action, if the
-	// corresponding
-	// file existed after the action completed, a single entry will be
-	// present
-	// either in this field, or the `output_file_symlinks` field if the file
-	// was
-	// a symbolic link to another file (`output_symlinks` field after
-	// v2.1).
-	//
-	// If an output listed in `output_files` was found, but was a directory
-	// rather
-	// than a regular file, the server will return a FAILED_PRECONDITION.
-	// If the action does not produce the requested output, then that
-	// output
-	// will be omitted from the list. The server is free to arrange the
-	// output
+	// requested in the `output_files` or `output_paths` field of the
+	// Action, if the corresponding file existed after the action completed,
+	// a single entry will be present either in this field, or the
+	// `output_file_symlinks` field if the file was a symbolic link to
+	// another file (`output_symlinks` field after v2.1). If an output
+	// listed in `output_files` was found, but was a directory rather than a
+	// regular file, the server will return a FAILED_PRECONDITION. If the
+	// action does not produce the requested output, then that output will
+	// be omitted from the list. The server is free to arrange the output
 	// list as desired; clients MUST NOT assume that the output list is
 	// sorted.
 	OutputFiles []*BuildBazelRemoteExecutionV2OutputFile `json:"outputFiles,omitempty"`
 
 	// OutputSymlinks: New in v2.1: this field will only be populated if the
-	// command
-	// `output_paths` field was used, and not the pre v2.1 `output_files`
-	// or
-	// `output_directories` fields.
-	// The output paths of the action that are symbolic links to other
-	// paths. Those
-	// may be links to other outputs, or inputs, or even absolute
-	// paths
-	// outside of the working directory, if the server
-	// supports
-	// SymlinkAbsolutePathStrategy.ALLOWED.
-	// A single entry for each output requested in `output_paths`
-	// field of the Action, if the corresponding path existed after
-	// the action completed and was a symbolic link.
-	//
-	// If the action does not produce a requested output, then that
-	// output
-	// will be omitted from the list. The server is free to arrange the
-	// output
+	// command `output_paths` field was used, and not the pre v2.1
+	// `output_files` or `output_directories` fields. The output paths of
+	// the action that are symbolic links to other paths. Those may be links
+	// to other outputs, or inputs, or even absolute paths outside of the
+	// working directory, if the server supports
+	// SymlinkAbsolutePathStrategy.ALLOWED. A single entry for each output
+	// requested in `output_paths` field of the Action, if the corresponding
+	// path existed after the action completed and was a symbolic link. If
+	// the action does not produce a requested output, then that output will
+	// be omitted from the list. The server is free to arrange the output
 	// list as desired; clients MUST NOT assume that the output list is
 	// sorted.
 	OutputSymlinks []*BuildBazelRemoteExecutionV2OutputSymlink `json:"outputSymlinks,omitempty"`
 
 	// StderrDigest: The digest for a blob containing the standard error of
-	// the action, which
-	// can be retrieved from the
+	// the action, which can be retrieved from the
 	// ContentAddressableStorage.
 	StderrDigest *BuildBazelRemoteExecutionV2Digest `json:"stderrDigest,omitempty"`
 
 	// StderrRaw: The standard error buffer of the action. The server SHOULD
-	// NOT inline
-	// stderr unless requested by the client in
-	// the
-	// GetActionResultRequest
-	// message. The server MAY omit inlining, even if requested, and MUST do
-	// so if inlining
-	// would cause the response to exceed message size limits.
+	// NOT inline stderr unless requested by the client in the
+	// GetActionResultRequest message. The server MAY omit inlining, even if
+	// requested, and MUST do so if inlining would cause the response to
+	// exceed message size limits.
 	StderrRaw string `json:"stderrRaw,omitempty"`
 
 	// StdoutDigest: The digest for a blob containing the standard output of
-	// the action, which
-	// can be retrieved from the
+	// the action, which can be retrieved from the
 	// ContentAddressableStorage.
 	StdoutDigest *BuildBazelRemoteExecutionV2Digest `json:"stdoutDigest,omitempty"`
 
 	// StdoutRaw: The standard output buffer of the action. The server
-	// SHOULD NOT inline
-	// stdout unless requested by the client in
-	// the
-	// GetActionResultRequest
-	// message. The server MAY omit inlining, even if requested, and MUST do
-	// so if inlining
-	// would cause the response to exceed message size limits.
+	// SHOULD NOT inline stdout unless requested by the client in the
+	// GetActionResultRequest message. The server MAY omit inlining, even if
+	// requested, and MUST do so if inlining would cause the response to
+	// exceed message size limits.
 	StdoutRaw string `json:"stdoutRaw,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ExecutionMetadata")
@@ -554,185 +409,104 @@
 }
 
 // BuildBazelRemoteExecutionV2Command: A `Command` is the actual command
-// executed by a worker running an
-// Action and specifications of its
-// environment.
-//
-// Except as otherwise required, the environment (such as which
-// system
-// libraries or binaries are available, and what filesystems are mounted
-// where)
-// is defined by and specific to the implementation of the remote
-// execution API.
+// executed by a worker running an Action and specifications of its
+// environment. Except as otherwise required, the environment (such as
+// which system libraries or binaries are available, and what
+// filesystems are mounted where) is defined by and specific to the
+// implementation of the remote execution API.
 type BuildBazelRemoteExecutionV2Command struct {
 	// Arguments: The arguments to the command. The first argument must be
-	// the path to the
-	// executable, which must be either a relative path, in which case it
-	// is
-	// evaluated with respect to the input root, or an absolute path.
+	// the path to the executable, which must be either a relative path, in
+	// which case it is evaluated with respect to the input root, or an
+	// absolute path.
 	Arguments []string `json:"arguments,omitempty"`
 
 	// EnvironmentVariables: The environment variables to set when running
-	// the program. The worker may
-	// provide its own default environment variables; these defaults can
-	// be
-	// overridden using this field. Additional variables can also be
-	// specified.
-	//
-	// In order to ensure that equivalent
-	// Commands always hash to the same
-	// value, the environment variables MUST be lexicographically sorted by
-	// name.
-	// Sorting of strings is done by code point, equivalently, by the UTF-8
-	// bytes.
+	// the program. The worker may provide its own default environment
+	// variables; these defaults can be overridden using this field.
+	// Additional variables can also be specified. In order to ensure that
+	// equivalent Commands always hash to the same value, the environment
+	// variables MUST be lexicographically sorted by name. Sorting of
+	// strings is done by code point, equivalently, by the UTF-8 bytes.
 	EnvironmentVariables []*BuildBazelRemoteExecutionV2CommandEnvironmentVariable `json:"environmentVariables,omitempty"`
 
 	// OutputDirectories: A list of the output directories that the client
-	// expects to retrieve from
-	// the action. Only the listed directories will be returned (an
-	// entire
-	// directory structure will be returned as a
-	// Tree message digest, see
-	// OutputDirectory), as
-	// well as files listed in `output_files`. Other files or directories
-	// that
-	// may be created during command execution are discarded.
-	//
-	// The paths are relative to the working directory of the action
-	// execution.
-	// The paths are specified using a single forward slash (`/`) as a
-	// path
-	// separator, even if the execution platform natively uses a
-	// different
-	// separator. The path MUST NOT include a trailing slash, nor a leading
-	// slash,
-	// being a relative path. The special value of empty string is
-	// allowed,
-	// although not recommended, and can be used to capture the entire
-	// working
-	// directory tree, including inputs.
-	//
-	// In order to ensure consistent hashing of the same Action, the output
-	// paths
-	// MUST be sorted lexicographically by code point (or, equivalently, by
-	// UTF-8
-	// bytes).
-	//
-	// An output directory cannot be duplicated or have the same path as any
-	// of
-	// the listed output files. An output directory is allowed to be a
-	// parent of
-	// another output directory.
-	//
-	// Directories leading up to the output directories (but not the
-	// output
-	// directories themselves) are created by the worker prior to execution,
-	// even
-	// if they are not explicitly part of the input root.
-	//
-	// DEPRECATED since 2.1: Use `output_paths` instead.
+	// expects to retrieve from the action. Only the listed directories will
+	// be returned (an entire directory structure will be returned as a Tree
+	// message digest, see OutputDirectory), as well as files listed in
+	// `output_files`. Other files or directories that may be created during
+	// command execution are discarded. The paths are relative to the
+	// working directory of the action execution. The paths are specified
+	// using a single forward slash (`/`) as a path separator, even if the
+	// execution platform natively uses a different separator. The path MUST
+	// NOT include a trailing slash, nor a leading slash, being a relative
+	// path. The special value of empty string is allowed, although not
+	// recommended, and can be used to capture the entire working directory
+	// tree, including inputs. In order to ensure consistent hashing of the
+	// same Action, the output paths MUST be sorted lexicographically by
+	// code point (or, equivalently, by UTF-8 bytes). An output directory
+	// cannot be duplicated or have the same path as any of the listed
+	// output files. An output directory is allowed to be a parent of
+	// another output directory. Directories leading up to the output
+	// directories (but not the output directories themselves) are created
+	// by the worker prior to execution, even if they are not explicitly
+	// part of the input root. DEPRECATED since 2.1: Use `output_paths`
+	// instead.
 	OutputDirectories []string `json:"outputDirectories,omitempty"`
 
 	// OutputFiles: A list of the output files that the client expects to
-	// retrieve from the
-	// action. Only the listed files, as well as directories listed
-	// in
-	// `output_directories`, will be returned to the client as output.
-	// Other files or directories that may be created during command
-	// execution
-	// are discarded.
-	//
-	// The paths are relative to the working directory of the action
-	// execution.
-	// The paths are specified using a single forward slash (`/`) as a
-	// path
-	// separator, even if the execution platform natively uses a
-	// different
-	// separator. The path MUST NOT include a trailing slash, nor a leading
-	// slash,
-	// being a relative path.
-	//
-	// In order to ensure consistent hashing of the same Action, the output
-	// paths
-	// MUST be sorted lexicographically by code point (or, equivalently, by
-	// UTF-8
-	// bytes).
-	//
-	// An output file cannot be duplicated, be a parent of another output
-	// file, or
-	// have the same path as any of the listed output
-	// directories.
-	//
-	// Directories leading up to the output files are created by the worker
-	// prior
-	// to execution, even if they are not explicitly part of the input
-	// root.
-	//
-	// DEPRECATED since v2.1: Use `output_paths` instead.
+	// retrieve from the action. Only the listed files, as well as
+	// directories listed in `output_directories`, will be returned to the
+	// client as output. Other files or directories that may be created
+	// during command execution are discarded. The paths are relative to the
+	// working directory of the action execution. The paths are specified
+	// using a single forward slash (`/`) as a path separator, even if the
+	// execution platform natively uses a different separator. The path MUST
+	// NOT include a trailing slash, nor a leading slash, being a relative
+	// path. In order to ensure consistent hashing of the same Action, the
+	// output paths MUST be sorted lexicographically by code point (or,
+	// equivalently, by UTF-8 bytes). An output file cannot be duplicated,
+	// be a parent of another output file, or have the same path as any of
+	// the listed output directories. Directories leading up to the output
+	// files are created by the worker prior to execution, even if they are
+	// not explicitly part of the input root. DEPRECATED since v2.1: Use
+	// `output_paths` instead.
 	OutputFiles []string `json:"outputFiles,omitempty"`
 
 	// OutputPaths: A list of the output paths that the client expects to
-	// retrieve from the
-	// action. Only the listed paths will be returned to the client as
-	// output.
-	// The type of the output (file or directory) is not specified, and will
-	// be
-	// determined by the server after action execution. If the resulting
-	// path is
-	// a file, it will be returned in an
-	// OutputFile) typed field.
-	// If the path is a directory, the entire directory structure will be
-	// returned
-	// as a Tree message digest, see
-	// OutputDirectory)
-	// Other files or directories that may be created during command
-	// execution
-	// are discarded.
-	//
-	// The paths are relative to the working directory of the action
-	// execution.
-	// The paths are specified using a single forward slash (`/`) as a
-	// path
-	// separator, even if the execution platform natively uses a
-	// different
-	// separator. The path MUST NOT include a trailing slash, nor a leading
-	// slash,
-	// being a relative path.
-	//
-	// In order to ensure consistent hashing of the same Action, the output
-	// paths
-	// MUST be deduplicated and sorted lexicographically by code point
-	// (or,
-	// equivalently, by UTF-8 bytes).
-	//
-	// Directories leading up to the output paths are created by the worker
-	// prior
-	// to execution, even if they are not explicitly part of the input
-	// root.
-	//
-	// New in v2.1: this field supersedes the DEPRECATED `output_files`
-	// and
+	// retrieve from the action. Only the listed paths will be returned to
+	// the client as output. The type of the output (file or directory) is
+	// not specified, and will be determined by the server after action
+	// execution. If the resulting path is a file, it will be returned in an
+	// OutputFile) typed field. If the path is a directory, the entire
+	// directory structure will be returned as a Tree message digest, see
+	// OutputDirectory) Other files or directories that may be created
+	// during command execution are discarded. The paths are relative to the
+	// working directory of the action execution. The paths are specified
+	// using a single forward slash (`/`) as a path separator, even if the
+	// execution platform natively uses a different separator. The path MUST
+	// NOT include a trailing slash, nor a leading slash, being a relative
+	// path. In order to ensure consistent hashing of the same Action, the
+	// output paths MUST be deduplicated and sorted lexicographically by
+	// code point (or, equivalently, by UTF-8 bytes). Directories leading up
+	// to the output paths are created by the worker prior to execution,
+	// even if they are not explicitly part of the input root. New in v2.1:
+	// this field supersedes the DEPRECATED `output_files` and
 	// `output_directories` fields. If `output_paths` is used,
-	// `output_files` and
-	// `output_directories` will be ignored!
+	// `output_files` and `output_directories` will be ignored!
 	OutputPaths []string `json:"outputPaths,omitempty"`
 
 	// Platform: The platform requirements for the execution environment.
-	// The server MAY
-	// choose to execute the action on any worker satisfying the
-	// requirements, so
-	// the client SHOULD ensure that running the action on any such worker
-	// will
-	// have the same result.
-	// A detailed lexicon for this can be found in the accompanying
-	// platform.md.
+	// The server MAY choose to execute the action on any worker satisfying
+	// the requirements, so the client SHOULD ensure that running the action
+	// on any such worker will have the same result. A detailed lexicon for
+	// this can be found in the accompanying platform.md.
 	Platform *BuildBazelRemoteExecutionV2Platform `json:"platform,omitempty"`
 
 	// WorkingDirectory: The working directory, relative to the input root,
-	// for the command to run
-	// in. It must be a directory which exists in the input tree. If it is
-	// left
-	// empty, then the action is run in the input root.
+	// for the command to run in. It must be a directory which exists in the
+	// input tree. If it is left empty, then the action is run in the input
+	// root.
 	WorkingDirectory string `json:"workingDirectory,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Arguments") to
@@ -759,8 +533,7 @@
 }
 
 // BuildBazelRemoteExecutionV2CommandEnvironmentVariable: An
-// `EnvironmentVariable` is one variable to set in the running
-// program's
+// `EnvironmentVariable` is one variable to set in the running program's
 // environment.
 type BuildBazelRemoteExecutionV2CommandEnvironmentVariable struct {
 	// Name: The variable name.
@@ -793,61 +566,35 @@
 }
 
 // BuildBazelRemoteExecutionV2Digest: A content digest. A digest for a
-// given blob consists of the size of the blob
-// and its hash. The hash algorithm to use is defined by the
-// server.
-//
-// The size is considered to be an integral part of the digest and
-// cannot be
-// separated. That is, even if the `hash` field is correctly specified
-// but
-// `size_bytes` is not, the server MUST reject the request.
-//
-// The reason for including the size in the digest is as follows: in a
-// great
-// many cases, the server needs to know the size of the blob it is about
-// to work
-// with prior to starting an operation with it, such as flattening
-// Merkle tree
-// structures or streaming it to a worker. Technically, the server
-// could
+// given blob consists of the size of the blob and its hash. The hash
+// algorithm to use is defined by the server. The size is considered to
+// be an integral part of the digest and cannot be separated. That is,
+// even if the `hash` field is correctly specified but `size_bytes` is
+// not, the server MUST reject the request. The reason for including the
+// size in the digest is as follows: in a great many cases, the server
+// needs to know the size of the blob it is about to work with prior to
+// starting an operation with it, such as flattening Merkle tree
+// structures or streaming it to a worker. Technically, the server could
 // implement a separate metadata store, but this results in a
-// significantly more
-// complicated implementation as opposed to having the client specify
-// the size
-// up-front (or storing the size along with the digest in every message
-// where
-// digests are embedded). This does mean that the API leaks some
-// implementation
-// details of (what we consider to be) a reasonable server
-// implementation, but
-// we consider this to be a worthwhile tradeoff.
-//
-// When a `Digest` is used to refer to a proto message, it always refers
-// to the
-// message in binary encoded form. To ensure consistent hashing, clients
-// and
-// servers MUST ensure that they serialize messages according to the
-// following
-// rules, even if there are alternate valid encodings for the same
-// message:
-//
-// * Fields are serialized in tag order.
-// * There are no unknown fields.
-// * There are no duplicate fields.
-// * Fields are serialized according to the default semantics for their
-// type.
-//
-// Most protocol buffer implementations will always follow these rules
-// when
-// serializing, but care should be taken to avoid shortcuts. For
-// instance,
-// concatenating two messages to merge them may produce duplicate
-// fields.
+// significantly more complicated implementation as opposed to having
+// the client specify the size up-front (or storing the size along with
+// the digest in every message where digests are embedded). This does
+// mean that the API leaks some implementation details of (what we
+// consider to be) a reasonable server implementation, but we consider
+// this to be a worthwhile tradeoff. When a `Digest` is used to refer to
+// a proto message, it always refers to the message in binary encoded
+// form. To ensure consistent hashing, clients and servers MUST ensure
+// that they serialize messages according to the following rules, even
+// if there are alternate valid encodings for the same message: * Fields
+// are serialized in tag order. * There are no unknown fields. * There
+// are no duplicate fields. * Fields are serialized according to the
+// default semantics for their type. Most protocol buffer
+// implementations will always follow these rules when serializing, but
+// care should be taken to avoid shortcuts. For instance, concatenating
+// two messages to merge them may produce duplicate fields.
 type BuildBazelRemoteExecutionV2Digest struct {
 	// Hash: The hash. In the case of SHA-256, it will always be a lowercase
-	// hex string
-	// exactly 64 characters long.
+	// hex string exactly 64 characters long.
 	Hash string `json:"hash,omitempty"`
 
 	// SizeBytes: The size of the blob, in bytes.
@@ -877,97 +624,36 @@
 }
 
 // BuildBazelRemoteExecutionV2Directory: A `Directory` represents a
-// directory node in a file tree, containing zero or
-// more children FileNodes,
-// DirectoryNodes and
-// SymlinkNodes.
-// Each `Node` contains its name in the directory, either the digest of
-// its
-// content (either a file blob or a `Directory` proto) or a symlink
-// target, as
-// well as possibly some metadata about the file or directory.
-//
-// In order to ensure that two equivalent directory trees hash to the
-// same
-// value, the following restrictions MUST be obeyed when constructing
-// a
-// a `Directory`:
-//
-// * Every child in the directory must have a path of exactly one
-// segment.
-//   Multiple levels of directory hierarchy may not be collapsed.
-// * Each child in the directory must have a unique path segment (file
-// name).
-//   Note that while the API itself is case-sensitive, the environment
-// where
-//   the Action is executed may or may not be case-sensitive. That is,
-// it is
-//   legal to call the API with a Directory that has both "Foo" and
-// "foo" as
-//   children, but the Action may be rejected by the remote system upon
-//   execution.
-// * The files, directories and symlinks in the directory must each be
-// sorted
-//   in lexicographical order by path. The path strings must be sorted
-// by code
-//   point, equivalently, by UTF-8 bytes.
-// * The NodeProperties of files,
-//   directories, and symlinks must be sorted in lexicographical order
-// by
-//   property name.
-//
-// A `Directory` that obeys the restrictions is said to be in canonical
-// form.
-//
-// As an example, the following could be used for a file named `bar` and
-// a
-// directory named `foo` with an executable file named `baz` (hashes
-// shortened
-// for readability):
-//
-// ```json
-// // (Directory proto)
-// {
-//   files: [
-//     {
-//       name: "bar",
-//       digest: {
-//         hash: "4a73bc9d03...",
-//         size: 65534
-//       },
-//       node_properties: [
-//         {
-//           "name": "MTime",
-//           "value": "2017-01-15T01:30:15.01Z"
-//         }
-//       ]
-//     }
-//   ],
-//   directories: [
-//     {
-//       name: "foo",
-//       digest: {
-//         hash: "4cf2eda940...",
-//         size: 43
-//       }
-//     }
-//   ]
-// }
-//
-// // (Directory proto with hash "4cf2eda940..." and size 43)
-// {
-//   files: [
-//     {
-//       name: "baz",
-//       digest: {
-//         hash: "b2c941073e...",
-//         size: 1294,
-//       },
-//       is_executable: true
-//     }
-//   ]
-// }
-// ```
+// directory node in a file tree, containing zero or more children
+// FileNodes, DirectoryNodes and SymlinkNodes. Each `Node` contains its
+// name in the directory, either the digest of its content (either a
+// file blob or a `Directory` proto) or a symlink target, as well as
+// possibly some metadata about the file or directory. In order to
+// ensure that two equivalent directory trees hash to the same value,
+// the following restrictions MUST be obeyed when constructing a a
+// `Directory`: * Every child in the directory must have a path of
+// exactly one segment. Multiple levels of directory hierarchy may not
+// be collapsed. * Each child in the directory must have a unique path
+// segment (file name). Note that while the API itself is
+// case-sensitive, the environment where the Action is executed may or
+// may not be case-sensitive. That is, it is legal to call the API with
+// a Directory that has both "Foo" and "foo" as children, but the Action
+// may be rejected by the remote system upon execution. * The files,
+// directories and symlinks in the directory must each be sorted in
+// lexicographical order by path. The path strings must be sorted by
+// code point, equivalently, by UTF-8 bytes. * The NodeProperties of
+// files, directories, and symlinks must be sorted in lexicographical
+// order by property name. A `Directory` that obeys the restrictions is
+// said to be in canonical form. As an example, the following could be
+// used for a file named `bar` and a directory named `foo` with an
+// executable file named `baz` (hashes shortened for readability):
+// ```json // (Directory proto) { files: [ { name: "bar", digest: {
+// hash: "4a73bc9d03...", size: 65534 }, node_properties: [ { "name":
+// "MTime", "value": "2017-01-15T01:30:15.01Z" } ] } ], directories: [ {
+// name: "foo", digest: { hash: "4cf2eda940...", size: 43 } } ] } //
+// (Directory proto with hash "4cf2eda940..." and size 43) { files: [ {
+// name: "baz", digest: { hash: "b2c941073e...", size: 1294, },
+// is_executable: true } ] } ```
 type BuildBazelRemoteExecutionV2Directory struct {
 	// Directories: The subdirectories in the directory.
 	Directories []*BuildBazelRemoteExecutionV2DirectoryNode `json:"directories,omitempty"`
@@ -1005,13 +691,10 @@
 }
 
 // BuildBazelRemoteExecutionV2DirectoryNode: A `DirectoryNode`
-// represents a child of a
-// Directory which is itself
-// a `Directory` and its associated metadata.
+// represents a child of a Directory which is itself a `Directory` and
+// its associated metadata.
 type BuildBazelRemoteExecutionV2DirectoryNode struct {
-	// Digest: The digest of the
-	// Directory object
-	// represented. See Digest
+	// Digest: The digest of the Directory object represented. See Digest
 	// for information about how to take the digest of a proto message.
 	Digest *BuildBazelRemoteExecutionV2Digest `json:"digest,omitempty"`
 
@@ -1042,14 +725,10 @@
 }
 
 // BuildBazelRemoteExecutionV2ExecuteOperationMetadata: Metadata about
-// an ongoing
-// execution, which
-// will be contained in the metadata
-// field of the
-// Operation.
+// an ongoing execution, which will be contained in the metadata field
+// of the Operation.
 type BuildBazelRemoteExecutionV2ExecuteOperationMetadata struct {
-	// ActionDigest: The digest of the Action
-	// being executed.
+	// ActionDigest: The digest of the Action being executed.
 	ActionDigest *BuildBazelRemoteExecutionV2Digest `json:"actionDigest,omitempty"`
 
 	// Stage: The current stage of execution.
@@ -1062,16 +741,12 @@
 	//   "COMPLETED" - Finished execution.
 	Stage string `json:"stage,omitempty"`
 
-	// StderrStreamName: If set, the client can use this name
-	// with
-	// ByteStream.Read to stream the
-	// standard error.
+	// StderrStreamName: If set, the client can use this name with
+	// ByteStream.Read to stream the standard error.
 	StderrStreamName string `json:"stderrStreamName,omitempty"`
 
-	// StdoutStreamName: If set, the client can use this name
-	// with
-	// ByteStream.Read to stream the
-	// standard output.
+	// StdoutStreamName: If set, the client can use this name with
+	// ByteStream.Read to stream the standard output.
 	StdoutStreamName string `json:"stdoutStreamName,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ActionDigest") to
@@ -1097,59 +772,41 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// BuildBazelRemoteExecutionV2ExecuteResponse: The response message
-// for
-// Execution.Execute,
-// which will be contained in the response
-// field of the
-// Operation.
+// BuildBazelRemoteExecutionV2ExecuteResponse: The response message for
+// Execution.Execute, which will be contained in the response field of
+// the Operation.
 type BuildBazelRemoteExecutionV2ExecuteResponse struct {
 	// CachedResult: True if the result was served from cache, false if it
 	// was executed.
 	CachedResult bool `json:"cachedResult,omitempty"`
 
 	// Message: Freeform informational message with details on the execution
-	// of the action
-	// that may be displayed to the user upon failure or when requested
-	// explicitly.
+	// of the action that may be displayed to the user upon failure or when
+	// requested explicitly.
 	Message string `json:"message,omitempty"`
 
 	// Result: The result of the action.
 	Result *BuildBazelRemoteExecutionV2ActionResult `json:"result,omitempty"`
 
 	// ServerLogs: An optional list of additional log outputs the server
-	// wishes to provide. A
-	// server can use this to return execution-specific logs however it
-	// wishes.
-	// This is intended primarily to make it easier for users to debug
-	// issues that
-	// may be outside of the actual job execution, such as by identifying
-	// the
-	// worker executing the action or by providing logs from the worker's
-	// setup
-	// phase. The keys SHOULD be human readable so that a client can display
-	// them
-	// to a user.
+	// wishes to provide. A server can use this to return execution-specific
+	// logs however it wishes. This is intended primarily to make it easier
+	// for users to debug issues that may be outside of the actual job
+	// execution, such as by identifying the worker executing the action or
+	// by providing logs from the worker's setup phase. The keys SHOULD be
+	// human readable so that a client can display them to a user.
 	ServerLogs map[string]BuildBazelRemoteExecutionV2LogFile `json:"serverLogs,omitempty"`
 
 	// Status: If the status has a code other than `OK`, it indicates that
-	// the action did
-	// not finish execution. For example, if the operation times out
-	// during
-	// execution, the status will have a `DEADLINE_EXCEEDED` code. Servers
-	// MUST
-	// use this field for errors in execution, rather than the error field
-	// on the
-	// `Operation` object.
-	//
-	// If the status code is other than `OK`, then the result MUST NOT be
-	// cached.
-	// For an error status, the `result` field is optional; the server
-	// may
-	// populate the output-, stdout-, and stderr-related fields if it has
-	// any
-	// information available, such as the stdout and stderr of a timed-out
-	// action.
+	// the action did not finish execution. For example, if the operation
+	// times out during execution, the status will have a
+	// `DEADLINE_EXCEEDED` code. Servers MUST use this field for errors in
+	// execution, rather than the error field on the `Operation` object. If
+	// the status code is other than `OK`, then the result MUST NOT be
+	// cached. For an error status, the `result` field is optional; the
+	// server may populate the output-, stdout-, and stderr-related fields
+	// if it has any information available, such as the stdout and stderr of
+	// a timed-out action.
 	Status *GoogleRpcStatus `json:"status,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CachedResult") to
@@ -1285,14 +942,11 @@
 	Digest *BuildBazelRemoteExecutionV2Digest `json:"digest,omitempty"`
 
 	// HumanReadable: This is a hint as to the purpose of the log, and is
-	// set to true if the log
-	// is human-readable text that can be usefully displayed to a user, and
-	// false
-	// otherwise. For instance, if a command-line client wishes to print
-	// the
-	// server logs to the terminal for a failed action, this allows it to
-	// avoid
-	// displaying a binary file.
+	// set to true if the log is human-readable text that can be usefully
+	// displayed to a user, and false otherwise. For instance, if a
+	// command-line client wishes to print the server logs to the terminal
+	// for a failed action, this allows it to avoid displaying a binary
+	// file.
 	HumanReadable bool `json:"humanReadable,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Digest") to
@@ -1319,11 +973,8 @@
 }
 
 // BuildBazelRemoteExecutionV2NodeProperty: A single property for
-// FileNodes,
-// DirectoryNodes, and
-// SymlinkNodes. The server is
-// responsible for specifying the property `name`s that it accepts.
-// If
+// FileNodes, DirectoryNodes, and SymlinkNodes. The server is
+// responsible for specifying the property `name`s that it accepts. If
 // permitted by the server, the same `name` may occur multiple times.
 type BuildBazelRemoteExecutionV2NodeProperty struct {
 	// Name: The property name.
@@ -1356,20 +1007,17 @@
 }
 
 // BuildBazelRemoteExecutionV2OutputDirectory: An `OutputDirectory` is
-// the output in an `ActionResult` corresponding to a
-// directory's full contents rather than a single file.
+// the output in an `ActionResult` corresponding to a directory's full
+// contents rather than a single file.
 type BuildBazelRemoteExecutionV2OutputDirectory struct {
 	// Path: The full path of the directory relative to the working
-	// directory. The path
-	// separator is a forward slash `/`. Since this is a relative path, it
-	// MUST
-	// NOT begin with a leading forward slash. The empty string value is
-	// allowed,
-	// and it denotes the entire working directory.
+	// directory. The path separator is a forward slash `/`. Since this is a
+	// relative path, it MUST NOT begin with a leading forward slash. The
+	// empty string value is allowed, and it denotes the entire working
+	// directory.
 	Path string `json:"path,omitempty"`
 
-	// TreeDigest: The digest of the encoded
-	// Tree proto containing the
+	// TreeDigest: The digest of the encoded Tree proto containing the
 	// directory's contents.
 	TreeDigest *BuildBazelRemoteExecutionV2Digest `json:"treeDigest,omitempty"`
 
@@ -1397,20 +1045,14 @@
 }
 
 // BuildBazelRemoteExecutionV2OutputFile: An `OutputFile` is similar to
-// a
-// FileNode, but it is used as an
-// output in an `ActionResult`. It allows a full file path rather
-// than
-// only a name.
+// a FileNode, but it is used as an output in an `ActionResult`. It
+// allows a full file path rather than only a name.
 type BuildBazelRemoteExecutionV2OutputFile struct {
 	// Contents: The contents of the file if inlining was requested. The
-	// server SHOULD NOT inline
-	// file contents unless requested by the client in
-	// the
-	// GetActionResultRequest
-	// message. The server MAY omit inlining, even if requested, and MUST do
-	// so if inlining
-	// would cause the response to exceed message size limits.
+	// server SHOULD NOT inline file contents unless requested by the client
+	// in the GetActionResultRequest message. The server MAY omit inlining,
+	// even if requested, and MUST do so if inlining would cause the
+	// response to exceed message size limits.
 	Contents string `json:"contents,omitempty"`
 
 	// Digest: The digest of the file's content.
@@ -1424,10 +1066,9 @@
 	NodeProperties []*BuildBazelRemoteExecutionV2NodeProperty `json:"nodeProperties,omitempty"`
 
 	// Path: The full path of the file relative to the working directory,
-	// including the
-	// filename. The path separator is a forward slash `/`. Since this is
-	// a
-	// relative path, it MUST NOT begin with a leading forward slash.
+	// including the filename. The path separator is a forward slash `/`.
+	// Since this is a relative path, it MUST NOT begin with a leading
+	// forward slash.
 	Path string `json:"path,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Contents") to
@@ -1454,34 +1095,26 @@
 }
 
 // BuildBazelRemoteExecutionV2OutputSymlink: An `OutputSymlink` is
-// similar to a
-// Symlink, but it is used as an
-// output in an `ActionResult`.
-//
-// `OutputSymlink` is binary-compatible with `SymlinkNode`.
+// similar to a Symlink, but it is used as an output in an
+// `ActionResult`. `OutputSymlink` is binary-compatible with
+// `SymlinkNode`.
 type BuildBazelRemoteExecutionV2OutputSymlink struct {
 	// NodeProperties: The supported node properties of the OutputSymlink,
-	// if requested by the
-	// Action.
+	// if requested by the Action.
 	NodeProperties []*BuildBazelRemoteExecutionV2NodeProperty `json:"nodeProperties,omitempty"`
 
 	// Path: The full path of the symlink relative to the working directory,
-	// including the
-	// filename. The path separator is a forward slash `/`. Since this is
-	// a
-	// relative path, it MUST NOT begin with a leading forward slash.
+	// including the filename. The path separator is a forward slash `/`.
+	// Since this is a relative path, it MUST NOT begin with a leading
+	// forward slash.
 	Path string `json:"path,omitempty"`
 
 	// Target: The target path of the symlink. The path separator is a
-	// forward slash `/`.
-	// The target path can be relative to the parent directory of the
-	// symlink or
-	// it can be an absolute path starting with `/`. Support for absolute
-	// paths
-	// can be checked using the Capabilities
+	// forward slash `/`. The target path can be relative to the parent
+	// directory of the symlink or it can be an absolute path starting with
+	// `/`. Support for absolute paths can be checked using the Capabilities
 	// API. The canonical form forbids the substrings `/./` and `//` in the
-	// target
-	// path. `..` components are allowed anywhere in the target path.
+	// target path. `..` components are allowed anywhere in the target path.
 	Target string `json:"target,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "NodeProperties") to
@@ -1509,20 +1142,16 @@
 }
 
 // BuildBazelRemoteExecutionV2Platform: A `Platform` is a set of
-// requirements, such as hardware, operating system, or
-// compiler toolchain, for an
-// Action's execution
-// environment. A `Platform` is represented as a series of key-value
-// pairs
-// representing the properties that are required of the platform.
+// requirements, such as hardware, operating system, or compiler
+// toolchain, for an Action's execution environment. A `Platform` is
+// represented as a series of key-value pairs representing the
+// properties that are required of the platform.
 type BuildBazelRemoteExecutionV2Platform struct {
 	// Properties: The properties that make up this platform. In order to
-	// ensure that
-	// equivalent `Platform`s always hash to the same value, the properties
-	// MUST
-	// be lexicographically sorted by name, and then by value. Sorting of
-	// strings
-	// is done by code point, equivalently, by the UTF-8 bytes.
+	// ensure that equivalent `Platform`s always hash to the same value, the
+	// properties MUST be lexicographically sorted by name, and then by
+	// value. Sorting of strings is done by code point, equivalently, by the
+	// UTF-8 bytes.
 	Properties []*BuildBazelRemoteExecutionV2PlatformProperty `json:"properties,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Properties") to
@@ -1549,31 +1178,18 @@
 }
 
 // BuildBazelRemoteExecutionV2PlatformProperty: A single property for
-// the environment. The server is responsible for
-// specifying the property `name`s that it accepts. If an unknown `name`
-// is
-// provided in the requirements for an
-// Action, the server SHOULD
-// reject the execution request. If permitted by the server, the same
-// `name`
-// may occur multiple times.
-//
-// The server is also responsible for specifying the interpretation
-// of
-// property `value`s. For instance, a property describing how much RAM
-// must be
-// available may be interpreted as allowing a worker with 16GB to
-// fulfill a
-// request for 8GB, while a property describing the OS environment on
-// which
-// the action must be performed may require an exact match with the
-// worker's
-// OS.
-//
-// The server MAY use the `value` of one or more properties to determine
-// how
-// it sets up the execution environment, such as by making specific
-// system
+// the environment. The server is responsible for specifying the
+// property `name`s that it accepts. If an unknown `name` is provided in
+// the requirements for an Action, the server SHOULD reject the
+// execution request. If permitted by the server, the same `name` may
+// occur multiple times. The server is also responsible for specifying
+// the interpretation of property `value`s. For instance, a property
+// describing how much RAM must be available may be interpreted as
+// allowing a worker with 16GB to fulfill a request for 8GB, while a
+// property describing the OS environment on which the action must be
+// performed may require an exact match with the worker's OS. The server
+// MAY use the `value` of one or more properties to determine how it
+// sets up the execution environment, such as by making specific system
 // files available to the worker.
 type BuildBazelRemoteExecutionV2PlatformProperty struct {
 	// Name: The property name.
@@ -1606,46 +1222,34 @@
 }
 
 // BuildBazelRemoteExecutionV2RequestMetadata: An optional Metadata to
-// attach to any RPC request to tell the server about an
-// external context of the request. The server may use this for logging
-// or other
+// attach to any RPC request to tell the server about an external
+// context of the request. The server may use this for logging or other
 // purposes. To use it, the client attaches the header to the call using
-// the
-// canonical proto serialization:
-//
-// * name: `build.bazel.remote.execution.v2.requestmetadata-bin`
-// * contents: the base64 encoded binary `RequestMetadata`
-// message.
-// Note: the gRPC library serializes binary headers encoded in base 64
-// by
-// default
+// the canonical proto serialization: * name:
+// `build.bazel.remote.execution.v2.requestmetadata-bin` * contents: the
+// base64 encoded binary `RequestMetadata` message. Note: the gRPC
+// library serializes binary headers encoded in base 64 by default
 // (https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#reques
-// ts).
-// Therefore, if the gRPC library is used to pass/retrieve
-// this
+// ts). Therefore, if the gRPC library is used to pass/retrieve this
 // metadata, the user may ignore the base64 encoding and assume it is
-// simply
-// serialized as a binary message.
+// simply serialized as a binary message.
 type BuildBazelRemoteExecutionV2RequestMetadata struct {
 	// ActionId: An identifier that ties multiple requests to the same
-	// action.
-	// For example, multiple requests to the CAS, Action Cache, and
-	// Execution
-	// API are used in order to compile foo.cc.
+	// action. For example, multiple requests to the CAS, Action Cache, and
+	// Execution API are used in order to compile foo.cc.
 	ActionId string `json:"actionId,omitempty"`
 
 	// CorrelatedInvocationsId: An identifier to tie multiple tool
-	// invocations together. For example,
-	// runs of foo_test, bar_test and baz_test on a post-submit of a given
-	// patch.
+	// invocations together. For example, runs of foo_test, bar_test and
+	// baz_test on a post-submit of a given patch.
 	CorrelatedInvocationsId string `json:"correlatedInvocationsId,omitempty"`
 
 	// ToolDetails: The details for the tool invoking the requests.
 	ToolDetails *BuildBazelRemoteExecutionV2ToolDetails `json:"toolDetails,omitempty"`
 
 	// ToolInvocationId: An identifier that ties multiple actions together
-	// to a final result.
-	// For example, multiple actions are required to build and run foo_test.
+	// to a final result. For example, multiple actions are required to
+	// build and run foo_test.
 	ToolInvocationId string `json:"toolInvocationId,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ActionId") to
@@ -1681,15 +1285,11 @@
 	NodeProperties []*BuildBazelRemoteExecutionV2NodeProperty `json:"nodeProperties,omitempty"`
 
 	// Target: The target path of the symlink. The path separator is a
-	// forward slash `/`.
-	// The target path can be relative to the parent directory of the
-	// symlink or
-	// it can be an absolute path starting with `/`. Support for absolute
-	// paths
-	// can be checked using the Capabilities
+	// forward slash `/`. The target path can be relative to the parent
+	// directory of the symlink or it can be an absolute path starting with
+	// `/`. Support for absolute paths can be checked using the Capabilities
 	// API. The canonical form forbids the substrings `/./` and `//` in the
-	// target
-	// path. `..` components are allowed anywhere in the target path.
+	// target path. `..` components are allowed anywhere in the target path.
 	Target string `json:"target,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Name") to
@@ -1747,17 +1347,14 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// BuildBazelRemoteExecutionV2Tree: A `Tree` contains all the
-// Directory protos in a
-// single directory Merkle tree, compressed into one message.
+// BuildBazelRemoteExecutionV2Tree: A `Tree` contains all the Directory
+// protos in a single directory Merkle tree, compressed into one
+// message.
 type BuildBazelRemoteExecutionV2Tree struct {
 	// Children: All the child directories: the directories referred to by
-	// the root and,
-	// recursively, all its children. In order to reconstruct the directory
-	// tree,
-	// the client must take the digests of each of the child directories and
-	// then
-	// build up a tree starting from the `root`.
+	// the root and, recursively, all its children. In order to reconstruct
+	// the directory tree, the client must take the digests of each of the
+	// child directories and then build up a tree starting from the `root`.
 	Children []*BuildBazelRemoteExecutionV2Directory `json:"children,omitempty"`
 
 	// Root: The root directory in the tree.
@@ -1787,20 +1384,18 @@
 }
 
 // GoogleDevtoolsRemotebuildbotCommandDurations: CommandDuration
-// contains the various duration metrics tracked when a bot
-// performs a command.
+// contains the various duration metrics tracked when a bot performs a
+// command.
 type GoogleDevtoolsRemotebuildbotCommandDurations struct {
 	// DockerPrep: The time spent preparing the command to be run in a
-	// Docker container
-	// (includes pulling the Docker image, if necessary).
+	// Docker container (includes pulling the Docker image, if necessary).
 	DockerPrep string `json:"dockerPrep,omitempty"`
 
 	// DockerPrepStartTime: The timestamp when docker preparation begins.
 	DockerPrepStartTime string `json:"dockerPrepStartTime,omitempty"`
 
 	// Download: The time spent downloading the input files and constructing
-	// the working
-	// directory.
+	// the working directory.
 	Download string `json:"download,omitempty"`
 
 	// DownloadStartTime: The timestamp when downloading the input files
@@ -1855,12 +1450,11 @@
 }
 
 // GoogleDevtoolsRemotebuildbotCommandEvents: CommandEvents contains
-// counters for the number of warnings and errors
-// that occurred during the execution of a command.
+// counters for the number of warnings and errors that occurred during
+// the execution of a command.
 type GoogleDevtoolsRemotebuildbotCommandEvents struct {
 	// DockerCacheHit: Indicates whether we are using a cached Docker image
-	// (true) or had to pull
-	// the Docker image (false) for this command.
+	// (true) or had to pull the Docker image (false) for this command.
 	DockerCacheHit bool `json:"dockerCacheHit,omitempty"`
 
 	// InputCacheMiss: The input cache miss ratio.
@@ -1924,15 +1518,14 @@
 	// found.
 	//   "PERMISSION_DENIED" - The command failed due to permission errors.
 	//   "INTERNAL" - The command failed because of some invariants expected
-	// by the underlying
-	// system have been broken. This usually indicates a bug wit the system.
+	// by the underlying system have been broken. This usually indicates a
+	// bug wit the system.
 	//   "ABORTED" - The command was aborted.
 	//   "FAILED_PRECONDITION" - The command failed because the system is
-	// not in a state required for the
-	// command, e.g. the command inputs cannot be found on the server.
+	// not in a state required for the command, e.g. the command inputs
+	// cannot be found on the server.
 	//   "CLEANUP_ERROR" - The bot failed to do the cleanup, e.g. unable to
-	// delete the command
-	// working directory or the command process.
+	// delete the command working directory or the command process.
 	//   "DOWNLOAD_INPUTS_ERROR" - The bot failed to download the inputs.
 	//   "UNKNOWN" - Unknown error.
 	//   "UPLOAD_OUTPUTS_ERROR" - The bot failed to upload the outputs.
@@ -1977,9 +1570,8 @@
 	//   "DOCKER_CREATE_PROCESS_FILE_NOT_FOUND" - Docker failed to create
 	// process because of file not found.
 	//   "DOCKER_CREATE_COMPUTE_SYSTEM_INCORRECT_PARAMETER_ERROR" - Docker
-	// failed to run containers with CreateComputeSystem error that
-	// involves an incorrect parameter (more specific version
-	// of
+	// failed to run containers with CreateComputeSystem error that involves
+	// an incorrect parameter (more specific version of
 	// DOCKER_CREATE_COMPUTE_SYSTEM_ERROR that is user-caused).
 	Code string `json:"code,omitempty"`
 
@@ -2092,8 +1684,7 @@
 	AcceleratorCount int64 `json:"acceleratorCount,omitempty,string"`
 
 	// AcceleratorType: The type of accelerator to attach to each VM, e.g.
-	// "nvidia-tesla-k80" for
-	// nVidia Tesla K80.
+	// "nvidia-tesla-k80" for nVidia Tesla K80.
 	AcceleratorType string `json:"acceleratorType,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AcceleratorCount") to
@@ -2156,21 +1747,18 @@
 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest:
 // The request used for `CreateInstance`.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest struct {
-	// Instance: Specifies the instance to create.
-	// The name in the instance, if specified in the instance, is ignored.
+	// Instance: Specifies the instance to create. The name in the instance,
+	// if specified in the instance, is ignored.
 	Instance *GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance `json:"instance,omitempty"`
 
-	// InstanceId: ID of the created instance.
-	// A valid `instance_id` must:
-	// be 6-50 characters long,
-	// contain only lowercase letters, digits, hyphens and
-	// underscores,
-	// start with a lowercase letter, and
-	// end with a lowercase letter or a digit.
+	// InstanceId: ID of the created instance. A valid `instance_id` must:
+	// be 6-50 characters long, contain only lowercase letters, digits,
+	// hyphens and underscores, start with a lowercase letter, and end with
+	// a lowercase letter or a digit.
 	InstanceId string `json:"instanceId,omitempty"`
 
-	// Parent: Resource name of the project containing the instance.
-	// Format: `projects/[PROJECT_ID]`.
+	// Parent: Resource name of the project containing the instance. Format:
+	// `projects/[PROJECT_ID]`.
 	Parent string `json:"parent,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Instance") to
@@ -2200,21 +1788,17 @@
 //  The request used for `CreateWorkerPool`.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest struct {
 	// Parent: Resource name of the instance in which to create the new
-	// worker pool.
-	// Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
+	// worker pool. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
 	Parent string `json:"parent,omitempty"`
 
-	// PoolId: ID of the created worker pool.
-	// A valid pool ID must:
-	// be 6-50 characters long,
-	// contain only lowercase letters, digits, hyphens and
-	// underscores,
-	// start with a lowercase letter, and
-	// end with a lowercase letter or a digit.
+	// PoolId: ID of the created worker pool. A valid pool ID must: be 6-50
+	// characters long, contain only lowercase letters, digits, hyphens and
+	// underscores, start with a lowercase letter, and end with a lowercase
+	// letter or a digit.
 	PoolId string `json:"poolId,omitempty"`
 
-	// WorkerPool: Specifies the worker pool to create.
-	// The name in the worker pool, if specified, is ignored.
+	// WorkerPool: Specifies the worker pool to create. The name in the
+	// worker pool, if specified, is ignored.
 	WorkerPool *GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool `json:"workerPool,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Parent") to
@@ -2243,8 +1827,8 @@
 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteInstanceRequest:
 // The request used for `DeleteInstance`.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteInstanceRequest struct {
-	// Name: Name of the instance to delete.
-	// Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
+	// Name: Name of the instance to delete. Format:
+	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
 	Name string `json:"name,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Name") to
@@ -2273,11 +1857,8 @@
 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteWorkerPoolRequest:
 //  The request used for DeleteWorkerPool.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteWorkerPoolRequest struct {
-	// Name: Name of the worker pool to
-	// delete.
-	// Format:
-	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerp
-	// ools/[POOL_ID]`.
+	// Name: Name of the worker pool to delete. Format:
+	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.
 	Name string `json:"name,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Name") to
@@ -2303,11 +1884,132 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy:
+// FeaturePolicy defines features allowed to be used on RBE instances,
+// as well as instance-wide behavior changes that take effect without
+// opt-in or opt-out at usage time.
+type GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy struct {
+	// ContainerImageSources: Which container image sources are allowed.
+	// Currently only RBE-supported registry (gcr.io) is allowed. One can
+	// allow all repositories under a project or one specific repository
+	// only. E.g. container_image_sources { policy: RESTRICTED
+	// allowed_values: [ "gcr.io/project-foo",
+	// "gcr.io/project-bar/repo-baz", ] } will allow any repositories under
+	// "gcr.io/project-foo" plus the repository
+	// "gcr.io/project-bar/repo-baz". Default (UNSPECIFIED) is equivalent to
+	// any source is allowed.
+	ContainerImageSources *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"containerImageSources,omitempty"`
+
+	// DockerAddCapabilities: Whether dockerAddCapabilities can be used or
+	// what capabilities are allowed.
+	DockerAddCapabilities *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerAddCapabilities,omitempty"`
+
+	// DockerChrootPath: Whether dockerChrootPath can be used.
+	DockerChrootPath *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerChrootPath,omitempty"`
+
+	// DockerNetwork: Whether dockerNetwork can be used or what network
+	// modes are allowed. E.g. one may allow `off` value only via
+	// `allowed_values`.
+	DockerNetwork *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerNetwork,omitempty"`
+
+	// DockerPrivileged: Whether dockerPrivileged can be used.
+	DockerPrivileged *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerPrivileged,omitempty"`
+
+	// DockerRunAsRoot: Whether dockerRunAsRoot can be used.
+	DockerRunAsRoot *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerRunAsRoot,omitempty"`
+
+	// DockerRuntime: Whether dockerRuntime is allowed to be set or what
+	// runtimes are allowed. Note linux_isolation takes precedence, and if
+	// set, docker_runtime values may be rejected if they are incompatible
+	// with the selected isolation.
+	DockerRuntime *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerRuntime,omitempty"`
+
+	// DockerSiblingContainers: Whether dockerSiblingContainers can be used.
+	DockerSiblingContainers *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerSiblingContainers,omitempty"`
+
+	// LinuxIsolation: linux_isolation allows overriding the docker runtime
+	// used for containers started on Linux.
+	//
+	// Possible values:
+	//   "LINUX_ISOLATION_UNSPECIFIED" - Default value. Will be using Linux
+	// default runtime.
+	//   "GVISOR" - Use gVisor runsc runtime.
+	LinuxIsolation string `json:"linuxIsolation,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g.
+	// "ContainerImageSources") to unconditionally include in API requests.
+	// By default, fields with empty values are omitted from API requests.
+	// However, any non-pointer, non-interface field appearing in
+	// ForceSendFields will be sent to the server regardless of whether the
+	// field is empty or not. This may be used to include empty fields in
+	// Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "ContainerImageSources") to
+	// include in API requests with the JSON null value. By default, fields
+	// with empty values are omitted from API requests. However, any field
+	// with an empty value appearing in NullFields will be sent to the
+	// server as null. It is an error if a field in this list has a
+	// non-empty value. This may be used to include null fields in Patch
+	// requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy) MarshalJSON() ([]byte, error) {
+	type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature:
+// Defines whether a feature can be used or what values are accepted.
+type GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature struct {
+	// AllowedValues: A list of acceptable values. Only effective when the
+	// policy is `RESTRICTED`.
+	AllowedValues []string `json:"allowedValues,omitempty"`
+
+	// Policy: The policy of the feature.
+	//
+	// Possible values:
+	//   "POLICY_UNSPECIFIED" - Default value, if not explicitly set.
+	// Equivalent to FORBIDDEN, unless otherwise documented on a specific
+	// Feature.
+	//   "ALLOWED" - Feature is explicitly allowed.
+	//   "FORBIDDEN" - Feature is forbidden. Requests attempting to leverage
+	// it will get an FailedPrecondition error, with a message like:
+	// "Feature forbidden by FeaturePolicy: Feature on instance "
+	//   "RESTRICTED" - Only the values specified in the `allowed_values`
+	// are allowed.
+	Policy string `json:"policy,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "AllowedValues") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "AllowedValues") to include
+	// in API requests with the JSON null value. By default, fields with
+	// empty values are omitted from API requests. However, any field with
+	// an empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature) MarshalJSON() ([]byte, error) {
+	type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetInstanceRequest: The
 // request used for `GetInstance`.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetInstanceRequest struct {
-	// Name: Name of the instance to retrieve.
-	// Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
+	// Name: Name of the instance to retrieve. Format:
+	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
 	Name string `json:"name,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Name") to
@@ -2336,11 +2038,8 @@
 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetWorkerPoolRequest:
 // The request used for GetWorkerPool.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetWorkerPoolRequest struct {
-	// Name: Name of the worker pool to
-	// retrieve.
-	// Format:
-	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/worke
-	// rpools/[POOL_ID]`.
+	// Name: Name of the worker pool to retrieve. Format:
+	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.
 	Name string `json:"name,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Name") to
@@ -2367,15 +2066,16 @@
 }
 
 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance: Instance
-// conceptually encapsulates all Remote Build Execution resources
-// for remote builds.
-// An instance consists of storage and compute resources (for
-// example,
-// `ContentAddressableStorage`, `ActionCache`, `WorkerPools`) used
-// for
-// running remote builds.
-// All Remote Build Execution API calls are scoped to an instance.
+// conceptually encapsulates all Remote Build Execution resources for
+// remote builds. An instance consists of storage and compute resources
+// (for example, `ContentAddressableStorage`, `ActionCache`,
+// `WorkerPools`) used for running remote builds. All Remote Build
+// Execution API calls are scoped to an instance.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance struct {
+	// FeaturePolicy: The policy to define whether or not RBE features can
+	// be used or how they can be used.
+	FeaturePolicy *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy `json:"featurePolicy,omitempty"`
+
 	// Location: The location is a GCP region. Currently only `us-central1`
 	// is supported.
 	Location string `json:"location,omitempty"`
@@ -2384,12 +2084,10 @@
 	// for the instance.
 	LoggingEnabled bool `json:"loggingEnabled,omitempty"`
 
-	// Name: Output only. Instance resource name formatted
-	// as:
-	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
-	// Name should not be populated when creating an instance since it is
-	// provided
-	// in the `instance_id` field.
+	// Name: Output only. Instance resource name formatted as:
+	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. Name should not be
+	// populated when creating an instance since it is provided in the
+	// `instance_id` field.
 	Name string `json:"name,omitempty"`
 
 	// State: Output only. State of the instance.
@@ -2398,24 +2096,20 @@
 	//   "STATE_UNSPECIFIED" - Not a valid state, but the default value of
 	// the enum.
 	//   "CREATING" - The instance is in state `CREATING` once
-	// `CreateInstance` is called and
-	// before the instance is ready for use.
+	// `CreateInstance` is called and before the instance is ready for use.
 	//   "RUNNING" - The instance is in state `RUNNING` when it is ready for
 	// use.
 	//   "INACTIVE" - An `INACTIVE` instance indicates that there is a
-	// problem that needs to be
-	// fixed. Such instances cannot be used for execution and instances
-	// that
-	// remain in this state for a significant period of time will be
-	// removed
-	// permanently.
+	// problem that needs to be fixed. Such instances cannot be used for
+	// execution and instances that remain in this state for a significant
+	// period of time will be removed permanently.
 	State string `json:"state,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
 	googleapi.ServerResponse `json:"-"`
 
-	// ForceSendFields is a list of field names (e.g. "Location") to
+	// ForceSendFields is a list of field names (e.g. "FeaturePolicy") to
 	// unconditionally include in API requests. By default, fields with
 	// empty values are omitted from API requests. However, any non-pointer,
 	// non-interface field appearing in ForceSendFields will be sent to the
@@ -2423,10 +2117,10 @@
 	// used to include empty fields in Patch requests.
 	ForceSendFields []string `json:"-"`
 
-	// NullFields is a list of field names (e.g. "Location") to include in
-	// API requests with the JSON null value. By default, fields with empty
-	// values are omitted from API requests. However, any field with an
-	// empty value appearing in NullFields will be sent to the server as
+	// NullFields is a list of field names (e.g. "FeaturePolicy") to include
+	// in API requests with the JSON null value. By default, fields with
+	// empty values are omitted from API requests. However, any field with
+	// an empty value appearing in NullFields will be sent to the server as
 	// null. It is an error if a field in this list has a non-empty value.
 	// This may be used to include null fields in Patch requests.
 	NullFields []string `json:"-"`
@@ -2439,8 +2133,8 @@
 }
 
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesRequest struct {
-	// Parent: Resource name of the project.
-	// Format: `projects/[PROJECT_ID]`.
+	// Parent: Resource name of the project. Format:
+	// `projects/[PROJECT_ID]`.
 	Parent string `json:"parent,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Parent") to
@@ -2499,46 +2193,26 @@
 
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsRequest struct {
 	// Filter: Optional. A filter expression that filters resources listed
-	// in
-	// the response. The expression must specify the field name, a
-	// comparison
-	// operator, and the value that you want to use for filtering. The
-	// value
-	// must be a string, a number, or a boolean. String values
-	// are
-	// case-insensitive.
-	// The comparison operator must be either `:`, `=`, `!=`, `>`, `>=`,
-	// `<=` or
-	// `<`.
-	// The `:` operator can be used with string fields to match
-	// substrings.
-	// For non-string fields it is equivalent to the `=` operator.
-	// The `:*` comparison can be used to test  whether a key has been
-	// defined.
-	//
-	// You can also filter on nested fields.
-	//
-	// To filter on multiple expressions, you can separate expression
-	// using
-	// `AND` and `OR` operators, using parentheses to specify precedence.
-	// If
-	// neither operator is specified, `AND` is assumed.
-	//
-	// Examples:
-	//
-	// Include only pools with more than 100 reserved
-	// workers:
-	// `(worker_count > 100) (worker_config.reserved = true)`
-	//
+	// in the response. The expression must specify the field name, a
+	// comparison operator, and the value that you want to use for
+	// filtering. The value must be a string, a number, or a boolean. String
+	// values are case-insensitive. The comparison operator must be either
+	// `:`, `=`, `!=`, `>`, `>=`, `<=` or `<`. The `:` operator can be used
+	// with string fields to match substrings. For non-string fields it is
+	// equivalent to the `=` operator. The `:*` comparison can be used to
+	// test whether a key has been defined. You can also filter on nested
+	// fields. To filter on multiple expressions, you can separate
+	// expression using `AND` and `OR` operators, using parentheses to
+	// specify precedence. If neither operator is specified, `AND` is
+	// assumed. Examples: Include only pools with more than 100 reserved
+	// workers: `(worker_count > 100) (worker_config.reserved = true)`
 	// Include only pools with a certain label or machines of the
-	// n1-standard
-	// family:
-	// `worker_config.labels.key1 : * OR worker_config.machine_type:
-	// n1-standard`
+	// n1-standard family: `worker_config.labels.key1 : * OR
+	// worker_config.machine_type: n1-standard`
 	Filter string `json:"filter,omitempty"`
 
-	// Parent: Resource name of the instance.
-	// Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
+	// Parent: Resource name of the instance. Format:
+	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
 	Parent string `json:"parent,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Filter") to
@@ -2601,28 +2275,18 @@
 	// Instance: Specifies the instance to update.
 	Instance *GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance `json:"instance,omitempty"`
 
-	// LoggingEnabled: Deprecated, use instance.logging_enabled
-	// instead.
+	// LoggingEnabled: Deprecated, use instance.logging_enabled instead.
 	// Whether to enable Stackdriver logging for this instance.
 	LoggingEnabled bool `json:"loggingEnabled,omitempty"`
 
-	// Name: Deprecated, use instance.Name instead.
-	// Name of the instance to update.
-	// Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
+	// Name: Deprecated, use instance.Name instead. Name of the instance to
+	// update. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
 	Name string `json:"name,omitempty"`
 
 	// UpdateMask: The update mask applies to instance. For the `FieldMask`
-	// definition,
-	// see
-	// https://developers.google.com/protocol-buffers/docs/reference/goog
-	// le.protobuf#fieldmask
-	// If an empty update_mask is provided, only the non-default valued
-	// field in
-	// the worker pool field will be updated. Note that in order to update a
-	// field
-	// to the default value (zero, false, empty string) an explicit
-	// update_mask
-	// must be provided.
+	// definition, see
+	// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If an empty update_mask is provided, only the non-default valued field in the worker pool field will be updated. Note that in order to update a field to the default value (zero, false, empty string) an explicit update_mask must be
+	// provided.
 	UpdateMask string `json:"updateMask,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Instance") to
@@ -2652,18 +2316,9 @@
 //  The request used for UpdateWorkerPool.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest struct {
 	// UpdateMask: The update mask applies to worker_pool. For the
-	// `FieldMask`
-	// definition,
-	// see
-	// https://developers.google.com/protocol-buffers/docs/re
-	// ference/google.protobuf#fieldmask
-	// If an empty update_mask is provided, only the non-default valued
-	// field in
-	// the worker pool field will be updated. Note that in order to update a
-	// field
-	// to the default value (zero, false, empty string) an explicit
-	// update_mask
-	// must be provided.
+	// `FieldMask` definition, see
+	// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If an empty update_mask is provided, only the non-default valued field in the worker pool field will be updated. Note that in order to update a field to the default value (zero, false, empty string) an explicit update_mask must be
+	// provided.
 	UpdateMask string `json:"updateMask,omitempty"`
 
 	// WorkerPool: Specifies the worker pool to update.
@@ -2693,70 +2348,55 @@
 }
 
 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig: Defines
-// the configuration to be used for a creating workers in
-// the worker pool.
+// the configuration to be used for a creating workers in the worker
+// pool.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig struct {
 	// Accelerator: The accelerator card attached to each VM.
 	Accelerator *GoogleDevtoolsRemotebuildexecutionAdminV1alphaAcceleratorConfig `json:"accelerator,omitempty"`
 
-	// DiskSizeGb: Required. Size of the disk attached to the worker, in
-	// GB.
+	// DiskSizeGb: Required. Size of the disk attached to the worker, in GB.
 	// See https://cloud.google.com/compute/docs/disks/
 	DiskSizeGb int64 `json:"diskSizeGb,omitempty,string"`
 
-	// DiskType: Required. Disk Type to use for the worker.
-	// See
-	// [Storage
-	// options](https://cloud.google.com/compute/docs/disks/#introdu
-	// ction).
+	// DiskType: Required. Disk Type to use for the worker. See [Storage
+	// options](https://cloud.google.com/compute/docs/disks/#introduction).
 	// Currently only `pd-standard` and `pd-ssd` are supported.
 	DiskType string `json:"diskType,omitempty"`
 
-	// Labels: Labels associated with the workers.
-	// Label keys and values can be no longer than 63 characters, can only
-	// contain
-	// lowercase letters, numeric characters, underscores and
-	// dashes.
-	// International letters are permitted. Label keys must start with a
-	// letter.
-	// Label values are optional.
-	// There can not be more than 64 labels per resource.
+	// Labels: Labels associated with the workers. Label keys and values can
+	// be no longer than 63 characters, can only contain lowercase letters,
+	// numeric characters, underscores and dashes. International letters are
+	// permitted. Label keys must start with a letter. Label values are
+	// optional. There can not be more than 64 labels per resource.
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// MachineType: Required. Machine type of the worker, such as
-	// `n1-standard-2`.
-	// See https://cloud.google.com/compute/docs/machine-types for a list
-	// of
+	// `n1-standard-2`. See
+	// https://cloud.google.com/compute/docs/machine-types for a list of
 	// supported machine types. Note that `f1-micro` and `g1-small` are not
-	// yet
-	// supported.
+	// yet supported.
 	MachineType string `json:"machineType,omitempty"`
 
 	// MaxConcurrentActions: The maximum number of actions a worker can
 	// execute concurrently.
 	MaxConcurrentActions int64 `json:"maxConcurrentActions,omitempty,string"`
 
-	// MinCpuPlatform: Minimum CPU platform to use when creating the
-	// worker.
+	// MinCpuPlatform: Minimum CPU platform to use when creating the worker.
 	// See [CPU
 	// Platforms](https://cloud.google.com/compute/docs/cpu-platforms).
 	MinCpuPlatform string `json:"minCpuPlatform,omitempty"`
 
 	// NetworkAccess: Determines the type of network access granted to
-	// workers. Possible values:
-	//
-	// - "public": Workers can connect to the public internet.
-	// - "private": Workers can only connect to Google APIs and services.
-	// - "restricted-private": Workers can only connect to Google APIs that
-	// are
-	//   reachable through `restricted.googleapis.com` (`199.36.153.4/30`).
+	// workers. Possible values: - "public": Workers can connect to the
+	// public internet. - "private": Workers can only connect to Google APIs
+	// and services. - "restricted-private": Workers can only connect to
+	// Google APIs that are reachable through `restricted.googleapis.com`
+	// (`199.36.153.4/30`).
 	NetworkAccess string `json:"networkAccess,omitempty"`
 
 	// Reserved: Determines whether the worker is reserved (equivalent to a
-	// Compute Engine
-	// on-demand VM and therefore won't be preempted).
-	// See [Preemptible VMs](https://cloud.google.com/preemptible-vms/) for
-	// more
+	// Compute Engine on-demand VM and therefore won't be preempted). See
+	// [Preemptible VMs](https://cloud.google.com/preemptible-vms/) for more
 	// details.
 	Reserved bool `json:"reserved,omitempty"`
 
@@ -2795,12 +2435,9 @@
 	// Channel: Channel specifies the release channel of the pool.
 	Channel string `json:"channel,omitempty"`
 
-	// Name: WorkerPool resource name formatted
-	// as:
-	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_I
-	// D]`.
-	// name should not be populated when creating a worker pool since it
-	// is
+	// Name: WorkerPool resource name formatted as:
+	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.
+	//  name should not be populated when creating a worker pool since it is
 	// provided in the `poolId` field.
 	Name string `json:"name,omitempty"`
 
@@ -2810,34 +2447,26 @@
 	//   "STATE_UNSPECIFIED" - Not a valid state, but the default value of
 	// the enum.
 	//   "CREATING" - The worker pool is in state `CREATING` once
-	// `CreateWorkerPool` is called
-	// and before all requested workers are ready.
+	// `CreateWorkerPool` is called and before all requested workers are
+	// ready.
 	//   "RUNNING" - The worker pool is in state `RUNNING` when all its
-	// workers are ready for
-	// use.
+	// workers are ready for use.
 	//   "UPDATING" - The worker pool is in state `UPDATING` once
-	// `UpdateWorkerPool` is called
-	// and before the new configuration has all the requested workers ready
-	// for
-	// use, and no older configuration has any workers. At that point the
-	// state
-	// transitions to `RUNNING`.
+	// `UpdateWorkerPool` is called and before the new configuration has all
+	// the requested workers ready for use, and no older configuration has
+	// any workers. At that point the state transitions to `RUNNING`.
 	//   "DELETING" - The worker pool is in state `DELETING` once the
-	// `Delete` method is called
-	// and before the deletion completes.
+	// `Delete` method is called and before the deletion completes.
 	//   "INACTIVE" - The worker pool is in state `INACTIVE` when the
-	// instance hosting the
-	// worker pool in not running.
+	// instance hosting the worker pool in not running.
 	State string `json:"state,omitempty"`
 
 	// WorkerConfig: Specifies the properties, such as machine type and disk
-	// size, used for
-	// creating workers in a worker pool.
+	// size, used for creating workers in a worker pool.
 	WorkerConfig *GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig `json:"workerConfig,omitempty"`
 
 	// WorkerCount: The desired number of workers in the worker pool. Must
-	// be a value between
-	// 0 and 15000.
+	// be a value between 0 and 15000.
 	WorkerCount int64 `json:"workerCount,omitempty,string"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2868,24 +2497,15 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2AdminTemp: AdminTemp is a
-// prelimiary set of administration tasks. It's called "Temp"
-// because we do not yet know the best way to represent admin tasks;
-// it's
-// possible that this will be entirely replaced in later versions of
-// this API.
-// If this message proves to be sufficient, it will be renamed in the
-// alpha or
-// beta release of this API.
-//
-// This message (suitably marshalled into a protobuf.Any) can be used as
-// the
-// inline_assignment field in a lease; the lease assignment field should
-// simply
-// be "admin" in these cases.
-//
+// prelimiary set of administration tasks. It's called "Temp" because we
+// do not yet know the best way to represent admin tasks; it's possible
+// that this will be entirely replaced in later versions of this API. If
+// this message proves to be sufficient, it will be renamed in the alpha
+// or beta release of this API. This message (suitably marshalled into a
+// protobuf.Any) can be used as the inline_assignment field in a lease;
+// the lease assignment field should simply be "admin" in these cases.
 // This message is heavily based on Swarming administration tasks from
-// the LUCI
-// project (http://github.com/luci/luci-py/appengine/swarming).
+// the LUCI project (http://github.com/luci/luci-py/appengine/swarming).
 type GoogleDevtoolsRemoteworkersV1test2AdminTemp struct {
 	// Arg: The argument to the admin action; see `Command` for semantics.
 	Arg string `json:"arg,omitempty"`
@@ -2895,16 +2515,13 @@
 	// Possible values:
 	//   "UNSPECIFIED" - Illegal value.
 	//   "BOT_UPDATE" - Download and run a new version of the bot. `arg`
-	// will be a resource
-	// accessible via `ByteStream.Read` to obtain the new bot code.
+	// will be a resource accessible via `ByteStream.Read` to obtain the new
+	// bot code.
 	//   "BOT_RESTART" - Restart the bot without downloading a new version.
-	// `arg` will be a
-	// message to log.
+	// `arg` will be a message to log.
 	//   "BOT_TERMINATE" - Shut down the bot. `arg` will be a task resource
-	// name (similar to those
-	// in tasks.proto) that the bot can use to tell the server that it
-	// is
-	// terminating.
+	// name (similar to those in tasks.proto) that the bot can use to tell
+	// the server that it is terminating.
 	//   "HOST_RESTART" - Restart the host computer. `arg` will be a message
 	// to log.
 	Command string `json:"command,omitempty"`
@@ -2966,23 +2583,19 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2CommandOutputs: DEPRECATED - use
-// CommandResult instead.
-// Describes the actual outputs from the task.
+// CommandResult instead. Describes the actual outputs from the task.
 type GoogleDevtoolsRemoteworkersV1test2CommandOutputs struct {
 	// ExitCode: exit_code is only fully reliable if the status' code is OK.
-	// If the task
-	// exceeded its deadline or was cancelled, the process may still produce
-	// an
-	// exit code as it is cancelled, and this will be populated, but a
-	// successful
-	// (zero) is unlikely to be correct unless the status code is OK.
+	// If the task exceeded its deadline or was cancelled, the process may
+	// still produce an exit code as it is cancelled, and this will be
+	// populated, but a successful (zero) is unlikely to be correct unless
+	// the status code is OK.
 	ExitCode int64 `json:"exitCode,omitempty"`
 
 	// Outputs: The output files. The blob referenced by the digest should
-	// contain
-	// one of the following (implementation-dependent):
-	//    * A marshalled DirectoryMetadata of the returned filesystem
-	//    * A LUCI-style .isolated file
+	// contain one of the following (implementation-dependent): * A
+	// marshalled DirectoryMetadata of the returned filesystem * A
+	// LUCI-style .isolated file
 	Outputs *GoogleDevtoolsRemoteworkersV1test2Digest `json:"outputs,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ExitCode") to
@@ -3009,20 +2622,16 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2CommandOverhead: DEPRECATED - use
-// CommandResult instead.
-// Can be used as part of CompleteRequest.metadata, or are part of a
-// more
-// sophisticated message.
+// CommandResult instead. Can be used as part of
+// CompleteRequest.metadata, or are part of a more sophisticated
+// message.
 type GoogleDevtoolsRemoteworkersV1test2CommandOverhead struct {
 	// Duration: The elapsed time between calling Accept and Complete. The
-	// server will also
-	// have its own idea of what this should be, but this excludes the
-	// overhead of
-	// the RPCs and the bot response time.
+	// server will also have its own idea of what this should be, but this
+	// excludes the overhead of the RPCs and the bot response time.
 	Duration string `json:"duration,omitempty"`
 
-	// Overhead: The amount of time *not* spent executing the command
-	// (ie
+	// Overhead: The amount of time *not* spent executing the command (ie
 	// uploading/downloading files).
 	Overhead string `json:"overhead,omitempty"`
 
@@ -3050,51 +2659,41 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2CommandResult: All information
-// about the execution of a command, suitable for providing as
-// the Bots interface's `Lease.result` field.
+// about the execution of a command, suitable for providing as the Bots
+// interface's `Lease.result` field.
 type GoogleDevtoolsRemoteworkersV1test2CommandResult struct {
 	// Duration: The elapsed time between calling Accept and Complete. The
-	// server will also
-	// have its own idea of what this should be, but this excludes the
-	// overhead of
-	// the RPCs and the bot response time.
+	// server will also have its own idea of what this should be, but this
+	// excludes the overhead of the RPCs and the bot response time.
 	Duration string `json:"duration,omitempty"`
 
 	// ExitCode: The exit code of the process. An exit code of "0" should
-	// only be trusted if
-	// `status` has a code of OK (otherwise it may simply be unset).
+	// only be trusted if `status` has a code of OK (otherwise it may simply
+	// be unset).
 	ExitCode int64 `json:"exitCode,omitempty"`
 
 	// Metadata: Implementation-dependent metadata about the task. Both
-	// servers and bots
-	// may define messages which can be encoded here; bots are free to
-	// provide
-	// metadata in multiple formats, and servers are free to choose one or
-	// more
-	// of the values to process and ignore others. In particular, it is
-	// *not*
-	// considered an error for the bot to provide the server with a field
-	// that it
-	// doesn't know about.
+	// servers and bots may define messages which can be encoded here; bots
+	// are free to provide metadata in multiple formats, and servers are
+	// free to choose one or more of the values to process and ignore
+	// others. In particular, it is *not* considered an error for the bot to
+	// provide the server with a field that it doesn't know about.
 	Metadata []googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Outputs: The output files. The blob referenced by the digest should
-	// contain
-	// one of the following (implementation-dependent):
-	//    * A marshalled DirectoryMetadata of the returned filesystem
-	//    * A LUCI-style .isolated file
+	// contain one of the following (implementation-dependent): * A
+	// marshalled DirectoryMetadata of the returned filesystem * A
+	// LUCI-style .isolated file
 	Outputs *GoogleDevtoolsRemoteworkersV1test2Digest `json:"outputs,omitempty"`
 
-	// Overhead: The amount of time *not* spent executing the command
-	// (ie
+	// Overhead: The amount of time *not* spent executing the command (ie
 	// uploading/downloading files).
 	Overhead string `json:"overhead,omitempty"`
 
 	// Status: An overall status for the command. For example, if the
-	// command timed out,
-	// this might have a code of DEADLINE_EXCEEDED; if it was killed by the
-	// OS for
-	// memory exhaustion, it might have a code of RESOURCE_EXHAUSTED.
+	// command timed out, this might have a code of DEADLINE_EXCEEDED; if it
+	// was killed by the OS for memory exhaustion, it might have a code of
+	// RESOURCE_EXHAUSTED.
 	Status *GoogleRpcStatus `json:"status,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Duration") to
@@ -3121,8 +2720,7 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2CommandTask: Describes a
-// shell-style task to execute, suitable for providing as the
-// Bots
+// shell-style task to execute, suitable for providing as the Bots
 // interface's `Lease.payload` field.
 type GoogleDevtoolsRemoteworkersV1test2CommandTask struct {
 	// ExpectedOutputs: The expected outputs from the task.
@@ -3161,63 +2759,41 @@
 // GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs: Describes the
 // inputs to a shell-style task.
 type GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs struct {
-	// Arguments: The command itself to run (e.g., argv).
-	//
-	// This field should be passed directly to the underlying operating
-	// system,
-	// and so it must be sensible to that operating system. For example,
-	// on
-	// Windows, the first argument might be "C:\Windows\System32\ping.exe"
-	// -
-	// that is, using drive letters and backslashes. A command for a
-	// *nix
-	// system, on the other hand, would use forward slashes.
-	//
-	// All other fields in the RWAPI must consistently use forward
-	// slashes,
-	// since those fields may be interpretted by both the service and the
-	// bot.
+	// Arguments: The command itself to run (e.g., argv). This field should
+	// be passed directly to the underlying operating system, and so it must
+	// be sensible to that operating system. For example, on Windows, the
+	// first argument might be "C:\Windows\System32\ping.exe" - that is,
+	// using drive letters and backslashes. A command for a *nix system, on
+	// the other hand, would use forward slashes. All other fields in the
+	// RWAPI must consistently use forward slashes, since those fields may
+	// be interpretted by both the service and the bot.
 	Arguments []string `json:"arguments,omitempty"`
 
 	// EnvironmentVariables: All environment variables required by the task.
 	EnvironmentVariables []*GoogleDevtoolsRemoteworkersV1test2CommandTaskInputsEnvironmentVariable `json:"environmentVariables,omitempty"`
 
 	// Files: The input filesystem to be set up prior to the task beginning.
-	// The
-	// contents should be a repeated set of FileMetadata messages though
-	// other
-	// formats are allowed if better for the implementation (eg, a
-	// LUCI-style
-	// .isolated file).
-	//
-	// This field is repeated since implementations might want to cache
-	// the
-	// metadata, in which case it may be useful to break up portions of
-	// the
-	// filesystem that change frequently (eg, specific input files) from
-	// those
-	// that don't (eg, standard header files).
+	// The contents should be a repeated set of FileMetadata messages though
+	// other formats are allowed if better for the implementation (eg, a
+	// LUCI-style .isolated file). This field is repeated since
+	// implementations might want to cache the metadata, in which case it
+	// may be useful to break up portions of the filesystem that change
+	// frequently (eg, specific input files) from those that don't (eg,
+	// standard header files).
 	Files []*GoogleDevtoolsRemoteworkersV1test2Digest `json:"files,omitempty"`
 
 	// InlineBlobs: Inline contents for blobs expected to be needed by the
-	// bot to execute the
-	// task. For example, contents of entries in `files` or blobs that
-	// are
-	// indirectly referenced by an entry there.
-	//
-	// The bot should check against this list before downloading required
-	// task
-	// inputs to reduce the number of communications between itself and
-	// the
+	// bot to execute the task. For example, contents of entries in `files`
+	// or blobs that are indirectly referenced by an entry there. The bot
+	// should check against this list before downloading required task
+	// inputs to reduce the number of communications between itself and the
 	// remote CAS server.
 	InlineBlobs []*GoogleDevtoolsRemoteworkersV1test2Blob `json:"inlineBlobs,omitempty"`
 
 	// WorkingDirectory: Directory from which a command is executed. It is a
-	// relative directory
-	// with respect to the bot's working directory (i.e., "./"). If it
-	// is
-	// non-empty, then it must exist under "./". Otherwise, "./" will be
-	// used.
+	// relative directory with respect to the bot's working directory (i.e.,
+	// "./"). If it is non-empty, then it must exist under "./". Otherwise,
+	// "./" will be used.
 	WorkingDirectory string `json:"workingDirectory,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Arguments") to
@@ -3279,35 +2855,27 @@
 // expected outputs of the command.
 type GoogleDevtoolsRemoteworkersV1test2CommandTaskOutputs struct {
 	// Directories: A list of expected directories, relative to the
-	// execution root. All paths
-	// MUST be delimited by forward slashes.
+	// execution root. All paths MUST be delimited by forward slashes.
 	Directories []string `json:"directories,omitempty"`
 
 	// Files: A list of expected files, relative to the execution root. All
-	// paths
-	// MUST be delimited by forward slashes.
+	// paths MUST be delimited by forward slashes.
 	Files []string `json:"files,omitempty"`
 
 	// StderrDestination: The destination to which any stderr should be
-	// sent. The method by which
-	// the bot should send the stream contents to that destination is
-	// not
-	// defined in this API. As examples, the destination could be a
-	// file
-	// referenced in the `files` field in this message, or it could be a
-	// URI
-	// that must be written via the ByteStream API.
+	// sent. The method by which the bot should send the stream contents to
+	// that destination is not defined in this API. As examples, the
+	// destination could be a file referenced in the `files` field in this
+	// message, or it could be a URI that must be written via the ByteStream
+	// API.
 	StderrDestination string `json:"stderrDestination,omitempty"`
 
 	// StdoutDestination: The destination to which any stdout should be
-	// sent. The method by which
-	// the bot should send the stream contents to that destination is
-	// not
-	// defined in this API. As examples, the destination could be a
-	// file
-	// referenced in the `files` field in this message, or it could be a
-	// URI
-	// that must be written via the ByteStream API.
+	// sent. The method by which the bot should send the stream contents to
+	// that destination is not defined in this API. As examples, the
+	// destination could be a file referenced in the `files` field in this
+	// message, or it could be a URI that must be written via the ByteStream
+	// API.
 	StdoutDestination string `json:"stdoutDestination,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Directories") to
@@ -3337,32 +2905,23 @@
 // timeouts associated with this task.
 type GoogleDevtoolsRemoteworkersV1test2CommandTaskTimeouts struct {
 	// Execution: This specifies the maximum time that the task can run,
-	// excluding the
-	// time required to download inputs or upload outputs. That is, the
-	// worker
-	// will terminate the task if it runs longer than this.
+	// excluding the time required to download inputs or upload outputs.
+	// That is, the worker will terminate the task if it runs longer than
+	// this.
 	Execution string `json:"execution,omitempty"`
 
 	// Idle: This specifies the maximum amount of time the task can be idle
-	// - that is,
-	// go without generating some output in either stdout or stderr. If
-	// the
-	// process is silent for more than the specified time, the worker
-	// will
-	// terminate the task.
+	// - that is, go without generating some output in either stdout or
+	// stderr. If the process is silent for more than the specified time,
+	// the worker will terminate the task.
 	Idle string `json:"idle,omitempty"`
 
 	// Shutdown: If the execution or IO timeouts are exceeded, the worker
-	// will try to
-	// gracefully terminate the task and return any existing logs.
-	// However,
-	// tasks may be hard-frozen in which case this process will fail.
-	// This
-	// timeout specifies how long to wait for a terminated task to shut
-	// down
-	// gracefully (e.g. via SIGTERM) before we bring down the hammer
-	// (e.g.
-	// SIGKILL on *nix, CTRL_BREAK_EVENT on Windows).
+	// will try to gracefully terminate the task and return any existing
+	// logs. However, tasks may be hard-frozen in which case this process
+	// will fail. This timeout specifies how long to wait for a terminated
+	// task to shut down gracefully (e.g. via SIGTERM) before we bring down
+	// the hammer (e.g. SIGKILL on *nix, CTRL_BREAK_EVENT on Windows).
 	Shutdown string `json:"shutdown,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Execution") to
@@ -3389,33 +2948,25 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2Digest: The CommandTask and
-// CommandResult messages assume the existence of a service
-// that can serve blobs of content, identified by a hash and size known
-// as a
+// CommandResult messages assume the existence of a service that can
+// serve blobs of content, identified by a hash and size known as a
 // "digest." The method by which these blobs may be retrieved is not
-// specified
-// here, but a model implementation is in the Remote Execution
-// API's
-// "ContentAddressibleStorage" interface.
-//
-// In the context of the RWAPI, a Digest will virtually always refer to
-// the
-// contents of a file or a directory. The latter is represented by
-// the
-// byte-encoded Directory message.
+// specified here, but a model implementation is in the Remote Execution
+// API's "ContentAddressibleStorage" interface. In the context of the
+// RWAPI, a Digest will virtually always refer to the contents of a file
+// or a directory. The latter is represented by the byte-encoded
+// Directory message.
 type GoogleDevtoolsRemoteworkersV1test2Digest struct {
 	// Hash: A string-encoded hash (eg "1a2b3c", not the byte array [0x1a,
-	// 0x2b, 0x3c])
-	// using an implementation-defined hash algorithm (eg SHA-256).
+	// 0x2b, 0x3c]) using an implementation-defined hash algorithm (eg
+	// SHA-256).
 	Hash string `json:"hash,omitempty"`
 
 	// SizeBytes: The size of the contents. While this is not strictly
-	// required as part of an
-	// identifier (after all, any given hash will have exactly one
-	// canonical
-	// size), it's useful in almost all cases when one might want to send
-	// or
-	// retrieve blobs of content and is included here for this reason.
+	// required as part of an identifier (after all, any given hash will
+	// have exactly one canonical size), it's useful in almost all cases
+	// when one might want to send or retrieve blobs of content and is
+	// included here for this reason.
 	SizeBytes int64 `json:"sizeBytes,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "Hash") to
@@ -3442,8 +2993,8 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2Directory: The contents of a
-// directory. Similar to the equivalent message in the Remote
-// Execution API.
+// directory. Similar to the equivalent message in the Remote Execution
+// API.
 type GoogleDevtoolsRemoteworkersV1test2Directory struct {
 	// Directories: Any subdirectories
 	Directories []*GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata `json:"directories,omitempty"`
@@ -3475,13 +3026,11 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata: The metadata for
-// a directory. Similar to the equivalent message in the
-// Remote
+// a directory. Similar to the equivalent message in the Remote
 // Execution API.
 type GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata struct {
 	// Digest: A pointer to the contents of the directory, in the form of a
-	// marshalled
-	// Directory message.
+	// marshalled Directory message.
 	Digest *GoogleDevtoolsRemoteworkersV1test2Digest `json:"digest,omitempty"`
 
 	// Path: The path of the directory, as in FileMetadata.path.
@@ -3511,32 +3060,25 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2FileMetadata: The metadata for a
-// file. Similar to the equivalent message in the Remote
-// Execution API.
+// file. Similar to the equivalent message in the Remote Execution API.
 type GoogleDevtoolsRemoteworkersV1test2FileMetadata struct {
 	// Contents: If the file is small enough, its contents may also or
-	// alternatively be
-	// listed here.
+	// alternatively be listed here.
 	Contents string `json:"contents,omitempty"`
 
 	// Digest: A pointer to the contents of the file. The method by which a
-	// client
-	// retrieves the contents from a CAS system is not defined here.
+	// client retrieves the contents from a CAS system is not defined here.
 	Digest *GoogleDevtoolsRemoteworkersV1test2Digest `json:"digest,omitempty"`
 
 	// IsExecutable: Properties of the file
 	IsExecutable bool `json:"isExecutable,omitempty"`
 
-	// Path: The path of this file. If this message is part of
-	// the
+	// Path: The path of this file. If this message is part of the
 	// CommandOutputs.outputs fields, the path is relative to the execution
-	// root
-	// and must correspond to an entry in CommandTask.outputs.files. If
-	// this
-	// message is part of a Directory message, then the path is relative to
-	// the
-	// root of that directory. All paths MUST be delimited by forward
-	// slashes.
+	// root and must correspond to an entry in CommandTask.outputs.files. If
+	// this message is part of a Directory message, then the path is
+	// relative to the root of that directory. All paths MUST be delimited
+	// by forward slashes.
 	Path string `json:"path,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Contents") to
@@ -3563,52 +3105,38 @@
 }
 
 // GoogleLongrunningOperation: This resource represents a long-running
-// operation that is the result of a
-// network API call.
+// operation that is the result of a network API call.
 type GoogleLongrunningOperation struct {
 	// Done: 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.
+	// progress. If `true`, the operation is completed, and either `error`
+	// or `response` is available.
 	Done bool `json:"done,omitempty"`
 
 	// Error: The error result of the operation in case of failure or
 	// cancellation.
 	Error *GoogleRpcStatus `json:"error,omitempty"`
 
-	// Metadata: 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.
+	// Metadata: 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.
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Name: The server-assigned name, which is only unique within the same
-	// service that
-	// originally returns it. If you use the default HTTP mapping,
-	// the
-	// `name` should be a resource name ending with
+	// service that originally returns it. If you use the default HTTP
+	// mapping, the `name` should be a resource name ending with
 	// `operations/{unique_id}`.
 	Name string `json:"name,omitempty"`
 
-	// Response: 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`.
+	// Response: 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`.
 	Response googleapi.RawMessage `json:"response,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -3639,32 +3167,24 @@
 }
 
 // GoogleRpcStatus: The `Status` type defines a logical error model that
-// is suitable for
-// different programming environments, including REST APIs and RPC APIs.
-// It is
-// used by [gRPC](https://github.com/grpc). Each `Status` message
-// contains
-// three pieces of data: error code, error message, and error
-// details.
-//
-// You can find out more about this error model and how to work with it
-// in the
-// [API Design Guide](https://cloud.google.com/apis/design/errors).
+// is suitable for different programming environments, including REST
+// APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc).
+// Each `Status` message contains three pieces of data: error code,
+// error message, and error details. You can find out more about this
+// error model and how to work with it in the [API Design
+// Guide](https://cloud.google.com/apis/design/errors).
 type GoogleRpcStatus struct {
 	// Code: The status code, which should be an enum value of
 	// google.rpc.Code.
 	Code int64 `json:"code,omitempty"`
 
-	// Details: A list of messages that carry the error details.  There is a
-	// common set of
-	// message types for APIs to use.
+	// Details: A list of messages that carry the error details. There is a
+	// common set of message types for APIs to use.
 	Details []googleapi.RawMessage `json:"details,omitempty"`
 
 	// Message: 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.
+	// English. Any user-facing error message should be localized and sent
+	// in the google.rpc.Status.details field, or localized by the client.
 	Message string `json:"message,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Code") to
@@ -3701,12 +3221,10 @@
 	header_                                                             http.Header
 }
 
-// Create: Creates a new instance in the specified region.
-// Returns a long running operation which contains an instance on
-// completion.
+// Create: Creates a new instance in the specified region. Returns a
+// long running operation which contains an instance on completion.
 // While the long running operation is in progress, any call to
-// `GetInstance`
-// returns an instance in state `CREATING`.
+// `GetInstance` returns an instance in state `CREATING`.
 func (r *ProjectsInstancesService) Create(parent string, googledevtoolsremotebuildexecutionadminv1alphacreateinstancerequest *GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest) *ProjectsInstancesCreateCall {
 	c := &ProjectsInstancesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -3741,7 +3259,7 @@
 
 func (c *ProjectsInstancesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3805,7 +3323,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a new instance in the specified region.\nReturns a long running operation which contains an instance on completion.\nWhile the long running operation is in progress, any call to `GetInstance`\nreturns an instance in state `CREATING`.",
+	//   "description": "Creates a new instance in the specified region. Returns a long running operation which contains an instance on completion. While the long running operation is in progress, any call to `GetInstance` returns an instance in state `CREATING`.",
 	//   "flatPath": "v1alpha/projects/{projectsId}/instances",
 	//   "httpMethod": "POST",
 	//   "id": "remotebuildexecution.projects.instances.create",
@@ -3814,7 +3332,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Resource name of the project containing the instance.\nFormat: `projects/[PROJECT_ID]`.",
+	//       "description": "Resource name of the project containing the instance. Format: `projects/[PROJECT_ID]`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -3845,13 +3363,10 @@
 	header_    http.Header
 }
 
-// Delete: Deletes the specified instance.
-// Returns a long running operation which contains a
-// `google.protobuf.Empty`
-// response on completion.
-// Deleting an instance with worker pools in it will delete these
-// worker
-// pools.
+// Delete: Deletes the specified instance. Returns a long running
+// operation which contains a `google.protobuf.Empty` response on
+// completion. Deleting an instance with worker pools in it will delete
+// these worker pools.
 func (r *ProjectsInstancesService) Delete(name string) *ProjectsInstancesDeleteCall {
 	c := &ProjectsInstancesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3885,7 +3400,7 @@
 
 func (c *ProjectsInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3944,7 +3459,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes the specified instance.\nReturns a long running operation which contains a `google.protobuf.Empty`\nresponse on completion.\nDeleting an instance with worker pools in it will delete these worker\npools.",
+	//   "description": "Deletes the specified instance. Returns a long running operation which contains a `google.protobuf.Empty` response on completion. Deleting an instance with worker pools in it will delete these worker pools.",
 	//   "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "remotebuildexecution.projects.instances.delete",
@@ -3953,7 +3468,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Name of the instance to delete.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+	//       "description": "Name of the instance to delete. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
 	//       "required": true,
@@ -4026,7 +3541,7 @@
 
 func (c *ProjectsInstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4100,7 +3615,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Name of the instance to retrieve.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+	//       "description": "Name of the instance to retrieve. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
 	//       "required": true,
@@ -4173,7 +3688,7 @@
 
 func (c *ProjectsInstancesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4247,7 +3762,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Resource name of the project.\nFormat: `projects/[PROJECT_ID]`.",
+	//       "description": "Resource name of the project. Format: `projects/[PROJECT_ID]`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -4265,6 +3780,189 @@
 
 }
 
+// method id "remotebuildexecution.projects.instances.patch":
+
+type ProjectsInstancesPatchCall struct {
+	s                                                      *Service
+	name                                                   string
+	googledevtoolsremotebuildexecutionadminv1alphainstance *GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance
+	urlParams_                                             gensupport.URLParams
+	ctx_                                                   context.Context
+	header_                                                http.Header
+}
+
+// Patch: Updates the specified instance. Returns a long running
+// operation which contains the updated instance in the response on
+// completion.
+func (r *ProjectsInstancesService) Patch(name string, googledevtoolsremotebuildexecutionadminv1alphainstance *GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance) *ProjectsInstancesPatchCall {
+	c := &ProjectsInstancesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+	c.name = name
+	c.googledevtoolsremotebuildexecutionadminv1alphainstance = googledevtoolsremotebuildexecutionadminv1alphainstance
+	return c
+}
+
+// LoggingEnabled sets the optional parameter "loggingEnabled":
+// Deprecated, use instance.logging_enabled instead. Whether to enable
+// Stackdriver logging for this instance.
+func (c *ProjectsInstancesPatchCall) LoggingEnabled(loggingEnabled bool) *ProjectsInstancesPatchCall {
+	c.urlParams_.Set("loggingEnabled", fmt.Sprint(loggingEnabled))
+	return c
+}
+
+// Name1 sets the optional parameter "name1": Deprecated, use
+// instance.Name instead. Name of the instance to update. Format:
+// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
+func (c *ProjectsInstancesPatchCall) Name1(name1 string) *ProjectsInstancesPatchCall {
+	c.urlParams_.Set("name1", name1)
+	return c
+}
+
+// UpdateMask sets the optional parameter "updateMask": The update mask
+// applies to instance. For the `FieldMask` definition, see
+// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If an empty update_mask is provided, only the non-default valued field in the worker pool field will be updated. Note that in order to update a field to the default value (zero, false, empty string) an explicit update_mask must be
+// provided.
+func (c *ProjectsInstancesPatchCall) UpdateMask(updateMask string) *ProjectsInstancesPatchCall {
+	c.urlParams_.Set("updateMask", updateMask)
+	return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *ProjectsInstancesPatchCall) Fields(s ...googleapi.Field) *ProjectsInstancesPatchCall {
+	c.urlParams_.Set("fields", googleapi.CombineFields(s))
+	return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *ProjectsInstancesPatchCall) Context(ctx context.Context) *ProjectsInstancesPatchCall {
+	c.ctx_ = ctx
+	return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ProjectsInstancesPatchCall) Header() http.Header {
+	if c.header_ == nil {
+		c.header_ = make(http.Header)
+	}
+	return c.header_
+}
+
+func (c *ProjectsInstancesPatchCall) doRequest(alt string) (*http.Response, error) {
+	reqHeaders := make(http.Header)
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
+	for k, v := range c.header_ {
+		reqHeaders[k] = v
+	}
+	reqHeaders.Set("User-Agent", c.s.userAgent())
+	var body io.Reader = nil
+	body, err := googleapi.WithoutDataWrapper.JSONReader(c.googledevtoolsremotebuildexecutionadminv1alphainstance)
+	if err != nil {
+		return nil, err
+	}
+	reqHeaders.Set("Content-Type", "application/json")
+	c.urlParams_.Set("alt", alt)
+	c.urlParams_.Set("prettyPrint", "false")
+	urls := googleapi.ResolveRelative(c.s.BasePath, "v1alpha/{+name}")
+	urls += "?" + c.urlParams_.Encode()
+	req, err := http.NewRequest("PATCH", urls, body)
+	if err != nil {
+		return nil, err
+	}
+	req.Header = reqHeaders
+	googleapi.Expand(req.URL, map[string]string{
+		"name": c.name,
+	})
+	return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "remotebuildexecution.projects.instances.patch" call.
+// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
+// Any non-2xx status code is an error. Response headers are in either
+// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
+// was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *ProjectsInstancesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
+	gensupport.SetOptions(c.urlParams_, opts...)
+	res, err := c.doRequest("json")
+	if res != nil && res.StatusCode == http.StatusNotModified {
+		if res.Body != nil {
+			res.Body.Close()
+		}
+		return nil, &googleapi.Error{
+			Code:   res.StatusCode,
+			Header: res.Header,
+		}
+	}
+	if err != nil {
+		return nil, err
+	}
+	defer googleapi.CloseBody(res)
+	if err := googleapi.CheckResponse(res); err != nil {
+		return nil, err
+	}
+	ret := &GoogleLongrunningOperation{
+		ServerResponse: googleapi.ServerResponse{
+			Header:         res.Header,
+			HTTPStatusCode: res.StatusCode,
+		},
+	}
+	target := &ret
+	if err := gensupport.DecodeResponse(target, res); err != nil {
+		return nil, err
+	}
+	return ret, nil
+	// {
+	//   "description": "Updates the specified instance. Returns a long running operation which contains the updated instance in the response on completion.",
+	//   "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}",
+	//   "httpMethod": "PATCH",
+	//   "id": "remotebuildexecution.projects.instances.patch",
+	//   "parameterOrder": [
+	//     "name"
+	//   ],
+	//   "parameters": {
+	//     "loggingEnabled": {
+	//       "description": "Deprecated, use instance.logging_enabled instead. Whether to enable Stackdriver logging for this instance.",
+	//       "location": "query",
+	//       "type": "boolean"
+	//     },
+	//     "name": {
+	//       "description": "Output only. Instance resource name formatted as: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. Name should not be populated when creating an instance since it is provided in the `instance_id` field.",
+	//       "location": "path",
+	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
+	//       "required": true,
+	//       "type": "string"
+	//     },
+	//     "name1": {
+	//       "description": "Deprecated, use instance.Name instead. Name of the instance to update. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+	//       "location": "query",
+	//       "type": "string"
+	//     },
+	//     "updateMask": {
+	//       "description": "The update mask applies to instance. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If an empty update_mask is provided, only the non-default valued field in the worker pool field will be updated. Note that in order to update a field to the default value (zero, false, empty string) an explicit update_mask must be provided.",
+	//       "format": "google-fieldmask",
+	//       "location": "query",
+	//       "type": "string"
+	//     }
+	//   },
+	//   "path": "v1alpha/{+name}",
+	//   "request": {
+	//     "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance"
+	//   },
+	//   "response": {
+	//     "$ref": "GoogleLongrunningOperation"
+	//   },
+	//   "scopes": [
+	//     "https://www.googleapis.com/auth/cloud-platform"
+	//   ]
+	// }
+
+}
+
 // method id "remotebuildexecution.projects.instances.workerpools.create":
 
 type ProjectsInstancesWorkerpoolsCreateCall struct {
@@ -4277,12 +3975,10 @@
 }
 
 // Create: Creates a new worker pool with a specified size and
-// configuration.
-// Returns a long running operation which contains a worker pool
-// on
-// completion. While the long running operation is in progress, any call
-// to
-// `GetWorkerPool` returns a worker pool in state `CREATING`.
+// configuration. Returns a long running operation which contains a
+// worker pool on completion. While the long running operation is in
+// progress, any call to `GetWorkerPool` returns a worker pool in state
+// `CREATING`.
 func (r *ProjectsInstancesWorkerpoolsService) Create(parent string, googledevtoolsremotebuildexecutionadminv1alphacreateworkerpoolrequest *GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest) *ProjectsInstancesWorkerpoolsCreateCall {
 	c := &ProjectsInstancesWorkerpoolsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -4317,7 +4013,7 @@
 
 func (c *ProjectsInstancesWorkerpoolsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4381,7 +4077,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a new worker pool with a specified size and configuration.\nReturns a long running operation which contains a worker pool on\ncompletion. While the long running operation is in progress, any call to\n`GetWorkerPool` returns a worker pool in state `CREATING`.",
+	//   "description": "Creates a new worker pool with a specified size and configuration. Returns a long running operation which contains a worker pool on completion. While the long running operation is in progress, any call to `GetWorkerPool` returns a worker pool in state `CREATING`.",
 	//   "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}/workerpools",
 	//   "httpMethod": "POST",
 	//   "id": "remotebuildexecution.projects.instances.workerpools.create",
@@ -4390,7 +4086,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Resource name of the instance in which to create the new worker pool.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+	//       "description": "Resource name of the instance in which to create the new worker pool. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
 	//       "required": true,
@@ -4421,13 +4117,10 @@
 	header_    http.Header
 }
 
-// Delete: Deletes the specified worker pool.
-// Returns a long running operation, which contains a
-// `google.protobuf.Empty`
-// response on completion.
-// While the long running operation is in progress, any call
-// to
-// `GetWorkerPool` returns a worker pool in state `DELETING`.
+// Delete: Deletes the specified worker pool. Returns a long running
+// operation, which contains a `google.protobuf.Empty` response on
+// completion. While the long running operation is in progress, any call
+// to `GetWorkerPool` returns a worker pool in state `DELETING`.
 func (r *ProjectsInstancesWorkerpoolsService) Delete(name string) *ProjectsInstancesWorkerpoolsDeleteCall {
 	c := &ProjectsInstancesWorkerpoolsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4461,7 +4154,7 @@
 
 func (c *ProjectsInstancesWorkerpoolsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4520,7 +4213,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes the specified worker pool.\nReturns a long running operation, which contains a `google.protobuf.Empty`\nresponse on completion.\nWhile the long running operation is in progress, any call to\n`GetWorkerPool` returns a worker pool in state `DELETING`.",
+	//   "description": "Deletes the specified worker pool. Returns a long running operation, which contains a `google.protobuf.Empty` response on completion. While the long running operation is in progress, any call to `GetWorkerPool` returns a worker pool in state `DELETING`.",
 	//   "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}/workerpools/{workerpoolsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "remotebuildexecution.projects.instances.workerpools.delete",
@@ -4529,7 +4222,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Name of the worker pool to delete.\nFormat:\n`projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.",
+	//       "description": "Name of the worker pool to delete. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+/workerpools/[^/]+$",
 	//       "required": true,
@@ -4602,7 +4295,7 @@
 
 func (c *ProjectsInstancesWorkerpoolsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4676,7 +4369,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Name of the worker pool to retrieve.\nFormat:\n`projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.",
+	//       "description": "Name of the worker pool to retrieve. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+/workerpools/[^/]+$",
 	//       "required": true,
@@ -4713,42 +4406,22 @@
 }
 
 // Filter sets the optional parameter "filter": A filter expression that
-// filters resources listed in
-// the response. The expression must specify the field name, a
-// comparison
-// operator, and the value that you want to use for filtering. The
-// value
-// must be a string, a number, or a boolean. String values
-// are
-// case-insensitive.
-// The comparison operator must be either `:`, `=`, `!=`, `>`, `>=`,
-// `<=` or
-// `<`.
-// The `:` operator can be used with string fields to match
-// substrings.
-// For non-string fields it is equivalent to the `=` operator.
-// The `:*` comparison can be used to test  whether a key has been
-// defined.
-//
-// You can also filter on nested fields.
-//
-// To filter on multiple expressions, you can separate expression
-// using
-// `AND` and `OR` operators, using parentheses to specify precedence.
-// If
-// neither operator is specified, `AND` is assumed.
-//
-// Examples:
-//
-// Include only pools with more than 100 reserved
-// workers:
-// `(worker_count > 100) (worker_config.reserved = true)`
-//
-// Include only pools with a certain label or machines of the
-// n1-standard
-// family:
-// `worker_config.labels.key1 : * OR worker_config.machine_type:
-// n1-standard`
+// filters resources listed in the response. The expression must specify
+// the field name, a comparison operator, and the value that you want to
+// use for filtering. The value must be a string, a number, or a
+// boolean. String values are case-insensitive. The comparison operator
+// must be either `:`, `=`, `!=`, `>`, `>=`, `<=` or `<`. The `:`
+// operator can be used with string fields to match substrings. For
+// non-string fields it is equivalent to the `=` operator. The `:*`
+// comparison can be used to test whether a key has been defined. You
+// can also filter on nested fields. To filter on multiple expressions,
+// you can separate expression using `AND` and `OR` operators, using
+// parentheses to specify precedence. If neither operator is specified,
+// `AND` is assumed. Examples: Include only pools with more than 100
+// reserved workers: `(worker_count > 100) (worker_config.reserved =
+// true)` Include only pools with a certain label or machines of the
+// n1-standard family: `worker_config.labels.key1 : * OR
+// worker_config.machine_type: n1-standard`
 func (c *ProjectsInstancesWorkerpoolsListCall) Filter(filter string) *ProjectsInstancesWorkerpoolsListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
@@ -4791,7 +4464,7 @@
 
 func (c *ProjectsInstancesWorkerpoolsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4865,12 +4538,12 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "Optional. A filter expression that filters resources listed in\nthe response. The expression must specify the field name, a comparison\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. String values are\ncase-insensitive.\nThe comparison operator must be either `:`, `=`, `!=`, `\u003e`, `\u003e=`, `\u003c=` or\n`\u003c`.\nThe `:` operator can be used with string fields to match substrings.\nFor non-string fields it is equivalent to the `=` operator.\nThe `:*` comparison can be used to test  whether a key has been defined.\n\nYou can also filter on nested fields.\n\nTo filter on multiple expressions, you can separate expression using\n`AND` and `OR` operators, using parentheses to specify precedence. If\nneither operator is specified, `AND` is assumed.\n\nExamples:\n\nInclude only pools with more than 100 reserved workers:\n`(worker_count \u003e 100) (worker_config.reserved = true)`\n\nInclude only pools with a certain label or machines of the n1-standard\nfamily:\n`worker_config.labels.key1 : * OR worker_config.machine_type: n1-standard`",
+	//       "description": "Optional. A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. String values are case-insensitive. The comparison operator must be either `:`, `=`, `!=`, `\u003e`, `\u003e=`, `\u003c=` or `\u003c`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. You can also filter on nested fields. To filter on multiple expressions, you can separate expression using `AND` and `OR` operators, using parentheses to specify precedence. If neither operator is specified, `AND` is assumed. Examples: Include only pools with more than 100 reserved workers: `(worker_count \u003e 100) (worker_config.reserved = true)` Include only pools with a certain label or machines of the n1-standard family: `worker_config.labels.key1 : * OR worker_config.machine_type: n1-standard`",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Resource name of the instance.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+	//       "description": "Resource name of the instance. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
 	//       "required": true,
@@ -4900,12 +4573,10 @@
 }
 
 // Patch: Updates an existing worker pool with a specified size and/or
-// configuration.
-// Returns a long running operation, which contains a worker pool
-// on
-// completion. While the long running operation is in progress, any call
-// to
-// `GetWorkerPool` returns a worker pool in state `UPDATING`.
+// configuration. Returns a long running operation, which contains a
+// worker pool on completion. While the long running operation is in
+// progress, any call to `GetWorkerPool` returns a worker pool in state
+// `UPDATING`.
 func (r *ProjectsInstancesWorkerpoolsService) Patch(name string, googledevtoolsremotebuildexecutionadminv1alphaupdateworkerpoolrequest *GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest) *ProjectsInstancesWorkerpoolsPatchCall {
 	c := &ProjectsInstancesWorkerpoolsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -4940,7 +4611,7 @@
 
 func (c *ProjectsInstancesWorkerpoolsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5004,7 +4675,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates an existing worker pool with a specified size and/or configuration.\nReturns a long running operation, which contains a worker pool on\ncompletion. While the long running operation is in progress, any call to\n`GetWorkerPool` returns a worker pool in state `UPDATING`.",
+	//   "description": "Updates an existing worker pool with a specified size and/or configuration. Returns a long running operation, which contains a worker pool on completion. While the long running operation is in progress, any call to `GetWorkerPool` returns a worker pool in state `UPDATING`.",
 	//   "flatPath": "v1alpha/projects/{projectsId}/instances/{instancesId}/workerpools/{workerpoolsId}",
 	//   "httpMethod": "PATCH",
 	//   "id": "remotebuildexecution.projects.instances.workerpools.patch",
@@ -5013,7 +4684,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "WorkerPool resource name formatted as:\n`projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.\nname should not be populated when creating a worker pool since it is\nprovided in the `poolId` field.",
+	//       "description": "WorkerPool resource name formatted as: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`. name should not be populated when creating a worker pool since it is provided in the `poolId` field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+/workerpools/[^/]+$",
 	//       "required": true,
@@ -5045,11 +4716,9 @@
 	header_      http.Header
 }
 
-// Get: 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.
+// Get: 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.
 func (r *ProjectsOperationsService) Get(name string) *ProjectsOperationsGetCall {
 	c := &ProjectsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -5093,7 +4762,7 @@
 
 func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5155,7 +4824,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+	//   "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
 	//   "flatPath": "v1alpha/projects/{projectsId}/operations/{operationsId}",
 	//   "httpMethod": "GET",
 	//   "id": "remotebuildexecution.projects.operations.get",
diff --git a/remotebuildexecution/v2/remotebuildexecution-api.json b/remotebuildexecution/v2/remotebuildexecution-api.json
index c45045f..a4e1511 100644
--- a/remotebuildexecution/v2/remotebuildexecution-api.json
+++ b/remotebuildexecution/v2/remotebuildexecution-api.json
@@ -108,7 +108,7 @@
     "actionResults": {
       "methods": {
         "get": {
-          "description": "Retrieve a cached execution result.\n\nImplementations SHOULD ensure that any blobs referenced from the\nContentAddressableStorage\nare available at the time of returning the\nActionResult and will be\nfor some period of time afterwards. The TTLs of the referenced blobs SHOULD be increased\nif necessary and applicable.\n\nErrors:\n\n* `NOT_FOUND`: The requested `ActionResult` is not in the cache.",
+          "description": "Retrieve a cached execution result. Implementations SHOULD ensure that any blobs referenced from the ContentAddressableStorage are available at the time of returning the ActionResult and will be for some period of time afterwards. The TTLs of the referenced blobs SHOULD be increased if necessary and applicable. Errors: * `NOT_FOUND`: The requested `ActionResult` is not in the cache.",
           "flatPath": "v2/{v2Id}/actionResults/{hash}/{sizeBytes}",
           "httpMethod": "GET",
           "id": "remotebuildexecution.actionResults.get",
@@ -119,29 +119,29 @@
           ],
           "parameters": {
             "hash": {
-              "description": "The hash. In the case of SHA-256, it will always be a lowercase hex string\nexactly 64 characters long.",
+              "description": "The hash. In the case of SHA-256, it will always be a lowercase hex string exactly 64 characters long.",
               "location": "path",
               "required": true,
               "type": "string"
             },
             "inlineOutputFiles": {
-              "description": "A hint to the server to inline the contents of the listed output files.\nEach path needs to exactly match one path in `output_files` in the\nCommand message.",
+              "description": "A hint to the server to inline the contents of the listed output files. Each path needs to exactly match one path in `output_files` in the Command message.",
               "location": "query",
               "repeated": true,
               "type": "string"
             },
             "inlineStderr": {
-              "description": "A hint to the server to request inlining stderr in the\nActionResult message.",
+              "description": "A hint to the server to request inlining stderr in the ActionResult message.",
               "location": "query",
               "type": "boolean"
             },
             "inlineStdout": {
-              "description": "A hint to the server to request inlining stdout in the\nActionResult message.",
+              "description": "A hint to the server to request inlining stdout in the ActionResult message.",
               "location": "query",
               "type": "boolean"
             },
             "instanceName": {
-              "description": "The instance of the execution system to operate against. A server may\nsupport multiple instances of the execution system (with their own workers,\nstorage, caches, etc.). The server MAY require use of this field to select\nbetween them in an implementation-defined fashion, otherwise it can be\nomitted.",
+              "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.",
               "location": "path",
               "pattern": "^.*$",
               "required": true,
@@ -164,7 +164,7 @@
           ]
         },
         "update": {
-          "description": "Upload a new execution result.\n\nIn order to allow the server to perform access control based on the type of\naction, and to assist with client debugging, the client MUST first upload\nthe Action that produced the\nresult, along with its\nCommand, into the\n`ContentAddressableStorage`.\n\nErrors:\n\n* `INVALID_ARGUMENT`: One or more arguments are invalid.\n* `FAILED_PRECONDITION`: One or more errors occurred in updating the\n  action result, such as a missing command or action.\n* `RESOURCE_EXHAUSTED`: There is insufficient storage space to add the\n  entry to the cache.",
+          "description": "Upload a new execution result. In order to allow the server to perform access control based on the type of action, and to assist with client debugging, the client MUST first upload the Action that produced the result, along with its Command, into the `ContentAddressableStorage`. Errors: * `INVALID_ARGUMENT`: One or more arguments are invalid. * `FAILED_PRECONDITION`: One or more errors occurred in updating the action result, such as a missing command or action. * `RESOURCE_EXHAUSTED`: There is insufficient storage space to add the entry to the cache.",
           "flatPath": "v2/{v2Id}/actionResults/{hash}/{sizeBytes}",
           "httpMethod": "PUT",
           "id": "remotebuildexecution.actionResults.update",
@@ -175,20 +175,20 @@
           ],
           "parameters": {
             "hash": {
-              "description": "The hash. In the case of SHA-256, it will always be a lowercase hex string\nexactly 64 characters long.",
+              "description": "The hash. In the case of SHA-256, it will always be a lowercase hex string exactly 64 characters long.",
               "location": "path",
               "required": true,
               "type": "string"
             },
             "instanceName": {
-              "description": "The instance of the execution system to operate against. A server may\nsupport multiple instances of the execution system (with their own workers,\nstorage, caches, etc.). The server MAY require use of this field to select\nbetween them in an implementation-defined fashion, otherwise it can be\nomitted.",
+              "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.",
               "location": "path",
               "pattern": "^.*$",
               "required": true,
               "type": "string"
             },
             "resultsCachePolicy.priority": {
-              "description": "The priority (relative importance) of this content in the overall cache.\nGenerally, a lower value means a longer retention time or other advantage,\nbut the interpretation of a given value is server-dependent. A priority of\n0 means a *default* value, decided by the server.\n\nThe particular semantics of this field is up to the server. In particular,\nevery server will have their own supported range of priorities, and will\ndecide how these map into retention/eviction policy.",
+              "description": "The priority (relative importance) of this content in the overall cache. Generally, a lower value means a longer retention time or other advantage, but the interpretation of a given value is server-dependent. A priority of 0 means a *default* value, decided by the server. The particular semantics of this field is up to the server. In particular, every server will have their own supported range of priorities, and will decide how these map into retention/eviction policy.",
               "format": "int32",
               "location": "query",
               "type": "integer"
@@ -217,7 +217,7 @@
     "actions": {
       "methods": {
         "execute": {
-          "description": "Execute an action remotely.\n\nIn order to execute an action, the client must first upload all of the\ninputs, the\nCommand to run, and the\nAction into the\nContentAddressableStorage.\nIt then calls `Execute` with an `action_digest` referring to them. The\nserver will run the action and eventually return the result.\n\nThe input `Action`'s fields MUST meet the various canonicalization\nrequirements specified in the documentation for their types so that it has\nthe same digest as other logically equivalent `Action`s. The server MAY\nenforce the requirements and return errors if a non-canonical input is\nreceived. It MAY also proceed without verifying some or all of the\nrequirements, such as for performance reasons. If the server does not\nverify the requirement, then it will treat the `Action` as distinct from\nanother logically equivalent action if they hash differently.\n\nReturns a stream of\ngoogle.longrunning.Operation messages\ndescribing the resulting execution, with eventual `response`\nExecuteResponse. The\n`metadata` on the operation is of type\nExecuteOperationMetadata.\n\nIf the client remains connected after the first response is returned after\nthe server, then updates are streamed as if the client had called\nWaitExecution\nuntil the execution completes or the request reaches an error. The\noperation can also be queried using Operations\nAPI.\n\nThe server NEED NOT implement other methods or functionality of the\nOperations API.\n\nErrors discovered during creation of the `Operation` will be reported\nas gRPC Status errors, while errors that occurred while running the\naction will be reported in the `status` field of the `ExecuteResponse`. The\nserver MUST NOT set the `error` field of the `Operation` proto.\nThe possible errors include:\n\n* `INVALID_ARGUMENT`: One or more arguments are invalid.\n* `FAILED_PRECONDITION`: One or more errors occurred in setting up the\n  action requested, such as a missing input or command or no worker being\n  available. The client may be able to fix the errors and retry.\n* `RESOURCE_EXHAUSTED`: There is insufficient quota of some resource to run\n  the action.\n* `UNAVAILABLE`: Due to a transient condition, such as all workers being\n  occupied (and the server does not support a queue), the action could not\n  be started. The client should retry.\n* `INTERNAL`: An internal error occurred in the execution engine or the\n  worker.\n* `DEADLINE_EXCEEDED`: The execution timed out.\n* `CANCELLED`: The operation was cancelled by the client. This status is\n  only possible if the server implements the Operations API CancelOperation\n  method, and it was called for the current execution.\n\nIn the case of a missing input or command, the server SHOULD additionally\nsend a PreconditionFailure error detail\nwhere, for each requested blob not present in the CAS, there is a\n`Violation` with a `type` of `MISSING` and a `subject` of\n`\"blobs/{hash}/{size}\"` indicating the digest of the missing blob.",
+          "description": "Execute an action remotely. In order to execute an action, the client must first upload all of the inputs, the Command to run, and the Action into the ContentAddressableStorage. It then calls `Execute` with an `action_digest` referring to them. The server will run the action and eventually return the result. The input `Action`'s fields MUST meet the various canonicalization requirements specified in the documentation for their types so that it has the same digest as other logically equivalent `Action`s. The server MAY enforce the requirements and return errors if a non-canonical input is received. It MAY also proceed without verifying some or all of the requirements, such as for performance reasons. If the server does not verify the requirement, then it will treat the `Action` as distinct from another logically equivalent action if they hash differently. Returns a stream of google.longrunning.Operation messages describing the resulting execution, with eventual `response` ExecuteResponse. The `metadata` on the operation is of type ExecuteOperationMetadata. If the client remains connected after the first response is returned after the server, then updates are streamed as if the client had called WaitExecution until the execution completes or the request reaches an error. The operation can also be queried using Operations API. The server NEED NOT implement other methods or functionality of the Operations API. Errors discovered during creation of the `Operation` will be reported as gRPC Status errors, while errors that occurred while running the action will be reported in the `status` field of the `ExecuteResponse`. The server MUST NOT set the `error` field of the `Operation` proto. The possible errors include: * `INVALID_ARGUMENT`: One or more arguments are invalid. * `FAILED_PRECONDITION`: One or more errors occurred in setting up the action requested, such as a missing input or command or no worker being available. The client may be able to fix the errors and retry. * `RESOURCE_EXHAUSTED`: There is insufficient quota of some resource to run the action. * `UNAVAILABLE`: Due to a transient condition, such as all workers being occupied (and the server does not support a queue), the action could not be started. The client should retry. * `INTERNAL`: An internal error occurred in the execution engine or the worker. * `DEADLINE_EXCEEDED`: The execution timed out. * `CANCELLED`: The operation was cancelled by the client. This status is only possible if the server implements the Operations API CancelOperation method, and it was called for the current execution. In the case of a missing input or command, the server SHOULD additionally send a PreconditionFailure error detail where, for each requested blob not present in the CAS, there is a `Violation` with a `type` of `MISSING` and a `subject` of `\"blobs/{hash}/{size}\"` indicating the digest of the missing blob.",
           "flatPath": "v2/{v2Id}/actions:execute",
           "httpMethod": "POST",
           "id": "remotebuildexecution.actions.execute",
@@ -226,7 +226,7 @@
           ],
           "parameters": {
             "instanceName": {
-              "description": "The instance of the execution system to operate against. A server may\nsupport multiple instances of the execution system (with their own workers,\nstorage, caches, etc.). The server MAY require use of this field to select\nbetween them in an implementation-defined fashion, otherwise it can be\nomitted.",
+              "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.",
               "location": "path",
               "pattern": "^.*$",
               "required": true,
@@ -249,7 +249,7 @@
     "blobs": {
       "methods": {
         "batchRead": {
-          "description": "Download many blobs at once.\n\nThe server may enforce a limit of the combined total size of blobs\nto be downloaded using this API. This limit may be obtained using the\nCapabilities API.\nRequests exceeding the limit should either be split into smaller\nchunks or downloaded using the\nByteStream API, as appropriate.\n\nThis request is equivalent to calling a Bytestream `Read` request\non each individual blob, in parallel. The requests may succeed or fail\nindependently.\n\nErrors:\n\n* `INVALID_ARGUMENT`: The client attempted to read more than the\n  server supported limit.\n\nEvery error on individual read will be returned in the corresponding digest\nstatus.",
+          "description": "Download many blobs at once. The server may enforce a limit of the combined total size of blobs to be downloaded using this API. This limit may be obtained using the Capabilities API. Requests exceeding the limit should either be split into smaller chunks or downloaded using the ByteStream API, as appropriate. This request is equivalent to calling a Bytestream `Read` request on each individual blob, in parallel. The requests may succeed or fail independently. Errors: * `INVALID_ARGUMENT`: The client attempted to read more than the server supported limit. Every error on individual read will be returned in the corresponding digest status.",
           "flatPath": "v2/{v2Id}/blobs:batchRead",
           "httpMethod": "POST",
           "id": "remotebuildexecution.blobs.batchRead",
@@ -258,7 +258,7 @@
           ],
           "parameters": {
             "instanceName": {
-              "description": "The instance of the execution system to operate against. A server may\nsupport multiple instances of the execution system (with their own workers,\nstorage, caches, etc.). The server MAY require use of this field to select\nbetween them in an implementation-defined fashion, otherwise it can be\nomitted.",
+              "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.",
               "location": "path",
               "pattern": "^.*$",
               "required": true,
@@ -277,7 +277,7 @@
           ]
         },
         "batchUpdate": {
-          "description": "Upload many blobs at once.\n\nThe server may enforce a limit of the combined total size of blobs\nto be uploaded using this API. This limit may be obtained using the\nCapabilities API.\nRequests exceeding the limit should either be split into smaller\nchunks or uploaded using the\nByteStream API, as appropriate.\n\nThis request is equivalent to calling a Bytestream `Write` request\non each individual blob, in parallel. The requests may succeed or fail\nindependently.\n\nErrors:\n\n* `INVALID_ARGUMENT`: The client attempted to upload more than the\n  server supported limit.\n\nIndividual requests may return the following errors, additionally:\n\n* `RESOURCE_EXHAUSTED`: There is insufficient disk quota to store the blob.\n* `INVALID_ARGUMENT`: The\nDigest does not match the\nprovided data.",
+          "description": "Upload many blobs at once. The server may enforce a limit of the combined total size of blobs to be uploaded using this API. This limit may be obtained using the Capabilities API. Requests exceeding the limit should either be split into smaller chunks or uploaded using the ByteStream API, as appropriate. This request is equivalent to calling a Bytestream `Write` request on each individual blob, in parallel. The requests may succeed or fail independently. Errors: * `INVALID_ARGUMENT`: The client attempted to upload more than the server supported limit. Individual requests may return the following errors, additionally: * `RESOURCE_EXHAUSTED`: There is insufficient disk quota to store the blob. * `INVALID_ARGUMENT`: The Digest does not match the provided data.",
           "flatPath": "v2/{v2Id}/blobs:batchUpdate",
           "httpMethod": "POST",
           "id": "remotebuildexecution.blobs.batchUpdate",
@@ -286,7 +286,7 @@
           ],
           "parameters": {
             "instanceName": {
-              "description": "The instance of the execution system to operate against. A server may\nsupport multiple instances of the execution system (with their own workers,\nstorage, caches, etc.). The server MAY require use of this field to select\nbetween them in an implementation-defined fashion, otherwise it can be\nomitted.",
+              "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.",
               "location": "path",
               "pattern": "^.*$",
               "required": true,
@@ -305,7 +305,7 @@
           ]
         },
         "findMissing": {
-          "description": "Determine if blobs are present in the CAS.\n\nClients can use this API before uploading blobs to determine which ones are\nalready present in the CAS and do not need to be uploaded again.\n\nServers SHOULD increase the TTLs of the referenced blobs if necessary and\napplicable.\n\nThere are no method-specific errors.",
+          "description": "Determine if blobs are present in the CAS. Clients can use this API before uploading blobs to determine which ones are already present in the CAS and do not need to be uploaded again. Servers SHOULD increase the TTLs of the referenced blobs if necessary and applicable. There are no method-specific errors.",
           "flatPath": "v2/{v2Id}/blobs:findMissing",
           "httpMethod": "POST",
           "id": "remotebuildexecution.blobs.findMissing",
@@ -314,7 +314,7 @@
           ],
           "parameters": {
             "instanceName": {
-              "description": "The instance of the execution system to operate against. A server may\nsupport multiple instances of the execution system (with their own workers,\nstorage, caches, etc.). The server MAY require use of this field to select\nbetween them in an implementation-defined fashion, otherwise it can be\nomitted.",
+              "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.",
               "location": "path",
               "pattern": "^.*$",
               "required": true,
@@ -333,7 +333,7 @@
           ]
         },
         "getTree": {
-          "description": "Fetch the entire directory tree rooted at a node.\n\nThis request must be targeted at a\nDirectory stored in the\nContentAddressableStorage\n(CAS). The server will enumerate the `Directory` tree recursively and\nreturn every node descended from the root.\n\nThe GetTreeRequest.page_token parameter can be used to skip ahead in\nthe stream (e.g. when retrying a partially completed and aborted request),\nby setting it to a value taken from GetTreeResponse.next_page_token of the\nlast successfully processed GetTreeResponse).\n\nThe exact traversal order is unspecified and, unless retrieving subsequent\npages from an earlier request, is not guaranteed to be stable across\nmultiple invocations of `GetTree`.\n\nIf part of the tree is missing from the CAS, the server will return the\nportion present and omit the rest.\n\nErrors:\n\n* `NOT_FOUND`: The requested tree root is not present in the CAS.",
+          "description": "Fetch the entire directory tree rooted at a node. This request must be targeted at a Directory stored in the ContentAddressableStorage (CAS). The server will enumerate the `Directory` tree recursively and return every node descended from the root. The GetTreeRequest.page_token parameter can be used to skip ahead in the stream (e.g. when retrying a partially completed and aborted request), by setting it to a value taken from GetTreeResponse.next_page_token of the last successfully processed GetTreeResponse). The exact traversal order is unspecified and, unless retrieving subsequent pages from an earlier request, is not guaranteed to be stable across multiple invocations of `GetTree`. If part of the tree is missing from the CAS, the server will return the portion present and omit the rest. Errors: * `NOT_FOUND`: The requested tree root is not present in the CAS.",
           "flatPath": "v2/{v2Id}/blobs/{hash}/{sizeBytes}:getTree",
           "httpMethod": "GET",
           "id": "remotebuildexecution.blobs.getTree",
@@ -344,26 +344,26 @@
           ],
           "parameters": {
             "hash": {
-              "description": "The hash. In the case of SHA-256, it will always be a lowercase hex string\nexactly 64 characters long.",
+              "description": "The hash. In the case of SHA-256, it will always be a lowercase hex string exactly 64 characters long.",
               "location": "path",
               "required": true,
               "type": "string"
             },
             "instanceName": {
-              "description": "The instance of the execution system to operate against. A server may\nsupport multiple instances of the execution system (with their own workers,\nstorage, caches, etc.). The server MAY require use of this field to select\nbetween them in an implementation-defined fashion, otherwise it can be\nomitted.",
+              "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.",
               "location": "path",
               "pattern": "^.*$",
               "required": true,
               "type": "string"
             },
             "pageSize": {
-              "description": "A maximum page size to request. If present, the server will request no more\nthan this many items. Regardless of whether a page size is specified, the\nserver may place its own limit on the number of items to be returned and\nrequire the client to retrieve more items using a subsequent request.",
+              "description": "A maximum page size to request. If present, the server will request no more than this many items. Regardless of whether a page size is specified, the server may place its own limit on the number of items to be returned and require the client to retrieve more items using a subsequent request.",
               "format": "int32",
               "location": "query",
               "type": "integer"
             },
             "pageToken": {
-              "description": "A page token, which must be a value received in a previous\nGetTreeResponse.\nIf present, the server will use that token as an offset, returning only\nthat page and the ones that succeed it.",
+              "description": "A page token, which must be a value received in a previous GetTreeResponse. If present, the server will use that token as an offset, returning only that page and the ones that succeed it.",
               "location": "query",
               "type": "string"
             },
@@ -388,7 +388,7 @@
     "operations": {
       "methods": {
         "waitExecution": {
-          "description": "Wait for an execution operation to complete. When the client initially\nmakes the request, the server immediately responds with the current status\nof the execution. The server will leave the request stream open until the\noperation completes, and then respond with the completed operation. The\nserver MAY choose to stream additional updates as execution progresses,\nsuch as to provide an update as to the state of the execution.",
+          "description": "Wait for an execution operation to complete. When the client initially makes the request, the server immediately responds with the current status of the execution. The server will leave the request stream open until the operation completes, and then respond with the completed operation. The server MAY choose to stream additional updates as execution progresses, such as to provide an update as to the state of the execution.",
           "flatPath": "v2/operations/{operationsId}:waitExecution",
           "httpMethod": "POST",
           "id": "remotebuildexecution.operations.waitExecution",
@@ -397,7 +397,7 @@
           ],
           "parameters": {
             "name": {
-              "description": "The name of the Operation\nreturned by Execute.",
+              "description": "The name of the Operation returned by Execute.",
               "location": "path",
               "pattern": "^operations/.*$",
               "required": true,
@@ -420,7 +420,7 @@
     "v2": {
       "methods": {
         "getCapabilities": {
-          "description": "GetCapabilities returns the server capabilities configuration of the\nremote endpoint.\nOnly the capabilities of the services supported by the endpoint will\nbe returned:\n* Execution + CAS + Action Cache endpoints should return both\n  CacheCapabilities and ExecutionCapabilities.\n* Execution only endpoints should return ExecutionCapabilities.\n* CAS + Action Cache only endpoints should return CacheCapabilities.",
+          "description": "GetCapabilities returns the server capabilities configuration of the remote endpoint. Only the capabilities of the services supported by the endpoint will be returned: * Execution + CAS + Action Cache endpoints should return both CacheCapabilities and ExecutionCapabilities. * Execution only endpoints should return ExecutionCapabilities. * CAS + Action Cache only endpoints should return CacheCapabilities.",
           "flatPath": "v2/{v2Id}/capabilities",
           "httpMethod": "GET",
           "id": "remotebuildexecution.getCapabilities",
@@ -429,7 +429,7 @@
           ],
           "parameters": {
             "instanceName": {
-              "description": "The instance of the execution system to operate against. A server may\nsupport multiple instances of the execution system (with their own workers,\nstorage, caches, etc.). The server MAY require use of this field to select\nbetween them in an implementation-defined fashion, otherwise it can be\nomitted.",
+              "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.",
               "location": "path",
               "pattern": "^.*$",
               "required": true,
@@ -447,34 +447,34 @@
       }
     }
   },
-  "revision": "20200721",
+  "revision": "20200810",
   "rootUrl": "https://remotebuildexecution.googleapis.com/",
   "schemas": {
     "BuildBazelRemoteExecutionV2Action": {
-      "description": "An `Action` captures all the information about an execution which is required\nto reproduce it.\n\n`Action`s are the core component of the [Execution] service. A single\n`Action` represents a repeatable action that can be performed by the\nexecution service. `Action`s can be succinctly identified by the digest of\ntheir wire format encoding and, once an `Action` has been executed, will be\ncached in the action cache. Future requests can then use the cached result\nrather than needing to run afresh.\n\nWhen a server completes execution of an\nAction, it MAY choose to\ncache the result in\nthe ActionCache unless\n`do_not_cache` is `true`. Clients SHOULD expect the server to do so. By\ndefault, future calls to\nExecute the same\n`Action` will also serve their results from the cache. Clients must take care\nto understand the caching behaviour. Ideally, all `Action`s will be\nreproducible so that serving a result from cache is always desirable and\ncorrect.",
+      "description": "An `Action` captures all the information about an execution which is required to reproduce it. `Action`s are the core component of the [Execution] service. A single `Action` represents a repeatable action that can be performed by the execution service. `Action`s can be succinctly identified by the digest of their wire format encoding and, once an `Action` has been executed, will be cached in the action cache. Future requests can then use the cached result rather than needing to run afresh. When a server completes execution of an Action, it MAY choose to cache the result in the ActionCache unless `do_not_cache` is `true`. Clients SHOULD expect the server to do so. By default, future calls to Execute the same `Action` will also serve their results from the cache. Clients must take care to understand the caching behaviour. Ideally, all `Action`s will be reproducible so that serving a result from cache is always desirable and correct.",
       "id": "BuildBazelRemoteExecutionV2Action",
       "properties": {
         "commandDigest": {
           "$ref": "BuildBazelRemoteExecutionV2Digest",
-          "description": "The digest of the Command\nto run, which MUST be present in the\nContentAddressableStorage."
+          "description": "The digest of the Command to run, which MUST be present in the ContentAddressableStorage."
         },
         "doNotCache": {
-          "description": "If true, then the `Action`'s result cannot be cached, and in-flight\nrequests for the same `Action` may not be merged.",
+          "description": "If true, then the `Action`'s result cannot be cached, and in-flight requests for the same `Action` may not be merged.",
           "type": "boolean"
         },
         "inputRootDigest": {
           "$ref": "BuildBazelRemoteExecutionV2Digest",
-          "description": "The digest of the root\nDirectory for the input\nfiles. The files in the directory tree are available in the correct\nlocation on the build machine before the command is executed. The root\ndirectory, as well as every subdirectory and content blob referred to, MUST\nbe in the\nContentAddressableStorage."
+          "description": "The digest of the root Directory for the input files. The files in the directory tree are available in the correct location on the build machine before the command is executed. The root directory, as well as every subdirectory and content blob referred to, MUST be in the ContentAddressableStorage."
         },
         "outputNodeProperties": {
-          "description": "List of required supported NodeProperty\nkeys. In order to ensure that equivalent `Action`s always hash to the same\nvalue, the supported node properties MUST be lexicographically sorted by name.\nSorting of strings is done by code point, equivalently, by the UTF-8 bytes.\n\nThe interpretation of these properties is server-dependent. If a property is\nnot recognized by the server, the server will return an `INVALID_ARGUMENT`\nerror.",
+          "description": "List of required supported NodeProperty keys. In order to ensure that equivalent `Action`s always hash to the same value, the supported node properties MUST be lexicographically sorted by name. Sorting of strings is done by code point, equivalently, by the UTF-8 bytes. The interpretation of these properties is server-dependent. If a property is not recognized by the server, the server will return an `INVALID_ARGUMENT` error.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "timeout": {
-          "description": "A timeout after which the execution should be killed. If the timeout is\nabsent, then the client is specifying that the execution should continue\nas long as the server will let it. The server SHOULD impose a timeout if\nthe client does not specify one, however, if the client does specify a\ntimeout that is longer than the server's maximum timeout, the server MUST\nreject the request.\n\nThe timeout is a part of the\nAction message, and\ntherefore two `Actions` with different timeouts are different, even if they\nare otherwise identical. This is because, if they were not, running an\n`Action` with a lower timeout than is required might result in a cache hit\nfrom an execution run with a longer timeout, hiding the fact that the\ntimeout is too short. By encoding it directly in the `Action`, a lower\ntimeout will result in a cache miss and the execution timeout will fail\nimmediately, rather than whenever the cache entry gets evicted.",
+          "description": "A timeout after which the execution should be killed. If the timeout is absent, then the client is specifying that the execution should continue as long as the server will let it. The server SHOULD impose a timeout if the client does not specify one, however, if the client does specify a timeout that is longer than the server's maximum timeout, the server MUST reject the request. The timeout is a part of the Action message, and therefore two `Actions` with different timeouts are different, even if they are otherwise identical. This is because, if they were not, running an `Action` with a lower timeout than is required might result in a cache hit from an execution run with a longer timeout, hiding the fact that the timeout is too short. By encoding it directly in the `Action`, a lower timeout will result in a cache miss and the execution timeout will fail immediately, rather than whenever the cache entry gets evicted.",
           "format": "google-duration",
           "type": "string"
         }
@@ -492,7 +492,7 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2ActionResult": {
-      "description": "An ActionResult represents the result of an\nAction being run.",
+      "description": "An ActionResult represents the result of an Action being run.",
       "id": "BuildBazelRemoteExecutionV2ActionResult",
       "properties": {
         "executionMetadata": {
@@ -505,35 +505,35 @@
           "type": "integer"
         },
         "outputDirectories": {
-          "description": "The output directories of the action. For each output directory requested\nin the `output_directories` or `output_paths` field of the Action, if the\ncorresponding directory existed after the action completed, a single entry\nwill be present in the output list, which will contain the digest of a\nTree message containing the\ndirectory tree, and the path equal exactly to the corresponding Action\noutput_directories member.\n\nAs an example, suppose the Action had an output directory `a/b/dir` and the\nexecution produced the following contents in `a/b/dir`: a file named `bar`\nand a directory named `foo` with an executable file named `baz`. Then,\noutput_directory will contain (hashes shortened for readability):\n\n```json\n// OutputDirectory proto:\n{\n  path: \"a/b/dir\"\n  tree_digest: {\n    hash: \"4a73bc9d03...\",\n    size: 55\n  }\n}\n// Tree proto with hash \"4a73bc9d03...\" and size 55:\n{\n  root: {\n    files: [\n      {\n        name: \"bar\",\n        digest: {\n          hash: \"4a73bc9d03...\",\n          size: 65534\n        }\n      }\n    ],\n    directories: [\n      {\n        name: \"foo\",\n        digest: {\n          hash: \"4cf2eda940...\",\n          size: 43\n        }\n      }\n    ]\n  }\n  children : {\n    // (Directory proto with hash \"4cf2eda940...\" and size 43)\n    files: [\n      {\n        name: \"baz\",\n        digest: {\n          hash: \"b2c941073e...\",\n          size: 1294,\n        },\n        is_executable: true\n      }\n    ]\n  }\n}\n```\nIf an output of the same name as listed in `output_files` of\nthe Command was found in `output_directories`, but was not a directory, the\nserver will return a FAILED_PRECONDITION.",
+          "description": "The output directories of the action. For each output directory requested in the `output_directories` or `output_paths` field of the Action, if the corresponding directory existed after the action completed, a single entry will be present in the output list, which will contain the digest of a Tree message containing the directory tree, and the path equal exactly to the corresponding Action output_directories member. As an example, suppose the Action had an output directory `a/b/dir` and the execution produced the following contents in `a/b/dir`: a file named `bar` and a directory named `foo` with an executable file named `baz`. Then, output_directory will contain (hashes shortened for readability): ```json // OutputDirectory proto: { path: \"a/b/dir\" tree_digest: { hash: \"4a73bc9d03...\", size: 55 } } // Tree proto with hash \"4a73bc9d03...\" and size 55: { root: { files: [ { name: \"bar\", digest: { hash: \"4a73bc9d03...\", size: 65534 } } ], directories: [ { name: \"foo\", digest: { hash: \"4cf2eda940...\", size: 43 } } ] } children : { // (Directory proto with hash \"4cf2eda940...\" and size 43) files: [ { name: \"baz\", digest: { hash: \"b2c941073e...\", size: 1294, }, is_executable: true } ] } } ``` If an output of the same name as listed in `output_files` of the Command was found in `output_directories`, but was not a directory, the server will return a FAILED_PRECONDITION.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2OutputDirectory"
           },
           "type": "array"
         },
         "outputDirectorySymlinks": {
-          "description": "The output directories of the action that are symbolic links to other\ndirectories. Those may be links to other output directories, or input\ndirectories, or even absolute paths outside of the working directory,\nif the server supports\nSymlinkAbsolutePathStrategy.ALLOWED.\nFor each output directory requested in the `output_directories` field of\nthe Action, if the directory existed after the action completed, a\nsingle entry will be present either in this field, or in the\n`output_directories` field, if the directory was not a symbolic link.\n\nIf an output of the same name was found, but was a symbolic link to a file\ninstead of a directory, the server will return a FAILED_PRECONDITION.\nIf the action does not produce the requested output, then that output\nwill be omitted from the list. The server is free to arrange the output\nlist as desired; clients MUST NOT assume that the output list is sorted.\n\nDEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API\nshould still populate this field in addition to `output_symlinks`.",
+          "description": "The output directories of the action that are symbolic links to other directories. Those may be links to other output directories, or input directories, or even absolute paths outside of the working directory, if the server supports SymlinkAbsolutePathStrategy.ALLOWED. For each output directory requested in the `output_directories` field of the Action, if the directory existed after the action completed, a single entry will be present either in this field, or in the `output_directories` field, if the directory was not a symbolic link. If an output of the same name was found, but was a symbolic link to a file instead of a directory, the server will return a FAILED_PRECONDITION. If the action does not produce the requested output, then that output will be omitted from the list. The server is free to arrange the output list as desired; clients MUST NOT assume that the output list is sorted. DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API should still populate this field in addition to `output_symlinks`.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2OutputSymlink"
           },
           "type": "array"
         },
         "outputFileSymlinks": {
-          "description": "The output files of the action that are symbolic links to other files. Those\nmay be links to other output files, or input files, or even absolute paths\noutside of the working directory, if the server supports\nSymlinkAbsolutePathStrategy.ALLOWED.\nFor each output file requested in the `output_files` or `output_paths`\nfield of the Action, if the corresponding file existed after\nthe action completed, a single entry will be present either in this field,\nor in the `output_files` field, if the file was not a symbolic link.\n\nIf an output symbolic link of the same name as listed in `output_files` of\nthe Command was found, but its target type was not a regular file, the\nserver will return a FAILED_PRECONDITION.\nIf the action does not produce the requested output, then that output\nwill be omitted from the list. The server is free to arrange the output\nlist as desired; clients MUST NOT assume that the output list is sorted.\n\nDEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API\nshould still populate this field in addition to `output_symlinks`.",
+          "description": "The output files of the action that are symbolic links to other files. Those may be links to other output files, or input files, or even absolute paths outside of the working directory, if the server supports SymlinkAbsolutePathStrategy.ALLOWED. For each output file requested in the `output_files` or `output_paths` field of the Action, if the corresponding file existed after the action completed, a single entry will be present either in this field, or in the `output_files` field, if the file was not a symbolic link. If an output symbolic link of the same name as listed in `output_files` of the Command was found, but its target type was not a regular file, the server will return a FAILED_PRECONDITION. If the action does not produce the requested output, then that output will be omitted from the list. The server is free to arrange the output list as desired; clients MUST NOT assume that the output list is sorted. DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0 API should still populate this field in addition to `output_symlinks`.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2OutputSymlink"
           },
           "type": "array"
         },
         "outputFiles": {
-          "description": "The output files of the action. For each output file requested in the\n`output_files` or `output_paths` field of the Action, if the corresponding\nfile existed after the action completed, a single entry will be present\neither in this field, or the `output_file_symlinks` field if the file was\na symbolic link to another file (`output_symlinks` field after v2.1).\n\nIf an output listed in `output_files` was found, but was a directory rather\nthan a regular file, the server will return a FAILED_PRECONDITION.\nIf the action does not produce the requested output, then that output\nwill be omitted from the list. The server is free to arrange the output\nlist as desired; clients MUST NOT assume that the output list is sorted.",
+          "description": "The output files of the action. For each output file requested in the `output_files` or `output_paths` field of the Action, if the corresponding file existed after the action completed, a single entry will be present either in this field, or the `output_file_symlinks` field if the file was a symbolic link to another file (`output_symlinks` field after v2.1). If an output listed in `output_files` was found, but was a directory rather than a regular file, the server will return a FAILED_PRECONDITION. If the action does not produce the requested output, then that output will be omitted from the list. The server is free to arrange the output list as desired; clients MUST NOT assume that the output list is sorted.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2OutputFile"
           },
           "type": "array"
         },
         "outputSymlinks": {
-          "description": "New in v2.1: this field will only be populated if the command\n`output_paths` field was used, and not the pre v2.1 `output_files` or\n`output_directories` fields.\nThe output paths of the action that are symbolic links to other paths. Those\nmay be links to other outputs, or inputs, or even absolute paths\noutside of the working directory, if the server supports\nSymlinkAbsolutePathStrategy.ALLOWED.\nA single entry for each output requested in `output_paths`\nfield of the Action, if the corresponding path existed after\nthe action completed and was a symbolic link.\n\nIf the action does not produce a requested output, then that output\nwill be omitted from the list. The server is free to arrange the output\nlist as desired; clients MUST NOT assume that the output list is sorted.",
+          "description": "New in v2.1: this field will only be populated if the command `output_paths` field was used, and not the pre v2.1 `output_files` or `output_directories` fields. The output paths of the action that are symbolic links to other paths. Those may be links to other outputs, or inputs, or even absolute paths outside of the working directory, if the server supports SymlinkAbsolutePathStrategy.ALLOWED. A single entry for each output requested in `output_paths` field of the Action, if the corresponding path existed after the action completed and was a symbolic link. If the action does not produce a requested output, then that output will be omitted from the list. The server is free to arrange the output list as desired; clients MUST NOT assume that the output list is sorted.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2OutputSymlink"
           },
@@ -541,19 +541,19 @@
         },
         "stderrDigest": {
           "$ref": "BuildBazelRemoteExecutionV2Digest",
-          "description": "The digest for a blob containing the standard error of the action, which\ncan be retrieved from the\nContentAddressableStorage."
+          "description": "The digest for a blob containing the standard error of the action, which can be retrieved from the ContentAddressableStorage."
         },
         "stderrRaw": {
-          "description": "The standard error buffer of the action. The server SHOULD NOT inline\nstderr unless requested by the client in the\nGetActionResultRequest\nmessage. The server MAY omit inlining, even if requested, and MUST do so if inlining\nwould cause the response to exceed message size limits.",
+          "description": "The standard error buffer of the action. The server SHOULD NOT inline stderr unless requested by the client in the GetActionResultRequest message. The server MAY omit inlining, even if requested, and MUST do so if inlining would cause the response to exceed message size limits.",
           "format": "byte",
           "type": "string"
         },
         "stdoutDigest": {
           "$ref": "BuildBazelRemoteExecutionV2Digest",
-          "description": "The digest for a blob containing the standard output of the action, which\ncan be retrieved from the\nContentAddressableStorage."
+          "description": "The digest for a blob containing the standard output of the action, which can be retrieved from the ContentAddressableStorage."
         },
         "stdoutRaw": {
-          "description": "The standard output buffer of the action. The server SHOULD NOT inline\nstdout unless requested by the client in the\nGetActionResultRequest\nmessage. The server MAY omit inlining, even if requested, and MUST do so if inlining\nwould cause the response to exceed message size limits.",
+          "description": "The standard output buffer of the action. The server SHOULD NOT inline stdout unless requested by the client in the GetActionResultRequest message. The server MAY omit inlining, even if requested, and MUST do so if inlining would cause the response to exceed message size limits.",
           "format": "byte",
           "type": "string"
         }
@@ -561,7 +561,7 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2BatchReadBlobsRequest": {
-      "description": "A request message for\nContentAddressableStorage.BatchReadBlobs.",
+      "description": "A request message for ContentAddressableStorage.BatchReadBlobs.",
       "id": "BuildBazelRemoteExecutionV2BatchReadBlobsRequest",
       "properties": {
         "digests": {
@@ -575,7 +575,7 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2BatchReadBlobsResponse": {
-      "description": "A response message for\nContentAddressableStorage.BatchReadBlobs.",
+      "description": "A response message for ContentAddressableStorage.BatchReadBlobs.",
       "id": "BuildBazelRemoteExecutionV2BatchReadBlobsResponse",
       "properties": {
         "responses": {
@@ -609,7 +609,7 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2BatchUpdateBlobsRequest": {
-      "description": "A request message for\nContentAddressableStorage.BatchUpdateBlobs.",
+      "description": "A request message for ContentAddressableStorage.BatchUpdateBlobs.",
       "id": "BuildBazelRemoteExecutionV2BatchUpdateBlobsRequest",
       "properties": {
         "requests": {
@@ -639,7 +639,7 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2BatchUpdateBlobsResponse": {
-      "description": "A response message for\nContentAddressableStorage.BatchUpdateBlobs.",
+      "description": "A response message for ContentAddressableStorage.BatchUpdateBlobs.",
       "id": "BuildBazelRemoteExecutionV2BatchUpdateBlobsResponse",
       "properties": {
         "responses": {
@@ -680,13 +680,13 @@
           "description": "Supported cache priority range for both CAS and ActionCache."
         },
         "digestFunction": {
-          "description": "All the digest functions supported by the remote cache.\nRemote cache may support multiple digest functions simultaneously.",
+          "description": "All the digest functions supported by the remote cache. Remote cache may support multiple digest functions simultaneously.",
           "enumDescriptions": [
             "It is an error for the server to return this value.",
             "The SHA-256 digest function.",
             "The SHA-1 digest function.",
             "The MD5 digest function.",
-            "The Microsoft \"VSO-Hash\" paged SHA256 digest function.\nSee https://github.com/microsoft/BuildXL/blob/master/Documentation/Specs/PagedHash.md .",
+            "The Microsoft \"VSO-Hash\" paged SHA256 digest function. See https://github.com/microsoft/BuildXL/blob/master/Documentation/Specs/PagedHash.md .",
             "The SHA-384 digest function.",
             "The SHA-512 digest function."
           ],
@@ -700,12 +700,21 @@
               "SHA384",
               "SHA512"
             ],
+            "enumDescriptions": [
+              "It is an error for the server to return this value.",
+              "The SHA-256 digest function.",
+              "The SHA-1 digest function.",
+              "The MD5 digest function.",
+              "The Microsoft \"VSO-Hash\" paged SHA256 digest function. See https://github.com/microsoft/BuildXL/blob/master/Documentation/Specs/PagedHash.md .",
+              "The SHA-384 digest function.",
+              "The SHA-512 digest function."
+            ],
             "type": "string"
           },
           "type": "array"
         },
         "maxBatchTotalSizeBytes": {
-          "description": "Maximum total size of blobs to be uploaded/downloaded using\nbatch methods. A value of 0 means no limit is set, although\nin practice there will always be a message size limitation\nof the protocol in use, e.g. GRPC.",
+          "description": "Maximum total size of blobs to be uploaded/downloaded using batch methods. A value of 0 means no limit is set, although in practice there will always be a message size limitation of the protocol in use, e.g. GRPC.",
           "format": "int64",
           "type": "string"
         },
@@ -718,8 +727,8 @@
           ],
           "enumDescriptions": [
             "Invalid value.",
-            "Server will return an `INVALID_ARGUMENT` on input symlinks with absolute\ntargets.\nIf an action tries to create an output symlink with an absolute target, a\n`FAILED_PRECONDITION` will be returned.",
-            "Server will allow symlink targets to escape the input root tree, possibly\nresulting in non-hermetic builds."
+            "Server will return an `INVALID_ARGUMENT` on input symlinks with absolute targets. If an action tries to create an output symlink with an absolute target, a `FAILED_PRECONDITION` will be returned.",
+            "Server will allow symlink targets to escape the input root tree, possibly resulting in non-hermetic builds."
           ],
           "type": "string"
         }
@@ -727,39 +736,39 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2Command": {
-      "description": "A `Command` is the actual command executed by a worker running an\nAction and specifications of its\nenvironment.\n\nExcept as otherwise required, the environment (such as which system\nlibraries or binaries are available, and what filesystems are mounted where)\nis defined by and specific to the implementation of the remote execution API.",
+      "description": "A `Command` is the actual command executed by a worker running an Action and specifications of its environment. Except as otherwise required, the environment (such as which system libraries or binaries are available, and what filesystems are mounted where) is defined by and specific to the implementation of the remote execution API.",
       "id": "BuildBazelRemoteExecutionV2Command",
       "properties": {
         "arguments": {
-          "description": "The arguments to the command. The first argument must be the path to the\nexecutable, which must be either a relative path, in which case it is\nevaluated with respect to the input root, or an absolute path.",
+          "description": "The arguments to the command. The first argument must be the path to the executable, which must be either a relative path, in which case it is evaluated with respect to the input root, or an absolute path.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "environmentVariables": {
-          "description": "The environment variables to set when running the program. The worker may\nprovide its own default environment variables; these defaults can be\noverridden using this field. Additional variables can also be specified.\n\nIn order to ensure that equivalent\nCommands always hash to the same\nvalue, the environment variables MUST be lexicographically sorted by name.\nSorting of strings is done by code point, equivalently, by the UTF-8 bytes.",
+          "description": "The environment variables to set when running the program. The worker may provide its own default environment variables; these defaults can be overridden using this field. Additional variables can also be specified. In order to ensure that equivalent Commands always hash to the same value, the environment variables MUST be lexicographically sorted by name. Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2CommandEnvironmentVariable"
           },
           "type": "array"
         },
         "outputDirectories": {
-          "description": "A list of the output directories that the client expects to retrieve from\nthe action. Only the listed directories will be returned (an entire\ndirectory structure will be returned as a\nTree message digest, see\nOutputDirectory), as\nwell as files listed in `output_files`. Other files or directories that\nmay be created during command execution are discarded.\n\nThe paths are relative to the working directory of the action execution.\nThe paths are specified using a single forward slash (`/`) as a path\nseparator, even if the execution platform natively uses a different\nseparator. The path MUST NOT include a trailing slash, nor a leading slash,\nbeing a relative path. The special value of empty string is allowed,\nalthough not recommended, and can be used to capture the entire working\ndirectory tree, including inputs.\n\nIn order to ensure consistent hashing of the same Action, the output paths\nMUST be sorted lexicographically by code point (or, equivalently, by UTF-8\nbytes).\n\nAn output directory cannot be duplicated or have the same path as any of\nthe listed output files. An output directory is allowed to be a parent of\nanother output directory.\n\nDirectories leading up to the output directories (but not the output\ndirectories themselves) are created by the worker prior to execution, even\nif they are not explicitly part of the input root.\n\nDEPRECATED since 2.1: Use `output_paths` instead.",
+          "description": "A list of the output directories that the client expects to retrieve from the action. Only the listed directories will be returned (an entire directory structure will be returned as a Tree message digest, see OutputDirectory), as well as files listed in `output_files`. Other files or directories that may be created during command execution are discarded. The paths are relative to the working directory of the action execution. The paths are specified using a single forward slash (`/`) as a path separator, even if the execution platform natively uses a different separator. The path MUST NOT include a trailing slash, nor a leading slash, being a relative path. The special value of empty string is allowed, although not recommended, and can be used to capture the entire working directory tree, including inputs. In order to ensure consistent hashing of the same Action, the output paths MUST be sorted lexicographically by code point (or, equivalently, by UTF-8 bytes). An output directory cannot be duplicated or have the same path as any of the listed output files. An output directory is allowed to be a parent of another output directory. Directories leading up to the output directories (but not the output directories themselves) are created by the worker prior to execution, even if they are not explicitly part of the input root. DEPRECATED since 2.1: Use `output_paths` instead.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "outputFiles": {
-          "description": "A list of the output files that the client expects to retrieve from the\naction. Only the listed files, as well as directories listed in\n`output_directories`, will be returned to the client as output.\nOther files or directories that may be created during command execution\nare discarded.\n\nThe paths are relative to the working directory of the action execution.\nThe paths are specified using a single forward slash (`/`) as a path\nseparator, even if the execution platform natively uses a different\nseparator. The path MUST NOT include a trailing slash, nor a leading slash,\nbeing a relative path.\n\nIn order to ensure consistent hashing of the same Action, the output paths\nMUST be sorted lexicographically by code point (or, equivalently, by UTF-8\nbytes).\n\nAn output file cannot be duplicated, be a parent of another output file, or\nhave the same path as any of the listed output directories.\n\nDirectories leading up to the output files are created by the worker prior\nto execution, even if they are not explicitly part of the input root.\n\nDEPRECATED since v2.1: Use `output_paths` instead.",
+          "description": "A list of the output files that the client expects to retrieve from the action. Only the listed files, as well as directories listed in `output_directories`, will be returned to the client as output. Other files or directories that may be created during command execution are discarded. The paths are relative to the working directory of the action execution. The paths are specified using a single forward slash (`/`) as a path separator, even if the execution platform natively uses a different separator. The path MUST NOT include a trailing slash, nor a leading slash, being a relative path. In order to ensure consistent hashing of the same Action, the output paths MUST be sorted lexicographically by code point (or, equivalently, by UTF-8 bytes). An output file cannot be duplicated, be a parent of another output file, or have the same path as any of the listed output directories. Directories leading up to the output files are created by the worker prior to execution, even if they are not explicitly part of the input root. DEPRECATED since v2.1: Use `output_paths` instead.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "outputPaths": {
-          "description": "A list of the output paths that the client expects to retrieve from the\naction. Only the listed paths will be returned to the client as output.\nThe type of the output (file or directory) is not specified, and will be\ndetermined by the server after action execution. If the resulting path is\na file, it will be returned in an\nOutputFile) typed field.\nIf the path is a directory, the entire directory structure will be returned\nas a Tree message digest, see\nOutputDirectory)\nOther files or directories that may be created during command execution\nare discarded.\n\nThe paths are relative to the working directory of the action execution.\nThe paths are specified using a single forward slash (`/`) as a path\nseparator, even if the execution platform natively uses a different\nseparator. The path MUST NOT include a trailing slash, nor a leading slash,\nbeing a relative path.\n\nIn order to ensure consistent hashing of the same Action, the output paths\nMUST be deduplicated and sorted lexicographically by code point (or,\nequivalently, by UTF-8 bytes).\n\nDirectories leading up to the output paths are created by the worker prior\nto execution, even if they are not explicitly part of the input root.\n\nNew in v2.1: this field supersedes the DEPRECATED `output_files` and\n`output_directories` fields. If `output_paths` is used, `output_files` and\n`output_directories` will be ignored!",
+          "description": "A list of the output paths that the client expects to retrieve from the action. Only the listed paths will be returned to the client as output. The type of the output (file or directory) is not specified, and will be determined by the server after action execution. If the resulting path is a file, it will be returned in an OutputFile) typed field. If the path is a directory, the entire directory structure will be returned as a Tree message digest, see OutputDirectory) Other files or directories that may be created during command execution are discarded. The paths are relative to the working directory of the action execution. The paths are specified using a single forward slash (`/`) as a path separator, even if the execution platform natively uses a different separator. The path MUST NOT include a trailing slash, nor a leading slash, being a relative path. In order to ensure consistent hashing of the same Action, the output paths MUST be deduplicated and sorted lexicographically by code point (or, equivalently, by UTF-8 bytes). Directories leading up to the output paths are created by the worker prior to execution, even if they are not explicitly part of the input root. New in v2.1: this field supersedes the DEPRECATED `output_files` and `output_directories` fields. If `output_paths` is used, `output_files` and `output_directories` will be ignored!",
           "items": {
             "type": "string"
           },
@@ -767,17 +776,17 @@
         },
         "platform": {
           "$ref": "BuildBazelRemoteExecutionV2Platform",
-          "description": "The platform requirements for the execution environment. The server MAY\nchoose to execute the action on any worker satisfying the requirements, so\nthe client SHOULD ensure that running the action on any such worker will\nhave the same result.\nA detailed lexicon for this can be found in the accompanying platform.md."
+          "description": "The platform requirements for the execution environment. The server MAY choose to execute the action on any worker satisfying the requirements, so the client SHOULD ensure that running the action on any such worker will have the same result. A detailed lexicon for this can be found in the accompanying platform.md."
         },
         "workingDirectory": {
-          "description": "The working directory, relative to the input root, for the command to run\nin. It must be a directory which exists in the input tree. If it is left\nempty, then the action is run in the input root.",
+          "description": "The working directory, relative to the input root, for the command to run in. It must be a directory which exists in the input tree. If it is left empty, then the action is run in the input root.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2CommandEnvironmentVariable": {
-      "description": "An `EnvironmentVariable` is one variable to set in the running program's\nenvironment.",
+      "description": "An `EnvironmentVariable` is one variable to set in the running program's environment.",
       "id": "BuildBazelRemoteExecutionV2CommandEnvironmentVariable",
       "properties": {
         "name": {
@@ -792,11 +801,11 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2Digest": {
-      "description": "A content digest. A digest for a given blob consists of the size of the blob\nand its hash. The hash algorithm to use is defined by the server.\n\nThe size is considered to be an integral part of the digest and cannot be\nseparated. That is, even if the `hash` field is correctly specified but\n`size_bytes` is not, the server MUST reject the request.\n\nThe reason for including the size in the digest is as follows: in a great\nmany cases, the server needs to know the size of the blob it is about to work\nwith prior to starting an operation with it, such as flattening Merkle tree\nstructures or streaming it to a worker. Technically, the server could\nimplement a separate metadata store, but this results in a significantly more\ncomplicated implementation as opposed to having the client specify the size\nup-front (or storing the size along with the digest in every message where\ndigests are embedded). This does mean that the API leaks some implementation\ndetails of (what we consider to be) a reasonable server implementation, but\nwe consider this to be a worthwhile tradeoff.\n\nWhen a `Digest` is used to refer to a proto message, it always refers to the\nmessage in binary encoded form. To ensure consistent hashing, clients and\nservers MUST ensure that they serialize messages according to the following\nrules, even if there are alternate valid encodings for the same message:\n\n* Fields are serialized in tag order.\n* There are no unknown fields.\n* There are no duplicate fields.\n* Fields are serialized according to the default semantics for their type.\n\nMost protocol buffer implementations will always follow these rules when\nserializing, but care should be taken to avoid shortcuts. For instance,\nconcatenating two messages to merge them may produce duplicate fields.",
+      "description": "A content digest. A digest for a given blob consists of the size of the blob and its hash. The hash algorithm to use is defined by the server. The size is considered to be an integral part of the digest and cannot be separated. That is, even if the `hash` field is correctly specified but `size_bytes` is not, the server MUST reject the request. The reason for including the size in the digest is as follows: in a great many cases, the server needs to know the size of the blob it is about to work with prior to starting an operation with it, such as flattening Merkle tree structures or streaming it to a worker. Technically, the server could implement a separate metadata store, but this results in a significantly more complicated implementation as opposed to having the client specify the size up-front (or storing the size along with the digest in every message where digests are embedded). This does mean that the API leaks some implementation details of (what we consider to be) a reasonable server implementation, but we consider this to be a worthwhile tradeoff. When a `Digest` is used to refer to a proto message, it always refers to the message in binary encoded form. To ensure consistent hashing, clients and servers MUST ensure that they serialize messages according to the following rules, even if there are alternate valid encodings for the same message: * Fields are serialized in tag order. * There are no unknown fields. * There are no duplicate fields. * Fields are serialized according to the default semantics for their type. Most protocol buffer implementations will always follow these rules when serializing, but care should be taken to avoid shortcuts. For instance, concatenating two messages to merge them may produce duplicate fields.",
       "id": "BuildBazelRemoteExecutionV2Digest",
       "properties": {
         "hash": {
-          "description": "The hash. In the case of SHA-256, it will always be a lowercase hex string\nexactly 64 characters long.",
+          "description": "The hash. In the case of SHA-256, it will always be a lowercase hex string exactly 64 characters long.",
           "type": "string"
         },
         "sizeBytes": {
@@ -808,7 +817,7 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2Directory": {
-      "description": "A `Directory` represents a directory node in a file tree, containing zero or\nmore children FileNodes,\nDirectoryNodes and\nSymlinkNodes.\nEach `Node` contains its name in the directory, either the digest of its\ncontent (either a file blob or a `Directory` proto) or a symlink target, as\nwell as possibly some metadata about the file or directory.\n\nIn order to ensure that two equivalent directory trees hash to the same\nvalue, the following restrictions MUST be obeyed when constructing a\na `Directory`:\n\n* Every child in the directory must have a path of exactly one segment.\n  Multiple levels of directory hierarchy may not be collapsed.\n* Each child in the directory must have a unique path segment (file name).\n  Note that while the API itself is case-sensitive, the environment where\n  the Action is executed may or may not be case-sensitive. That is, it is\n  legal to call the API with a Directory that has both \"Foo\" and \"foo\" as\n  children, but the Action may be rejected by the remote system upon\n  execution.\n* The files, directories and symlinks in the directory must each be sorted\n  in lexicographical order by path. The path strings must be sorted by code\n  point, equivalently, by UTF-8 bytes.\n* The NodeProperties of files,\n  directories, and symlinks must be sorted in lexicographical order by\n  property name.\n\nA `Directory` that obeys the restrictions is said to be in canonical form.\n\nAs an example, the following could be used for a file named `bar` and a\ndirectory named `foo` with an executable file named `baz` (hashes shortened\nfor readability):\n\n```json\n// (Directory proto)\n{\n  files: [\n    {\n      name: \"bar\",\n      digest: {\n        hash: \"4a73bc9d03...\",\n        size: 65534\n      },\n      node_properties: [\n        {\n          \"name\": \"MTime\",\n          \"value\": \"2017-01-15T01:30:15.01Z\"\n        }\n      ]\n    }\n  ],\n  directories: [\n    {\n      name: \"foo\",\n      digest: {\n        hash: \"4cf2eda940...\",\n        size: 43\n      }\n    }\n  ]\n}\n\n// (Directory proto with hash \"4cf2eda940...\" and size 43)\n{\n  files: [\n    {\n      name: \"baz\",\n      digest: {\n        hash: \"b2c941073e...\",\n        size: 1294,\n      },\n      is_executable: true\n    }\n  ]\n}\n```",
+      "description": "A `Directory` represents a directory node in a file tree, containing zero or more children FileNodes, DirectoryNodes and SymlinkNodes. Each `Node` contains its name in the directory, either the digest of its content (either a file blob or a `Directory` proto) or a symlink target, as well as possibly some metadata about the file or directory. In order to ensure that two equivalent directory trees hash to the same value, the following restrictions MUST be obeyed when constructing a a `Directory`: * Every child in the directory must have a path of exactly one segment. Multiple levels of directory hierarchy may not be collapsed. * Each child in the directory must have a unique path segment (file name). Note that while the API itself is case-sensitive, the environment where the Action is executed may or may not be case-sensitive. That is, it is legal to call the API with a Directory that has both \"Foo\" and \"foo\" as children, but the Action may be rejected by the remote system upon execution. * The files, directories and symlinks in the directory must each be sorted in lexicographical order by path. The path strings must be sorted by code point, equivalently, by UTF-8 bytes. * The NodeProperties of files, directories, and symlinks must be sorted in lexicographical order by property name. A `Directory` that obeys the restrictions is said to be in canonical form. As an example, the following could be used for a file named `bar` and a directory named `foo` with an executable file named `baz` (hashes shortened for readability): ```json // (Directory proto) { files: [ { name: \"bar\", digest: { hash: \"4a73bc9d03...\", size: 65534 }, node_properties: [ { \"name\": \"MTime\", \"value\": \"2017-01-15T01:30:15.01Z\" } ] } ], directories: [ { name: \"foo\", digest: { hash: \"4cf2eda940...\", size: 43 } } ] } // (Directory proto with hash \"4cf2eda940...\" and size 43) { files: [ { name: \"baz\", digest: { hash: \"b2c941073e...\", size: 1294, }, is_executable: true } ] } ```",
       "id": "BuildBazelRemoteExecutionV2Directory",
       "properties": {
         "directories": {
@@ -843,12 +852,12 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2DirectoryNode": {
-      "description": "A `DirectoryNode` represents a child of a\nDirectory which is itself\na `Directory` and its associated metadata.",
+      "description": "A `DirectoryNode` represents a child of a Directory which is itself a `Directory` and its associated metadata.",
       "id": "BuildBazelRemoteExecutionV2DirectoryNode",
       "properties": {
         "digest": {
           "$ref": "BuildBazelRemoteExecutionV2Digest",
-          "description": "The digest of the\nDirectory object\nrepresented. See Digest\nfor information about how to take the digest of a proto message."
+          "description": "The digest of the Directory object represented. See Digest for information about how to take the digest of a proto message."
         },
         "name": {
           "description": "The name of the directory.",
@@ -858,12 +867,12 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2ExecuteOperationMetadata": {
-      "description": "Metadata about an ongoing\nexecution, which\nwill be contained in the metadata\nfield of the\nOperation.",
+      "description": "Metadata about an ongoing execution, which will be contained in the metadata field of the Operation.",
       "id": "BuildBazelRemoteExecutionV2ExecuteOperationMetadata",
       "properties": {
         "actionDigest": {
           "$ref": "BuildBazelRemoteExecutionV2Digest",
-          "description": "The digest of the Action\nbeing executed."
+          "description": "The digest of the Action being executed."
         },
         "stage": {
           "description": "The current stage of execution.",
@@ -884,41 +893,41 @@
           "type": "string"
         },
         "stderrStreamName": {
-          "description": "If set, the client can use this name with\nByteStream.Read to stream the\nstandard error.",
+          "description": "If set, the client can use this name with ByteStream.Read to stream the standard error.",
           "type": "string"
         },
         "stdoutStreamName": {
-          "description": "If set, the client can use this name with\nByteStream.Read to stream the\nstandard output.",
+          "description": "If set, the client can use this name with ByteStream.Read to stream the standard output.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2ExecuteRequest": {
-      "description": "A request message for\nExecution.Execute.",
+      "description": "A request message for Execution.Execute.",
       "id": "BuildBazelRemoteExecutionV2ExecuteRequest",
       "properties": {
         "actionDigest": {
           "$ref": "BuildBazelRemoteExecutionV2Digest",
-          "description": "The digest of the Action to\nexecute."
+          "description": "The digest of the Action to execute."
         },
         "executionPolicy": {
           "$ref": "BuildBazelRemoteExecutionV2ExecutionPolicy",
-          "description": "An optional policy for execution of the action.\nThe server will have a default policy if this is not provided."
+          "description": "An optional policy for execution of the action. The server will have a default policy if this is not provided."
         },
         "resultsCachePolicy": {
           "$ref": "BuildBazelRemoteExecutionV2ResultsCachePolicy",
-          "description": "An optional policy for the results of this execution in the remote cache.\nThe server will have a default policy if this is not provided.\nThis may be applied to both the ActionResult and the associated blobs."
+          "description": "An optional policy for the results of this execution in the remote cache. The server will have a default policy if this is not provided. This may be applied to both the ActionResult and the associated blobs."
         },
         "skipCacheLookup": {
-          "description": "If true, the action will be executed even if its result is already\npresent in the ActionCache.\nThe execution is still allowed to be merged with other in-flight executions\nof the same action, however - semantically, the service MUST only guarantee\nthat the results of an execution with this field set were not visible\nbefore the corresponding execution request was sent.\nNote that actions from execution requests setting this field set are still\neligible to be entered into the action cache upon completion, and services\nSHOULD overwrite any existing entries that may exist. This allows\nskip_cache_lookup requests to be used as a mechanism for replacing action\ncache entries that reference outputs no longer available or that are\npoisoned in any way.\nIf false, the result may be served from the action cache.",
+          "description": "If true, the action will be executed even if its result is already present in the ActionCache. The execution is still allowed to be merged with other in-flight executions of the same action, however - semantically, the service MUST only guarantee that the results of an execution with this field set were not visible before the corresponding execution request was sent. Note that actions from execution requests setting this field set are still eligible to be entered into the action cache upon completion, and services SHOULD overwrite any existing entries that may exist. This allows skip_cache_lookup requests to be used as a mechanism for replacing action cache entries that reference outputs no longer available or that are poisoned in any way. If false, the result may be served from the action cache.",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2ExecuteResponse": {
-      "description": "The response message for\nExecution.Execute,\nwhich will be contained in the response\nfield of the\nOperation.",
+      "description": "The response message for Execution.Execute, which will be contained in the response field of the Operation.",
       "id": "BuildBazelRemoteExecutionV2ExecuteResponse",
       "properties": {
         "cachedResult": {
@@ -926,7 +935,7 @@
           "type": "boolean"
         },
         "message": {
-          "description": "Freeform informational message with details on the execution of the action\nthat may be displayed to the user upon failure or when requested explicitly.",
+          "description": "Freeform informational message with details on the execution of the action that may be displayed to the user upon failure or when requested explicitly.",
           "type": "string"
         },
         "result": {
@@ -937,12 +946,12 @@
           "additionalProperties": {
             "$ref": "BuildBazelRemoteExecutionV2LogFile"
           },
-          "description": "An optional list of additional log outputs the server wishes to provide. A\nserver can use this to return execution-specific logs however it wishes.\nThis is intended primarily to make it easier for users to debug issues that\nmay be outside of the actual job execution, such as by identifying the\nworker executing the action or by providing logs from the worker's setup\nphase. The keys SHOULD be human readable so that a client can display them\nto a user.",
+          "description": "An optional list of additional log outputs the server wishes to provide. A server can use this to return execution-specific logs however it wishes. This is intended primarily to make it easier for users to debug issues that may be outside of the actual job execution, such as by identifying the worker executing the action or by providing logs from the worker's setup phase. The keys SHOULD be human readable so that a client can display them to a user.",
           "type": "object"
         },
         "status": {
           "$ref": "GoogleRpcStatus",
-          "description": "If the status has a code other than `OK`, it indicates that the action did\nnot finish execution. For example, if the operation times out during\nexecution, the status will have a `DEADLINE_EXCEEDED` code. Servers MUST\nuse this field for errors in execution, rather than the error field on the\n`Operation` object.\n\nIf the status code is other than `OK`, then the result MUST NOT be cached.\nFor an error status, the `result` field is optional; the server may\npopulate the output-, stdout-, and stderr-related fields if it has any\ninformation available, such as the stdout and stderr of a timed-out action."
+          "description": "If the status has a code other than `OK`, it indicates that the action did not finish execution. For example, if the operation times out during execution, the status will have a `DEADLINE_EXCEEDED` code. Servers MUST use this field for errors in execution, rather than the error field on the `Operation` object. If the status code is other than `OK`, then the result MUST NOT be cached. For an error status, the `result` field is optional; the server may populate the output-, stdout-, and stderr-related fields if it has any information available, such as the stdout and stderr of a timed-out action."
         }
       },
       "type": "object"
@@ -1023,7 +1032,7 @@
             "The SHA-256 digest function.",
             "The SHA-1 digest function.",
             "The MD5 digest function.",
-            "The Microsoft \"VSO-Hash\" paged SHA256 digest function.\nSee https://github.com/microsoft/BuildXL/blob/master/Documentation/Specs/PagedHash.md .",
+            "The Microsoft \"VSO-Hash\" paged SHA256 digest function. See https://github.com/microsoft/BuildXL/blob/master/Documentation/Specs/PagedHash.md .",
             "The SHA-384 digest function.",
             "The SHA-512 digest function."
           ],
@@ -1052,7 +1061,7 @@
       "id": "BuildBazelRemoteExecutionV2ExecutionPolicy",
       "properties": {
         "priority": {
-          "description": "The priority (relative importance) of this action. Generally, a lower value\nmeans that the action should be run sooner than actions having a greater\npriority value, but the interpretation of a given value is server-\ndependent. A priority of 0 means the *default* priority. Priorities may be\npositive or negative, and such actions should run later or sooner than\nactions having the default priority, respectively. The particular semantics\nof this field is up to the server. In particular, every server will have\ntheir own supported range of priorities, and will decide how these map into\nscheduling policy.",
+          "description": "The priority (relative importance) of this action. Generally, a lower value means that the action should be run sooner than actions having a greater priority value, but the interpretation of a given value is server- dependent. A priority of 0 means the *default* priority. Priorities may be positive or negative, and such actions should run later or sooner than actions having the default priority, respectively. The particular semantics of this field is up to the server. In particular, every server will have their own supported range of priorities, and will decide how these map into scheduling policy.",
           "format": "int32",
           "type": "integer"
         }
@@ -1086,7 +1095,7 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2FindMissingBlobsRequest": {
-      "description": "A request message for\nContentAddressableStorage.FindMissingBlobs.",
+      "description": "A request message for ContentAddressableStorage.FindMissingBlobs.",
       "id": "BuildBazelRemoteExecutionV2FindMissingBlobsRequest",
       "properties": {
         "blobDigests": {
@@ -1100,7 +1109,7 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2FindMissingBlobsResponse": {
-      "description": "A response message for\nContentAddressableStorage.FindMissingBlobs.",
+      "description": "A response message for ContentAddressableStorage.FindMissingBlobs.",
       "id": "BuildBazelRemoteExecutionV2FindMissingBlobsResponse",
       "properties": {
         "missingBlobDigests": {
@@ -1114,7 +1123,7 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2GetTreeResponse": {
-      "description": "A response message for\nContentAddressableStorage.GetTree.",
+      "description": "A response message for ContentAddressableStorage.GetTree.",
       "id": "BuildBazelRemoteExecutionV2GetTreeResponse",
       "properties": {
         "directories": {
@@ -1125,7 +1134,7 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "If present, signifies that there are more results which the client can\nretrieve by passing this as the page_token in a subsequent\nrequest.\nIf empty, signifies that this is the last page of results.",
+          "description": "If present, signifies that there are more results which the client can retrieve by passing this as the page_token in a subsequent request. If empty, signifies that this is the last page of results.",
           "type": "string"
         }
       },
@@ -1140,14 +1149,14 @@
           "description": "The digest of the log contents."
         },
         "humanReadable": {
-          "description": "This is a hint as to the purpose of the log, and is set to true if the log\nis human-readable text that can be usefully displayed to a user, and false\notherwise. For instance, if a command-line client wishes to print the\nserver logs to the terminal for a failed action, this allows it to avoid\ndisplaying a binary file.",
+          "description": "This is a hint as to the purpose of the log, and is set to true if the log is human-readable text that can be usefully displayed to a user, and false otherwise. For instance, if a command-line client wishes to print the server logs to the terminal for a failed action, this allows it to avoid displaying a binary file.",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2NodeProperty": {
-      "description": "A single property for FileNodes,\nDirectoryNodes, and\nSymlinkNodes. The server is\nresponsible for specifying the property `name`s that it accepts. If\npermitted by the server, the same `name` may occur multiple times.",
+      "description": "A single property for FileNodes, DirectoryNodes, and SymlinkNodes. The server is responsible for specifying the property `name`s that it accepts. If permitted by the server, the same `name` may occur multiple times.",
       "id": "BuildBazelRemoteExecutionV2NodeProperty",
       "properties": {
         "name": {
@@ -1162,26 +1171,26 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2OutputDirectory": {
-      "description": "An `OutputDirectory` is the output in an `ActionResult` corresponding to a\ndirectory's full contents rather than a single file.",
+      "description": "An `OutputDirectory` is the output in an `ActionResult` corresponding to a directory's full contents rather than a single file.",
       "id": "BuildBazelRemoteExecutionV2OutputDirectory",
       "properties": {
         "path": {
-          "description": "The full path of the directory relative to the working directory. The path\nseparator is a forward slash `/`. Since this is a relative path, it MUST\nNOT begin with a leading forward slash. The empty string value is allowed,\nand it denotes the entire working directory.",
+          "description": "The full path of the directory relative to the working directory. The path separator is a forward slash `/`. Since this is a relative path, it MUST NOT begin with a leading forward slash. The empty string value is allowed, and it denotes the entire working directory.",
           "type": "string"
         },
         "treeDigest": {
           "$ref": "BuildBazelRemoteExecutionV2Digest",
-          "description": "The digest of the encoded\nTree proto containing the\ndirectory's contents."
+          "description": "The digest of the encoded Tree proto containing the directory's contents."
         }
       },
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2OutputFile": {
-      "description": "An `OutputFile` is similar to a\nFileNode, but it is used as an\noutput in an `ActionResult`. It allows a full file path rather than\nonly a name.",
+      "description": "An `OutputFile` is similar to a FileNode, but it is used as an output in an `ActionResult`. It allows a full file path rather than only a name.",
       "id": "BuildBazelRemoteExecutionV2OutputFile",
       "properties": {
         "contents": {
-          "description": "The contents of the file if inlining was requested. The server SHOULD NOT inline\nfile contents unless requested by the client in the\nGetActionResultRequest\nmessage. The server MAY omit inlining, even if requested, and MUST do so if inlining\nwould cause the response to exceed message size limits.",
+          "description": "The contents of the file if inlining was requested. The server SHOULD NOT inline file contents unless requested by the client in the GetActionResultRequest message. The server MAY omit inlining, even if requested, and MUST do so if inlining would cause the response to exceed message size limits.",
           "format": "byte",
           "type": "string"
         },
@@ -1201,40 +1210,40 @@
           "type": "array"
         },
         "path": {
-          "description": "The full path of the file relative to the working directory, including the\nfilename. The path separator is a forward slash `/`. Since this is a\nrelative path, it MUST NOT begin with a leading forward slash.",
+          "description": "The full path of the file relative to the working directory, including the filename. The path separator is a forward slash `/`. Since this is a relative path, it MUST NOT begin with a leading forward slash.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2OutputSymlink": {
-      "description": "An `OutputSymlink` is similar to a\nSymlink, but it is used as an\noutput in an `ActionResult`.\n\n`OutputSymlink` is binary-compatible with `SymlinkNode`.",
+      "description": "An `OutputSymlink` is similar to a Symlink, but it is used as an output in an `ActionResult`. `OutputSymlink` is binary-compatible with `SymlinkNode`.",
       "id": "BuildBazelRemoteExecutionV2OutputSymlink",
       "properties": {
         "nodeProperties": {
-          "description": "The supported node properties of the OutputSymlink, if requested by the\nAction.",
+          "description": "The supported node properties of the OutputSymlink, if requested by the Action.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2NodeProperty"
           },
           "type": "array"
         },
         "path": {
-          "description": "The full path of the symlink relative to the working directory, including the\nfilename. The path separator is a forward slash `/`. Since this is a\nrelative path, it MUST NOT begin with a leading forward slash.",
+          "description": "The full path of the symlink relative to the working directory, including the filename. The path separator is a forward slash `/`. Since this is a relative path, it MUST NOT begin with a leading forward slash.",
           "type": "string"
         },
         "target": {
-          "description": "The target path of the symlink. The path separator is a forward slash `/`.\nThe target path can be relative to the parent directory of the symlink or\nit can be an absolute path starting with `/`. Support for absolute paths\ncan be checked using the Capabilities\nAPI. The canonical form forbids the substrings `/./` and `//` in the target\npath. `..` components are allowed anywhere in the target path.",
+          "description": "The target path of the symlink. The path separator is a forward slash `/`. The target path can be relative to the parent directory of the symlink or it can be an absolute path starting with `/`. Support for absolute paths can be checked using the Capabilities API. The canonical form forbids the substrings `/./` and `//` in the target path. `..` components are allowed anywhere in the target path.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2Platform": {
-      "description": "A `Platform` is a set of requirements, such as hardware, operating system, or\ncompiler toolchain, for an\nAction's execution\nenvironment. A `Platform` is represented as a series of key-value pairs\nrepresenting the properties that are required of the platform.",
+      "description": "A `Platform` is a set of requirements, such as hardware, operating system, or compiler toolchain, for an Action's execution environment. A `Platform` is represented as a series of key-value pairs representing the properties that are required of the platform.",
       "id": "BuildBazelRemoteExecutionV2Platform",
       "properties": {
         "properties": {
-          "description": "The properties that make up this platform. In order to ensure that\nequivalent `Platform`s always hash to the same value, the properties MUST\nbe lexicographically sorted by name, and then by value. Sorting of strings\nis done by code point, equivalently, by the UTF-8 bytes.",
+          "description": "The properties that make up this platform. In order to ensure that equivalent `Platform`s always hash to the same value, the properties MUST be lexicographically sorted by name, and then by value. Sorting of strings is done by code point, equivalently, by the UTF-8 bytes.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2PlatformProperty"
           },
@@ -1244,7 +1253,7 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2PlatformProperty": {
-      "description": "A single property for the environment. The server is responsible for\nspecifying the property `name`s that it accepts. If an unknown `name` is\nprovided in the requirements for an\nAction, the server SHOULD\nreject the execution request. If permitted by the server, the same `name`\nmay occur multiple times.\n\nThe server is also responsible for specifying the interpretation of\nproperty `value`s. For instance, a property describing how much RAM must be\navailable may be interpreted as allowing a worker with 16GB to fulfill a\nrequest for 8GB, while a property describing the OS environment on which\nthe action must be performed may require an exact match with the worker's\nOS.\n\nThe server MAY use the `value` of one or more properties to determine how\nit sets up the execution environment, such as by making specific system\nfiles available to the worker.",
+      "description": "A single property for the environment. The server is responsible for specifying the property `name`s that it accepts. If an unknown `name` is provided in the requirements for an Action, the server SHOULD reject the execution request. If permitted by the server, the same `name` may occur multiple times. The server is also responsible for specifying the interpretation of property `value`s. For instance, a property describing how much RAM must be available may be interpreted as allowing a worker with 16GB to fulfill a request for 8GB, while a property describing the OS environment on which the action must be performed may require an exact match with the worker's OS. The server MAY use the `value` of one or more properties to determine how it sets up the execution environment, such as by making specific system files available to the worker.",
       "id": "BuildBazelRemoteExecutionV2PlatformProperty",
       "properties": {
         "name": {
@@ -1259,7 +1268,7 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2PriorityCapabilities": {
-      "description": "Allowed values for priority in\nResultsCachePolicy\nUsed for querying both cache and execution valid priority ranges.",
+      "description": "Allowed values for priority in ResultsCachePolicy Used for querying both cache and execution valid priority ranges.",
       "id": "BuildBazelRemoteExecutionV2PriorityCapabilities",
       "properties": {
         "priorities": {
@@ -1287,15 +1296,15 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2RequestMetadata": {
-      "description": "An optional Metadata to attach to any RPC request to tell the server about an\nexternal context of the request. The server may use this for logging or other\npurposes. To use it, the client attaches the header to the call using the\ncanonical proto serialization:\n\n* name: `build.bazel.remote.execution.v2.requestmetadata-bin`\n* contents: the base64 encoded binary `RequestMetadata` message.\nNote: the gRPC library serializes binary headers encoded in base 64 by\ndefault (https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests).\nTherefore, if the gRPC library is used to pass/retrieve this\nmetadata, the user may ignore the base64 encoding and assume it is simply\nserialized as a binary message.",
+      "description": "An optional Metadata to attach to any RPC request to tell the server about an external context of the request. The server may use this for logging or other purposes. To use it, the client attaches the header to the call using the canonical proto serialization: * name: `build.bazel.remote.execution.v2.requestmetadata-bin` * contents: the base64 encoded binary `RequestMetadata` message. Note: the gRPC library serializes binary headers encoded in base 64 by default (https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests). Therefore, if the gRPC library is used to pass/retrieve this metadata, the user may ignore the base64 encoding and assume it is simply serialized as a binary message.",
       "id": "BuildBazelRemoteExecutionV2RequestMetadata",
       "properties": {
         "actionId": {
-          "description": "An identifier that ties multiple requests to the same action.\nFor example, multiple requests to the CAS, Action Cache, and Execution\nAPI are used in order to compile foo.cc.",
+          "description": "An identifier that ties multiple requests to the same action. For example, multiple requests to the CAS, Action Cache, and Execution API are used in order to compile foo.cc.",
           "type": "string"
         },
         "correlatedInvocationsId": {
-          "description": "An identifier to tie multiple tool invocations together. For example,\nruns of foo_test, bar_test and baz_test on a post-submit of a given patch.",
+          "description": "An identifier to tie multiple tool invocations together. For example, runs of foo_test, bar_test and baz_test on a post-submit of a given patch.",
           "type": "string"
         },
         "toolDetails": {
@@ -1303,18 +1312,18 @@
           "description": "The details for the tool invoking the requests."
         },
         "toolInvocationId": {
-          "description": "An identifier that ties multiple actions together to a final result.\nFor example, multiple actions are required to build and run foo_test.",
+          "description": "An identifier that ties multiple actions together to a final result. For example, multiple actions are required to build and run foo_test.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2ResultsCachePolicy": {
-      "description": "A `ResultsCachePolicy` is used for fine-grained control over how action\noutputs are stored in the CAS and Action Cache.",
+      "description": "A `ResultsCachePolicy` is used for fine-grained control over how action outputs are stored in the CAS and Action Cache.",
       "id": "BuildBazelRemoteExecutionV2ResultsCachePolicy",
       "properties": {
         "priority": {
-          "description": "The priority (relative importance) of this content in the overall cache.\nGenerally, a lower value means a longer retention time or other advantage,\nbut the interpretation of a given value is server-dependent. A priority of\n0 means a *default* value, decided by the server.\n\nThe particular semantics of this field is up to the server. In particular,\nevery server will have their own supported range of priorities, and will\ndecide how these map into retention/eviction policy.",
+          "description": "The priority (relative importance) of this content in the overall cache. Generally, a lower value means a longer retention time or other advantage, but the interpretation of a given value is server-dependent. A priority of 0 means a *default* value, decided by the server. The particular semantics of this field is up to the server. In particular, every server will have their own supported range of priorities, and will decide how these map into retention/eviction policy.",
           "format": "int32",
           "type": "integer"
         }
@@ -1322,7 +1331,7 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2ServerCapabilities": {
-      "description": "A response message for\nCapabilities.GetCapabilities.",
+      "description": "A response message for Capabilities.GetCapabilities.",
       "id": "BuildBazelRemoteExecutionV2ServerCapabilities",
       "properties": {
         "cacheCapabilities": {
@@ -1364,7 +1373,7 @@
           "type": "array"
         },
         "target": {
-          "description": "The target path of the symlink. The path separator is a forward slash `/`.\nThe target path can be relative to the parent directory of the symlink or\nit can be an absolute path starting with `/`. Support for absolute paths\ncan be checked using the Capabilities\nAPI. The canonical form forbids the substrings `/./` and `//` in the target\npath. `..` components are allowed anywhere in the target path.",
+          "description": "The target path of the symlink. The path separator is a forward slash `/`. The target path can be relative to the parent directory of the symlink or it can be an absolute path starting with `/`. Support for absolute paths can be checked using the Capabilities API. The canonical form forbids the substrings `/./` and `//` in the target path. `..` components are allowed anywhere in the target path.",
           "type": "string"
         }
       },
@@ -1386,11 +1395,11 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2Tree": {
-      "description": "A `Tree` contains all the\nDirectory protos in a\nsingle directory Merkle tree, compressed into one message.",
+      "description": "A `Tree` contains all the Directory protos in a single directory Merkle tree, compressed into one message.",
       "id": "BuildBazelRemoteExecutionV2Tree",
       "properties": {
         "children": {
-          "description": "All the child directories: the directories referred to by the root and,\nrecursively, all its children. In order to reconstruct the directory tree,\nthe client must take the digests of each of the child directories and then\nbuild up a tree starting from the `root`.",
+          "description": "All the child directories: the directories referred to by the root and, recursively, all its children. In order to reconstruct the directory tree, the client must take the digests of each of the child directories and then build up a tree starting from the `root`.",
           "items": {
             "$ref": "BuildBazelRemoteExecutionV2Directory"
           },
@@ -1404,7 +1413,7 @@
       "type": "object"
     },
     "BuildBazelRemoteExecutionV2WaitExecutionRequest": {
-      "description": "A request message for\nWaitExecution.",
+      "description": "A request message for WaitExecution.",
       "id": "BuildBazelRemoteExecutionV2WaitExecutionRequest",
       "properties": {},
       "type": "object"
@@ -1429,18 +1438,18 @@
           "type": "integer"
         },
         "prerelease": {
-          "description": "The pre-release version. Either this field or major/minor/patch fields\nmust be filled. They are mutually exclusive. Pre-release versions are\nassumed to be earlier than any released versions.",
+          "description": "The pre-release version. Either this field or major/minor/patch fields must be filled. They are mutually exclusive. Pre-release versions are assumed to be earlier than any released versions.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleDevtoolsRemotebuildbotCommandDurations": {
-      "description": "CommandDuration contains the various duration metrics tracked when a bot\nperforms a command.",
+      "description": "CommandDuration contains the various duration metrics tracked when a bot performs a command.",
       "id": "GoogleDevtoolsRemotebuildbotCommandDurations",
       "properties": {
         "dockerPrep": {
-          "description": "The time spent preparing the command to be run in a Docker container\n(includes pulling the Docker image, if necessary).",
+          "description": "The time spent preparing the command to be run in a Docker container (includes pulling the Docker image, if necessary).",
           "format": "google-duration",
           "type": "string"
         },
@@ -1450,7 +1459,7 @@
           "type": "string"
         },
         "download": {
-          "description": "The time spent downloading the input files and constructing the working\ndirectory.",
+          "description": "The time spent downloading the input files and constructing the working directory.",
           "format": "google-duration",
           "type": "string"
         },
@@ -1498,11 +1507,11 @@
       "type": "object"
     },
     "GoogleDevtoolsRemotebuildbotCommandEvents": {
-      "description": "CommandEvents contains counters for the number of warnings and errors\nthat occurred during the execution of a command.",
+      "description": "CommandEvents contains counters for the number of warnings and errors that occurred during the execution of a command.",
       "id": "GoogleDevtoolsRemotebuildbotCommandEvents",
       "properties": {
         "dockerCacheHit": {
-          "description": "Indicates whether we are using a cached Docker image (true) or had to pull\nthe Docker image (false) for this command.",
+          "description": "Indicates whether we are using a cached Docker image (true) or had to pull the Docker image (false) for this command.",
           "type": "boolean"
         },
         "inputCacheMiss": {
@@ -1575,10 +1584,10 @@
             "The command had passed its expiry time while it was still running.",
             "The resources requested by the command were not found.",
             "The command failed due to permission errors.",
-            "The command failed because of some invariants expected by the underlying\nsystem have been broken. This usually indicates a bug wit the system.",
+            "The command failed because of some invariants expected by the underlying system have been broken. This usually indicates a bug wit the system.",
             "The command was aborted.",
-            "The command failed because the system is not in a state required for the\ncommand, e.g. the command inputs cannot be found on the server.",
-            "The bot failed to do the cleanup, e.g. unable to delete the command\nworking directory or the command process.",
+            "The command failed because the system is not in a state required for the command, e.g. the command inputs cannot be found on the server.",
+            "The bot failed to do the cleanup, e.g. unable to delete the command working directory or the command process.",
             "The bot failed to download the inputs.",
             "Unknown error.",
             "The bot failed to upload the outputs.",
@@ -1607,7 +1616,7 @@
             "Docker failed to create OCI runtime because of file not found.",
             "Docker failed to create OCI runtime because of permission denied.",
             "Docker failed to create process because of file not found.",
-            "Docker failed to run containers with CreateComputeSystem error that\ninvolves an incorrect parameter (more specific version of\nDOCKER_CREATE_COMPUTE_SYSTEM_ERROR that is user-caused)."
+            "Docker failed to run containers with CreateComputeSystem error that involves an incorrect parameter (more specific version of DOCKER_CREATE_COMPUTE_SYSTEM_ERROR that is user-caused)."
           ],
           "type": "string"
         },
@@ -1659,7 +1668,7 @@
           "type": "string"
         },
         "acceleratorType": {
-          "description": "The type of accelerator to attach to each VM, e.g. \"nvidia-tesla-k80\" for\nnVidia Tesla K80.",
+          "description": "The type of accelerator to attach to each VM, e.g. \"nvidia-tesla-k80\" for nVidia Tesla K80.",
           "type": "string"
         }
       },
@@ -1688,14 +1697,14 @@
       "properties": {
         "instance": {
           "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance",
-          "description": "Specifies the instance to create.\nThe name in the instance, if specified in the instance, is ignored."
+          "description": "Specifies the instance to create. The name in the instance, if specified in the instance, is ignored."
         },
         "instanceId": {
-          "description": "ID of the created instance.\nA valid `instance_id` must:\nbe 6-50 characters long,\ncontain only lowercase letters, digits, hyphens and underscores,\nstart with a lowercase letter, and\nend with a lowercase letter or a digit.",
+          "description": "ID of the created instance. A valid `instance_id` must: be 6-50 characters long, contain only lowercase letters, digits, hyphens and underscores, start with a lowercase letter, and end with a lowercase letter or a digit.",
           "type": "string"
         },
         "parent": {
-          "description": "Resource name of the project containing the instance.\nFormat: `projects/[PROJECT_ID]`.",
+          "description": "Resource name of the project containing the instance. Format: `projects/[PROJECT_ID]`.",
           "type": "string"
         }
       },
@@ -1706,16 +1715,16 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest",
       "properties": {
         "parent": {
-          "description": "Resource name of the instance in which to create the new worker pool.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+          "description": "Resource name of the instance in which to create the new worker pool. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
           "type": "string"
         },
         "poolId": {
-          "description": "ID of the created worker pool.\nA valid pool ID must:\nbe 6-50 characters long,\ncontain only lowercase letters, digits, hyphens and underscores,\nstart with a lowercase letter, and\nend with a lowercase letter or a digit.",
+          "description": "ID of the created worker pool. A valid pool ID must: be 6-50 characters long, contain only lowercase letters, digits, hyphens and underscores, start with a lowercase letter, and end with a lowercase letter or a digit.",
           "type": "string"
         },
         "workerPool": {
           "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool",
-          "description": "Specifies the worker pool to create.\nThe name in the worker pool, if specified, is ignored."
+          "description": "Specifies the worker pool to create. The name in the worker pool, if specified, is ignored."
         }
       },
       "type": "object"
@@ -1725,7 +1734,7 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteInstanceRequest",
       "properties": {
         "name": {
-          "description": "Name of the instance to delete.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+          "description": "Name of the instance to delete. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
           "type": "string"
         }
       },
@@ -1736,7 +1745,88 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteWorkerPoolRequest",
       "properties": {
         "name": {
-          "description": "Name of the worker pool to delete.\nFormat:\n`projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.",
+          "description": "Name of the worker pool to delete. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.",
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy": {
+      "description": "FeaturePolicy defines features allowed to be used on RBE instances, as well as instance-wide behavior changes that take effect without opt-in or opt-out at usage time.",
+      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy",
+      "properties": {
+        "containerImageSources": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Which container image sources are allowed. Currently only RBE-supported registry (gcr.io) is allowed. One can allow all repositories under a project or one specific repository only. E.g. container_image_sources { policy: RESTRICTED allowed_values: [ \"gcr.io/project-foo\", \"gcr.io/project-bar/repo-baz\", ] } will allow any repositories under \"gcr.io/project-foo\" plus the repository \"gcr.io/project-bar/repo-baz\". Default (UNSPECIFIED) is equivalent to any source is allowed."
+        },
+        "dockerAddCapabilities": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Whether dockerAddCapabilities can be used or what capabilities are allowed."
+        },
+        "dockerChrootPath": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Whether dockerChrootPath can be used."
+        },
+        "dockerNetwork": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Whether dockerNetwork can be used or what network modes are allowed. E.g. one may allow `off` value only via `allowed_values`."
+        },
+        "dockerPrivileged": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Whether dockerPrivileged can be used."
+        },
+        "dockerRunAsRoot": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Whether dockerRunAsRoot can be used."
+        },
+        "dockerRuntime": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Whether dockerRuntime is allowed to be set or what runtimes are allowed. Note linux_isolation takes precedence, and if set, docker_runtime values may be rejected if they are incompatible with the selected isolation."
+        },
+        "dockerSiblingContainers": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+          "description": "Whether dockerSiblingContainers can be used."
+        },
+        "linuxIsolation": {
+          "description": "linux_isolation allows overriding the docker runtime used for containers started on Linux.",
+          "enum": [
+            "LINUX_ISOLATION_UNSPECIFIED",
+            "GVISOR"
+          ],
+          "enumDescriptions": [
+            "Default value. Will be using Linux default runtime.",
+            "Use gVisor runsc runtime."
+          ],
+          "type": "string"
+        }
+      },
+      "type": "object"
+    },
+    "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature": {
+      "description": "Defines whether a feature can be used or what values are accepted.",
+      "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature",
+      "properties": {
+        "allowedValues": {
+          "description": "A list of acceptable values. Only effective when the policy is `RESTRICTED`.",
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
+        },
+        "policy": {
+          "description": "The policy of the feature.",
+          "enum": [
+            "POLICY_UNSPECIFIED",
+            "ALLOWED",
+            "FORBIDDEN",
+            "RESTRICTED"
+          ],
+          "enumDescriptions": [
+            "Default value, if not explicitly set. Equivalent to FORBIDDEN, unless otherwise documented on a specific Feature.",
+            "Feature is explicitly allowed.",
+            "Feature is forbidden. Requests attempting to leverage it will get an FailedPrecondition error, with a message like: \"Feature forbidden by FeaturePolicy: Feature on instance \"",
+            "Only the values specified in the `allowed_values` are allowed."
+          ],
           "type": "string"
         }
       },
@@ -1747,7 +1837,7 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetInstanceRequest",
       "properties": {
         "name": {
-          "description": "Name of the instance to retrieve.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+          "description": "Name of the instance to retrieve. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
           "type": "string"
         }
       },
@@ -1758,16 +1848,20 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetWorkerPoolRequest",
       "properties": {
         "name": {
-          "description": "Name of the worker pool to retrieve.\nFormat:\n`projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.",
+          "description": "Name of the worker pool to retrieve. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance": {
-      "description": "Instance conceptually encapsulates all Remote Build Execution resources\nfor remote builds.\nAn instance consists of storage and compute resources (for example,\n`ContentAddressableStorage`, `ActionCache`, `WorkerPools`) used for\nrunning remote builds.\nAll Remote Build Execution API calls are scoped to an instance.",
+      "description": "Instance conceptually encapsulates all Remote Build Execution resources for remote builds. An instance consists of storage and compute resources (for example, `ContentAddressableStorage`, `ActionCache`, `WorkerPools`) used for running remote builds. All Remote Build Execution API calls are scoped to an instance.",
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance",
       "properties": {
+        "featurePolicy": {
+          "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy",
+          "description": "The policy to define whether or not RBE features can be used or how they can be used."
+        },
         "location": {
           "description": "The location is a GCP region. Currently only `us-central1` is supported.",
           "type": "string"
@@ -1777,7 +1871,7 @@
           "type": "boolean"
         },
         "name": {
-          "description": "Output only. Instance resource name formatted as:\n`projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.\nName should not be populated when creating an instance since it is provided\nin the `instance_id` field.",
+          "description": "Output only. Instance resource name formatted as: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. Name should not be populated when creating an instance since it is provided in the `instance_id` field.",
           "type": "string"
         },
         "state": {
@@ -1790,9 +1884,9 @@
           ],
           "enumDescriptions": [
             "Not a valid state, but the default value of the enum.",
-            "The instance is in state `CREATING` once `CreateInstance` is called and\nbefore the instance is ready for use.",
+            "The instance is in state `CREATING` once `CreateInstance` is called and before the instance is ready for use.",
             "The instance is in state `RUNNING` when it is ready for use.",
-            "An `INACTIVE` instance indicates that there is a problem that needs to be\nfixed. Such instances cannot be used for execution and instances that\nremain in this state for a significant period of time will be removed\npermanently."
+            "An `INACTIVE` instance indicates that there is a problem that needs to be fixed. Such instances cannot be used for execution and instances that remain in this state for a significant period of time will be removed permanently."
           ],
           "type": "string"
         }
@@ -1803,7 +1897,7 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesRequest",
       "properties": {
         "parent": {
-          "description": "Resource name of the project.\nFormat: `projects/[PROJECT_ID]`.",
+          "description": "Resource name of the project. Format: `projects/[PROJECT_ID]`.",
           "type": "string"
         }
       },
@@ -1826,11 +1920,11 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsRequest",
       "properties": {
         "filter": {
-          "description": "Optional. A filter expression that filters resources listed in\nthe response. The expression must specify the field name, a comparison\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. String values are\ncase-insensitive.\nThe comparison operator must be either `:`, `=`, `!=`, `\u003e`, `\u003e=`, `\u003c=` or\n`\u003c`.\nThe `:` operator can be used with string fields to match substrings.\nFor non-string fields it is equivalent to the `=` operator.\nThe `:*` comparison can be used to test  whether a key has been defined.\n\nYou can also filter on nested fields.\n\nTo filter on multiple expressions, you can separate expression using\n`AND` and `OR` operators, using parentheses to specify precedence. If\nneither operator is specified, `AND` is assumed.\n\nExamples:\n\nInclude only pools with more than 100 reserved workers:\n`(worker_count \u003e 100) (worker_config.reserved = true)`\n\nInclude only pools with a certain label or machines of the n1-standard\nfamily:\n`worker_config.labels.key1 : * OR worker_config.machine_type: n1-standard`",
+          "description": "Optional. A filter expression that filters resources listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. String values are case-insensitive. The comparison operator must be either `:`, `=`, `!=`, `\u003e`, `\u003e=`, `\u003c=` or `\u003c`. The `:` operator can be used with string fields to match substrings. For non-string fields it is equivalent to the `=` operator. The `:*` comparison can be used to test whether a key has been defined. You can also filter on nested fields. To filter on multiple expressions, you can separate expression using `AND` and `OR` operators, using parentheses to specify precedence. If neither operator is specified, `AND` is assumed. Examples: Include only pools with more than 100 reserved workers: `(worker_count \u003e 100) (worker_config.reserved = true)` Include only pools with a certain label or machines of the n1-standard family: `worker_config.labels.key1 : * OR worker_config.machine_type: n1-standard`",
           "type": "string"
         },
         "parent": {
-          "description": "Resource name of the instance.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+          "description": "Resource name of the instance. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
           "type": "string"
         }
       },
@@ -1858,15 +1952,15 @@
           "description": "Specifies the instance to update."
         },
         "loggingEnabled": {
-          "description": "Deprecated, use instance.logging_enabled instead.\nWhether to enable Stackdriver logging for this instance.",
+          "description": "Deprecated, use instance.logging_enabled instead. Whether to enable Stackdriver logging for this instance.",
           "type": "boolean"
         },
         "name": {
-          "description": "Deprecated, use instance.Name instead.\nName of the instance to update.\nFormat: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
+          "description": "Deprecated, use instance.Name instead. Name of the instance to update. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.",
           "type": "string"
         },
         "updateMask": {
-          "description": "The update mask applies to instance. For the `FieldMask` definition, see\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf an empty update_mask is provided, only the non-default valued field in\nthe worker pool field will be updated. Note that in order to update a field\nto the default value (zero, false, empty string) an explicit update_mask\nmust be provided.",
+          "description": "The update mask applies to instance. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If an empty update_mask is provided, only the non-default valued field in the worker pool field will be updated. Note that in order to update a field to the default value (zero, false, empty string) an explicit update_mask must be provided.",
           "format": "google-fieldmask",
           "type": "string"
         }
@@ -1878,7 +1972,7 @@
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest",
       "properties": {
         "updateMask": {
-          "description": "The update mask applies to worker_pool. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask\nIf an empty update_mask is provided, only the non-default valued field in\nthe worker pool field will be updated. Note that in order to update a field\nto the default value (zero, false, empty string) an explicit update_mask\nmust be provided.",
+          "description": "The update mask applies to worker_pool. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If an empty update_mask is provided, only the non-default valued field in the worker pool field will be updated. Note that in order to update a field to the default value (zero, false, empty string) an explicit update_mask must be provided.",
           "format": "google-fieldmask",
           "type": "string"
         },
@@ -1890,7 +1984,7 @@
       "type": "object"
     },
     "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig": {
-      "description": "Defines the configuration to be used for a creating workers in\nthe worker pool.",
+      "description": "Defines the configuration to be used for a creating workers in the worker pool.",
       "id": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig",
       "properties": {
         "accelerator": {
@@ -1898,23 +1992,23 @@
           "description": "The accelerator card attached to each VM."
         },
         "diskSizeGb": {
-          "description": "Required. Size of the disk attached to the worker, in GB.\nSee https://cloud.google.com/compute/docs/disks/",
+          "description": "Required. Size of the disk attached to the worker, in GB. See https://cloud.google.com/compute/docs/disks/",
           "format": "int64",
           "type": "string"
         },
         "diskType": {
-          "description": "Required. Disk Type to use for the worker.\nSee [Storage\noptions](https://cloud.google.com/compute/docs/disks/#introduction).\nCurrently only `pd-standard` and `pd-ssd` are supported.",
+          "description": "Required. Disk Type to use for the worker. See [Storage options](https://cloud.google.com/compute/docs/disks/#introduction). Currently only `pd-standard` and `pd-ssd` are supported.",
           "type": "string"
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Labels associated with the workers.\nLabel keys and values can be no longer than 63 characters, can only contain\nlowercase letters, numeric characters, underscores and dashes.\nInternational letters are permitted. Label keys must start with a letter.\nLabel values are optional.\nThere can not be more than 64 labels per resource.",
+          "description": "Labels associated with the workers. Label keys and values can be no longer than 63 characters, can only contain lowercase letters, numeric characters, underscores and dashes. International letters are permitted. Label keys must start with a letter. Label values are optional. There can not be more than 64 labels per resource.",
           "type": "object"
         },
         "machineType": {
-          "description": "Required. Machine type of the worker, such as `n1-standard-2`.\nSee https://cloud.google.com/compute/docs/machine-types for a list of\nsupported machine types. Note that `f1-micro` and `g1-small` are not yet\nsupported.",
+          "description": "Required. Machine type of the worker, such as `n1-standard-2`. See https://cloud.google.com/compute/docs/machine-types for a list of supported machine types. Note that `f1-micro` and `g1-small` are not yet supported.",
           "type": "string"
         },
         "maxConcurrentActions": {
@@ -1923,15 +2017,15 @@
           "type": "string"
         },
         "minCpuPlatform": {
-          "description": "Minimum CPU platform to use when creating the worker.\nSee [CPU Platforms](https://cloud.google.com/compute/docs/cpu-platforms).",
+          "description": "Minimum CPU platform to use when creating the worker. See [CPU Platforms](https://cloud.google.com/compute/docs/cpu-platforms).",
           "type": "string"
         },
         "networkAccess": {
-          "description": "Determines the type of network access granted to workers. Possible values:\n\n- \"public\": Workers can connect to the public internet.\n- \"private\": Workers can only connect to Google APIs and services.\n- \"restricted-private\": Workers can only connect to Google APIs that are\n  reachable through `restricted.googleapis.com` (`199.36.153.4/30`).",
+          "description": "Determines the type of network access granted to workers. Possible values: - \"public\": Workers can connect to the public internet. - \"private\": Workers can only connect to Google APIs and services. - \"restricted-private\": Workers can only connect to Google APIs that are reachable through `restricted.googleapis.com` (`199.36.153.4/30`).",
           "type": "string"
         },
         "reserved": {
-          "description": "Determines whether the worker is reserved (equivalent to a Compute Engine\non-demand VM and therefore won't be preempted).\nSee [Preemptible VMs](https://cloud.google.com/preemptible-vms/) for more\ndetails.",
+          "description": "Determines whether the worker is reserved (equivalent to a Compute Engine on-demand VM and therefore won't be preempted). See [Preemptible VMs](https://cloud.google.com/preemptible-vms/) for more details.",
           "type": "boolean"
         },
         "vmImage": {
@@ -1954,7 +2048,7 @@
           "type": "string"
         },
         "name": {
-          "description": "WorkerPool resource name formatted as:\n`projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.\nname should not be populated when creating a worker pool since it is\nprovided in the `poolId` field.",
+          "description": "WorkerPool resource name formatted as: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`. name should not be populated when creating a worker pool since it is provided in the `poolId` field.",
           "type": "string"
         },
         "state": {
@@ -1969,20 +2063,20 @@
           ],
           "enumDescriptions": [
             "Not a valid state, but the default value of the enum.",
-            "The worker pool is in state `CREATING` once `CreateWorkerPool` is called\nand before all requested workers are ready.",
-            "The worker pool is in state `RUNNING` when all its workers are ready for\nuse.",
-            "The worker pool is in state `UPDATING` once `UpdateWorkerPool` is called\nand before the new configuration has all the requested workers ready for\nuse, and no older configuration has any workers. At that point the state\ntransitions to `RUNNING`.",
-            "The worker pool is in state `DELETING` once the `Delete` method is called\nand before the deletion completes.",
-            "The worker pool is in state `INACTIVE` when the instance hosting the\nworker pool in not running."
+            "The worker pool is in state `CREATING` once `CreateWorkerPool` is called and before all requested workers are ready.",
+            "The worker pool is in state `RUNNING` when all its workers are ready for use.",
+            "The worker pool is in state `UPDATING` once `UpdateWorkerPool` is called and before the new configuration has all the requested workers ready for use, and no older configuration has any workers. At that point the state transitions to `RUNNING`.",
+            "The worker pool is in state `DELETING` once the `Delete` method is called and before the deletion completes.",
+            "The worker pool is in state `INACTIVE` when the instance hosting the worker pool in not running."
           ],
           "type": "string"
         },
         "workerConfig": {
           "$ref": "GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig",
-          "description": "Specifies the properties, such as machine type and disk size, used for\ncreating workers in a worker pool."
+          "description": "Specifies the properties, such as machine type and disk size, used for creating workers in a worker pool."
         },
         "workerCount": {
-          "description": "The desired number of workers in the worker pool. Must be a value between\n0 and 15000.",
+          "description": "The desired number of workers in the worker pool. Must be a value between 0 and 15000.",
           "format": "int64",
           "type": "string"
         }
@@ -1990,7 +2084,7 @@
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2AdminTemp": {
-      "description": "AdminTemp is a prelimiary set of administration tasks. It's called \"Temp\"\nbecause we do not yet know the best way to represent admin tasks; it's\npossible that this will be entirely replaced in later versions of this API.\nIf this message proves to be sufficient, it will be renamed in the alpha or\nbeta release of this API.\n\nThis message (suitably marshalled into a protobuf.Any) can be used as the\ninline_assignment field in a lease; the lease assignment field should simply\nbe `\"admin\"` in these cases.\n\nThis message is heavily based on Swarming administration tasks from the LUCI\nproject (http://github.com/luci/luci-py/appengine/swarming).",
+      "description": "AdminTemp is a prelimiary set of administration tasks. It's called \"Temp\" because we do not yet know the best way to represent admin tasks; it's possible that this will be entirely replaced in later versions of this API. If this message proves to be sufficient, it will be renamed in the alpha or beta release of this API. This message (suitably marshalled into a protobuf.Any) can be used as the inline_assignment field in a lease; the lease assignment field should simply be `\"admin\"` in these cases. This message is heavily based on Swarming administration tasks from the LUCI project (http://github.com/luci/luci-py/appengine/swarming).",
       "id": "GoogleDevtoolsRemoteworkersV1test2AdminTemp",
       "properties": {
         "arg": {
@@ -2008,9 +2102,9 @@
           ],
           "enumDescriptions": [
             "Illegal value.",
-            "Download and run a new version of the bot. `arg` will be a resource\naccessible via `ByteStream.Read` to obtain the new bot code.",
-            "Restart the bot without downloading a new version. `arg` will be a\nmessage to log.",
-            "Shut down the bot. `arg` will be a task resource name (similar to those\nin tasks.proto) that the bot can use to tell the server that it is\nterminating.",
+            "Download and run a new version of the bot. `arg` will be a resource accessible via `ByteStream.Read` to obtain the new bot code.",
+            "Restart the bot without downloading a new version. `arg` will be a message to log.",
+            "Shut down the bot. `arg` will be a task resource name (similar to those in tasks.proto) that the bot can use to tell the server that it is terminating.",
             "Restart the host computer. `arg` will be a message to log."
           ],
           "type": "string"
@@ -2035,32 +2129,32 @@
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2CommandOutputs": {
-      "description": "DEPRECATED - use CommandResult instead.\nDescribes the actual outputs from the task.",
+      "description": "DEPRECATED - use CommandResult instead. Describes the actual outputs from the task.",
       "id": "GoogleDevtoolsRemoteworkersV1test2CommandOutputs",
       "properties": {
         "exitCode": {
-          "description": "exit_code is only fully reliable if the status' code is OK. If the task\nexceeded its deadline or was cancelled, the process may still produce an\nexit code as it is cancelled, and this will be populated, but a successful\n(zero) is unlikely to be correct unless the status code is OK.",
+          "description": "exit_code is only fully reliable if the status' code is OK. If the task exceeded its deadline or was cancelled, the process may still produce an exit code as it is cancelled, and this will be populated, but a successful (zero) is unlikely to be correct unless the status code is OK.",
           "format": "int32",
           "type": "integer"
         },
         "outputs": {
           "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest",
-          "description": "The output files. The blob referenced by the digest should contain\none of the following (implementation-dependent):\n   * A marshalled DirectoryMetadata of the returned filesystem\n   * A LUCI-style .isolated file"
+          "description": "The output files. The blob referenced by the digest should contain one of the following (implementation-dependent): * A marshalled DirectoryMetadata of the returned filesystem * A LUCI-style .isolated file"
         }
       },
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2CommandOverhead": {
-      "description": "DEPRECATED - use CommandResult instead.\nCan be used as part of CompleteRequest.metadata, or are part of a more\nsophisticated message.",
+      "description": "DEPRECATED - use CommandResult instead. Can be used as part of CompleteRequest.metadata, or are part of a more sophisticated message.",
       "id": "GoogleDevtoolsRemoteworkersV1test2CommandOverhead",
       "properties": {
         "duration": {
-          "description": "The elapsed time between calling Accept and Complete. The server will also\nhave its own idea of what this should be, but this excludes the overhead of\nthe RPCs and the bot response time.",
+          "description": "The elapsed time between calling Accept and Complete. The server will also have its own idea of what this should be, but this excludes the overhead of the RPCs and the bot response time.",
           "format": "google-duration",
           "type": "string"
         },
         "overhead": {
-          "description": "The amount of time *not* spent executing the command (ie\nuploading/downloading files).",
+          "description": "The amount of time *not* spent executing the command (ie uploading/downloading files).",
           "format": "google-duration",
           "type": "string"
         }
@@ -2068,21 +2162,21 @@
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2CommandResult": {
-      "description": "All information about the execution of a command, suitable for providing as\nthe Bots interface's `Lease.result` field.",
+      "description": "All information about the execution of a command, suitable for providing as the Bots interface's `Lease.result` field.",
       "id": "GoogleDevtoolsRemoteworkersV1test2CommandResult",
       "properties": {
         "duration": {
-          "description": "The elapsed time between calling Accept and Complete. The server will also\nhave its own idea of what this should be, but this excludes the overhead of\nthe RPCs and the bot response time.",
+          "description": "The elapsed time between calling Accept and Complete. The server will also have its own idea of what this should be, but this excludes the overhead of the RPCs and the bot response time.",
           "format": "google-duration",
           "type": "string"
         },
         "exitCode": {
-          "description": "The exit code of the process. An exit code of \"0\" should only be trusted if\n`status` has a code of OK (otherwise it may simply be unset).",
+          "description": "The exit code of the process. An exit code of \"0\" should only be trusted if `status` has a code of OK (otherwise it may simply be unset).",
           "format": "int32",
           "type": "integer"
         },
         "metadata": {
-          "description": "Implementation-dependent metadata about the task. Both servers and bots\nmay define messages which can be encoded here; bots are free to provide\nmetadata in multiple formats, and servers are free to choose one or more\nof the values to process and ignore others. In particular, it is *not*\nconsidered an error for the bot to provide the server with a field that it\ndoesn't know about.",
+          "description": "Implementation-dependent metadata about the task. Both servers and bots may define messages which can be encoded here; bots are free to provide metadata in multiple formats, and servers are free to choose one or more of the values to process and ignore others. In particular, it is *not* considered an error for the bot to provide the server with a field that it doesn't know about.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -2094,22 +2188,22 @@
         },
         "outputs": {
           "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest",
-          "description": "The output files. The blob referenced by the digest should contain\none of the following (implementation-dependent):\n   * A marshalled DirectoryMetadata of the returned filesystem\n   * A LUCI-style .isolated file"
+          "description": "The output files. The blob referenced by the digest should contain one of the following (implementation-dependent): * A marshalled DirectoryMetadata of the returned filesystem * A LUCI-style .isolated file"
         },
         "overhead": {
-          "description": "The amount of time *not* spent executing the command (ie\nuploading/downloading files).",
+          "description": "The amount of time *not* spent executing the command (ie uploading/downloading files).",
           "format": "google-duration",
           "type": "string"
         },
         "status": {
           "$ref": "GoogleRpcStatus",
-          "description": "An overall status for the command. For example, if the command timed out,\nthis might have a code of DEADLINE_EXCEEDED; if it was killed by the OS for\nmemory exhaustion, it might have a code of RESOURCE_EXHAUSTED."
+          "description": "An overall status for the command. For example, if the command timed out, this might have a code of DEADLINE_EXCEEDED; if it was killed by the OS for memory exhaustion, it might have a code of RESOURCE_EXHAUSTED."
         }
       },
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2CommandTask": {
-      "description": "Describes a shell-style task to execute, suitable for providing as the Bots\ninterface's `Lease.payload` field.",
+      "description": "Describes a shell-style task to execute, suitable for providing as the Bots interface's `Lease.payload` field.",
       "id": "GoogleDevtoolsRemoteworkersV1test2CommandTask",
       "properties": {
         "expectedOutputs": {
@@ -2132,7 +2226,7 @@
       "id": "GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs",
       "properties": {
         "arguments": {
-          "description": "The command itself to run (e.g., argv).\n\nThis field should be passed directly to the underlying operating system,\nand so it must be sensible to that operating system. For example, on\nWindows, the first argument might be \"C:\\Windows\\System32\\ping.exe\" -\nthat is, using drive letters and backslashes. A command for a *nix\nsystem, on the other hand, would use forward slashes.\n\nAll other fields in the RWAPI must consistently use forward slashes,\nsince those fields may be interpretted by both the service and the bot.",
+          "description": "The command itself to run (e.g., argv). This field should be passed directly to the underlying operating system, and so it must be sensible to that operating system. For example, on Windows, the first argument might be \"C:\\Windows\\System32\\ping.exe\" - that is, using drive letters and backslashes. A command for a *nix system, on the other hand, would use forward slashes. All other fields in the RWAPI must consistently use forward slashes, since those fields may be interpretted by both the service and the bot.",
           "items": {
             "type": "string"
           },
@@ -2146,21 +2240,21 @@
           "type": "array"
         },
         "files": {
-          "description": "The input filesystem to be set up prior to the task beginning. The\ncontents should be a repeated set of FileMetadata messages though other\nformats are allowed if better for the implementation (eg, a LUCI-style\n.isolated file).\n\nThis field is repeated since implementations might want to cache the\nmetadata, in which case it may be useful to break up portions of the\nfilesystem that change frequently (eg, specific input files) from those\nthat don't (eg, standard header files).",
+          "description": "The input filesystem to be set up prior to the task beginning. The contents should be a repeated set of FileMetadata messages though other formats are allowed if better for the implementation (eg, a LUCI-style .isolated file). This field is repeated since implementations might want to cache the metadata, in which case it may be useful to break up portions of the filesystem that change frequently (eg, specific input files) from those that don't (eg, standard header files).",
           "items": {
             "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest"
           },
           "type": "array"
         },
         "inlineBlobs": {
-          "description": "Inline contents for blobs expected to be needed by the bot to execute the\ntask. For example, contents of entries in `files` or blobs that are\nindirectly referenced by an entry there.\n\nThe bot should check against this list before downloading required task\ninputs to reduce the number of communications between itself and the\nremote CAS server.",
+          "description": "Inline contents for blobs expected to be needed by the bot to execute the task. For example, contents of entries in `files` or blobs that are indirectly referenced by an entry there. The bot should check against this list before downloading required task inputs to reduce the number of communications between itself and the remote CAS server.",
           "items": {
             "$ref": "GoogleDevtoolsRemoteworkersV1test2Blob"
           },
           "type": "array"
         },
         "workingDirectory": {
-          "description": "Directory from which a command is executed. It is a relative directory\nwith respect to the bot's working directory (i.e., \"./\"). If it is\nnon-empty, then it must exist under \"./\". Otherwise, \"./\" will be used.",
+          "description": "Directory from which a command is executed. It is a relative directory with respect to the bot's working directory (i.e., \"./\"). If it is non-empty, then it must exist under \"./\". Otherwise, \"./\" will be used.",
           "type": "string"
         }
       },
@@ -2186,25 +2280,25 @@
       "id": "GoogleDevtoolsRemoteworkersV1test2CommandTaskOutputs",
       "properties": {
         "directories": {
-          "description": "A list of expected directories, relative to the execution root. All paths\nMUST be delimited by forward slashes.",
+          "description": "A list of expected directories, relative to the execution root. All paths MUST be delimited by forward slashes.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "files": {
-          "description": "A list of expected files, relative to the execution root. All paths\nMUST be delimited by forward slashes.",
+          "description": "A list of expected files, relative to the execution root. All paths MUST be delimited by forward slashes.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "stderrDestination": {
-          "description": "The destination to which any stderr should be sent. The method by which\nthe bot should send the stream contents to that destination is not\ndefined in this API. As examples, the destination could be a file\nreferenced in the `files` field in this message, or it could be a URI\nthat must be written via the ByteStream API.",
+          "description": "The destination to which any stderr should be sent. The method by which the bot should send the stream contents to that destination is not defined in this API. As examples, the destination could be a file referenced in the `files` field in this message, or it could be a URI that must be written via the ByteStream API.",
           "type": "string"
         },
         "stdoutDestination": {
-          "description": "The destination to which any stdout should be sent. The method by which\nthe bot should send the stream contents to that destination is not\ndefined in this API. As examples, the destination could be a file\nreferenced in the `files` field in this message, or it could be a URI\nthat must be written via the ByteStream API.",
+          "description": "The destination to which any stdout should be sent. The method by which the bot should send the stream contents to that destination is not defined in this API. As examples, the destination could be a file referenced in the `files` field in this message, or it could be a URI that must be written via the ByteStream API.",
           "type": "string"
         }
       },
@@ -2215,17 +2309,17 @@
       "id": "GoogleDevtoolsRemoteworkersV1test2CommandTaskTimeouts",
       "properties": {
         "execution": {
-          "description": "This specifies the maximum time that the task can run, excluding the\ntime required to download inputs or upload outputs. That is, the worker\nwill terminate the task if it runs longer than this.",
+          "description": "This specifies the maximum time that the task can run, excluding the time required to download inputs or upload outputs. That is, the worker will terminate the task if it runs longer than this.",
           "format": "google-duration",
           "type": "string"
         },
         "idle": {
-          "description": "This specifies the maximum amount of time the task can be idle - that is,\ngo without generating some output in either stdout or stderr. If the\nprocess is silent for more than the specified time, the worker will\nterminate the task.",
+          "description": "This specifies the maximum amount of time the task can be idle - that is, go without generating some output in either stdout or stderr. If the process is silent for more than the specified time, the worker will terminate the task.",
           "format": "google-duration",
           "type": "string"
         },
         "shutdown": {
-          "description": "If the execution or IO timeouts are exceeded, the worker will try to\ngracefully terminate the task and return any existing logs. However,\ntasks may be hard-frozen in which case this process will fail. This\ntimeout specifies how long to wait for a terminated task to shut down\ngracefully (e.g. via SIGTERM) before we bring down the hammer (e.g.\nSIGKILL on *nix, CTRL_BREAK_EVENT on Windows).",
+          "description": "If the execution or IO timeouts are exceeded, the worker will try to gracefully terminate the task and return any existing logs. However, tasks may be hard-frozen in which case this process will fail. This timeout specifies how long to wait for a terminated task to shut down gracefully (e.g. via SIGTERM) before we bring down the hammer (e.g. SIGKILL on *nix, CTRL_BREAK_EVENT on Windows).",
           "format": "google-duration",
           "type": "string"
         }
@@ -2233,15 +2327,15 @@
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2Digest": {
-      "description": "The CommandTask and CommandResult messages assume the existence of a service\nthat can serve blobs of content, identified by a hash and size known as a\n\"digest.\" The method by which these blobs may be retrieved is not specified\nhere, but a model implementation is in the Remote Execution API's\n\"ContentAddressibleStorage\" interface.\n\nIn the context of the RWAPI, a Digest will virtually always refer to the\ncontents of a file or a directory. The latter is represented by the\nbyte-encoded Directory message.",
+      "description": "The CommandTask and CommandResult messages assume the existence of a service that can serve blobs of content, identified by a hash and size known as a \"digest.\" The method by which these blobs may be retrieved is not specified here, but a model implementation is in the Remote Execution API's \"ContentAddressibleStorage\" interface. In the context of the RWAPI, a Digest will virtually always refer to the contents of a file or a directory. The latter is represented by the byte-encoded Directory message.",
       "id": "GoogleDevtoolsRemoteworkersV1test2Digest",
       "properties": {
         "hash": {
-          "description": "A string-encoded hash (eg \"1a2b3c\", not the byte array [0x1a, 0x2b, 0x3c])\nusing an implementation-defined hash algorithm (eg SHA-256).",
+          "description": "A string-encoded hash (eg \"1a2b3c\", not the byte array [0x1a, 0x2b, 0x3c]) using an implementation-defined hash algorithm (eg SHA-256).",
           "type": "string"
         },
         "sizeBytes": {
-          "description": "The size of the contents. While this is not strictly required as part of an\nidentifier (after all, any given hash will have exactly one canonical\nsize), it's useful in almost all cases when one might want to send or\nretrieve blobs of content and is included here for this reason.",
+          "description": "The size of the contents. While this is not strictly required as part of an identifier (after all, any given hash will have exactly one canonical size), it's useful in almost all cases when one might want to send or retrieve blobs of content and is included here for this reason.",
           "format": "int64",
           "type": "string"
         }
@@ -2249,7 +2343,7 @@
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2Directory": {
-      "description": "The contents of a directory. Similar to the equivalent message in the Remote\nExecution API.",
+      "description": "The contents of a directory. Similar to the equivalent message in the Remote Execution API.",
       "id": "GoogleDevtoolsRemoteworkersV1test2Directory",
       "properties": {
         "directories": {
@@ -2270,12 +2364,12 @@
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata": {
-      "description": "The metadata for a directory. Similar to the equivalent message in the Remote\nExecution API.",
+      "description": "The metadata for a directory. Similar to the equivalent message in the Remote Execution API.",
       "id": "GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata",
       "properties": {
         "digest": {
           "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest",
-          "description": "A pointer to the contents of the directory, in the form of a marshalled\nDirectory message."
+          "description": "A pointer to the contents of the directory, in the form of a marshalled Directory message."
         },
         "path": {
           "description": "The path of the directory, as in FileMetadata.path.",
@@ -2285,35 +2379,35 @@
       "type": "object"
     },
     "GoogleDevtoolsRemoteworkersV1test2FileMetadata": {
-      "description": "The metadata for a file. Similar to the equivalent message in the Remote\nExecution API.",
+      "description": "The metadata for a file. Similar to the equivalent message in the Remote Execution API.",
       "id": "GoogleDevtoolsRemoteworkersV1test2FileMetadata",
       "properties": {
         "contents": {
-          "description": "If the file is small enough, its contents may also or alternatively be\nlisted here.",
+          "description": "If the file is small enough, its contents may also or alternatively be listed here.",
           "format": "byte",
           "type": "string"
         },
         "digest": {
           "$ref": "GoogleDevtoolsRemoteworkersV1test2Digest",
-          "description": "A pointer to the contents of the file. The method by which a client\nretrieves the contents from a CAS system is not defined here."
+          "description": "A pointer to the contents of the file. The method by which a client retrieves the contents from a CAS system is not defined here."
         },
         "isExecutable": {
           "description": "Properties of the file",
           "type": "boolean"
         },
         "path": {
-          "description": "The path of this file. If this message is part of the\nCommandOutputs.outputs fields, the path is relative to the execution root\nand must correspond to an entry in CommandTask.outputs.files. If this\nmessage is part of a Directory message, then the path is relative to the\nroot of that directory. All paths MUST be delimited by forward slashes.",
+          "description": "The path of this file. If this message is part of the CommandOutputs.outputs fields, the path is relative to the execution root and must correspond to an entry in CommandTask.outputs.files. If this message is part of a Directory message, then the path is relative to the root of that directory. All paths MUST be delimited by forward slashes.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "GoogleLongrunningOperation": {
-      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
+      "description": "This resource represents a long-running operation that is the result of a network API call.",
       "id": "GoogleLongrunningOperation",
       "properties": {
         "done": {
-          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
+          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
           "type": "boolean"
         },
         "error": {
@@ -2325,11 +2419,11 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "Service-specific metadata associated with the operation.  It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata.  Any method that returns a\nlong-running operation should document the metadata type, if any.",
+          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
           "type": "object"
         },
         "name": {
-          "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.",
+          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
           "type": "string"
         },
         "response": {
@@ -2337,14 +2431,14 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "The normal response of the operation in case of success.  If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`.  If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource.  For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name.  For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
+          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
           "type": "object"
         }
       },
       "type": "object"
     },
     "GoogleRpcStatus": {
-      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "GoogleRpcStatus",
       "properties": {
         "code": {
@@ -2353,7 +2447,7 @@
           "type": "integer"
         },
         "details": {
-          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -2364,7 +2458,7 @@
           "type": "array"
         },
         "message": {
-          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
           "type": "string"
         }
       },
diff --git a/remotebuildexecution/v2/remotebuildexecution-gen.go b/remotebuildexecution/v2/remotebuildexecution-gen.go
index 879657a..6a9dd20 100644
--- a/remotebuildexecution/v2/remotebuildexecution-gen.go
+++ b/remotebuildexecution/v2/remotebuildexecution-gen.go
@@ -193,101 +193,60 @@
 }
 
 // BuildBazelRemoteExecutionV2Action: An `Action` captures all the
-// information about an execution which is required
-// to reproduce it.
-//
-// `Action`s are the core component of the [Execution] service. A
-// single
-// `Action` represents a repeatable action that can be performed by
-// the
+// information about an execution which is required to reproduce it.
+// `Action`s are the core component of the [Execution] service. A single
+// `Action` represents a repeatable action that can be performed by the
 // execution service. `Action`s can be succinctly identified by the
-// digest of
-// their wire format encoding and, once an `Action` has been executed,
-// will be
-// cached in the action cache. Future requests can then use the cached
-// result
-// rather than needing to run afresh.
-//
-// When a server completes execution of an
-// Action, it MAY choose to
-// cache the result in
-// the ActionCache unless
-// `do_not_cache` is `true`. Clients SHOULD expect the server to do so.
-// By
-// default, future calls to
-// Execute the same
-// `Action` will also serve their results from the cache. Clients must
-// take care
-// to understand the caching behaviour. Ideally, all `Action`s will
-// be
-// reproducible so that serving a result from cache is always desirable
-// and
-// correct.
+// digest of their wire format encoding and, once an `Action` has been
+// executed, will be cached in the action cache. Future requests can
+// then use the cached result rather than needing to run afresh. When a
+// server completes execution of an Action, it MAY choose to cache the
+// result in the ActionCache unless `do_not_cache` is `true`. Clients
+// SHOULD expect the server to do so. By default, future calls to
+// Execute the same `Action` will also serve their results from the
+// cache. Clients must take care to understand the caching behaviour.
+// Ideally, all `Action`s will be reproducible so that serving a result
+// from cache is always desirable and correct.
 type BuildBazelRemoteExecutionV2Action struct {
-	// CommandDigest: The digest of the Command
-	// to run, which MUST be present in the
-	// ContentAddressableStorage.
+	// CommandDigest: The digest of the Command to run, which MUST be
+	// present in the ContentAddressableStorage.
 	CommandDigest *BuildBazelRemoteExecutionV2Digest `json:"commandDigest,omitempty"`
 
 	// DoNotCache: If true, then the `Action`'s result cannot be cached, and
-	// in-flight
-	// requests for the same `Action` may not be merged.
+	// in-flight requests for the same `Action` may not be merged.
 	DoNotCache bool `json:"doNotCache,omitempty"`
 
-	// InputRootDigest: The digest of the root
-	// Directory for the input
-	// files. The files in the directory tree are available in the
-	// correct
+	// InputRootDigest: The digest of the root Directory for the input
+	// files. The files in the directory tree are available in the correct
 	// location on the build machine before the command is executed. The
-	// root
-	// directory, as well as every subdirectory and content blob referred
-	// to, MUST
-	// be in the
-	// ContentAddressableStorage.
+	// root directory, as well as every subdirectory and content blob
+	// referred to, MUST be in the ContentAddressableStorage.
 	InputRootDigest *BuildBazelRemoteExecutionV2Digest `json:"inputRootDigest,omitempty"`
 
-	// OutputNodeProperties: List of required supported NodeProperty
-	// keys. In order to ensure that equivalent `Action`s always hash to the
-	// same
+	// OutputNodeProperties: List of required supported NodeProperty keys.
+	// In order to ensure that equivalent `Action`s always hash to the same
 	// value, the supported node properties MUST be lexicographically sorted
-	// by name.
-	// Sorting of strings is done by code point, equivalently, by the UTF-8
-	// bytes.
-	//
-	// The interpretation of these properties is server-dependent. If a
-	// property is
-	// not recognized by the server, the server will return an
-	// `INVALID_ARGUMENT`
-	// error.
+	// by name. Sorting of strings is done by code point, equivalently, by
+	// the UTF-8 bytes. The interpretation of these properties is
+	// server-dependent. If a property is not recognized by the server, the
+	// server will return an `INVALID_ARGUMENT` error.
 	OutputNodeProperties []string `json:"outputNodeProperties,omitempty"`
 
 	// Timeout: A timeout after which the execution should be killed. If the
-	// timeout is
-	// absent, then the client is specifying that the execution should
-	// continue
-	// as long as the server will let it. The server SHOULD impose a timeout
-	// if
-	// the client does not specify one, however, if the client does specify
-	// a
-	// timeout that is longer than the server's maximum timeout, the server
-	// MUST
-	// reject the request.
-	//
-	// The timeout is a part of the
-	// Action message, and
-	// therefore two `Actions` with different timeouts are different, even
-	// if they
-	// are otherwise identical. This is because, if they were not, running
-	// an
-	// `Action` with a lower timeout than is required might result in a
-	// cache hit
-	// from an execution run with a longer timeout, hiding the fact that
-	// the
+	// timeout is absent, then the client is specifying that the execution
+	// should continue as long as the server will let it. The server SHOULD
+	// impose a timeout if the client does not specify one, however, if the
+	// client does specify a timeout that is longer than the server's
+	// maximum timeout, the server MUST reject the request. The timeout is a
+	// part of the Action message, and therefore two `Actions` with
+	// different timeouts are different, even if they are otherwise
+	// identical. This is because, if they were not, running an `Action`
+	// with a lower timeout than is required might result in a cache hit
+	// from an execution run with a longer timeout, hiding the fact that the
 	// timeout is too short. By encoding it directly in the `Action`, a
-	// lower
-	// timeout will result in a cache miss and the execution timeout will
-	// fail
-	// immediately, rather than whenever the cache entry gets evicted.
+	// lower timeout will result in a cache miss and the execution timeout
+	// will fail immediately, rather than whenever the cache entry gets
+	// evicted.
 	Timeout string `json:"timeout,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CommandDigest") to
@@ -342,8 +301,7 @@
 }
 
 // BuildBazelRemoteExecutionV2ActionResult: An ActionResult represents
-// the result of an
-// Action being run.
+// the result of an Action being run.
 type BuildBazelRemoteExecutionV2ActionResult struct {
 	// ExecutionMetadata: The details of the execution that originally
 	// produced this result.
@@ -353,220 +311,117 @@
 	ExitCode int64 `json:"exitCode,omitempty"`
 
 	// OutputDirectories: The output directories of the action. For each
-	// output directory requested
-	// in the `output_directories` or `output_paths` field of the Action, if
-	// the
-	// corresponding directory existed after the action completed, a single
-	// entry
-	// will be present in the output list, which will contain the digest of
-	// a
-	// Tree message containing the
-	// directory tree, and the path equal exactly to the corresponding
-	// Action
-	// output_directories member.
-	//
-	// As an example, suppose the Action had an output directory `a/b/dir`
-	// and the
+	// output directory requested in the `output_directories` or
+	// `output_paths` field of the Action, if the corresponding directory
+	// existed after the action completed, a single entry will be present in
+	// the output list, which will contain the digest of a Tree message
+	// containing the directory tree, and the path equal exactly to the
+	// corresponding Action output_directories member. As an example,
+	// suppose the Action had an output directory `a/b/dir` and the
 	// execution produced the following contents in `a/b/dir`: a file named
-	// `bar`
-	// and a directory named `foo` with an executable file named `baz`.
-	// Then,
-	// output_directory will contain (hashes shortened for
-	// readability):
-	//
-	// ```json
-	// // OutputDirectory proto:
-	// {
-	//   path: "a/b/dir"
-	//   tree_digest: {
-	//     hash: "4a73bc9d03...",
-	//     size: 55
-	//   }
-	// }
-	// // Tree proto with hash "4a73bc9d03..." and size 55:
-	// {
-	//   root: {
-	//     files: [
-	//       {
-	//         name: "bar",
-	//         digest: {
-	//           hash: "4a73bc9d03...",
-	//           size: 65534
-	//         }
-	//       }
-	//     ],
-	//     directories: [
-	//       {
-	//         name: "foo",
-	//         digest: {
-	//           hash: "4cf2eda940...",
-	//           size: 43
-	//         }
-	//       }
-	//     ]
-	//   }
-	//   children : {
-	//     // (Directory proto with hash "4cf2eda940..." and size 43)
-	//     files: [
-	//       {
-	//         name: "baz",
-	//         digest: {
-	//           hash: "b2c941073e...",
-	//           size: 1294,
-	//         },
-	//         is_executable: true
-	//       }
-	//     ]
-	//   }
-	// }
-	// ```
-	// If an output of the same name as listed in `output_files` of
-	// the Command was found in `output_directories`, but was not a
-	// directory, the
-	// server will return a FAILED_PRECONDITION.
+	// `bar` and a directory named `foo` with an executable file named
+	// `baz`. Then, output_directory will contain (hashes shortened for
+	// readability): ```json // OutputDirectory proto: { path: "a/b/dir"
+	// tree_digest: { hash: "4a73bc9d03...", size: 55 } } // Tree proto with
+	// hash "4a73bc9d03..." and size 55: { root: { files: [ { name: "bar",
+	// digest: { hash: "4a73bc9d03...", size: 65534 } } ], directories: [ {
+	// name: "foo", digest: { hash: "4cf2eda940...", size: 43 } } ] }
+	// children : { // (Directory proto with hash "4cf2eda940..." and size
+	// 43) files: [ { name: "baz", digest: { hash: "b2c941073e...", size:
+	// 1294, }, is_executable: true } ] } } ``` If an output of the same
+	// name as listed in `output_files` of the Command was found in
+	// `output_directories`, but was not a directory, the server will return
+	// a FAILED_PRECONDITION.
 	OutputDirectories []*BuildBazelRemoteExecutionV2OutputDirectory `json:"outputDirectories,omitempty"`
 
 	// OutputDirectorySymlinks: The output directories of the action that
-	// are symbolic links to other
-	// directories. Those may be links to other output directories, or
-	// input
-	// directories, or even absolute paths outside of the working
-	// directory,
-	// if the server supports
-	// SymlinkAbsolutePathStrategy.ALLOWED.
-	// For each output directory requested in the `output_directories` field
-	// of
-	// the Action, if the directory existed after the action completed,
-	// a
-	// single entry will be present either in this field, or in
-	// the
-	// `output_directories` field, if the directory was not a symbolic
-	// link.
-	//
-	// If an output of the same name was found, but was a symbolic link to a
-	// file
-	// instead of a directory, the server will return a
-	// FAILED_PRECONDITION.
-	// If the action does not produce the requested output, then that
-	// output
-	// will be omitted from the list. The server is free to arrange the
-	// output
+	// are symbolic links to other directories. Those may be links to other
+	// output directories, or input directories, or even absolute paths
+	// outside of the working directory, if the server supports
+	// SymlinkAbsolutePathStrategy.ALLOWED. For each output directory
+	// requested in the `output_directories` field of the Action, if the
+	// directory existed after the action completed, a single entry will be
+	// present either in this field, or in the `output_directories` field,
+	// if the directory was not a symbolic link. If an output of the same
+	// name was found, but was a symbolic link to a file instead of a
+	// directory, the server will return a FAILED_PRECONDITION. If the
+	// action does not produce the requested output, then that output will
+	// be omitted from the list. The server is free to arrange the output
 	// list as desired; clients MUST NOT assume that the output list is
-	// sorted.
-	//
-	// DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0
-	// API
-	// should still populate this field in addition to `output_symlinks`.
+	// sorted. DEPRECATED as of v2.1. Servers that wish to be compatible
+	// with v2.0 API should still populate this field in addition to
+	// `output_symlinks`.
 	OutputDirectorySymlinks []*BuildBazelRemoteExecutionV2OutputSymlink `json:"outputDirectorySymlinks,omitempty"`
 
 	// OutputFileSymlinks: The output files of the action that are symbolic
-	// links to other files. Those
-	// may be links to other output files, or input files, or even absolute
-	// paths
-	// outside of the working directory, if the server
-	// supports
-	// SymlinkAbsolutePathStrategy.ALLOWED.
-	// For each output file requested in the `output_files` or
-	// `output_paths`
-	// field of the Action, if the corresponding file existed after
-	// the action completed, a single entry will be present either in this
-	// field,
-	// or in the `output_files` field, if the file was not a symbolic
-	// link.
-	//
-	// If an output symbolic link of the same name as listed in
-	// `output_files` of
+	// links to other files. Those may be links to other output files, or
+	// input files, or even absolute paths outside of the working directory,
+	// if the server supports SymlinkAbsolutePathStrategy.ALLOWED. For each
+	// output file requested in the `output_files` or `output_paths` field
+	// of the Action, if the corresponding file existed after the action
+	// completed, a single entry will be present either in this field, or in
+	// the `output_files` field, if the file was not a symbolic link. If an
+	// output symbolic link of the same name as listed in `output_files` of
 	// the Command was found, but its target type was not a regular file,
-	// the
-	// server will return a FAILED_PRECONDITION.
-	// If the action does not produce the requested output, then that
-	// output
-	// will be omitted from the list. The server is free to arrange the
-	// output
-	// list as desired; clients MUST NOT assume that the output list is
-	// sorted.
-	//
-	// DEPRECATED as of v2.1. Servers that wish to be compatible with v2.0
-	// API
-	// should still populate this field in addition to `output_symlinks`.
+	// the server will return a FAILED_PRECONDITION. If the action does not
+	// produce the requested output, then that output will be omitted from
+	// the list. The server is free to arrange the output list as desired;
+	// clients MUST NOT assume that the output list is sorted. DEPRECATED as
+	// of v2.1. Servers that wish to be compatible with v2.0 API should
+	// still populate this field in addition to `output_symlinks`.
 	OutputFileSymlinks []*BuildBazelRemoteExecutionV2OutputSymlink `json:"outputFileSymlinks,omitempty"`
 
 	// OutputFiles: The output files of the action. For each output file
-	// requested in the
-	// `output_files` or `output_paths` field of the Action, if the
-	// corresponding
-	// file existed after the action completed, a single entry will be
-	// present
-	// either in this field, or the `output_file_symlinks` field if the file
-	// was
-	// a symbolic link to another file (`output_symlinks` field after
-	// v2.1).
-	//
-	// If an output listed in `output_files` was found, but was a directory
-	// rather
-	// than a regular file, the server will return a FAILED_PRECONDITION.
-	// If the action does not produce the requested output, then that
-	// output
-	// will be omitted from the list. The server is free to arrange the
-	// output
+	// requested in the `output_files` or `output_paths` field of the
+	// Action, if the corresponding file existed after the action completed,
+	// a single entry will be present either in this field, or the
+	// `output_file_symlinks` field if the file was a symbolic link to
+	// another file (`output_symlinks` field after v2.1). If an output
+	// listed in `output_files` was found, but was a directory rather than a
+	// regular file, the server will return a FAILED_PRECONDITION. If the
+	// action does not produce the requested output, then that output will
+	// be omitted from the list. The server is free to arrange the output
 	// list as desired; clients MUST NOT assume that the output list is
 	// sorted.
 	OutputFiles []*BuildBazelRemoteExecutionV2OutputFile `json:"outputFiles,omitempty"`
 
 	// OutputSymlinks: New in v2.1: this field will only be populated if the
-	// command
-	// `output_paths` field was used, and not the pre v2.1 `output_files`
-	// or
-	// `output_directories` fields.
-	// The output paths of the action that are symbolic links to other
-	// paths. Those
-	// may be links to other outputs, or inputs, or even absolute
-	// paths
-	// outside of the working directory, if the server
-	// supports
-	// SymlinkAbsolutePathStrategy.ALLOWED.
-	// A single entry for each output requested in `output_paths`
-	// field of the Action, if the corresponding path existed after
-	// the action completed and was a symbolic link.
-	//
-	// If the action does not produce a requested output, then that
-	// output
-	// will be omitted from the list. The server is free to arrange the
-	// output
+	// command `output_paths` field was used, and not the pre v2.1
+	// `output_files` or `output_directories` fields. The output paths of
+	// the action that are symbolic links to other paths. Those may be links
+	// to other outputs, or inputs, or even absolute paths outside of the
+	// working directory, if the server supports
+	// SymlinkAbsolutePathStrategy.ALLOWED. A single entry for each output
+	// requested in `output_paths` field of the Action, if the corresponding
+	// path existed after the action completed and was a symbolic link. If
+	// the action does not produce a requested output, then that output will
+	// be omitted from the list. The server is free to arrange the output
 	// list as desired; clients MUST NOT assume that the output list is
 	// sorted.
 	OutputSymlinks []*BuildBazelRemoteExecutionV2OutputSymlink `json:"outputSymlinks,omitempty"`
 
 	// StderrDigest: The digest for a blob containing the standard error of
-	// the action, which
-	// can be retrieved from the
+	// the action, which can be retrieved from the
 	// ContentAddressableStorage.
 	StderrDigest *BuildBazelRemoteExecutionV2Digest `json:"stderrDigest,omitempty"`
 
 	// StderrRaw: The standard error buffer of the action. The server SHOULD
-	// NOT inline
-	// stderr unless requested by the client in
-	// the
-	// GetActionResultRequest
-	// message. The server MAY omit inlining, even if requested, and MUST do
-	// so if inlining
-	// would cause the response to exceed message size limits.
+	// NOT inline stderr unless requested by the client in the
+	// GetActionResultRequest message. The server MAY omit inlining, even if
+	// requested, and MUST do so if inlining would cause the response to
+	// exceed message size limits.
 	StderrRaw string `json:"stderrRaw,omitempty"`
 
 	// StdoutDigest: The digest for a blob containing the standard output of
-	// the action, which
-	// can be retrieved from the
+	// the action, which can be retrieved from the
 	// ContentAddressableStorage.
 	StdoutDigest *BuildBazelRemoteExecutionV2Digest `json:"stdoutDigest,omitempty"`
 
 	// StdoutRaw: The standard output buffer of the action. The server
-	// SHOULD NOT inline
-	// stdout unless requested by the client in
-	// the
-	// GetActionResultRequest
-	// message. The server MAY omit inlining, even if requested, and MUST do
-	// so if inlining
-	// would cause the response to exceed message size limits.
+	// SHOULD NOT inline stdout unless requested by the client in the
+	// GetActionResultRequest message. The server MAY omit inlining, even if
+	// requested, and MUST do so if inlining would cause the response to
+	// exceed message size limits.
 	StdoutRaw string `json:"stdoutRaw,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -598,8 +453,7 @@
 }
 
 // BuildBazelRemoteExecutionV2BatchReadBlobsRequest: A request message
-// for
-// ContentAddressableStorage.BatchReadBlobs.
+// for ContentAddressableStorage.BatchReadBlobs.
 type BuildBazelRemoteExecutionV2BatchReadBlobsRequest struct {
 	// Digests: The individual blob digests.
 	Digests []*BuildBazelRemoteExecutionV2Digest `json:"digests,omitempty"`
@@ -628,8 +482,7 @@
 }
 
 // BuildBazelRemoteExecutionV2BatchReadBlobsResponse: A response message
-// for
-// ContentAddressableStorage.BatchReadBlobs.
+// for ContentAddressableStorage.BatchReadBlobs.
 type BuildBazelRemoteExecutionV2BatchReadBlobsResponse struct {
 	// Responses: The responses to the requests.
 	Responses []*BuildBazelRemoteExecutionV2BatchReadBlobsResponseResponse `json:"responses,omitempty"`
@@ -697,8 +550,7 @@
 }
 
 // BuildBazelRemoteExecutionV2BatchUpdateBlobsRequest: A request message
-// for
-// ContentAddressableStorage.BatchUpdateBlobs.
+// for ContentAddressableStorage.BatchUpdateBlobs.
 type BuildBazelRemoteExecutionV2BatchUpdateBlobsRequest struct {
 	// Requests: The individual upload requests.
 	Requests []*BuildBazelRemoteExecutionV2BatchUpdateBlobsRequestRequest `json:"requests,omitempty"`
@@ -759,8 +611,7 @@
 }
 
 // BuildBazelRemoteExecutionV2BatchUpdateBlobsResponse: A response
-// message for
-// ContentAddressableStorage.BatchUpdateBlobs.
+// message for ContentAddressableStorage.BatchUpdateBlobs.
 type BuildBazelRemoteExecutionV2BatchUpdateBlobsResponse struct {
 	// Responses: The responses to the requests.
 	Responses []*BuildBazelRemoteExecutionV2BatchUpdateBlobsResponseResponse `json:"responses,omitempty"`
@@ -837,16 +688,15 @@
 	CachePriorityCapabilities *BuildBazelRemoteExecutionV2PriorityCapabilities `json:"cachePriorityCapabilities,omitempty"`
 
 	// DigestFunction: All the digest functions supported by the remote
-	// cache.
-	// Remote cache may support multiple digest functions simultaneously.
+	// cache. Remote cache may support multiple digest functions
+	// simultaneously.
 	//
 	// Possible values:
 	//   "UNKNOWN" - It is an error for the server to return this value.
 	//   "SHA256" - The SHA-256 digest function.
 	//   "SHA1" - The SHA-1 digest function.
 	//   "MD5" - The MD5 digest function.
-	//   "VSO" - The Microsoft "VSO-Hash" paged SHA256 digest function.
-	// See
+	//   "VSO" - The Microsoft "VSO-Hash" paged SHA256 digest function. See
 	// https://github.com/microsoft/BuildXL/blob/master/Documentation/Specs/PagedHash.md
 	// .
 	//   "SHA384" - The SHA-384 digest function.
@@ -854,10 +704,9 @@
 	DigestFunction []string `json:"digestFunction,omitempty"`
 
 	// MaxBatchTotalSizeBytes: Maximum total size of blobs to be
-	// uploaded/downloaded using
-	// batch methods. A value of 0 means no limit is set, although
-	// in practice there will always be a message size limitation
-	// of the protocol in use, e.g. GRPC.
+	// uploaded/downloaded using batch methods. A value of 0 means no limit
+	// is set, although in practice there will always be a message size
+	// limitation of the protocol in use, e.g. GRPC.
 	MaxBatchTotalSizeBytes int64 `json:"maxBatchTotalSizeBytes,omitempty,string"`
 
 	// SymlinkAbsolutePathStrategy: Whether absolute symlink targets are
@@ -866,14 +715,11 @@
 	// Possible values:
 	//   "UNKNOWN" - Invalid value.
 	//   "DISALLOWED" - Server will return an `INVALID_ARGUMENT` on input
-	// symlinks with absolute
-	// targets.
-	// If an action tries to create an output symlink with an absolute
-	// target, a
-	// `FAILED_PRECONDITION` will be returned.
+	// symlinks with absolute targets. If an action tries to create an
+	// output symlink with an absolute target, a `FAILED_PRECONDITION` will
+	// be returned.
 	//   "ALLOWED" - Server will allow symlink targets to escape the input
-	// root tree, possibly
-	// resulting in non-hermetic builds.
+	// root tree, possibly resulting in non-hermetic builds.
 	SymlinkAbsolutePathStrategy string `json:"symlinkAbsolutePathStrategy,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -902,185 +748,104 @@
 }
 
 // BuildBazelRemoteExecutionV2Command: A `Command` is the actual command
-// executed by a worker running an
-// Action and specifications of its
-// environment.
-//
-// Except as otherwise required, the environment (such as which
-// system
-// libraries or binaries are available, and what filesystems are mounted
-// where)
-// is defined by and specific to the implementation of the remote
-// execution API.
+// executed by a worker running an Action and specifications of its
+// environment. Except as otherwise required, the environment (such as
+// which system libraries or binaries are available, and what
+// filesystems are mounted where) is defined by and specific to the
+// implementation of the remote execution API.
 type BuildBazelRemoteExecutionV2Command struct {
 	// Arguments: The arguments to the command. The first argument must be
-	// the path to the
-	// executable, which must be either a relative path, in which case it
-	// is
-	// evaluated with respect to the input root, or an absolute path.
+	// the path to the executable, which must be either a relative path, in
+	// which case it is evaluated with respect to the input root, or an
+	// absolute path.
 	Arguments []string `json:"arguments,omitempty"`
 
 	// EnvironmentVariables: The environment variables to set when running
-	// the program. The worker may
-	// provide its own default environment variables; these defaults can
-	// be
-	// overridden using this field. Additional variables can also be
-	// specified.
-	//
-	// In order to ensure that equivalent
-	// Commands always hash to the same
-	// value, the environment variables MUST be lexicographically sorted by
-	// name.
-	// Sorting of strings is done by code point, equivalently, by the UTF-8
-	// bytes.
+	// the program. The worker may provide its own default environment
+	// variables; these defaults can be overridden using this field.
+	// Additional variables can also be specified. In order to ensure that
+	// equivalent Commands always hash to the same value, the environment
+	// variables MUST be lexicographically sorted by name. Sorting of
+	// strings is done by code point, equivalently, by the UTF-8 bytes.
 	EnvironmentVariables []*BuildBazelRemoteExecutionV2CommandEnvironmentVariable `json:"environmentVariables,omitempty"`
 
 	// OutputDirectories: A list of the output directories that the client
-	// expects to retrieve from
-	// the action. Only the listed directories will be returned (an
-	// entire
-	// directory structure will be returned as a
-	// Tree message digest, see
-	// OutputDirectory), as
-	// well as files listed in `output_files`. Other files or directories
-	// that
-	// may be created during command execution are discarded.
-	//
-	// The paths are relative to the working directory of the action
-	// execution.
-	// The paths are specified using a single forward slash (`/`) as a
-	// path
-	// separator, even if the execution platform natively uses a
-	// different
-	// separator. The path MUST NOT include a trailing slash, nor a leading
-	// slash,
-	// being a relative path. The special value of empty string is
-	// allowed,
-	// although not recommended, and can be used to capture the entire
-	// working
-	// directory tree, including inputs.
-	//
-	// In order to ensure consistent hashing of the same Action, the output
-	// paths
-	// MUST be sorted lexicographically by code point (or, equivalently, by
-	// UTF-8
-	// bytes).
-	//
-	// An output directory cannot be duplicated or have the same path as any
-	// of
-	// the listed output files. An output directory is allowed to be a
-	// parent of
-	// another output directory.
-	//
-	// Directories leading up to the output directories (but not the
-	// output
-	// directories themselves) are created by the worker prior to execution,
-	// even
-	// if they are not explicitly part of the input root.
-	//
-	// DEPRECATED since 2.1: Use `output_paths` instead.
+	// expects to retrieve from the action. Only the listed directories will
+	// be returned (an entire directory structure will be returned as a Tree
+	// message digest, see OutputDirectory), as well as files listed in
+	// `output_files`. Other files or directories that may be created during
+	// command execution are discarded. The paths are relative to the
+	// working directory of the action execution. The paths are specified
+	// using a single forward slash (`/`) as a path separator, even if the
+	// execution platform natively uses a different separator. The path MUST
+	// NOT include a trailing slash, nor a leading slash, being a relative
+	// path. The special value of empty string is allowed, although not
+	// recommended, and can be used to capture the entire working directory
+	// tree, including inputs. In order to ensure consistent hashing of the
+	// same Action, the output paths MUST be sorted lexicographically by
+	// code point (or, equivalently, by UTF-8 bytes). An output directory
+	// cannot be duplicated or have the same path as any of the listed
+	// output files. An output directory is allowed to be a parent of
+	// another output directory. Directories leading up to the output
+	// directories (but not the output directories themselves) are created
+	// by the worker prior to execution, even if they are not explicitly
+	// part of the input root. DEPRECATED since 2.1: Use `output_paths`
+	// instead.
 	OutputDirectories []string `json:"outputDirectories,omitempty"`
 
 	// OutputFiles: A list of the output files that the client expects to
-	// retrieve from the
-	// action. Only the listed files, as well as directories listed
-	// in
-	// `output_directories`, will be returned to the client as output.
-	// Other files or directories that may be created during command
-	// execution
-	// are discarded.
-	//
-	// The paths are relative to the working directory of the action
-	// execution.
-	// The paths are specified using a single forward slash (`/`) as a
-	// path
-	// separator, even if the execution platform natively uses a
-	// different
-	// separator. The path MUST NOT include a trailing slash, nor a leading
-	// slash,
-	// being a relative path.
-	//
-	// In order to ensure consistent hashing of the same Action, the output
-	// paths
-	// MUST be sorted lexicographically by code point (or, equivalently, by
-	// UTF-8
-	// bytes).
-	//
-	// An output file cannot be duplicated, be a parent of another output
-	// file, or
-	// have the same path as any of the listed output
-	// directories.
-	//
-	// Directories leading up to the output files are created by the worker
-	// prior
-	// to execution, even if they are not explicitly part of the input
-	// root.
-	//
-	// DEPRECATED since v2.1: Use `output_paths` instead.
+	// retrieve from the action. Only the listed files, as well as
+	// directories listed in `output_directories`, will be returned to the
+	// client as output. Other files or directories that may be created
+	// during command execution are discarded. The paths are relative to the
+	// working directory of the action execution. The paths are specified
+	// using a single forward slash (`/`) as a path separator, even if the
+	// execution platform natively uses a different separator. The path MUST
+	// NOT include a trailing slash, nor a leading slash, being a relative
+	// path. In order to ensure consistent hashing of the same Action, the
+	// output paths MUST be sorted lexicographically by code point (or,
+	// equivalently, by UTF-8 bytes). An output file cannot be duplicated,
+	// be a parent of another output file, or have the same path as any of
+	// the listed output directories. Directories leading up to the output
+	// files are created by the worker prior to execution, even if they are
+	// not explicitly part of the input root. DEPRECATED since v2.1: Use
+	// `output_paths` instead.
 	OutputFiles []string `json:"outputFiles,omitempty"`
 
 	// OutputPaths: A list of the output paths that the client expects to
-	// retrieve from the
-	// action. Only the listed paths will be returned to the client as
-	// output.
-	// The type of the output (file or directory) is not specified, and will
-	// be
-	// determined by the server after action execution. If the resulting
-	// path is
-	// a file, it will be returned in an
-	// OutputFile) typed field.
-	// If the path is a directory, the entire directory structure will be
-	// returned
-	// as a Tree message digest, see
-	// OutputDirectory)
-	// Other files or directories that may be created during command
-	// execution
-	// are discarded.
-	//
-	// The paths are relative to the working directory of the action
-	// execution.
-	// The paths are specified using a single forward slash (`/`) as a
-	// path
-	// separator, even if the execution platform natively uses a
-	// different
-	// separator. The path MUST NOT include a trailing slash, nor a leading
-	// slash,
-	// being a relative path.
-	//
-	// In order to ensure consistent hashing of the same Action, the output
-	// paths
-	// MUST be deduplicated and sorted lexicographically by code point
-	// (or,
-	// equivalently, by UTF-8 bytes).
-	//
-	// Directories leading up to the output paths are created by the worker
-	// prior
-	// to execution, even if they are not explicitly part of the input
-	// root.
-	//
-	// New in v2.1: this field supersedes the DEPRECATED `output_files`
-	// and
+	// retrieve from the action. Only the listed paths will be returned to
+	// the client as output. The type of the output (file or directory) is
+	// not specified, and will be determined by the server after action
+	// execution. If the resulting path is a file, it will be returned in an
+	// OutputFile) typed field. If the path is a directory, the entire
+	// directory structure will be returned as a Tree message digest, see
+	// OutputDirectory) Other files or directories that may be created
+	// during command execution are discarded. The paths are relative to the
+	// working directory of the action execution. The paths are specified
+	// using a single forward slash (`/`) as a path separator, even if the
+	// execution platform natively uses a different separator. The path MUST
+	// NOT include a trailing slash, nor a leading slash, being a relative
+	// path. In order to ensure consistent hashing of the same Action, the
+	// output paths MUST be deduplicated and sorted lexicographically by
+	// code point (or, equivalently, by UTF-8 bytes). Directories leading up
+	// to the output paths are created by the worker prior to execution,
+	// even if they are not explicitly part of the input root. New in v2.1:
+	// this field supersedes the DEPRECATED `output_files` and
 	// `output_directories` fields. If `output_paths` is used,
-	// `output_files` and
-	// `output_directories` will be ignored!
+	// `output_files` and `output_directories` will be ignored!
 	OutputPaths []string `json:"outputPaths,omitempty"`
 
 	// Platform: The platform requirements for the execution environment.
-	// The server MAY
-	// choose to execute the action on any worker satisfying the
-	// requirements, so
-	// the client SHOULD ensure that running the action on any such worker
-	// will
-	// have the same result.
-	// A detailed lexicon for this can be found in the accompanying
-	// platform.md.
+	// The server MAY choose to execute the action on any worker satisfying
+	// the requirements, so the client SHOULD ensure that running the action
+	// on any such worker will have the same result. A detailed lexicon for
+	// this can be found in the accompanying platform.md.
 	Platform *BuildBazelRemoteExecutionV2Platform `json:"platform,omitempty"`
 
 	// WorkingDirectory: The working directory, relative to the input root,
-	// for the command to run
-	// in. It must be a directory which exists in the input tree. If it is
-	// left
-	// empty, then the action is run in the input root.
+	// for the command to run in. It must be a directory which exists in the
+	// input tree. If it is left empty, then the action is run in the input
+	// root.
 	WorkingDirectory string `json:"workingDirectory,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Arguments") to
@@ -1107,8 +872,7 @@
 }
 
 // BuildBazelRemoteExecutionV2CommandEnvironmentVariable: An
-// `EnvironmentVariable` is one variable to set in the running
-// program's
+// `EnvironmentVariable` is one variable to set in the running program's
 // environment.
 type BuildBazelRemoteExecutionV2CommandEnvironmentVariable struct {
 	// Name: The variable name.
@@ -1141,61 +905,35 @@
 }
 
 // BuildBazelRemoteExecutionV2Digest: A content digest. A digest for a
-// given blob consists of the size of the blob
-// and its hash. The hash algorithm to use is defined by the
-// server.
-//
-// The size is considered to be an integral part of the digest and
-// cannot be
-// separated. That is, even if the `hash` field is correctly specified
-// but
-// `size_bytes` is not, the server MUST reject the request.
-//
-// The reason for including the size in the digest is as follows: in a
-// great
-// many cases, the server needs to know the size of the blob it is about
-// to work
-// with prior to starting an operation with it, such as flattening
-// Merkle tree
-// structures or streaming it to a worker. Technically, the server
-// could
+// given blob consists of the size of the blob and its hash. The hash
+// algorithm to use is defined by the server. The size is considered to
+// be an integral part of the digest and cannot be separated. That is,
+// even if the `hash` field is correctly specified but `size_bytes` is
+// not, the server MUST reject the request. The reason for including the
+// size in the digest is as follows: in a great many cases, the server
+// needs to know the size of the blob it is about to work with prior to
+// starting an operation with it, such as flattening Merkle tree
+// structures or streaming it to a worker. Technically, the server could
 // implement a separate metadata store, but this results in a
-// significantly more
-// complicated implementation as opposed to having the client specify
-// the size
-// up-front (or storing the size along with the digest in every message
-// where
-// digests are embedded). This does mean that the API leaks some
-// implementation
-// details of (what we consider to be) a reasonable server
-// implementation, but
-// we consider this to be a worthwhile tradeoff.
-//
-// When a `Digest` is used to refer to a proto message, it always refers
-// to the
-// message in binary encoded form. To ensure consistent hashing, clients
-// and
-// servers MUST ensure that they serialize messages according to the
-// following
-// rules, even if there are alternate valid encodings for the same
-// message:
-//
-// * Fields are serialized in tag order.
-// * There are no unknown fields.
-// * There are no duplicate fields.
-// * Fields are serialized according to the default semantics for their
-// type.
-//
-// Most protocol buffer implementations will always follow these rules
-// when
-// serializing, but care should be taken to avoid shortcuts. For
-// instance,
-// concatenating two messages to merge them may produce duplicate
-// fields.
+// significantly more complicated implementation as opposed to having
+// the client specify the size up-front (or storing the size along with
+// the digest in every message where digests are embedded). This does
+// mean that the API leaks some implementation details of (what we
+// consider to be) a reasonable server implementation, but we consider
+// this to be a worthwhile tradeoff. When a `Digest` is used to refer to
+// a proto message, it always refers to the message in binary encoded
+// form. To ensure consistent hashing, clients and servers MUST ensure
+// that they serialize messages according to the following rules, even
+// if there are alternate valid encodings for the same message: * Fields
+// are serialized in tag order. * There are no unknown fields. * There
+// are no duplicate fields. * Fields are serialized according to the
+// default semantics for their type. Most protocol buffer
+// implementations will always follow these rules when serializing, but
+// care should be taken to avoid shortcuts. For instance, concatenating
+// two messages to merge them may produce duplicate fields.
 type BuildBazelRemoteExecutionV2Digest struct {
 	// Hash: The hash. In the case of SHA-256, it will always be a lowercase
-	// hex string
-	// exactly 64 characters long.
+	// hex string exactly 64 characters long.
 	Hash string `json:"hash,omitempty"`
 
 	// SizeBytes: The size of the blob, in bytes.
@@ -1225,97 +963,36 @@
 }
 
 // BuildBazelRemoteExecutionV2Directory: A `Directory` represents a
-// directory node in a file tree, containing zero or
-// more children FileNodes,
-// DirectoryNodes and
-// SymlinkNodes.
-// Each `Node` contains its name in the directory, either the digest of
-// its
-// content (either a file blob or a `Directory` proto) or a symlink
-// target, as
-// well as possibly some metadata about the file or directory.
-//
-// In order to ensure that two equivalent directory trees hash to the
-// same
-// value, the following restrictions MUST be obeyed when constructing
-// a
-// a `Directory`:
-//
-// * Every child in the directory must have a path of exactly one
-// segment.
-//   Multiple levels of directory hierarchy may not be collapsed.
-// * Each child in the directory must have a unique path segment (file
-// name).
-//   Note that while the API itself is case-sensitive, the environment
-// where
-//   the Action is executed may or may not be case-sensitive. That is,
-// it is
-//   legal to call the API with a Directory that has both "Foo" and
-// "foo" as
-//   children, but the Action may be rejected by the remote system upon
-//   execution.
-// * The files, directories and symlinks in the directory must each be
-// sorted
-//   in lexicographical order by path. The path strings must be sorted
-// by code
-//   point, equivalently, by UTF-8 bytes.
-// * The NodeProperties of files,
-//   directories, and symlinks must be sorted in lexicographical order
-// by
-//   property name.
-//
-// A `Directory` that obeys the restrictions is said to be in canonical
-// form.
-//
-// As an example, the following could be used for a file named `bar` and
-// a
-// directory named `foo` with an executable file named `baz` (hashes
-// shortened
-// for readability):
-//
-// ```json
-// // (Directory proto)
-// {
-//   files: [
-//     {
-//       name: "bar",
-//       digest: {
-//         hash: "4a73bc9d03...",
-//         size: 65534
-//       },
-//       node_properties: [
-//         {
-//           "name": "MTime",
-//           "value": "2017-01-15T01:30:15.01Z"
-//         }
-//       ]
-//     }
-//   ],
-//   directories: [
-//     {
-//       name: "foo",
-//       digest: {
-//         hash: "4cf2eda940...",
-//         size: 43
-//       }
-//     }
-//   ]
-// }
-//
-// // (Directory proto with hash "4cf2eda940..." and size 43)
-// {
-//   files: [
-//     {
-//       name: "baz",
-//       digest: {
-//         hash: "b2c941073e...",
-//         size: 1294,
-//       },
-//       is_executable: true
-//     }
-//   ]
-// }
-// ```
+// directory node in a file tree, containing zero or more children
+// FileNodes, DirectoryNodes and SymlinkNodes. Each `Node` contains its
+// name in the directory, either the digest of its content (either a
+// file blob or a `Directory` proto) or a symlink target, as well as
+// possibly some metadata about the file or directory. In order to
+// ensure that two equivalent directory trees hash to the same value,
+// the following restrictions MUST be obeyed when constructing a a
+// `Directory`: * Every child in the directory must have a path of
+// exactly one segment. Multiple levels of directory hierarchy may not
+// be collapsed. * Each child in the directory must have a unique path
+// segment (file name). Note that while the API itself is
+// case-sensitive, the environment where the Action is executed may or
+// may not be case-sensitive. That is, it is legal to call the API with
+// a Directory that has both "Foo" and "foo" as children, but the Action
+// may be rejected by the remote system upon execution. * The files,
+// directories and symlinks in the directory must each be sorted in
+// lexicographical order by path. The path strings must be sorted by
+// code point, equivalently, by UTF-8 bytes. * The NodeProperties of
+// files, directories, and symlinks must be sorted in lexicographical
+// order by property name. A `Directory` that obeys the restrictions is
+// said to be in canonical form. As an example, the following could be
+// used for a file named `bar` and a directory named `foo` with an
+// executable file named `baz` (hashes shortened for readability):
+// ```json // (Directory proto) { files: [ { name: "bar", digest: {
+// hash: "4a73bc9d03...", size: 65534 }, node_properties: [ { "name":
+// "MTime", "value": "2017-01-15T01:30:15.01Z" } ] } ], directories: [ {
+// name: "foo", digest: { hash: "4cf2eda940...", size: 43 } } ] } //
+// (Directory proto with hash "4cf2eda940..." and size 43) { files: [ {
+// name: "baz", digest: { hash: "b2c941073e...", size: 1294, },
+// is_executable: true } ] } ```
 type BuildBazelRemoteExecutionV2Directory struct {
 	// Directories: The subdirectories in the directory.
 	Directories []*BuildBazelRemoteExecutionV2DirectoryNode `json:"directories,omitempty"`
@@ -1353,13 +1030,10 @@
 }
 
 // BuildBazelRemoteExecutionV2DirectoryNode: A `DirectoryNode`
-// represents a child of a
-// Directory which is itself
-// a `Directory` and its associated metadata.
+// represents a child of a Directory which is itself a `Directory` and
+// its associated metadata.
 type BuildBazelRemoteExecutionV2DirectoryNode struct {
-	// Digest: The digest of the
-	// Directory object
-	// represented. See Digest
+	// Digest: The digest of the Directory object represented. See Digest
 	// for information about how to take the digest of a proto message.
 	Digest *BuildBazelRemoteExecutionV2Digest `json:"digest,omitempty"`
 
@@ -1390,14 +1064,10 @@
 }
 
 // BuildBazelRemoteExecutionV2ExecuteOperationMetadata: Metadata about
-// an ongoing
-// execution, which
-// will be contained in the metadata
-// field of the
-// Operation.
+// an ongoing execution, which will be contained in the metadata field
+// of the Operation.
 type BuildBazelRemoteExecutionV2ExecuteOperationMetadata struct {
-	// ActionDigest: The digest of the Action
-	// being executed.
+	// ActionDigest: The digest of the Action being executed.
 	ActionDigest *BuildBazelRemoteExecutionV2Digest `json:"actionDigest,omitempty"`
 
 	// Stage: The current stage of execution.
@@ -1410,16 +1080,12 @@
 	//   "COMPLETED" - Finished execution.
 	Stage string `json:"stage,omitempty"`
 
-	// StderrStreamName: If set, the client can use this name
-	// with
-	// ByteStream.Read to stream the
-	// standard error.
+	// StderrStreamName: If set, the client can use this name with
+	// ByteStream.Read to stream the standard error.
 	StderrStreamName string `json:"stderrStreamName,omitempty"`
 
-	// StdoutStreamName: If set, the client can use this name
-	// with
-	// ByteStream.Read to stream the
-	// standard output.
+	// StdoutStreamName: If set, the client can use this name with
+	// ByteStream.Read to stream the standard output.
 	StdoutStreamName string `json:"stdoutStreamName,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ActionDigest") to
@@ -1445,47 +1111,35 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// BuildBazelRemoteExecutionV2ExecuteRequest: A request message
-// for
+// BuildBazelRemoteExecutionV2ExecuteRequest: A request message for
 // Execution.Execute.
 type BuildBazelRemoteExecutionV2ExecuteRequest struct {
-	// ActionDigest: The digest of the Action to
-	// execute.
+	// ActionDigest: The digest of the Action to execute.
 	ActionDigest *BuildBazelRemoteExecutionV2Digest `json:"actionDigest,omitempty"`
 
-	// ExecutionPolicy: An optional policy for execution of the action.
-	// The server will have a default policy if this is not provided.
+	// ExecutionPolicy: An optional policy for execution of the action. The
+	// server will have a default policy if this is not provided.
 	ExecutionPolicy *BuildBazelRemoteExecutionV2ExecutionPolicy `json:"executionPolicy,omitempty"`
 
 	// ResultsCachePolicy: An optional policy for the results of this
-	// execution in the remote cache.
-	// The server will have a default policy if this is not provided.
-	// This may be applied to both the ActionResult and the associated
-	// blobs.
+	// execution in the remote cache. The server will have a default policy
+	// if this is not provided. This may be applied to both the ActionResult
+	// and the associated blobs.
 	ResultsCachePolicy *BuildBazelRemoteExecutionV2ResultsCachePolicy `json:"resultsCachePolicy,omitempty"`
 
 	// SkipCacheLookup: If true, the action will be executed even if its
-	// result is already
-	// present in the ActionCache.
-	// The execution is still allowed to be merged with other in-flight
-	// executions
-	// of the same action, however - semantically, the service MUST only
-	// guarantee
-	// that the results of an execution with this field set were not
-	// visible
-	// before the corresponding execution request was sent.
-	// Note that actions from execution requests setting this field set are
-	// still
+	// result is already present in the ActionCache. The execution is still
+	// allowed to be merged with other in-flight executions of the same
+	// action, however - semantically, the service MUST only guarantee that
+	// the results of an execution with this field set were not visible
+	// before the corresponding execution request was sent. Note that
+	// actions from execution requests setting this field set are still
 	// eligible to be entered into the action cache upon completion, and
-	// services
-	// SHOULD overwrite any existing entries that may exist. This
-	// allows
-	// skip_cache_lookup requests to be used as a mechanism for replacing
-	// action
-	// cache entries that reference outputs no longer available or that
-	// are
-	// poisoned in any way.
-	// If false, the result may be served from the action cache.
+	// services SHOULD overwrite any existing entries that may exist. This
+	// allows skip_cache_lookup requests to be used as a mechanism for
+	// replacing action cache entries that reference outputs no longer
+	// available or that are poisoned in any way. If false, the result may
+	// be served from the action cache.
 	SkipCacheLookup bool `json:"skipCacheLookup,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ActionDigest") to
@@ -1511,59 +1165,41 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// BuildBazelRemoteExecutionV2ExecuteResponse: The response message
-// for
-// Execution.Execute,
-// which will be contained in the response
-// field of the
-// Operation.
+// BuildBazelRemoteExecutionV2ExecuteResponse: The response message for
+// Execution.Execute, which will be contained in the response field of
+// the Operation.
 type BuildBazelRemoteExecutionV2ExecuteResponse struct {
 	// CachedResult: True if the result was served from cache, false if it
 	// was executed.
 	CachedResult bool `json:"cachedResult,omitempty"`
 
 	// Message: Freeform informational message with details on the execution
-	// of the action
-	// that may be displayed to the user upon failure or when requested
-	// explicitly.
+	// of the action that may be displayed to the user upon failure or when
+	// requested explicitly.
 	Message string `json:"message,omitempty"`
 
 	// Result: The result of the action.
 	Result *BuildBazelRemoteExecutionV2ActionResult `json:"result,omitempty"`
 
 	// ServerLogs: An optional list of additional log outputs the server
-	// wishes to provide. A
-	// server can use this to return execution-specific logs however it
-	// wishes.
-	// This is intended primarily to make it easier for users to debug
-	// issues that
-	// may be outside of the actual job execution, such as by identifying
-	// the
-	// worker executing the action or by providing logs from the worker's
-	// setup
-	// phase. The keys SHOULD be human readable so that a client can display
-	// them
-	// to a user.
+	// wishes to provide. A server can use this to return execution-specific
+	// logs however it wishes. This is intended primarily to make it easier
+	// for users to debug issues that may be outside of the actual job
+	// execution, such as by identifying the worker executing the action or
+	// by providing logs from the worker's setup phase. The keys SHOULD be
+	// human readable so that a client can display them to a user.
 	ServerLogs map[string]BuildBazelRemoteExecutionV2LogFile `json:"serverLogs,omitempty"`
 
 	// Status: If the status has a code other than `OK`, it indicates that
-	// the action did
-	// not finish execution. For example, if the operation times out
-	// during
-	// execution, the status will have a `DEADLINE_EXCEEDED` code. Servers
-	// MUST
-	// use this field for errors in execution, rather than the error field
-	// on the
-	// `Operation` object.
-	//
-	// If the status code is other than `OK`, then the result MUST NOT be
-	// cached.
-	// For an error status, the `result` field is optional; the server
-	// may
-	// populate the output-, stdout-, and stderr-related fields if it has
-	// any
-	// information available, such as the stdout and stderr of a timed-out
-	// action.
+	// the action did not finish execution. For example, if the operation
+	// times out during execution, the status will have a
+	// `DEADLINE_EXCEEDED` code. Servers MUST use this field for errors in
+	// execution, rather than the error field on the `Operation` object. If
+	// the status code is other than `OK`, then the result MUST NOT be
+	// cached. For an error status, the `result` field is optional; the
+	// server may populate the output-, stdout-, and stderr-related fields
+	// if it has any information available, such as the stdout and stderr of
+	// a timed-out action.
 	Status *GoogleRpcStatus `json:"status,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CachedResult") to
@@ -1665,8 +1301,7 @@
 	//   "SHA256" - The SHA-256 digest function.
 	//   "SHA1" - The SHA-1 digest function.
 	//   "MD5" - The MD5 digest function.
-	//   "VSO" - The Microsoft "VSO-Hash" paged SHA256 digest function.
-	// See
+	//   "VSO" - The Microsoft "VSO-Hash" paged SHA256 digest function. See
 	// https://github.com/microsoft/BuildXL/blob/master/Documentation/Specs/PagedHash.md
 	// .
 	//   "SHA384" - The SHA-384 digest function.
@@ -1711,21 +1346,14 @@
 // be used to control the scheduling of the action.
 type BuildBazelRemoteExecutionV2ExecutionPolicy struct {
 	// Priority: The priority (relative importance) of this action.
-	// Generally, a lower value
-	// means that the action should be run sooner than actions having a
-	// greater
-	// priority value, but the interpretation of a given value is
-	// server-
-	// dependent. A priority of 0 means the *default* priority. Priorities
-	// may be
-	// positive or negative, and such actions should run later or sooner
-	// than
-	// actions having the default priority, respectively. The particular
-	// semantics
-	// of this field is up to the server. In particular, every server will
-	// have
-	// their own supported range of priorities, and will decide how these
-	// map into
+	// Generally, a lower value means that the action should be run sooner
+	// than actions having a greater priority value, but the interpretation
+	// of a given value is server- dependent. A priority of 0 means the
+	// *default* priority. Priorities may be positive or negative, and such
+	// actions should run later or sooner than actions having the default
+	// priority, respectively. The particular semantics of this field is up
+	// to the server. In particular, every server will have their own
+	// supported range of priorities, and will decide how these map into
 	// scheduling policy.
 	Priority int64 `json:"priority,omitempty"`
 
@@ -1791,8 +1419,7 @@
 }
 
 // BuildBazelRemoteExecutionV2FindMissingBlobsRequest: A request message
-// for
-// ContentAddressableStorage.FindMissingBlobs.
+// for ContentAddressableStorage.FindMissingBlobs.
 type BuildBazelRemoteExecutionV2FindMissingBlobsRequest struct {
 	// BlobDigests: A list of the blobs to check.
 	BlobDigests []*BuildBazelRemoteExecutionV2Digest `json:"blobDigests,omitempty"`
@@ -1821,8 +1448,7 @@
 }
 
 // BuildBazelRemoteExecutionV2FindMissingBlobsResponse: A response
-// message for
-// ContentAddressableStorage.FindMissingBlobs.
+// message for ContentAddressableStorage.FindMissingBlobs.
 type BuildBazelRemoteExecutionV2FindMissingBlobsResponse struct {
 	// MissingBlobDigests: A list of the blobs requested *not* present in
 	// the storage.
@@ -1856,19 +1482,16 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// BuildBazelRemoteExecutionV2GetTreeResponse: A response message
-// for
+// BuildBazelRemoteExecutionV2GetTreeResponse: A response message for
 // ContentAddressableStorage.GetTree.
 type BuildBazelRemoteExecutionV2GetTreeResponse struct {
 	// Directories: The directories descended from the requested root.
 	Directories []*BuildBazelRemoteExecutionV2Directory `json:"directories,omitempty"`
 
 	// NextPageToken: If present, signifies that there are more results
-	// which the client can
-	// retrieve by passing this as the page_token in a
-	// subsequent
-	// request.
-	// If empty, signifies that this is the last page of results.
+	// which the client can retrieve by passing this as the page_token in a
+	// subsequent request. If empty, signifies that this is the last page of
+	// results.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1905,14 +1528,11 @@
 	Digest *BuildBazelRemoteExecutionV2Digest `json:"digest,omitempty"`
 
 	// HumanReadable: This is a hint as to the purpose of the log, and is
-	// set to true if the log
-	// is human-readable text that can be usefully displayed to a user, and
-	// false
-	// otherwise. For instance, if a command-line client wishes to print
-	// the
-	// server logs to the terminal for a failed action, this allows it to
-	// avoid
-	// displaying a binary file.
+	// set to true if the log is human-readable text that can be usefully
+	// displayed to a user, and false otherwise. For instance, if a
+	// command-line client wishes to print the server logs to the terminal
+	// for a failed action, this allows it to avoid displaying a binary
+	// file.
 	HumanReadable bool `json:"humanReadable,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Digest") to
@@ -1939,11 +1559,8 @@
 }
 
 // BuildBazelRemoteExecutionV2NodeProperty: A single property for
-// FileNodes,
-// DirectoryNodes, and
-// SymlinkNodes. The server is
-// responsible for specifying the property `name`s that it accepts.
-// If
+// FileNodes, DirectoryNodes, and SymlinkNodes. The server is
+// responsible for specifying the property `name`s that it accepts. If
 // permitted by the server, the same `name` may occur multiple times.
 type BuildBazelRemoteExecutionV2NodeProperty struct {
 	// Name: The property name.
@@ -1976,20 +1593,17 @@
 }
 
 // BuildBazelRemoteExecutionV2OutputDirectory: An `OutputDirectory` is
-// the output in an `ActionResult` corresponding to a
-// directory's full contents rather than a single file.
+// the output in an `ActionResult` corresponding to a directory's full
+// contents rather than a single file.
 type BuildBazelRemoteExecutionV2OutputDirectory struct {
 	// Path: The full path of the directory relative to the working
-	// directory. The path
-	// separator is a forward slash `/`. Since this is a relative path, it
-	// MUST
-	// NOT begin with a leading forward slash. The empty string value is
-	// allowed,
-	// and it denotes the entire working directory.
+	// directory. The path separator is a forward slash `/`. Since this is a
+	// relative path, it MUST NOT begin with a leading forward slash. The
+	// empty string value is allowed, and it denotes the entire working
+	// directory.
 	Path string `json:"path,omitempty"`
 
-	// TreeDigest: The digest of the encoded
-	// Tree proto containing the
+	// TreeDigest: The digest of the encoded Tree proto containing the
 	// directory's contents.
 	TreeDigest *BuildBazelRemoteExecutionV2Digest `json:"treeDigest,omitempty"`
 
@@ -2017,20 +1631,14 @@
 }
 
 // BuildBazelRemoteExecutionV2OutputFile: An `OutputFile` is similar to
-// a
-// FileNode, but it is used as an
-// output in an `ActionResult`. It allows a full file path rather
-// than
-// only a name.
+// a FileNode, but it is used as an output in an `ActionResult`. It
+// allows a full file path rather than only a name.
 type BuildBazelRemoteExecutionV2OutputFile struct {
 	// Contents: The contents of the file if inlining was requested. The
-	// server SHOULD NOT inline
-	// file contents unless requested by the client in
-	// the
-	// GetActionResultRequest
-	// message. The server MAY omit inlining, even if requested, and MUST do
-	// so if inlining
-	// would cause the response to exceed message size limits.
+	// server SHOULD NOT inline file contents unless requested by the client
+	// in the GetActionResultRequest message. The server MAY omit inlining,
+	// even if requested, and MUST do so if inlining would cause the
+	// response to exceed message size limits.
 	Contents string `json:"contents,omitempty"`
 
 	// Digest: The digest of the file's content.
@@ -2044,10 +1652,9 @@
 	NodeProperties []*BuildBazelRemoteExecutionV2NodeProperty `json:"nodeProperties,omitempty"`
 
 	// Path: The full path of the file relative to the working directory,
-	// including the
-	// filename. The path separator is a forward slash `/`. Since this is
-	// a
-	// relative path, it MUST NOT begin with a leading forward slash.
+	// including the filename. The path separator is a forward slash `/`.
+	// Since this is a relative path, it MUST NOT begin with a leading
+	// forward slash.
 	Path string `json:"path,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Contents") to
@@ -2074,34 +1681,26 @@
 }
 
 // BuildBazelRemoteExecutionV2OutputSymlink: An `OutputSymlink` is
-// similar to a
-// Symlink, but it is used as an
-// output in an `ActionResult`.
-//
-// `OutputSymlink` is binary-compatible with `SymlinkNode`.
+// similar to a Symlink, but it is used as an output in an
+// `ActionResult`. `OutputSymlink` is binary-compatible with
+// `SymlinkNode`.
 type BuildBazelRemoteExecutionV2OutputSymlink struct {
 	// NodeProperties: The supported node properties of the OutputSymlink,
-	// if requested by the
-	// Action.
+	// if requested by the Action.
 	NodeProperties []*BuildBazelRemoteExecutionV2NodeProperty `json:"nodeProperties,omitempty"`
 
 	// Path: The full path of the symlink relative to the working directory,
-	// including the
-	// filename. The path separator is a forward slash `/`. Since this is
-	// a
-	// relative path, it MUST NOT begin with a leading forward slash.
+	// including the filename. The path separator is a forward slash `/`.
+	// Since this is a relative path, it MUST NOT begin with a leading
+	// forward slash.
 	Path string `json:"path,omitempty"`
 
 	// Target: The target path of the symlink. The path separator is a
-	// forward slash `/`.
-	// The target path can be relative to the parent directory of the
-	// symlink or
-	// it can be an absolute path starting with `/`. Support for absolute
-	// paths
-	// can be checked using the Capabilities
+	// forward slash `/`. The target path can be relative to the parent
+	// directory of the symlink or it can be an absolute path starting with
+	// `/`. Support for absolute paths can be checked using the Capabilities
 	// API. The canonical form forbids the substrings `/./` and `//` in the
-	// target
-	// path. `..` components are allowed anywhere in the target path.
+	// target path. `..` components are allowed anywhere in the target path.
 	Target string `json:"target,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "NodeProperties") to
@@ -2129,20 +1728,16 @@
 }
 
 // BuildBazelRemoteExecutionV2Platform: A `Platform` is a set of
-// requirements, such as hardware, operating system, or
-// compiler toolchain, for an
-// Action's execution
-// environment. A `Platform` is represented as a series of key-value
-// pairs
-// representing the properties that are required of the platform.
+// requirements, such as hardware, operating system, or compiler
+// toolchain, for an Action's execution environment. A `Platform` is
+// represented as a series of key-value pairs representing the
+// properties that are required of the platform.
 type BuildBazelRemoteExecutionV2Platform struct {
 	// Properties: The properties that make up this platform. In order to
-	// ensure that
-	// equivalent `Platform`s always hash to the same value, the properties
-	// MUST
-	// be lexicographically sorted by name, and then by value. Sorting of
-	// strings
-	// is done by code point, equivalently, by the UTF-8 bytes.
+	// ensure that equivalent `Platform`s always hash to the same value, the
+	// properties MUST be lexicographically sorted by name, and then by
+	// value. Sorting of strings is done by code point, equivalently, by the
+	// UTF-8 bytes.
 	Properties []*BuildBazelRemoteExecutionV2PlatformProperty `json:"properties,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Properties") to
@@ -2169,31 +1764,18 @@
 }
 
 // BuildBazelRemoteExecutionV2PlatformProperty: A single property for
-// the environment. The server is responsible for
-// specifying the property `name`s that it accepts. If an unknown `name`
-// is
-// provided in the requirements for an
-// Action, the server SHOULD
-// reject the execution request. If permitted by the server, the same
-// `name`
-// may occur multiple times.
-//
-// The server is also responsible for specifying the interpretation
-// of
-// property `value`s. For instance, a property describing how much RAM
-// must be
-// available may be interpreted as allowing a worker with 16GB to
-// fulfill a
-// request for 8GB, while a property describing the OS environment on
-// which
-// the action must be performed may require an exact match with the
-// worker's
-// OS.
-//
-// The server MAY use the `value` of one or more properties to determine
-// how
-// it sets up the execution environment, such as by making specific
-// system
+// the environment. The server is responsible for specifying the
+// property `name`s that it accepts. If an unknown `name` is provided in
+// the requirements for an Action, the server SHOULD reject the
+// execution request. If permitted by the server, the same `name` may
+// occur multiple times. The server is also responsible for specifying
+// the interpretation of property `value`s. For instance, a property
+// describing how much RAM must be available may be interpreted as
+// allowing a worker with 16GB to fulfill a request for 8GB, while a
+// property describing the OS environment on which the action must be
+// performed may require an exact match with the worker's OS. The server
+// MAY use the `value` of one or more properties to determine how it
+// sets up the execution environment, such as by making specific system
 // files available to the worker.
 type BuildBazelRemoteExecutionV2PlatformProperty struct {
 	// Name: The property name.
@@ -2226,9 +1808,8 @@
 }
 
 // BuildBazelRemoteExecutionV2PriorityCapabilities: Allowed values for
-// priority in
-// ResultsCachePolicy
-// Used for querying both cache and execution valid priority ranges.
+// priority in ResultsCachePolicy Used for querying both cache and
+// execution valid priority ranges.
 type BuildBazelRemoteExecutionV2PriorityCapabilities struct {
 	Priorities []*BuildBazelRemoteExecutionV2PriorityCapabilitiesPriorityRange `json:"priorities,omitempty"`
 
@@ -2286,46 +1867,34 @@
 }
 
 // BuildBazelRemoteExecutionV2RequestMetadata: An optional Metadata to
-// attach to any RPC request to tell the server about an
-// external context of the request. The server may use this for logging
-// or other
+// attach to any RPC request to tell the server about an external
+// context of the request. The server may use this for logging or other
 // purposes. To use it, the client attaches the header to the call using
-// the
-// canonical proto serialization:
-//
-// * name: `build.bazel.remote.execution.v2.requestmetadata-bin`
-// * contents: the base64 encoded binary `RequestMetadata`
-// message.
-// Note: the gRPC library serializes binary headers encoded in base 64
-// by
-// default
+// the canonical proto serialization: * name:
+// `build.bazel.remote.execution.v2.requestmetadata-bin` * contents: the
+// base64 encoded binary `RequestMetadata` message. Note: the gRPC
+// library serializes binary headers encoded in base 64 by default
 // (https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#reques
-// ts).
-// Therefore, if the gRPC library is used to pass/retrieve
-// this
+// ts). Therefore, if the gRPC library is used to pass/retrieve this
 // metadata, the user may ignore the base64 encoding and assume it is
-// simply
-// serialized as a binary message.
+// simply serialized as a binary message.
 type BuildBazelRemoteExecutionV2RequestMetadata struct {
 	// ActionId: An identifier that ties multiple requests to the same
-	// action.
-	// For example, multiple requests to the CAS, Action Cache, and
-	// Execution
-	// API are used in order to compile foo.cc.
+	// action. For example, multiple requests to the CAS, Action Cache, and
+	// Execution API are used in order to compile foo.cc.
 	ActionId string `json:"actionId,omitempty"`
 
 	// CorrelatedInvocationsId: An identifier to tie multiple tool
-	// invocations together. For example,
-	// runs of foo_test, bar_test and baz_test on a post-submit of a given
-	// patch.
+	// invocations together. For example, runs of foo_test, bar_test and
+	// baz_test on a post-submit of a given patch.
 	CorrelatedInvocationsId string `json:"correlatedInvocationsId,omitempty"`
 
 	// ToolDetails: The details for the tool invoking the requests.
 	ToolDetails *BuildBazelRemoteExecutionV2ToolDetails `json:"toolDetails,omitempty"`
 
 	// ToolInvocationId: An identifier that ties multiple actions together
-	// to a final result.
-	// For example, multiple actions are required to build and run foo_test.
+	// to a final result. For example, multiple actions are required to
+	// build and run foo_test.
 	ToolInvocationId string `json:"toolInvocationId,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ActionId") to
@@ -2352,22 +1921,17 @@
 }
 
 // BuildBazelRemoteExecutionV2ResultsCachePolicy: A `ResultsCachePolicy`
-// is used for fine-grained control over how action
-// outputs are stored in the CAS and Action Cache.
+// is used for fine-grained control over how action outputs are stored
+// in the CAS and Action Cache.
 type BuildBazelRemoteExecutionV2ResultsCachePolicy struct {
 	// Priority: The priority (relative importance) of this content in the
-	// overall cache.
-	// Generally, a lower value means a longer retention time or other
-	// advantage,
-	// but the interpretation of a given value is server-dependent. A
-	// priority of
-	// 0 means a *default* value, decided by the server.
-	//
-	// The particular semantics of this field is up to the server. In
-	// particular,
-	// every server will have their own supported range of priorities, and
-	// will
-	// decide how these map into retention/eviction policy.
+	// overall cache. Generally, a lower value means a longer retention time
+	// or other advantage, but the interpretation of a given value is
+	// server-dependent. A priority of 0 means a *default* value, decided by
+	// the server. The particular semantics of this field is up to the
+	// server. In particular, every server will have their own supported
+	// range of priorities, and will decide how these map into
+	// retention/eviction policy.
 	Priority int64 `json:"priority,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Priority") to
@@ -2393,8 +1957,7 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// BuildBazelRemoteExecutionV2ServerCapabilities: A response message
-// for
+// BuildBazelRemoteExecutionV2ServerCapabilities: A response message for
 // Capabilities.GetCapabilities.
 type BuildBazelRemoteExecutionV2ServerCapabilities struct {
 	// CacheCapabilities: Capabilities of the remote cache system.
@@ -2451,15 +2014,11 @@
 	NodeProperties []*BuildBazelRemoteExecutionV2NodeProperty `json:"nodeProperties,omitempty"`
 
 	// Target: The target path of the symlink. The path separator is a
-	// forward slash `/`.
-	// The target path can be relative to the parent directory of the
-	// symlink or
-	// it can be an absolute path starting with `/`. Support for absolute
-	// paths
-	// can be checked using the Capabilities
+	// forward slash `/`. The target path can be relative to the parent
+	// directory of the symlink or it can be an absolute path starting with
+	// `/`. Support for absolute paths can be checked using the Capabilities
 	// API. The canonical form forbids the substrings `/./` and `//` in the
-	// target
-	// path. `..` components are allowed anywhere in the target path.
+	// target path. `..` components are allowed anywhere in the target path.
 	Target string `json:"target,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Name") to
@@ -2517,17 +2076,14 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// BuildBazelRemoteExecutionV2Tree: A `Tree` contains all the
-// Directory protos in a
-// single directory Merkle tree, compressed into one message.
+// BuildBazelRemoteExecutionV2Tree: A `Tree` contains all the Directory
+// protos in a single directory Merkle tree, compressed into one
+// message.
 type BuildBazelRemoteExecutionV2Tree struct {
 	// Children: All the child directories: the directories referred to by
-	// the root and,
-	// recursively, all its children. In order to reconstruct the directory
-	// tree,
-	// the client must take the digests of each of the child directories and
-	// then
-	// build up a tree starting from the `root`.
+	// the root and, recursively, all its children. In order to reconstruct
+	// the directory tree, the client must take the digests of each of the
+	// child directories and then build up a tree starting from the `root`.
 	Children []*BuildBazelRemoteExecutionV2Directory `json:"children,omitempty"`
 
 	// Root: The root directory in the tree.
@@ -2557,8 +2113,7 @@
 }
 
 // BuildBazelRemoteExecutionV2WaitExecutionRequest: A request message
-// for
-// WaitExecution.
+// for WaitExecution.
 type BuildBazelRemoteExecutionV2WaitExecutionRequest struct {
 }
 
@@ -2574,10 +2129,9 @@
 	Patch int64 `json:"patch,omitempty"`
 
 	// Prerelease: The pre-release version. Either this field or
-	// major/minor/patch fields
-	// must be filled. They are mutually exclusive. Pre-release versions
-	// are
-	// assumed to be earlier than any released versions.
+	// major/minor/patch fields must be filled. They are mutually exclusive.
+	// Pre-release versions are assumed to be earlier than any released
+	// versions.
 	Prerelease string `json:"prerelease,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Major") to
@@ -2604,20 +2158,18 @@
 }
 
 // GoogleDevtoolsRemotebuildbotCommandDurations: CommandDuration
-// contains the various duration metrics tracked when a bot
-// performs a command.
+// contains the various duration metrics tracked when a bot performs a
+// command.
 type GoogleDevtoolsRemotebuildbotCommandDurations struct {
 	// DockerPrep: The time spent preparing the command to be run in a
-	// Docker container
-	// (includes pulling the Docker image, if necessary).
+	// Docker container (includes pulling the Docker image, if necessary).
 	DockerPrep string `json:"dockerPrep,omitempty"`
 
 	// DockerPrepStartTime: The timestamp when docker preparation begins.
 	DockerPrepStartTime string `json:"dockerPrepStartTime,omitempty"`
 
 	// Download: The time spent downloading the input files and constructing
-	// the working
-	// directory.
+	// the working directory.
 	Download string `json:"download,omitempty"`
 
 	// DownloadStartTime: The timestamp when downloading the input files
@@ -2672,12 +2224,11 @@
 }
 
 // GoogleDevtoolsRemotebuildbotCommandEvents: CommandEvents contains
-// counters for the number of warnings and errors
-// that occurred during the execution of a command.
+// counters for the number of warnings and errors that occurred during
+// the execution of a command.
 type GoogleDevtoolsRemotebuildbotCommandEvents struct {
 	// DockerCacheHit: Indicates whether we are using a cached Docker image
-	// (true) or had to pull
-	// the Docker image (false) for this command.
+	// (true) or had to pull the Docker image (false) for this command.
 	DockerCacheHit bool `json:"dockerCacheHit,omitempty"`
 
 	// InputCacheMiss: The input cache miss ratio.
@@ -2741,15 +2292,14 @@
 	// found.
 	//   "PERMISSION_DENIED" - The command failed due to permission errors.
 	//   "INTERNAL" - The command failed because of some invariants expected
-	// by the underlying
-	// system have been broken. This usually indicates a bug wit the system.
+	// by the underlying system have been broken. This usually indicates a
+	// bug wit the system.
 	//   "ABORTED" - The command was aborted.
 	//   "FAILED_PRECONDITION" - The command failed because the system is
-	// not in a state required for the
-	// command, e.g. the command inputs cannot be found on the server.
+	// not in a state required for the command, e.g. the command inputs
+	// cannot be found on the server.
 	//   "CLEANUP_ERROR" - The bot failed to do the cleanup, e.g. unable to
-	// delete the command
-	// working directory or the command process.
+	// delete the command working directory or the command process.
 	//   "DOWNLOAD_INPUTS_ERROR" - The bot failed to download the inputs.
 	//   "UNKNOWN" - Unknown error.
 	//   "UPLOAD_OUTPUTS_ERROR" - The bot failed to upload the outputs.
@@ -2794,9 +2344,8 @@
 	//   "DOCKER_CREATE_PROCESS_FILE_NOT_FOUND" - Docker failed to create
 	// process because of file not found.
 	//   "DOCKER_CREATE_COMPUTE_SYSTEM_INCORRECT_PARAMETER_ERROR" - Docker
-	// failed to run containers with CreateComputeSystem error that
-	// involves an incorrect parameter (more specific version
-	// of
+	// failed to run containers with CreateComputeSystem error that involves
+	// an incorrect parameter (more specific version of
 	// DOCKER_CREATE_COMPUTE_SYSTEM_ERROR that is user-caused).
 	Code string `json:"code,omitempty"`
 
@@ -2909,8 +2458,7 @@
 	AcceleratorCount int64 `json:"acceleratorCount,omitempty,string"`
 
 	// AcceleratorType: The type of accelerator to attach to each VM, e.g.
-	// "nvidia-tesla-k80" for
-	// nVidia Tesla K80.
+	// "nvidia-tesla-k80" for nVidia Tesla K80.
 	AcceleratorType string `json:"acceleratorType,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AcceleratorCount") to
@@ -2973,21 +2521,18 @@
 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest:
 // The request used for `CreateInstance`.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateInstanceRequest struct {
-	// Instance: Specifies the instance to create.
-	// The name in the instance, if specified in the instance, is ignored.
+	// Instance: Specifies the instance to create. The name in the instance,
+	// if specified in the instance, is ignored.
 	Instance *GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance `json:"instance,omitempty"`
 
-	// InstanceId: ID of the created instance.
-	// A valid `instance_id` must:
-	// be 6-50 characters long,
-	// contain only lowercase letters, digits, hyphens and
-	// underscores,
-	// start with a lowercase letter, and
-	// end with a lowercase letter or a digit.
+	// InstanceId: ID of the created instance. A valid `instance_id` must:
+	// be 6-50 characters long, contain only lowercase letters, digits,
+	// hyphens and underscores, start with a lowercase letter, and end with
+	// a lowercase letter or a digit.
 	InstanceId string `json:"instanceId,omitempty"`
 
-	// Parent: Resource name of the project containing the instance.
-	// Format: `projects/[PROJECT_ID]`.
+	// Parent: Resource name of the project containing the instance. Format:
+	// `projects/[PROJECT_ID]`.
 	Parent string `json:"parent,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Instance") to
@@ -3017,21 +2562,17 @@
 //  The request used for `CreateWorkerPool`.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaCreateWorkerPoolRequest struct {
 	// Parent: Resource name of the instance in which to create the new
-	// worker pool.
-	// Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
+	// worker pool. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
 	Parent string `json:"parent,omitempty"`
 
-	// PoolId: ID of the created worker pool.
-	// A valid pool ID must:
-	// be 6-50 characters long,
-	// contain only lowercase letters, digits, hyphens and
-	// underscores,
-	// start with a lowercase letter, and
-	// end with a lowercase letter or a digit.
+	// PoolId: ID of the created worker pool. A valid pool ID must: be 6-50
+	// characters long, contain only lowercase letters, digits, hyphens and
+	// underscores, start with a lowercase letter, and end with a lowercase
+	// letter or a digit.
 	PoolId string `json:"poolId,omitempty"`
 
-	// WorkerPool: Specifies the worker pool to create.
-	// The name in the worker pool, if specified, is ignored.
+	// WorkerPool: Specifies the worker pool to create. The name in the
+	// worker pool, if specified, is ignored.
 	WorkerPool *GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerPool `json:"workerPool,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Parent") to
@@ -3060,8 +2601,8 @@
 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteInstanceRequest:
 // The request used for `DeleteInstance`.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteInstanceRequest struct {
-	// Name: Name of the instance to delete.
-	// Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
+	// Name: Name of the instance to delete. Format:
+	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
 	Name string `json:"name,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Name") to
@@ -3090,11 +2631,8 @@
 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteWorkerPoolRequest:
 //  The request used for DeleteWorkerPool.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaDeleteWorkerPoolRequest struct {
-	// Name: Name of the worker pool to
-	// delete.
-	// Format:
-	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerp
-	// ools/[POOL_ID]`.
+	// Name: Name of the worker pool to delete. Format:
+	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.
 	Name string `json:"name,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Name") to
@@ -3120,11 +2658,132 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
+// GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy:
+// FeaturePolicy defines features allowed to be used on RBE instances,
+// as well as instance-wide behavior changes that take effect without
+// opt-in or opt-out at usage time.
+type GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy struct {
+	// ContainerImageSources: Which container image sources are allowed.
+	// Currently only RBE-supported registry (gcr.io) is allowed. One can
+	// allow all repositories under a project or one specific repository
+	// only. E.g. container_image_sources { policy: RESTRICTED
+	// allowed_values: [ "gcr.io/project-foo",
+	// "gcr.io/project-bar/repo-baz", ] } will allow any repositories under
+	// "gcr.io/project-foo" plus the repository
+	// "gcr.io/project-bar/repo-baz". Default (UNSPECIFIED) is equivalent to
+	// any source is allowed.
+	ContainerImageSources *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"containerImageSources,omitempty"`
+
+	// DockerAddCapabilities: Whether dockerAddCapabilities can be used or
+	// what capabilities are allowed.
+	DockerAddCapabilities *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerAddCapabilities,omitempty"`
+
+	// DockerChrootPath: Whether dockerChrootPath can be used.
+	DockerChrootPath *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerChrootPath,omitempty"`
+
+	// DockerNetwork: Whether dockerNetwork can be used or what network
+	// modes are allowed. E.g. one may allow `off` value only via
+	// `allowed_values`.
+	DockerNetwork *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerNetwork,omitempty"`
+
+	// DockerPrivileged: Whether dockerPrivileged can be used.
+	DockerPrivileged *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerPrivileged,omitempty"`
+
+	// DockerRunAsRoot: Whether dockerRunAsRoot can be used.
+	DockerRunAsRoot *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerRunAsRoot,omitempty"`
+
+	// DockerRuntime: Whether dockerRuntime is allowed to be set or what
+	// runtimes are allowed. Note linux_isolation takes precedence, and if
+	// set, docker_runtime values may be rejected if they are incompatible
+	// with the selected isolation.
+	DockerRuntime *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerRuntime,omitempty"`
+
+	// DockerSiblingContainers: Whether dockerSiblingContainers can be used.
+	DockerSiblingContainers *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature `json:"dockerSiblingContainers,omitempty"`
+
+	// LinuxIsolation: linux_isolation allows overriding the docker runtime
+	// used for containers started on Linux.
+	//
+	// Possible values:
+	//   "LINUX_ISOLATION_UNSPECIFIED" - Default value. Will be using Linux
+	// default runtime.
+	//   "GVISOR" - Use gVisor runsc runtime.
+	LinuxIsolation string `json:"linuxIsolation,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g.
+	// "ContainerImageSources") to unconditionally include in API requests.
+	// By default, fields with empty values are omitted from API requests.
+	// However, any non-pointer, non-interface field appearing in
+	// ForceSendFields will be sent to the server regardless of whether the
+	// field is empty or not. This may be used to include empty fields in
+	// Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "ContainerImageSources") to
+	// include in API requests with the JSON null value. By default, fields
+	// with empty values are omitted from API requests. However, any field
+	// with an empty value appearing in NullFields will be sent to the
+	// server as null. It is an error if a field in this list has a
+	// non-empty value. This may be used to include null fields in Patch
+	// requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy) MarshalJSON() ([]byte, error) {
+	type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature:
+// Defines whether a feature can be used or what values are accepted.
+type GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature struct {
+	// AllowedValues: A list of acceptable values. Only effective when the
+	// policy is `RESTRICTED`.
+	AllowedValues []string `json:"allowedValues,omitempty"`
+
+	// Policy: The policy of the feature.
+	//
+	// Possible values:
+	//   "POLICY_UNSPECIFIED" - Default value, if not explicitly set.
+	// Equivalent to FORBIDDEN, unless otherwise documented on a specific
+	// Feature.
+	//   "ALLOWED" - Feature is explicitly allowed.
+	//   "FORBIDDEN" - Feature is forbidden. Requests attempting to leverage
+	// it will get an FailedPrecondition error, with a message like:
+	// "Feature forbidden by FeaturePolicy: Feature on instance "
+	//   "RESTRICTED" - Only the values specified in the `allowed_values`
+	// are allowed.
+	Policy string `json:"policy,omitempty"`
+
+	// ForceSendFields is a list of field names (e.g. "AllowedValues") to
+	// unconditionally include in API requests. By default, fields with
+	// empty values are omitted from API requests. However, any non-pointer,
+	// non-interface field appearing in ForceSendFields will be sent to the
+	// server regardless of whether the field is empty or not. This may be
+	// used to include empty fields in Patch requests.
+	ForceSendFields []string `json:"-"`
+
+	// NullFields is a list of field names (e.g. "AllowedValues") to include
+	// in API requests with the JSON null value. By default, fields with
+	// empty values are omitted from API requests. However, any field with
+	// an empty value appearing in NullFields will be sent to the server as
+	// null. It is an error if a field in this list has a non-empty value.
+	// This may be used to include null fields in Patch requests.
+	NullFields []string `json:"-"`
+}
+
+func (s *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature) MarshalJSON() ([]byte, error) {
+	type NoMethod GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicyFeature
+	raw := NoMethod(*s)
+	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetInstanceRequest: The
 // request used for `GetInstance`.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetInstanceRequest struct {
-	// Name: Name of the instance to retrieve.
-	// Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
+	// Name: Name of the instance to retrieve. Format:
+	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
 	Name string `json:"name,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Name") to
@@ -3153,11 +2812,8 @@
 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetWorkerPoolRequest:
 // The request used for GetWorkerPool.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaGetWorkerPoolRequest struct {
-	// Name: Name of the worker pool to
-	// retrieve.
-	// Format:
-	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/worke
-	// rpools/[POOL_ID]`.
+	// Name: Name of the worker pool to retrieve. Format:
+	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.
 	Name string `json:"name,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Name") to
@@ -3184,15 +2840,16 @@
 }
 
 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance: Instance
-// conceptually encapsulates all Remote Build Execution resources
-// for remote builds.
-// An instance consists of storage and compute resources (for
-// example,
-// `ContentAddressableStorage`, `ActionCache`, `WorkerPools`) used
-// for
-// running remote builds.
-// All Remote Build Execution API calls are scoped to an instance.
+// conceptually encapsulates all Remote Build Execution resources for
+// remote builds. An instance consists of storage and compute resources
+// (for example, `ContentAddressableStorage`, `ActionCache`,
+// `WorkerPools`) used for running remote builds. All Remote Build
+// Execution API calls are scoped to an instance.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance struct {
+	// FeaturePolicy: The policy to define whether or not RBE features can
+	// be used or how they can be used.
+	FeaturePolicy *GoogleDevtoolsRemotebuildexecutionAdminV1alphaFeaturePolicy `json:"featurePolicy,omitempty"`
+
 	// Location: The location is a GCP region. Currently only `us-central1`
 	// is supported.
 	Location string `json:"location,omitempty"`
@@ -3201,12 +2858,10 @@
 	// for the instance.
 	LoggingEnabled bool `json:"loggingEnabled,omitempty"`
 
-	// Name: Output only. Instance resource name formatted
-	// as:
-	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
-	// Name should not be populated when creating an instance since it is
-	// provided
-	// in the `instance_id` field.
+	// Name: Output only. Instance resource name formatted as:
+	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`. Name should not be
+	// populated when creating an instance since it is provided in the
+	// `instance_id` field.
 	Name string `json:"name,omitempty"`
 
 	// State: Output only. State of the instance.
@@ -3215,20 +2870,16 @@
 	//   "STATE_UNSPECIFIED" - Not a valid state, but the default value of
 	// the enum.
 	//   "CREATING" - The instance is in state `CREATING` once
-	// `CreateInstance` is called and
-	// before the instance is ready for use.
+	// `CreateInstance` is called and before the instance is ready for use.
 	//   "RUNNING" - The instance is in state `RUNNING` when it is ready for
 	// use.
 	//   "INACTIVE" - An `INACTIVE` instance indicates that there is a
-	// problem that needs to be
-	// fixed. Such instances cannot be used for execution and instances
-	// that
-	// remain in this state for a significant period of time will be
-	// removed
-	// permanently.
+	// problem that needs to be fixed. Such instances cannot be used for
+	// execution and instances that remain in this state for a significant
+	// period of time will be removed permanently.
 	State string `json:"state,omitempty"`
 
-	// ForceSendFields is a list of field names (e.g. "Location") to
+	// ForceSendFields is a list of field names (e.g. "FeaturePolicy") to
 	// unconditionally include in API requests. By default, fields with
 	// empty values are omitted from API requests. However, any non-pointer,
 	// non-interface field appearing in ForceSendFields will be sent to the
@@ -3236,10 +2887,10 @@
 	// used to include empty fields in Patch requests.
 	ForceSendFields []string `json:"-"`
 
-	// NullFields is a list of field names (e.g. "Location") to include in
-	// API requests with the JSON null value. By default, fields with empty
-	// values are omitted from API requests. However, any field with an
-	// empty value appearing in NullFields will be sent to the server as
+	// NullFields is a list of field names (e.g. "FeaturePolicy") to include
+	// in API requests with the JSON null value. By default, fields with
+	// empty values are omitted from API requests. However, any field with
+	// an empty value appearing in NullFields will be sent to the server as
 	// null. It is an error if a field in this list has a non-empty value.
 	// This may be used to include null fields in Patch requests.
 	NullFields []string `json:"-"`
@@ -3252,8 +2903,8 @@
 }
 
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaListInstancesRequest struct {
-	// Parent: Resource name of the project.
-	// Format: `projects/[PROJECT_ID]`.
+	// Parent: Resource name of the project. Format:
+	// `projects/[PROJECT_ID]`.
 	Parent string `json:"parent,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Parent") to
@@ -3308,46 +2959,26 @@
 
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaListWorkerPoolsRequest struct {
 	// Filter: Optional. A filter expression that filters resources listed
-	// in
-	// the response. The expression must specify the field name, a
-	// comparison
-	// operator, and the value that you want to use for filtering. The
-	// value
-	// must be a string, a number, or a boolean. String values
-	// are
-	// case-insensitive.
-	// The comparison operator must be either `:`, `=`, `!=`, `>`, `>=`,
-	// `<=` or
-	// `<`.
-	// The `:` operator can be used with string fields to match
-	// substrings.
-	// For non-string fields it is equivalent to the `=` operator.
-	// The `:*` comparison can be used to test  whether a key has been
-	// defined.
-	//
-	// You can also filter on nested fields.
-	//
-	// To filter on multiple expressions, you can separate expression
-	// using
-	// `AND` and `OR` operators, using parentheses to specify precedence.
-	// If
-	// neither operator is specified, `AND` is assumed.
-	//
-	// Examples:
-	//
-	// Include only pools with more than 100 reserved
-	// workers:
-	// `(worker_count > 100) (worker_config.reserved = true)`
-	//
+	// in the response. The expression must specify the field name, a
+	// comparison operator, and the value that you want to use for
+	// filtering. The value must be a string, a number, or a boolean. String
+	// values are case-insensitive. The comparison operator must be either
+	// `:`, `=`, `!=`, `>`, `>=`, `<=` or `<`. The `:` operator can be used
+	// with string fields to match substrings. For non-string fields it is
+	// equivalent to the `=` operator. The `:*` comparison can be used to
+	// test whether a key has been defined. You can also filter on nested
+	// fields. To filter on multiple expressions, you can separate
+	// expression using `AND` and `OR` operators, using parentheses to
+	// specify precedence. If neither operator is specified, `AND` is
+	// assumed. Examples: Include only pools with more than 100 reserved
+	// workers: `(worker_count > 100) (worker_config.reserved = true)`
 	// Include only pools with a certain label or machines of the
-	// n1-standard
-	// family:
-	// `worker_config.labels.key1 : * OR worker_config.machine_type:
-	// n1-standard`
+	// n1-standard family: `worker_config.labels.key1 : * OR
+	// worker_config.machine_type: n1-standard`
 	Filter string `json:"filter,omitempty"`
 
-	// Parent: Resource name of the instance.
-	// Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
+	// Parent: Resource name of the instance. Format:
+	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
 	Parent string `json:"parent,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Filter") to
@@ -3406,28 +3037,18 @@
 	// Instance: Specifies the instance to update.
 	Instance *GoogleDevtoolsRemotebuildexecutionAdminV1alphaInstance `json:"instance,omitempty"`
 
-	// LoggingEnabled: Deprecated, use instance.logging_enabled
-	// instead.
+	// LoggingEnabled: Deprecated, use instance.logging_enabled instead.
 	// Whether to enable Stackdriver logging for this instance.
 	LoggingEnabled bool `json:"loggingEnabled,omitempty"`
 
-	// Name: Deprecated, use instance.Name instead.
-	// Name of the instance to update.
-	// Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
+	// Name: Deprecated, use instance.Name instead. Name of the instance to
+	// update. Format: `projects/[PROJECT_ID]/instances/[INSTANCE_ID]`.
 	Name string `json:"name,omitempty"`
 
 	// UpdateMask: The update mask applies to instance. For the `FieldMask`
-	// definition,
-	// see
-	// https://developers.google.com/protocol-buffers/docs/reference/goog
-	// le.protobuf#fieldmask
-	// If an empty update_mask is provided, only the non-default valued
-	// field in
-	// the worker pool field will be updated. Note that in order to update a
-	// field
-	// to the default value (zero, false, empty string) an explicit
-	// update_mask
-	// must be provided.
+	// definition, see
+	// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If an empty update_mask is provided, only the non-default valued field in the worker pool field will be updated. Note that in order to update a field to the default value (zero, false, empty string) an explicit update_mask must be
+	// provided.
 	UpdateMask string `json:"updateMask,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Instance") to
@@ -3457,18 +3078,9 @@
 //  The request used for UpdateWorkerPool.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaUpdateWorkerPoolRequest struct {
 	// UpdateMask: The update mask applies to worker_pool. For the
-	// `FieldMask`
-	// definition,
-	// see
-	// https://developers.google.com/protocol-buffers/docs/re
-	// ference/google.protobuf#fieldmask
-	// If an empty update_mask is provided, only the non-default valued
-	// field in
-	// the worker pool field will be updated. Note that in order to update a
-	// field
-	// to the default value (zero, false, empty string) an explicit
-	// update_mask
-	// must be provided.
+	// `FieldMask` definition, see
+	// https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask If an empty update_mask is provided, only the non-default valued field in the worker pool field will be updated. Note that in order to update a field to the default value (zero, false, empty string) an explicit update_mask must be
+	// provided.
 	UpdateMask string `json:"updateMask,omitempty"`
 
 	// WorkerPool: Specifies the worker pool to update.
@@ -3498,70 +3110,55 @@
 }
 
 // GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig: Defines
-// the configuration to be used for a creating workers in
-// the worker pool.
+// the configuration to be used for a creating workers in the worker
+// pool.
 type GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig struct {
 	// Accelerator: The accelerator card attached to each VM.
 	Accelerator *GoogleDevtoolsRemotebuildexecutionAdminV1alphaAcceleratorConfig `json:"accelerator,omitempty"`
 
-	// DiskSizeGb: Required. Size of the disk attached to the worker, in
-	// GB.
+	// DiskSizeGb: Required. Size of the disk attached to the worker, in GB.
 	// See https://cloud.google.com/compute/docs/disks/
 	DiskSizeGb int64 `json:"diskSizeGb,omitempty,string"`
 
-	// DiskType: Required. Disk Type to use for the worker.
-	// See
-	// [Storage
-	// options](https://cloud.google.com/compute/docs/disks/#introdu
-	// ction).
+	// DiskType: Required. Disk Type to use for the worker. See [Storage
+	// options](https://cloud.google.com/compute/docs/disks/#introduction).
 	// Currently only `pd-standard` and `pd-ssd` are supported.
 	DiskType string `json:"diskType,omitempty"`
 
-	// Labels: Labels associated with the workers.
-	// Label keys and values can be no longer than 63 characters, can only
-	// contain
-	// lowercase letters, numeric characters, underscores and
-	// dashes.
-	// International letters are permitted. Label keys must start with a
-	// letter.
-	// Label values are optional.
-	// There can not be more than 64 labels per resource.
+	// Labels: Labels associated with the workers. Label keys and values can
+	// be no longer than 63 characters, can only contain lowercase letters,
+	// numeric characters, underscores and dashes. International letters are
+	// permitted. Label keys must start with a letter. Label values are
+	// optional. There can not be more than 64 labels per resource.
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// MachineType: Required. Machine type of the worker, such as
-	// `n1-standard-2`.
-	// See https://cloud.google.com/compute/docs/machine-types for a list
-	// of
+	// `n1-standard-2`. See
+	// https://cloud.google.com/compute/docs/machine-types for a list of
 	// supported machine types. Note that `f1-micro` and `g1-small` are not
-	// yet
-	// supported.
+	// yet supported.
 	MachineType string `json:"machineType,omitempty"`
 
 	// MaxConcurrentActions: The maximum number of actions a worker can
 	// execute concurrently.
 	MaxConcurrentActions int64 `json:"maxConcurrentActions,omitempty,string"`
 
-	// MinCpuPlatform: Minimum CPU platform to use when creating the
-	// worker.
+	// MinCpuPlatform: Minimum CPU platform to use when creating the worker.
 	// See [CPU
 	// Platforms](https://cloud.google.com/compute/docs/cpu-platforms).
 	MinCpuPlatform string `json:"minCpuPlatform,omitempty"`
 
 	// NetworkAccess: Determines the type of network access granted to
-	// workers. Possible values:
-	//
-	// - "public": Workers can connect to the public internet.
-	// - "private": Workers can only connect to Google APIs and services.
-	// - "restricted-private": Workers can only connect to Google APIs that
-	// are
-	//   reachable through `restricted.googleapis.com` (`199.36.153.4/30`).
+	// workers. Possible values: - "public": Workers can connect to the
+	// public internet. - "private": Workers can only connect to Google APIs
+	// and services. - "restricted-private": Workers can only connect to
+	// Google APIs that are reachable through `restricted.googleapis.com`
+	// (`199.36.153.4/30`).
 	NetworkAccess string `json:"networkAccess,omitempty"`
 
 	// Reserved: Determines whether the worker is reserved (equivalent to a
-	// Compute Engine
-	// on-demand VM and therefore won't be preempted).
-	// See [Preemptible VMs](https://cloud.google.com/preemptible-vms/) for
-	// more
+	// Compute Engine on-demand VM and therefore won't be preempted). See
+	// [Preemptible VMs](https://cloud.google.com/preemptible-vms/) for more
 	// details.
 	Reserved bool `json:"reserved,omitempty"`
 
@@ -3600,12 +3197,9 @@
 	// Channel: Channel specifies the release channel of the pool.
 	Channel string `json:"channel,omitempty"`
 
-	// Name: WorkerPool resource name formatted
-	// as:
-	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_I
-	// D]`.
-	// name should not be populated when creating a worker pool since it
-	// is
+	// Name: WorkerPool resource name formatted as:
+	// `projects/[PROJECT_ID]/instances/[INSTANCE_ID]/workerpools/[POOL_ID]`.
+	//  name should not be populated when creating a worker pool since it is
 	// provided in the `poolId` field.
 	Name string `json:"name,omitempty"`
 
@@ -3615,34 +3209,26 @@
 	//   "STATE_UNSPECIFIED" - Not a valid state, but the default value of
 	// the enum.
 	//   "CREATING" - The worker pool is in state `CREATING` once
-	// `CreateWorkerPool` is called
-	// and before all requested workers are ready.
+	// `CreateWorkerPool` is called and before all requested workers are
+	// ready.
 	//   "RUNNING" - The worker pool is in state `RUNNING` when all its
-	// workers are ready for
-	// use.
+	// workers are ready for use.
 	//   "UPDATING" - The worker pool is in state `UPDATING` once
-	// `UpdateWorkerPool` is called
-	// and before the new configuration has all the requested workers ready
-	// for
-	// use, and no older configuration has any workers. At that point the
-	// state
-	// transitions to `RUNNING`.
+	// `UpdateWorkerPool` is called and before the new configuration has all
+	// the requested workers ready for use, and no older configuration has
+	// any workers. At that point the state transitions to `RUNNING`.
 	//   "DELETING" - The worker pool is in state `DELETING` once the
-	// `Delete` method is called
-	// and before the deletion completes.
+	// `Delete` method is called and before the deletion completes.
 	//   "INACTIVE" - The worker pool is in state `INACTIVE` when the
-	// instance hosting the
-	// worker pool in not running.
+	// instance hosting the worker pool in not running.
 	State string `json:"state,omitempty"`
 
 	// WorkerConfig: Specifies the properties, such as machine type and disk
-	// size, used for
-	// creating workers in a worker pool.
+	// size, used for creating workers in a worker pool.
 	WorkerConfig *GoogleDevtoolsRemotebuildexecutionAdminV1alphaWorkerConfig `json:"workerConfig,omitempty"`
 
 	// WorkerCount: The desired number of workers in the worker pool. Must
-	// be a value between
-	// 0 and 15000.
+	// be a value between 0 and 15000.
 	WorkerCount int64 `json:"workerCount,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "Autoscale") to
@@ -3669,24 +3255,15 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2AdminTemp: AdminTemp is a
-// prelimiary set of administration tasks. It's called "Temp"
-// because we do not yet know the best way to represent admin tasks;
-// it's
-// possible that this will be entirely replaced in later versions of
-// this API.
-// If this message proves to be sufficient, it will be renamed in the
-// alpha or
-// beta release of this API.
-//
-// This message (suitably marshalled into a protobuf.Any) can be used as
-// the
-// inline_assignment field in a lease; the lease assignment field should
-// simply
-// be "admin" in these cases.
-//
+// prelimiary set of administration tasks. It's called "Temp" because we
+// do not yet know the best way to represent admin tasks; it's possible
+// that this will be entirely replaced in later versions of this API. If
+// this message proves to be sufficient, it will be renamed in the alpha
+// or beta release of this API. This message (suitably marshalled into a
+// protobuf.Any) can be used as the inline_assignment field in a lease;
+// the lease assignment field should simply be "admin" in these cases.
 // This message is heavily based on Swarming administration tasks from
-// the LUCI
-// project (http://github.com/luci/luci-py/appengine/swarming).
+// the LUCI project (http://github.com/luci/luci-py/appengine/swarming).
 type GoogleDevtoolsRemoteworkersV1test2AdminTemp struct {
 	// Arg: The argument to the admin action; see `Command` for semantics.
 	Arg string `json:"arg,omitempty"`
@@ -3696,16 +3273,13 @@
 	// Possible values:
 	//   "UNSPECIFIED" - Illegal value.
 	//   "BOT_UPDATE" - Download and run a new version of the bot. `arg`
-	// will be a resource
-	// accessible via `ByteStream.Read` to obtain the new bot code.
+	// will be a resource accessible via `ByteStream.Read` to obtain the new
+	// bot code.
 	//   "BOT_RESTART" - Restart the bot without downloading a new version.
-	// `arg` will be a
-	// message to log.
+	// `arg` will be a message to log.
 	//   "BOT_TERMINATE" - Shut down the bot. `arg` will be a task resource
-	// name (similar to those
-	// in tasks.proto) that the bot can use to tell the server that it
-	// is
-	// terminating.
+	// name (similar to those in tasks.proto) that the bot can use to tell
+	// the server that it is terminating.
 	//   "HOST_RESTART" - Restart the host computer. `arg` will be a message
 	// to log.
 	Command string `json:"command,omitempty"`
@@ -3767,23 +3341,19 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2CommandOutputs: DEPRECATED - use
-// CommandResult instead.
-// Describes the actual outputs from the task.
+// CommandResult instead. Describes the actual outputs from the task.
 type GoogleDevtoolsRemoteworkersV1test2CommandOutputs struct {
 	// ExitCode: exit_code is only fully reliable if the status' code is OK.
-	// If the task
-	// exceeded its deadline or was cancelled, the process may still produce
-	// an
-	// exit code as it is cancelled, and this will be populated, but a
-	// successful
-	// (zero) is unlikely to be correct unless the status code is OK.
+	// If the task exceeded its deadline or was cancelled, the process may
+	// still produce an exit code as it is cancelled, and this will be
+	// populated, but a successful (zero) is unlikely to be correct unless
+	// the status code is OK.
 	ExitCode int64 `json:"exitCode,omitempty"`
 
 	// Outputs: The output files. The blob referenced by the digest should
-	// contain
-	// one of the following (implementation-dependent):
-	//    * A marshalled DirectoryMetadata of the returned filesystem
-	//    * A LUCI-style .isolated file
+	// contain one of the following (implementation-dependent): * A
+	// marshalled DirectoryMetadata of the returned filesystem * A
+	// LUCI-style .isolated file
 	Outputs *GoogleDevtoolsRemoteworkersV1test2Digest `json:"outputs,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ExitCode") to
@@ -3810,20 +3380,16 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2CommandOverhead: DEPRECATED - use
-// CommandResult instead.
-// Can be used as part of CompleteRequest.metadata, or are part of a
-// more
-// sophisticated message.
+// CommandResult instead. Can be used as part of
+// CompleteRequest.metadata, or are part of a more sophisticated
+// message.
 type GoogleDevtoolsRemoteworkersV1test2CommandOverhead struct {
 	// Duration: The elapsed time between calling Accept and Complete. The
-	// server will also
-	// have its own idea of what this should be, but this excludes the
-	// overhead of
-	// the RPCs and the bot response time.
+	// server will also have its own idea of what this should be, but this
+	// excludes the overhead of the RPCs and the bot response time.
 	Duration string `json:"duration,omitempty"`
 
-	// Overhead: The amount of time *not* spent executing the command
-	// (ie
+	// Overhead: The amount of time *not* spent executing the command (ie
 	// uploading/downloading files).
 	Overhead string `json:"overhead,omitempty"`
 
@@ -3851,51 +3417,41 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2CommandResult: All information
-// about the execution of a command, suitable for providing as
-// the Bots interface's `Lease.result` field.
+// about the execution of a command, suitable for providing as the Bots
+// interface's `Lease.result` field.
 type GoogleDevtoolsRemoteworkersV1test2CommandResult struct {
 	// Duration: The elapsed time between calling Accept and Complete. The
-	// server will also
-	// have its own idea of what this should be, but this excludes the
-	// overhead of
-	// the RPCs and the bot response time.
+	// server will also have its own idea of what this should be, but this
+	// excludes the overhead of the RPCs and the bot response time.
 	Duration string `json:"duration,omitempty"`
 
 	// ExitCode: The exit code of the process. An exit code of "0" should
-	// only be trusted if
-	// `status` has a code of OK (otherwise it may simply be unset).
+	// only be trusted if `status` has a code of OK (otherwise it may simply
+	// be unset).
 	ExitCode int64 `json:"exitCode,omitempty"`
 
 	// Metadata: Implementation-dependent metadata about the task. Both
-	// servers and bots
-	// may define messages which can be encoded here; bots are free to
-	// provide
-	// metadata in multiple formats, and servers are free to choose one or
-	// more
-	// of the values to process and ignore others. In particular, it is
-	// *not*
-	// considered an error for the bot to provide the server with a field
-	// that it
-	// doesn't know about.
+	// servers and bots may define messages which can be encoded here; bots
+	// are free to provide metadata in multiple formats, and servers are
+	// free to choose one or more of the values to process and ignore
+	// others. In particular, it is *not* considered an error for the bot to
+	// provide the server with a field that it doesn't know about.
 	Metadata []googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Outputs: The output files. The blob referenced by the digest should
-	// contain
-	// one of the following (implementation-dependent):
-	//    * A marshalled DirectoryMetadata of the returned filesystem
-	//    * A LUCI-style .isolated file
+	// contain one of the following (implementation-dependent): * A
+	// marshalled DirectoryMetadata of the returned filesystem * A
+	// LUCI-style .isolated file
 	Outputs *GoogleDevtoolsRemoteworkersV1test2Digest `json:"outputs,omitempty"`
 
-	// Overhead: The amount of time *not* spent executing the command
-	// (ie
+	// Overhead: The amount of time *not* spent executing the command (ie
 	// uploading/downloading files).
 	Overhead string `json:"overhead,omitempty"`
 
 	// Status: An overall status for the command. For example, if the
-	// command timed out,
-	// this might have a code of DEADLINE_EXCEEDED; if it was killed by the
-	// OS for
-	// memory exhaustion, it might have a code of RESOURCE_EXHAUSTED.
+	// command timed out, this might have a code of DEADLINE_EXCEEDED; if it
+	// was killed by the OS for memory exhaustion, it might have a code of
+	// RESOURCE_EXHAUSTED.
 	Status *GoogleRpcStatus `json:"status,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Duration") to
@@ -3922,8 +3478,7 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2CommandTask: Describes a
-// shell-style task to execute, suitable for providing as the
-// Bots
+// shell-style task to execute, suitable for providing as the Bots
 // interface's `Lease.payload` field.
 type GoogleDevtoolsRemoteworkersV1test2CommandTask struct {
 	// ExpectedOutputs: The expected outputs from the task.
@@ -3962,63 +3517,41 @@
 // GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs: Describes the
 // inputs to a shell-style task.
 type GoogleDevtoolsRemoteworkersV1test2CommandTaskInputs struct {
-	// Arguments: The command itself to run (e.g., argv).
-	//
-	// This field should be passed directly to the underlying operating
-	// system,
-	// and so it must be sensible to that operating system. For example,
-	// on
-	// Windows, the first argument might be "C:\Windows\System32\ping.exe"
-	// -
-	// that is, using drive letters and backslashes. A command for a
-	// *nix
-	// system, on the other hand, would use forward slashes.
-	//
-	// All other fields in the RWAPI must consistently use forward
-	// slashes,
-	// since those fields may be interpretted by both the service and the
-	// bot.
+	// Arguments: The command itself to run (e.g., argv). This field should
+	// be passed directly to the underlying operating system, and so it must
+	// be sensible to that operating system. For example, on Windows, the
+	// first argument might be "C:\Windows\System32\ping.exe" - that is,
+	// using drive letters and backslashes. A command for a *nix system, on
+	// the other hand, would use forward slashes. All other fields in the
+	// RWAPI must consistently use forward slashes, since those fields may
+	// be interpretted by both the service and the bot.
 	Arguments []string `json:"arguments,omitempty"`
 
 	// EnvironmentVariables: All environment variables required by the task.
 	EnvironmentVariables []*GoogleDevtoolsRemoteworkersV1test2CommandTaskInputsEnvironmentVariable `json:"environmentVariables,omitempty"`
 
 	// Files: The input filesystem to be set up prior to the task beginning.
-	// The
-	// contents should be a repeated set of FileMetadata messages though
-	// other
-	// formats are allowed if better for the implementation (eg, a
-	// LUCI-style
-	// .isolated file).
-	//
-	// This field is repeated since implementations might want to cache
-	// the
-	// metadata, in which case it may be useful to break up portions of
-	// the
-	// filesystem that change frequently (eg, specific input files) from
-	// those
-	// that don't (eg, standard header files).
+	// The contents should be a repeated set of FileMetadata messages though
+	// other formats are allowed if better for the implementation (eg, a
+	// LUCI-style .isolated file). This field is repeated since
+	// implementations might want to cache the metadata, in which case it
+	// may be useful to break up portions of the filesystem that change
+	// frequently (eg, specific input files) from those that don't (eg,
+	// standard header files).
 	Files []*GoogleDevtoolsRemoteworkersV1test2Digest `json:"files,omitempty"`
 
 	// InlineBlobs: Inline contents for blobs expected to be needed by the
-	// bot to execute the
-	// task. For example, contents of entries in `files` or blobs that
-	// are
-	// indirectly referenced by an entry there.
-	//
-	// The bot should check against this list before downloading required
-	// task
-	// inputs to reduce the number of communications between itself and
-	// the
+	// bot to execute the task. For example, contents of entries in `files`
+	// or blobs that are indirectly referenced by an entry there. The bot
+	// should check against this list before downloading required task
+	// inputs to reduce the number of communications between itself and the
 	// remote CAS server.
 	InlineBlobs []*GoogleDevtoolsRemoteworkersV1test2Blob `json:"inlineBlobs,omitempty"`
 
 	// WorkingDirectory: Directory from which a command is executed. It is a
-	// relative directory
-	// with respect to the bot's working directory (i.e., "./"). If it
-	// is
-	// non-empty, then it must exist under "./". Otherwise, "./" will be
-	// used.
+	// relative directory with respect to the bot's working directory (i.e.,
+	// "./"). If it is non-empty, then it must exist under "./". Otherwise,
+	// "./" will be used.
 	WorkingDirectory string `json:"workingDirectory,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Arguments") to
@@ -4080,35 +3613,27 @@
 // expected outputs of the command.
 type GoogleDevtoolsRemoteworkersV1test2CommandTaskOutputs struct {
 	// Directories: A list of expected directories, relative to the
-	// execution root. All paths
-	// MUST be delimited by forward slashes.
+	// execution root. All paths MUST be delimited by forward slashes.
 	Directories []string `json:"directories,omitempty"`
 
 	// Files: A list of expected files, relative to the execution root. All
-	// paths
-	// MUST be delimited by forward slashes.
+	// paths MUST be delimited by forward slashes.
 	Files []string `json:"files,omitempty"`
 
 	// StderrDestination: The destination to which any stderr should be
-	// sent. The method by which
-	// the bot should send the stream contents to that destination is
-	// not
-	// defined in this API. As examples, the destination could be a
-	// file
-	// referenced in the `files` field in this message, or it could be a
-	// URI
-	// that must be written via the ByteStream API.
+	// sent. The method by which the bot should send the stream contents to
+	// that destination is not defined in this API. As examples, the
+	// destination could be a file referenced in the `files` field in this
+	// message, or it could be a URI that must be written via the ByteStream
+	// API.
 	StderrDestination string `json:"stderrDestination,omitempty"`
 
 	// StdoutDestination: The destination to which any stdout should be
-	// sent. The method by which
-	// the bot should send the stream contents to that destination is
-	// not
-	// defined in this API. As examples, the destination could be a
-	// file
-	// referenced in the `files` field in this message, or it could be a
-	// URI
-	// that must be written via the ByteStream API.
+	// sent. The method by which the bot should send the stream contents to
+	// that destination is not defined in this API. As examples, the
+	// destination could be a file referenced in the `files` field in this
+	// message, or it could be a URI that must be written via the ByteStream
+	// API.
 	StdoutDestination string `json:"stdoutDestination,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Directories") to
@@ -4138,32 +3663,23 @@
 // timeouts associated with this task.
 type GoogleDevtoolsRemoteworkersV1test2CommandTaskTimeouts struct {
 	// Execution: This specifies the maximum time that the task can run,
-	// excluding the
-	// time required to download inputs or upload outputs. That is, the
-	// worker
-	// will terminate the task if it runs longer than this.
+	// excluding the time required to download inputs or upload outputs.
+	// That is, the worker will terminate the task if it runs longer than
+	// this.
 	Execution string `json:"execution,omitempty"`
 
 	// Idle: This specifies the maximum amount of time the task can be idle
-	// - that is,
-	// go without generating some output in either stdout or stderr. If
-	// the
-	// process is silent for more than the specified time, the worker
-	// will
-	// terminate the task.
+	// - that is, go without generating some output in either stdout or
+	// stderr. If the process is silent for more than the specified time,
+	// the worker will terminate the task.
 	Idle string `json:"idle,omitempty"`
 
 	// Shutdown: If the execution or IO timeouts are exceeded, the worker
-	// will try to
-	// gracefully terminate the task and return any existing logs.
-	// However,
-	// tasks may be hard-frozen in which case this process will fail.
-	// This
-	// timeout specifies how long to wait for a terminated task to shut
-	// down
-	// gracefully (e.g. via SIGTERM) before we bring down the hammer
-	// (e.g.
-	// SIGKILL on *nix, CTRL_BREAK_EVENT on Windows).
+	// will try to gracefully terminate the task and return any existing
+	// logs. However, tasks may be hard-frozen in which case this process
+	// will fail. This timeout specifies how long to wait for a terminated
+	// task to shut down gracefully (e.g. via SIGTERM) before we bring down
+	// the hammer (e.g. SIGKILL on *nix, CTRL_BREAK_EVENT on Windows).
 	Shutdown string `json:"shutdown,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Execution") to
@@ -4190,33 +3706,25 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2Digest: The CommandTask and
-// CommandResult messages assume the existence of a service
-// that can serve blobs of content, identified by a hash and size known
-// as a
+// CommandResult messages assume the existence of a service that can
+// serve blobs of content, identified by a hash and size known as a
 // "digest." The method by which these blobs may be retrieved is not
-// specified
-// here, but a model implementation is in the Remote Execution
-// API's
-// "ContentAddressibleStorage" interface.
-//
-// In the context of the RWAPI, a Digest will virtually always refer to
-// the
-// contents of a file or a directory. The latter is represented by
-// the
-// byte-encoded Directory message.
+// specified here, but a model implementation is in the Remote Execution
+// API's "ContentAddressibleStorage" interface. In the context of the
+// RWAPI, a Digest will virtually always refer to the contents of a file
+// or a directory. The latter is represented by the byte-encoded
+// Directory message.
 type GoogleDevtoolsRemoteworkersV1test2Digest struct {
 	// Hash: A string-encoded hash (eg "1a2b3c", not the byte array [0x1a,
-	// 0x2b, 0x3c])
-	// using an implementation-defined hash algorithm (eg SHA-256).
+	// 0x2b, 0x3c]) using an implementation-defined hash algorithm (eg
+	// SHA-256).
 	Hash string `json:"hash,omitempty"`
 
 	// SizeBytes: The size of the contents. While this is not strictly
-	// required as part of an
-	// identifier (after all, any given hash will have exactly one
-	// canonical
-	// size), it's useful in almost all cases when one might want to send
-	// or
-	// retrieve blobs of content and is included here for this reason.
+	// required as part of an identifier (after all, any given hash will
+	// have exactly one canonical size), it's useful in almost all cases
+	// when one might want to send or retrieve blobs of content and is
+	// included here for this reason.
 	SizeBytes int64 `json:"sizeBytes,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "Hash") to
@@ -4243,8 +3751,8 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2Directory: The contents of a
-// directory. Similar to the equivalent message in the Remote
-// Execution API.
+// directory. Similar to the equivalent message in the Remote Execution
+// API.
 type GoogleDevtoolsRemoteworkersV1test2Directory struct {
 	// Directories: Any subdirectories
 	Directories []*GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata `json:"directories,omitempty"`
@@ -4276,13 +3784,11 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata: The metadata for
-// a directory. Similar to the equivalent message in the
-// Remote
+// a directory. Similar to the equivalent message in the Remote
 // Execution API.
 type GoogleDevtoolsRemoteworkersV1test2DirectoryMetadata struct {
 	// Digest: A pointer to the contents of the directory, in the form of a
-	// marshalled
-	// Directory message.
+	// marshalled Directory message.
 	Digest *GoogleDevtoolsRemoteworkersV1test2Digest `json:"digest,omitempty"`
 
 	// Path: The path of the directory, as in FileMetadata.path.
@@ -4312,32 +3818,25 @@
 }
 
 // GoogleDevtoolsRemoteworkersV1test2FileMetadata: The metadata for a
-// file. Similar to the equivalent message in the Remote
-// Execution API.
+// file. Similar to the equivalent message in the Remote Execution API.
 type GoogleDevtoolsRemoteworkersV1test2FileMetadata struct {
 	// Contents: If the file is small enough, its contents may also or
-	// alternatively be
-	// listed here.
+	// alternatively be listed here.
 	Contents string `json:"contents,omitempty"`
 
 	// Digest: A pointer to the contents of the file. The method by which a
-	// client
-	// retrieves the contents from a CAS system is not defined here.
+	// client retrieves the contents from a CAS system is not defined here.
 	Digest *GoogleDevtoolsRemoteworkersV1test2Digest `json:"digest,omitempty"`
 
 	// IsExecutable: Properties of the file
 	IsExecutable bool `json:"isExecutable,omitempty"`
 
-	// Path: The path of this file. If this message is part of
-	// the
+	// Path: The path of this file. If this message is part of the
 	// CommandOutputs.outputs fields, the path is relative to the execution
-	// root
-	// and must correspond to an entry in CommandTask.outputs.files. If
-	// this
-	// message is part of a Directory message, then the path is relative to
-	// the
-	// root of that directory. All paths MUST be delimited by forward
-	// slashes.
+	// root and must correspond to an entry in CommandTask.outputs.files. If
+	// this message is part of a Directory message, then the path is
+	// relative to the root of that directory. All paths MUST be delimited
+	// by forward slashes.
 	Path string `json:"path,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Contents") to
@@ -4364,52 +3863,38 @@
 }
 
 // GoogleLongrunningOperation: This resource represents a long-running
-// operation that is the result of a
-// network API call.
+// operation that is the result of a network API call.
 type GoogleLongrunningOperation struct {
 	// Done: 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.
+	// progress. If `true`, the operation is completed, and either `error`
+	// or `response` is available.
 	Done bool `json:"done,omitempty"`
 
 	// Error: The error result of the operation in case of failure or
 	// cancellation.
 	Error *GoogleRpcStatus `json:"error,omitempty"`
 
-	// Metadata: 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.
+	// Metadata: 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.
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Name: The server-assigned name, which is only unique within the same
-	// service that
-	// originally returns it. If you use the default HTTP mapping,
-	// the
-	// `name` should be a resource name ending with
+	// service that originally returns it. If you use the default HTTP
+	// mapping, the `name` should be a resource name ending with
 	// `operations/{unique_id}`.
 	Name string `json:"name,omitempty"`
 
-	// Response: 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`.
+	// Response: 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`.
 	Response googleapi.RawMessage `json:"response,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -4440,32 +3925,24 @@
 }
 
 // GoogleRpcStatus: The `Status` type defines a logical error model that
-// is suitable for
-// different programming environments, including REST APIs and RPC APIs.
-// It is
-// used by [gRPC](https://github.com/grpc). Each `Status` message
-// contains
-// three pieces of data: error code, error message, and error
-// details.
-//
-// You can find out more about this error model and how to work with it
-// in the
-// [API Design Guide](https://cloud.google.com/apis/design/errors).
+// is suitable for different programming environments, including REST
+// APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc).
+// Each `Status` message contains three pieces of data: error code,
+// error message, and error details. You can find out more about this
+// error model and how to work with it in the [API Design
+// Guide](https://cloud.google.com/apis/design/errors).
 type GoogleRpcStatus struct {
 	// Code: The status code, which should be an enum value of
 	// google.rpc.Code.
 	Code int64 `json:"code,omitempty"`
 
-	// Details: A list of messages that carry the error details.  There is a
-	// common set of
-	// message types for APIs to use.
+	// Details: A list of messages that carry the error details. There is a
+	// common set of message types for APIs to use.
 	Details []googleapi.RawMessage `json:"details,omitempty"`
 
 	// Message: 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.
+	// English. Any user-facing error message should be localized and sent
+	// in the google.rpc.Status.details field, or localized by the client.
 	Message string `json:"message,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Code") to
@@ -4504,20 +3981,12 @@
 	header_      http.Header
 }
 
-// Get: Retrieve a cached execution result.
-//
-// Implementations SHOULD ensure that any blobs referenced from
-// the
-// ContentAddressableStorage
-// are available at the time of returning the
-// ActionResult and will be
+// Get: Retrieve a cached execution result. Implementations SHOULD
+// ensure that any blobs referenced from the ContentAddressableStorage
+// are available at the time of returning the ActionResult and will be
 // for some period of time afterwards. The TTLs of the referenced blobs
-// SHOULD be increased
-// if necessary and applicable.
-//
-// Errors:
-//
-// * `NOT_FOUND`: The requested `ActionResult` is not in the cache.
+// SHOULD be increased if necessary and applicable. Errors: *
+// `NOT_FOUND`: The requested `ActionResult` is not in the cache.
 func (r *ActionResultsService) Get(instanceName string, hash string, sizeBytes int64) *ActionResultsGetCall {
 	c := &ActionResultsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.instanceName = instanceName
@@ -4527,10 +3996,8 @@
 }
 
 // InlineOutputFiles sets the optional parameter "inlineOutputFiles": A
-// hint to the server to inline the contents of the listed output
-// files.
-// Each path needs to exactly match one path in `output_files` in
-// the
+// hint to the server to inline the contents of the listed output files.
+// Each path needs to exactly match one path in `output_files` in the
 // Command message.
 func (c *ActionResultsGetCall) InlineOutputFiles(inlineOutputFiles ...string) *ActionResultsGetCall {
 	c.urlParams_.SetMulti("inlineOutputFiles", append([]string{}, inlineOutputFiles...))
@@ -4538,16 +4005,14 @@
 }
 
 // InlineStderr sets the optional parameter "inlineStderr": A hint to
-// the server to request inlining stderr in the
-// ActionResult message.
+// the server to request inlining stderr in the ActionResult message.
 func (c *ActionResultsGetCall) InlineStderr(inlineStderr bool) *ActionResultsGetCall {
 	c.urlParams_.Set("inlineStderr", fmt.Sprint(inlineStderr))
 	return c
 }
 
 // InlineStdout sets the optional parameter "inlineStdout": A hint to
-// the server to request inlining stdout in the
-// ActionResult message.
+// the server to request inlining stdout in the ActionResult message.
 func (c *ActionResultsGetCall) InlineStdout(inlineStdout bool) *ActionResultsGetCall {
 	c.urlParams_.Set("inlineStdout", fmt.Sprint(inlineStdout))
 	return c
@@ -4590,7 +4055,7 @@
 
 func (c *ActionResultsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4655,7 +4120,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Retrieve a cached execution result.\n\nImplementations SHOULD ensure that any blobs referenced from the\nContentAddressableStorage\nare available at the time of returning the\nActionResult and will be\nfor some period of time afterwards. The TTLs of the referenced blobs SHOULD be increased\nif necessary and applicable.\n\nErrors:\n\n* `NOT_FOUND`: The requested `ActionResult` is not in the cache.",
+	//   "description": "Retrieve a cached execution result. Implementations SHOULD ensure that any blobs referenced from the ContentAddressableStorage are available at the time of returning the ActionResult and will be for some period of time afterwards. The TTLs of the referenced blobs SHOULD be increased if necessary and applicable. Errors: * `NOT_FOUND`: The requested `ActionResult` is not in the cache.",
 	//   "flatPath": "v2/{v2Id}/actionResults/{hash}/{sizeBytes}",
 	//   "httpMethod": "GET",
 	//   "id": "remotebuildexecution.actionResults.get",
@@ -4666,29 +4131,29 @@
 	//   ],
 	//   "parameters": {
 	//     "hash": {
-	//       "description": "The hash. In the case of SHA-256, it will always be a lowercase hex string\nexactly 64 characters long.",
+	//       "description": "The hash. In the case of SHA-256, it will always be a lowercase hex string exactly 64 characters long.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "inlineOutputFiles": {
-	//       "description": "A hint to the server to inline the contents of the listed output files.\nEach path needs to exactly match one path in `output_files` in the\nCommand message.",
+	//       "description": "A hint to the server to inline the contents of the listed output files. Each path needs to exactly match one path in `output_files` in the Command message.",
 	//       "location": "query",
 	//       "repeated": true,
 	//       "type": "string"
 	//     },
 	//     "inlineStderr": {
-	//       "description": "A hint to the server to request inlining stderr in the\nActionResult message.",
+	//       "description": "A hint to the server to request inlining stderr in the ActionResult message.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
 	//     "inlineStdout": {
-	//       "description": "A hint to the server to request inlining stdout in the\nActionResult message.",
+	//       "description": "A hint to the server to request inlining stdout in the ActionResult message.",
 	//       "location": "query",
 	//       "type": "boolean"
 	//     },
 	//     "instanceName": {
-	//       "description": "The instance of the execution system to operate against. A server may\nsupport multiple instances of the execution system (with their own workers,\nstorage, caches, etc.). The server MAY require use of this field to select\nbetween them in an implementation-defined fashion, otherwise it can be\nomitted.",
+	//       "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.",
 	//       "location": "path",
 	//       "pattern": "^.*$",
 	//       "required": true,
@@ -4726,25 +4191,15 @@
 	header_                                 http.Header
 }
 
-// Update: Upload a new execution result.
-//
-// In order to allow the server to perform access control based on the
-// type of
-// action, and to assist with client debugging, the client MUST first
-// upload
-// the Action that produced the
-// result, along with its
-// Command, into the
-// `ContentAddressableStorage`.
-//
-// Errors:
-//
-// * `INVALID_ARGUMENT`: One or more arguments are invalid.
-// * `FAILED_PRECONDITION`: One or more errors occurred in updating the
-//   action result, such as a missing command or action.
-// * `RESOURCE_EXHAUSTED`: There is insufficient storage space to add
-// the
-//   entry to the cache.
+// Update: Upload a new execution result. In order to allow the server
+// to perform access control based on the type of action, and to assist
+// with client debugging, the client MUST first upload the Action that
+// produced the result, along with its Command, into the
+// `ContentAddressableStorage`. Errors: * `INVALID_ARGUMENT`: One or
+// more arguments are invalid. * `FAILED_PRECONDITION`: One or more
+// errors occurred in updating the action result, such as a missing
+// command or action. * `RESOURCE_EXHAUSTED`: There is insufficient
+// storage space to add the entry to the cache.
 func (r *ActionResultsService) Update(instanceName string, hash string, sizeBytes int64, buildbazelremoteexecutionv2actionresult *BuildBazelRemoteExecutionV2ActionResult) *ActionResultsUpdateCall {
 	c := &ActionResultsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.instanceName = instanceName
@@ -4756,18 +4211,13 @@
 
 // ResultsCachePolicyPriority sets the optional parameter
 // "resultsCachePolicy.priority": The priority (relative importance) of
-// this content in the overall cache.
-// Generally, a lower value means a longer retention time or other
-// advantage,
-// but the interpretation of a given value is server-dependent. A
-// priority of
-// 0 means a *default* value, decided by the server.
-//
-// The particular semantics of this field is up to the server. In
-// particular,
-// every server will have their own supported range of priorities, and
-// will
-// decide how these map into retention/eviction policy.
+// this content in the overall cache. Generally, a lower value means a
+// longer retention time or other advantage, but the interpretation of a
+// given value is server-dependent. A priority of 0 means a *default*
+// value, decided by the server. The particular semantics of this field
+// is up to the server. In particular, every server will have their own
+// supported range of priorities, and will decide how these map into
+// retention/eviction policy.
 func (c *ActionResultsUpdateCall) ResultsCachePolicyPriority(resultsCachePolicyPriority int64) *ActionResultsUpdateCall {
 	c.urlParams_.Set("resultsCachePolicy.priority", fmt.Sprint(resultsCachePolicyPriority))
 	return c
@@ -4800,7 +4250,7 @@
 
 func (c *ActionResultsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4867,7 +4317,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Upload a new execution result.\n\nIn order to allow the server to perform access control based on the type of\naction, and to assist with client debugging, the client MUST first upload\nthe Action that produced the\nresult, along with its\nCommand, into the\n`ContentAddressableStorage`.\n\nErrors:\n\n* `INVALID_ARGUMENT`: One or more arguments are invalid.\n* `FAILED_PRECONDITION`: One or more errors occurred in updating the\n  action result, such as a missing command or action.\n* `RESOURCE_EXHAUSTED`: There is insufficient storage space to add the\n  entry to the cache.",
+	//   "description": "Upload a new execution result. In order to allow the server to perform access control based on the type of action, and to assist with client debugging, the client MUST first upload the Action that produced the result, along with its Command, into the `ContentAddressableStorage`. Errors: * `INVALID_ARGUMENT`: One or more arguments are invalid. * `FAILED_PRECONDITION`: One or more errors occurred in updating the action result, such as a missing command or action. * `RESOURCE_EXHAUSTED`: There is insufficient storage space to add the entry to the cache.",
 	//   "flatPath": "v2/{v2Id}/actionResults/{hash}/{sizeBytes}",
 	//   "httpMethod": "PUT",
 	//   "id": "remotebuildexecution.actionResults.update",
@@ -4878,20 +4328,20 @@
 	//   ],
 	//   "parameters": {
 	//     "hash": {
-	//       "description": "The hash. In the case of SHA-256, it will always be a lowercase hex string\nexactly 64 characters long.",
+	//       "description": "The hash. In the case of SHA-256, it will always be a lowercase hex string exactly 64 characters long.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "instanceName": {
-	//       "description": "The instance of the execution system to operate against. A server may\nsupport multiple instances of the execution system (with their own workers,\nstorage, caches, etc.). The server MAY require use of this field to select\nbetween them in an implementation-defined fashion, otherwise it can be\nomitted.",
+	//       "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.",
 	//       "location": "path",
 	//       "pattern": "^.*$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "resultsCachePolicy.priority": {
-	//       "description": "The priority (relative importance) of this content in the overall cache.\nGenerally, a lower value means a longer retention time or other advantage,\nbut the interpretation of a given value is server-dependent. A priority of\n0 means a *default* value, decided by the server.\n\nThe particular semantics of this field is up to the server. In particular,\nevery server will have their own supported range of priorities, and will\ndecide how these map into retention/eviction policy.",
+	//       "description": "The priority (relative importance) of this content in the overall cache. Generally, a lower value means a longer retention time or other advantage, but the interpretation of a given value is server-dependent. A priority of 0 means a *default* value, decided by the server. The particular semantics of this field is up to the server. In particular, every server will have their own supported range of priorities, and will decide how these map into retention/eviction policy.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
@@ -4929,98 +4379,50 @@
 	header_                                   http.Header
 }
 
-// Execute: Execute an action remotely.
-//
-// In order to execute an action, the client must first upload all of
-// the
-// inputs, the
-// Command to run, and the
-// Action into the
-// ContentAddressableStorage.
-// It then calls `Execute` with an `action_digest` referring to them.
-// The
-// server will run the action and eventually return the result.
-//
-// The input `Action`'s fields MUST meet the various
-// canonicalization
-// requirements specified in the documentation for their types so that
-// it has
-// the same digest as other logically equivalent `Action`s. The server
-// MAY
-// enforce the requirements and return errors if a non-canonical input
-// is
-// received. It MAY also proceed without verifying some or all of
-// the
-// requirements, such as for performance reasons. If the server does
-// not
+// Execute: Execute an action remotely. In order to execute an action,
+// the client must first upload all of the inputs, the Command to run,
+// and the Action into the ContentAddressableStorage. It then calls
+// `Execute` with an `action_digest` referring to them. The server will
+// run the action and eventually return the result. The input `Action`'s
+// fields MUST meet the various canonicalization requirements specified
+// in the documentation for their types so that it has the same digest
+// as other logically equivalent `Action`s. The server MAY enforce the
+// requirements and return errors if a non-canonical input is received.
+// It MAY also proceed without verifying some or all of the
+// requirements, such as for performance reasons. If the server does not
 // verify the requirement, then it will treat the `Action` as distinct
-// from
-// another logically equivalent action if they hash
-// differently.
-//
-// Returns a stream of
-// google.longrunning.Operation messages
-// describing the resulting execution, with eventual
-// `response`
-// ExecuteResponse. The
-// `metadata` on the operation is of type
-// ExecuteOperationMetadata.
-//
+// from another logically equivalent action if they hash differently.
+// Returns a stream of google.longrunning.Operation messages describing
+// the resulting execution, with eventual `response` ExecuteResponse.
+// The `metadata` on the operation is of type ExecuteOperationMetadata.
 // If the client remains connected after the first response is returned
-// after
-// the server, then updates are streamed as if the client had
-// called
-// WaitExecution
-// until the execution completes or the request reaches an error.
-// The
-// operation can also be queried using Operations
-// API.
-//
-// The server NEED NOT implement other methods or functionality of
-// the
-// Operations API.
-//
-// Errors discovered during creation of the `Operation` will be
-// reported
-// as gRPC Status errors, while errors that occurred while running
-// the
-// action will be reported in the `status` field of the
-// `ExecuteResponse`. The
-// server MUST NOT set the `error` field of the `Operation` proto.
-// The possible errors include:
-//
-// * `INVALID_ARGUMENT`: One or more arguments are invalid.
-// * `FAILED_PRECONDITION`: One or more errors occurred in setting up
-// the
-//   action requested, such as a missing input or command or no worker
-// being
-//   available. The client may be able to fix the errors and retry.
+// after the server, then updates are streamed as if the client had
+// called WaitExecution until the execution completes or the request
+// reaches an error. The operation can also be queried using Operations
+// API. The server NEED NOT implement other methods or functionality of
+// the Operations API. Errors discovered during creation of the
+// `Operation` will be reported as gRPC Status errors, while errors that
+// occurred while running the action will be reported in the `status`
+// field of the `ExecuteResponse`. The server MUST NOT set the `error`
+// field of the `Operation` proto. The possible errors include: *
+// `INVALID_ARGUMENT`: One or more arguments are invalid. *
+// `FAILED_PRECONDITION`: One or more errors occurred in setting up the
+// action requested, such as a missing input or command or no worker
+// being available. The client may be able to fix the errors and retry.
 // * `RESOURCE_EXHAUSTED`: There is insufficient quota of some resource
-// to run
-//   the action.
-// * `UNAVAILABLE`: Due to a transient condition, such as all workers
-// being
-//   occupied (and the server does not support a queue), the action
-// could not
-//   be started. The client should retry.
-// * `INTERNAL`: An internal error occurred in the execution engine or
-// the
-//   worker.
-// * `DEADLINE_EXCEEDED`: The execution timed out.
-// * `CANCELLED`: The operation was cancelled by the client. This status
-// is
-//   only possible if the server implements the Operations API
-// CancelOperation
-//   method, and it was called for the current execution.
-//
+// to run the action. * `UNAVAILABLE`: Due to a transient condition,
+// such as all workers being occupied (and the server does not support a
+// queue), the action could not be started. The client should retry. *
+// `INTERNAL`: An internal error occurred in the execution engine or the
+// worker. * `DEADLINE_EXCEEDED`: The execution timed out. *
+// `CANCELLED`: The operation was cancelled by the client. This status
+// is only possible if the server implements the Operations API
+// CancelOperation method, and it was called for the current execution.
 // In the case of a missing input or command, the server SHOULD
-// additionally
-// send a PreconditionFailure error detail
-// where, for each requested blob not present in the CAS, there is
-// a
-// `Violation` with a `type` of `MISSING` and a `subject`
-// of
-// "blobs/{hash}/{size}" indicating the digest of the missing blob.
+// additionally send a PreconditionFailure error detail where, for each
+// requested blob not present in the CAS, there is a `Violation` with a
+// `type` of `MISSING` and a `subject` of "blobs/{hash}/{size}"
+// indicating the digest of the missing blob.
 func (r *ActionsService) Execute(instanceName string, buildbazelremoteexecutionv2executerequest *BuildBazelRemoteExecutionV2ExecuteRequest) *ActionsExecuteCall {
 	c := &ActionsExecuteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.instanceName = instanceName
@@ -5055,7 +4457,7 @@
 
 func (c *ActionsExecuteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5119,7 +4521,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Execute an action remotely.\n\nIn order to execute an action, the client must first upload all of the\ninputs, the\nCommand to run, and the\nAction into the\nContentAddressableStorage.\nIt then calls `Execute` with an `action_digest` referring to them. The\nserver will run the action and eventually return the result.\n\nThe input `Action`'s fields MUST meet the various canonicalization\nrequirements specified in the documentation for their types so that it has\nthe same digest as other logically equivalent `Action`s. The server MAY\nenforce the requirements and return errors if a non-canonical input is\nreceived. It MAY also proceed without verifying some or all of the\nrequirements, such as for performance reasons. If the server does not\nverify the requirement, then it will treat the `Action` as distinct from\nanother logically equivalent action if they hash differently.\n\nReturns a stream of\ngoogle.longrunning.Operation messages\ndescribing the resulting execution, with eventual `response`\nExecuteResponse. The\n`metadata` on the operation is of type\nExecuteOperationMetadata.\n\nIf the client remains connected after the first response is returned after\nthe server, then updates are streamed as if the client had called\nWaitExecution\nuntil the execution completes or the request reaches an error. The\noperation can also be queried using Operations\nAPI.\n\nThe server NEED NOT implement other methods or functionality of the\nOperations API.\n\nErrors discovered during creation of the `Operation` will be reported\nas gRPC Status errors, while errors that occurred while running the\naction will be reported in the `status` field of the `ExecuteResponse`. The\nserver MUST NOT set the `error` field of the `Operation` proto.\nThe possible errors include:\n\n* `INVALID_ARGUMENT`: One or more arguments are invalid.\n* `FAILED_PRECONDITION`: One or more errors occurred in setting up the\n  action requested, such as a missing input or command or no worker being\n  available. The client may be able to fix the errors and retry.\n* `RESOURCE_EXHAUSTED`: There is insufficient quota of some resource to run\n  the action.\n* `UNAVAILABLE`: Due to a transient condition, such as all workers being\n  occupied (and the server does not support a queue), the action could not\n  be started. The client should retry.\n* `INTERNAL`: An internal error occurred in the execution engine or the\n  worker.\n* `DEADLINE_EXCEEDED`: The execution timed out.\n* `CANCELLED`: The operation was cancelled by the client. This status is\n  only possible if the server implements the Operations API CancelOperation\n  method, and it was called for the current execution.\n\nIn the case of a missing input or command, the server SHOULD additionally\nsend a PreconditionFailure error detail\nwhere, for each requested blob not present in the CAS, there is a\n`Violation` with a `type` of `MISSING` and a `subject` of\n`\"blobs/{hash}/{size}\"` indicating the digest of the missing blob.",
+	//   "description": "Execute an action remotely. In order to execute an action, the client must first upload all of the inputs, the Command to run, and the Action into the ContentAddressableStorage. It then calls `Execute` with an `action_digest` referring to them. The server will run the action and eventually return the result. The input `Action`'s fields MUST meet the various canonicalization requirements specified in the documentation for their types so that it has the same digest as other logically equivalent `Action`s. The server MAY enforce the requirements and return errors if a non-canonical input is received. It MAY also proceed without verifying some or all of the requirements, such as for performance reasons. If the server does not verify the requirement, then it will treat the `Action` as distinct from another logically equivalent action if they hash differently. Returns a stream of google.longrunning.Operation messages describing the resulting execution, with eventual `response` ExecuteResponse. The `metadata` on the operation is of type ExecuteOperationMetadata. If the client remains connected after the first response is returned after the server, then updates are streamed as if the client had called WaitExecution until the execution completes or the request reaches an error. The operation can also be queried using Operations API. The server NEED NOT implement other methods or functionality of the Operations API. Errors discovered during creation of the `Operation` will be reported as gRPC Status errors, while errors that occurred while running the action will be reported in the `status` field of the `ExecuteResponse`. The server MUST NOT set the `error` field of the `Operation` proto. The possible errors include: * `INVALID_ARGUMENT`: One or more arguments are invalid. * `FAILED_PRECONDITION`: One or more errors occurred in setting up the action requested, such as a missing input or command or no worker being available. The client may be able to fix the errors and retry. * `RESOURCE_EXHAUSTED`: There is insufficient quota of some resource to run the action. * `UNAVAILABLE`: Due to a transient condition, such as all workers being occupied (and the server does not support a queue), the action could not be started. The client should retry. * `INTERNAL`: An internal error occurred in the execution engine or the worker. * `DEADLINE_EXCEEDED`: The execution timed out. * `CANCELLED`: The operation was cancelled by the client. This status is only possible if the server implements the Operations API CancelOperation method, and it was called for the current execution. In the case of a missing input or command, the server SHOULD additionally send a PreconditionFailure error detail where, for each requested blob not present in the CAS, there is a `Violation` with a `type` of `MISSING` and a `subject` of `\"blobs/{hash}/{size}\"` indicating the digest of the missing blob.",
 	//   "flatPath": "v2/{v2Id}/actions:execute",
 	//   "httpMethod": "POST",
 	//   "id": "remotebuildexecution.actions.execute",
@@ -5128,7 +4530,7 @@
 	//   ],
 	//   "parameters": {
 	//     "instanceName": {
-	//       "description": "The instance of the execution system to operate against. A server may\nsupport multiple instances of the execution system (with their own workers,\nstorage, caches, etc.). The server MAY require use of this field to select\nbetween them in an implementation-defined fashion, otherwise it can be\nomitted.",
+	//       "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.",
 	//       "location": "path",
 	//       "pattern": "^.*$",
 	//       "required": true,
@@ -5160,30 +4562,16 @@
 	header_                                          http.Header
 }
 
-// BatchRead: Download many blobs at once.
-//
-// The server may enforce a limit of the combined total size of blobs
-// to be downloaded using this API. This limit may be obtained using
-// the
-// Capabilities API.
-// Requests exceeding the limit should either be split into
-// smaller
-// chunks or downloaded using the
-// ByteStream API, as appropriate.
-//
-// This request is equivalent to calling a Bytestream `Read` request
-// on each individual blob, in parallel. The requests may succeed or
-// fail
-// independently.
-//
-// Errors:
-//
-// * `INVALID_ARGUMENT`: The client attempted to read more than the
-//   server supported limit.
-//
-// Every error on individual read will be returned in the corresponding
-// digest
-// status.
+// BatchRead: Download many blobs at once. The server may enforce a
+// limit of the combined total size of blobs to be downloaded using this
+// API. This limit may be obtained using the Capabilities API. Requests
+// exceeding the limit should either be split into smaller chunks or
+// downloaded using the ByteStream API, as appropriate. This request is
+// equivalent to calling a Bytestream `Read` request on each individual
+// blob, in parallel. The requests may succeed or fail independently.
+// Errors: * `INVALID_ARGUMENT`: The client attempted to read more than
+// the server supported limit. Every error on individual read will be
+// returned in the corresponding digest status.
 func (r *BlobsService) BatchRead(instanceName string, buildbazelremoteexecutionv2batchreadblobsrequest *BuildBazelRemoteExecutionV2BatchReadBlobsRequest) *BlobsBatchReadCall {
 	c := &BlobsBatchReadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.instanceName = instanceName
@@ -5218,7 +4606,7 @@
 
 func (c *BlobsBatchReadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5284,7 +4672,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Download many blobs at once.\n\nThe server may enforce a limit of the combined total size of blobs\nto be downloaded using this API. This limit may be obtained using the\nCapabilities API.\nRequests exceeding the limit should either be split into smaller\nchunks or downloaded using the\nByteStream API, as appropriate.\n\nThis request is equivalent to calling a Bytestream `Read` request\non each individual blob, in parallel. The requests may succeed or fail\nindependently.\n\nErrors:\n\n* `INVALID_ARGUMENT`: The client attempted to read more than the\n  server supported limit.\n\nEvery error on individual read will be returned in the corresponding digest\nstatus.",
+	//   "description": "Download many blobs at once. The server may enforce a limit of the combined total size of blobs to be downloaded using this API. This limit may be obtained using the Capabilities API. Requests exceeding the limit should either be split into smaller chunks or downloaded using the ByteStream API, as appropriate. This request is equivalent to calling a Bytestream `Read` request on each individual blob, in parallel. The requests may succeed or fail independently. Errors: * `INVALID_ARGUMENT`: The client attempted to read more than the server supported limit. Every error on individual read will be returned in the corresponding digest status.",
 	//   "flatPath": "v2/{v2Id}/blobs:batchRead",
 	//   "httpMethod": "POST",
 	//   "id": "remotebuildexecution.blobs.batchRead",
@@ -5293,7 +4681,7 @@
 	//   ],
 	//   "parameters": {
 	//     "instanceName": {
-	//       "description": "The instance of the execution system to operate against. A server may\nsupport multiple instances of the execution system (with their own workers,\nstorage, caches, etc.). The server MAY require use of this field to select\nbetween them in an implementation-defined fashion, otherwise it can be\nomitted.",
+	//       "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.",
 	//       "location": "path",
 	//       "pattern": "^.*$",
 	//       "required": true,
@@ -5325,34 +4713,18 @@
 	header_                                            http.Header
 }
 
-// BatchUpdate: Upload many blobs at once.
-//
-// The server may enforce a limit of the combined total size of blobs
-// to be uploaded using this API. This limit may be obtained using
-// the
-// Capabilities API.
-// Requests exceeding the limit should either be split into
-// smaller
-// chunks or uploaded using the
-// ByteStream API, as appropriate.
-//
-// This request is equivalent to calling a Bytestream `Write` request
-// on each individual blob, in parallel. The requests may succeed or
-// fail
-// independently.
-//
-// Errors:
-//
-// * `INVALID_ARGUMENT`: The client attempted to upload more than the
-//   server supported limit.
-//
-// Individual requests may return the following errors, additionally:
-//
-// * `RESOURCE_EXHAUSTED`: There is insufficient disk quota to store the
-// blob.
-// * `INVALID_ARGUMENT`: The
-// Digest does not match the
-// provided data.
+// BatchUpdate: Upload many blobs at once. The server may enforce a
+// limit of the combined total size of blobs to be uploaded using this
+// API. This limit may be obtained using the Capabilities API. Requests
+// exceeding the limit should either be split into smaller chunks or
+// uploaded using the ByteStream API, as appropriate. This request is
+// equivalent to calling a Bytestream `Write` request on each individual
+// blob, in parallel. The requests may succeed or fail independently.
+// Errors: * `INVALID_ARGUMENT`: The client attempted to upload more
+// than the server supported limit. Individual requests may return the
+// following errors, additionally: * `RESOURCE_EXHAUSTED`: There is
+// insufficient disk quota to store the blob. * `INVALID_ARGUMENT`: The
+// Digest does not match the provided data.
 func (r *BlobsService) BatchUpdate(instanceName string, buildbazelremoteexecutionv2batchupdateblobsrequest *BuildBazelRemoteExecutionV2BatchUpdateBlobsRequest) *BlobsBatchUpdateCall {
 	c := &BlobsBatchUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.instanceName = instanceName
@@ -5387,7 +4759,7 @@
 
 func (c *BlobsBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5453,7 +4825,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Upload many blobs at once.\n\nThe server may enforce a limit of the combined total size of blobs\nto be uploaded using this API. This limit may be obtained using the\nCapabilities API.\nRequests exceeding the limit should either be split into smaller\nchunks or uploaded using the\nByteStream API, as appropriate.\n\nThis request is equivalent to calling a Bytestream `Write` request\non each individual blob, in parallel. The requests may succeed or fail\nindependently.\n\nErrors:\n\n* `INVALID_ARGUMENT`: The client attempted to upload more than the\n  server supported limit.\n\nIndividual requests may return the following errors, additionally:\n\n* `RESOURCE_EXHAUSTED`: There is insufficient disk quota to store the blob.\n* `INVALID_ARGUMENT`: The\nDigest does not match the\nprovided data.",
+	//   "description": "Upload many blobs at once. The server may enforce a limit of the combined total size of blobs to be uploaded using this API. This limit may be obtained using the Capabilities API. Requests exceeding the limit should either be split into smaller chunks or uploaded using the ByteStream API, as appropriate. This request is equivalent to calling a Bytestream `Write` request on each individual blob, in parallel. The requests may succeed or fail independently. Errors: * `INVALID_ARGUMENT`: The client attempted to upload more than the server supported limit. Individual requests may return the following errors, additionally: * `RESOURCE_EXHAUSTED`: There is insufficient disk quota to store the blob. * `INVALID_ARGUMENT`: The Digest does not match the provided data.",
 	//   "flatPath": "v2/{v2Id}/blobs:batchUpdate",
 	//   "httpMethod": "POST",
 	//   "id": "remotebuildexecution.blobs.batchUpdate",
@@ -5462,7 +4834,7 @@
 	//   ],
 	//   "parameters": {
 	//     "instanceName": {
-	//       "description": "The instance of the execution system to operate against. A server may\nsupport multiple instances of the execution system (with their own workers,\nstorage, caches, etc.). The server MAY require use of this field to select\nbetween them in an implementation-defined fashion, otherwise it can be\nomitted.",
+	//       "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.",
 	//       "location": "path",
 	//       "pattern": "^.*$",
 	//       "required": true,
@@ -5494,18 +4866,11 @@
 	header_                                            http.Header
 }
 
-// FindMissing: Determine if blobs are present in the CAS.
-//
-// Clients can use this API before uploading blobs to determine which
-// ones are
-// already present in the CAS and do not need to be uploaded
-// again.
-//
+// FindMissing: Determine if blobs are present in the CAS. Clients can
+// use this API before uploading blobs to determine which ones are
+// already present in the CAS and do not need to be uploaded again.
 // Servers SHOULD increase the TTLs of the referenced blobs if necessary
-// and
-// applicable.
-//
-// There are no method-specific errors.
+// and applicable. There are no method-specific errors.
 func (r *BlobsService) FindMissing(instanceName string, buildbazelremoteexecutionv2findmissingblobsrequest *BuildBazelRemoteExecutionV2FindMissingBlobsRequest) *BlobsFindMissingCall {
 	c := &BlobsFindMissingCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.instanceName = instanceName
@@ -5540,7 +4905,7 @@
 
 func (c *BlobsFindMissingCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5606,7 +4971,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Determine if blobs are present in the CAS.\n\nClients can use this API before uploading blobs to determine which ones are\nalready present in the CAS and do not need to be uploaded again.\n\nServers SHOULD increase the TTLs of the referenced blobs if necessary and\napplicable.\n\nThere are no method-specific errors.",
+	//   "description": "Determine if blobs are present in the CAS. Clients can use this API before uploading blobs to determine which ones are already present in the CAS and do not need to be uploaded again. Servers SHOULD increase the TTLs of the referenced blobs if necessary and applicable. There are no method-specific errors.",
 	//   "flatPath": "v2/{v2Id}/blobs:findMissing",
 	//   "httpMethod": "POST",
 	//   "id": "remotebuildexecution.blobs.findMissing",
@@ -5615,7 +4980,7 @@
 	//   ],
 	//   "parameters": {
 	//     "instanceName": {
-	//       "description": "The instance of the execution system to operate against. A server may\nsupport multiple instances of the execution system (with their own workers,\nstorage, caches, etc.). The server MAY require use of this field to select\nbetween them in an implementation-defined fashion, otherwise it can be\nomitted.",
+	//       "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.",
 	//       "location": "path",
 	//       "pattern": "^.*$",
 	//       "required": true,
@@ -5649,36 +5014,20 @@
 	header_      http.Header
 }
 
-// GetTree: Fetch the entire directory tree rooted at a node.
-//
-// This request must be targeted at a
-// Directory stored in the
-// ContentAddressableStorage
-// (CAS). The server will enumerate the `Directory` tree recursively
-// and
-// return every node descended from the root.
-//
-// The GetTreeRequest.page_token parameter can be used to skip ahead
-// in
-// the stream (e.g. when retrying a partially completed and aborted
-// request),
-// by setting it to a value taken from GetTreeResponse.next_page_token
-// of the
-// last successfully processed GetTreeResponse).
-//
-// The exact traversal order is unspecified and, unless retrieving
-// subsequent
-// pages from an earlier request, is not guaranteed to be stable
-// across
-// multiple invocations of `GetTree`.
-//
-// If part of the tree is missing from the CAS, the server will return
-// the
-// portion present and omit the rest.
-//
-// Errors:
-//
-// * `NOT_FOUND`: The requested tree root is not present in the CAS.
+// GetTree: Fetch the entire directory tree rooted at a node. This
+// request must be targeted at a Directory stored in the
+// ContentAddressableStorage (CAS). The server will enumerate the
+// `Directory` tree recursively and return every node descended from the
+// root. The GetTreeRequest.page_token parameter can be used to skip
+// ahead in the stream (e.g. when retrying a partially completed and
+// aborted request), by setting it to a value taken from
+// GetTreeResponse.next_page_token of the last successfully processed
+// GetTreeResponse). The exact traversal order is unspecified and,
+// unless retrieving subsequent pages from an earlier request, is not
+// guaranteed to be stable across multiple invocations of `GetTree`. If
+// part of the tree is missing from the CAS, the server will return the
+// portion present and omit the rest. Errors: * `NOT_FOUND`: The
+// requested tree root is not present in the CAS.
 func (r *BlobsService) GetTree(instanceName string, hash string, sizeBytes int64) *BlobsGetTreeCall {
 	c := &BlobsGetTreeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.instanceName = instanceName
@@ -5688,22 +5037,19 @@
 }
 
 // PageSize sets the optional parameter "pageSize": A maximum page size
-// to request. If present, the server will request no more
-// than this many items. Regardless of whether a page size is specified,
-// the
+// to request. If present, the server will request no more than this
+// many items. Regardless of whether a page size is specified, the
 // server may place its own limit on the number of items to be returned
-// and
-// require the client to retrieve more items using a subsequent request.
+// and require the client to retrieve more items using a subsequent
+// request.
 func (c *BlobsGetTreeCall) PageSize(pageSize int64) *BlobsGetTreeCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": A page token,
-// which must be a value received in a previous
-// GetTreeResponse.
-// If present, the server will use that token as an offset, returning
-// only
+// which must be a value received in a previous GetTreeResponse. If
+// present, the server will use that token as an offset, returning only
 // that page and the ones that succeed it.
 func (c *BlobsGetTreeCall) PageToken(pageToken string) *BlobsGetTreeCall {
 	c.urlParams_.Set("pageToken", pageToken)
@@ -5747,7 +5093,7 @@
 
 func (c *BlobsGetTreeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5813,7 +5159,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Fetch the entire directory tree rooted at a node.\n\nThis request must be targeted at a\nDirectory stored in the\nContentAddressableStorage\n(CAS). The server will enumerate the `Directory` tree recursively and\nreturn every node descended from the root.\n\nThe GetTreeRequest.page_token parameter can be used to skip ahead in\nthe stream (e.g. when retrying a partially completed and aborted request),\nby setting it to a value taken from GetTreeResponse.next_page_token of the\nlast successfully processed GetTreeResponse).\n\nThe exact traversal order is unspecified and, unless retrieving subsequent\npages from an earlier request, is not guaranteed to be stable across\nmultiple invocations of `GetTree`.\n\nIf part of the tree is missing from the CAS, the server will return the\nportion present and omit the rest.\n\nErrors:\n\n* `NOT_FOUND`: The requested tree root is not present in the CAS.",
+	//   "description": "Fetch the entire directory tree rooted at a node. This request must be targeted at a Directory stored in the ContentAddressableStorage (CAS). The server will enumerate the `Directory` tree recursively and return every node descended from the root. The GetTreeRequest.page_token parameter can be used to skip ahead in the stream (e.g. when retrying a partially completed and aborted request), by setting it to a value taken from GetTreeResponse.next_page_token of the last successfully processed GetTreeResponse). The exact traversal order is unspecified and, unless retrieving subsequent pages from an earlier request, is not guaranteed to be stable across multiple invocations of `GetTree`. If part of the tree is missing from the CAS, the server will return the portion present and omit the rest. Errors: * `NOT_FOUND`: The requested tree root is not present in the CAS.",
 	//   "flatPath": "v2/{v2Id}/blobs/{hash}/{sizeBytes}:getTree",
 	//   "httpMethod": "GET",
 	//   "id": "remotebuildexecution.blobs.getTree",
@@ -5824,26 +5170,26 @@
 	//   ],
 	//   "parameters": {
 	//     "hash": {
-	//       "description": "The hash. In the case of SHA-256, it will always be a lowercase hex string\nexactly 64 characters long.",
+	//       "description": "The hash. In the case of SHA-256, it will always be a lowercase hex string exactly 64 characters long.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "instanceName": {
-	//       "description": "The instance of the execution system to operate against. A server may\nsupport multiple instances of the execution system (with their own workers,\nstorage, caches, etc.). The server MAY require use of this field to select\nbetween them in an implementation-defined fashion, otherwise it can be\nomitted.",
+	//       "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.",
 	//       "location": "path",
 	//       "pattern": "^.*$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "A maximum page size to request. If present, the server will request no more\nthan this many items. Regardless of whether a page size is specified, the\nserver may place its own limit on the number of items to be returned and\nrequire the client to retrieve more items using a subsequent request.",
+	//       "description": "A maximum page size to request. If present, the server will request no more than this many items. Regardless of whether a page size is specified, the server may place its own limit on the number of items to be returned and require the client to retrieve more items using a subsequent request.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "A page token, which must be a value received in a previous\nGetTreeResponse.\nIf present, the server will use that token as an offset, returning only\nthat page and the ones that succeed it.",
+	//       "description": "A page token, which must be a value received in a previous GetTreeResponse. If present, the server will use that token as an offset, returning only that page and the ones that succeed it.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -5899,16 +5245,12 @@
 }
 
 // WaitExecution: Wait for an execution operation to complete. When the
-// client initially
-// makes the request, the server immediately responds with the current
-// status
-// of the execution. The server will leave the request stream open until
-// the
-// operation completes, and then respond with the completed operation.
-// The
-// server MAY choose to stream additional updates as execution
-// progresses,
-// such as to provide an update as to the state of the execution.
+// client initially makes the request, the server immediately responds
+// with the current status of the execution. The server will leave the
+// request stream open until the operation completes, and then respond
+// with the completed operation. The server MAY choose to stream
+// additional updates as execution progresses, such as to provide an
+// update as to the state of the execution.
 func (r *OperationsService) WaitExecution(name string, buildbazelremoteexecutionv2waitexecutionrequest *BuildBazelRemoteExecutionV2WaitExecutionRequest) *OperationsWaitExecutionCall {
 	c := &OperationsWaitExecutionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -5943,7 +5285,7 @@
 
 func (c *OperationsWaitExecutionCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6007,7 +5349,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Wait for an execution operation to complete. When the client initially\nmakes the request, the server immediately responds with the current status\nof the execution. The server will leave the request stream open until the\noperation completes, and then respond with the completed operation. The\nserver MAY choose to stream additional updates as execution progresses,\nsuch as to provide an update as to the state of the execution.",
+	//   "description": "Wait for an execution operation to complete. When the client initially makes the request, the server immediately responds with the current status of the execution. The server will leave the request stream open until the operation completes, and then respond with the completed operation. The server MAY choose to stream additional updates as execution progresses, such as to provide an update as to the state of the execution.",
 	//   "flatPath": "v2/operations/{operationsId}:waitExecution",
 	//   "httpMethod": "POST",
 	//   "id": "remotebuildexecution.operations.waitExecution",
@@ -6016,7 +5358,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "The name of the Operation\nreturned by Execute.",
+	//       "description": "The name of the Operation returned by Execute.",
 	//       "location": "path",
 	//       "pattern": "^operations/.*$",
 	//       "required": true,
@@ -6049,15 +5391,12 @@
 }
 
 // GetCapabilities: GetCapabilities returns the server capabilities
-// configuration of the
-// remote endpoint.
-// Only the capabilities of the services supported by the endpoint
-// will
-// be returned:
-// * Execution + CAS + Action Cache endpoints should return both
-//   CacheCapabilities and ExecutionCapabilities.
-// * Execution only endpoints should return ExecutionCapabilities.
-// * CAS + Action Cache only endpoints should return CacheCapabilities.
+// configuration of the remote endpoint. Only the capabilities of the
+// services supported by the endpoint will be returned: * Execution +
+// CAS + Action Cache endpoints should return both CacheCapabilities and
+// ExecutionCapabilities. * Execution only endpoints should return
+// ExecutionCapabilities. * CAS + Action Cache only endpoints should
+// return CacheCapabilities.
 func (r *V2Service) GetCapabilities(instanceName string) *V2GetCapabilitiesCall {
 	c := &V2GetCapabilitiesCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.instanceName = instanceName
@@ -6101,7 +5440,7 @@
 
 func (c *V2GetCapabilitiesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6165,7 +5504,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "GetCapabilities returns the server capabilities configuration of the\nremote endpoint.\nOnly the capabilities of the services supported by the endpoint will\nbe returned:\n* Execution + CAS + Action Cache endpoints should return both\n  CacheCapabilities and ExecutionCapabilities.\n* Execution only endpoints should return ExecutionCapabilities.\n* CAS + Action Cache only endpoints should return CacheCapabilities.",
+	//   "description": "GetCapabilities returns the server capabilities configuration of the remote endpoint. Only the capabilities of the services supported by the endpoint will be returned: * Execution + CAS + Action Cache endpoints should return both CacheCapabilities and ExecutionCapabilities. * Execution only endpoints should return ExecutionCapabilities. * CAS + Action Cache only endpoints should return CacheCapabilities.",
 	//   "flatPath": "v2/{v2Id}/capabilities",
 	//   "httpMethod": "GET",
 	//   "id": "remotebuildexecution.getCapabilities",
@@ -6174,7 +5513,7 @@
 	//   ],
 	//   "parameters": {
 	//     "instanceName": {
-	//       "description": "The instance of the execution system to operate against. A server may\nsupport multiple instances of the execution system (with their own workers,\nstorage, caches, etc.). The server MAY require use of this field to select\nbetween them in an implementation-defined fashion, otherwise it can be\nomitted.",
+	//       "description": "The instance of the execution system to operate against. A server may support multiple instances of the execution system (with their own workers, storage, caches, etc.). The server MAY require use of this field to select between them in an implementation-defined fashion, otherwise it can be omitted.",
 	//       "location": "path",
 	//       "pattern": "^.*$",
 	//       "required": true,
diff --git a/reseller/v1/reseller-gen.go b/reseller/v1/reseller-gen.go
index 000c86d..e5489c2 100644
--- a/reseller/v1/reseller-gen.go
+++ b/reseller/v1/reseller-gen.go
@@ -941,7 +941,7 @@
 
 func (c *CustomersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1085,7 +1085,7 @@
 
 func (c *CustomersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1217,7 +1217,7 @@
 
 func (c *CustomersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1355,7 +1355,7 @@
 
 func (c *CustomersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1501,7 +1501,7 @@
 
 func (c *ResellernotifyGetwatchdetailsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1626,7 +1626,7 @@
 
 func (c *ResellernotifyRegisterCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1753,7 +1753,7 @@
 
 func (c *ResellernotifyUnregisterCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1877,7 +1877,7 @@
 
 func (c *SubscriptionsActivateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2019,7 +2019,7 @@
 
 func (c *SubscriptionsChangePlanCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2168,7 +2168,7 @@
 
 func (c *SubscriptionsChangeRenewalSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2316,7 +2316,7 @@
 
 func (c *SubscriptionsChangeSeatsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2463,7 +2463,7 @@
 
 func (c *SubscriptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2599,7 +2599,7 @@
 
 func (c *SubscriptionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2753,7 +2753,7 @@
 
 func (c *SubscriptionsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2957,7 +2957,7 @@
 
 func (c *SubscriptionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3129,7 +3129,7 @@
 
 func (c *SubscriptionsStartPaidServiceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3267,7 +3267,7 @@
 
 func (c *SubscriptionsSuspendCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/run/v1/run-api.json b/run/v1/run-api.json
index d9b7b89..cc1458c 100644
--- a/run/v1/run-api.json
+++ b/run/v1/run-api.json
@@ -1982,7 +1982,7 @@
       }
     }
   },
-  "revision": "20200727",
+  "revision": "20200814",
   "rootUrl": "https://run.googleapis.com/",
   "schemas": {
     "Addressable": {
@@ -2471,7 +2471,10 @@
       "properties": {
         "command": {
           "description": "(Optional) Cloud Run fully managed: not supported Cloud Run for Anthos: supported Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.",
-          "type": "string"
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
         }
       },
       "type": "object"
@@ -2970,7 +2973,7 @@
           "type": "array"
         },
         "resourceVersion": {
-          "description": "(Optional) An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency",
+          "description": "(Optional) An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency",
           "type": "string"
         },
         "selfLink": {
diff --git a/run/v1/run-gen.go b/run/v1/run-gen.go
index 7625525..9043243 100644
--- a/run/v1/run-gen.go
+++ b/run/v1/run-gen.go
@@ -1368,7 +1368,7 @@
 	// won't work. To use a shell, you need to explicitly call out to that
 	// shell. Exit status of 0 is treated as live/healthy and non-zero is
 	// unhealthy.
-	Command string `json:"command,omitempty"`
+	Command []string `json:"command,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Command") to
 	// unconditionally include in API requests. By default, fields with
@@ -2286,9 +2286,8 @@
 	// or set of resources. Clients must treat these values as opaque and
 	// passed unmodified back to the server. They may only be valid for a
 	// particular resource or set of resources. Populated by the system.
-	// Read-only. Value must be treated as opaque by clients and . More
-	// info:
-	// https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
+	// Read-only. Value must be treated as opaque by clients. More info:
+	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
 	ResourceVersion string `json:"resourceVersion,omitempty"`
 
 	// SelfLink: (Optional) SelfLink is a URL representing this object.
@@ -3906,7 +3905,7 @@
 
 func (c *ApiV1NamespacesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4049,7 +4048,7 @@
 
 func (c *ApiV1NamespacesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4195,7 +4194,7 @@
 
 func (c *ApiV1NamespacesSecretsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4344,7 +4343,7 @@
 
 func (c *ApiV1NamespacesSecretsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4483,7 +4482,7 @@
 
 func (c *ApiV1NamespacesSecretsReplaceSecretCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4646,7 +4645,7 @@
 
 func (c *NamespacesAuthorizeddomainsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4822,7 +4821,7 @@
 
 func (c *NamespacesConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5020,7 +5019,7 @@
 
 func (c *NamespacesConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5191,7 +5190,7 @@
 
 func (c *NamespacesDomainmappingsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5353,7 +5352,7 @@
 
 func (c *NamespacesDomainmappingsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5509,7 +5508,7 @@
 
 func (c *NamespacesDomainmappingsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5707,7 +5706,7 @@
 
 func (c *NamespacesDomainmappingsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5900,7 +5899,7 @@
 
 func (c *NamespacesRevisionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6056,7 +6055,7 @@
 
 func (c *NamespacesRevisionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6254,7 +6253,7 @@
 
 func (c *NamespacesRevisionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6434,7 +6433,7 @@
 
 func (c *NamespacesRoutesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6632,7 +6631,7 @@
 
 func (c *NamespacesRoutesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6803,7 +6802,7 @@
 
 func (c *NamespacesServicesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6967,7 +6966,7 @@
 
 func (c *NamespacesServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7123,7 +7122,7 @@
 
 func (c *NamespacesServicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7321,7 +7320,7 @@
 
 func (c *NamespacesServicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7496,7 +7495,7 @@
 
 func (c *NamespacesServicesReplaceServiceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7659,7 +7658,7 @@
 
 func (c *ProjectsAuthorizeddomainsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7857,7 +7856,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8052,7 +8051,7 @@
 
 func (c *ProjectsLocationsAuthorizeddomainsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8228,7 +8227,7 @@
 
 func (c *ProjectsLocationsConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8426,7 +8425,7 @@
 
 func (c *ProjectsLocationsConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8597,7 +8596,7 @@
 
 func (c *ProjectsLocationsDomainmappingsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8759,7 +8758,7 @@
 
 func (c *ProjectsLocationsDomainmappingsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8915,7 +8914,7 @@
 
 func (c *ProjectsLocationsDomainmappingsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9113,7 +9112,7 @@
 
 func (c *ProjectsLocationsDomainmappingsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9293,7 +9292,7 @@
 
 func (c *ProjectsLocationsNamespacesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9436,7 +9435,7 @@
 
 func (c *ProjectsLocationsNamespacesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9604,7 +9603,7 @@
 
 func (c *ProjectsLocationsRevisionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9760,7 +9759,7 @@
 
 func (c *ProjectsLocationsRevisionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9958,7 +9957,7 @@
 
 func (c *ProjectsLocationsRevisionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10138,7 +10137,7 @@
 
 func (c *ProjectsLocationsRoutesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10336,7 +10335,7 @@
 
 func (c *ProjectsLocationsRoutesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10507,7 +10506,7 @@
 
 func (c *ProjectsLocationsSecretsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10656,7 +10655,7 @@
 
 func (c *ProjectsLocationsSecretsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10795,7 +10794,7 @@
 
 func (c *ProjectsLocationsSecretsReplaceSecretCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10935,7 +10934,7 @@
 
 func (c *ProjectsLocationsServicesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11099,7 +11098,7 @@
 
 func (c *ProjectsLocationsServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11255,7 +11254,7 @@
 
 func (c *ProjectsLocationsServicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11416,7 +11415,7 @@
 
 func (c *ProjectsLocationsServicesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11620,7 +11619,7 @@
 
 func (c *ProjectsLocationsServicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11795,7 +11794,7 @@
 
 func (c *ProjectsLocationsServicesReplaceServiceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11936,7 +11935,7 @@
 
 func (c *ProjectsLocationsServicesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12078,7 +12077,7 @@
 
 func (c *ProjectsLocationsServicesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/run/v1alpha1/run-api.json b/run/v1alpha1/run-api.json
index 557780b..8abb921 100644
--- a/run/v1alpha1/run-api.json
+++ b/run/v1alpha1/run-api.json
@@ -3358,7 +3358,7 @@
       }
     }
   },
-  "revision": "20200720",
+  "revision": "20200814",
   "rootUrl": "https://run.googleapis.com/",
   "schemas": {
     "Addressable": {
@@ -4405,7 +4405,10 @@
       "properties": {
         "command": {
           "description": "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy. +optional",
-          "type": "string"
+          "items": {
+            "type": "string"
+          },
+          "type": "array"
         }
       },
       "type": "object"
diff --git a/run/v1alpha1/run-gen.go b/run/v1alpha1/run-gen.go
index 3c26208..3e664d8 100644
--- a/run/v1alpha1/run-gen.go
+++ b/run/v1alpha1/run-gen.go
@@ -2289,7 +2289,7 @@
 	// work. To use a shell, you need to explicitly call out to that shell.
 	// Exit status of 0 is treated as live/healthy and non-zero is
 	// unhealthy. +optional
-	Command string `json:"command,omitempty"`
+	Command []string `json:"command,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Command") to
 	// unconditionally include in API requests. By default, fields with
@@ -5543,7 +5543,7 @@
 
 func (c *NamespacesAuthorizeddomainsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5710,7 +5710,7 @@
 
 func (c *NamespacesCloudauditlogssourcesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5872,7 +5872,7 @@
 
 func (c *NamespacesCloudauditlogssourcesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6028,7 +6028,7 @@
 
 func (c *NamespacesCloudauditlogssourcesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6226,7 +6226,7 @@
 
 func (c *NamespacesCloudauditlogssourcesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6398,7 +6398,7 @@
 
 func (c *NamespacesCloudpubsubsourcesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6560,7 +6560,7 @@
 
 func (c *NamespacesCloudpubsubsourcesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6716,7 +6716,7 @@
 
 func (c *NamespacesCloudpubsubsourcesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6914,7 +6914,7 @@
 
 func (c *NamespacesCloudpubsubsourcesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7085,7 +7085,7 @@
 
 func (c *NamespacesCloudschedulersourcesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7247,7 +7247,7 @@
 
 func (c *NamespacesCloudschedulersourcesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7403,7 +7403,7 @@
 
 func (c *NamespacesCloudschedulersourcesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7601,7 +7601,7 @@
 
 func (c *NamespacesCloudschedulersourcesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7777,7 +7777,7 @@
 
 func (c *NamespacesCloudschedulersourcesReplaceCloudSchedulerSourceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7917,7 +7917,7 @@
 
 func (c *NamespacesCloudstoragesourcesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8079,7 +8079,7 @@
 
 func (c *NamespacesCloudstoragesourcesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8235,7 +8235,7 @@
 
 func (c *NamespacesCloudstoragesourcesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8433,7 +8433,7 @@
 
 func (c *NamespacesCloudstoragesourcesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8608,7 +8608,7 @@
 
 func (c *NamespacesCloudstoragesourcesReplaceCloudStorageSourceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8757,7 +8757,7 @@
 
 func (c *NamespacesConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8955,7 +8955,7 @@
 
 func (c *NamespacesConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9126,7 +9126,7 @@
 
 func (c *NamespacesDomainmappingsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9298,7 +9298,7 @@
 
 func (c *NamespacesDomainmappingsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9459,7 +9459,7 @@
 
 func (c *NamespacesDomainmappingsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9657,7 +9657,7 @@
 
 func (c *NamespacesDomainmappingsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9860,7 +9860,7 @@
 
 func (c *NamespacesRevisionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10021,7 +10021,7 @@
 
 func (c *NamespacesRevisionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10219,7 +10219,7 @@
 
 func (c *NamespacesRevisionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10399,7 +10399,7 @@
 
 func (c *NamespacesRoutesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10597,7 +10597,7 @@
 
 func (c *NamespacesRoutesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10768,7 +10768,7 @@
 
 func (c *NamespacesServicesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10942,7 +10942,7 @@
 
 func (c *NamespacesServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11103,7 +11103,7 @@
 
 func (c *NamespacesServicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11301,7 +11301,7 @@
 
 func (c *NamespacesServicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11476,7 +11476,7 @@
 
 func (c *NamespacesServicesReplaceServiceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11616,7 +11616,7 @@
 
 func (c *NamespacesTriggersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11778,7 +11778,7 @@
 
 func (c *NamespacesTriggersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11934,7 +11934,7 @@
 
 func (c *NamespacesTriggersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12132,7 +12132,7 @@
 
 func (c *NamespacesTriggersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12334,7 +12334,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12529,7 +12529,7 @@
 
 func (c *ProjectsLocationsAuthorizeddomainsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12696,7 +12696,7 @@
 
 func (c *ProjectsLocationsCloudauditlogssourcesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12858,7 +12858,7 @@
 
 func (c *ProjectsLocationsCloudauditlogssourcesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13014,7 +13014,7 @@
 
 func (c *ProjectsLocationsCloudauditlogssourcesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13212,7 +13212,7 @@
 
 func (c *ProjectsLocationsCloudauditlogssourcesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13384,7 +13384,7 @@
 
 func (c *ProjectsLocationsCloudpubsubsourcesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13546,7 +13546,7 @@
 
 func (c *ProjectsLocationsCloudpubsubsourcesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13702,7 +13702,7 @@
 
 func (c *ProjectsLocationsCloudpubsubsourcesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13900,7 +13900,7 @@
 
 func (c *ProjectsLocationsCloudpubsubsourcesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14071,7 +14071,7 @@
 
 func (c *ProjectsLocationsCloudschedulersourcesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14233,7 +14233,7 @@
 
 func (c *ProjectsLocationsCloudschedulersourcesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14389,7 +14389,7 @@
 
 func (c *ProjectsLocationsCloudschedulersourcesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14587,7 +14587,7 @@
 
 func (c *ProjectsLocationsCloudschedulersourcesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14763,7 +14763,7 @@
 
 func (c *ProjectsLocationsCloudschedulersourcesReplaceCloudSchedulerSourceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14903,7 +14903,7 @@
 
 func (c *ProjectsLocationsCloudstoragesourcesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15065,7 +15065,7 @@
 
 func (c *ProjectsLocationsCloudstoragesourcesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15221,7 +15221,7 @@
 
 func (c *ProjectsLocationsCloudstoragesourcesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15419,7 +15419,7 @@
 
 func (c *ProjectsLocationsCloudstoragesourcesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15594,7 +15594,7 @@
 
 func (c *ProjectsLocationsCloudstoragesourcesReplaceCloudStorageSourceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15743,7 +15743,7 @@
 
 func (c *ProjectsLocationsConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15941,7 +15941,7 @@
 
 func (c *ProjectsLocationsConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16112,7 +16112,7 @@
 
 func (c *ProjectsLocationsDomainmappingsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16284,7 +16284,7 @@
 
 func (c *ProjectsLocationsDomainmappingsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16445,7 +16445,7 @@
 
 func (c *ProjectsLocationsDomainmappingsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16643,7 +16643,7 @@
 
 func (c *ProjectsLocationsDomainmappingsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16846,7 +16846,7 @@
 
 func (c *ProjectsLocationsRevisionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17007,7 +17007,7 @@
 
 func (c *ProjectsLocationsRevisionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17205,7 +17205,7 @@
 
 func (c *ProjectsLocationsRevisionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17385,7 +17385,7 @@
 
 func (c *ProjectsLocationsRoutesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17583,7 +17583,7 @@
 
 func (c *ProjectsLocationsRoutesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17754,7 +17754,7 @@
 
 func (c *ProjectsLocationsServicesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17928,7 +17928,7 @@
 
 func (c *ProjectsLocationsServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18089,7 +18089,7 @@
 
 func (c *ProjectsLocationsServicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18250,7 +18250,7 @@
 
 func (c *ProjectsLocationsServicesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18454,7 +18454,7 @@
 
 func (c *ProjectsLocationsServicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18629,7 +18629,7 @@
 
 func (c *ProjectsLocationsServicesReplaceServiceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18770,7 +18770,7 @@
 
 func (c *ProjectsLocationsServicesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18912,7 +18912,7 @@
 
 func (c *ProjectsLocationsServicesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19052,7 +19052,7 @@
 
 func (c *ProjectsLocationsTriggersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19214,7 +19214,7 @@
 
 func (c *ProjectsLocationsTriggersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19370,7 +19370,7 @@
 
 func (c *ProjectsLocationsTriggersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19568,7 +19568,7 @@
 
 func (c *ProjectsLocationsTriggersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/run/v1beta1/run-api.json b/run/v1beta1/run-api.json
index 55697cf..4889ca5 100644
--- a/run/v1beta1/run-api.json
+++ b/run/v1beta1/run-api.json
@@ -296,7 +296,7 @@
       }
     }
   },
-  "revision": "20200720",
+  "revision": "20200814",
   "rootUrl": "https://run.googleapis.com/",
   "schemas": {
     "CustomResourceColumnDefinition": {
@@ -845,7 +845,7 @@
           "type": "array"
         },
         "resourceVersion": {
-          "description": "(Optional) An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency",
+          "description": "(Optional) An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency",
           "type": "string"
         },
         "selfLink": {
diff --git a/run/v1beta1/run-gen.go b/run/v1beta1/run-gen.go
index 7bceaeb..d90a7f5 100644
--- a/run/v1beta1/run-gen.go
+++ b/run/v1beta1/run-gen.go
@@ -1074,9 +1074,8 @@
 	// or set of resources. Clients must treat these values as opaque and
 	// passed unmodified back to the server. They may only be valid for a
 	// particular resource or set of resources. Populated by the system.
-	// Read-only. Value must be treated as opaque by clients and . More
-	// info:
-	// https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency
+	// Read-only. Value must be treated as opaque by clients. More info:
+	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
 	ResourceVersion string `json:"resourceVersion,omitempty"`
 
 	// SelfLink: (Optional) SelfLink is a URL representing this object.
@@ -1280,7 +1279,7 @@
 
 func (c *CustomresourcedefinitionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1453,7 +1452,7 @@
 
 func (c *NamespacesCustomresourcedefinitionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1597,7 +1596,7 @@
 
 func (c *ProjectsLocationsCustomresourcedefinitionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1794,7 +1793,7 @@
 
 func (c *ProjectsLocationsCustomresourcedefinitionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/runtimeconfig/v1/runtimeconfig-gen.go b/runtimeconfig/v1/runtimeconfig-gen.go
index 62b2696..aab392c 100644
--- a/runtimeconfig/v1/runtimeconfig-gen.go
+++ b/runtimeconfig/v1/runtimeconfig-gen.go
@@ -363,7 +363,7 @@
 
 func (c *OperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -505,7 +505,7 @@
 
 func (c *OperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -677,7 +677,7 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/runtimeconfig/v1beta1/runtimeconfig-gen.go b/runtimeconfig/v1beta1/runtimeconfig-gen.go
index 5c8d064..847cbaf 100644
--- a/runtimeconfig/v1beta1/runtimeconfig-gen.go
+++ b/runtimeconfig/v1beta1/runtimeconfig-gen.go
@@ -1142,7 +1142,7 @@
 
 func (c *ProjectsConfigsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1286,7 +1286,7 @@
 
 func (c *ProjectsConfigsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1428,7 +1428,7 @@
 
 func (c *ProjectsConfigsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1590,7 +1590,7 @@
 
 func (c *ProjectsConfigsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1757,7 +1757,7 @@
 
 func (c *ProjectsConfigsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1927,7 +1927,7 @@
 
 func (c *ProjectsConfigsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2073,7 +2073,7 @@
 
 func (c *ProjectsConfigsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2215,7 +2215,7 @@
 
 func (c *ProjectsConfigsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2367,7 +2367,7 @@
 
 func (c *ProjectsConfigsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2508,7 +2508,7 @@
 
 func (c *ProjectsConfigsOperationsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2667,7 +2667,7 @@
 
 func (c *ProjectsConfigsVariablesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2822,7 +2822,7 @@
 
 func (c *ProjectsConfigsVariablesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2969,7 +2969,7 @@
 
 func (c *ProjectsConfigsVariablesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3151,7 +3151,7 @@
 
 func (c *ProjectsConfigsVariablesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3334,7 +3334,7 @@
 
 func (c *ProjectsConfigsVariablesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3475,7 +3475,7 @@
 
 func (c *ProjectsConfigsVariablesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3626,7 +3626,7 @@
 
 func (c *ProjectsConfigsVariablesWatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3784,7 +3784,7 @@
 
 func (c *ProjectsConfigsWaitersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3928,7 +3928,7 @@
 
 func (c *ProjectsConfigsWaitersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4070,7 +4070,7 @@
 
 func (c *ProjectsConfigsWaitersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4231,7 +4231,7 @@
 
 func (c *ProjectsConfigsWaitersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4404,7 +4404,7 @@
 
 func (c *ProjectsConfigsWaitersTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/safebrowsing/v4/safebrowsing-gen.go b/safebrowsing/v4/safebrowsing-gen.go
index e94fd2b..4f52bca 100644
--- a/safebrowsing/v4/safebrowsing-gen.go
+++ b/safebrowsing/v4/safebrowsing-gen.go
@@ -1551,7 +1551,7 @@
 
 func (c *EncodedFullHashesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1717,7 +1717,7 @@
 
 func (c *EncodedUpdatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1857,7 +1857,7 @@
 
 func (c *FullHashesFindCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1980,7 +1980,7 @@
 
 func (c *ThreatHitsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2103,7 +2103,7 @@
 
 func (c *ThreatListUpdatesFetchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2234,7 +2234,7 @@
 
 func (c *ThreatListsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2351,7 +2351,7 @@
 
 func (c *ThreatMatchesFindCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/sasportal/v1alpha1/sasportal-gen.go b/sasportal/v1alpha1/sasportal-gen.go
index 2eebd6c..862db80 100644
--- a/sasportal/v1alpha1/sasportal-gen.go
+++ b/sasportal/v1alpha1/sasportal-gen.go
@@ -1661,7 +1661,7 @@
 
 func (c *CustomersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1818,7 +1818,7 @@
 
 func (c *CustomersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1980,7 +1980,7 @@
 
 func (c *CustomersPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2127,7 +2127,7 @@
 
 func (c *CustomersDevicesBulkCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2268,7 +2268,7 @@
 
 func (c *CustomersDevicesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2408,7 +2408,7 @@
 
 func (c *CustomersDevicesCreateSignedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2546,7 +2546,7 @@
 
 func (c *CustomersDevicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2687,7 +2687,7 @@
 
 func (c *CustomersDevicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2856,7 +2856,7 @@
 
 func (c *CustomersDevicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3028,7 +3028,7 @@
 
 func (c *CustomersDevicesMoveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3175,7 +3175,7 @@
 
 func (c *CustomersDevicesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3321,7 +3321,7 @@
 
 func (c *CustomersDevicesSignDeviceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3461,7 +3461,7 @@
 
 func (c *CustomersDevicesUpdateSignedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3601,7 +3601,7 @@
 
 func (c *CustomersNodesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3739,7 +3739,7 @@
 
 func (c *CustomersNodesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3880,7 +3880,7 @@
 
 func (c *CustomersNodesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4039,7 +4039,7 @@
 
 func (c *CustomersNodesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4206,7 +4206,7 @@
 
 func (c *CustomersNodesMoveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4353,7 +4353,7 @@
 
 func (c *CustomersNodesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4499,7 +4499,7 @@
 
 func (c *CustomersNodesNodesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4663,7 +4663,7 @@
 
 func (c *CustomersNodesNodesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4829,7 +4829,7 @@
 
 func (c *InstallerGenerateSecretCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4955,7 +4955,7 @@
 
 func (c *InstallerValidateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5092,7 +5092,7 @@
 
 func (c *NodesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5228,7 +5228,7 @@
 
 func (c *NodesDevicesBulkCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5369,7 +5369,7 @@
 
 func (c *NodesDevicesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5509,7 +5509,7 @@
 
 func (c *NodesDevicesCreateSignedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5647,7 +5647,7 @@
 
 func (c *NodesDevicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5788,7 +5788,7 @@
 
 func (c *NodesDevicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5957,7 +5957,7 @@
 
 func (c *NodesDevicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6129,7 +6129,7 @@
 
 func (c *NodesDevicesMoveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6276,7 +6276,7 @@
 
 func (c *NodesDevicesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6422,7 +6422,7 @@
 
 func (c *NodesDevicesSignDeviceCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6562,7 +6562,7 @@
 
 func (c *NodesDevicesUpdateSignedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6702,7 +6702,7 @@
 
 func (c *NodesNodesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6840,7 +6840,7 @@
 
 func (c *NodesNodesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6981,7 +6981,7 @@
 
 func (c *NodesNodesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7140,7 +7140,7 @@
 
 func (c *NodesNodesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7307,7 +7307,7 @@
 
 func (c *NodesNodesMoveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7454,7 +7454,7 @@
 
 func (c *NodesNodesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7601,7 +7601,7 @@
 
 func (c *NodesNodesDevicesBulkCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7742,7 +7742,7 @@
 
 func (c *NodesNodesDevicesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7882,7 +7882,7 @@
 
 func (c *NodesNodesDevicesCreateSignedCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8056,7 +8056,7 @@
 
 func (c *NodesNodesDevicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8228,7 +8228,7 @@
 
 func (c *NodesNodesNodesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8392,7 +8392,7 @@
 
 func (c *NodesNodesNodesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8558,7 +8558,7 @@
 
 func (c *PoliciesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8684,7 +8684,7 @@
 
 func (c *PoliciesSetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8810,7 +8810,7 @@
 
 func (c *PoliciesTestCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/script/v1/script-gen.go b/script/v1/script-gen.go
index 4c82fa4..7427dce 100644
--- a/script/v1/script-gen.go
+++ b/script/v1/script-gen.go
@@ -1906,7 +1906,7 @@
 
 func (c *ProcessesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2293,7 +2293,7 @@
 
 func (c *ProcessesListScriptProcessesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2552,7 +2552,7 @@
 
 func (c *ProjectsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2688,7 +2688,7 @@
 
 func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2841,7 +2841,7 @@
 
 func (c *ProjectsGetContentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3013,7 +3013,7 @@
 
 func (c *ProjectsGetMetricsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3171,7 +3171,7 @@
 
 func (c *ProjectsUpdateContentCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3310,7 +3310,7 @@
 
 func (c *ProjectsDeploymentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3449,7 +3449,7 @@
 
 func (c *ProjectsDeploymentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3599,7 +3599,7 @@
 
 func (c *ProjectsDeploymentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3766,7 +3766,7 @@
 
 func (c *ProjectsDeploymentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3935,7 +3935,7 @@
 
 func (c *ProjectsDeploymentsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4083,7 +4083,7 @@
 
 func (c *ProjectsVersionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4233,7 +4233,7 @@
 
 func (c *ProjectsVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4401,7 +4401,7 @@
 
 func (c *ProjectsVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4580,7 +4580,7 @@
 
 func (c *ScriptsRunCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/searchconsole/v1/searchconsole-gen.go b/searchconsole/v1/searchconsole-gen.go
index 429fe4a..0193a73 100644
--- a/searchconsole/v1/searchconsole-gen.go
+++ b/searchconsole/v1/searchconsole-gen.go
@@ -465,7 +465,7 @@
 
 func (c *UrlTestingToolsMobileFriendlyTestRunCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/secretmanager/v1/secretmanager-api.json b/secretmanager/v1/secretmanager-api.json
index dd5fdc0..fa3af4a 100644
--- a/secretmanager/v1/secretmanager-api.json
+++ b/secretmanager/v1/secretmanager-api.json
@@ -12,7 +12,7 @@
   "baseUrl": "https://secretmanager.googleapis.com/",
   "batchPath": "batch",
   "canonicalName": "Secret Manager",
-  "description": "Stores sensitive data such as API keys, passwords, and certificates. Provides convenience while improving security.\n",
+  "description": "Stores sensitive data such as API keys, passwords, and certificates. Provides convenience while improving security. ",
   "discoveryVersion": "v1",
   "documentationLink": "https://cloud.google.com/secret-manager/",
   "fullyEncodeReservedExpansion": true,
@@ -180,7 +180,7 @@
         "secrets": {
           "methods": {
             "addVersion": {
-              "description": "Creates a new SecretVersion containing secret data and attaches\nit to an existing Secret.",
+              "description": "Creates a new SecretVersion containing secret data and attaches it to an existing Secret.",
               "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}:addVersion",
               "httpMethod": "POST",
               "id": "secretmanager.projects.secrets.addVersion",
@@ -189,7 +189,7 @@
               ],
               "parameters": {
                 "parent": {
-                  "description": "Required. The resource name of the Secret to associate with the\nSecretVersion in the format `projects/*/secrets/*`.",
+                  "description": "Required. The resource name of the Secret to associate with the SecretVersion in the format `projects/*/secrets/*`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/secrets/[^/]+$",
                   "required": true,
@@ -217,14 +217,14 @@
               ],
               "parameters": {
                 "parent": {
-                  "description": "Required. The resource name of the project to associate with the\nSecret, in the format `projects/*`.",
+                  "description": "Required. The resource name of the project to associate with the Secret, in the format `projects/*`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
                   "type": "string"
                 },
                 "secretId": {
-                  "description": "Required. This must be unique within the project.\n\nA secret ID is a string with a maximum length of 255 characters and can\ncontain uppercase and lowercase letters, numerals, and the hyphen (`-`) and\nunderscore (`_`) characters.",
+                  "description": "Required. This must be unique within the project. A secret ID is a string with a maximum length of 255 characters and can contain uppercase and lowercase letters, numerals, and the hyphen (`-`) and underscore (`_`) characters.",
                   "location": "query",
                   "type": "string"
                 }
@@ -250,7 +250,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. The resource name of the Secret to delete in the format\n`projects/*/secrets/*`.",
+                  "description": "Required. The resource name of the Secret to delete in the format `projects/*/secrets/*`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/secrets/[^/]+$",
                   "required": true,
@@ -291,7 +291,7 @@
               ]
             },
             "getIamPolicy": {
-              "description": "Gets the access control policy for a secret.\nReturns empty policy if the secret exists and does not have a policy set.",
+              "description": "Gets the access control policy for a secret. Returns empty policy if the secret exists and does not have a policy set.",
               "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}:getIamPolicy",
               "httpMethod": "GET",
               "id": "secretmanager.projects.secrets.getIamPolicy",
@@ -300,13 +300,13 @@
               ],
               "parameters": {
                 "options.requestedPolicyVersion": {
-                  "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+                  "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
                 },
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/secrets/[^/]+$",
                   "required": true,
@@ -331,18 +331,18 @@
               ],
               "parameters": {
                 "pageSize": {
-                  "description": "Optional. The maximum number of results to be returned in a single page. If\nset to 0, the server decides the number of results to return. If the\nnumber is greater than 25000, it is capped at 25000.",
+                  "description": "Optional. The maximum number of results to be returned in a single page. If set to 0, the server decides the number of results to return. If the number is greater than 25000, it is capped at 25000.",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "Optional. Pagination token, returned earlier via\nListSecretsResponse.next_page_token.",
+                  "description": "Optional. Pagination token, returned earlier via ListSecretsResponse.next_page_token.",
                   "location": "query",
                   "type": "string"
                 },
                 "parent": {
-                  "description": "Required. The resource name of the project associated with the\nSecrets, in the format `projects/*`.",
+                  "description": "Required. The resource name of the project associated with the Secrets, in the format `projects/*`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
@@ -392,7 +392,7 @@
               ]
             },
             "setIamPolicy": {
-              "description": "Sets the access control policy on the specified secret. Replaces any\nexisting policy.\n\nPermissions on SecretVersions are enforced according\nto the policy set on the associated Secret.",
+              "description": "Sets the access control policy on the specified secret. Replaces any existing policy. Permissions on SecretVersions are enforced according to the policy set on the associated Secret.",
               "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}:setIamPolicy",
               "httpMethod": "POST",
               "id": "secretmanager.projects.secrets.setIamPolicy",
@@ -401,7 +401,7 @@
               ],
               "parameters": {
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/secrets/[^/]+$",
                   "required": true,
@@ -420,7 +420,7 @@
               ]
             },
             "testIamPermissions": {
-              "description": "Returns permissions that a caller has for the specified secret.\nIf the secret does not exist, this call returns an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+              "description": "Returns permissions that a caller has for the specified secret. If the secret does not exist, this call returns an empty set of permissions, not a NOT_FOUND error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
               "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}:testIamPermissions",
               "httpMethod": "POST",
               "id": "secretmanager.projects.secrets.testIamPermissions",
@@ -429,7 +429,7 @@
               ],
               "parameters": {
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/secrets/[^/]+$",
                   "required": true,
@@ -452,7 +452,7 @@
             "versions": {
               "methods": {
                 "access": {
-                  "description": "Accesses a SecretVersion. This call returns the secret data.\n\n`projects/*/secrets/*/versions/latest` is an alias to the `latest`\nSecretVersion.",
+                  "description": "Accesses a SecretVersion. This call returns the secret data. `projects/*/secrets/*/versions/latest` is an alias to the `latest` SecretVersion.",
                   "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:access",
                   "httpMethod": "GET",
                   "id": "secretmanager.projects.secrets.versions.access",
@@ -461,7 +461,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The resource name of the SecretVersion in the format\n`projects/*/secrets/*/versions/*`.",
+                      "description": "Required. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$",
                       "required": true,
@@ -477,7 +477,7 @@
                   ]
                 },
                 "destroy": {
-                  "description": "Destroys a SecretVersion.\n\nSets the state of the SecretVersion to\nDESTROYED and irrevocably destroys the\nsecret data.",
+                  "description": "Destroys a SecretVersion. Sets the state of the SecretVersion to DESTROYED and irrevocably destroys the secret data.",
                   "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:destroy",
                   "httpMethod": "POST",
                   "id": "secretmanager.projects.secrets.versions.destroy",
@@ -486,7 +486,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The resource name of the SecretVersion to destroy in the format\n`projects/*/secrets/*/versions/*`.",
+                      "description": "Required. The resource name of the SecretVersion to destroy in the format `projects/*/secrets/*/versions/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$",
                       "required": true,
@@ -505,7 +505,7 @@
                   ]
                 },
                 "disable": {
-                  "description": "Disables a SecretVersion.\n\nSets the state of the SecretVersion to\nDISABLED.",
+                  "description": "Disables a SecretVersion. Sets the state of the SecretVersion to DISABLED.",
                   "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:disable",
                   "httpMethod": "POST",
                   "id": "secretmanager.projects.secrets.versions.disable",
@@ -514,7 +514,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The resource name of the SecretVersion to disable in the format\n`projects/*/secrets/*/versions/*`.",
+                      "description": "Required. The resource name of the SecretVersion to disable in the format `projects/*/secrets/*/versions/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$",
                       "required": true,
@@ -533,7 +533,7 @@
                   ]
                 },
                 "enable": {
-                  "description": "Enables a SecretVersion.\n\nSets the state of the SecretVersion to\nENABLED.",
+                  "description": "Enables a SecretVersion. Sets the state of the SecretVersion to ENABLED.",
                   "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:enable",
                   "httpMethod": "POST",
                   "id": "secretmanager.projects.secrets.versions.enable",
@@ -542,7 +542,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The resource name of the SecretVersion to enable in the format\n`projects/*/secrets/*/versions/*`.",
+                      "description": "Required. The resource name of the SecretVersion to enable in the format `projects/*/secrets/*/versions/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$",
                       "required": true,
@@ -561,7 +561,7 @@
                   ]
                 },
                 "get": {
-                  "description": "Gets metadata for a SecretVersion.\n\n`projects/*/secrets/*/versions/latest` is an alias to the `latest`\nSecretVersion.",
+                  "description": "Gets metadata for a SecretVersion. `projects/*/secrets/*/versions/latest` is an alias to the `latest` SecretVersion.",
                   "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}",
                   "httpMethod": "GET",
                   "id": "secretmanager.projects.secrets.versions.get",
@@ -570,7 +570,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The resource name of the SecretVersion in the format\n`projects/*/secrets/*/versions/*`.\n`projects/*/secrets/*/versions/latest` is an alias to the `latest`\nSecretVersion.",
+                      "description": "Required. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*`. `projects/*/secrets/*/versions/latest` is an alias to the `latest` SecretVersion.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$",
                       "required": true,
@@ -586,7 +586,7 @@
                   ]
                 },
                 "list": {
-                  "description": "Lists SecretVersions. This call does not return secret\ndata.",
+                  "description": "Lists SecretVersions. This call does not return secret data.",
                   "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}/versions",
                   "httpMethod": "GET",
                   "id": "secretmanager.projects.secrets.versions.list",
@@ -595,18 +595,18 @@
                   ],
                   "parameters": {
                     "pageSize": {
-                      "description": "Optional. The maximum number of results to be returned in a single page. If\nset to 0, the server decides the number of results to return. If the\nnumber is greater than 25000, it is capped at 25000.",
+                      "description": "Optional. The maximum number of results to be returned in a single page. If set to 0, the server decides the number of results to return. If the number is greater than 25000, it is capped at 25000.",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "Optional. Pagination token, returned earlier via\nListSecretVersionsResponse.next_page_token][].",
+                      "description": "Optional. Pagination token, returned earlier via ListSecretVersionsResponse.next_page_token][].",
                       "location": "query",
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The resource name of the Secret associated with the\nSecretVersions to list, in the format\n`projects/*/secrets/*`.",
+                      "description": "Required. The resource name of the Secret associated with the SecretVersions to list, in the format `projects/*/secrets/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/secrets/[^/]+$",
                       "required": true,
@@ -628,7 +628,7 @@
       }
     }
   },
-  "revision": "20200619",
+  "revision": "20200807",
   "rootUrl": "https://secretmanager.googleapis.com/",
   "schemas": {
     "AccessSecretVersionResponse": {
@@ -636,7 +636,7 @@
       "id": "AccessSecretVersionResponse",
       "properties": {
         "name": {
-          "description": "The resource name of the SecretVersion in the format\n`projects/*/secrets/*/versions/*`.",
+          "description": "The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*`.",
           "type": "string"
         },
         "payload": {
@@ -658,7 +658,7 @@
       "type": "object"
     },
     "AuditConfig": {
-      "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n    {\n      \"audit_configs\": [\n        {\n          \"service\": \"allServices\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n              \"exempted_members\": [\n                \"user:jose@example.com\"\n              ]\n            },\n            {\n              \"log_type\": \"DATA_WRITE\"\n            },\n            {\n              \"log_type\": \"ADMIN_READ\"\n            }\n          ]\n        },\n        {\n          \"service\": \"sampleservice.googleapis.com\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\"\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n              \"exempted_members\": [\n                \"user:aliya@example.com\"\n              ]\n            }\n          ]\n        }\n      ]\n    }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.",
+      "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.",
       "id": "AuditConfig",
       "properties": {
         "auditLogConfigs": {
@@ -669,18 +669,18 @@
           "type": "array"
         },
         "service": {
-          "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.",
+          "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "AuditLogConfig": {
-      "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n    {\n      \"audit_log_configs\": [\n        {\n          \"log_type\": \"DATA_READ\",\n          \"exempted_members\": [\n            \"user:jose@example.com\"\n          ]\n        },\n        {\n          \"log_type\": \"DATA_WRITE\"\n        }\n      ]\n    }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.",
+      "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.",
       "id": "AuditLogConfig",
       "properties": {
         "exemptedMembers": {
-          "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.",
+          "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.",
           "items": {
             "type": "string"
           },
@@ -706,7 +706,7 @@
       "type": "object"
     },
     "Automatic": {
-      "description": "A replication policy that replicates the Secret payload without any\nrestrictions.",
+      "description": "A replication policy that replicates the Secret payload without any restrictions.",
       "id": "Automatic",
       "properties": {},
       "type": "object"
@@ -717,17 +717,17 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
           "type": "string"
         }
       },
@@ -746,7 +746,7 @@
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
@@ -758,23 +758,23 @@
       "type": "object"
     },
     "Expr": {
-      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
+      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
       "id": "Expr",
       "properties": {
         "description": {
-          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
+          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
           "type": "string"
         },
         "expression": {
-          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
+          "description": "Textual representation of an expression in Common Expression Language syntax.",
           "type": "string"
         },
         "location": {
-          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
+          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
           "type": "string"
         },
         "title": {
-          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
+          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
           "type": "string"
         }
       },
@@ -803,7 +803,7 @@
       "id": "ListSecretVersionsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "A token to retrieve the next page of results. Pass this value in\nListSecretVersionsRequest.page_token to retrieve the next page.",
+          "description": "A token to retrieve the next page of results. Pass this value in ListSecretVersionsRequest.page_token to retrieve the next page.",
           "type": "string"
         },
         "totalSize": {
@@ -812,7 +812,7 @@
           "type": "integer"
         },
         "versions": {
-          "description": "The list of SecretVersions sorted in reverse by\ncreate_time (newest first).",
+          "description": "The list of SecretVersions sorted in reverse by create_time (newest first).",
           "items": {
             "$ref": "SecretVersion"
           },
@@ -826,11 +826,11 @@
       "id": "ListSecretsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "A token to retrieve the next page of results. Pass this value in\nListSecretsRequest.page_token to retrieve the next page.",
+          "description": "A token to retrieve the next page of results. Pass this value in ListSecretsRequest.page_token to retrieve the next page.",
           "type": "string"
         },
         "secrets": {
-          "description": "The list of Secrets sorted in reverse by create_time (newest\nfirst).",
+          "description": "The list of Secrets sorted in reverse by create_time (newest first).",
           "items": {
             "$ref": "Secret"
           },
@@ -849,14 +849,14 @@
       "id": "Location",
       "properties": {
         "displayName": {
-          "description": "The friendly name for this location, typically a nearby city name.\nFor example, \"Tokyo\".",
+          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
           "type": "string"
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Cross-service attributes for the location. For example\n\n    {\"cloud.googleapis.com/region\": \"us-east1\"}",
+          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
           "type": "object"
         },
         "locationId": {
@@ -868,18 +868,18 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "Service-specific metadata. For example the available capacity at the given\nlocation.",
+          "description": "Service-specific metadata. For example the available capacity at the given location.",
           "type": "object"
         },
         "name": {
-          "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`",
+          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\n            \"user:eve@example.com\"\n          ],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "auditConfigs": {
@@ -890,19 +890,19 @@
           "type": "array"
         },
         "bindings": {
-          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
+          "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.",
           "items": {
             "$ref": "Binding"
           },
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
           "format": "byte",
           "type": "string"
         },
         "version": {
-          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -914,14 +914,14 @@
       "id": "Replica",
       "properties": {
         "location": {
-          "description": "The canonical IDs of the location to replicate data.\nFor example: `\"us-east1\"`.",
+          "description": "The canonical IDs of the location to replicate data. For example: `\"us-east1\"`.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Replication": {
-      "description": "A policy that defines the replication configuration of data.\n",
+      "description": "A policy that defines the replication configuration of data. ",
       "id": "Replication",
       "properties": {
         "automatic": {
@@ -936,34 +936,36 @@
       "type": "object"
     },
     "Secret": {
-      "description": "A Secret is a logical secret whose value and versions can\nbe accessed.\n\nA Secret is made up of zero or more SecretVersions that\nrepresent the secret data.",
+      "description": "A Secret is a logical secret whose value and versions can be accessed. A Secret is made up of zero or more SecretVersions that represent the secret data.",
       "id": "Secret",
       "properties": {
         "createTime": {
           "description": "Output only. The time at which the Secret was created.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The labels assigned to this Secret.\n\nLabel keys must be between 1 and 63 characters long, have a UTF-8 encoding\nof maximum 128 bytes, and must conform to the following PCRE regular\nexpression: `\\p{Ll}\\p{Lo}{0,62}`\n\nLabel values must be between 0 and 63 characters long, have a UTF-8\nencoding of maximum 128 bytes, and must conform to the following PCRE\nregular expression: `[\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}`\n\nNo more than 64 labels can be assigned to a given resource.",
+          "description": "The labels assigned to this Secret. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `\\p{Ll}\\p{Lo}{0,62}` Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `[\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}` No more than 64 labels can be assigned to a given resource.",
           "type": "object"
         },
         "name": {
           "description": "Output only. The resource name of the Secret in the format `projects/*/secrets/*`.",
+          "readOnly": true,
           "type": "string"
         },
         "replication": {
           "$ref": "Replication",
-          "description": "Required. Immutable. The replication policy of the secret data attached to the Secret.\n\nThe replication policy cannot be changed after the Secret has been created."
+          "description": "Required. Immutable. The replication policy of the secret data attached to the Secret. The replication policy cannot be changed after the Secret has been created."
         }
       },
       "type": "object"
     },
     "SecretPayload": {
-      "description": "A secret payload resource in the Secret Manager API. This contains the\nsensitive secret payload that is associated with a SecretVersion.",
+      "description": "A secret payload resource in the Secret Manager API. This contains the sensitive secret payload that is associated with a SecretVersion.",
       "id": "SecretPayload",
       "properties": {
         "data": {
@@ -981,15 +983,18 @@
         "createTime": {
           "description": "Output only. The time at which the SecretVersion was created.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "destroyTime": {
-          "description": "Output only. The time this SecretVersion was destroyed.\nOnly present if state is\nDESTROYED.",
+          "description": "Output only. The time this SecretVersion was destroyed. Only present if state is DESTROYED.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "name": {
-          "description": "Output only. The resource name of the SecretVersion in the\nformat `projects/*/secrets/*/versions/*`.\n\nSecretVersion IDs in a Secret start at 1 and\nare incremented for each subsequent version of the secret.",
+          "description": "Output only. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*`. SecretVersion IDs in a Secret start at 1 and are incremented for each subsequent version of the secret.",
+          "readOnly": true,
           "type": "string"
         },
         "state": {
@@ -1003,9 +1008,10 @@
           "enumDescriptions": [
             "Not specified. This value is unused and invalid.",
             "The SecretVersion may be accessed.",
-            "The SecretVersion may not be accessed, but the secret data\nis still available and can be placed back into the ENABLED\nstate.",
-            "The SecretVersion is destroyed and the secret data is no longer\nstored. A version may not leave this state once entered."
+            "The SecretVersion may not be accessed, but the secret data is still available and can be placed back into the ENABLED state.",
+            "The SecretVersion is destroyed and the secret data is no longer stored. A version may not leave this state once entered."
           ],
+          "readOnly": true,
           "type": "string"
         }
       },
@@ -1017,10 +1023,10 @@
       "properties": {
         "policy": {
           "$ref": "Policy",
-          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
+          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them."
         },
         "updateMask": {
-          "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`",
+          "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`",
           "format": "google-fieldmask",
           "type": "string"
         }
@@ -1032,7 +1038,7 @@
       "id": "TestIamPermissionsRequest",
       "properties": {
         "permissions": {
-          "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
+          "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
           "items": {
             "type": "string"
           },
@@ -1046,7 +1052,7 @@
       "id": "TestIamPermissionsResponse",
       "properties": {
         "permissions": {
-          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
+          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
           "items": {
             "type": "string"
           },
@@ -1056,11 +1062,11 @@
       "type": "object"
     },
     "UserManaged": {
-      "description": "A replication policy that replicates the Secret payload into the\nlocations specified in Secret.replication.user_managed.replicas",
+      "description": "A replication policy that replicates the Secret payload into the locations specified in Secret.replication.user_managed.replicas",
       "id": "UserManaged",
       "properties": {
         "replicas": {
-          "description": "Required. The list of Replicas for this Secret.\n\nCannot be empty.",
+          "description": "Required. The list of Replicas for this Secret. Cannot be empty.",
           "items": {
             "$ref": "Replica"
           },
diff --git a/secretmanager/v1/secretmanager-gen.go b/secretmanager/v1/secretmanager-gen.go
index 55d8b0b..3d2453a 100644
--- a/secretmanager/v1/secretmanager-gen.go
+++ b/secretmanager/v1/secretmanager-gen.go
@@ -183,8 +183,7 @@
 // AccessSecretVersionResponse: Response message for
 // SecretManagerService.AccessSecretVersion.
 type AccessSecretVersionResponse struct {
-	// Name: The resource name of the SecretVersion in the
-	// format
+	// Name: The resource name of the SecretVersion in the format
 	// `projects/*/secrets/*/versions/*`.
 	Name string `json:"name,omitempty"`
 
@@ -247,72 +246,31 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// AuditConfig: Specifies the audit configuration for a service.
-// The configuration determines which permission types are logged, and
-// what
-// identities, if any, are exempted from logging.
-// An AuditConfig must have one or more AuditLogConfigs.
-//
-// If there are AuditConfigs for both `allServices` and a specific
-// service,
-// the union of the two AuditConfigs is used for that service: the
-// log_types
-// specified in each AuditConfig are enabled, and the exempted_members
-// in each
-// AuditLogConfig are exempted.
-//
-// Example Policy with multiple AuditConfigs:
-//
-//     {
-//       "audit_configs": [
-//         {
-//           "service": "allServices",
-//           "audit_log_configs": [
-//             {
-//               "log_type": "DATA_READ",
-//               "exempted_members": [
-//                 "user:jose@example.com"
-//               ]
-//             },
-//             {
-//               "log_type": "DATA_WRITE"
-//             },
-//             {
-//               "log_type": "ADMIN_READ"
-//             }
-//           ]
-//         },
-//         {
-//           "service": "sampleservice.googleapis.com",
-//           "audit_log_configs": [
-//             {
-//               "log_type": "DATA_READ"
-//             },
-//             {
-//               "log_type": "DATA_WRITE",
-//               "exempted_members": [
-//                 "user:aliya@example.com"
-//               ]
-//             }
-//           ]
-//         }
-//       ]
-//     }
-//
-// For sampleservice, this policy enables DATA_READ, DATA_WRITE and
-// ADMIN_READ
-// logging. It also exempts jose@example.com from DATA_READ logging,
-// and
-// aliya@example.com from DATA_WRITE logging.
+// AuditConfig: Specifies the audit configuration for a service. The
+// configuration determines which permission types are logged, and what
+// identities, if any, are exempted from logging. An AuditConfig must
+// have one or more AuditLogConfigs. If there are AuditConfigs for both
+// `allServices` and a specific service, the union of the two
+// AuditConfigs is used for that service: the log_types specified in
+// each AuditConfig are enabled, and the exempted_members in each
+// AuditLogConfig are exempted. Example Policy with multiple
+// AuditConfigs: { "audit_configs": [ { "service": "allServices",
+// "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members":
+// [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, {
+// "log_type": "ADMIN_READ" } ] }, { "service":
+// "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type":
+// "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [
+// "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy
+// enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts
+// jose@example.com from DATA_READ logging, and aliya@example.com from
+// DATA_WRITE logging.
 type AuditConfig struct {
 	// AuditLogConfigs: The configuration for logging of each type of
 	// permission.
 	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
 
-	// Service: Specifies a service that will be enabled for audit
-	// logging.
-	// For example, `storage.googleapis.com`,
-	// `cloudsql.googleapis.com`.
+	// Service: Specifies a service that will be enabled for audit logging.
+	// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
 	// `allServices` is a special value that covers all services.
 	Service string `json:"service,omitempty"`
 
@@ -341,31 +299,15 @@
 }
 
 // AuditLogConfig: Provides the configuration for logging a type of
-// permissions.
-// Example:
-//
-//     {
-//       "audit_log_configs": [
-//         {
-//           "log_type": "DATA_READ",
-//           "exempted_members": [
-//             "user:jose@example.com"
-//           ]
-//         },
-//         {
-//           "log_type": "DATA_WRITE"
-//         }
-//       ]
-//     }
-//
-// This enables 'DATA_READ' and 'DATA_WRITE' logging, while
-// exempting
-// jose@example.com from DATA_READ logging.
+// permissions. Example: { "audit_log_configs": [ { "log_type":
+// "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, {
+// "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and
+// 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ
+// logging.
 type AuditLogConfig struct {
 	// ExemptedMembers: Specifies the identities that do not cause logging
-	// for this type of
-	// permission.
-	// Follows the same format of Binding.members.
+	// for this type of permission. Follows the same format of
+	// Binding.members.
 	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
 
 	// LogType: The log type that this config enables.
@@ -402,102 +344,59 @@
 }
 
 // Automatic: A replication policy that replicates the Secret payload
-// without any
-// restrictions.
+// without any restrictions.
 type Automatic struct {
 }
 
 // Binding: Associates `members` with a `role`.
 type Binding struct {
-	// Condition: The condition that is associated with this binding.
-	//
-	// If the condition evaluates to `true`, then this binding applies to
-	// the
-	// current request.
-	//
-	// If the condition evaluates to `false`, then this binding does not
-	// apply to
-	// the current request. However, a different role binding might grant
-	// the same
-	// role to one or more of the members in this binding.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// Condition: The condition that is associated with this binding. If the
+	// condition evaluates to `true`, then this binding applies to the
+	// current request. If the condition evaluates to `false`, then this
+	// binding does not apply to the current request. However, a different
+	// role binding might grant the same role to one or more of the members
+	// in this binding. To learn which resources support conditions in their
+	// IAM policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	Condition *Expr `json:"condition,omitempty"`
 
 	// Members: Specifies the identities requesting access for a Cloud
-	// Platform resource.
-	// `members` can have the following values:
-	//
-	// * `allUsers`: A special identifier that represents anyone who is
-	//    on the internet; with or without a Google account.
-	//
-	// * `allAuthenticatedUsers`: A special identifier that represents
-	// anyone
-	//    who is authenticated with a Google account or a service
-	// account.
-	//
-	// * `user:{emailid}`: An email address that represents a specific
-	// Google
-	//    account. For example, `alice@example.com` .
-	//
-	//
-	// * `serviceAccount:{emailid}`: An email address that represents a
-	// service
-	//    account. For example,
-	// `my-other-app@appspot.gserviceaccount.com`.
-	//
-	// * `group:{emailid}`: An email address that represents a Google
-	// group.
-	//    For example, `admins@example.com`.
-	//
-	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a user that has been recently deleted.
-	// For
-	//    example, `alice@example.com?uid=123456789012345678901`. If the
-	// user is
-	//    recovered, this value reverts to `user:{emailid}` and the
-	// recovered user
-	//    retains the role in the binding.
-	//
-	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
-	// (plus
-	//    unique identifier) representing a service account that has been
-	// recently
-	//    deleted. For example,
-	//
+	// Platform resource. `members` can have the following values: *
+	// `allUsers`: A special identifier that represents anyone who is on the
+	// internet; with or without a Google account. *
+	// `allAuthenticatedUsers`: A special identifier that represents anyone
+	// who is authenticated with a Google account or a service account. *
+	// `user:{emailid}`: An email address that represents a specific Google
+	// account. For example, `alice@example.com` . *
+	// `serviceAccount:{emailid}`: An email address that represents a
+	// service account. For example,
+	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
+	// email address that represents a Google group. For example,
+	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
+	// email address (plus unique identifier) representing a user that has
+	// been recently deleted. For example,
+	// `alice@example.com?uid=123456789012345678901`. If the user is
+	// recovered, this value reverts to `user:{emailid}` and the recovered
+	// user retains the role in the binding. *
+	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
+	// (plus unique identifier) representing a service account that has been
+	// recently deleted. For example,
 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
-	//
-	//    If the service account is undeleted, this value reverts to
-	//    `serviceAccount:{emailid}` and the undeleted service account
-	// retains the
-	//    role in the binding.
-	//
-	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a Google group that has been recently
-	//    deleted. For example,
-	// `admins@example.com?uid=123456789012345678901`. If
-	//    the group is recovered, this value reverts to `group:{emailid}`
-	// and the
-	//    recovered group retains the role in the binding.
-	//
-	//
-	// * `domain:{domain}`: The G Suite domain (primary) that represents all
-	// the
-	//    users of that domain. For example, `google.com` or
-	// `example.com`.
-	//
-	//
+	// If the service account is undeleted, this value reverts to
+	// `serviceAccount:{emailid}` and the undeleted service account retains
+	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
+	// An email address (plus unique identifier) representing a Google group
+	// that has been recently deleted. For example,
+	// `admins@example.com?uid=123456789012345678901`. If the group is
+	// recovered, this value reverts to `group:{emailid}` and the recovered
+	// group retains the role in the binding. * `domain:{domain}`: The G
+	// Suite domain (primary) that represents all the users of that domain.
+	// For example, `google.com` or `example.com`.
 	Members []string `json:"members,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`.
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -534,17 +433,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -557,65 +450,40 @@
 }
 
 // Expr: Represents a textual expression in the Common Expression
-// Language (CEL)
-// syntax. CEL is a C-like expression language. The syntax and semantics
-// of CEL
-// are documented at https://github.com/google/cel-spec.
-//
-// Example (Comparison):
-//
-//     title: "Summary size limit"
-//     description: "Determines if a summary is less than 100 chars"
-//     expression: "document.summary.size() < 100"
-//
-// Example (Equality):
-//
-//     title: "Requestor is owner"
-//     description: "Determines if requestor is the document owner"
-//     expression: "document.owner ==
-// request.auth.claims.email"
-//
-// Example (Logic):
-//
-//     title: "Public documents"
-//     description: "Determine whether the document should be publicly
-// visible"
-//     expression: "document.type != 'private' && document.type !=
-// 'internal'"
-//
-// Example (Data Manipulation):
-//
-//     title: "Notification string"
-//     description: "Create a notification string with a timestamp."
-//     expression: "'New message received at ' +
-// string(document.create_time)"
-//
-// The exact variables and functions that may be referenced within an
-// expression
-// are determined by the service that evaluates it. See the
-// service
-// documentation for additional information.
+// Language (CEL) syntax. CEL is a C-like expression language. The
+// syntax and semantics of CEL are documented at
+// https://github.com/google/cel-spec. Example (Comparison): title:
+// "Summary size limit" description: "Determines if a summary is less
+// than 100 chars" expression: "document.summary.size() < 100" Example
+// (Equality): title: "Requestor is owner" description: "Determines if
+// requestor is the document owner" expression: "document.owner ==
+// request.auth.claims.email" Example (Logic): title: "Public documents"
+// description: "Determine whether the document should be publicly
+// visible" expression: "document.type != 'private' && document.type !=
+// 'internal'" Example (Data Manipulation): title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' +
+// string(document.create_time)" The exact variables and functions that
+// may be referenced within an expression are determined by the service
+// that evaluates it. See the service documentation for additional
+// information.
 type Expr struct {
 	// Description: Optional. Description of the expression. This is a
-	// longer text which
-	// describes the expression, e.g. when hovered over it in a UI.
+	// longer text which describes the expression, e.g. when hovered over it
+	// in a UI.
 	Description string `json:"description,omitempty"`
 
 	// Expression: Textual representation of an expression in Common
-	// Expression Language
-	// syntax.
+	// Expression Language syntax.
 	Expression string `json:"expression,omitempty"`
 
 	// Location: Optional. String indicating the location of the expression
-	// for error
-	// reporting, e.g. a file name and a position in the file.
+	// for error reporting, e.g. a file name and a position in the file.
 	Location string `json:"location,omitempty"`
 
 	// Title: Optional. Title for the expression, i.e. a short string
-	// describing
-	// its purpose. This can be used e.g. in UIs which allow to enter
-	// the
-	// expression.
+	// describing its purpose. This can be used e.g. in UIs which allow to
+	// enter the expression.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -682,15 +550,15 @@
 // SecretManagerService.ListSecretVersions.
 type ListSecretVersionsResponse struct {
 	// NextPageToken: A token to retrieve the next page of results. Pass
-	// this value in
-	// ListSecretVersionsRequest.page_token to retrieve the next page.
+	// this value in ListSecretVersionsRequest.page_token to retrieve the
+	// next page.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// TotalSize: The total number of SecretVersions.
 	TotalSize int64 `json:"totalSize,omitempty"`
 
-	// Versions: The list of SecretVersions sorted in reverse by
-	// create_time (newest first).
+	// Versions: The list of SecretVersions sorted in reverse by create_time
+	// (newest first).
 	Versions []*SecretVersion `json:"versions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -724,12 +592,11 @@
 // SecretManagerService.ListSecrets.
 type ListSecretsResponse struct {
 	// NextPageToken: A token to retrieve the next page of results. Pass
-	// this value in
-	// ListSecretsRequest.page_token to retrieve the next page.
+	// this value in ListSecretsRequest.page_token to retrieve the next
+	// page.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
-	// Secrets: The list of Secrets sorted in reverse by create_time
-	// (newest
+	// Secrets: The list of Secrets sorted in reverse by create_time (newest
 	// first).
 	Secrets []*Secret `json:"secrets,omitempty"`
 
@@ -766,13 +633,11 @@
 // Location: A resource that represents Google Cloud Platform location.
 type Location struct {
 	// DisplayName: The friendly name for this location, typically a nearby
-	// city name.
-	// For example, "Tokyo".
+	// city name. For example, "Tokyo".
 	DisplayName string `json:"displayName,omitempty"`
 
 	// Labels: Cross-service attributes for the location. For example
-	//
-	//     {"cloud.googleapis.com/region": "us-east1"}
+	// {"cloud.googleapis.com/region": "us-east1"}
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// LocationId: The canonical id for this location. For example:
@@ -780,13 +645,12 @@
 	LocationId string `json:"locationId,omitempty"`
 
 	// Metadata: Service-specific metadata. For example the available
-	// capacity at the given
-	// location.
+	// capacity at the given location.
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Name: Resource name for the location, which may vary between
-	// implementations.
-	// For example: "projects/example-project/locations/us-east1"
+	// implementations. For example:
+	// "projects/example-project/locations/us-east1"
 	Name string `json:"name,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -817,154 +681,77 @@
 }
 
 // Policy: An Identity and Access Management (IAM) policy, which
-// specifies access
-// controls for Google Cloud resources.
-//
-//
-// A `Policy` is a collection of `bindings`. A `binding` binds one or
-// more
-// `members` to a single `role`. Members can be user accounts, service
-// accounts,
+// specifies access controls for Google Cloud resources. A `Policy` is a
+// collection of `bindings`. A `binding` binds one or more `members` to
+// a single `role`. Members can be user accounts, service accounts,
 // Google groups, and domains (such as G Suite). A `role` is a named
-// list of
-// permissions; each `role` can be an IAM predefined role or a
-// user-created
-// custom role.
-//
-// For some types of Google Cloud resources, a `binding` can also
-// specify a
-// `condition`, which is a logical expression that allows access to a
-// resource
-// only if the expression evaluates to `true`. A condition can add
-// constraints
-// based on attributes of the request, the resource, or both. To learn
-// which
-// resources support conditions in their IAM policies, see the
-// [IAM
+// list of permissions; each `role` can be an IAM predefined role or a
+// user-created custom role. For some types of Google Cloud resources, a
+// `binding` can also specify a `condition`, which is a logical
+// expression that allows access to a resource only if the expression
+// evaluates to `true`. A condition can add constraints based on
+// attributes of the request, the resource, or both. To learn which
+// resources support conditions in their IAM policies, see the [IAM
 // documentation](https://cloud.google.com/iam/help/conditions/resource-p
-// olicies).
-//
-// **JSON example:**
-//
-//     {
-//       "bindings": [
-//         {
-//           "role": "roles/resourcemanager.organizationAdmin",
-//           "members": [
-//             "user:mike@example.com",
-//             "group:admins@example.com",
-//             "domain:google.com",
-//
-// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
-//           ]
-//         },
-//         {
-//           "role": "roles/resourcemanager.organizationViewer",
-//           "members": [
-//             "user:eve@example.com"
-//           ],
-//           "condition": {
-//             "title": "expirable access",
-//             "description": "Does not grant access after Sep 2020",
-//             "expression": "request.time <
-// timestamp('2020-10-01T00:00:00.000Z')",
-//           }
-//         }
-//       ],
-//       "etag": "BwWWja0YfJA=",
-//       "version": 3
-//     }
-//
-// **YAML example:**
-//
-//     bindings:
-//     - members:
-//       - user:mike@example.com
-//       - group:admins@example.com
-//       - domain:google.com
-//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
-//       role: roles/resourcemanager.organizationAdmin
-//     - members:
-//       - user:eve@example.com
-//       role: roles/resourcemanager.organizationViewer
-//       condition:
-//         title: expirable access
-//         description: Does not grant access after Sep 2020
-//         expression: request.time <
-// timestamp('2020-10-01T00:00:00.000Z')
-//     - etag: BwWWja0YfJA=
-//     - version: 3
-//
-// For a description of IAM and its features, see the
-// [IAM documentation](https://cloud.google.com/iam/docs/).
+// olicies). **JSON example:** { "bindings": [ { "role":
+// "roles/resourcemanager.organizationAdmin", "members": [
+// "user:mike@example.com", "group:admins@example.com",
+// "domain:google.com",
+// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
+// "role": "roles/resourcemanager.organizationViewer", "members": [
+// "user:eve@example.com" ], "condition": { "title": "expirable access",
+// "description": "Does not grant access after Sep 2020", "expression":
+// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
+// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
+// members: - user:mike@example.com - group:admins@example.com -
+// domain:google.com -
+// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
+// roles/resourcemanager.organizationAdmin - members: -
+// user:eve@example.com role: roles/resourcemanager.organizationViewer
+// condition: title: expirable access description: Does not grant access
+// after Sep 2020 expression: request.time <
+// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
+// 3 For a description of IAM and its features, see the [IAM
+// documentation](https://cloud.google.com/iam/docs/).
 type Policy struct {
 	// AuditConfigs: Specifies cloud audit logging configuration for this
 	// policy.
 	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
 
 	// Bindings: Associates a list of `members` to a `role`. Optionally, may
-	// specify a
-	// `condition` that determines how and when the `bindings` are applied.
-	// Each
-	// of the `bindings` must contain at least one member.
+	// specify a `condition` that determines how and when the `bindings` are
+	// applied. Each of the `bindings` must contain at least one member.
 	Bindings []*Binding `json:"bindings,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a policy from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform policy updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `getIamPolicy`,
-	// and
-	// systems are expected to put that etag in the request to
-	// `setIamPolicy` to
-	// ensure that their change will be applied to the same version of the
-	// policy.
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
+	// help prevent simultaneous updates of a policy from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform policy updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `getIamPolicy`, and systems are expected to put that etag in the
+	// request to `setIamPolicy` to ensure that their change will be applied
+	// to the same version of the policy. **Important:** If you use IAM
+	// Conditions, you must include the `etag` field whenever you call
+	// `setIamPolicy`. If you omit this field, then IAM allows you to
+	// overwrite a version `3` policy with a version `1` policy, and all of
 	// the conditions in the version `3` policy are lost.
 	Etag string `json:"etag,omitempty"`
 
-	// Version: Specifies the format of the policy.
-	//
-	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
-	// value
-	// are rejected.
-	//
+	// Version: Specifies the format of the policy. Valid values are `0`,
+	// `1`, and `3`. Requests that specify an invalid value are rejected.
 	// Any operation that affects conditional role bindings must specify
-	// version
-	// `3`. This requirement applies to the following operations:
-	//
-	// * Getting a policy that includes a conditional role binding
-	// * Adding a conditional role binding to a policy
-	// * Changing a conditional role binding in a policy
-	// * Removing any role binding, with or without a condition, from a
-	// policy
-	//   that includes conditions
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
-	// the conditions in the version `3` policy are lost.
-	//
-	// If a policy does not include any conditions, operations on that
-	// policy may
-	// specify any valid version or leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see the
-	// [IAM
+	// version `3`. This requirement applies to the following operations: *
+	// Getting a policy that includes a conditional role binding * Adding a
+	// conditional role binding to a policy * Changing a conditional role
+	// binding in a policy * Removing any role binding, with or without a
+	// condition, from a policy that includes conditions **Important:** If
+	// you use IAM Conditions, you must include the `etag` field whenever
+	// you call `setIamPolicy`. If you omit this field, then IAM allows you
+	// to overwrite a version `3` policy with a version `1` policy, and all
+	// of the conditions in the version `3` policy are lost. If a policy
+	// does not include any conditions, operations on that policy may
+	// specify any valid version or leave the field unset. To learn which
+	// resources support conditions in their IAM policies, see the [IAM
 	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
 	// olicies).
 	Version int64 `json:"version,omitempty"`
@@ -998,8 +785,8 @@
 
 // Replica: Represents a Replica for this Secret.
 type Replica struct {
-	// Location: The canonical IDs of the location to replicate data.
-	// For example: "us-east1".
+	// Location: The canonical IDs of the location to replicate data. For
+	// example: "us-east1".
 	Location string `json:"location,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Location") to
@@ -1027,7 +814,6 @@
 
 // Replication: A policy that defines the replication configuration of
 // data.
-//
 type Replication struct {
 	// Automatic: The Secret will automatically be replicated without any
 	// restrictions.
@@ -1060,29 +846,19 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// Secret: A Secret is a logical secret whose value and versions can
-// be accessed.
-//
-// A Secret is made up of zero or more SecretVersions that
+// Secret: A Secret is a logical secret whose value and versions can be
+// accessed. A Secret is made up of zero or more SecretVersions that
 // represent the secret data.
 type Secret struct {
 	// CreateTime: Output only. The time at which the Secret was created.
 	CreateTime string `json:"createTime,omitempty"`
 
-	// Labels: The labels assigned to this Secret.
-	//
-	// Label keys must be between 1 and 63 characters long, have a UTF-8
-	// encoding
-	// of maximum 128 bytes, and must conform to the following PCRE
-	// regular
-	// expression: `\p{Ll}\p{Lo}{0,62}`
-	//
-	// Label values must be between 0 and 63 characters long, have a
-	// UTF-8
-	// encoding of maximum 128 bytes, and must conform to the following
-	// PCRE
-	// regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`
-	//
+	// Labels: The labels assigned to this Secret. Label keys must be
+	// between 1 and 63 characters long, have a UTF-8 encoding of maximum
+	// 128 bytes, and must conform to the following PCRE regular expression:
+	// `\p{Ll}\p{Lo}{0,62}` Label values must be between 0 and 63 characters
+	// long, have a UTF-8 encoding of maximum 128 bytes, and must conform to
+	// the following PCRE regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`
 	// No more than 64 labels can be assigned to a given resource.
 	Labels map[string]string `json:"labels,omitempty"`
 
@@ -1091,10 +867,8 @@
 	Name string `json:"name,omitempty"`
 
 	// Replication: Required. Immutable. The replication policy of the
-	// secret data attached to the Secret.
-	//
-	// The replication policy cannot be changed after the Secret has been
-	// created.
+	// secret data attached to the Secret. The replication policy cannot be
+	// changed after the Secret has been created.
 	Replication *Replication `json:"replication,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1125,8 +899,8 @@
 }
 
 // SecretPayload: A secret payload resource in the Secret Manager API.
-// This contains the
-// sensitive secret payload that is associated with a SecretVersion.
+// This contains the sensitive secret payload that is associated with a
+// SecretVersion.
 type SecretPayload struct {
 	// Data: The secret data. Must be no larger than 64KiB.
 	Data string `json:"data,omitempty"`
@@ -1160,18 +934,14 @@
 	// created.
 	CreateTime string `json:"createTime,omitempty"`
 
-	// DestroyTime: Output only. The time this SecretVersion was
-	// destroyed.
-	// Only present if state is
-	// DESTROYED.
+	// DestroyTime: Output only. The time this SecretVersion was destroyed.
+	// Only present if state is DESTROYED.
 	DestroyTime string `json:"destroyTime,omitempty"`
 
-	// Name: Output only. The resource name of the SecretVersion in
-	// the
-	// format `projects/*/secrets/*/versions/*`.
-	//
-	// SecretVersion IDs in a Secret start at 1 and
-	// are incremented for each subsequent version of the secret.
+	// Name: Output only. The resource name of the SecretVersion in the
+	// format `projects/*/secrets/*/versions/*`. SecretVersion IDs in a
+	// Secret start at 1 and are incremented for each subsequent version of
+	// the secret.
 	Name string `json:"name,omitempty"`
 
 	// State: Output only. The current state of the SecretVersion.
@@ -1181,12 +951,10 @@
 	// invalid.
 	//   "ENABLED" - The SecretVersion may be accessed.
 	//   "DISABLED" - The SecretVersion may not be accessed, but the secret
-	// data
-	// is still available and can be placed back into the ENABLED
+	// data is still available and can be placed back into the ENABLED
 	// state.
 	//   "DESTROYED" - The SecretVersion is destroyed and the secret data is
-	// no longer
-	// stored. A version may not leave this state once entered.
+	// no longer stored. A version may not leave this state once entered.
 	State string `json:"state,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1219,20 +987,15 @@
 // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
 type SetIamPolicyRequest struct {
 	// Policy: REQUIRED: The complete policy to be applied to the
-	// `resource`. The size of
-	// the policy is limited to a few 10s of KB. An empty policy is a
-	// valid policy but certain Cloud Platform services (such as
-	// Projects)
-	// might reject them.
+	// `resource`. The size of the policy is limited to a few 10s of KB. An
+	// empty policy is a valid policy but certain Cloud Platform services
+	// (such as Projects) might reject them.
 	Policy *Policy `json:"policy,omitempty"`
 
 	// UpdateMask: OPTIONAL: A FieldMask specifying which fields of the
-	// policy to modify. Only
-	// the fields in the mask will be modified. If no mask is provided,
-	// the
-	// following default mask is used:
-	//
-	// `paths: "bindings, etag"
+	// policy to modify. Only the fields in the mask will be modified. If no
+	// mask is provided, the following default mask is used: `paths:
+	// "bindings, etag"
 	UpdateMask string `json:"updateMask,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Policy") to
@@ -1262,11 +1025,8 @@
 // method.
 type TestIamPermissionsRequest struct {
 	// Permissions: The set of permissions to check for the `resource`.
-	// Permissions with
-	// wildcards (such as '*' or 'storage.*') are not allowed. For
-	// more
-	// information see
-	// [IAM
+	// Permissions with wildcards (such as '*' or 'storage.*') are not
+	// allowed. For more information see [IAM
 	// Overview](https://cloud.google.com/iam/docs/overview#permissions).
 	Permissions []string `json:"permissions,omitempty"`
 
@@ -1297,8 +1057,7 @@
 // method.
 type TestIamPermissionsResponse struct {
 	// Permissions: A subset of `TestPermissionsRequest.permissions` that
-	// the caller is
-	// allowed.
+	// the caller is allowed.
 	Permissions []string `json:"permissions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1329,12 +1088,11 @@
 }
 
 // UserManaged: A replication policy that replicates the Secret payload
-// into the
-// locations specified in Secret.replication.user_managed.replicas
+// into the locations specified in
+// Secret.replication.user_managed.replicas
 type UserManaged struct {
-	// Replicas: Required. The list of Replicas for this Secret.
-	//
-	// Cannot be empty.
+	// Replicas: Required. The list of Replicas for this Secret. Cannot be
+	// empty.
 	Replicas []*Replica `json:"replicas,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Replicas") to
@@ -1415,7 +1173,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1581,7 +1339,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1719,8 +1477,7 @@
 }
 
 // AddVersion: Creates a new SecretVersion containing secret data and
-// attaches
-// it to an existing Secret.
+// attaches it to an existing Secret.
 func (r *ProjectsSecretsService) AddVersion(parent string, addsecretversionrequest *AddSecretVersionRequest) *ProjectsSecretsAddVersionCall {
 	c := &ProjectsSecretsAddVersionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -1755,7 +1512,7 @@
 
 func (c *ProjectsSecretsAddVersionCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1819,7 +1576,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a new SecretVersion containing secret data and attaches\nit to an existing Secret.",
+	//   "description": "Creates a new SecretVersion containing secret data and attaches it to an existing Secret.",
 	//   "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}:addVersion",
 	//   "httpMethod": "POST",
 	//   "id": "secretmanager.projects.secrets.addVersion",
@@ -1828,7 +1585,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The resource name of the Secret to associate with the\nSecretVersion in the format `projects/*/secrets/*`.",
+	//       "description": "Required. The resource name of the Secret to associate with the SecretVersion in the format `projects/*/secrets/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/secrets/[^/]+$",
 	//       "required": true,
@@ -1869,13 +1626,10 @@
 }
 
 // SecretId sets the optional parameter "secretId": Required. This must
-// be unique within the project.
-//
-// A secret ID is a string with a maximum length of 255 characters and
-// can
-// contain uppercase and lowercase letters, numerals, and the hyphen
-// (`-`) and
-// underscore (`_`) characters.
+// be unique within the project. A secret ID is a string with a maximum
+// length of 255 characters and can contain uppercase and lowercase
+// letters, numerals, and the hyphen (`-`) and underscore (`_`)
+// characters.
 func (c *ProjectsSecretsCreateCall) SecretId(secretId string) *ProjectsSecretsCreateCall {
 	c.urlParams_.Set("secretId", secretId)
 	return c
@@ -1908,7 +1662,7 @@
 
 func (c *ProjectsSecretsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1981,14 +1735,14 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The resource name of the project to associate with the\nSecret, in the format `projects/*`.",
+	//       "description": "Required. The resource name of the project to associate with the Secret, in the format `projects/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "secretId": {
-	//       "description": "Required. This must be unique within the project.\n\nA secret ID is a string with a maximum length of 255 characters and can\ncontain uppercase and lowercase letters, numerals, and the hyphen (`-`) and\nunderscore (`_`) characters.",
+	//       "description": "Required. This must be unique within the project. A secret ID is a string with a maximum length of 255 characters and can contain uppercase and lowercase letters, numerals, and the hyphen (`-`) and underscore (`_`) characters.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -2051,7 +1805,7 @@
 
 func (c *ProjectsSecretsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2119,7 +1873,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the Secret to delete in the format\n`projects/*/secrets/*`.",
+	//       "description": "Required. The resource name of the Secret to delete in the format `projects/*/secrets/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/secrets/[^/]+$",
 	//       "required": true,
@@ -2192,7 +1946,7 @@
 
 func (c *ProjectsSecretsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2292,9 +2046,8 @@
 	header_      http.Header
 }
 
-// GetIamPolicy: Gets the access control policy for a secret.
-// Returns empty policy if the secret exists and does not have a policy
-// set.
+// GetIamPolicy: Gets the access control policy for a secret. Returns
+// empty policy if the secret exists and does not have a policy set.
 func (r *ProjectsSecretsService) GetIamPolicy(resource string) *ProjectsSecretsGetIamPolicyCall {
 	c := &ProjectsSecretsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -2303,24 +2056,14 @@
 
 // OptionsRequestedPolicyVersion sets the optional parameter
 // "options.requestedPolicyVersion": The policy format version to be
-// returned.
-//
-// Valid values are 0, 1, and 3. Requests specifying an invalid value
-// will be
-// rejected.
-//
-// Requests for policies with any conditional bindings must specify
-// version 3.
-// Policies without any conditional bindings may specify any valid value
-// or
-// leave the field unset.
-//
-// To learn which resources support conditions in their IAM policies,
-// see
-// the
-// [IAM
-// documentation](https://cloud.google.com/iam/help/conditions/r
-// esource-policies).
+// returned. Valid values are 0, 1, and 3. Requests specifying an
+// invalid value will be rejected. Requests for policies with any
+// conditional bindings must specify version 3. Policies without any
+// conditional bindings may specify any valid value or leave the field
+// unset. To learn which resources support conditions in their IAM
+// policies, see the [IAM
+// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+// olicies).
 func (c *ProjectsSecretsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsSecretsGetIamPolicyCall {
 	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
 	return c
@@ -2363,7 +2106,7 @@
 
 func (c *ProjectsSecretsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2425,7 +2168,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for a secret.\nReturns empty policy if the secret exists and does not have a policy set.",
+	//   "description": "Gets the access control policy for a secret. Returns empty policy if the secret exists and does not have a policy set.",
 	//   "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}:getIamPolicy",
 	//   "httpMethod": "GET",
 	//   "id": "secretmanager.projects.secrets.getIamPolicy",
@@ -2434,13 +2177,13 @@
 	//   ],
 	//   "parameters": {
 	//     "options.requestedPolicyVersion": {
-	//       "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+	//       "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/secrets/[^/]+$",
 	//       "required": true,
@@ -2477,18 +2220,16 @@
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
-// of results to be returned in a single page. If
-// set to 0, the server decides the number of results to return. If
-// the
-// number is greater than 25000, it is capped at 25000.
+// of results to be returned in a single page. If set to 0, the server
+// decides the number of results to return. If the number is greater
+// than 25000, it is capped at 25000.
 func (c *ProjectsSecretsListCall) PageSize(pageSize int64) *ProjectsSecretsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Pagination token,
-// returned earlier via
-// ListSecretsResponse.next_page_token.
+// returned earlier via ListSecretsResponse.next_page_token.
 func (c *ProjectsSecretsListCall) PageToken(pageToken string) *ProjectsSecretsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -2531,7 +2272,7 @@
 
 func (c *ProjectsSecretsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2602,18 +2343,18 @@
 	//   ],
 	//   "parameters": {
 	//     "pageSize": {
-	//       "description": "Optional. The maximum number of results to be returned in a single page. If\nset to 0, the server decides the number of results to return. If the\nnumber is greater than 25000, it is capped at 25000.",
+	//       "description": "Optional. The maximum number of results to be returned in a single page. If set to 0, the server decides the number of results to return. If the number is greater than 25000, it is capped at 25000.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Optional. Pagination token, returned earlier via\nListSecretsResponse.next_page_token.",
+	//       "description": "Optional. Pagination token, returned earlier via ListSecretsResponse.next_page_token.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The resource name of the project associated with the\nSecrets, in the format `projects/*`.",
+	//       "description": "Required. The resource name of the project associated with the Secrets, in the format `projects/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -2705,7 +2446,7 @@
 
 func (c *ProjectsSecretsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2817,11 +2558,8 @@
 }
 
 // SetIamPolicy: Sets the access control policy on the specified secret.
-// Replaces any
-// existing policy.
-//
-// Permissions on SecretVersions are enforced according
-// to the policy set on the associated Secret.
+// Replaces any existing policy. Permissions on SecretVersions are
+// enforced according to the policy set on the associated Secret.
 func (r *ProjectsSecretsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsSecretsSetIamPolicyCall {
 	c := &ProjectsSecretsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -2856,7 +2594,7 @@
 
 func (c *ProjectsSecretsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2920,7 +2658,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the access control policy on the specified secret. Replaces any\nexisting policy.\n\nPermissions on SecretVersions are enforced according\nto the policy set on the associated Secret.",
+	//   "description": "Sets the access control policy on the specified secret. Replaces any existing policy. Permissions on SecretVersions are enforced according to the policy set on the associated Secret.",
 	//   "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "secretmanager.projects.secrets.setIamPolicy",
@@ -2929,7 +2667,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/secrets/[^/]+$",
 	//       "required": true,
@@ -2962,15 +2700,10 @@
 }
 
 // TestIamPermissions: Returns permissions that a caller has for the
-// specified secret.
-// If the secret does not exist, this call returns 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
+// specified secret. If the secret does not exist, this call returns 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.
 func (r *ProjectsSecretsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsSecretsTestIamPermissionsCall {
 	c := &ProjectsSecretsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -3006,7 +2739,7 @@
 
 func (c *ProjectsSecretsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3070,7 +2803,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns permissions that a caller has for the specified secret.\nIf the secret does not exist, this call returns an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+	//   "description": "Returns permissions that a caller has for the specified secret. If the secret does not exist, this call returns an empty set of permissions, not a NOT_FOUND error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
 	//   "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "secretmanager.projects.secrets.testIamPermissions",
@@ -3079,7 +2812,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/secrets/[^/]+$",
 	//       "required": true,
@@ -3111,11 +2844,8 @@
 	header_      http.Header
 }
 
-// Access: Accesses a SecretVersion. This call returns the secret
-// data.
-//
-// `projects/*/secrets/*/versions/latest` is an alias to the
-// `latest`
+// Access: Accesses a SecretVersion. This call returns the secret data.
+// `projects/*/secrets/*/versions/latest` is an alias to the `latest`
 // SecretVersion.
 func (r *ProjectsSecretsVersionsService) Access(name string) *ProjectsSecretsVersionsAccessCall {
 	c := &ProjectsSecretsVersionsAccessCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -3160,7 +2890,7 @@
 
 func (c *ProjectsSecretsVersionsAccessCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3222,7 +2952,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Accesses a SecretVersion. This call returns the secret data.\n\n`projects/*/secrets/*/versions/latest` is an alias to the `latest`\nSecretVersion.",
+	//   "description": "Accesses a SecretVersion. This call returns the secret data. `projects/*/secrets/*/versions/latest` is an alias to the `latest` SecretVersion.",
 	//   "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:access",
 	//   "httpMethod": "GET",
 	//   "id": "secretmanager.projects.secrets.versions.access",
@@ -3231,7 +2961,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the SecretVersion in the format\n`projects/*/secrets/*/versions/*`.",
+	//       "description": "Required. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$",
 	//       "required": true,
@@ -3260,11 +2990,8 @@
 	header_                     http.Header
 }
 
-// Destroy: Destroys a SecretVersion.
-//
-// Sets the state of the SecretVersion to
-// DESTROYED and irrevocably destroys the
-// secret data.
+// Destroy: Destroys a SecretVersion. Sets the state of the
+// SecretVersion to DESTROYED and irrevocably destroys the secret data.
 func (r *ProjectsSecretsVersionsService) Destroy(name string, destroysecretversionrequest *DestroySecretVersionRequest) *ProjectsSecretsVersionsDestroyCall {
 	c := &ProjectsSecretsVersionsDestroyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3299,7 +3026,7 @@
 
 func (c *ProjectsSecretsVersionsDestroyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3363,7 +3090,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Destroys a SecretVersion.\n\nSets the state of the SecretVersion to\nDESTROYED and irrevocably destroys the\nsecret data.",
+	//   "description": "Destroys a SecretVersion. Sets the state of the SecretVersion to DESTROYED and irrevocably destroys the secret data.",
 	//   "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:destroy",
 	//   "httpMethod": "POST",
 	//   "id": "secretmanager.projects.secrets.versions.destroy",
@@ -3372,7 +3099,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the SecretVersion to destroy in the format\n`projects/*/secrets/*/versions/*`.",
+	//       "description": "Required. The resource name of the SecretVersion to destroy in the format `projects/*/secrets/*/versions/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$",
 	//       "required": true,
@@ -3404,10 +3131,8 @@
 	header_                     http.Header
 }
 
-// Disable: Disables a SecretVersion.
-//
-// Sets the state of the SecretVersion to
-// DISABLED.
+// Disable: Disables a SecretVersion. Sets the state of the
+// SecretVersion to DISABLED.
 func (r *ProjectsSecretsVersionsService) Disable(name string, disablesecretversionrequest *DisableSecretVersionRequest) *ProjectsSecretsVersionsDisableCall {
 	c := &ProjectsSecretsVersionsDisableCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3442,7 +3167,7 @@
 
 func (c *ProjectsSecretsVersionsDisableCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3506,7 +3231,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Disables a SecretVersion.\n\nSets the state of the SecretVersion to\nDISABLED.",
+	//   "description": "Disables a SecretVersion. Sets the state of the SecretVersion to DISABLED.",
 	//   "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:disable",
 	//   "httpMethod": "POST",
 	//   "id": "secretmanager.projects.secrets.versions.disable",
@@ -3515,7 +3240,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the SecretVersion to disable in the format\n`projects/*/secrets/*/versions/*`.",
+	//       "description": "Required. The resource name of the SecretVersion to disable in the format `projects/*/secrets/*/versions/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$",
 	//       "required": true,
@@ -3547,10 +3272,8 @@
 	header_                    http.Header
 }
 
-// Enable: Enables a SecretVersion.
-//
-// Sets the state of the SecretVersion to
-// ENABLED.
+// Enable: Enables a SecretVersion. Sets the state of the SecretVersion
+// to ENABLED.
 func (r *ProjectsSecretsVersionsService) Enable(name string, enablesecretversionrequest *EnableSecretVersionRequest) *ProjectsSecretsVersionsEnableCall {
 	c := &ProjectsSecretsVersionsEnableCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3585,7 +3308,7 @@
 
 func (c *ProjectsSecretsVersionsEnableCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3649,7 +3372,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Enables a SecretVersion.\n\nSets the state of the SecretVersion to\nENABLED.",
+	//   "description": "Enables a SecretVersion. Sets the state of the SecretVersion to ENABLED.",
 	//   "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:enable",
 	//   "httpMethod": "POST",
 	//   "id": "secretmanager.projects.secrets.versions.enable",
@@ -3658,7 +3381,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the SecretVersion to enable in the format\n`projects/*/secrets/*/versions/*`.",
+	//       "description": "Required. The resource name of the SecretVersion to enable in the format `projects/*/secrets/*/versions/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$",
 	//       "required": true,
@@ -3690,11 +3413,8 @@
 	header_      http.Header
 }
 
-// Get: Gets metadata for a
-// SecretVersion.
-//
-// `projects/*/secrets/*/versions/latest` is an alias to the
-// `latest`
+// Get: Gets metadata for a SecretVersion.
+// `projects/*/secrets/*/versions/latest` is an alias to the `latest`
 // SecretVersion.
 func (r *ProjectsSecretsVersionsService) Get(name string) *ProjectsSecretsVersionsGetCall {
 	c := &ProjectsSecretsVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -3739,7 +3459,7 @@
 
 func (c *ProjectsSecretsVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3801,7 +3521,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets metadata for a SecretVersion.\n\n`projects/*/secrets/*/versions/latest` is an alias to the `latest`\nSecretVersion.",
+	//   "description": "Gets metadata for a SecretVersion. `projects/*/secrets/*/versions/latest` is an alias to the `latest` SecretVersion.",
 	//   "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}",
 	//   "httpMethod": "GET",
 	//   "id": "secretmanager.projects.secrets.versions.get",
@@ -3810,7 +3530,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the SecretVersion in the format\n`projects/*/secrets/*/versions/*`.\n`projects/*/secrets/*/versions/latest` is an alias to the `latest`\nSecretVersion.",
+	//       "description": "Required. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*`. `projects/*/secrets/*/versions/latest` is an alias to the `latest` SecretVersion.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$",
 	//       "required": true,
@@ -3839,8 +3559,7 @@
 	header_      http.Header
 }
 
-// List: Lists SecretVersions. This call does not return secret
-// data.
+// List: Lists SecretVersions. This call does not return secret data.
 func (r *ProjectsSecretsVersionsService) List(parent string) *ProjectsSecretsVersionsListCall {
 	c := &ProjectsSecretsVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -3848,18 +3567,16 @@
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
-// of results to be returned in a single page. If
-// set to 0, the server decides the number of results to return. If
-// the
-// number is greater than 25000, it is capped at 25000.
+// of results to be returned in a single page. If set to 0, the server
+// decides the number of results to return. If the number is greater
+// than 25000, it is capped at 25000.
 func (c *ProjectsSecretsVersionsListCall) PageSize(pageSize int64) *ProjectsSecretsVersionsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Pagination token,
-// returned earlier via
-// ListSecretVersionsResponse.next_page_token][].
+// returned earlier via ListSecretVersionsResponse.next_page_token][].
 func (c *ProjectsSecretsVersionsListCall) PageToken(pageToken string) *ProjectsSecretsVersionsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -3902,7 +3619,7 @@
 
 func (c *ProjectsSecretsVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3964,7 +3681,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists SecretVersions. This call does not return secret\ndata.",
+	//   "description": "Lists SecretVersions. This call does not return secret data.",
 	//   "flatPath": "v1/projects/{projectsId}/secrets/{secretsId}/versions",
 	//   "httpMethod": "GET",
 	//   "id": "secretmanager.projects.secrets.versions.list",
@@ -3973,18 +3690,18 @@
 	//   ],
 	//   "parameters": {
 	//     "pageSize": {
-	//       "description": "Optional. The maximum number of results to be returned in a single page. If\nset to 0, the server decides the number of results to return. If the\nnumber is greater than 25000, it is capped at 25000.",
+	//       "description": "Optional. The maximum number of results to be returned in a single page. If set to 0, the server decides the number of results to return. If the number is greater than 25000, it is capped at 25000.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Optional. Pagination token, returned earlier via\nListSecretVersionsResponse.next_page_token][].",
+	//       "description": "Optional. Pagination token, returned earlier via ListSecretVersionsResponse.next_page_token][].",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The resource name of the Secret associated with the\nSecretVersions to list, in the format\n`projects/*/secrets/*`.",
+	//       "description": "Required. The resource name of the Secret associated with the SecretVersions to list, in the format `projects/*/secrets/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/secrets/[^/]+$",
 	//       "required": true,
diff --git a/secretmanager/v1beta1/secretmanager-api.json b/secretmanager/v1beta1/secretmanager-api.json
index 4a7a735..e5fefcf 100644
--- a/secretmanager/v1beta1/secretmanager-api.json
+++ b/secretmanager/v1beta1/secretmanager-api.json
@@ -12,7 +12,7 @@
   "baseUrl": "https://secretmanager.googleapis.com/",
   "batchPath": "batch",
   "canonicalName": "Secret Manager",
-  "description": "Stores sensitive data such as API keys, passwords, and certificates. Provides convenience while improving security.\n",
+  "description": "Stores sensitive data such as API keys, passwords, and certificates. Provides convenience while improving security. ",
   "discoveryVersion": "v1",
   "documentationLink": "https://cloud.google.com/secret-manager/",
   "fullyEncodeReservedExpansion": true,
@@ -180,7 +180,7 @@
         "secrets": {
           "methods": {
             "addVersion": {
-              "description": "Creates a new SecretVersion containing secret data and attaches\nit to an existing Secret.",
+              "description": "Creates a new SecretVersion containing secret data and attaches it to an existing Secret.",
               "flatPath": "v1beta1/projects/{projectsId}/secrets/{secretsId}:addVersion",
               "httpMethod": "POST",
               "id": "secretmanager.projects.secrets.addVersion",
@@ -189,7 +189,7 @@
               ],
               "parameters": {
                 "parent": {
-                  "description": "Required. The resource name of the Secret to associate with the\nSecretVersion in the format `projects/*/secrets/*`.",
+                  "description": "Required. The resource name of the Secret to associate with the SecretVersion in the format `projects/*/secrets/*`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/secrets/[^/]+$",
                   "required": true,
@@ -217,14 +217,14 @@
               ],
               "parameters": {
                 "parent": {
-                  "description": "Required. The resource name of the project to associate with the\nSecret, in the format `projects/*`.",
+                  "description": "Required. The resource name of the project to associate with the Secret, in the format `projects/*`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
                   "type": "string"
                 },
                 "secretId": {
-                  "description": "Required. This must be unique within the project.\n\nA secret ID is a string with a maximum length of 255 characters and can\ncontain uppercase and lowercase letters, numerals, and the hyphen (`-`) and\nunderscore (`_`) characters.",
+                  "description": "Required. This must be unique within the project. A secret ID is a string with a maximum length of 255 characters and can contain uppercase and lowercase letters, numerals, and the hyphen (`-`) and underscore (`_`) characters.",
                   "location": "query",
                   "type": "string"
                 }
@@ -250,7 +250,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. The resource name of the Secret to delete in the format\n`projects/*/secrets/*`.",
+                  "description": "Required. The resource name of the Secret to delete in the format `projects/*/secrets/*`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/secrets/[^/]+$",
                   "required": true,
@@ -291,7 +291,7 @@
               ]
             },
             "getIamPolicy": {
-              "description": "Gets the access control policy for a secret.\nReturns empty policy if the secret exists and does not have a policy set.",
+              "description": "Gets the access control policy for a secret. Returns empty policy if the secret exists and does not have a policy set.",
               "flatPath": "v1beta1/projects/{projectsId}/secrets/{secretsId}:getIamPolicy",
               "httpMethod": "GET",
               "id": "secretmanager.projects.secrets.getIamPolicy",
@@ -300,13 +300,13 @@
               ],
               "parameters": {
                 "options.requestedPolicyVersion": {
-                  "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+                  "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
                 },
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/secrets/[^/]+$",
                   "required": true,
@@ -331,18 +331,18 @@
               ],
               "parameters": {
                 "pageSize": {
-                  "description": "Optional. The maximum number of results to be returned in a single page. If\nset to 0, the server decides the number of results to return. If the\nnumber is greater than 25000, it is capped at 25000.",
+                  "description": "Optional. The maximum number of results to be returned in a single page. If set to 0, the server decides the number of results to return. If the number is greater than 25000, it is capped at 25000.",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "Optional. Pagination token, returned earlier via\nListSecretsResponse.next_page_token.",
+                  "description": "Optional. Pagination token, returned earlier via ListSecretsResponse.next_page_token.",
                   "location": "query",
                   "type": "string"
                 },
                 "parent": {
-                  "description": "Required. The resource name of the project associated with the\nSecrets, in the format `projects/*`.",
+                  "description": "Required. The resource name of the project associated with the Secrets, in the format `projects/*`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
@@ -392,7 +392,7 @@
               ]
             },
             "setIamPolicy": {
-              "description": "Sets the access control policy on the specified secret. Replaces any\nexisting policy.\n\nPermissions on SecretVersions are enforced according\nto the policy set on the associated Secret.",
+              "description": "Sets the access control policy on the specified secret. Replaces any existing policy. Permissions on SecretVersions are enforced according to the policy set on the associated Secret.",
               "flatPath": "v1beta1/projects/{projectsId}/secrets/{secretsId}:setIamPolicy",
               "httpMethod": "POST",
               "id": "secretmanager.projects.secrets.setIamPolicy",
@@ -401,7 +401,7 @@
               ],
               "parameters": {
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/secrets/[^/]+$",
                   "required": true,
@@ -420,7 +420,7 @@
               ]
             },
             "testIamPermissions": {
-              "description": "Returns permissions that a caller has for the specified secret.\nIf the secret does not exist, this call returns an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+              "description": "Returns permissions that a caller has for the specified secret. If the secret does not exist, this call returns an empty set of permissions, not a NOT_FOUND error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
               "flatPath": "v1beta1/projects/{projectsId}/secrets/{secretsId}:testIamPermissions",
               "httpMethod": "POST",
               "id": "secretmanager.projects.secrets.testIamPermissions",
@@ -429,7 +429,7 @@
               ],
               "parameters": {
                 "resource": {
-                  "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+                  "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/secrets/[^/]+$",
                   "required": true,
@@ -452,7 +452,7 @@
             "versions": {
               "methods": {
                 "access": {
-                  "description": "Accesses a SecretVersion. This call returns the secret data.\n\n`projects/*/secrets/*/versions/latest` is an alias to the `latest`\nSecretVersion.",
+                  "description": "Accesses a SecretVersion. This call returns the secret data. `projects/*/secrets/*/versions/latest` is an alias to the `latest` SecretVersion.",
                   "flatPath": "v1beta1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:access",
                   "httpMethod": "GET",
                   "id": "secretmanager.projects.secrets.versions.access",
@@ -461,7 +461,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The resource name of the SecretVersion in the format\n`projects/*/secrets/*/versions/*`.",
+                      "description": "Required. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$",
                       "required": true,
@@ -477,7 +477,7 @@
                   ]
                 },
                 "destroy": {
-                  "description": "Destroys a SecretVersion.\n\nSets the state of the SecretVersion to\nDESTROYED and irrevocably destroys the\nsecret data.",
+                  "description": "Destroys a SecretVersion. Sets the state of the SecretVersion to DESTROYED and irrevocably destroys the secret data.",
                   "flatPath": "v1beta1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:destroy",
                   "httpMethod": "POST",
                   "id": "secretmanager.projects.secrets.versions.destroy",
@@ -486,7 +486,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The resource name of the SecretVersion to destroy in the format\n`projects/*/secrets/*/versions/*`.",
+                      "description": "Required. The resource name of the SecretVersion to destroy in the format `projects/*/secrets/*/versions/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$",
                       "required": true,
@@ -505,7 +505,7 @@
                   ]
                 },
                 "disable": {
-                  "description": "Disables a SecretVersion.\n\nSets the state of the SecretVersion to\nDISABLED.",
+                  "description": "Disables a SecretVersion. Sets the state of the SecretVersion to DISABLED.",
                   "flatPath": "v1beta1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:disable",
                   "httpMethod": "POST",
                   "id": "secretmanager.projects.secrets.versions.disable",
@@ -514,7 +514,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The resource name of the SecretVersion to disable in the format\n`projects/*/secrets/*/versions/*`.",
+                      "description": "Required. The resource name of the SecretVersion to disable in the format `projects/*/secrets/*/versions/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$",
                       "required": true,
@@ -533,7 +533,7 @@
                   ]
                 },
                 "enable": {
-                  "description": "Enables a SecretVersion.\n\nSets the state of the SecretVersion to\nENABLED.",
+                  "description": "Enables a SecretVersion. Sets the state of the SecretVersion to ENABLED.",
                   "flatPath": "v1beta1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:enable",
                   "httpMethod": "POST",
                   "id": "secretmanager.projects.secrets.versions.enable",
@@ -542,7 +542,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The resource name of the SecretVersion to enable in the format\n`projects/*/secrets/*/versions/*`.",
+                      "description": "Required. The resource name of the SecretVersion to enable in the format `projects/*/secrets/*/versions/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$",
                       "required": true,
@@ -561,7 +561,7 @@
                   ]
                 },
                 "get": {
-                  "description": "Gets metadata for a SecretVersion.\n\n`projects/*/secrets/*/versions/latest` is an alias to the `latest`\nSecretVersion.",
+                  "description": "Gets metadata for a SecretVersion. `projects/*/secrets/*/versions/latest` is an alias to the `latest` SecretVersion.",
                   "flatPath": "v1beta1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}",
                   "httpMethod": "GET",
                   "id": "secretmanager.projects.secrets.versions.get",
@@ -570,7 +570,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The resource name of the SecretVersion in the format\n`projects/*/secrets/*/versions/*`.\n`projects/*/secrets/*/versions/latest` is an alias to the `latest`\nSecretVersion.",
+                      "description": "Required. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*`. `projects/*/secrets/*/versions/latest` is an alias to the `latest` SecretVersion.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$",
                       "required": true,
@@ -586,7 +586,7 @@
                   ]
                 },
                 "list": {
-                  "description": "Lists SecretVersions. This call does not return secret\ndata.",
+                  "description": "Lists SecretVersions. This call does not return secret data.",
                   "flatPath": "v1beta1/projects/{projectsId}/secrets/{secretsId}/versions",
                   "httpMethod": "GET",
                   "id": "secretmanager.projects.secrets.versions.list",
@@ -595,18 +595,18 @@
                   ],
                   "parameters": {
                     "pageSize": {
-                      "description": "Optional. The maximum number of results to be returned in a single page. If\nset to 0, the server decides the number of results to return. If the\nnumber is greater than 25000, it is capped at 25000.",
+                      "description": "Optional. The maximum number of results to be returned in a single page. If set to 0, the server decides the number of results to return. If the number is greater than 25000, it is capped at 25000.",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "Optional. Pagination token, returned earlier via\nListSecretVersionsResponse.next_page_token][].",
+                      "description": "Optional. Pagination token, returned earlier via ListSecretVersionsResponse.next_page_token][].",
                       "location": "query",
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The resource name of the Secret associated with the\nSecretVersions to list, in the format\n`projects/*/secrets/*`.",
+                      "description": "Required. The resource name of the Secret associated with the SecretVersions to list, in the format `projects/*/secrets/*`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/secrets/[^/]+$",
                       "required": true,
@@ -628,7 +628,7 @@
       }
     }
   },
-  "revision": "20200619",
+  "revision": "20200807",
   "rootUrl": "https://secretmanager.googleapis.com/",
   "schemas": {
     "AccessSecretVersionResponse": {
@@ -636,7 +636,7 @@
       "id": "AccessSecretVersionResponse",
       "properties": {
         "name": {
-          "description": "The resource name of the SecretVersion in the format\n`projects/*/secrets/*/versions/*`.",
+          "description": "The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*`.",
           "type": "string"
         },
         "payload": {
@@ -658,7 +658,7 @@
       "type": "object"
     },
     "AuditConfig": {
-      "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n    {\n      \"audit_configs\": [\n        {\n          \"service\": \"allServices\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\",\n              \"exempted_members\": [\n                \"user:jose@example.com\"\n              ]\n            },\n            {\n              \"log_type\": \"DATA_WRITE\"\n            },\n            {\n              \"log_type\": \"ADMIN_READ\"\n            }\n          ]\n        },\n        {\n          \"service\": \"sampleservice.googleapis.com\",\n          \"audit_log_configs\": [\n            {\n              \"log_type\": \"DATA_READ\"\n            },\n            {\n              \"log_type\": \"DATA_WRITE\",\n              \"exempted_members\": [\n                \"user:aliya@example.com\"\n              ]\n            }\n          ]\n        }\n      ]\n    }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.",
+      "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.",
       "id": "AuditConfig",
       "properties": {
         "auditLogConfigs": {
@@ -669,18 +669,18 @@
           "type": "array"
         },
         "service": {
-          "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.",
+          "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "AuditLogConfig": {
-      "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n    {\n      \"audit_log_configs\": [\n        {\n          \"log_type\": \"DATA_READ\",\n          \"exempted_members\": [\n            \"user:jose@example.com\"\n          ]\n        },\n        {\n          \"log_type\": \"DATA_WRITE\"\n        }\n      ]\n    }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.",
+      "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.",
       "id": "AuditLogConfig",
       "properties": {
         "exemptedMembers": {
-          "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.",
+          "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.",
           "items": {
             "type": "string"
           },
@@ -706,7 +706,7 @@
       "type": "object"
     },
     "Automatic": {
-      "description": "A replication policy that replicates the Secret payload without any\nrestrictions.",
+      "description": "A replication policy that replicates the Secret payload without any restrictions.",
       "id": "Automatic",
       "properties": {},
       "type": "object"
@@ -717,17 +717,17 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
           "type": "string"
         }
       },
@@ -746,7 +746,7 @@
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
@@ -758,23 +758,23 @@
       "type": "object"
     },
     "Expr": {
-      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
+      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
       "id": "Expr",
       "properties": {
         "description": {
-          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
+          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
           "type": "string"
         },
         "expression": {
-          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
+          "description": "Textual representation of an expression in Common Expression Language syntax.",
           "type": "string"
         },
         "location": {
-          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
+          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
           "type": "string"
         },
         "title": {
-          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
+          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
           "type": "string"
         }
       },
@@ -803,7 +803,7 @@
       "id": "ListSecretVersionsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "A token to retrieve the next page of results. Pass this value in\nListSecretVersionsRequest.page_token to retrieve the next page.",
+          "description": "A token to retrieve the next page of results. Pass this value in ListSecretVersionsRequest.page_token to retrieve the next page.",
           "type": "string"
         },
         "totalSize": {
@@ -812,7 +812,7 @@
           "type": "integer"
         },
         "versions": {
-          "description": "The list of SecretVersions sorted in reverse by\ncreate_time (newest first).",
+          "description": "The list of SecretVersions sorted in reverse by create_time (newest first).",
           "items": {
             "$ref": "SecretVersion"
           },
@@ -826,11 +826,11 @@
       "id": "ListSecretsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "A token to retrieve the next page of results. Pass this value in\nListSecretsRequest.page_token to retrieve the next page.",
+          "description": "A token to retrieve the next page of results. Pass this value in ListSecretsRequest.page_token to retrieve the next page.",
           "type": "string"
         },
         "secrets": {
-          "description": "The list of Secrets sorted in reverse by create_time (newest\nfirst).",
+          "description": "The list of Secrets sorted in reverse by create_time (newest first).",
           "items": {
             "$ref": "Secret"
           },
@@ -849,14 +849,14 @@
       "id": "Location",
       "properties": {
         "displayName": {
-          "description": "The friendly name for this location, typically a nearby city name.\nFor example, \"Tokyo\".",
+          "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
           "type": "string"
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Cross-service attributes for the location. For example\n\n    {\"cloud.googleapis.com/region\": \"us-east1\"}",
+          "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
           "type": "object"
         },
         "locationId": {
@@ -868,18 +868,18 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "Service-specific metadata. For example the available capacity at the given\nlocation.",
+          "description": "Service-specific metadata. For example the available capacity at the given location.",
           "type": "object"
         },
         "name": {
-          "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`",
+          "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\n            \"user:eve@example.com\"\n          ],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "auditConfigs": {
@@ -890,19 +890,19 @@
           "type": "array"
         },
         "bindings": {
-          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
+          "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.",
           "items": {
             "$ref": "Binding"
           },
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
           "format": "byte",
           "type": "string"
         },
         "version": {
-          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -914,7 +914,7 @@
       "id": "Replica",
       "properties": {
         "location": {
-          "description": "The canonical IDs of the location to replicate data.\nFor example: `\"us-east1\"`.",
+          "description": "The canonical IDs of the location to replicate data. For example: `\"us-east1\"`.",
           "type": "string"
         }
       },
@@ -936,34 +936,36 @@
       "type": "object"
     },
     "Secret": {
-      "description": "A Secret is a logical secret whose value and versions can\nbe accessed.\n\nA Secret is made up of zero or more SecretVersions that\nrepresent the secret data.",
+      "description": "A Secret is a logical secret whose value and versions can be accessed. A Secret is made up of zero or more SecretVersions that represent the secret data.",
       "id": "Secret",
       "properties": {
         "createTime": {
           "description": "Output only. The time at which the Secret was created.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The labels assigned to this Secret.\n\nLabel keys must be between 1 and 63 characters long, have a UTF-8 encoding\nof maximum 128 bytes, and must conform to the following PCRE regular\nexpression: `\\p{Ll}\\p{Lo}{0,62}`\n\nLabel values must be between 0 and 63 characters long, have a UTF-8\nencoding of maximum 128 bytes, and must conform to the following PCRE\nregular expression: `[\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}`\n\nNo more than 64 labels can be assigned to a given resource.",
+          "description": "The labels assigned to this Secret. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `\\p{Ll}\\p{Lo}{0,62}` Label values must be between 0 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `[\\p{Ll}\\p{Lo}\\p{N}_-]{0,63}` No more than 64 labels can be assigned to a given resource.",
           "type": "object"
         },
         "name": {
           "description": "Output only. The resource name of the Secret in the format `projects/*/secrets/*`.",
+          "readOnly": true,
           "type": "string"
         },
         "replication": {
           "$ref": "Replication",
-          "description": "Required. Immutable. The replication policy of the secret data attached to the Secret.\n\nThe replication policy cannot be changed after the Secret has been created."
+          "description": "Required. Immutable. The replication policy of the secret data attached to the Secret. The replication policy cannot be changed after the Secret has been created."
         }
       },
       "type": "object"
     },
     "SecretPayload": {
-      "description": "A secret payload resource in the Secret Manager API. This contains the\nsensitive secret data that is associated with a SecretVersion.",
+      "description": "A secret payload resource in the Secret Manager API. This contains the sensitive secret data that is associated with a SecretVersion.",
       "id": "SecretPayload",
       "properties": {
         "data": {
@@ -981,15 +983,18 @@
         "createTime": {
           "description": "Output only. The time at which the SecretVersion was created.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "destroyTime": {
-          "description": "Output only. The time this SecretVersion was destroyed.\nOnly present if state is\nDESTROYED.",
+          "description": "Output only. The time this SecretVersion was destroyed. Only present if state is DESTROYED.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "name": {
-          "description": "Output only. The resource name of the SecretVersion in the\nformat `projects/*/secrets/*/versions/*`.\n\nSecretVersion IDs in a Secret start at 1 and\nare incremented for each subsequent version of the secret.",
+          "description": "Output only. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*`. SecretVersion IDs in a Secret start at 1 and are incremented for each subsequent version of the secret.",
+          "readOnly": true,
           "type": "string"
         },
         "state": {
@@ -1003,9 +1008,10 @@
           "enumDescriptions": [
             "Not specified. This value is unused and invalid.",
             "The SecretVersion may be accessed.",
-            "The SecretVersion may not be accessed, but the secret data\nis still available and can be placed back into the ENABLED\nstate.",
-            "The SecretVersion is destroyed and the secret data is no longer\nstored. A version may not leave this state once entered."
+            "The SecretVersion may not be accessed, but the secret data is still available and can be placed back into the ENABLED state.",
+            "The SecretVersion is destroyed and the secret data is no longer stored. A version may not leave this state once entered."
           ],
+          "readOnly": true,
           "type": "string"
         }
       },
@@ -1017,10 +1023,10 @@
       "properties": {
         "policy": {
           "$ref": "Policy",
-          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
+          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them."
         },
         "updateMask": {
-          "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`",
+          "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`",
           "format": "google-fieldmask",
           "type": "string"
         }
@@ -1032,7 +1038,7 @@
       "id": "TestIamPermissionsRequest",
       "properties": {
         "permissions": {
-          "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
+          "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).",
           "items": {
             "type": "string"
           },
@@ -1046,7 +1052,7 @@
       "id": "TestIamPermissionsResponse",
       "properties": {
         "permissions": {
-          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
+          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
           "items": {
             "type": "string"
           },
@@ -1056,11 +1062,11 @@
       "type": "object"
     },
     "UserManaged": {
-      "description": "A replication policy that replicates the Secret payload into the\nlocations specified in Secret.replication.user_managed.replicas",
+      "description": "A replication policy that replicates the Secret payload into the locations specified in Secret.replication.user_managed.replicas",
       "id": "UserManaged",
       "properties": {
         "replicas": {
-          "description": "Required. The list of Replicas for this Secret.\n\nCannot be empty.",
+          "description": "Required. The list of Replicas for this Secret. Cannot be empty.",
           "items": {
             "$ref": "Replica"
           },
diff --git a/secretmanager/v1beta1/secretmanager-gen.go b/secretmanager/v1beta1/secretmanager-gen.go
index 2f7f2c8..961aa0a 100644
--- a/secretmanager/v1beta1/secretmanager-gen.go
+++ b/secretmanager/v1beta1/secretmanager-gen.go
@@ -183,8 +183,7 @@
 // AccessSecretVersionResponse: Response message for
 // SecretManagerService.AccessSecretVersion.
 type AccessSecretVersionResponse struct {
-	// Name: The resource name of the SecretVersion in the
-	// format
+	// Name: The resource name of the SecretVersion in the format
 	// `projects/*/secrets/*/versions/*`.
 	Name string `json:"name,omitempty"`
 
@@ -247,72 +246,31 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// AuditConfig: Specifies the audit configuration for a service.
-// The configuration determines which permission types are logged, and
-// what
-// identities, if any, are exempted from logging.
-// An AuditConfig must have one or more AuditLogConfigs.
-//
-// If there are AuditConfigs for both `allServices` and a specific
-// service,
-// the union of the two AuditConfigs is used for that service: the
-// log_types
-// specified in each AuditConfig are enabled, and the exempted_members
-// in each
-// AuditLogConfig are exempted.
-//
-// Example Policy with multiple AuditConfigs:
-//
-//     {
-//       "audit_configs": [
-//         {
-//           "service": "allServices",
-//           "audit_log_configs": [
-//             {
-//               "log_type": "DATA_READ",
-//               "exempted_members": [
-//                 "user:jose@example.com"
-//               ]
-//             },
-//             {
-//               "log_type": "DATA_WRITE"
-//             },
-//             {
-//               "log_type": "ADMIN_READ"
-//             }
-//           ]
-//         },
-//         {
-//           "service": "sampleservice.googleapis.com",
-//           "audit_log_configs": [
-//             {
-//               "log_type": "DATA_READ"
-//             },
-//             {
-//               "log_type": "DATA_WRITE",
-//               "exempted_members": [
-//                 "user:aliya@example.com"
-//               ]
-//             }
-//           ]
-//         }
-//       ]
-//     }
-//
-// For sampleservice, this policy enables DATA_READ, DATA_WRITE and
-// ADMIN_READ
-// logging. It also exempts jose@example.com from DATA_READ logging,
-// and
-// aliya@example.com from DATA_WRITE logging.
+// AuditConfig: Specifies the audit configuration for a service. The
+// configuration determines which permission types are logged, and what
+// identities, if any, are exempted from logging. An AuditConfig must
+// have one or more AuditLogConfigs. If there are AuditConfigs for both
+// `allServices` and a specific service, the union of the two
+// AuditConfigs is used for that service: the log_types specified in
+// each AuditConfig are enabled, and the exempted_members in each
+// AuditLogConfig are exempted. Example Policy with multiple
+// AuditConfigs: { "audit_configs": [ { "service": "allServices",
+// "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members":
+// [ "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, {
+// "log_type": "ADMIN_READ" } ] }, { "service":
+// "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type":
+// "DATA_READ" }, { "log_type": "DATA_WRITE", "exempted_members": [
+// "user:aliya@example.com" ] } ] } ] } For sampleservice, this policy
+// enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts
+// jose@example.com from DATA_READ logging, and aliya@example.com from
+// DATA_WRITE logging.
 type AuditConfig struct {
 	// AuditLogConfigs: The configuration for logging of each type of
 	// permission.
 	AuditLogConfigs []*AuditLogConfig `json:"auditLogConfigs,omitempty"`
 
-	// Service: Specifies a service that will be enabled for audit
-	// logging.
-	// For example, `storage.googleapis.com`,
-	// `cloudsql.googleapis.com`.
+	// Service: Specifies a service that will be enabled for audit logging.
+	// For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
 	// `allServices` is a special value that covers all services.
 	Service string `json:"service,omitempty"`
 
@@ -341,31 +299,15 @@
 }
 
 // AuditLogConfig: Provides the configuration for logging a type of
-// permissions.
-// Example:
-//
-//     {
-//       "audit_log_configs": [
-//         {
-//           "log_type": "DATA_READ",
-//           "exempted_members": [
-//             "user:jose@example.com"
-//           ]
-//         },
-//         {
-//           "log_type": "DATA_WRITE"
-//         }
-//       ]
-//     }
-//
-// This enables 'DATA_READ' and 'DATA_WRITE' logging, while
-// exempting
-// jose@example.com from DATA_READ logging.
+// permissions. Example: { "audit_log_configs": [ { "log_type":
+// "DATA_READ", "exempted_members": [ "user:jose@example.com" ] }, {
+// "log_type": "DATA_WRITE" } ] } This enables 'DATA_READ' and
+// 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ
+// logging.
 type AuditLogConfig struct {
 	// ExemptedMembers: Specifies the identities that do not cause logging
-	// for this type of
-	// permission.
-	// Follows the same format of Binding.members.
+	// for this type of permission. Follows the same format of
+	// Binding.members.
 	ExemptedMembers []string `json:"exemptedMembers,omitempty"`
 
 	// LogType: The log type that this config enables.
@@ -402,102 +344,59 @@
 }
 
 // Automatic: A replication policy that replicates the Secret payload
-// without any
-// restrictions.
+// without any restrictions.
 type Automatic struct {
 }
 
 // Binding: Associates `members` with a `role`.
 type Binding struct {
-	// Condition: The condition that is associated with this binding.
-	//
-	// If the condition evaluates to `true`, then this binding applies to
-	// the
-	// current request.
-	//
-	// If the condition evaluates to `false`, then this binding does not
-	// apply to
-	// the current request. However, a different role binding might grant
-	// the same
-	// role to one or more of the members in this binding.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// Condition: The condition that is associated with this binding. If the
+	// condition evaluates to `true`, then this binding applies to the
+	// current request. If the condition evaluates to `false`, then this
+	// binding does not apply to the current request. However, a different
+	// role binding might grant the same role to one or more of the members
+	// in this binding. To learn which resources support conditions in their
+	// IAM policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	Condition *Expr `json:"condition,omitempty"`
 
 	// Members: Specifies the identities requesting access for a Cloud
-	// Platform resource.
-	// `members` can have the following values:
-	//
-	// * `allUsers`: A special identifier that represents anyone who is
-	//    on the internet; with or without a Google account.
-	//
-	// * `allAuthenticatedUsers`: A special identifier that represents
-	// anyone
-	//    who is authenticated with a Google account or a service
-	// account.
-	//
-	// * `user:{emailid}`: An email address that represents a specific
-	// Google
-	//    account. For example, `alice@example.com` .
-	//
-	//
-	// * `serviceAccount:{emailid}`: An email address that represents a
-	// service
-	//    account. For example,
-	// `my-other-app@appspot.gserviceaccount.com`.
-	//
-	// * `group:{emailid}`: An email address that represents a Google
-	// group.
-	//    For example, `admins@example.com`.
-	//
-	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a user that has been recently deleted.
-	// For
-	//    example, `alice@example.com?uid=123456789012345678901`. If the
-	// user is
-	//    recovered, this value reverts to `user:{emailid}` and the
-	// recovered user
-	//    retains the role in the binding.
-	//
-	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
-	// (plus
-	//    unique identifier) representing a service account that has been
-	// recently
-	//    deleted. For example,
-	//
+	// Platform resource. `members` can have the following values: *
+	// `allUsers`: A special identifier that represents anyone who is on the
+	// internet; with or without a Google account. *
+	// `allAuthenticatedUsers`: A special identifier that represents anyone
+	// who is authenticated with a Google account or a service account. *
+	// `user:{emailid}`: An email address that represents a specific Google
+	// account. For example, `alice@example.com` . *
+	// `serviceAccount:{emailid}`: An email address that represents a
+	// service account. For example,
+	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
+	// email address that represents a Google group. For example,
+	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
+	// email address (plus unique identifier) representing a user that has
+	// been recently deleted. For example,
+	// `alice@example.com?uid=123456789012345678901`. If the user is
+	// recovered, this value reverts to `user:{emailid}` and the recovered
+	// user retains the role in the binding. *
+	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
+	// (plus unique identifier) representing a service account that has been
+	// recently deleted. For example,
 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
-	//
-	//    If the service account is undeleted, this value reverts to
-	//    `serviceAccount:{emailid}` and the undeleted service account
-	// retains the
-	//    role in the binding.
-	//
-	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a Google group that has been recently
-	//    deleted. For example,
-	// `admins@example.com?uid=123456789012345678901`. If
-	//    the group is recovered, this value reverts to `group:{emailid}`
-	// and the
-	//    recovered group retains the role in the binding.
-	//
-	//
-	// * `domain:{domain}`: The G Suite domain (primary) that represents all
-	// the
-	//    users of that domain. For example, `google.com` or
-	// `example.com`.
-	//
-	//
+	// If the service account is undeleted, this value reverts to
+	// `serviceAccount:{emailid}` and the undeleted service account retains
+	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
+	// An email address (plus unique identifier) representing a Google group
+	// that has been recently deleted. For example,
+	// `admins@example.com?uid=123456789012345678901`. If the group is
+	// recovered, this value reverts to `group:{emailid}` and the recovered
+	// group retains the role in the binding. * `domain:{domain}`: The G
+	// Suite domain (primary) that represents all the users of that domain.
+	// For example, `google.com` or `example.com`.
 	Members []string `json:"members,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`.
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -534,17 +433,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -557,65 +450,40 @@
 }
 
 // Expr: Represents a textual expression in the Common Expression
-// Language (CEL)
-// syntax. CEL is a C-like expression language. The syntax and semantics
-// of CEL
-// are documented at https://github.com/google/cel-spec.
-//
-// Example (Comparison):
-//
-//     title: "Summary size limit"
-//     description: "Determines if a summary is less than 100 chars"
-//     expression: "document.summary.size() < 100"
-//
-// Example (Equality):
-//
-//     title: "Requestor is owner"
-//     description: "Determines if requestor is the document owner"
-//     expression: "document.owner ==
-// request.auth.claims.email"
-//
-// Example (Logic):
-//
-//     title: "Public documents"
-//     description: "Determine whether the document should be publicly
-// visible"
-//     expression: "document.type != 'private' && document.type !=
-// 'internal'"
-//
-// Example (Data Manipulation):
-//
-//     title: "Notification string"
-//     description: "Create a notification string with a timestamp."
-//     expression: "'New message received at ' +
-// string(document.create_time)"
-//
-// The exact variables and functions that may be referenced within an
-// expression
-// are determined by the service that evaluates it. See the
-// service
-// documentation for additional information.
+// Language (CEL) syntax. CEL is a C-like expression language. The
+// syntax and semantics of CEL are documented at
+// https://github.com/google/cel-spec. Example (Comparison): title:
+// "Summary size limit" description: "Determines if a summary is less
+// than 100 chars" expression: "document.summary.size() < 100" Example
+// (Equality): title: "Requestor is owner" description: "Determines if
+// requestor is the document owner" expression: "document.owner ==
+// request.auth.claims.email" Example (Logic): title: "Public documents"
+// description: "Determine whether the document should be publicly
+// visible" expression: "document.type != 'private' && document.type !=
+// 'internal'" Example (Data Manipulation): title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' +
+// string(document.create_time)" The exact variables and functions that
+// may be referenced within an expression are determined by the service
+// that evaluates it. See the service documentation for additional
+// information.
 type Expr struct {
 	// Description: Optional. Description of the expression. This is a
-	// longer text which
-	// describes the expression, e.g. when hovered over it in a UI.
+	// longer text which describes the expression, e.g. when hovered over it
+	// in a UI.
 	Description string `json:"description,omitempty"`
 
 	// Expression: Textual representation of an expression in Common
-	// Expression Language
-	// syntax.
+	// Expression Language syntax.
 	Expression string `json:"expression,omitempty"`
 
 	// Location: Optional. String indicating the location of the expression
-	// for error
-	// reporting, e.g. a file name and a position in the file.
+	// for error reporting, e.g. a file name and a position in the file.
 	Location string `json:"location,omitempty"`
 
 	// Title: Optional. Title for the expression, i.e. a short string
-	// describing
-	// its purpose. This can be used e.g. in UIs which allow to enter
-	// the
-	// expression.
+	// describing its purpose. This can be used e.g. in UIs which allow to
+	// enter the expression.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -682,15 +550,15 @@
 // SecretManagerService.ListSecretVersions.
 type ListSecretVersionsResponse struct {
 	// NextPageToken: A token to retrieve the next page of results. Pass
-	// this value in
-	// ListSecretVersionsRequest.page_token to retrieve the next page.
+	// this value in ListSecretVersionsRequest.page_token to retrieve the
+	// next page.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// TotalSize: The total number of SecretVersions.
 	TotalSize int64 `json:"totalSize,omitempty"`
 
-	// Versions: The list of SecretVersions sorted in reverse by
-	// create_time (newest first).
+	// Versions: The list of SecretVersions sorted in reverse by create_time
+	// (newest first).
 	Versions []*SecretVersion `json:"versions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -724,12 +592,11 @@
 // SecretManagerService.ListSecrets.
 type ListSecretsResponse struct {
 	// NextPageToken: A token to retrieve the next page of results. Pass
-	// this value in
-	// ListSecretsRequest.page_token to retrieve the next page.
+	// this value in ListSecretsRequest.page_token to retrieve the next
+	// page.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
-	// Secrets: The list of Secrets sorted in reverse by create_time
-	// (newest
+	// Secrets: The list of Secrets sorted in reverse by create_time (newest
 	// first).
 	Secrets []*Secret `json:"secrets,omitempty"`
 
@@ -766,13 +633,11 @@
 // Location: A resource that represents Google Cloud Platform location.
 type Location struct {
 	// DisplayName: The friendly name for this location, typically a nearby
-	// city name.
-	// For example, "Tokyo".
+	// city name. For example, "Tokyo".
 	DisplayName string `json:"displayName,omitempty"`
 
 	// Labels: Cross-service attributes for the location. For example
-	//
-	//     {"cloud.googleapis.com/region": "us-east1"}
+	// {"cloud.googleapis.com/region": "us-east1"}
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// LocationId: The canonical id for this location. For example:
@@ -780,13 +645,12 @@
 	LocationId string `json:"locationId,omitempty"`
 
 	// Metadata: Service-specific metadata. For example the available
-	// capacity at the given
-	// location.
+	// capacity at the given location.
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Name: Resource name for the location, which may vary between
-	// implementations.
-	// For example: "projects/example-project/locations/us-east1"
+	// implementations. For example:
+	// "projects/example-project/locations/us-east1"
 	Name string `json:"name,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -817,154 +681,77 @@
 }
 
 // Policy: An Identity and Access Management (IAM) policy, which
-// specifies access
-// controls for Google Cloud resources.
-//
-//
-// A `Policy` is a collection of `bindings`. A `binding` binds one or
-// more
-// `members` to a single `role`. Members can be user accounts, service
-// accounts,
+// specifies access controls for Google Cloud resources. A `Policy` is a
+// collection of `bindings`. A `binding` binds one or more `members` to
+// a single `role`. Members can be user accounts, service accounts,
 // Google groups, and domains (such as G Suite). A `role` is a named
-// list of
-// permissions; each `role` can be an IAM predefined role or a
-// user-created
-// custom role.
-//
-// For some types of Google Cloud resources, a `binding` can also
-// specify a
-// `condition`, which is a logical expression that allows access to a
-// resource
-// only if the expression evaluates to `true`. A condition can add
-// constraints
-// based on attributes of the request, the resource, or both. To learn
-// which
-// resources support conditions in their IAM policies, see the
-// [IAM
+// list of permissions; each `role` can be an IAM predefined role or a
+// user-created custom role. For some types of Google Cloud resources, a
+// `binding` can also specify a `condition`, which is a logical
+// expression that allows access to a resource only if the expression
+// evaluates to `true`. A condition can add constraints based on
+// attributes of the request, the resource, or both. To learn which
+// resources support conditions in their IAM policies, see the [IAM
 // documentation](https://cloud.google.com/iam/help/conditions/resource-p
-// olicies).
-//
-// **JSON example:**
-//
-//     {
-//       "bindings": [
-//         {
-//           "role": "roles/resourcemanager.organizationAdmin",
-//           "members": [
-//             "user:mike@example.com",
-//             "group:admins@example.com",
-//             "domain:google.com",
-//
-// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
-//           ]
-//         },
-//         {
-//           "role": "roles/resourcemanager.organizationViewer",
-//           "members": [
-//             "user:eve@example.com"
-//           ],
-//           "condition": {
-//             "title": "expirable access",
-//             "description": "Does not grant access after Sep 2020",
-//             "expression": "request.time <
-// timestamp('2020-10-01T00:00:00.000Z')",
-//           }
-//         }
-//       ],
-//       "etag": "BwWWja0YfJA=",
-//       "version": 3
-//     }
-//
-// **YAML example:**
-//
-//     bindings:
-//     - members:
-//       - user:mike@example.com
-//       - group:admins@example.com
-//       - domain:google.com
-//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
-//       role: roles/resourcemanager.organizationAdmin
-//     - members:
-//       - user:eve@example.com
-//       role: roles/resourcemanager.organizationViewer
-//       condition:
-//         title: expirable access
-//         description: Does not grant access after Sep 2020
-//         expression: request.time <
-// timestamp('2020-10-01T00:00:00.000Z')
-//     - etag: BwWWja0YfJA=
-//     - version: 3
-//
-// For a description of IAM and its features, see the
-// [IAM documentation](https://cloud.google.com/iam/docs/).
+// olicies). **JSON example:** { "bindings": [ { "role":
+// "roles/resourcemanager.organizationAdmin", "members": [
+// "user:mike@example.com", "group:admins@example.com",
+// "domain:google.com",
+// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
+// "role": "roles/resourcemanager.organizationViewer", "members": [
+// "user:eve@example.com" ], "condition": { "title": "expirable access",
+// "description": "Does not grant access after Sep 2020", "expression":
+// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
+// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
+// members: - user:mike@example.com - group:admins@example.com -
+// domain:google.com -
+// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
+// roles/resourcemanager.organizationAdmin - members: -
+// user:eve@example.com role: roles/resourcemanager.organizationViewer
+// condition: title: expirable access description: Does not grant access
+// after Sep 2020 expression: request.time <
+// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
+// 3 For a description of IAM and its features, see the [IAM
+// documentation](https://cloud.google.com/iam/docs/).
 type Policy struct {
 	// AuditConfigs: Specifies cloud audit logging configuration for this
 	// policy.
 	AuditConfigs []*AuditConfig `json:"auditConfigs,omitempty"`
 
 	// Bindings: Associates a list of `members` to a `role`. Optionally, may
-	// specify a
-	// `condition` that determines how and when the `bindings` are applied.
-	// Each
-	// of the `bindings` must contain at least one member.
+	// specify a `condition` that determines how and when the `bindings` are
+	// applied. Each of the `bindings` must contain at least one member.
 	Bindings []*Binding `json:"bindings,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a policy from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform policy updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `getIamPolicy`,
-	// and
-	// systems are expected to put that etag in the request to
-	// `setIamPolicy` to
-	// ensure that their change will be applied to the same version of the
-	// policy.
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
+	// help prevent simultaneous updates of a policy from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform policy updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `getIamPolicy`, and systems are expected to put that etag in the
+	// request to `setIamPolicy` to ensure that their change will be applied
+	// to the same version of the policy. **Important:** If you use IAM
+	// Conditions, you must include the `etag` field whenever you call
+	// `setIamPolicy`. If you omit this field, then IAM allows you to
+	// overwrite a version `3` policy with a version `1` policy, and all of
 	// the conditions in the version `3` policy are lost.
 	Etag string `json:"etag,omitempty"`
 
-	// Version: Specifies the format of the policy.
-	//
-	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
-	// value
-	// are rejected.
-	//
+	// Version: Specifies the format of the policy. Valid values are `0`,
+	// `1`, and `3`. Requests that specify an invalid value are rejected.
 	// Any operation that affects conditional role bindings must specify
-	// version
-	// `3`. This requirement applies to the following operations:
-	//
-	// * Getting a policy that includes a conditional role binding
-	// * Adding a conditional role binding to a policy
-	// * Changing a conditional role binding in a policy
-	// * Removing any role binding, with or without a condition, from a
-	// policy
-	//   that includes conditions
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
-	// the conditions in the version `3` policy are lost.
-	//
-	// If a policy does not include any conditions, operations on that
-	// policy may
-	// specify any valid version or leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see the
-	// [IAM
+	// version `3`. This requirement applies to the following operations: *
+	// Getting a policy that includes a conditional role binding * Adding a
+	// conditional role binding to a policy * Changing a conditional role
+	// binding in a policy * Removing any role binding, with or without a
+	// condition, from a policy that includes conditions **Important:** If
+	// you use IAM Conditions, you must include the `etag` field whenever
+	// you call `setIamPolicy`. If you omit this field, then IAM allows you
+	// to overwrite a version `3` policy with a version `1` policy, and all
+	// of the conditions in the version `3` policy are lost. If a policy
+	// does not include any conditions, operations on that policy may
+	// specify any valid version or leave the field unset. To learn which
+	// resources support conditions in their IAM policies, see the [IAM
 	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
 	// olicies).
 	Version int64 `json:"version,omitempty"`
@@ -998,8 +785,8 @@
 
 // Replica: Represents a Replica for this Secret.
 type Replica struct {
-	// Location: The canonical IDs of the location to replicate data.
-	// For example: "us-east1".
+	// Location: The canonical IDs of the location to replicate data. For
+	// example: "us-east1".
 	Location string `json:"location,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Location") to
@@ -1059,29 +846,19 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// Secret: A Secret is a logical secret whose value and versions can
-// be accessed.
-//
-// A Secret is made up of zero or more SecretVersions that
+// Secret: A Secret is a logical secret whose value and versions can be
+// accessed. A Secret is made up of zero or more SecretVersions that
 // represent the secret data.
 type Secret struct {
 	// CreateTime: Output only. The time at which the Secret was created.
 	CreateTime string `json:"createTime,omitempty"`
 
-	// Labels: The labels assigned to this Secret.
-	//
-	// Label keys must be between 1 and 63 characters long, have a UTF-8
-	// encoding
-	// of maximum 128 bytes, and must conform to the following PCRE
-	// regular
-	// expression: `\p{Ll}\p{Lo}{0,62}`
-	//
-	// Label values must be between 0 and 63 characters long, have a
-	// UTF-8
-	// encoding of maximum 128 bytes, and must conform to the following
-	// PCRE
-	// regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`
-	//
+	// Labels: The labels assigned to this Secret. Label keys must be
+	// between 1 and 63 characters long, have a UTF-8 encoding of maximum
+	// 128 bytes, and must conform to the following PCRE regular expression:
+	// `\p{Ll}\p{Lo}{0,62}` Label values must be between 0 and 63 characters
+	// long, have a UTF-8 encoding of maximum 128 bytes, and must conform to
+	// the following PCRE regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`
 	// No more than 64 labels can be assigned to a given resource.
 	Labels map[string]string `json:"labels,omitempty"`
 
@@ -1090,10 +867,8 @@
 	Name string `json:"name,omitempty"`
 
 	// Replication: Required. Immutable. The replication policy of the
-	// secret data attached to the Secret.
-	//
-	// The replication policy cannot be changed after the Secret has been
-	// created.
+	// secret data attached to the Secret. The replication policy cannot be
+	// changed after the Secret has been created.
 	Replication *Replication `json:"replication,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1124,8 +899,8 @@
 }
 
 // SecretPayload: A secret payload resource in the Secret Manager API.
-// This contains the
-// sensitive secret data that is associated with a SecretVersion.
+// This contains the sensitive secret data that is associated with a
+// SecretVersion.
 type SecretPayload struct {
 	// Data: The secret data. Must be no larger than 64KiB.
 	Data string `json:"data,omitempty"`
@@ -1159,18 +934,14 @@
 	// created.
 	CreateTime string `json:"createTime,omitempty"`
 
-	// DestroyTime: Output only. The time this SecretVersion was
-	// destroyed.
-	// Only present if state is
-	// DESTROYED.
+	// DestroyTime: Output only. The time this SecretVersion was destroyed.
+	// Only present if state is DESTROYED.
 	DestroyTime string `json:"destroyTime,omitempty"`
 
-	// Name: Output only. The resource name of the SecretVersion in
-	// the
-	// format `projects/*/secrets/*/versions/*`.
-	//
-	// SecretVersion IDs in a Secret start at 1 and
-	// are incremented for each subsequent version of the secret.
+	// Name: Output only. The resource name of the SecretVersion in the
+	// format `projects/*/secrets/*/versions/*`. SecretVersion IDs in a
+	// Secret start at 1 and are incremented for each subsequent version of
+	// the secret.
 	Name string `json:"name,omitempty"`
 
 	// State: Output only. The current state of the SecretVersion.
@@ -1180,12 +951,10 @@
 	// invalid.
 	//   "ENABLED" - The SecretVersion may be accessed.
 	//   "DISABLED" - The SecretVersion may not be accessed, but the secret
-	// data
-	// is still available and can be placed back into the ENABLED
+	// data is still available and can be placed back into the ENABLED
 	// state.
 	//   "DESTROYED" - The SecretVersion is destroyed and the secret data is
-	// no longer
-	// stored. A version may not leave this state once entered.
+	// no longer stored. A version may not leave this state once entered.
 	State string `json:"state,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1218,20 +987,15 @@
 // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
 type SetIamPolicyRequest struct {
 	// Policy: REQUIRED: The complete policy to be applied to the
-	// `resource`. The size of
-	// the policy is limited to a few 10s of KB. An empty policy is a
-	// valid policy but certain Cloud Platform services (such as
-	// Projects)
-	// might reject them.
+	// `resource`. The size of the policy is limited to a few 10s of KB. An
+	// empty policy is a valid policy but certain Cloud Platform services
+	// (such as Projects) might reject them.
 	Policy *Policy `json:"policy,omitempty"`
 
 	// UpdateMask: OPTIONAL: A FieldMask specifying which fields of the
-	// policy to modify. Only
-	// the fields in the mask will be modified. If no mask is provided,
-	// the
-	// following default mask is used:
-	//
-	// `paths: "bindings, etag"
+	// policy to modify. Only the fields in the mask will be modified. If no
+	// mask is provided, the following default mask is used: `paths:
+	// "bindings, etag"
 	UpdateMask string `json:"updateMask,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Policy") to
@@ -1261,11 +1025,8 @@
 // method.
 type TestIamPermissionsRequest struct {
 	// Permissions: The set of permissions to check for the `resource`.
-	// Permissions with
-	// wildcards (such as '*' or 'storage.*') are not allowed. For
-	// more
-	// information see
-	// [IAM
+	// Permissions with wildcards (such as '*' or 'storage.*') are not
+	// allowed. For more information see [IAM
 	// Overview](https://cloud.google.com/iam/docs/overview#permissions).
 	Permissions []string `json:"permissions,omitempty"`
 
@@ -1296,8 +1057,7 @@
 // method.
 type TestIamPermissionsResponse struct {
 	// Permissions: A subset of `TestPermissionsRequest.permissions` that
-	// the caller is
-	// allowed.
+	// the caller is allowed.
 	Permissions []string `json:"permissions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1328,12 +1088,11 @@
 }
 
 // UserManaged: A replication policy that replicates the Secret payload
-// into the
-// locations specified in Secret.replication.user_managed.replicas
+// into the locations specified in
+// Secret.replication.user_managed.replicas
 type UserManaged struct {
-	// Replicas: Required. The list of Replicas for this Secret.
-	//
-	// Cannot be empty.
+	// Replicas: Required. The list of Replicas for this Secret. Cannot be
+	// empty.
 	Replicas []*Replica `json:"replicas,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Replicas") to
@@ -1414,7 +1173,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1580,7 +1339,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1718,8 +1477,7 @@
 }
 
 // AddVersion: Creates a new SecretVersion containing secret data and
-// attaches
-// it to an existing Secret.
+// attaches it to an existing Secret.
 func (r *ProjectsSecretsService) AddVersion(parent string, addsecretversionrequest *AddSecretVersionRequest) *ProjectsSecretsAddVersionCall {
 	c := &ProjectsSecretsAddVersionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -1754,7 +1512,7 @@
 
 func (c *ProjectsSecretsAddVersionCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1818,7 +1576,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a new SecretVersion containing secret data and attaches\nit to an existing Secret.",
+	//   "description": "Creates a new SecretVersion containing secret data and attaches it to an existing Secret.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/secrets/{secretsId}:addVersion",
 	//   "httpMethod": "POST",
 	//   "id": "secretmanager.projects.secrets.addVersion",
@@ -1827,7 +1585,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The resource name of the Secret to associate with the\nSecretVersion in the format `projects/*/secrets/*`.",
+	//       "description": "Required. The resource name of the Secret to associate with the SecretVersion in the format `projects/*/secrets/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/secrets/[^/]+$",
 	//       "required": true,
@@ -1868,13 +1626,10 @@
 }
 
 // SecretId sets the optional parameter "secretId": Required. This must
-// be unique within the project.
-//
-// A secret ID is a string with a maximum length of 255 characters and
-// can
-// contain uppercase and lowercase letters, numerals, and the hyphen
-// (`-`) and
-// underscore (`_`) characters.
+// be unique within the project. A secret ID is a string with a maximum
+// length of 255 characters and can contain uppercase and lowercase
+// letters, numerals, and the hyphen (`-`) and underscore (`_`)
+// characters.
 func (c *ProjectsSecretsCreateCall) SecretId(secretId string) *ProjectsSecretsCreateCall {
 	c.urlParams_.Set("secretId", secretId)
 	return c
@@ -1907,7 +1662,7 @@
 
 func (c *ProjectsSecretsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1980,14 +1735,14 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The resource name of the project to associate with the\nSecret, in the format `projects/*`.",
+	//       "description": "Required. The resource name of the project to associate with the Secret, in the format `projects/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "secretId": {
-	//       "description": "Required. This must be unique within the project.\n\nA secret ID is a string with a maximum length of 255 characters and can\ncontain uppercase and lowercase letters, numerals, and the hyphen (`-`) and\nunderscore (`_`) characters.",
+	//       "description": "Required. This must be unique within the project. A secret ID is a string with a maximum length of 255 characters and can contain uppercase and lowercase letters, numerals, and the hyphen (`-`) and underscore (`_`) characters.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -2050,7 +1805,7 @@
 
 func (c *ProjectsSecretsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2118,7 +1873,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the Secret to delete in the format\n`projects/*/secrets/*`.",
+	//       "description": "Required. The resource name of the Secret to delete in the format `projects/*/secrets/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/secrets/[^/]+$",
 	//       "required": true,
@@ -2191,7 +1946,7 @@
 
 func (c *ProjectsSecretsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2291,9 +2046,8 @@
 	header_      http.Header
 }
 
-// GetIamPolicy: Gets the access control policy for a secret.
-// Returns empty policy if the secret exists and does not have a policy
-// set.
+// GetIamPolicy: Gets the access control policy for a secret. Returns
+// empty policy if the secret exists and does not have a policy set.
 func (r *ProjectsSecretsService) GetIamPolicy(resource string) *ProjectsSecretsGetIamPolicyCall {
 	c := &ProjectsSecretsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -2302,24 +2056,14 @@
 
 // OptionsRequestedPolicyVersion sets the optional parameter
 // "options.requestedPolicyVersion": The policy format version to be
-// returned.
-//
-// Valid values are 0, 1, and 3. Requests specifying an invalid value
-// will be
-// rejected.
-//
-// Requests for policies with any conditional bindings must specify
-// version 3.
-// Policies without any conditional bindings may specify any valid value
-// or
-// leave the field unset.
-//
-// To learn which resources support conditions in their IAM policies,
-// see
-// the
-// [IAM
-// documentation](https://cloud.google.com/iam/help/conditions/r
-// esource-policies).
+// returned. Valid values are 0, 1, and 3. Requests specifying an
+// invalid value will be rejected. Requests for policies with any
+// conditional bindings must specify version 3. Policies without any
+// conditional bindings may specify any valid value or leave the field
+// unset. To learn which resources support conditions in their IAM
+// policies, see the [IAM
+// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+// olicies).
 func (c *ProjectsSecretsGetIamPolicyCall) OptionsRequestedPolicyVersion(optionsRequestedPolicyVersion int64) *ProjectsSecretsGetIamPolicyCall {
 	c.urlParams_.Set("options.requestedPolicyVersion", fmt.Sprint(optionsRequestedPolicyVersion))
 	return c
@@ -2362,7 +2106,7 @@
 
 func (c *ProjectsSecretsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2424,7 +2168,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for a secret.\nReturns empty policy if the secret exists and does not have a policy set.",
+	//   "description": "Gets the access control policy for a secret. Returns empty policy if the secret exists and does not have a policy set.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/secrets/{secretsId}:getIamPolicy",
 	//   "httpMethod": "GET",
 	//   "id": "secretmanager.projects.secrets.getIamPolicy",
@@ -2433,13 +2177,13 @@
 	//   ],
 	//   "parameters": {
 	//     "options.requestedPolicyVersion": {
-	//       "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+	//       "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/secrets/[^/]+$",
 	//       "required": true,
@@ -2476,18 +2220,16 @@
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
-// of results to be returned in a single page. If
-// set to 0, the server decides the number of results to return. If
-// the
-// number is greater than 25000, it is capped at 25000.
+// of results to be returned in a single page. If set to 0, the server
+// decides the number of results to return. If the number is greater
+// than 25000, it is capped at 25000.
 func (c *ProjectsSecretsListCall) PageSize(pageSize int64) *ProjectsSecretsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Pagination token,
-// returned earlier via
-// ListSecretsResponse.next_page_token.
+// returned earlier via ListSecretsResponse.next_page_token.
 func (c *ProjectsSecretsListCall) PageToken(pageToken string) *ProjectsSecretsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -2530,7 +2272,7 @@
 
 func (c *ProjectsSecretsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2601,18 +2343,18 @@
 	//   ],
 	//   "parameters": {
 	//     "pageSize": {
-	//       "description": "Optional. The maximum number of results to be returned in a single page. If\nset to 0, the server decides the number of results to return. If the\nnumber is greater than 25000, it is capped at 25000.",
+	//       "description": "Optional. The maximum number of results to be returned in a single page. If set to 0, the server decides the number of results to return. If the number is greater than 25000, it is capped at 25000.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Optional. Pagination token, returned earlier via\nListSecretsResponse.next_page_token.",
+	//       "description": "Optional. Pagination token, returned earlier via ListSecretsResponse.next_page_token.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The resource name of the project associated with the\nSecrets, in the format `projects/*`.",
+	//       "description": "Required. The resource name of the project associated with the Secrets, in the format `projects/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -2704,7 +2446,7 @@
 
 func (c *ProjectsSecretsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2816,11 +2558,8 @@
 }
 
 // SetIamPolicy: Sets the access control policy on the specified secret.
-// Replaces any
-// existing policy.
-//
-// Permissions on SecretVersions are enforced according
-// to the policy set on the associated Secret.
+// Replaces any existing policy. Permissions on SecretVersions are
+// enforced according to the policy set on the associated Secret.
 func (r *ProjectsSecretsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsSecretsSetIamPolicyCall {
 	c := &ProjectsSecretsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -2855,7 +2594,7 @@
 
 func (c *ProjectsSecretsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2919,7 +2658,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the access control policy on the specified secret. Replaces any\nexisting policy.\n\nPermissions on SecretVersions are enforced according\nto the policy set on the associated Secret.",
+	//   "description": "Sets the access control policy on the specified secret. Replaces any existing policy. Permissions on SecretVersions are enforced according to the policy set on the associated Secret.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/secrets/{secretsId}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "secretmanager.projects.secrets.setIamPolicy",
@@ -2928,7 +2667,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/secrets/[^/]+$",
 	//       "required": true,
@@ -2961,15 +2700,10 @@
 }
 
 // TestIamPermissions: Returns permissions that a caller has for the
-// specified secret.
-// If the secret does not exist, this call returns 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
+// specified secret. If the secret does not exist, this call returns 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.
 func (r *ProjectsSecretsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsSecretsTestIamPermissionsCall {
 	c := &ProjectsSecretsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -3005,7 +2739,7 @@
 
 func (c *ProjectsSecretsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3069,7 +2803,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns permissions that a caller has for the specified secret.\nIf the secret does not exist, this call returns an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.",
+	//   "description": "Returns permissions that a caller has for the specified secret. If the secret does not exist, this call returns an empty set of permissions, not a NOT_FOUND error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/secrets/{secretsId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "secretmanager.projects.secrets.testIamPermissions",
@@ -3078,7 +2812,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.",
+	//       "description": "REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/secrets/[^/]+$",
 	//       "required": true,
@@ -3110,11 +2844,8 @@
 	header_      http.Header
 }
 
-// Access: Accesses a SecretVersion. This call returns the secret
-// data.
-//
-// `projects/*/secrets/*/versions/latest` is an alias to the
-// `latest`
+// Access: Accesses a SecretVersion. This call returns the secret data.
+// `projects/*/secrets/*/versions/latest` is an alias to the `latest`
 // SecretVersion.
 func (r *ProjectsSecretsVersionsService) Access(name string) *ProjectsSecretsVersionsAccessCall {
 	c := &ProjectsSecretsVersionsAccessCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -3159,7 +2890,7 @@
 
 func (c *ProjectsSecretsVersionsAccessCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3221,7 +2952,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Accesses a SecretVersion. This call returns the secret data.\n\n`projects/*/secrets/*/versions/latest` is an alias to the `latest`\nSecretVersion.",
+	//   "description": "Accesses a SecretVersion. This call returns the secret data. `projects/*/secrets/*/versions/latest` is an alias to the `latest` SecretVersion.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:access",
 	//   "httpMethod": "GET",
 	//   "id": "secretmanager.projects.secrets.versions.access",
@@ -3230,7 +2961,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the SecretVersion in the format\n`projects/*/secrets/*/versions/*`.",
+	//       "description": "Required. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$",
 	//       "required": true,
@@ -3259,11 +2990,8 @@
 	header_                     http.Header
 }
 
-// Destroy: Destroys a SecretVersion.
-//
-// Sets the state of the SecretVersion to
-// DESTROYED and irrevocably destroys the
-// secret data.
+// Destroy: Destroys a SecretVersion. Sets the state of the
+// SecretVersion to DESTROYED and irrevocably destroys the secret data.
 func (r *ProjectsSecretsVersionsService) Destroy(name string, destroysecretversionrequest *DestroySecretVersionRequest) *ProjectsSecretsVersionsDestroyCall {
 	c := &ProjectsSecretsVersionsDestroyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3298,7 +3026,7 @@
 
 func (c *ProjectsSecretsVersionsDestroyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3362,7 +3090,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Destroys a SecretVersion.\n\nSets the state of the SecretVersion to\nDESTROYED and irrevocably destroys the\nsecret data.",
+	//   "description": "Destroys a SecretVersion. Sets the state of the SecretVersion to DESTROYED and irrevocably destroys the secret data.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:destroy",
 	//   "httpMethod": "POST",
 	//   "id": "secretmanager.projects.secrets.versions.destroy",
@@ -3371,7 +3099,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the SecretVersion to destroy in the format\n`projects/*/secrets/*/versions/*`.",
+	//       "description": "Required. The resource name of the SecretVersion to destroy in the format `projects/*/secrets/*/versions/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$",
 	//       "required": true,
@@ -3403,10 +3131,8 @@
 	header_                     http.Header
 }
 
-// Disable: Disables a SecretVersion.
-//
-// Sets the state of the SecretVersion to
-// DISABLED.
+// Disable: Disables a SecretVersion. Sets the state of the
+// SecretVersion to DISABLED.
 func (r *ProjectsSecretsVersionsService) Disable(name string, disablesecretversionrequest *DisableSecretVersionRequest) *ProjectsSecretsVersionsDisableCall {
 	c := &ProjectsSecretsVersionsDisableCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3441,7 +3167,7 @@
 
 func (c *ProjectsSecretsVersionsDisableCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3505,7 +3231,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Disables a SecretVersion.\n\nSets the state of the SecretVersion to\nDISABLED.",
+	//   "description": "Disables a SecretVersion. Sets the state of the SecretVersion to DISABLED.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:disable",
 	//   "httpMethod": "POST",
 	//   "id": "secretmanager.projects.secrets.versions.disable",
@@ -3514,7 +3240,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the SecretVersion to disable in the format\n`projects/*/secrets/*/versions/*`.",
+	//       "description": "Required. The resource name of the SecretVersion to disable in the format `projects/*/secrets/*/versions/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$",
 	//       "required": true,
@@ -3546,10 +3272,8 @@
 	header_                    http.Header
 }
 
-// Enable: Enables a SecretVersion.
-//
-// Sets the state of the SecretVersion to
-// ENABLED.
+// Enable: Enables a SecretVersion. Sets the state of the SecretVersion
+// to ENABLED.
 func (r *ProjectsSecretsVersionsService) Enable(name string, enablesecretversionrequest *EnableSecretVersionRequest) *ProjectsSecretsVersionsEnableCall {
 	c := &ProjectsSecretsVersionsEnableCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -3584,7 +3308,7 @@
 
 func (c *ProjectsSecretsVersionsEnableCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3648,7 +3372,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Enables a SecretVersion.\n\nSets the state of the SecretVersion to\nENABLED.",
+	//   "description": "Enables a SecretVersion. Sets the state of the SecretVersion to ENABLED.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}:enable",
 	//   "httpMethod": "POST",
 	//   "id": "secretmanager.projects.secrets.versions.enable",
@@ -3657,7 +3381,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the SecretVersion to enable in the format\n`projects/*/secrets/*/versions/*`.",
+	//       "description": "Required. The resource name of the SecretVersion to enable in the format `projects/*/secrets/*/versions/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$",
 	//       "required": true,
@@ -3689,11 +3413,8 @@
 	header_      http.Header
 }
 
-// Get: Gets metadata for a
-// SecretVersion.
-//
-// `projects/*/secrets/*/versions/latest` is an alias to the
-// `latest`
+// Get: Gets metadata for a SecretVersion.
+// `projects/*/secrets/*/versions/latest` is an alias to the `latest`
 // SecretVersion.
 func (r *ProjectsSecretsVersionsService) Get(name string) *ProjectsSecretsVersionsGetCall {
 	c := &ProjectsSecretsVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -3738,7 +3459,7 @@
 
 func (c *ProjectsSecretsVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3800,7 +3521,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets metadata for a SecretVersion.\n\n`projects/*/secrets/*/versions/latest` is an alias to the `latest`\nSecretVersion.",
+	//   "description": "Gets metadata for a SecretVersion. `projects/*/secrets/*/versions/latest` is an alias to the `latest` SecretVersion.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/secrets/{secretsId}/versions/{versionsId}",
 	//   "httpMethod": "GET",
 	//   "id": "secretmanager.projects.secrets.versions.get",
@@ -3809,7 +3530,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The resource name of the SecretVersion in the format\n`projects/*/secrets/*/versions/*`.\n`projects/*/secrets/*/versions/latest` is an alias to the `latest`\nSecretVersion.",
+	//       "description": "Required. The resource name of the SecretVersion in the format `projects/*/secrets/*/versions/*`. `projects/*/secrets/*/versions/latest` is an alias to the `latest` SecretVersion.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/secrets/[^/]+/versions/[^/]+$",
 	//       "required": true,
@@ -3838,8 +3559,7 @@
 	header_      http.Header
 }
 
-// List: Lists SecretVersions. This call does not return secret
-// data.
+// List: Lists SecretVersions. This call does not return secret data.
 func (r *ProjectsSecretsVersionsService) List(parent string) *ProjectsSecretsVersionsListCall {
 	c := &ProjectsSecretsVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -3847,18 +3567,16 @@
 }
 
 // PageSize sets the optional parameter "pageSize": The maximum number
-// of results to be returned in a single page. If
-// set to 0, the server decides the number of results to return. If
-// the
-// number is greater than 25000, it is capped at 25000.
+// of results to be returned in a single page. If set to 0, the server
+// decides the number of results to return. If the number is greater
+// than 25000, it is capped at 25000.
 func (c *ProjectsSecretsVersionsListCall) PageSize(pageSize int64) *ProjectsSecretsVersionsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": Pagination token,
-// returned earlier via
-// ListSecretVersionsResponse.next_page_token][].
+// returned earlier via ListSecretVersionsResponse.next_page_token][].
 func (c *ProjectsSecretsVersionsListCall) PageToken(pageToken string) *ProjectsSecretsVersionsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -3901,7 +3619,7 @@
 
 func (c *ProjectsSecretsVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3963,7 +3681,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists SecretVersions. This call does not return secret\ndata.",
+	//   "description": "Lists SecretVersions. This call does not return secret data.",
 	//   "flatPath": "v1beta1/projects/{projectsId}/secrets/{secretsId}/versions",
 	//   "httpMethod": "GET",
 	//   "id": "secretmanager.projects.secrets.versions.list",
@@ -3972,18 +3690,18 @@
 	//   ],
 	//   "parameters": {
 	//     "pageSize": {
-	//       "description": "Optional. The maximum number of results to be returned in a single page. If\nset to 0, the server decides the number of results to return. If the\nnumber is greater than 25000, it is capped at 25000.",
+	//       "description": "Optional. The maximum number of results to be returned in a single page. If set to 0, the server decides the number of results to return. If the number is greater than 25000, it is capped at 25000.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "Optional. Pagination token, returned earlier via\nListSecretVersionsResponse.next_page_token][].",
+	//       "description": "Optional. Pagination token, returned earlier via ListSecretVersionsResponse.next_page_token][].",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The resource name of the Secret associated with the\nSecretVersions to list, in the format\n`projects/*/secrets/*`.",
+	//       "description": "Required. The resource name of the Secret associated with the SecretVersions to list, in the format `projects/*/secrets/*`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/secrets/[^/]+$",
 	//       "required": true,
diff --git a/securitycenter/v1/securitycenter-gen.go b/securitycenter/v1/securitycenter-gen.go
index ff154f9..910693b 100644
--- a/securitycenter/v1/securitycenter-gen.go
+++ b/securitycenter/v1/securitycenter-gen.go
@@ -2757,7 +2757,7 @@
 
 func (c *OrganizationsGetOrganizationSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2900,7 +2900,7 @@
 
 func (c *OrganizationsUpdateOrganizationSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3047,7 +3047,7 @@
 
 func (c *OrganizationsAssetsGroupCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3340,7 +3340,7 @@
 
 func (c *OrganizationsAssetsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3538,7 +3538,7 @@
 
 func (c *OrganizationsAssetsRunDiscoveryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3696,7 +3696,7 @@
 
 func (c *OrganizationsAssetsUpdateSecurityMarksCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3857,7 +3857,7 @@
 
 func (c *OrganizationsNotificationConfigsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4000,7 +4000,7 @@
 
 func (c *OrganizationsNotificationConfigsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4141,7 +4141,7 @@
 
 func (c *OrganizationsNotificationConfigsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4302,7 +4302,7 @@
 
 func (c *OrganizationsNotificationConfigsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4478,7 +4478,7 @@
 
 func (c *OrganizationsNotificationConfigsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4631,7 +4631,7 @@
 
 func (c *OrganizationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4764,7 +4764,7 @@
 
 func (c *OrganizationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4907,7 +4907,7 @@
 
 func (c *OrganizationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5081,7 +5081,7 @@
 
 func (c *OrganizationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5253,7 +5253,7 @@
 
 func (c *OrganizationsSourcesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5402,7 +5402,7 @@
 
 func (c *OrganizationsSourcesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5537,7 +5537,7 @@
 
 func (c *OrganizationsSourcesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5703,7 +5703,7 @@
 
 func (c *OrganizationsSourcesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5878,7 +5878,7 @@
 
 func (c *OrganizationsSourcesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6024,7 +6024,7 @@
 
 func (c *OrganizationsSourcesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6165,7 +6165,7 @@
 
 func (c *OrganizationsSourcesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6315,7 +6315,7 @@
 
 func (c *OrganizationsSourcesFindingsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6463,7 +6463,7 @@
 
 func (c *OrganizationsSourcesFindingsGroupCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6743,7 +6743,7 @@
 
 func (c *OrganizationsSourcesFindingsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6950,7 +6950,7 @@
 
 func (c *OrganizationsSourcesFindingsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7096,7 +7096,7 @@
 
 func (c *OrganizationsSourcesFindingsSetStateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7254,7 +7254,7 @@
 
 func (c *OrganizationsSourcesFindingsUpdateSecurityMarksCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/securitycenter/v1beta1/securitycenter-gen.go b/securitycenter/v1beta1/securitycenter-gen.go
index 94e4696..0b44a2c 100644
--- a/securitycenter/v1beta1/securitycenter-gen.go
+++ b/securitycenter/v1beta1/securitycenter-gen.go
@@ -2537,7 +2537,7 @@
 
 func (c *OrganizationsGetOrganizationSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2679,7 +2679,7 @@
 
 func (c *OrganizationsUpdateOrganizationSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2826,7 +2826,7 @@
 
 func (c *OrganizationsAssetsGroupCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3089,7 +3089,7 @@
 
 func (c *OrganizationsAssetsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3287,7 +3287,7 @@
 
 func (c *OrganizationsAssetsRunDiscoveryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3441,7 +3441,7 @@
 
 func (c *OrganizationsAssetsUpdateSecurityMarksCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3604,7 +3604,7 @@
 
 func (c *OrganizationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3745,7 +3745,7 @@
 
 func (c *OrganizationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3888,7 +3888,7 @@
 
 func (c *OrganizationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4062,7 +4062,7 @@
 
 func (c *OrganizationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4234,7 +4234,7 @@
 
 func (c *OrganizationsSourcesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4383,7 +4383,7 @@
 
 func (c *OrganizationsSourcesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4518,7 +4518,7 @@
 
 func (c *OrganizationsSourcesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4684,7 +4684,7 @@
 
 func (c *OrganizationsSourcesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4858,7 +4858,7 @@
 
 func (c *OrganizationsSourcesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5004,7 +5004,7 @@
 
 func (c *OrganizationsSourcesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5145,7 +5145,7 @@
 
 func (c *OrganizationsSourcesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5295,7 +5295,7 @@
 
 func (c *OrganizationsSourcesFindingsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5444,7 +5444,7 @@
 
 func (c *OrganizationsSourcesFindingsGroupCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5683,7 +5683,7 @@
 
 func (c *OrganizationsSourcesFindingsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5881,7 +5881,7 @@
 
 func (c *OrganizationsSourcesFindingsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6028,7 +6028,7 @@
 
 func (c *OrganizationsSourcesFindingsSetStateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6183,7 +6183,7 @@
 
 func (c *OrganizationsSourcesFindingsUpdateSecurityMarksCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/securitycenter/v1p1alpha1/securitycenter-gen.go b/securitycenter/v1p1alpha1/securitycenter-gen.go
index 99bc745..b577969 100644
--- a/securitycenter/v1p1alpha1/securitycenter-gen.go
+++ b/securitycenter/v1p1alpha1/securitycenter-gen.go
@@ -1130,7 +1130,7 @@
 
 func (c *OrganizationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1263,7 +1263,7 @@
 
 func (c *OrganizationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1406,7 +1406,7 @@
 
 func (c *OrganizationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1580,7 +1580,7 @@
 
 func (c *OrganizationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/securitycenter/v1p1beta1/securitycenter-gen.go b/securitycenter/v1p1beta1/securitycenter-gen.go
index ff21766..0a9ded6 100644
--- a/securitycenter/v1p1beta1/securitycenter-gen.go
+++ b/securitycenter/v1p1beta1/securitycenter-gen.go
@@ -2604,7 +2604,7 @@
 
 func (c *OrganizationsGetOrganizationSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2747,7 +2747,7 @@
 
 func (c *OrganizationsUpdateOrganizationSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2894,7 +2894,7 @@
 
 func (c *OrganizationsAssetsGroupCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3187,7 +3187,7 @@
 
 func (c *OrganizationsAssetsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3385,7 +3385,7 @@
 
 func (c *OrganizationsAssetsRunDiscoveryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3543,7 +3543,7 @@
 
 func (c *OrganizationsAssetsUpdateSecurityMarksCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3706,7 +3706,7 @@
 
 func (c *OrganizationsNotificationConfigsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3849,7 +3849,7 @@
 
 func (c *OrganizationsNotificationConfigsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3990,7 +3990,7 @@
 
 func (c *OrganizationsNotificationConfigsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4151,7 +4151,7 @@
 
 func (c *OrganizationsNotificationConfigsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4327,7 +4327,7 @@
 
 func (c *OrganizationsNotificationConfigsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4480,7 +4480,7 @@
 
 func (c *OrganizationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4613,7 +4613,7 @@
 
 func (c *OrganizationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4756,7 +4756,7 @@
 
 func (c *OrganizationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4930,7 +4930,7 @@
 
 func (c *OrganizationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5102,7 +5102,7 @@
 
 func (c *OrganizationsSourcesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5251,7 +5251,7 @@
 
 func (c *OrganizationsSourcesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5386,7 +5386,7 @@
 
 func (c *OrganizationsSourcesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5552,7 +5552,7 @@
 
 func (c *OrganizationsSourcesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5727,7 +5727,7 @@
 
 func (c *OrganizationsSourcesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5873,7 +5873,7 @@
 
 func (c *OrganizationsSourcesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6014,7 +6014,7 @@
 
 func (c *OrganizationsSourcesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6162,7 +6162,7 @@
 
 func (c *OrganizationsSourcesFindingsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6312,7 +6312,7 @@
 
 func (c *OrganizationsSourcesFindingsGroupCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6592,7 +6592,7 @@
 
 func (c *OrganizationsSourcesFindingsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6799,7 +6799,7 @@
 
 func (c *OrganizationsSourcesFindingsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6947,7 +6947,7 @@
 
 func (c *OrganizationsSourcesFindingsSetStateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7107,7 +7107,7 @@
 
 func (c *OrganizationsSourcesFindingsUpdateSecurityMarksCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/serviceconsumermanagement/v1/serviceconsumermanagement-gen.go b/serviceconsumermanagement/v1/serviceconsumermanagement-gen.go
index 13e6f1d..a6d76a4 100644
--- a/serviceconsumermanagement/v1/serviceconsumermanagement-gen.go
+++ b/serviceconsumermanagement/v1/serviceconsumermanagement-gen.go
@@ -4549,7 +4549,7 @@
 
 func (c *OperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4690,7 +4690,7 @@
 
 func (c *OperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4833,7 +4833,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5007,7 +5007,7 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5224,7 +5224,7 @@
 
 func (c *ServicesSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5400,7 +5400,7 @@
 
 func (c *ServicesTenancyUnitsAddProjectCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5555,7 +5555,7 @@
 
 func (c *ServicesTenancyUnitsApplyProjectConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5704,7 +5704,7 @@
 
 func (c *ServicesTenancyUnitsAttachProjectCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5848,7 +5848,7 @@
 
 func (c *ServicesTenancyUnitsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5988,7 +5988,7 @@
 
 func (c *ServicesTenancyUnitsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6128,7 +6128,7 @@
 
 func (c *ServicesTenancyUnitsDeleteProjectCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6304,7 +6304,7 @@
 
 func (c *ServicesTenancyUnitsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6483,7 +6483,7 @@
 
 func (c *ServicesTenancyUnitsRemoveProjectCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6628,7 +6628,7 @@
 
 func (c *ServicesTenancyUnitsUndeleteProjectCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/serviceconsumermanagement/v1beta1/serviceconsumermanagement-gen.go b/serviceconsumermanagement/v1beta1/serviceconsumermanagement-gen.go
index 0e57373..1dea264 100644
--- a/serviceconsumermanagement/v1beta1/serviceconsumermanagement-gen.go
+++ b/serviceconsumermanagement/v1beta1/serviceconsumermanagement-gen.go
@@ -4246,7 +4246,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4409,7 +4409,7 @@
 
 func (c *ServicesConsumerQuotaMetricsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4562,7 +4562,7 @@
 
 func (c *ServicesConsumerQuotaMetricsImportProducerOverridesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4748,7 +4748,7 @@
 
 func (c *ServicesConsumerQuotaMetricsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4959,7 +4959,7 @@
 
 func (c *ServicesConsumerQuotaMetricsLimitsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5127,7 +5127,7 @@
 
 func (c *ServicesConsumerQuotaMetricsLimitsProducerOverridesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5281,7 +5281,7 @@
 
 func (c *ServicesConsumerQuotaMetricsLimitsProducerOverridesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5441,7 +5441,7 @@
 
 func (c *ServicesConsumerQuotaMetricsLimitsProducerOverridesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5627,7 +5627,7 @@
 
 func (c *ServicesConsumerQuotaMetricsLimitsProducerOverridesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/servicecontrol/v1/servicecontrol-gen.go b/servicecontrol/v1/servicecontrol-gen.go
index bf783a3..7c3ba52 100644
--- a/servicecontrol/v1/servicecontrol-gen.go
+++ b/servicecontrol/v1/servicecontrol-gen.go
@@ -3367,7 +3367,7 @@
 
 func (c *ServicesAllocateQuotaCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3529,7 +3529,7 @@
 
 func (c *ServicesCheckCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3690,7 +3690,7 @@
 
 func (c *ServicesReportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/servicecontrol/v2/servicecontrol-gen.go b/servicecontrol/v2/servicecontrol-gen.go
index a58d73b..15074a3 100644
--- a/servicecontrol/v2/servicecontrol-gen.go
+++ b/servicecontrol/v2/servicecontrol-gen.go
@@ -1481,7 +1481,7 @@
 
 func (c *ServicesCheckCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1646,7 +1646,7 @@
 
 func (c *ServicesReportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/servicedirectory/v1beta1/servicedirectory-gen.go b/servicedirectory/v1beta1/servicedirectory-gen.go
index 23936a4..a646cb9 100644
--- a/servicedirectory/v1beta1/servicedirectory-gen.go
+++ b/servicedirectory/v1beta1/servicedirectory-gen.go
@@ -1068,7 +1068,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1234,7 +1234,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1418,7 +1418,7 @@
 
 func (c *ProjectsLocationsNamespacesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1562,7 +1562,7 @@
 
 func (c *ProjectsLocationsNamespacesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1703,7 +1703,7 @@
 
 func (c *ProjectsLocationsNamespacesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1839,7 +1839,7 @@
 
 func (c *ProjectsLocationsNamespacesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2033,7 +2033,7 @@
 
 func (c *ProjectsLocationsNamespacesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2217,7 +2217,7 @@
 
 func (c *ProjectsLocationsNamespacesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2364,7 +2364,7 @@
 
 func (c *ProjectsLocationsNamespacesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2505,7 +2505,7 @@
 
 func (c *ProjectsLocationsNamespacesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2657,7 +2657,7 @@
 
 func (c *ProjectsLocationsNamespacesServicesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2801,7 +2801,7 @@
 
 func (c *ProjectsLocationsNamespacesServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2942,7 +2942,7 @@
 
 func (c *ProjectsLocationsNamespacesServicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3078,7 +3078,7 @@
 
 func (c *ProjectsLocationsNamespacesServicesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3271,7 +3271,7 @@
 
 func (c *ProjectsLocationsNamespacesServicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3455,7 +3455,7 @@
 
 func (c *ProjectsLocationsNamespacesServicesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3602,7 +3602,7 @@
 
 func (c *ProjectsLocationsNamespacesServicesResolveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3743,7 +3743,7 @@
 
 func (c *ProjectsLocationsNamespacesServicesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3884,7 +3884,7 @@
 
 func (c *ProjectsLocationsNamespacesServicesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4036,7 +4036,7 @@
 
 func (c *ProjectsLocationsNamespacesServicesEndpointsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4179,7 +4179,7 @@
 
 func (c *ProjectsLocationsNamespacesServicesEndpointsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4320,7 +4320,7 @@
 
 func (c *ProjectsLocationsNamespacesServicesEndpointsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4510,7 +4510,7 @@
 
 func (c *ProjectsLocationsNamespacesServicesEndpointsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4694,7 +4694,7 @@
 
 func (c *ProjectsLocationsNamespacesServicesEndpointsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/servicemanagement/v1/servicemanagement-gen.go b/servicemanagement/v1/servicemanagement-gen.go
index 5a0ad87..f1f6d7e 100644
--- a/servicemanagement/v1/servicemanagement-gen.go
+++ b/servicemanagement/v1/servicemanagement-gen.go
@@ -4884,7 +4884,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5068,7 +5068,7 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5237,7 +5237,7 @@
 
 func (c *ServicesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5366,7 +5366,7 @@
 
 func (c *ServicesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5500,7 +5500,7 @@
 
 func (c *ServicesDisableCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5643,7 +5643,7 @@
 
 func (c *ServicesEnableCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5790,7 +5790,7 @@
 
 func (c *ServicesGenerateConfigReportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5928,7 +5928,7 @@
 
 func (c *ServicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6097,7 +6097,7 @@
 
 func (c *ServicesGetConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6254,7 +6254,7 @@
 
 func (c *ServicesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6439,7 +6439,7 @@
 
 func (c *ServicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6609,7 +6609,7 @@
 
 func (c *ServicesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6755,7 +6755,7 @@
 
 func (c *ServicesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6899,7 +6899,7 @@
 
 func (c *ServicesUndeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7036,7 +7036,7 @@
 
 func (c *ServicesConfigsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7201,7 +7201,7 @@
 
 func (c *ServicesConfigsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7384,7 +7384,7 @@
 
 func (c *ServicesConfigsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7560,7 +7560,7 @@
 
 func (c *ServicesConfigsSubmitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7702,7 +7702,7 @@
 
 func (c *ServicesConsumersGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7847,7 +7847,7 @@
 
 func (c *ServicesConsumersSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7993,7 +7993,7 @@
 
 func (c *ServicesConsumersTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8145,7 +8145,7 @@
 
 func (c *ServicesRolloutsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8296,7 +8296,7 @@
 
 func (c *ServicesRolloutsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8478,7 +8478,7 @@
 
 func (c *ServicesRolloutsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/servicenetworking/v1/servicenetworking-gen.go b/servicenetworking/v1/servicenetworking-gen.go
index 1ea8edd..0e8c699 100644
--- a/servicenetworking/v1/servicenetworking-gen.go
+++ b/servicenetworking/v1/servicenetworking-gen.go
@@ -4512,7 +4512,7 @@
 
 func (c *OperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4654,7 +4654,7 @@
 
 func (c *OperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4798,7 +4798,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4973,7 +4973,7 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5154,7 +5154,7 @@
 
 func (c *ServicesAddSubnetworkCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5296,7 +5296,7 @@
 
 func (c *ServicesDisableVpcServiceControlsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5438,7 +5438,7 @@
 
 func (c *ServicesEnableVpcServiceControlsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5584,7 +5584,7 @@
 
 func (c *ServicesSearchRangeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5729,7 +5729,7 @@
 
 func (c *ServicesValidateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5877,7 +5877,7 @@
 
 func (c *ServicesConnectionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6040,7 +6040,7 @@
 
 func (c *ServicesConnectionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6197,7 +6197,7 @@
 
 func (c *ServicesConnectionsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6350,7 +6350,7 @@
 
 func (c *ServicesDnsRecordSetsAddCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6492,7 +6492,7 @@
 
 func (c *ServicesDnsRecordSetsRemoveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6634,7 +6634,7 @@
 
 func (c *ServicesDnsRecordSetsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6777,7 +6777,7 @@
 
 func (c *ServicesDnsZonesAddCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6920,7 +6920,7 @@
 
 func (c *ServicesDnsZonesRemoveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7064,7 +7064,7 @@
 
 func (c *ServicesRolesAddCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/servicenetworking/v1beta/servicenetworking-gen.go b/servicenetworking/v1beta/servicenetworking-gen.go
index d0d3d6d..0530a57 100644
--- a/servicenetworking/v1beta/servicenetworking-gen.go
+++ b/servicenetworking/v1beta/servicenetworking-gen.go
@@ -3921,7 +3921,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4066,7 +4066,7 @@
 
 func (c *ServicesAddSubnetworkCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4213,7 +4213,7 @@
 
 func (c *ServicesSearchRangeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4371,7 +4371,7 @@
 
 func (c *ServicesUpdateConnectionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4531,7 +4531,7 @@
 
 func (c *ServicesConnectionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4694,7 +4694,7 @@
 
 func (c *ServicesConnectionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/serviceusage/v1/serviceusage-api.json b/serviceusage/v1/serviceusage-api.json
index 233f439..a2081a9 100644
--- a/serviceusage/v1/serviceusage-api.json
+++ b/serviceusage/v1/serviceusage-api.json
@@ -382,7 +382,7 @@
           ]
         },
         "list": {
-          "description": "List all services available to the specified project, and the current state of those services with respect to the project. The list includes all public services, all services for which the calling user has the `servicemanagement.services.bind` permission, and all services that have already been enabled on the project. The list can be filtered to only include services in a specific state, for example to only include services enabled on the project.",
+          "description": "List all services available to the specified project, and the current state of those services with respect to the project. The list includes all public services, all services for which the calling user has the `servicemanagement.services.bind` permission, and all services that have already been enabled on the project. The list can be filtered to only include services in a specific state, for example to only include services enabled on the project. WARNING: If you need to query enabled services frequently or across an organization, you should use [Cloud Asset Inventory API](https://cloud.google.com/asset-inventory/docs/apis), which provides higher throughput and richer filtering capability.",
           "flatPath": "v1/{v1Id}/{v1Id1}/services",
           "httpMethod": "GET",
           "id": "serviceusage.services.list",
@@ -426,7 +426,7 @@
       }
     }
   },
-  "revision": "20200804",
+  "revision": "20200813",
   "rootUrl": "https://serviceusage.googleapis.com/",
   "schemas": {
     "AdminQuotaPolicy": {
diff --git a/serviceusage/v1/serviceusage-gen.go b/serviceusage/v1/serviceusage-gen.go
index 442b89b..76da492 100644
--- a/serviceusage/v1/serviceusage-gen.go
+++ b/serviceusage/v1/serviceusage-gen.go
@@ -4274,7 +4274,7 @@
 
 func (c *OperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4416,7 +4416,7 @@
 
 func (c *OperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4560,7 +4560,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4740,7 +4740,7 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4909,7 +4909,7 @@
 
 func (c *ServicesBatchEnableCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5070,7 +5070,7 @@
 
 func (c *ServicesBatchGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5217,7 +5217,7 @@
 
 func (c *ServicesDisableCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5358,7 +5358,7 @@
 
 func (c *ServicesEnableCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5509,7 +5509,7 @@
 
 func (c *ServicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5616,7 +5616,11 @@
 // has the `servicemanagement.services.bind` permission, and all
 // services that have already been enabled on the project. The list can
 // be filtered to only include services in a specific state, for example
-// to only include services enabled on the project.
+// to only include services enabled on the project. WARNING: If you need
+// to query enabled services frequently or across an organization, you
+// should use [Cloud Asset Inventory
+// API](https://cloud.google.com/asset-inventory/docs/apis), which
+// provides higher throughput and richer filtering capability.
 func (r *ServicesService) List(parent string) *ServicesListCall {
 	c := &ServicesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -5684,7 +5688,7 @@
 
 func (c *ServicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5746,7 +5750,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "List all services available to the specified project, and the current state of those services with respect to the project. The list includes all public services, all services for which the calling user has the `servicemanagement.services.bind` permission, and all services that have already been enabled on the project. The list can be filtered to only include services in a specific state, for example to only include services enabled on the project.",
+	//   "description": "List all services available to the specified project, and the current state of those services with respect to the project. The list includes all public services, all services for which the calling user has the `servicemanagement.services.bind` permission, and all services that have already been enabled on the project. The list can be filtered to only include services in a specific state, for example to only include services enabled on the project. WARNING: If you need to query enabled services frequently or across an organization, you should use [Cloud Asset Inventory API](https://cloud.google.com/asset-inventory/docs/apis), which provides higher throughput and richer filtering capability.",
 	//   "flatPath": "v1/{v1Id}/{v1Id1}/services",
 	//   "httpMethod": "GET",
 	//   "id": "serviceusage.services.list",
diff --git a/serviceusage/v1beta1/serviceusage-gen.go b/serviceusage/v1beta1/serviceusage-gen.go
index fd9b88d..2588764 100644
--- a/serviceusage/v1beta1/serviceusage-gen.go
+++ b/serviceusage/v1beta1/serviceusage-gen.go
@@ -4692,7 +4692,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4872,7 +4872,7 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5040,7 +5040,7 @@
 
 func (c *ServicesBatchEnableCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5186,7 +5186,7 @@
 
 func (c *ServicesDisableCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5328,7 +5328,7 @@
 
 func (c *ServicesEnableCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5467,7 +5467,7 @@
 
 func (c *ServicesGenerateServiceIdentityCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5610,7 +5610,7 @@
 
 func (c *ServicesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5785,7 +5785,7 @@
 
 func (c *ServicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5986,7 +5986,7 @@
 
 func (c *ServicesConsumerQuotaMetricsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6140,7 +6140,7 @@
 
 func (c *ServicesConsumerQuotaMetricsImportConsumerOverridesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6327,7 +6327,7 @@
 
 func (c *ServicesConsumerQuotaMetricsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6538,7 +6538,7 @@
 
 func (c *ServicesConsumerQuotaMetricsLimitsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6704,7 +6704,7 @@
 
 func (c *ServicesConsumerQuotaMetricsLimitsAdminOverridesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6859,7 +6859,7 @@
 
 func (c *ServicesConsumerQuotaMetricsLimitsAdminOverridesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7020,7 +7020,7 @@
 
 func (c *ServicesConsumerQuotaMetricsLimitsAdminOverridesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7207,7 +7207,7 @@
 
 func (c *ServicesConsumerQuotaMetricsLimitsAdminOverridesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7374,7 +7374,7 @@
 
 func (c *ServicesConsumerQuotaMetricsLimitsConsumerOverridesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7529,7 +7529,7 @@
 
 func (c *ServicesConsumerQuotaMetricsLimitsConsumerOverridesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7690,7 +7690,7 @@
 
 func (c *ServicesConsumerQuotaMetricsLimitsConsumerOverridesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7877,7 +7877,7 @@
 
 func (c *ServicesConsumerQuotaMetricsLimitsConsumerOverridesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/sheets/v4/sheets-gen.go b/sheets/v4/sheets-gen.go
index 104b02b..48502f0 100644
--- a/sheets/v4/sheets-gen.go
+++ b/sheets/v4/sheets-gen.go
@@ -10685,7 +10685,7 @@
 
 func (c *SpreadsheetsBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10825,7 +10825,7 @@
 
 func (c *SpreadsheetsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11002,7 +11002,7 @@
 
 func (c *SpreadsheetsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11178,7 +11178,7 @@
 
 func (c *SpreadsheetsGetByDataFilterCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11333,7 +11333,7 @@
 
 func (c *SpreadsheetsDeveloperMetadataGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11487,7 +11487,7 @@
 
 func (c *SpreadsheetsDeveloperMetadataSearchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11632,7 +11632,7 @@
 
 func (c *SpreadsheetsSheetsCopyToCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11868,7 +11868,7 @@
 
 func (c *SpreadsheetsValuesAppendCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12066,7 +12066,7 @@
 
 func (c *SpreadsheetsValuesBatchClearCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12214,7 +12214,7 @@
 
 func (c *SpreadsheetsValuesBatchClearByDataFilterCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12422,7 +12422,7 @@
 
 func (c *SpreadsheetsValuesBatchGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12600,7 +12600,7 @@
 
 func (c *SpreadsheetsValuesBatchGetByDataFilterCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12745,7 +12745,7 @@
 
 func (c *SpreadsheetsValuesBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12890,7 +12890,7 @@
 
 func (c *SpreadsheetsValuesBatchUpdateByDataFilterCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13038,7 +13038,7 @@
 
 func (c *SpreadsheetsValuesClearCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13248,7 +13248,7 @@
 
 func (c *SpreadsheetsValuesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13486,7 +13486,7 @@
 
 func (c *SpreadsheetsValuesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/siteverification/v1/siteverification-gen.go b/siteverification/v1/siteverification-gen.go
index 03099c2..935eac5 100644
--- a/siteverification/v1/siteverification-gen.go
+++ b/siteverification/v1/siteverification-gen.go
@@ -406,7 +406,7 @@
 
 func (c *WebResourceDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -517,7 +517,7 @@
 
 func (c *WebResourceGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -650,7 +650,7 @@
 
 func (c *WebResourceGetTokenCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -776,7 +776,7 @@
 
 func (c *WebResourceInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -920,7 +920,7 @@
 
 func (c *WebResourceListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1041,7 +1041,7 @@
 
 func (c *WebResourcePatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1180,7 +1180,7 @@
 
 func (c *WebResourceUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/slides/v1/slides-gen.go b/slides/v1/slides-gen.go
index 7a62824..9ddc26d 100644
--- a/slides/v1/slides-gen.go
+++ b/slides/v1/slides-gen.go
@@ -7088,7 +7088,7 @@
 
 func (c *PresentationsBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7234,7 +7234,7 @@
 
 func (c *PresentationsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7372,7 +7372,7 @@
 
 func (c *PresentationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7523,7 +7523,7 @@
 
 func (c *PresentationsPagesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7712,7 +7712,7 @@
 
 func (c *PresentationsPagesGetThumbnailCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/sourcerepo/v1/sourcerepo-gen.go b/sourcerepo/v1/sourcerepo-gen.go
index 4649dc0..1737725 100644
--- a/sourcerepo/v1/sourcerepo-gen.go
+++ b/sourcerepo/v1/sourcerepo-gen.go
@@ -1372,7 +1372,7 @@
 
 func (c *ProjectsGetConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1508,7 +1508,7 @@
 
 func (c *ProjectsUpdateConfigCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1652,7 +1652,7 @@
 
 func (c *ProjectsReposCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1791,7 +1791,7 @@
 
 func (c *ProjectsReposDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1933,7 +1933,7 @@
 
 func (c *ProjectsReposGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2108,7 +2108,7 @@
 
 func (c *ProjectsReposGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2280,7 +2280,7 @@
 
 func (c *ProjectsReposListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2450,7 +2450,7 @@
 
 func (c *ProjectsReposPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2592,7 +2592,7 @@
 
 func (c *ProjectsReposSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2735,7 +2735,7 @@
 
 func (c *ProjectsReposSyncCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2879,7 +2879,7 @@
 
 func (c *ProjectsReposTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/spanner/v1/spanner-api.json b/spanner/v1/spanner-api.json
index 692a23b..9cb4418 100644
--- a/spanner/v1/spanner-api.json
+++ b/spanner/v1/spanner-api.json
@@ -125,7 +125,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. The name of the requested instance configuration. Values are of\nthe form `projects/\u003cproject\u003e/instanceConfigs/\u003cconfig\u003e`.",
+                  "description": "Required. The name of the requested instance configuration. Values are of the form `projects//instanceConfigs/`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/instanceConfigs/[^/]+$",
                   "required": true,
@@ -151,18 +151,18 @@
               ],
               "parameters": {
                 "pageSize": {
-                  "description": "Number of instance configurations to be returned in the response. If 0 or\nless, defaults to the server's maximum allowed page size.",
+                  "description": "Number of instance configurations to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "If non-empty, `page_token` should contain a\nnext_page_token\nfrom a previous ListInstanceConfigsResponse.",
+                  "description": "If non-empty, `page_token` should contain a next_page_token from a previous ListInstanceConfigsResponse.",
                   "location": "query",
                   "type": "string"
                 },
                 "parent": {
-                  "description": "Required. The name of the project for which a list of supported instance\nconfigurations is requested. Values are of the form\n`projects/\u003cproject\u003e`.",
+                  "description": "Required. The name of the project for which a list of supported instance configurations is requested. Values are of the form `projects/`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
@@ -183,7 +183,7 @@
         "instances": {
           "methods": {
             "create": {
-              "description": "Creates an instance and begins preparing it to begin serving. The\nreturned long-running operation\ncan be used to track the progress of preparing the new\ninstance. The instance name is assigned by the caller. If the\nnamed instance already exists, `CreateInstance` returns\n`ALREADY_EXISTS`.\n\nImmediately upon completion of this request:\n\n  * The instance is readable via the API, with all requested attributes\n    but no allocated resources. Its state is `CREATING`.\n\nUntil completion of the returned operation:\n\n  * Cancelling the operation renders the instance immediately unreadable\n    via the API.\n  * The instance can be deleted.\n  * All other attempts to modify the instance are rejected.\n\nUpon completion of the returned operation:\n\n  * Billing for all successfully-allocated resources begins (some types\n    may have lower than the requested levels).\n  * Databases can be created in the instance.\n  * The instance's allocated resource levels are readable via the API.\n  * The instance's state becomes `READY`.\n\nThe returned long-running operation will\nhave a name of the format `\u003cinstance_name\u003e/operations/\u003coperation_id\u003e` and\ncan be used to track creation of the instance.  The\nmetadata field type is\nCreateInstanceMetadata.\nThe response field type is\nInstance, if successful.",
+              "description": "Creates an instance and begins preparing it to begin serving. The returned long-running operation can be used to track the progress of preparing the new instance. The instance name is assigned by the caller. If the named instance already exists, `CreateInstance` returns `ALREADY_EXISTS`. Immediately upon completion of this request: * The instance is readable via the API, with all requested attributes but no allocated resources. Its state is `CREATING`. Until completion of the returned operation: * Cancelling the operation renders the instance immediately unreadable via the API. * The instance can be deleted. * All other attempts to modify the instance are rejected. Upon completion of the returned operation: * Billing for all successfully-allocated resources begins (some types may have lower than the requested levels). * Databases can be created in the instance. * The instance's allocated resource levels are readable via the API. * The instance's state becomes `READY`. The returned long-running operation will have a name of the format `/operations/` and can be used to track creation of the instance. The metadata field type is CreateInstanceMetadata. The response field type is Instance, if successful.",
               "flatPath": "v1/projects/{projectsId}/instances",
               "httpMethod": "POST",
               "id": "spanner.projects.instances.create",
@@ -192,7 +192,7 @@
               ],
               "parameters": {
                 "parent": {
-                  "description": "Required. The name of the project in which to create the instance. Values\nare of the form `projects/\u003cproject\u003e`.",
+                  "description": "Required. The name of the project in which to create the instance. Values are of the form `projects/`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
@@ -212,7 +212,7 @@
               ]
             },
             "delete": {
-              "description": "Deletes an instance.\n\nImmediately upon completion of the request:\n\n  * Billing ceases for all of the instance's reserved resources.\n\nSoon afterward:\n\n  * The instance and *all of its databases* immediately and\n    irrevocably disappear from the API. All data in the databases\n    is permanently deleted.",
+              "description": "Deletes an instance. Immediately upon completion of the request: * Billing ceases for all of the instance's reserved resources. Soon afterward: * The instance and *all of its databases* immediately and irrevocably disappear from the API. All data in the databases is permanently deleted.",
               "flatPath": "v1/projects/{projectsId}/instances/{instancesId}",
               "httpMethod": "DELETE",
               "id": "spanner.projects.instances.delete",
@@ -221,7 +221,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. The name of the instance to be deleted. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e`",
+                  "description": "Required. The name of the instance to be deleted. Values are of the form `projects//instances/`",
                   "location": "path",
                   "pattern": "^projects/[^/]+/instances/[^/]+$",
                   "required": true,
@@ -247,13 +247,13 @@
               ],
               "parameters": {
                 "fieldMask": {
-                  "description": "If field_mask is present, specifies the subset of Instance fields that\nshould be returned.\nIf absent, all Instance fields are returned.",
+                  "description": "If field_mask is present, specifies the subset of Instance fields that should be returned. If absent, all Instance fields are returned.",
                   "format": "google-fieldmask",
                   "location": "query",
                   "type": "string"
                 },
                 "name": {
-                  "description": "Required. The name of the requested instance. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.",
+                  "description": "Required. The name of the requested instance. Values are of the form `projects//instances/`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/instances/[^/]+$",
                   "required": true,
@@ -270,7 +270,7 @@
               ]
             },
             "getIamPolicy": {
-              "description": "Gets the access control policy for an instance resource. Returns an empty\npolicy if an instance exists but does not have a policy set.\n\nAuthorization requires `spanner.instances.getIamPolicy` on\nresource.",
+              "description": "Gets the access control policy for an instance resource. Returns an empty policy if an instance exists but does not have a policy set. Authorization requires `spanner.instances.getIamPolicy` on resource.",
               "flatPath": "v1/projects/{projectsId}/instances/{instancesId}:getIamPolicy",
               "httpMethod": "POST",
               "id": "spanner.projects.instances.getIamPolicy",
@@ -279,7 +279,7 @@
               ],
               "parameters": {
                 "resource": {
-                  "description": "REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for database resources.",
+                  "description": "REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for database resources.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/instances/[^/]+$",
                   "required": true,
@@ -308,23 +308,23 @@
               ],
               "parameters": {
                 "filter": {
-                  "description": "An expression for filtering the results of the request. Filter rules are\ncase insensitive. The fields eligible for filtering are:\n\n  * `name`\n  * `display_name`\n  * `labels.key` where key is the name of a label\n\nSome examples of using filters are:\n\n  * `name:*` --\u003e The instance has a name.\n  * `name:Howl` --\u003e The instance's name contains the string \"howl\".\n  * `name:HOWL` --\u003e Equivalent to above.\n  * `NAME:howl` --\u003e Equivalent to above.\n  * `labels.env:*` --\u003e The instance has the label \"env\".\n  * `labels.env:dev` --\u003e The instance has the label \"env\" and the value of\n                       the label contains the string \"dev\".\n  * `name:howl labels.env:dev` --\u003e The instance's name contains \"howl\" and\n                                 it has the label \"env\" with its value\n                                 containing \"dev\".",
+                  "description": "An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are: * `name` * `display_name` * `labels.key` where key is the name of a label Some examples of using filters are: * `name:*` --\u003e The instance has a name. * `name:Howl` --\u003e The instance's name contains the string \"howl\". * `name:HOWL` --\u003e Equivalent to above. * `NAME:howl` --\u003e Equivalent to above. * `labels.env:*` --\u003e The instance has the label \"env\". * `labels.env:dev` --\u003e The instance has the label \"env\" and the value of the label contains the string \"dev\". * `name:howl labels.env:dev` --\u003e The instance's name contains \"howl\" and it has the label \"env\" with its value containing \"dev\".",
                   "location": "query",
                   "type": "string"
                 },
                 "pageSize": {
-                  "description": "Number of instances to be returned in the response. If 0 or less, defaults\nto the server's maximum allowed page size.",
+                  "description": "Number of instances to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.",
                   "format": "int32",
                   "location": "query",
                   "type": "integer"
                 },
                 "pageToken": {
-                  "description": "If non-empty, `page_token` should contain a\nnext_page_token from a\nprevious ListInstancesResponse.",
+                  "description": "If non-empty, `page_token` should contain a next_page_token from a previous ListInstancesResponse.",
                   "location": "query",
                   "type": "string"
                 },
                 "parent": {
-                  "description": "Required. The name of the project for which a list of instances is\nrequested. Values are of the form `projects/\u003cproject\u003e`.",
+                  "description": "Required. The name of the project for which a list of instances is requested. Values are of the form `projects/`.",
                   "location": "path",
                   "pattern": "^projects/[^/]+$",
                   "required": true,
@@ -341,7 +341,7 @@
               ]
             },
             "patch": {
-              "description": "Updates an instance, and begins allocating or releasing resources\nas requested. The returned long-running\noperation can be used to track the\nprogress of updating the instance. If the named instance does not\nexist, returns `NOT_FOUND`.\n\nImmediately upon completion of this request:\n\n  * For resource types for which a decrease in the instance's allocation\n    has been requested, billing is based on the newly-requested level.\n\nUntil completion of the returned operation:\n\n  * Cancelling the operation sets its metadata's\n    cancel_time, and begins\n    restoring resources to their pre-request values. The operation\n    is guaranteed to succeed at undoing all resource changes,\n    after which point it terminates with a `CANCELLED` status.\n  * All other attempts to modify the instance are rejected.\n  * Reading the instance via the API continues to give the pre-request\n    resource levels.\n\nUpon completion of the returned operation:\n\n  * Billing begins for all successfully-allocated resources (some types\n    may have lower than the requested levels).\n  * All newly-reserved resources are available for serving the instance's\n    tables.\n  * The instance's new resource levels are readable via the API.\n\nThe returned long-running operation will\nhave a name of the format `\u003cinstance_name\u003e/operations/\u003coperation_id\u003e` and\ncan be used to track the instance modification.  The\nmetadata field type is\nUpdateInstanceMetadata.\nThe response field type is\nInstance, if successful.\n\nAuthorization requires `spanner.instances.update` permission on\nresource name.",
+              "description": "Updates an instance, and begins allocating or releasing resources as requested. The returned long-running operation can be used to track the progress of updating the instance. If the named instance does not exist, returns `NOT_FOUND`. Immediately upon completion of this request: * For resource types for which a decrease in the instance's allocation has been requested, billing is based on the newly-requested level. Until completion of the returned operation: * Cancelling the operation sets its metadata's cancel_time, and begins restoring resources to their pre-request values. The operation is guaranteed to succeed at undoing all resource changes, after which point it terminates with a `CANCELLED` status. * All other attempts to modify the instance are rejected. * Reading the instance via the API continues to give the pre-request resource levels. Upon completion of the returned operation: * Billing begins for all successfully-allocated resources (some types may have lower than the requested levels). * All newly-reserved resources are available for serving the instance's tables. * The instance's new resource levels are readable via the API. The returned long-running operation will have a name of the format `/operations/` and can be used to track the instance modification. The metadata field type is UpdateInstanceMetadata. The response field type is Instance, if successful. Authorization requires `spanner.instances.update` permission on resource name.",
               "flatPath": "v1/projects/{projectsId}/instances/{instancesId}",
               "httpMethod": "PATCH",
               "id": "spanner.projects.instances.patch",
@@ -350,7 +350,7 @@
               ],
               "parameters": {
                 "name": {
-                  "description": "Required. A unique identifier for the instance, which cannot be changed\nafter the instance is created. Values are of the form\n`projects/\u003cproject\u003e/instances/a-z*[a-z0-9]`. The final\nsegment of the name must be between 2 and 64 characters in length.",
+                  "description": "Required. A unique identifier for the instance, which cannot be changed after the instance is created. Values are of the form `projects//instances/a-z*[a-z0-9]`. The final segment of the name must be between 2 and 64 characters in length.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/instances/[^/]+$",
                   "required": true,
@@ -370,7 +370,7 @@
               ]
             },
             "setIamPolicy": {
-              "description": "Sets the access control policy on an instance resource. Replaces any\nexisting policy.\n\nAuthorization requires `spanner.instances.setIamPolicy` on\nresource.",
+              "description": "Sets the access control policy on an instance resource. Replaces any existing policy. Authorization requires `spanner.instances.setIamPolicy` on resource.",
               "flatPath": "v1/projects/{projectsId}/instances/{instancesId}:setIamPolicy",
               "httpMethod": "POST",
               "id": "spanner.projects.instances.setIamPolicy",
@@ -379,7 +379,7 @@
               ],
               "parameters": {
                 "resource": {
-                  "description": "REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for databases resources.",
+                  "description": "REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for databases resources.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/instances/[^/]+$",
                   "required": true,
@@ -399,7 +399,7 @@
               ]
             },
             "testIamPermissions": {
-              "description": "Returns permissions that the caller has on the specified instance resource.\n\nAttempting this RPC on a non-existent Cloud Spanner instance resource will\nresult in a NOT_FOUND error if the user has `spanner.instances.list`\npermission on the containing Google Cloud Project. Otherwise returns an\nempty set of permissions.",
+              "description": "Returns permissions that the caller has on the specified instance resource. Attempting this RPC on a non-existent Cloud Spanner instance resource will result in a NOT_FOUND error if the user has `spanner.instances.list` permission on the containing Google Cloud Project. Otherwise returns an empty set of permissions.",
               "flatPath": "v1/projects/{projectsId}/instances/{instancesId}:testIamPermissions",
               "httpMethod": "POST",
               "id": "spanner.projects.instances.testIamPermissions",
@@ -408,7 +408,7 @@
               ],
               "parameters": {
                 "resource": {
-                  "description": "REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for database resources.",
+                  "description": "REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for database resources.",
                   "location": "path",
                   "pattern": "^projects/[^/]+/instances/[^/]+$",
                   "required": true,
@@ -432,7 +432,7 @@
             "backupOperations": {
               "methods": {
                 "list": {
-                  "description": "Lists the backup long-running operations in\nthe given instance. A backup operation has a name of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/backups/\u003cbackup\u003e/operations/\u003coperation\u003e`.\nThe long-running operation\nmetadata field type\n`metadata.type_url` describes the type of the metadata. Operations returned\ninclude those that have completed/failed/canceled within the last 7 days,\nand pending operations. Operations returned are ordered by\n`operation.metadata.value.progress.start_time` in descending order starting\nfrom the most recently started operation.",
+                  "description": "Lists the backup long-running operations in the given instance. A backup operation has a name of the form `projects//instances//backups//operations/`. The long-running operation metadata field type `metadata.type_url` describes the type of the metadata. Operations returned include those that have completed/failed/canceled within the last 7 days, and pending operations. Operations returned are ordered by `operation.metadata.value.progress.start_time` in descending order starting from the most recently started operation.",
                   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backupOperations",
                   "httpMethod": "GET",
                   "id": "spanner.projects.instances.backupOperations.list",
@@ -441,23 +441,23 @@
                   ],
                   "parameters": {
                     "filter": {
-                      "description": "An expression that filters the list of returned backup operations.\n\nA filter expression consists of a field name, a\ncomparison operator, and a value for filtering.\nThe value must be a string, a number, or a boolean. The comparison operator\nmust be one of: `\u003c`, `\u003e`, `\u003c=`, `\u003e=`, `!=`, `=`, or `:`.\nColon `:` is the contains operator. Filter rules are not case sensitive.\n\nThe following fields in the operation\nare eligible for filtering:\n\n  * `name` - The name of the long-running operation\n  * `done` - False if the operation is in progress, else true.\n  * `metadata.@type` - the type of metadata. For example, the type string\n     for CreateBackupMetadata is\n     `type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata`.\n  * `metadata.\u003cfield_name\u003e` - any field in metadata.value.\n  * `error` - Error associated with the long-running operation.\n  * `response.@type` - the type of response.\n  * `response.\u003cfield_name\u003e` - any field in response.value.\n\nYou can combine multiple expressions by enclosing each expression in\nparentheses. By default, expressions are combined with AND logic, but\nyou can specify AND, OR, and NOT logic explicitly.\n\nHere are a few examples:\n\n  * `done:true` - The operation is complete.\n  * `metadata.database:prod` - The database the backup was taken from has\n     a name containing the string \"prod\".\n  * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \\\n    `(metadata.name:howl) AND` \\\n    `(metadata.progress.start_time \u003c \\\"2018-03-28T14:50:00Z\\\") AND` \\\n    `(error:*)` - Returns operations where:\n    * The operation's metadata type is CreateBackupMetadata.\n    * The backup name contains the string \"howl\".\n    * The operation started before 2018-03-28T14:50:00Z.\n    * The operation resulted in an error.",
+                      "description": "An expression that filters the list of returned backup operations. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be one of: `\u003c`, `\u003e`, `\u003c=`, `\u003e=`, `!=`, `=`, or `:`. Colon `:` is the contains operator. Filter rules are not case sensitive. The following fields in the operation are eligible for filtering: * `name` - The name of the long-running operation * `done` - False if the operation is in progress, else true. * `metadata.@type` - the type of metadata. For example, the type string for CreateBackupMetadata is `type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata`. * `metadata.` - any field in metadata.value. * `error` - Error associated with the long-running operation. * `response.@type` - the type of response. * `response.` - any field in response.value. You can combine multiple expressions by enclosing each expression in parentheses. By default, expressions are combined with AND logic, but you can specify AND, OR, and NOT logic explicitly. Here are a few examples: * `done:true` - The operation is complete. * `metadata.database:prod` - The database the backup was taken from has a name containing the string \"prod\". * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \\ `(metadata.name:howl) AND` \\ `(metadata.progress.start_time \u003c \\\"2018-03-28T14:50:00Z\\\") AND` \\ `(error:*)` - Returns operations where: * The operation's metadata type is CreateBackupMetadata. * The backup name contains the string \"howl\". * The operation started before 2018-03-28T14:50:00Z. * The operation resulted in an error.",
                       "location": "query",
                       "type": "string"
                     },
                     "pageSize": {
-                      "description": "Number of operations to be returned in the response. If 0 or\nless, defaults to the server's maximum allowed page size.",
+                      "description": "Number of operations to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "If non-empty, `page_token` should contain a\nnext_page_token\nfrom a previous ListBackupOperationsResponse to the\nsame `parent` and with the same `filter`.",
+                      "description": "If non-empty, `page_token` should contain a next_page_token from a previous ListBackupOperationsResponse to the same `parent` and with the same `filter`.",
                       "location": "query",
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The instance of the backup operations. Values are of\nthe form `projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.",
+                      "description": "Required. The instance of the backup operations. Values are of the form `projects//instances/`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/instances/[^/]+$",
                       "required": true,
@@ -478,7 +478,7 @@
             "backups": {
               "methods": {
                 "create": {
-                  "description": "Starts creating a new Cloud Spanner Backup.\nThe returned backup long-running operation\nwill have a name of the format\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/backups/\u003cbackup\u003e/operations/\u003coperation_id\u003e`\nand can be used to track creation of the backup. The\nmetadata field type is\nCreateBackupMetadata. The\nresponse field type is\nBackup, if successful. Cancelling the returned operation will stop the\ncreation and delete the backup.\nThere can be only one pending backup creation per database. Backup creation\nof different databases can run concurrently.",
+                  "description": "Starts creating a new Cloud Spanner Backup. The returned backup long-running operation will have a name of the format `projects//instances//backups//operations/` and can be used to track creation of the backup. The metadata field type is CreateBackupMetadata. The response field type is Backup, if successful. Cancelling the returned operation will stop the creation and delete the backup. There can be only one pending backup creation per database. Backup creation of different databases can run concurrently.",
                   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups",
                   "httpMethod": "POST",
                   "id": "spanner.projects.instances.backups.create",
@@ -487,12 +487,12 @@
                   ],
                   "parameters": {
                     "backupId": {
-                      "description": "Required. The id of the backup to be created. The `backup_id` appended to\n`parent` forms the full backup name of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/backups/\u003cbackup_id\u003e`.",
+                      "description": "Required. The id of the backup to be created. The `backup_id` appended to `parent` forms the full backup name of the form `projects//instances//backups/`.",
                       "location": "query",
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The name of the instance in which the backup will be\ncreated. This must be the same instance that contains the database the\nbackup will be created from. The backup will be stored in the\nlocation(s) specified in the instance configuration of this\ninstance. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.",
+                      "description": "Required. The name of the instance in which the backup will be created. This must be the same instance that contains the database the backup will be created from. The backup will be stored in the location(s) specified in the instance configuration of this instance. Values are of the form `projects//instances/`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/instances/[^/]+$",
                       "required": true,
@@ -521,7 +521,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. Name of the backup to delete.\nValues are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/backups/\u003cbackup\u003e`.",
+                      "description": "Required. Name of the backup to delete. Values are of the form `projects//instances//backups/`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/instances/[^/]+/backups/[^/]+$",
                       "required": true,
@@ -547,7 +547,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. Name of the backup.\nValues are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/backups/\u003cbackup\u003e`.",
+                      "description": "Required. Name of the backup. Values are of the form `projects//instances//backups/`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/instances/[^/]+/backups/[^/]+$",
                       "required": true,
@@ -564,7 +564,7 @@
                   ]
                 },
                 "getIamPolicy": {
-                  "description": "Gets the access control policy for a database or backup resource.\nReturns an empty policy if a database or backup exists but does not have a\npolicy set.\n\nAuthorization requires `spanner.databases.getIamPolicy` permission on\nresource.\nFor backups, authorization requires `spanner.backups.getIamPolicy`\npermission on resource.",
+                  "description": "Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource.",
                   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups/{backupsId}:getIamPolicy",
                   "httpMethod": "POST",
                   "id": "spanner.projects.instances.backups.getIamPolicy",
@@ -573,7 +573,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for database resources.",
+                      "description": "REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for database resources.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/instances/[^/]+/backups/[^/]+$",
                       "required": true,
@@ -593,7 +593,7 @@
                   ]
                 },
                 "list": {
-                  "description": "Lists completed and pending backups.\nBackups returned are ordered by `create_time` in descending order,\nstarting from the most recent `create_time`.",
+                  "description": "Lists completed and pending backups. Backups returned are ordered by `create_time` in descending order, starting from the most recent `create_time`.",
                   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups",
                   "httpMethod": "GET",
                   "id": "spanner.projects.instances.backups.list",
@@ -602,23 +602,23 @@
                   ],
                   "parameters": {
                     "filter": {
-                      "description": "An expression that filters the list of returned backups.\n\nA filter expression consists of a field name, a comparison operator, and a\nvalue for filtering.\nThe value must be a string, a number, or a boolean. The comparison operator\nmust be one of: `\u003c`, `\u003e`, `\u003c=`, `\u003e=`, `!=`, `=`, or `:`.\nColon `:` is the contains operator. Filter rules are not case sensitive.\n\nThe following fields in the Backup are eligible for filtering:\n\n  * `name`\n  * `database`\n  * `state`\n  * `create_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)\n  * `expire_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)\n  * `size_bytes`\n\nYou can combine multiple expressions by enclosing each expression in\nparentheses. By default, expressions are combined with AND logic, but\nyou can specify AND, OR, and NOT logic explicitly.\n\nHere are a few examples:\n\n  * `name:Howl` - The backup's name contains the string \"howl\".\n  * `database:prod`\n         - The database's name contains the string \"prod\".\n  * `state:CREATING` - The backup is pending creation.\n  * `state:READY` - The backup is fully created and ready for use.\n  * `(name:howl) AND (create_time \u003c \\\"2018-03-28T14:50:00Z\\\")`\n         - The backup name contains the string \"howl\" and `create_time`\n             of the backup is before 2018-03-28T14:50:00Z.\n  * `expire_time \u003c \\\"2018-03-28T14:50:00Z\\\"`\n         - The backup `expire_time` is before 2018-03-28T14:50:00Z.\n  * `size_bytes \u003e 10000000000` - The backup's size is greater than 10GB",
+                      "description": "An expression that filters the list of returned backups. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be one of: `\u003c`, `\u003e`, `\u003c=`, `\u003e=`, `!=`, `=`, or `:`. Colon `:` is the contains operator. Filter rules are not case sensitive. The following fields in the Backup are eligible for filtering: * `name` * `database` * `state` * `create_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ) * `expire_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ) * `size_bytes` You can combine multiple expressions by enclosing each expression in parentheses. By default, expressions are combined with AND logic, but you can specify AND, OR, and NOT logic explicitly. Here are a few examples: * `name:Howl` - The backup's name contains the string \"howl\". * `database:prod` - The database's name contains the string \"prod\". * `state:CREATING` - The backup is pending creation. * `state:READY` - The backup is fully created and ready for use. * `(name:howl) AND (create_time \u003c \\\"2018-03-28T14:50:00Z\\\")` - The backup name contains the string \"howl\" and `create_time` of the backup is before 2018-03-28T14:50:00Z. * `expire_time \u003c \\\"2018-03-28T14:50:00Z\\\"` - The backup `expire_time` is before 2018-03-28T14:50:00Z. * `size_bytes \u003e 10000000000` - The backup's size is greater than 10GB",
                       "location": "query",
                       "type": "string"
                     },
                     "pageSize": {
-                      "description": "Number of backups to be returned in the response. If 0 or\nless, defaults to the server's maximum allowed page size.",
+                      "description": "Number of backups to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "If non-empty, `page_token` should contain a\nnext_page_token from a\nprevious ListBackupsResponse to the same `parent` and with the same\n`filter`.",
+                      "description": "If non-empty, `page_token` should contain a next_page_token from a previous ListBackupsResponse to the same `parent` and with the same `filter`.",
                       "location": "query",
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The instance to list backups from.  Values are of the\nform `projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.",
+                      "description": "Required. The instance to list backups from. Values are of the form `projects//instances/`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/instances/[^/]+$",
                       "required": true,
@@ -644,14 +644,14 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Output only for the CreateBackup operation.\nRequired for the UpdateBackup operation.\n\nA globally unique identifier for the backup which cannot be\nchanged. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/backups/a-z*[a-z0-9]`\nThe final segment of the name must be between 2 and 60 characters\nin length.\n\nThe backup is stored in the location(s) specified in the instance\nconfiguration of the instance containing the backup, identified\nby the prefix of the backup name of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.",
+                      "description": "Output only for the CreateBackup operation. Required for the UpdateBackup operation. A globally unique identifier for the backup which cannot be changed. Values are of the form `projects//instances//backups/a-z*[a-z0-9]` The final segment of the name must be between 2 and 60 characters in length. The backup is stored in the location(s) specified in the instance configuration of the instance containing the backup, identified by the prefix of the backup name of the form `projects//instances/`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/instances/[^/]+/backups/[^/]+$",
                       "required": true,
                       "type": "string"
                     },
                     "updateMask": {
-                      "description": "Required. A mask specifying which fields (e.g. `expire_time`) in the\nBackup resource should be updated. This mask is relative to the Backup\nresource, not to the request message. The field mask must always be\nspecified; this prevents any future fields from being erased accidentally\nby clients that do not know about them.",
+                      "description": "Required. A mask specifying which fields (e.g. `expire_time`) in the Backup resource should be updated. This mask is relative to the Backup resource, not to the request message. The field mask must always be specified; this prevents any future fields from being erased accidentally by clients that do not know about them.",
                       "format": "google-fieldmask",
                       "location": "query",
                       "type": "string"
@@ -670,7 +670,7 @@
                   ]
                 },
                 "setIamPolicy": {
-                  "description": "Sets the access control policy on a database or backup resource.\nReplaces any existing policy.\n\nAuthorization requires `spanner.databases.setIamPolicy`\npermission on resource.\nFor backups, authorization requires `spanner.backups.setIamPolicy`\npermission on resource.",
+                  "description": "Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource.",
                   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups/{backupsId}:setIamPolicy",
                   "httpMethod": "POST",
                   "id": "spanner.projects.instances.backups.setIamPolicy",
@@ -679,7 +679,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for databases resources.",
+                      "description": "REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for databases resources.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/instances/[^/]+/backups/[^/]+$",
                       "required": true,
@@ -699,7 +699,7 @@
                   ]
                 },
                 "testIamPermissions": {
-                  "description": "Returns permissions that the caller has on the specified database or backup\nresource.\n\nAttempting this RPC on a non-existent Cloud Spanner database will\nresult in a NOT_FOUND error if the user has\n`spanner.databases.list` permission on the containing Cloud\nSpanner instance. Otherwise returns an empty set of permissions.\nCalling this method on a backup that does not exist will\nresult in a NOT_FOUND error if the user has\n`spanner.backups.list` permission on the containing instance.",
+                  "description": "Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance.",
                   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups/{backupsId}:testIamPermissions",
                   "httpMethod": "POST",
                   "id": "spanner.projects.instances.backups.testIamPermissions",
@@ -708,7 +708,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for database resources.",
+                      "description": "REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for database resources.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/instances/[^/]+/backups/[^/]+$",
                       "required": true,
@@ -732,7 +732,7 @@
                 "operations": {
                   "methods": {
                     "cancel": {
-                      "description": "Starts asynchronous cancellation on a long-running operation.  The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed.  If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.  Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
+                      "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
                       "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups/{backupsId}/operations/{operationsId}:cancel",
                       "httpMethod": "POST",
                       "id": "spanner.projects.instances.backups.operations.cancel",
@@ -758,7 +758,7 @@
                       ]
                     },
                     "delete": {
-                      "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.",
+                      "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
                       "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups/{backupsId}/operations/{operationsId}",
                       "httpMethod": "DELETE",
                       "id": "spanner.projects.instances.backups.operations.delete",
@@ -784,7 +784,7 @@
                       ]
                     },
                     "get": {
-                      "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+                      "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
                       "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups/{backupsId}/operations/{operationsId}",
                       "httpMethod": "GET",
                       "id": "spanner.projects.instances.backups.operations.get",
@@ -810,7 +810,7 @@
                       ]
                     },
                     "list": {
-                      "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
+                      "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
                       "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups/{backupsId}/operations",
                       "httpMethod": "GET",
                       "id": "spanner.projects.instances.backups.operations.list",
@@ -858,7 +858,7 @@
             "databaseOperations": {
               "methods": {
                 "list": {
-                  "description": "Lists database longrunning-operations.\nA database operation has a name of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/databases/\u003cdatabase\u003e/operations/\u003coperation\u003e`.\nThe long-running operation\nmetadata field type\n`metadata.type_url` describes the type of the metadata. Operations returned\ninclude those that have completed/failed/canceled within the last 7 days,\nand pending operations.",
+                  "description": "Lists database longrunning-operations. A database operation has a name of the form `projects//instances//databases//operations/`. The long-running operation metadata field type `metadata.type_url` describes the type of the metadata. Operations returned include those that have completed/failed/canceled within the last 7 days, and pending operations.",
                   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databaseOperations",
                   "httpMethod": "GET",
                   "id": "spanner.projects.instances.databaseOperations.list",
@@ -867,23 +867,23 @@
                   ],
                   "parameters": {
                     "filter": {
-                      "description": "An expression that filters the list of returned operations.\n\nA filter expression consists of a field name, a\ncomparison operator, and a value for filtering.\nThe value must be a string, a number, or a boolean. The comparison operator\nmust be one of: `\u003c`, `\u003e`, `\u003c=`, `\u003e=`, `!=`, `=`, or `:`.\nColon `:` is the contains operator. Filter rules are not case sensitive.\n\nThe following fields in the Operation\nare eligible for filtering:\n\n  * `name` - The name of the long-running operation\n  * `done` - False if the operation is in progress, else true.\n  * `metadata.@type` - the type of metadata. For example, the type string\n     for RestoreDatabaseMetadata is\n     `type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata`.\n  * `metadata.\u003cfield_name\u003e` - any field in metadata.value.\n  * `error` - Error associated with the long-running operation.\n  * `response.@type` - the type of response.\n  * `response.\u003cfield_name\u003e` - any field in response.value.\n\nYou can combine multiple expressions by enclosing each expression in\nparentheses. By default, expressions are combined with AND logic. However,\nyou can specify AND, OR, and NOT logic explicitly.\n\nHere are a few examples:\n\n  * `done:true` - The operation is complete.\n  * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND` \\\n    `(metadata.source_type:BACKUP) AND` \\\n    `(metadata.backup_info.backup:backup_howl) AND` \\\n    `(metadata.name:restored_howl) AND` \\\n    `(metadata.progress.start_time \u003c \\\"2018-03-28T14:50:00Z\\\") AND` \\\n    `(error:*)` - Return operations where:\n    * The operation's metadata type is RestoreDatabaseMetadata.\n    * The database is restored from a backup.\n    * The backup name contains \"backup_howl\".\n    * The restored database's name contains \"restored_howl\".\n    * The operation started before 2018-03-28T14:50:00Z.\n    * The operation resulted in an error.",
+                      "description": "An expression that filters the list of returned operations. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be one of: `\u003c`, `\u003e`, `\u003c=`, `\u003e=`, `!=`, `=`, or `:`. Colon `:` is the contains operator. Filter rules are not case sensitive. The following fields in the Operation are eligible for filtering: * `name` - The name of the long-running operation * `done` - False if the operation is in progress, else true. * `metadata.@type` - the type of metadata. For example, the type string for RestoreDatabaseMetadata is `type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata`. * `metadata.` - any field in metadata.value. * `error` - Error associated with the long-running operation. * `response.@type` - the type of response. * `response.` - any field in response.value. You can combine multiple expressions by enclosing each expression in parentheses. By default, expressions are combined with AND logic. However, you can specify AND, OR, and NOT logic explicitly. Here are a few examples: * `done:true` - The operation is complete. * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND` \\ `(metadata.source_type:BACKUP) AND` \\ `(metadata.backup_info.backup:backup_howl) AND` \\ `(metadata.name:restored_howl) AND` \\ `(metadata.progress.start_time \u003c \\\"2018-03-28T14:50:00Z\\\") AND` \\ `(error:*)` - Return operations where: * The operation's metadata type is RestoreDatabaseMetadata. * The database is restored from a backup. * The backup name contains \"backup_howl\". * The restored database's name contains \"restored_howl\". * The operation started before 2018-03-28T14:50:00Z. * The operation resulted in an error.",
                       "location": "query",
                       "type": "string"
                     },
                     "pageSize": {
-                      "description": "Number of operations to be returned in the response. If 0 or\nless, defaults to the server's maximum allowed page size.",
+                      "description": "Number of operations to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "If non-empty, `page_token` should contain a\nnext_page_token\nfrom a previous ListDatabaseOperationsResponse to the\nsame `parent` and with the same `filter`.",
+                      "description": "If non-empty, `page_token` should contain a next_page_token from a previous ListDatabaseOperationsResponse to the same `parent` and with the same `filter`.",
                       "location": "query",
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The instance of the database operations.\nValues are of the form `projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.",
+                      "description": "Required. The instance of the database operations. Values are of the form `projects//instances/`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/instances/[^/]+$",
                       "required": true,
@@ -904,7 +904,7 @@
             "databases": {
               "methods": {
                 "create": {
-                  "description": "Creates a new Cloud Spanner database and starts to prepare it for serving.\nThe returned long-running operation will\nhave a name of the format `\u003cdatabase_name\u003e/operations/\u003coperation_id\u003e` and\ncan be used to track preparation of the database. The\nmetadata field type is\nCreateDatabaseMetadata. The\nresponse field type is\nDatabase, if successful.",
+                  "description": "Creates a new Cloud Spanner database and starts to prepare it for serving. The returned long-running operation will have a name of the format `/operations/` and can be used to track preparation of the database. The metadata field type is CreateDatabaseMetadata. The response field type is Database, if successful.",
                   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases",
                   "httpMethod": "POST",
                   "id": "spanner.projects.instances.databases.create",
@@ -913,7 +913,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Required. The name of the instance that will serve the new database.\nValues are of the form `projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.",
+                      "description": "Required. The name of the instance that will serve the new database. Values are of the form `projects//instances/`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/instances/[^/]+$",
                       "required": true,
@@ -933,7 +933,7 @@
                   ]
                 },
                 "dropDatabase": {
-                  "description": "Drops (aka deletes) a Cloud Spanner database.\nCompleted backups for the database will be retained according to their\n`expire_time`.",
+                  "description": "Drops (aka deletes) a Cloud Spanner database. Completed backups for the database will be retained according to their `expire_time`.",
                   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}",
                   "httpMethod": "DELETE",
                   "id": "spanner.projects.instances.databases.dropDatabase",
@@ -968,7 +968,7 @@
                   ],
                   "parameters": {
                     "name": {
-                      "description": "Required. The name of the requested database. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/databases/\u003cdatabase\u003e`.",
+                      "description": "Required. The name of the requested database. Values are of the form `projects//instances//databases/`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$",
                       "required": true,
@@ -985,7 +985,7 @@
                   ]
                 },
                 "getDdl": {
-                  "description": "Returns the schema of a Cloud Spanner database as a list of formatted\nDDL statements. This method does not show pending schema updates, those may\nbe queried using the Operations API.",
+                  "description": "Returns the schema of a Cloud Spanner database as a list of formatted DDL statements. This method does not show pending schema updates, those may be queried using the Operations API.",
                   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/ddl",
                   "httpMethod": "GET",
                   "id": "spanner.projects.instances.databases.getDdl",
@@ -994,7 +994,7 @@
                   ],
                   "parameters": {
                     "database": {
-                      "description": "Required. The database whose schema we wish to get.\nValues are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/databases/\u003cdatabase\u003e`",
+                      "description": "Required. The database whose schema we wish to get. Values are of the form `projects//instances//databases/`",
                       "location": "path",
                       "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$",
                       "required": true,
@@ -1011,7 +1011,7 @@
                   ]
                 },
                 "getIamPolicy": {
-                  "description": "Gets the access control policy for a database or backup resource.\nReturns an empty policy if a database or backup exists but does not have a\npolicy set.\n\nAuthorization requires `spanner.databases.getIamPolicy` permission on\nresource.\nFor backups, authorization requires `spanner.backups.getIamPolicy`\npermission on resource.",
+                  "description": "Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource.",
                   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}:getIamPolicy",
                   "httpMethod": "POST",
                   "id": "spanner.projects.instances.databases.getIamPolicy",
@@ -1020,7 +1020,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for database resources.",
+                      "description": "REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for database resources.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$",
                       "required": true,
@@ -1049,18 +1049,18 @@
                   ],
                   "parameters": {
                     "pageSize": {
-                      "description": "Number of databases to be returned in the response. If 0 or less,\ndefaults to the server's maximum allowed page size.",
+                      "description": "Number of databases to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.",
                       "format": "int32",
                       "location": "query",
                       "type": "integer"
                     },
                     "pageToken": {
-                      "description": "If non-empty, `page_token` should contain a\nnext_page_token from a\nprevious ListDatabasesResponse.",
+                      "description": "If non-empty, `page_token` should contain a next_page_token from a previous ListDatabasesResponse.",
                       "location": "query",
                       "type": "string"
                     },
                     "parent": {
-                      "description": "Required. The instance whose databases should be listed.\nValues are of the form `projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.",
+                      "description": "Required. The instance whose databases should be listed. Values are of the form `projects//instances/`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/instances/[^/]+$",
                       "required": true,
@@ -1077,7 +1077,7 @@
                   ]
                 },
                 "restore": {
-                  "description": "Create a new database by restoring from a completed backup. The new\ndatabase must be in the same project and in an instance with the same\ninstance configuration as the instance containing\nthe backup. The returned database long-running\noperation has a name of the format\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/databases/\u003cdatabase\u003e/operations/\u003coperation_id\u003e`,\nand can be used to track the progress of the operation, and to cancel it.\nThe metadata field type is\nRestoreDatabaseMetadata.\nThe response type\nis Database, if\nsuccessful. Cancelling the returned operation will stop the restore and\ndelete the database.\nThere can be only one database being restored into an instance at a time.\nOnce the restore operation completes, a new restore operation can be\ninitiated, without waiting for the optimize operation associated with the\nfirst restore to complete.",
+                  "description": "Create a new database by restoring from a completed backup. The new database must be in the same project and in an instance with the same instance configuration as the instance containing the backup. The returned database long-running operation has a name of the format `projects//instances//databases//operations/`, and can be used to track the progress of the operation, and to cancel it. The metadata field type is RestoreDatabaseMetadata. The response type is Database, if successful. Cancelling the returned operation will stop the restore and delete the database. There can be only one database being restored into an instance at a time. Once the restore operation completes, a new restore operation can be initiated, without waiting for the optimize operation associated with the first restore to complete.",
                   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases:restore",
                   "httpMethod": "POST",
                   "id": "spanner.projects.instances.databases.restore",
@@ -1086,7 +1086,7 @@
                   ],
                   "parameters": {
                     "parent": {
-                      "description": "Required. The name of the instance in which to create the\nrestored database. This instance must be in the same project and\nhave the same instance configuration as the instance containing\nthe source backup. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.",
+                      "description": "Required. The name of the instance in which to create the restored database. This instance must be in the same project and have the same instance configuration as the instance containing the source backup. Values are of the form `projects//instances/`.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/instances/[^/]+$",
                       "required": true,
@@ -1106,7 +1106,7 @@
                   ]
                 },
                 "setIamPolicy": {
-                  "description": "Sets the access control policy on a database or backup resource.\nReplaces any existing policy.\n\nAuthorization requires `spanner.databases.setIamPolicy`\npermission on resource.\nFor backups, authorization requires `spanner.backups.setIamPolicy`\npermission on resource.",
+                  "description": "Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource.",
                   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}:setIamPolicy",
                   "httpMethod": "POST",
                   "id": "spanner.projects.instances.databases.setIamPolicy",
@@ -1115,7 +1115,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for databases resources.",
+                      "description": "REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for databases resources.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$",
                       "required": true,
@@ -1135,7 +1135,7 @@
                   ]
                 },
                 "testIamPermissions": {
-                  "description": "Returns permissions that the caller has on the specified database or backup\nresource.\n\nAttempting this RPC on a non-existent Cloud Spanner database will\nresult in a NOT_FOUND error if the user has\n`spanner.databases.list` permission on the containing Cloud\nSpanner instance. Otherwise returns an empty set of permissions.\nCalling this method on a backup that does not exist will\nresult in a NOT_FOUND error if the user has\n`spanner.backups.list` permission on the containing instance.",
+                  "description": "Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance.",
                   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}:testIamPermissions",
                   "httpMethod": "POST",
                   "id": "spanner.projects.instances.databases.testIamPermissions",
@@ -1144,7 +1144,7 @@
                   ],
                   "parameters": {
                     "resource": {
-                      "description": "REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for database resources.",
+                      "description": "REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for database resources.",
                       "location": "path",
                       "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$",
                       "required": true,
@@ -1164,7 +1164,7 @@
                   ]
                 },
                 "updateDdl": {
-                  "description": "Updates the schema of a Cloud Spanner database by\ncreating/altering/dropping tables, columns, indexes, etc. The returned\nlong-running operation will have a name of\nthe format `\u003cdatabase_name\u003e/operations/\u003coperation_id\u003e` and can be used to\ntrack execution of the schema change(s). The\nmetadata field type is\nUpdateDatabaseDdlMetadata.  The operation has no response.",
+                  "description": "Updates the schema of a Cloud Spanner database by creating/altering/dropping tables, columns, indexes, etc. The returned long-running operation will have a name of the format `/operations/` and can be used to track execution of the schema change(s). The metadata field type is UpdateDatabaseDdlMetadata. The operation has no response.",
                   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/ddl",
                   "httpMethod": "PATCH",
                   "id": "spanner.projects.instances.databases.updateDdl",
@@ -1197,7 +1197,7 @@
                 "operations": {
                   "methods": {
                     "cancel": {
-                      "description": "Starts asynchronous cancellation on a long-running operation.  The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed.  If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.  Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
+                      "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
                       "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/operations/{operationsId}:cancel",
                       "httpMethod": "POST",
                       "id": "spanner.projects.instances.databases.operations.cancel",
@@ -1223,7 +1223,7 @@
                       ]
                     },
                     "delete": {
-                      "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.",
+                      "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
                       "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/operations/{operationsId}",
                       "httpMethod": "DELETE",
                       "id": "spanner.projects.instances.databases.operations.delete",
@@ -1249,7 +1249,7 @@
                       ]
                     },
                     "get": {
-                      "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+                      "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
                       "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/operations/{operationsId}",
                       "httpMethod": "GET",
                       "id": "spanner.projects.instances.databases.operations.get",
@@ -1275,7 +1275,7 @@
                       ]
                     },
                     "list": {
-                      "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
+                      "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
                       "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/operations",
                       "httpMethod": "GET",
                       "id": "spanner.projects.instances.databases.operations.list",
@@ -1321,7 +1321,7 @@
                 "sessions": {
                   "methods": {
                     "batchCreate": {
-                      "description": "Creates multiple new sessions.\n\nThis API can be used to initialize a session cache on the clients.\nSee https://goo.gl/TgSFN2 for best practices on session cache management.",
+                      "description": "Creates multiple new sessions. This API can be used to initialize a session cache on the clients. See https://goo.gl/TgSFN2 for best practices on session cache management.",
                       "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions:batchCreate",
                       "httpMethod": "POST",
                       "id": "spanner.projects.instances.databases.sessions.batchCreate",
@@ -1350,7 +1350,7 @@
                       ]
                     },
                     "beginTransaction": {
-                      "description": "Begins a new transaction. This step can often be skipped:\nRead, ExecuteSql and\nCommit can begin a new transaction as a\nside-effect.",
+                      "description": "Begins a new transaction. This step can often be skipped: Read, ExecuteSql and Commit can begin a new transaction as a side-effect.",
                       "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:beginTransaction",
                       "httpMethod": "POST",
                       "id": "spanner.projects.instances.databases.sessions.beginTransaction",
@@ -1379,7 +1379,7 @@
                       ]
                     },
                     "commit": {
-                      "description": "Commits a transaction. The request includes the mutations to be\napplied to rows in the database.\n\n`Commit` might return an `ABORTED` error. This can occur at any time;\ncommonly, the cause is conflicts with concurrent\ntransactions. However, it can also happen for a variety of other\nreasons. If `Commit` returns `ABORTED`, the caller should re-attempt\nthe transaction from the beginning, re-using the same session.\n\nOn very rare occasions, `Commit` might return `UNKNOWN`. This can happen,\nfor example, if the client job experiences a 1+ hour networking failure.\nAt that point, Cloud Spanner has lost track of the transaction outcome and\nwe recommend that you perform another read from the database to see the\nstate of things as they are now.",
+                      "description": "Commits a transaction. The request includes the mutations to be applied to rows in the database. `Commit` might return an `ABORTED` error. This can occur at any time; commonly, the cause is conflicts with concurrent transactions. However, it can also happen for a variety of other reasons. If `Commit` returns `ABORTED`, the caller should re-attempt the transaction from the beginning, re-using the same session. On very rare occasions, `Commit` might return `UNKNOWN`. This can happen, for example, if the client job experiences a 1+ hour networking failure. At that point, Cloud Spanner has lost track of the transaction outcome and we recommend that you perform another read from the database to see the state of things as they are now.",
                       "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:commit",
                       "httpMethod": "POST",
                       "id": "spanner.projects.instances.databases.sessions.commit",
@@ -1408,7 +1408,7 @@
                       ]
                     },
                     "create": {
-                      "description": "Creates a new session. A session can be used to perform\ntransactions that read and/or modify data in a Cloud Spanner database.\nSessions are meant to be reused for many consecutive\ntransactions.\n\nSessions can only execute one transaction at a time. To execute\nmultiple concurrent read-write/write-only transactions, create\nmultiple sessions. Note that standalone reads and queries use a\ntransaction internally, and count toward the one transaction\nlimit.\n\nActive sessions use additional server resources, so it is a good idea to\ndelete idle and unneeded sessions.\nAside from explicit deletes, Cloud Spanner may delete sessions for which no\noperations are sent for more than an hour. If a session is deleted,\nrequests to it return `NOT_FOUND`.\n\nIdle sessions can be kept alive by sending a trivial SQL query\nperiodically, e.g., `\"SELECT 1\"`.",
+                      "description": "Creates a new session. A session can be used to perform transactions that read and/or modify data in a Cloud Spanner database. Sessions are meant to be reused for many consecutive transactions. Sessions can only execute one transaction at a time. To execute multiple concurrent read-write/write-only transactions, create multiple sessions. Note that standalone reads and queries use a transaction internally, and count toward the one transaction limit. Active sessions use additional server resources, so it is a good idea to delete idle and unneeded sessions. Aside from explicit deletes, Cloud Spanner may delete sessions for which no operations are sent for more than an hour. If a session is deleted, requests to it return `NOT_FOUND`. Idle sessions can be kept alive by sending a trivial SQL query periodically, e.g., `\"SELECT 1\"`.",
                       "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions",
                       "httpMethod": "POST",
                       "id": "spanner.projects.instances.databases.sessions.create",
@@ -1437,7 +1437,7 @@
                       ]
                     },
                     "delete": {
-                      "description": "Ends a session, releasing server resources associated with it. This will\nasynchronously trigger cancellation of any operations that are running with\nthis session.",
+                      "description": "Ends a session, releasing server resources associated with it. This will asynchronously trigger cancellation of any operations that are running with this session.",
                       "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}",
                       "httpMethod": "DELETE",
                       "id": "spanner.projects.instances.databases.sessions.delete",
@@ -1463,7 +1463,7 @@
                       ]
                     },
                     "executeBatchDml": {
-                      "description": "Executes a batch of SQL DML statements. This method allows many statements\nto be run with lower latency than submitting them sequentially with\nExecuteSql.\n\nStatements are executed in sequential order. A request can succeed even if\na statement fails. The ExecuteBatchDmlResponse.status field in the\nresponse provides information about the statement that failed. Clients must\ninspect this field to determine whether an error occurred.\n\nExecution stops after the first failed statement; the remaining statements\nare not executed.",
+                      "description": "Executes a batch of SQL DML statements. This method allows many statements to be run with lower latency than submitting them sequentially with ExecuteSql. Statements are executed in sequential order. A request can succeed even if a statement fails. The ExecuteBatchDmlResponse.status field in the response provides information about the statement that failed. Clients must inspect this field to determine whether an error occurred. Execution stops after the first failed statement; the remaining statements are not executed.",
                       "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:executeBatchDml",
                       "httpMethod": "POST",
                       "id": "spanner.projects.instances.databases.sessions.executeBatchDml",
@@ -1492,7 +1492,7 @@
                       ]
                     },
                     "executeSql": {
-                      "description": "Executes an SQL statement, returning all results in a single reply. This\nmethod cannot be used to return a result set larger than 10 MiB;\nif the query yields more data than that, the query fails with\na `FAILED_PRECONDITION` error.\n\nOperations inside read-write transactions might return `ABORTED`. If\nthis occurs, the application should restart the transaction from\nthe beginning. See Transaction for more details.\n\nLarger result sets can be fetched in streaming fashion by calling\nExecuteStreamingSql instead.",
+                      "description": "Executes an SQL statement, returning all results in a single reply. This method cannot be used to return a result set larger than 10 MiB; if the query yields more data than that, the query fails with a `FAILED_PRECONDITION` error. Operations inside read-write transactions might return `ABORTED`. If this occurs, the application should restart the transaction from the beginning. See Transaction for more details. Larger result sets can be fetched in streaming fashion by calling ExecuteStreamingSql instead.",
                       "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:executeSql",
                       "httpMethod": "POST",
                       "id": "spanner.projects.instances.databases.sessions.executeSql",
@@ -1521,7 +1521,7 @@
                       ]
                     },
                     "executeStreamingSql": {
-                      "description": "Like ExecuteSql, except returns the result\nset as a stream. Unlike ExecuteSql, there\nis no limit on the size of the returned result set. However, no\nindividual row in the result set can exceed 100 MiB, and no\ncolumn value can exceed 10 MiB.",
+                      "description": "Like ExecuteSql, except returns the result set as a stream. Unlike ExecuteSql, there is no limit on the size of the returned result set. However, no individual row in the result set can exceed 100 MiB, and no column value can exceed 10 MiB.",
                       "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:executeStreamingSql",
                       "httpMethod": "POST",
                       "id": "spanner.projects.instances.databases.sessions.executeStreamingSql",
@@ -1550,7 +1550,7 @@
                       ]
                     },
                     "get": {
-                      "description": "Gets a session. Returns `NOT_FOUND` if the session does not exist.\nThis is mainly useful for determining whether a session is still\nalive.",
+                      "description": "Gets a session. Returns `NOT_FOUND` if the session does not exist. This is mainly useful for determining whether a session is still alive.",
                       "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}",
                       "httpMethod": "GET",
                       "id": "spanner.projects.instances.databases.sessions.get",
@@ -1592,18 +1592,18 @@
                           "type": "string"
                         },
                         "filter": {
-                          "description": "An expression for filtering the results of the request. Filter rules are\ncase insensitive. The fields eligible for filtering are:\n\n  * `labels.key` where key is the name of a label\n\nSome examples of using filters are:\n\n  * `labels.env:*` --\u003e The session has the label \"env\".\n  * `labels.env:dev` --\u003e The session has the label \"env\" and the value of\n                       the label contains the string \"dev\".",
+                          "description": "An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are: * `labels.key` where key is the name of a label Some examples of using filters are: * `labels.env:*` --\u003e The session has the label \"env\". * `labels.env:dev` --\u003e The session has the label \"env\" and the value of the label contains the string \"dev\".",
                           "location": "query",
                           "type": "string"
                         },
                         "pageSize": {
-                          "description": "Number of sessions to be returned in the response. If 0 or less, defaults\nto the server's maximum allowed page size.",
+                          "description": "Number of sessions to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.",
                           "format": "int32",
                           "location": "query",
                           "type": "integer"
                         },
                         "pageToken": {
-                          "description": "If non-empty, `page_token` should contain a\nnext_page_token from a previous\nListSessionsResponse.",
+                          "description": "If non-empty, `page_token` should contain a next_page_token from a previous ListSessionsResponse.",
                           "location": "query",
                           "type": "string"
                         }
@@ -1618,7 +1618,7 @@
                       ]
                     },
                     "partitionQuery": {
-                      "description": "Creates a set of partition tokens that can be used to execute a query\noperation in parallel.  Each of the returned partition tokens can be used\nby ExecuteStreamingSql to specify a subset\nof the query result to read.  The same session and read-only transaction\nmust be used by the PartitionQueryRequest used to create the\npartition tokens and the ExecuteSqlRequests that use the partition tokens.\n\nPartition tokens become invalid when the session used to create them\nis deleted, is idle for too long, begins a new transaction, or becomes too\nold.  When any of these happen, it is not possible to resume the query, and\nthe whole operation must be restarted from the beginning.",
+                      "description": "Creates a set of partition tokens that can be used to execute a query operation in parallel. Each of the returned partition tokens can be used by ExecuteStreamingSql to specify a subset of the query result to read. The same session and read-only transaction must be used by the PartitionQueryRequest used to create the partition tokens and the ExecuteSqlRequests that use the partition tokens. Partition tokens become invalid when the session used to create them is deleted, is idle for too long, begins a new transaction, or becomes too old. When any of these happen, it is not possible to resume the query, and the whole operation must be restarted from the beginning.",
                       "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:partitionQuery",
                       "httpMethod": "POST",
                       "id": "spanner.projects.instances.databases.sessions.partitionQuery",
@@ -1647,7 +1647,7 @@
                       ]
                     },
                     "partitionRead": {
-                      "description": "Creates a set of partition tokens that can be used to execute a read\noperation in parallel.  Each of the returned partition tokens can be used\nby StreamingRead to specify a subset of the read\nresult to read.  The same session and read-only transaction must be used by\nthe PartitionReadRequest used to create the partition tokens and the\nReadRequests that use the partition tokens.  There are no ordering\nguarantees on rows returned among the returned partition tokens, or even\nwithin each individual StreamingRead call issued with a partition_token.\n\nPartition tokens become invalid when the session used to create them\nis deleted, is idle for too long, begins a new transaction, or becomes too\nold.  When any of these happen, it is not possible to resume the read, and\nthe whole operation must be restarted from the beginning.",
+                      "description": "Creates a set of partition tokens that can be used to execute a read operation in parallel. Each of the returned partition tokens can be used by StreamingRead to specify a subset of the read result to read. The same session and read-only transaction must be used by the PartitionReadRequest used to create the partition tokens and the ReadRequests that use the partition tokens. There are no ordering guarantees on rows returned among the returned partition tokens, or even within each individual StreamingRead call issued with a partition_token. Partition tokens become invalid when the session used to create them is deleted, is idle for too long, begins a new transaction, or becomes too old. When any of these happen, it is not possible to resume the read, and the whole operation must be restarted from the beginning.",
                       "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:partitionRead",
                       "httpMethod": "POST",
                       "id": "spanner.projects.instances.databases.sessions.partitionRead",
@@ -1676,7 +1676,7 @@
                       ]
                     },
                     "read": {
-                      "description": "Reads rows from the database using key lookups and scans, as a\nsimple key/value style alternative to\nExecuteSql.  This method cannot be used to\nreturn a result set larger than 10 MiB; if the read matches more\ndata than that, the read fails with a `FAILED_PRECONDITION`\nerror.\n\nReads inside read-write transactions might return `ABORTED`. If\nthis occurs, the application should restart the transaction from\nthe beginning. See Transaction for more details.\n\nLarger result sets can be yielded in streaming fashion by calling\nStreamingRead instead.",
+                      "description": "Reads rows from the database using key lookups and scans, as a simple key/value style alternative to ExecuteSql. This method cannot be used to return a result set larger than 10 MiB; if the read matches more data than that, the read fails with a `FAILED_PRECONDITION` error. Reads inside read-write transactions might return `ABORTED`. If this occurs, the application should restart the transaction from the beginning. See Transaction for more details. Larger result sets can be yielded in streaming fashion by calling StreamingRead instead.",
                       "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:read",
                       "httpMethod": "POST",
                       "id": "spanner.projects.instances.databases.sessions.read",
@@ -1705,7 +1705,7 @@
                       ]
                     },
                     "rollback": {
-                      "description": "Rolls back a transaction, releasing any locks it holds. It is a good\nidea to call this for any transaction that includes one or more\nRead or ExecuteSql requests and\nultimately decides not to commit.\n\n`Rollback` returns `OK` if it successfully aborts the transaction, the\ntransaction was already aborted, or the transaction is not\nfound. `Rollback` never returns `ABORTED`.",
+                      "description": "Rolls back a transaction, releasing any locks it holds. It is a good idea to call this for any transaction that includes one or more Read or ExecuteSql requests and ultimately decides not to commit. `Rollback` returns `OK` if it successfully aborts the transaction, the transaction was already aborted, or the transaction is not found. `Rollback` never returns `ABORTED`.",
                       "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:rollback",
                       "httpMethod": "POST",
                       "id": "spanner.projects.instances.databases.sessions.rollback",
@@ -1734,7 +1734,7 @@
                       ]
                     },
                     "streamingRead": {
-                      "description": "Like Read, except returns the result set as a\nstream. Unlike Read, there is no limit on the\nsize of the returned result set. However, no individual row in\nthe result set can exceed 100 MiB, and no column value can exceed\n10 MiB.",
+                      "description": "Like Read, except returns the result set as a stream. Unlike Read, there is no limit on the size of the returned result set. However, no individual row in the result set can exceed 100 MiB, and no column value can exceed 10 MiB.",
                       "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:streamingRead",
                       "httpMethod": "POST",
                       "id": "spanner.projects.instances.databases.sessions.streamingRead",
@@ -1769,7 +1769,7 @@
             "operations": {
               "methods": {
                 "cancel": {
-                  "description": "Starts asynchronous cancellation on a long-running operation.  The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed.  If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.  Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
+                  "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
                   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/operations/{operationsId}:cancel",
                   "httpMethod": "POST",
                   "id": "spanner.projects.instances.operations.cancel",
@@ -1795,7 +1795,7 @@
                   ]
                 },
                 "delete": {
-                  "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.",
+                  "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
                   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/operations/{operationsId}",
                   "httpMethod": "DELETE",
                   "id": "spanner.projects.instances.operations.delete",
@@ -1821,7 +1821,7 @@
                   ]
                 },
                 "get": {
-                  "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+                  "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
                   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/operations/{operationsId}",
                   "httpMethod": "GET",
                   "id": "spanner.projects.instances.operations.get",
@@ -1847,7 +1847,7 @@
                   ]
                 },
                 "list": {
-                  "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
+                  "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
                   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/operations",
                   "httpMethod": "GET",
                   "id": "spanner.projects.instances.operations.list",
@@ -1895,7 +1895,7 @@
       }
     }
   },
-  "revision": "20200722",
+  "revision": "20200807",
   "rootUrl": "https://spanner.googleapis.com/",
   "schemas": {
     "Backup": {
@@ -1903,33 +1903,36 @@
       "id": "Backup",
       "properties": {
         "createTime": {
-          "description": "Output only. The backup will contain an externally consistent\ncopy of the database at the timestamp specified by\n`create_time`. `create_time` is approximately the time the\nCreateBackup request is received.",
+          "description": "Output only. The backup will contain an externally consistent copy of the database at the timestamp specified by `create_time`. `create_time` is approximately the time the CreateBackup request is received.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "database": {
-          "description": "Required for the CreateBackup operation.\nName of the database from which this backup was\ncreated. This needs to be in the same instance as the backup.\nValues are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/databases/\u003cdatabase\u003e`.",
+          "description": "Required for the CreateBackup operation. Name of the database from which this backup was created. This needs to be in the same instance as the backup. Values are of the form `projects//instances//databases/`.",
           "type": "string"
         },
         "expireTime": {
-          "description": "Required for the CreateBackup\noperation. The expiration time of the backup, with microseconds\ngranularity that must be at least 6 hours and at most 366 days\nfrom the time the CreateBackup request is processed. Once the `expire_time`\nhas passed, the backup is eligible to be automatically deleted by Cloud\nSpanner to free the resources used by the backup.",
+          "description": "Required for the CreateBackup operation. The expiration time of the backup, with microseconds granularity that must be at least 6 hours and at most 366 days from the time the CreateBackup request is processed. Once the `expire_time` has passed, the backup is eligible to be automatically deleted by Cloud Spanner to free the resources used by the backup.",
           "format": "google-datetime",
           "type": "string"
         },
         "name": {
-          "description": "Output only for the CreateBackup operation.\nRequired for the UpdateBackup operation.\n\nA globally unique identifier for the backup which cannot be\nchanged. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/backups/a-z*[a-z0-9]`\nThe final segment of the name must be between 2 and 60 characters\nin length.\n\nThe backup is stored in the location(s) specified in the instance\nconfiguration of the instance containing the backup, identified\nby the prefix of the backup name of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.",
+          "description": "Output only for the CreateBackup operation. Required for the UpdateBackup operation. A globally unique identifier for the backup which cannot be changed. Values are of the form `projects//instances//backups/a-z*[a-z0-9]` The final segment of the name must be between 2 and 60 characters in length. The backup is stored in the location(s) specified in the instance configuration of the instance containing the backup, identified by the prefix of the backup name of the form `projects//instances/`.",
           "type": "string"
         },
         "referencingDatabases": {
-          "description": "Output only. The names of the restored databases that reference the backup.\nThe database names are of\nthe form `projects/\u003cproject\u003e/instances/\u003cinstance\u003e/databases/\u003cdatabase\u003e`.\nReferencing databases may exist in different instances. The existence of\nany referencing database prevents the backup from being deleted. When a\nrestored database from the backup enters the `READY` state, the reference\nto the backup is removed.",
+          "description": "Output only. The names of the restored databases that reference the backup. The database names are of the form `projects//instances//databases/`. Referencing databases may exist in different instances. The existence of any referencing database prevents the backup from being deleted. When a restored database from the backup enters the `READY` state, the reference to the backup is removed.",
           "items": {
             "type": "string"
           },
+          "readOnly": true,
           "type": "array"
         },
         "sizeBytes": {
           "description": "Output only. Size of the backup in bytes.",
           "format": "int64",
+          "readOnly": true,
           "type": "string"
         },
         "state": {
@@ -1941,9 +1944,10 @@
           ],
           "enumDescriptions": [
             "Not specified.",
-            "The pending backup is still being created. Operations on the\nbackup may fail with `FAILED_PRECONDITION` in this state.",
+            "The pending backup is still being created. Operations on the backup may fail with `FAILED_PRECONDITION` in this state.",
             "The backup is complete and ready for use."
           ],
+          "readOnly": true,
           "type": "string"
         }
       },
@@ -1958,7 +1962,7 @@
           "type": "string"
         },
         "createTime": {
-          "description": "The backup contains an externally consistent copy of `source_database` at\nthe timestamp specified by `create_time`.",
+          "description": "The backup contains an externally consistent copy of `source_database` at the timestamp specified by `create_time`.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -1974,7 +1978,7 @@
       "id": "BatchCreateSessionsRequest",
       "properties": {
         "sessionCount": {
-          "description": "Required. The number of sessions to be created in this batch call.\nThe API may return fewer than the requested number of sessions. If a\nspecific number of sessions are desired, the client can make additional\ncalls to BatchCreateSessions (adjusting\nsession_count as necessary).",
+          "description": "Required. The number of sessions to be created in this batch call. The API may return fewer than the requested number of sessions. If a specific number of sessions are desired, the client can make additional calls to BatchCreateSessions (adjusting session_count as necessary).",
           "format": "int32",
           "type": "integer"
         },
@@ -2016,24 +2020,24 @@
       "properties": {
         "condition": {
           "$ref": "Expr",
-          "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
+          "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the members in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)."
         },
         "members": {
-          "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n   on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n   who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n   account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n   account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n   For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a user that has been recently deleted. For\n   example, `alice@example.com?uid=123456789012345678901`. If the user is\n   recovered, this value reverts to `user:{emailid}` and the recovered user\n   retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n   unique identifier) representing a service account that has been recently\n   deleted. For example,\n   `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n   If the service account is undeleted, this value reverts to\n   `serviceAccount:{emailid}` and the undeleted service account retains the\n   role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n   identifier) representing a Google group that has been recently\n   deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n   the group is recovered, this value reverts to `group:{emailid}` and the\n   recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n   users of that domain. For example, `google.com` or `example.com`.\n\n",
+          "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. ",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "role": {
-          "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
+          "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "ChildLink": {
-      "description": "Metadata associated with a parent-child relationship appearing in a\nPlanNode.",
+      "description": "Metadata associated with a parent-child relationship appearing in a PlanNode.",
       "id": "ChildLink",
       "properties": {
         "childIndex": {
@@ -2042,11 +2046,11 @@
           "type": "integer"
         },
         "type": {
-          "description": "The type of the link. For example, in Hash Joins this could be used to\ndistinguish between the build child and the probe child, or in the case\nof the child being an output variable, to represent the tag associated\nwith the output variable.",
+          "description": "The type of the link. For example, in Hash Joins this could be used to distinguish between the build child and the probe child, or in the case of the child being an output variable, to represent the tag associated with the output variable.",
           "type": "string"
         },
         "variable": {
-          "description": "Only present if the child node is SCALAR and corresponds\nto an output variable of the parent node. The field carries the name of\nthe output variable.\nFor example, a `TableScan` operator that reads rows from a table will\nhave child links to the `SCALAR` nodes representing the output variables\ncreated for each column that is read by the operator. The corresponding\n`variable` fields will be set to the variable names assigned to the\ncolumns.",
+          "description": "Only present if the child node is SCALAR and corresponds to an output variable of the parent node. The field carries the name of the output variable. For example, a `TableScan` operator that reads rows from a table will have child links to the `SCALAR` nodes representing the output variables created for each column that is read by the operator. The corresponding `variable` fields will be set to the variable names assigned to the columns.",
           "type": "string"
         }
       },
@@ -2057,7 +2061,7 @@
       "id": "CommitRequest",
       "properties": {
         "mutations": {
-          "description": "The mutations to be executed when this transaction commits. All\nmutations are applied atomically, in the order they appear in\nthis list.",
+          "description": "The mutations to be executed when this transaction commits. All mutations are applied atomically, in the order they appear in this list.",
           "items": {
             "$ref": "Mutation"
           },
@@ -2065,7 +2069,7 @@
         },
         "singleUseTransaction": {
           "$ref": "TransactionOptions",
-          "description": "Execute mutations in a temporary transaction. Note that unlike\ncommit of a previously-started transaction, commit with a\ntemporary transaction is non-idempotent. That is, if the\n`CommitRequest` is sent to Cloud Spanner more than once (for\ninstance, due to retries in the application, or in the\ntransport library), it is possible that the mutations are\nexecuted more than once. If this is undesirable, use\nBeginTransaction and\nCommit instead."
+          "description": "Execute mutations in a temporary transaction. Note that unlike commit of a previously-started transaction, commit with a temporary transaction is non-idempotent. That is, if the `CommitRequest` is sent to Cloud Spanner more than once (for instance, due to retries in the application, or in the transport library), it is possible that the mutations are executed more than once. If this is undesirable, use BeginTransaction and Commit instead."
         },
         "transactionId": {
           "description": "Commit a previously-started transaction.",
@@ -2088,11 +2092,11 @@
       "type": "object"
     },
     "CreateBackupMetadata": {
-      "description": "Metadata type for the operation returned by\nCreateBackup.",
+      "description": "Metadata type for the operation returned by CreateBackup.",
       "id": "CreateBackupMetadata",
       "properties": {
         "cancelTime": {
-          "description": "The time at which cancellation of this operation was received.\nOperations.CancelOperation\nstarts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not guaranteed.\nClients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
+          "description": "The time at which cancellation of this operation was received. Operations.CancelOperation starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. 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`.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -2106,13 +2110,13 @@
         },
         "progress": {
           "$ref": "OperationProgress",
-          "description": "The progress of the\nCreateBackup operation."
+          "description": "The progress of the CreateBackup operation."
         }
       },
       "type": "object"
     },
     "CreateDatabaseMetadata": {
-      "description": "Metadata type for the operation returned by\nCreateDatabase.",
+      "description": "Metadata type for the operation returned by CreateDatabase.",
       "id": "CreateDatabaseMetadata",
       "properties": {
         "database": {
@@ -2127,11 +2131,11 @@
       "id": "CreateDatabaseRequest",
       "properties": {
         "createStatement": {
-          "description": "Required. A `CREATE DATABASE` statement, which specifies the ID of the\nnew database.  The database ID must conform to the regular expression\n`a-z*[a-z0-9]` and be between 2 and 30 characters in length.\nIf the database ID is a reserved word or if it contains a hyphen, the\ndatabase ID must be enclosed in backticks (`` ` ``).",
+          "description": "Required. A `CREATE DATABASE` statement, which specifies the ID of the new database. The database ID must conform to the regular expression `a-z*[a-z0-9]` and be between 2 and 30 characters in length. If the database ID is a reserved word or if it contains a hyphen, the database ID must be enclosed in backticks (`` ` ``).",
           "type": "string"
         },
         "extraStatements": {
-          "description": "Optional. A list of DDL statements to run inside the newly created\ndatabase. Statements can create tables, indexes, etc. These\nstatements execute atomically with the creation of the database:\nif there is an error in any statement, the database is not created.",
+          "description": "Optional. A list of DDL statements to run inside the newly created database. Statements can create tables, indexes, etc. These statements execute atomically with the creation of the database: if there is an error in any statement, the database is not created.",
           "items": {
             "type": "string"
           },
@@ -2141,11 +2145,11 @@
       "type": "object"
     },
     "CreateInstanceMetadata": {
-      "description": "Metadata type for the operation returned by\nCreateInstance.",
+      "description": "Metadata type for the operation returned by CreateInstance.",
       "id": "CreateInstanceMetadata",
       "properties": {
         "cancelTime": {
-          "description": "The time at which this operation was cancelled. If set, this operation is\nin the process of undoing itself (which is guaranteed to succeed) and\ncannot be cancelled again.",
+          "description": "The time at which this operation was cancelled. If set, this operation is in the process of undoing itself (which is guaranteed to succeed) and cannot be cancelled again.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -2159,7 +2163,7 @@
           "description": "The instance being created."
         },
         "startTime": {
-          "description": "The time at which the\nCreateInstance request was\nreceived.",
+          "description": "The time at which the CreateInstance request was received.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -2172,10 +2176,10 @@
       "properties": {
         "instance": {
           "$ref": "Instance",
-          "description": "Required. The instance to create.  The name may be omitted, but if\nspecified must be `\u003cparent\u003e/instances/\u003cinstance_id\u003e`."
+          "description": "Required. The instance to create. The name may be omitted, but if specified must be `/instances/`."
         },
         "instanceId": {
-          "description": "Required. The ID of the instance to create.  Valid identifiers are of the\nform `a-z*[a-z0-9]` and must be between 2 and 64 characters in\nlength.",
+          "description": "Required. The ID of the instance to create. Valid identifiers are of the form `a-z*[a-z0-9]` and must be between 2 and 64 characters in length.",
           "type": "string"
         }
       },
@@ -2199,15 +2203,17 @@
         "createTime": {
           "description": "Output only. If exists, the time at which the database creation started.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "name": {
-          "description": "Required. The name of the database. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/databases/\u003cdatabase\u003e`,\nwhere `\u003cdatabase\u003e` is as specified in the `CREATE DATABASE`\nstatement. This name can be passed to other API methods to\nidentify the database.",
+          "description": "Required. The name of the database. Values are of the form `projects//instances//databases/`, where `` is as specified in the `CREATE DATABASE` statement. This name can be passed to other API methods to identify the database.",
           "type": "string"
         },
         "restoreInfo": {
           "$ref": "RestoreInfo",
-          "description": "Output only. Applicable only for restored databases. Contains information\nabout the restore source."
+          "description": "Output only. Applicable only for restored databases. Contains information about the restore source.",
+          "readOnly": true
         },
         "state": {
           "description": "Output only. The current database state.",
@@ -2219,10 +2225,11 @@
           ],
           "enumDescriptions": [
             "Not specified.",
-            "The database is still being created. Operations on the database may fail\nwith `FAILED_PRECONDITION` in this state.",
+            "The database is still being created. Operations on the database may fail with `FAILED_PRECONDITION` in this state.",
             "The database is fully created and ready for use.",
-            "The database is fully created and ready for use, but is still\nbeing optimized for performance and cannot handle full load.\n\nIn this state, the database still references the backup\nit was restore from, preventing the backup\nfrom being deleted. When optimizations are complete, the full performance\nof the database will be restored, and the database will transition to\n`READY` state."
+            "The database is fully created and ready for use, but is still being optimized for performance and cannot handle full load. In this state, the database still references the backup it was restore from, preventing the backup from being deleted. When optimizations are complete, the full performance of the database will be restored, and the database will transition to `READY` state."
           ],
+          "readOnly": true,
           "type": "string"
         }
       },
@@ -2234,7 +2241,7 @@
       "properties": {
         "keySet": {
           "$ref": "KeySet",
-          "description": "Required. The primary keys of the rows within table to delete.  The\nprimary keys must be specified in the order in which they appear in the\n`PRIMARY KEY()` clause of the table's equivalent DDL statement (the DDL\nstatement used to create the table).\nDelete is idempotent. The transaction will succeed even if some or all\nrows do not exist."
+          "description": "Required. The primary keys of the rows within table to delete. The primary keys must be specified in the order in which they appear in the `PRIMARY KEY()` clause of the table's equivalent DDL statement (the DDL statement used to create the table). Delete is idempotent. The transaction will succeed even if some or all rows do not exist."
         },
         "table": {
           "description": "Required. The table whose rows will be deleted.",
@@ -2244,7 +2251,7 @@
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
@@ -2254,12 +2261,12 @@
       "id": "ExecuteBatchDmlRequest",
       "properties": {
         "seqno": {
-          "description": "Required. A per-transaction sequence number used to identify this request. This field\nmakes each request idempotent such that if the request is received multiple\ntimes, at most one will succeed.\n\nThe sequence number must be monotonically increasing within the\ntransaction. If a request arrives for the first time with an out-of-order\nsequence number, the transaction may be aborted. Replays of previously\nhandled requests will yield the same response as the first execution.",
+          "description": "Required. A per-transaction sequence number used to identify this request. This field makes each request idempotent such that if the request is received multiple times, at most one will succeed. The sequence number must be monotonically increasing within the transaction. If a request arrives for the first time with an out-of-order sequence number, the transaction may be aborted. Replays of previously handled requests will yield the same response as the first execution.",
           "format": "int64",
           "type": "string"
         },
         "statements": {
-          "description": "Required. The list of statements to execute in this batch. Statements are executed\nserially, such that the effects of statement `i` are visible to statement\n`i+1`. Each statement must be a DML statement. Execution stops at the\nfirst failed statement; the remaining statements are not executed.\n\nCallers must provide at least one statement.",
+          "description": "Required. The list of statements to execute in this batch. Statements are executed serially, such that the effects of statement `i` are visible to statement `i+1`. Each statement must be a DML statement. Execution stops at the first failed statement; the remaining statements are not executed. Callers must provide at least one statement.",
           "items": {
             "$ref": "Statement"
           },
@@ -2267,17 +2274,17 @@
         },
         "transaction": {
           "$ref": "TransactionSelector",
-          "description": "Required. The transaction to use. Must be a read-write transaction.\n\nTo protect against replays, single-use transactions are not supported. The\ncaller must either supply an existing transaction ID or begin a new\ntransaction."
+          "description": "Required. The transaction to use. Must be a read-write transaction. To protect against replays, single-use transactions are not supported. The caller must either supply an existing transaction ID or begin a new transaction."
         }
       },
       "type": "object"
     },
     "ExecuteBatchDmlResponse": {
-      "description": "The response for ExecuteBatchDml. Contains a list\nof ResultSet messages, one for each DML statement that has successfully\nexecuted, in the same order as the statements in the request. If a statement\nfails, the status in the response body identifies the cause of the failure.\n\nTo check for DML statements that failed, use the following approach:\n\n1. Check the status in the response message. The google.rpc.Code enum\n   value `OK` indicates that all statements were executed successfully.\n2. If the status was not `OK`, check the number of result sets in the\n   response. If the response contains `N` ResultSet messages, then\n   statement `N+1` in the request failed.\n\nExample 1:\n\n* Request: 5 DML statements, all executed successfully.\n* Response: 5 ResultSet messages, with the status `OK`.\n\nExample 2:\n\n* Request: 5 DML statements. The third statement has a syntax error.\n* Response: 2 ResultSet messages, and a syntax error (`INVALID_ARGUMENT`)\n  status. The number of ResultSet messages indicates that the third\n  statement failed, and the fourth and fifth statements were not executed.",
+      "description": "The response for ExecuteBatchDml. Contains a list of ResultSet messages, one for each DML statement that has successfully executed, in the same order as the statements in the request. If a statement fails, the status in the response body identifies the cause of the failure. To check for DML statements that failed, use the following approach: 1. Check the status in the response message. The google.rpc.Code enum value `OK` indicates that all statements were executed successfully. 2. If the status was not `OK`, check the number of result sets in the response. If the response contains `N` ResultSet messages, then statement `N+1` in the request failed. Example 1: * Request: 5 DML statements, all executed successfully. * Response: 5 ResultSet messages, with the status `OK`. Example 2: * Request: 5 DML statements. The third statement has a syntax error. * Response: 2 ResultSet messages, and a syntax error (`INVALID_ARGUMENT`) status. The number of ResultSet messages indicates that the third statement failed, and the fourth and fifth statements were not executed.",
       "id": "ExecuteBatchDmlResponse",
       "properties": {
         "resultSets": {
-          "description": "One ResultSet for each statement in the request that ran successfully,\nin the same order as the statements in the request. Each ResultSet does\nnot contain any rows. The ResultSetStats in each ResultSet contain\nthe number of rows modified by the statement.\n\nOnly the first ResultSet in the response contains valid\nResultSetMetadata.",
+          "description": "One ResultSet for each statement in the request that ran successfully, in the same order as the statements in the request. Each ResultSet does not contain any rows. The ResultSetStats in each ResultSet contain the number of rows modified by the statement. Only the first ResultSet in the response contains valid ResultSetMetadata.",
           "items": {
             "$ref": "ResultSet"
           },
@@ -2285,20 +2292,20 @@
         },
         "status": {
           "$ref": "Status",
-          "description": "If all DML statements are executed successfully, the status is `OK`.\nOtherwise, the error status of the first failed statement."
+          "description": "If all DML statements are executed successfully, the status is `OK`. Otherwise, the error status of the first failed statement."
         }
       },
       "type": "object"
     },
     "ExecuteSqlRequest": {
-      "description": "The request for ExecuteSql and\nExecuteStreamingSql.",
+      "description": "The request for ExecuteSql and ExecuteStreamingSql.",
       "id": "ExecuteSqlRequest",
       "properties": {
         "paramTypes": {
           "additionalProperties": {
             "$ref": "Type"
           },
-          "description": "It is not always possible for Cloud Spanner to infer the right SQL type\nfrom a JSON value.  For example, values of type `BYTES` and values\nof type `STRING` both appear in params as JSON strings.\n\nIn these cases, `param_types` can be used to specify the exact\nSQL type for some or all of the SQL statement parameters. See the\ndefinition of Type for more information\nabout SQL types.",
+          "description": "It is not always possible for Cloud Spanner to infer the right SQL type from a JSON value. For example, values of type `BYTES` and values of type `STRING` both appear in params as JSON strings. In these cases, `param_types` can be used to specify the exact SQL type for some or all of the SQL statement parameters. See the definition of Type for more information about SQL types.",
           "type": "object"
         },
         "params": {
@@ -2306,16 +2313,16 @@
             "description": "Properties of the object.",
             "type": "any"
           },
-          "description": "Parameter names and values that bind to placeholders in the SQL string.\n\nA parameter placeholder consists of the `@` character followed by the\nparameter name (for example, `@firstName`). Parameter names must conform\nto the naming requirements of identifiers as specified at\nhttps://cloud.google.com/spanner/docs/lexical#identifiers.\n\nParameters can appear anywhere that a literal value is expected.  The same\nparameter name can be used more than once, for example:\n\n`\"WHERE id \u003e @msg_id AND id \u003c @msg_id + 100\"`\n\nIt is an error to execute a SQL statement with unbound parameters.",
+          "description": "Parameter names and values that bind to placeholders in the SQL string. A parameter placeholder consists of the `@` character followed by the parameter name (for example, `@firstName`). Parameter names must conform to the naming requirements of identifiers as specified at https://cloud.google.com/spanner/docs/lexical#identifiers. Parameters can appear anywhere that a literal value is expected. The same parameter name can be used more than once, for example: `\"WHERE id \u003e @msg_id AND id \u003c @msg_id + 100\"` It is an error to execute a SQL statement with unbound parameters.",
           "type": "object"
         },
         "partitionToken": {
-          "description": "If present, results will be restricted to the specified partition\npreviously created using PartitionQuery().  There must be an exact\nmatch for the values of fields common to this message and the\nPartitionQueryRequest message used to create this partition_token.",
+          "description": "If present, results will be restricted to the specified partition previously created using PartitionQuery(). There must be an exact match for the values of fields common to this message and the PartitionQueryRequest message used to create this partition_token.",
           "format": "byte",
           "type": "string"
         },
         "queryMode": {
-          "description": "Used to control the amount of debugging information returned in\nResultSetStats. If partition_token is set, query_mode can only\nbe set to QueryMode.NORMAL.",
+          "description": "Used to control the amount of debugging information returned in ResultSetStats. If partition_token is set, query_mode can only be set to QueryMode.NORMAL.",
           "enum": [
             "NORMAL",
             "PLAN",
@@ -2323,8 +2330,8 @@
           ],
           "enumDescriptions": [
             "The default mode. Only the statement results are returned.",
-            "This mode returns only the query plan, without any results or\nexecution statistics information.",
-            "This mode returns both the query plan and the execution statistics along\nwith the results."
+            "This mode returns only the query plan, without any results or execution statistics information.",
+            "This mode returns both the query plan and the execution statistics along with the results."
           ],
           "type": "string"
         },
@@ -2333,12 +2340,12 @@
           "description": "Query optimizer configuration to use for the given query."
         },
         "resumeToken": {
-          "description": "If this request is resuming a previously interrupted SQL statement\nexecution, `resume_token` should be copied from the last\nPartialResultSet yielded before the interruption. Doing this\nenables the new SQL statement execution to resume where the last one left\noff. The rest of the request parameters must exactly match the\nrequest that yielded this token.",
+          "description": "If this request is resuming a previously interrupted SQL statement execution, `resume_token` should be copied from the last PartialResultSet yielded before the interruption. Doing this enables the new SQL statement execution to resume where the last one left off. The rest of the request parameters must exactly match the request that yielded this token.",
           "format": "byte",
           "type": "string"
         },
         "seqno": {
-          "description": "A per-transaction sequence number used to identify this request. This field\nmakes each request idempotent such that if the request is received multiple\ntimes, at most one will succeed.\n\nThe sequence number must be monotonically increasing within the\ntransaction. If a request arrives for the first time with an out-of-order\nsequence number, the transaction may be aborted. Replays of previously\nhandled requests will yield the same response as the first execution.\n\nRequired for DML statements. Ignored for queries.",
+          "description": "A per-transaction sequence number used to identify this request. This field makes each request idempotent such that if the request is received multiple times, at most one will succeed. The sequence number must be monotonically increasing within the transaction. If a request arrives for the first time with an out-of-order sequence number, the transaction may be aborted. Replays of previously handled requests will yield the same response as the first execution. Required for DML statements. Ignored for queries.",
           "format": "int64",
           "type": "string"
         },
@@ -2348,29 +2355,29 @@
         },
         "transaction": {
           "$ref": "TransactionSelector",
-          "description": "The transaction to use.\n\nFor queries, if none is provided, the default is a temporary read-only\ntransaction with strong concurrency.\n\nStandard DML statements require a read-write transaction. To protect\nagainst replays, single-use transactions are not supported.  The caller\nmust either supply an existing transaction ID or begin a new transaction.\n\nPartitioned DML requires an existing Partitioned DML transaction ID."
+          "description": "The transaction to use. For queries, if none is provided, the default is a temporary read-only transaction with strong concurrency. Standard DML statements require a read-write transaction. To protect against replays, single-use transactions are not supported. The caller must either supply an existing transaction ID or begin a new transaction. Partitioned DML requires an existing Partitioned DML transaction ID."
         }
       },
       "type": "object"
     },
     "Expr": {
-      "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n    title: \"Summary size limit\"\n    description: \"Determines if a summary is less than 100 chars\"\n    expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality):\n\n    title: \"Requestor is owner\"\n    description: \"Determines if requestor is the document owner\"\n    expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n    title: \"Public documents\"\n    description: \"Determine whether the document should be publicly visible\"\n    expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n    title: \"Notification string\"\n    description: \"Create a notification string with a timestamp.\"\n    expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.",
+      "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.",
       "id": "Expr",
       "properties": {
         "description": {
-          "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.",
+          "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.",
           "type": "string"
         },
         "expression": {
-          "description": "Textual representation of an expression in Common Expression Language\nsyntax.",
+          "description": "Textual representation of an expression in Common Expression Language syntax.",
           "type": "string"
         },
         "location": {
-          "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.",
+          "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.",
           "type": "string"
         },
         "title": {
-          "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.",
+          "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.",
           "type": "string"
         }
       },
@@ -2381,7 +2388,7 @@
       "id": "Field",
       "properties": {
         "name": {
-          "description": "The name of the field. For reads, this is the column name. For\nSQL queries, it is the column alias (e.g., `\"Word\"` in the\nquery `\"SELECT 'hello' AS Word\"`), or the column name (e.g.,\n`\"ColName\"` in the query `\"SELECT ColName FROM Table\"`). Some\ncolumns might have an empty name (e.g., !\"SELECT\nUPPER(ColName)\"`). Note that a query result can contain\nmultiple fields with the same name.",
+          "description": "The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `\"Word\"` in the query `\"SELECT 'hello' AS Word\"`), or the column name (e.g., `\"ColName\"` in the query `\"SELECT ColName FROM Table\"`). Some columns might have an empty name (e.g., !\"SELECT UPPER(ColName)\"`). Note that a query result can contain multiple fields with the same name.",
           "type": "string"
         },
         "type": {
@@ -2396,7 +2403,7 @@
       "id": "GetDatabaseDdlResponse",
       "properties": {
         "statements": {
-          "description": "A list of formatted DDL statements defining the schema of the database\nspecified in the request.",
+          "description": "A list of formatted DDL statements defining the schema of the database specified in the request.",
           "items": {
             "type": "string"
           },
@@ -2411,7 +2418,7 @@
       "properties": {
         "options": {
           "$ref": "GetPolicyOptions",
-          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`."
+          "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`."
         }
       },
       "type": "object"
@@ -2421,7 +2428,7 @@
       "id": "GetPolicyOptions",
       "properties": {
         "requestedPolicyVersion": {
-          "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Optional. The policy format version to be returned. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional bindings must specify version 3. Policies without any conditional bindings may specify any valid value or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -2433,11 +2440,11 @@
       "id": "Instance",
       "properties": {
         "config": {
-          "description": "Required. The name of the instance's configuration. Values are of the form\n`projects/\u003cproject\u003e/instanceConfigs/\u003cconfiguration\u003e`. See\nalso InstanceConfig and\nListInstanceConfigs.",
+          "description": "Required. The name of the instance's configuration. Values are of the form `projects//instanceConfigs/`. See also InstanceConfig and ListInstanceConfigs.",
           "type": "string"
         },
         "displayName": {
-          "description": "Required. The descriptive name for this instance as it appears in UIs.\nMust be unique per project and between 4 and 30 characters in length.",
+          "description": "Required. The descriptive name for this instance as it appears in UIs. Must be unique per project and between 4 and 30 characters in length.",
           "type": "string"
         },
         "endpointUris": {
@@ -2451,20 +2458,20 @@
           "additionalProperties": {
             "type": "string"
           },
-          "description": "Cloud Labels are a flexible and lightweight mechanism for organizing cloud\nresources into groups that reflect a customer's organizational needs and\ndeployment strategies. Cloud Labels can be used to filter collections of\nresources. They can be used to control how resource metrics are aggregated.\nAnd they can be used as arguments to policy management rules (e.g. route,\nfirewall, load balancing, etc.).\n\n * Label keys must be between 1 and 63 characters long and must conform to\n   the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.\n * Label values must be between 0 and 63 characters long and must conform\n   to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.\n * No more than 64 labels can be associated with a given resource.\n\nSee https://goo.gl/xmQnxf for more information on and examples of labels.\n\nIf you plan to use labels in your own code, please note that additional\ncharacters may be allowed in the future. And so you are advised to use an\ninternal label representation, such as JSON, which doesn't rely upon\nspecific characters being disallowed.  For example, representing labels\nas the string:  name + \"_\" + value  would prove problematic if we were to\nallow \"_\" in a future release.",
+          "description": "Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. And so you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + \"_\" + value would prove problematic if we were to allow \"_\" in a future release.",
           "type": "object"
         },
         "name": {
-          "description": "Required. A unique identifier for the instance, which cannot be changed\nafter the instance is created. Values are of the form\n`projects/\u003cproject\u003e/instances/a-z*[a-z0-9]`. The final\nsegment of the name must be between 2 and 64 characters in length.",
+          "description": "Required. A unique identifier for the instance, which cannot be changed after the instance is created. Values are of the form `projects//instances/a-z*[a-z0-9]`. The final segment of the name must be between 2 and 64 characters in length.",
           "type": "string"
         },
         "nodeCount": {
-          "description": "The number of nodes allocated to this instance. This\nmay be zero in API responses for instances that are not yet in state\n`READY`.\n\nSee [the\ndocumentation](https://cloud.google.com/spanner/docs/instances#node_count)\nfor more information about nodes.",
+          "description": "The number of nodes allocated to this instance. This may be zero in API responses for instances that are not yet in state `READY`. See [the documentation](https://cloud.google.com/spanner/docs/instances#node_count) for more information about nodes.",
           "format": "int32",
           "type": "integer"
         },
         "state": {
-          "description": "Output only. The current instance state. For\nCreateInstance, the state must be\neither omitted or set to `CREATING`. For\nUpdateInstance, the state must be\neither omitted or set to `READY`.",
+          "description": "Output only. The current instance state. For CreateInstance, the state must be either omitted or set to `CREATING`. For UpdateInstance, the state must be either omitted or set to `READY`.",
           "enum": [
             "STATE_UNSPECIFIED",
             "CREATING",
@@ -2472,16 +2479,17 @@
           ],
           "enumDescriptions": [
             "Not specified.",
-            "The instance is still being created. Resources may not be\navailable yet, and operations such as database creation may not\nwork.",
-            "The instance is fully created and ready to do work such as\ncreating databases."
+            "The instance is still being created. Resources may not be available yet, and operations such as database creation may not work.",
+            "The instance is fully created and ready to do work such as creating databases."
           ],
+          "readOnly": true,
           "type": "string"
         }
       },
       "type": "object"
     },
     "InstanceConfig": {
-      "description": "A possible configuration for a Cloud Spanner instance. Configurations\ndefine the geographic placement of nodes and their replication.",
+      "description": "A possible configuration for a Cloud Spanner instance. Configurations define the geographic placement of nodes and their replication.",
       "id": "InstanceConfig",
       "properties": {
         "displayName": {
@@ -2489,11 +2497,11 @@
           "type": "string"
         },
         "name": {
-          "description": "A unique identifier for the instance configuration.  Values\nare of the form\n`projects/\u003cproject\u003e/instanceConfigs/a-z*`",
+          "description": "A unique identifier for the instance configuration. Values are of the form `projects//instanceConfigs/a-z*`",
           "type": "string"
         },
         "replicas": {
-          "description": "The geographic placement of nodes in this instance configuration and their\nreplication properties.",
+          "description": "The geographic placement of nodes in this instance configuration and their replication properties.",
           "items": {
             "$ref": "ReplicaInfo"
           },
@@ -2503,32 +2511,32 @@
       "type": "object"
     },
     "KeyRange": {
-      "description": "KeyRange represents a range of rows in a table or index.\n\nA range has a start key and an end key. These keys can be open or\nclosed, indicating if the range includes rows with that key.\n\nKeys are represented by lists, where the ith value in the list\ncorresponds to the ith component of the table or index primary key.\nIndividual values are encoded as described\nhere.\n\nFor example, consider the following table definition:\n\n    CREATE TABLE UserEvents (\n      UserName STRING(MAX),\n      EventDate STRING(10)\n    ) PRIMARY KEY(UserName, EventDate);\n\nThe following keys name rows in this table:\n\n    \"Bob\", \"2014-09-23\"\n\nSince the `UserEvents` table's `PRIMARY KEY` clause names two\ncolumns, each `UserEvents` key has two elements; the first is the\n`UserName`, and the second is the `EventDate`.\n\nKey ranges with multiple components are interpreted\nlexicographically by component using the table or index key's declared\nsort order. For example, the following range returns all events for\nuser `\"Bob\"` that occurred in the year 2015:\n\n    \"start_closed\": [\"Bob\", \"2015-01-01\"]\n    \"end_closed\": [\"Bob\", \"2015-12-31\"]\n\nStart and end keys can omit trailing key components. This affects the\ninclusion and exclusion of rows that exactly match the provided key\ncomponents: if the key is closed, then rows that exactly match the\nprovided components are included; if the key is open, then rows\nthat exactly match are not included.\n\nFor example, the following range includes all events for `\"Bob\"` that\noccurred during and after the year 2000:\n\n    \"start_closed\": [\"Bob\", \"2000-01-01\"]\n    \"end_closed\": [\"Bob\"]\n\nThe next example retrieves all events for `\"Bob\"`:\n\n    \"start_closed\": [\"Bob\"]\n    \"end_closed\": [\"Bob\"]\n\nTo retrieve events before the year 2000:\n\n    \"start_closed\": [\"Bob\"]\n    \"end_open\": [\"Bob\", \"2000-01-01\"]\n\nThe following range includes all rows in the table:\n\n    \"start_closed\": []\n    \"end_closed\": []\n\nThis range returns all users whose `UserName` begins with any\ncharacter from A to C:\n\n    \"start_closed\": [\"A\"]\n    \"end_open\": [\"D\"]\n\nThis range returns all users whose `UserName` begins with B:\n\n    \"start_closed\": [\"B\"]\n    \"end_open\": [\"C\"]\n\nKey ranges honor column sort order. For example, suppose a table is\ndefined as follows:\n\n    CREATE TABLE DescendingSortedTable {\n      Key INT64,\n      ...\n    ) PRIMARY KEY(Key DESC);\n\nThe following range retrieves all rows with key values between 1\nand 100 inclusive:\n\n    \"start_closed\": [\"100\"]\n    \"end_closed\": [\"1\"]\n\nNote that 100 is passed as the start, and 1 is passed as the end,\nbecause `Key` is a descending column in the schema.",
+      "description": "KeyRange represents a range of rows in a table or index. A range has a start key and an end key. These keys can be open or closed, indicating if the range includes rows with that key. Keys are represented by lists, where the ith value in the list corresponds to the ith component of the table or index primary key. Individual values are encoded as described here. For example, consider the following table definition: CREATE TABLE UserEvents ( UserName STRING(MAX), EventDate STRING(10) ) PRIMARY KEY(UserName, EventDate); The following keys name rows in this table: \"Bob\", \"2014-09-23\" Since the `UserEvents` table's `PRIMARY KEY` clause names two columns, each `UserEvents` key has two elements; the first is the `UserName`, and the second is the `EventDate`. Key ranges with multiple components are interpreted lexicographically by component using the table or index key's declared sort order. For example, the following range returns all events for user `\"Bob\"` that occurred in the year 2015: \"start_closed\": [\"Bob\", \"2015-01-01\"] \"end_closed\": [\"Bob\", \"2015-12-31\"] Start and end keys can omit trailing key components. This affects the inclusion and exclusion of rows that exactly match the provided key components: if the key is closed, then rows that exactly match the provided components are included; if the key is open, then rows that exactly match are not included. For example, the following range includes all events for `\"Bob\"` that occurred during and after the year 2000: \"start_closed\": [\"Bob\", \"2000-01-01\"] \"end_closed\": [\"Bob\"] The next example retrieves all events for `\"Bob\"`: \"start_closed\": [\"Bob\"] \"end_closed\": [\"Bob\"] To retrieve events before the year 2000: \"start_closed\": [\"Bob\"] \"end_open\": [\"Bob\", \"2000-01-01\"] The following range includes all rows in the table: \"start_closed\": [] \"end_closed\": [] This range returns all users whose `UserName` begins with any character from A to C: \"start_closed\": [\"A\"] \"end_open\": [\"D\"] This range returns all users whose `UserName` begins with B: \"start_closed\": [\"B\"] \"end_open\": [\"C\"] Key ranges honor column sort order. For example, suppose a table is defined as follows: CREATE TABLE DescendingSortedTable { Key INT64, ... ) PRIMARY KEY(Key DESC); The following range retrieves all rows with key values between 1 and 100 inclusive: \"start_closed\": [\"100\"] \"end_closed\": [\"1\"] Note that 100 is passed as the start, and 1 is passed as the end, because `Key` is a descending column in the schema.",
       "id": "KeyRange",
       "properties": {
         "endClosed": {
-          "description": "If the end is closed, then the range includes all rows whose\nfirst `len(end_closed)` key columns exactly match `end_closed`.",
+          "description": "If the end is closed, then the range includes all rows whose first `len(end_closed)` key columns exactly match `end_closed`.",
           "items": {
             "type": "any"
           },
           "type": "array"
         },
         "endOpen": {
-          "description": "If the end is open, then the range excludes rows whose first\n`len(end_open)` key columns exactly match `end_open`.",
+          "description": "If the end is open, then the range excludes rows whose first `len(end_open)` key columns exactly match `end_open`.",
           "items": {
             "type": "any"
           },
           "type": "array"
         },
         "startClosed": {
-          "description": "If the start is closed, then the range includes all rows whose\nfirst `len(start_closed)` key columns exactly match `start_closed`.",
+          "description": "If the start is closed, then the range includes all rows whose first `len(start_closed)` key columns exactly match `start_closed`.",
           "items": {
             "type": "any"
           },
           "type": "array"
         },
         "startOpen": {
-          "description": "If the start is open, then the range excludes rows whose first\n`len(start_open)` key columns exactly match `start_open`.",
+          "description": "If the start is open, then the range excludes rows whose first `len(start_open)` key columns exactly match `start_open`.",
           "items": {
             "type": "any"
           },
@@ -2538,15 +2546,15 @@
       "type": "object"
     },
     "KeySet": {
-      "description": "`KeySet` defines a collection of Cloud Spanner keys and/or key ranges. All\nthe keys are expected to be in the same table or index. The keys need\nnot be sorted in any particular way.\n\nIf the same key is specified multiple times in the set (for example\nif two ranges, two keys, or a key and a range overlap), Cloud Spanner\nbehaves as if the key were only specified once.",
+      "description": "`KeySet` defines a collection of Cloud Spanner keys and/or key ranges. All the keys are expected to be in the same table or index. The keys need not be sorted in any particular way. If the same key is specified multiple times in the set (for example if two ranges, two keys, or a key and a range overlap), Cloud Spanner behaves as if the key were only specified once.",
       "id": "KeySet",
       "properties": {
         "all": {
-          "description": "For convenience `all` can be set to `true` to indicate that this\n`KeySet` matches all keys in the table or index. Note that any keys\nspecified in `keys` or `ranges` are only yielded once.",
+          "description": "For convenience `all` can be set to `true` to indicate that this `KeySet` matches all keys in the table or index. Note that any keys specified in `keys` or `ranges` are only yielded once.",
           "type": "boolean"
         },
         "keys": {
-          "description": "A list of specific keys. Entries in `keys` should have exactly as\nmany elements as there are columns in the primary or index key\nwith which this `KeySet` is used.  Individual key values are\nencoded as described here.",
+          "description": "A list of specific keys. Entries in `keys` should have exactly as many elements as there are columns in the primary or index key with which this `KeySet` is used. Individual key values are encoded as described here.",
           "items": {
             "items": {
               "type": "any"
@@ -2556,7 +2564,7 @@
           "type": "array"
         },
         "ranges": {
-          "description": "A list of key ranges. See KeyRange for more information about\nkey range specifications.",
+          "description": "A list of key ranges. See KeyRange for more information about key range specifications.",
           "items": {
             "$ref": "KeyRange"
           },
@@ -2566,15 +2574,15 @@
       "type": "object"
     },
     "ListBackupOperationsResponse": {
-      "description": "The response for\nListBackupOperations.",
+      "description": "The response for ListBackupOperations.",
       "id": "ListBackupOperationsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "`next_page_token` can be sent in a subsequent\nListBackupOperations\ncall to fetch more of the matching metadata.",
+          "description": "`next_page_token` can be sent in a subsequent ListBackupOperations call to fetch more of the matching metadata.",
           "type": "string"
         },
         "operations": {
-          "description": "The list of matching backup long-running\noperations. Each operation's name will be\nprefixed by the backup's name and the operation's\nmetadata will be of type\nCreateBackupMetadata. Operations returned include those that are\npending or have completed/failed/canceled within the last 7 days.\nOperations returned are ordered by\n`operation.metadata.value.progress.start_time` in descending order starting\nfrom the most recently started operation.",
+          "description": "The list of matching backup long-running operations. Each operation's name will be prefixed by the backup's name and the operation's metadata will be of type CreateBackupMetadata. Operations returned include those that are pending or have completed/failed/canceled within the last 7 days. Operations returned are ordered by `operation.metadata.value.progress.start_time` in descending order starting from the most recently started operation.",
           "items": {
             "$ref": "Operation"
           },
@@ -2588,29 +2596,29 @@
       "id": "ListBackupsResponse",
       "properties": {
         "backups": {
-          "description": "The list of matching backups. Backups returned are ordered by `create_time`\nin descending order, starting from the most recent `create_time`.",
+          "description": "The list of matching backups. Backups returned are ordered by `create_time` in descending order, starting from the most recent `create_time`.",
           "items": {
             "$ref": "Backup"
           },
           "type": "array"
         },
         "nextPageToken": {
-          "description": "`next_page_token` can be sent in a subsequent\nListBackups call to fetch more\nof the matching backups.",
+          "description": "`next_page_token` can be sent in a subsequent ListBackups call to fetch more of the matching backups.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "ListDatabaseOperationsResponse": {
-      "description": "The response for\nListDatabaseOperations.",
+      "description": "The response for ListDatabaseOperations.",
       "id": "ListDatabaseOperationsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "`next_page_token` can be sent in a subsequent\nListDatabaseOperations\ncall to fetch more of the matching metadata.",
+          "description": "`next_page_token` can be sent in a subsequent ListDatabaseOperations call to fetch more of the matching metadata.",
           "type": "string"
         },
         "operations": {
-          "description": "The list of matching database long-running\noperations. Each operation's name will be\nprefixed by the database's name. The operation's\nmetadata field type\n`metadata.type_url` describes the type of the metadata.",
+          "description": "The list of matching database long-running operations. Each operation's name will be prefixed by the database's name. The operation's metadata field type `metadata.type_url` describes the type of the metadata.",
           "items": {
             "$ref": "Operation"
           },
@@ -2631,7 +2639,7 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "`next_page_token` can be sent in a subsequent\nListDatabases call to fetch more\nof the matching databases.",
+          "description": "`next_page_token` can be sent in a subsequent ListDatabases call to fetch more of the matching databases.",
           "type": "string"
         }
       },
@@ -2649,7 +2657,7 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "`next_page_token` can be sent in a subsequent\nListInstanceConfigs call to\nfetch more of the matching instance configurations.",
+          "description": "`next_page_token` can be sent in a subsequent ListInstanceConfigs call to fetch more of the matching instance configurations.",
           "type": "string"
         }
       },
@@ -2667,7 +2675,7 @@
           "type": "array"
         },
         "nextPageToken": {
-          "description": "`next_page_token` can be sent in a subsequent\nListInstances call to fetch more\nof the matching instances.",
+          "description": "`next_page_token` can be sent in a subsequent ListInstances call to fetch more of the matching instances.",
           "type": "string"
         }
       },
@@ -2696,7 +2704,7 @@
       "id": "ListSessionsResponse",
       "properties": {
         "nextPageToken": {
-          "description": "`next_page_token` can be sent in a subsequent\nListSessions call to fetch more of the matching\nsessions.",
+          "description": "`next_page_token` can be sent in a subsequent ListSessions call to fetch more of the matching sessions.",
           "type": "string"
         },
         "sessions": {
@@ -2710,38 +2718,38 @@
       "type": "object"
     },
     "Mutation": {
-      "description": "A modification to one or more Cloud Spanner rows.  Mutations can be\napplied to a Cloud Spanner database by sending them in a\nCommit call.",
+      "description": "A modification to one or more Cloud Spanner rows. Mutations can be applied to a Cloud Spanner database by sending them in a Commit call.",
       "id": "Mutation",
       "properties": {
         "delete": {
           "$ref": "Delete",
-          "description": "Delete rows from a table. Succeeds whether or not the named\nrows were present."
+          "description": "Delete rows from a table. Succeeds whether or not the named rows were present."
         },
         "insert": {
           "$ref": "Write",
-          "description": "Insert new rows in a table. If any of the rows already exist,\nthe write or transaction fails with error `ALREADY_EXISTS`."
+          "description": "Insert new rows in a table. If any of the rows already exist, the write or transaction fails with error `ALREADY_EXISTS`."
         },
         "insertOrUpdate": {
           "$ref": "Write",
-          "description": "Like insert, except that if the row already exists, then\nits column values are overwritten with the ones provided. Any\ncolumn values not explicitly written are preserved.\n\nWhen using insert_or_update, just as when using insert, all `NOT\nNULL` columns in the table must be given a value. This holds true\neven when the row already exists and will therefore actually be updated."
+          "description": "Like insert, except that if the row already exists, then its column values are overwritten with the ones provided. Any column values not explicitly written are preserved. When using insert_or_update, just as when using insert, all `NOT NULL` columns in the table must be given a value. This holds true even when the row already exists and will therefore actually be updated."
         },
         "replace": {
           "$ref": "Write",
-          "description": "Like insert, except that if the row already exists, it is\ndeleted, and the column values provided are inserted\ninstead. Unlike insert_or_update, this means any values not\nexplicitly written become `NULL`.\n\nIn an interleaved table, if you create the child table with the\n`ON DELETE CASCADE` annotation, then replacing a parent row\nalso deletes the child rows. Otherwise, you must delete the\nchild rows before you replace the parent row."
+          "description": "Like insert, except that if the row already exists, it is deleted, and the column values provided are inserted instead. Unlike insert_or_update, this means any values not explicitly written become `NULL`. In an interleaved table, if you create the child table with the `ON DELETE CASCADE` annotation, then replacing a parent row also deletes the child rows. Otherwise, you must delete the child rows before you replace the parent row."
         },
         "update": {
           "$ref": "Write",
-          "description": "Update existing rows in a table. If any of the rows does not\nalready exist, the transaction fails with error `NOT_FOUND`."
+          "description": "Update existing rows in a table. If any of the rows does not already exist, the transaction fails with error `NOT_FOUND`."
         }
       },
       "type": "object"
     },
     "Operation": {
-      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
+      "description": "This resource represents a long-running operation that is the result of a network API call.",
       "id": "Operation",
       "properties": {
         "done": {
-          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
+          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
           "type": "boolean"
         },
         "error": {
@@ -2753,11 +2761,11 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "Service-specific metadata associated with the operation.  It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata.  Any method that returns a\nlong-running operation should document the metadata type, if any.",
+          "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
           "type": "object"
         },
         "name": {
-          "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.",
+          "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
           "type": "string"
         },
         "response": {
@@ -2765,23 +2773,23 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "The normal response of the operation in case of success.  If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`.  If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource.  For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name.  For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
+          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
           "type": "object"
         }
       },
       "type": "object"
     },
     "OperationProgress": {
-      "description": "Encapsulates progress related information for a Cloud Spanner long\nrunning operation.",
+      "description": "Encapsulates progress related information for a Cloud Spanner long running operation.",
       "id": "OperationProgress",
       "properties": {
         "endTime": {
-          "description": "If set, the time at which this operation failed or was completed\nsuccessfully.",
+          "description": "If set, the time at which this operation failed or was completed successfully.",
           "format": "google-datetime",
           "type": "string"
         },
         "progressPercent": {
-          "description": "Percent completion of the operation.\nValues are between 0 and 100 inclusive.",
+          "description": "Percent completion of the operation. Values are between 0 and 100 inclusive.",
           "format": "int32",
           "type": "integer"
         },
@@ -2794,7 +2802,7 @@
       "type": "object"
     },
     "OptimizeRestoredDatabaseMetadata": {
-      "description": "Metadata type for the long-running operation used to track the progress\nof optimizations performed on a newly restored database. This long-running\noperation is automatically created by the system after the successful\ncompletion of a database restore, and cannot be cancelled.",
+      "description": "Metadata type for the long-running operation used to track the progress of optimizations performed on a newly restored database. This long-running operation is automatically created by the system after the successful completion of a database restore, and cannot be cancelled.",
       "id": "OptimizeRestoredDatabaseMetadata",
       "properties": {
         "name": {
@@ -2809,28 +2817,28 @@
       "type": "object"
     },
     "PartialResultSet": {
-      "description": "Partial results from a streaming read or SQL query. Streaming reads and\nSQL queries better tolerate large result sets, large rows, and large\nvalues, but are a little trickier to consume.",
+      "description": "Partial results from a streaming read or SQL query. Streaming reads and SQL queries better tolerate large result sets, large rows, and large values, but are a little trickier to consume.",
       "id": "PartialResultSet",
       "properties": {
         "chunkedValue": {
-          "description": "If true, then the final value in values is chunked, and must\nbe combined with more values from subsequent `PartialResultSet`s\nto obtain a complete field value.",
+          "description": "If true, then the final value in values is chunked, and must be combined with more values from subsequent `PartialResultSet`s to obtain a complete field value.",
           "type": "boolean"
         },
         "metadata": {
           "$ref": "ResultSetMetadata",
-          "description": "Metadata about the result set, such as row type information.\nOnly present in the first response."
+          "description": "Metadata about the result set, such as row type information. Only present in the first response."
         },
         "resumeToken": {
-          "description": "Streaming calls might be interrupted for a variety of reasons, such\nas TCP connection loss. If this occurs, the stream of results can\nbe resumed by re-sending the original request and including\n`resume_token`. Note that executing any other transaction in the\nsame session invalidates the token.",
+          "description": "Streaming calls might be interrupted for a variety of reasons, such as TCP connection loss. If this occurs, the stream of results can be resumed by re-sending the original request and including `resume_token`. Note that executing any other transaction in the same session invalidates the token.",
           "format": "byte",
           "type": "string"
         },
         "stats": {
           "$ref": "ResultSetStats",
-          "description": "Query plan and execution statistics for the statement that produced this\nstreaming result set. These can be requested by setting\nExecuteSqlRequest.query_mode and are sent\nonly once with the last response in the stream.\nThis field will also be present in the last response for DML\nstatements."
+          "description": "Query plan and execution statistics for the statement that produced this streaming result set. These can be requested by setting ExecuteSqlRequest.query_mode and are sent only once with the last response in the stream. This field will also be present in the last response for DML statements."
         },
         "values": {
-          "description": "A streamed result set consists of a stream of values, which might\nbe split into many `PartialResultSet` messages to accommodate\nlarge rows and/or large values. Every N complete values defines a\nrow, where N is equal to the number of entries in\nmetadata.row_type.fields.\n\nMost values are encoded based on type as described\nhere.\n\nIt is possible that the last value in values is \"chunked\",\nmeaning that the rest of the value is sent in subsequent\n`PartialResultSet`(s). This is denoted by the chunked_value\nfield. Two or more chunked values can be merged to form a\ncomplete value as follows:\n\n  * `bool/number/null`: cannot be chunked\n  * `string`: concatenate the strings\n  * `list`: concatenate the lists. If the last element in a list is a\n    `string`, `list`, or `object`, merge it with the first element in\n    the next list by applying these rules recursively.\n  * `object`: concatenate the (field name, field value) pairs. If a\n    field name is duplicated, then apply these rules recursively\n    to merge the field values.\n\nSome examples of merging:\n\n    # Strings are concatenated.\n    \"foo\", \"bar\" =\u003e \"foobar\"\n\n    # Lists of non-strings are concatenated.\n    [2, 3], [4] =\u003e [2, 3, 4]\n\n    # Lists are concatenated, but the last and first elements are merged\n    # because they are strings.\n    [\"a\", \"b\"], [\"c\", \"d\"] =\u003e [\"a\", \"bc\", \"d\"]\n\n    # Lists are concatenated, but the last and first elements are merged\n    # because they are lists. Recursively, the last and first elements\n    # of the inner lists are merged because they are strings.\n    [\"a\", [\"b\", \"c\"]], [[\"d\"], \"e\"] =\u003e [\"a\", [\"b\", \"cd\"], \"e\"]\n\n    # Non-overlapping object fields are combined.\n    {\"a\": \"1\"}, {\"b\": \"2\"} =\u003e {\"a\": \"1\", \"b\": 2\"}\n\n    # Overlapping object fields are merged.\n    {\"a\": \"1\"}, {\"a\": \"2\"} =\u003e {\"a\": \"12\"}\n\n    # Examples of merging objects containing lists of strings.\n    {\"a\": [\"1\"]}, {\"a\": [\"2\"]} =\u003e {\"a\": [\"12\"]}\n\nFor a more complete example, suppose a streaming SQL query is\nyielding a result set whose rows contain a single string\nfield. The following `PartialResultSet`s might be yielded:\n\n    {\n      \"metadata\": { ... }\n      \"values\": [\"Hello\", \"W\"]\n      \"chunked_value\": true\n      \"resume_token\": \"Af65...\"\n    }\n    {\n      \"values\": [\"orl\"]\n      \"chunked_value\": true\n      \"resume_token\": \"Bqp2...\"\n    }\n    {\n      \"values\": [\"d\"]\n      \"resume_token\": \"Zx1B...\"\n    }\n\nThis sequence of `PartialResultSet`s encodes two rows, one\ncontaining the field value `\"Hello\"`, and a second containing the\nfield value `\"World\" = \"W\" + \"orl\" + \"d\"`.",
+          "description": "A streamed result set consists of a stream of values, which might be split into many `PartialResultSet` messages to accommodate large rows and/or large values. Every N complete values defines a row, where N is equal to the number of entries in metadata.row_type.fields. Most values are encoded based on type as described here. It is possible that the last value in values is \"chunked\", meaning that the rest of the value is sent in subsequent `PartialResultSet`(s). This is denoted by the chunked_value field. Two or more chunked values can be merged to form a complete value as follows: * `bool/number/null`: cannot be chunked * `string`: concatenate the strings * `list`: concatenate the lists. If the last element in a list is a `string`, `list`, or `object`, merge it with the first element in the next list by applying these rules recursively. * `object`: concatenate the (field name, field value) pairs. If a field name is duplicated, then apply these rules recursively to merge the field values. Some examples of merging: # Strings are concatenated. \"foo\", \"bar\" =\u003e \"foobar\" # Lists of non-strings are concatenated. [2, 3], [4] =\u003e [2, 3, 4] # Lists are concatenated, but the last and first elements are merged # because they are strings. [\"a\", \"b\"], [\"c\", \"d\"] =\u003e [\"a\", \"bc\", \"d\"] # Lists are concatenated, but the last and first elements are merged # because they are lists. Recursively, the last and first elements # of the inner lists are merged because they are strings. [\"a\", [\"b\", \"c\"]], [[\"d\"], \"e\"] =\u003e [\"a\", [\"b\", \"cd\"], \"e\"] # Non-overlapping object fields are combined. {\"a\": \"1\"}, {\"b\": \"2\"} =\u003e {\"a\": \"1\", \"b\": 2\"} # Overlapping object fields are merged. {\"a\": \"1\"}, {\"a\": \"2\"} =\u003e {\"a\": \"12\"} # Examples of merging objects containing lists of strings. {\"a\": [\"1\"]}, {\"a\": [\"2\"]} =\u003e {\"a\": [\"12\"]} For a more complete example, suppose a streaming SQL query is yielding a result set whose rows contain a single string field. The following `PartialResultSet`s might be yielded: { \"metadata\": { ... } \"values\": [\"Hello\", \"W\"] \"chunked_value\": true \"resume_token\": \"Af65...\" } { \"values\": [\"orl\"] \"chunked_value\": true \"resume_token\": \"Bqp2...\" } { \"values\": [\"d\"] \"resume_token\": \"Zx1B...\" } This sequence of `PartialResultSet`s encodes two rows, one containing the field value `\"Hello\"`, and a second containing the field value `\"World\" = \"W\" + \"orl\" + \"d\"`.",
           "items": {
             "type": "any"
           },
@@ -2840,11 +2848,11 @@
       "type": "object"
     },
     "Partition": {
-      "description": "Information returned for each partition returned in a\nPartitionResponse.",
+      "description": "Information returned for each partition returned in a PartitionResponse.",
       "id": "Partition",
       "properties": {
         "partitionToken": {
-          "description": "This token can be passed to Read, StreamingRead, ExecuteSql, or\nExecuteStreamingSql requests to restrict the results to those identified by\nthis partition token.",
+          "description": "This token can be passed to Read, StreamingRead, ExecuteSql, or ExecuteStreamingSql requests to restrict the results to those identified by this partition token.",
           "format": "byte",
           "type": "string"
         }
@@ -2852,16 +2860,16 @@
       "type": "object"
     },
     "PartitionOptions": {
-      "description": "Options for a PartitionQueryRequest and\nPartitionReadRequest.",
+      "description": "Options for a PartitionQueryRequest and PartitionReadRequest.",
       "id": "PartitionOptions",
       "properties": {
         "maxPartitions": {
-          "description": "**Note:** This hint is currently ignored by PartitionQuery and\nPartitionRead requests.\n\nThe desired maximum number of partitions to return.  For example, this may\nbe set to the number of workers available.  The default for this option\nis currently 10,000. The maximum value is currently 200,000.  This is only\na hint.  The actual number of partitions returned may be smaller or larger\nthan this maximum count request.",
+          "description": "**Note:** This hint is currently ignored by PartitionQuery and PartitionRead requests. The desired maximum number of partitions to return. For example, this may be set to the number of workers available. The default for this option is currently 10,000. The maximum value is currently 200,000. This is only a hint. The actual number of partitions returned may be smaller or larger than this maximum count request.",
           "format": "int64",
           "type": "string"
         },
         "partitionSizeBytes": {
-          "description": "**Note:** This hint is currently ignored by PartitionQuery and\nPartitionRead requests.\n\nThe desired data size for each partition generated.  The default for this\noption is currently 1 GiB.  This is only a hint. The actual size of each\npartition may be smaller or larger than this size request.",
+          "description": "**Note:** This hint is currently ignored by PartitionQuery and PartitionRead requests. The desired data size for each partition generated. The default for this option is currently 1 GiB. This is only a hint. The actual size of each partition may be smaller or larger than this size request.",
           "format": "int64",
           "type": "string"
         }
@@ -2876,7 +2884,7 @@
           "additionalProperties": {
             "$ref": "Type"
           },
-          "description": "It is not always possible for Cloud Spanner to infer the right SQL type\nfrom a JSON value.  For example, values of type `BYTES` and values\nof type `STRING` both appear in params as JSON strings.\n\nIn these cases, `param_types` can be used to specify the exact\nSQL type for some or all of the SQL query parameters. See the\ndefinition of Type for more information\nabout SQL types.",
+          "description": "It is not always possible for Cloud Spanner to infer the right SQL type from a JSON value. For example, values of type `BYTES` and values of type `STRING` both appear in params as JSON strings. In these cases, `param_types` can be used to specify the exact SQL type for some or all of the SQL query parameters. See the definition of Type for more information about SQL types.",
           "type": "object"
         },
         "params": {
@@ -2884,7 +2892,7 @@
             "description": "Properties of the object.",
             "type": "any"
           },
-          "description": "Parameter names and values that bind to placeholders in the SQL string.\n\nA parameter placeholder consists of the `@` character followed by the\nparameter name (for example, `@firstName`). Parameter names can contain\nletters, numbers, and underscores.\n\nParameters can appear anywhere that a literal value is expected.  The same\nparameter name can be used more than once, for example:\n\n`\"WHERE id \u003e @msg_id AND id \u003c @msg_id + 100\"`\n\nIt is an error to execute a SQL statement with unbound parameters.",
+          "description": "Parameter names and values that bind to placeholders in the SQL string. A parameter placeholder consists of the `@` character followed by the parameter name (for example, `@firstName`). Parameter names can contain letters, numbers, and underscores. Parameters can appear anywhere that a literal value is expected. The same parameter name can be used more than once, for example: `\"WHERE id \u003e @msg_id AND id \u003c @msg_id + 100\"` It is an error to execute a SQL statement with unbound parameters.",
           "type": "object"
         },
         "partitionOptions": {
@@ -2892,12 +2900,12 @@
           "description": "Additional options that affect how many partitions are created."
         },
         "sql": {
-          "description": "Required. The query request to generate partitions for. The request will fail if\nthe query is not root partitionable. The query plan of a root\npartitionable query has a single distributed union operator. A distributed\nunion operator conceptually divides one or more tables into multiple\nsplits, remotely evaluates a subquery independently on each split, and\nthen unions all results.\n\nThis must not contain DML commands, such as INSERT, UPDATE, or\nDELETE. Use ExecuteStreamingSql with a\nPartitionedDml transaction for large, partition-friendly DML operations.",
+          "description": "Required. The query request to generate partitions for. The request will fail if the query is not root partitionable. The query plan of a root partitionable query has a single distributed union operator. A distributed union operator conceptually divides one or more tables into multiple splits, remotely evaluates a subquery independently on each split, and then unions all results. This must not contain DML commands, such as INSERT, UPDATE, or DELETE. Use ExecuteStreamingSql with a PartitionedDml transaction for large, partition-friendly DML operations.",
           "type": "string"
         },
         "transaction": {
           "$ref": "TransactionSelector",
-          "description": "Read only snapshot transactions are supported, read/write and single use\ntransactions are not."
+          "description": "Read only snapshot transactions are supported, read/write and single use transactions are not."
         }
       },
       "type": "object"
@@ -2907,19 +2915,19 @@
       "id": "PartitionReadRequest",
       "properties": {
         "columns": {
-          "description": "The columns of table to be returned for each row matching\nthis request.",
+          "description": "The columns of table to be returned for each row matching this request.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "index": {
-          "description": "If non-empty, the name of an index on table. This index is\nused instead of the table primary key when interpreting key_set\nand sorting result rows. See key_set for further information.",
+          "description": "If non-empty, the name of an index on table. This index is used instead of the table primary key when interpreting key_set and sorting result rows. See key_set for further information.",
           "type": "string"
         },
         "keySet": {
           "$ref": "KeySet",
-          "description": "Required. `key_set` identifies the rows to be yielded. `key_set` names the\nprimary keys of the rows in table to be yielded, unless index\nis present. If index is present, then key_set instead names\nindex keys in index.\n\nIt is not an error for the `key_set` to name rows that do not\nexist in the database. Read yields nothing for nonexistent rows."
+          "description": "Required. `key_set` identifies the rows to be yielded. `key_set` names the primary keys of the rows in table to be yielded, unless index is present. If index is present, then key_set instead names index keys in index. It is not an error for the `key_set` to name rows that do not exist in the database. Read yields nothing for nonexistent rows."
         },
         "partitionOptions": {
           "$ref": "PartitionOptions",
@@ -2931,13 +2939,13 @@
         },
         "transaction": {
           "$ref": "TransactionSelector",
-          "description": "Read only snapshot transactions are supported, read/write and single use\ntransactions are not."
+          "description": "Read only snapshot transactions are supported, read/write and single use transactions are not."
         }
       },
       "type": "object"
     },
     "PartitionResponse": {
-      "description": "The response for PartitionQuery\nor PartitionRead",
+      "description": "The response for PartitionQuery or PartitionRead",
       "id": "PartitionResponse",
       "properties": {
         "partitions": {
@@ -2980,7 +2988,7 @@
             "description": "Properties of the object.",
             "type": "any"
           },
-          "description": "The execution statistics associated with the node, contained in a group of\nkey-value pairs. Only present if the plan was returned as a result of a\nprofile query. For example, number of executions, number of rows/time per\nexecution etc.",
+          "description": "The execution statistics associated with the node, contained in a group of key-value pairs. Only present if the plan was returned as a result of a profile query. For example, number of executions, number of rows/time per execution etc.",
           "type": "object"
         },
         "index": {
@@ -2989,7 +2997,7 @@
           "type": "integer"
         },
         "kind": {
-          "description": "Used to determine the type of node. May be needed for visualizing\ndifferent kinds of nodes differently. For example, If the node is a\nSCALAR node, it will have a condensed representation\nwhich can be used to directly embed a description of the node in its\nparent.",
+          "description": "Used to determine the type of node. May be needed for visualizing different kinds of nodes differently. For example, If the node is a SCALAR node, it will have a condensed representation which can be used to directly embed a description of the node in its parent.",
           "enum": [
             "KIND_UNSPECIFIED",
             "RELATIONAL",
@@ -2997,8 +3005,8 @@
           ],
           "enumDescriptions": [
             "Not specified.",
-            "Denotes a Relational operator node in the expression tree. Relational\noperators represent iterative processing of rows during query execution.\nFor example, a `TableScan` operation that reads rows from a table.",
-            "Denotes a Scalar node in the expression tree. Scalar nodes represent\nnon-iterable entities in the query plan. For example, constants or\narithmetic operators appearing inside predicate expressions or references\nto column names."
+            "Denotes a Relational operator node in the expression tree. Relational operators represent iterative processing of rows during query execution. For example, a `TableScan` operation that reads rows from a table.",
+            "Denotes a Scalar node in the expression tree. Scalar nodes represent non-iterable entities in the query plan. For example, constants or arithmetic operators appearing inside predicate expressions or references to column names."
           ],
           "type": "string"
         },
@@ -3007,7 +3015,7 @@
             "description": "Properties of the object.",
             "type": "any"
           },
-          "description": "Attributes relevant to the node contained in a group of key-value pairs.\nFor example, a Parameter Reference node could have the following\ninformation in its metadata:\n\n    {\n      \"parameter_reference\": \"param1\",\n      \"parameter_type\": \"array\"\n    }",
+          "description": "Attributes relevant to the node contained in a group of key-value pairs. For example, a Parameter Reference node could have the following information in its metadata: { \"parameter_reference\": \"param1\", \"parameter_type\": \"array\" }",
           "type": "object"
         },
         "shortRepresentation": {
@@ -3018,23 +3026,23 @@
       "type": "object"
     },
     "Policy": {
-      "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n    {\n      \"bindings\": [\n        {\n          \"role\": \"roles/resourcemanager.organizationAdmin\",\n          \"members\": [\n            \"user:mike@example.com\",\n            \"group:admins@example.com\",\n            \"domain:google.com\",\n            \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n          ]\n        },\n        {\n          \"role\": \"roles/resourcemanager.organizationViewer\",\n          \"members\": [\n            \"user:eve@example.com\"\n          ],\n          \"condition\": {\n            \"title\": \"expirable access\",\n            \"description\": \"Does not grant access after Sep 2020\",\n            \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\",\n          }\n        }\n      ],\n      \"etag\": \"BwWWja0YfJA=\",\n      \"version\": 3\n    }\n\n**YAML example:**\n\n    bindings:\n    - members:\n      - user:mike@example.com\n      - group:admins@example.com\n      - domain:google.com\n      - serviceAccount:my-project-id@appspot.gserviceaccount.com\n      role: roles/resourcemanager.organizationAdmin\n    - members:\n      - user:eve@example.com\n      role: roles/resourcemanager.organizationViewer\n      condition:\n        title: expirable access\n        description: Does not grant access after Sep 2020\n        expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\n    - etag: BwWWja0YfJA=\n    - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).",
+      "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members` to a single `role`. Members can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } **YAML example:** bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).",
       "id": "Policy",
       "properties": {
         "bindings": {
-          "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.",
+          "description": "Associates a list of `members` to a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one member.",
           "items": {
             "$ref": "Binding"
           },
           "type": "array"
         },
         "etag": {
-          "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.",
+          "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.",
           "format": "byte",
           "type": "string"
         },
         "version": {
-          "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n  that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
+          "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).",
           "format": "int32",
           "type": "integer"
         }
@@ -3046,7 +3054,7 @@
       "id": "QueryOptions",
       "properties": {
         "optimizerVersion": {
-          "description": "An option to control the selection of optimizer version.\n\nThis parameter allows individual queries to pick different query\noptimizer versions.\n\nSpecifying \"latest\" as a value instructs Cloud Spanner to use the\nlatest supported query optimizer version. If not specified, Cloud Spanner\nuses optimizer version set at the database level options. Any other\npositive integer (from the list of supported optimizer versions)\noverrides the default optimizer version for query execution.\nThe list of supported optimizer versions can be queried from\nSPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS. Executing a SQL statement\nwith an invalid optimizer version will fail with a syntax error\n(`INVALID_ARGUMENT`) status.\nSee\nhttps://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer\nfor more information on managing the query optimizer.\n\nThe `optimizer_version` statement hint has precedence over this setting.",
+          "description": "An option to control the selection of optimizer version. This parameter allows individual queries to pick different query optimizer versions. Specifying \"latest\" as a value instructs Cloud Spanner to use the latest supported query optimizer version. If not specified, Cloud Spanner uses optimizer version set at the database level options. Any other positive integer (from the list of supported optimizer versions) overrides the default optimizer version for query execution. The list of supported optimizer versions can be queried from SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS. Executing a SQL statement with an invalid optimizer version will fail with a syntax error (`INVALID_ARGUMENT`) status. See https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer for more information on managing the query optimizer. The `optimizer_version` statement hint has precedence over this setting.",
           "type": "string"
         }
       },
@@ -3057,7 +3065,7 @@
       "id": "QueryPlan",
       "properties": {
         "planNodes": {
-          "description": "The nodes in the query plan. Plan nodes are returned in pre-order starting\nwith the plan root. Each PlanNode's `id` corresponds to its index in\n`plan_nodes`.",
+          "description": "The nodes in the query plan. Plan nodes are returned in pre-order starting with the plan root. Each PlanNode's `id` corresponds to its index in `plan_nodes`.",
           "items": {
             "$ref": "PlanNode"
           },
@@ -3071,67 +3079,67 @@
       "id": "ReadOnly",
       "properties": {
         "exactStaleness": {
-          "description": "Executes all reads at a timestamp that is `exact_staleness`\nold. The timestamp is chosen soon after the read is started.\n\nGuarantees that all writes that have committed more than the\nspecified number of seconds ago are visible. Because Cloud Spanner\nchooses the exact timestamp, this mode works even if the client's\nlocal clock is substantially skewed from Cloud Spanner commit\ntimestamps.\n\nUseful for reading at nearby replicas without the distributed\ntimestamp negotiation overhead of `max_staleness`.",
+          "description": "Executes all reads at a timestamp that is `exact_staleness` old. The timestamp is chosen soon after the read is started. Guarantees that all writes that have committed more than the specified number of seconds ago are visible. Because Cloud Spanner chooses the exact timestamp, this mode works even if the client's local clock is substantially skewed from Cloud Spanner commit timestamps. Useful for reading at nearby replicas without the distributed timestamp negotiation overhead of `max_staleness`.",
           "format": "google-duration",
           "type": "string"
         },
         "maxStaleness": {
-          "description": "Read data at a timestamp \u003e= `NOW - max_staleness`\nseconds. Guarantees that all writes that have committed more\nthan the specified number of seconds ago are visible. Because\nCloud Spanner chooses the exact timestamp, this mode works even if\nthe client's local clock is substantially skewed from Cloud Spanner\ncommit timestamps.\n\nUseful for reading the freshest data available at a nearby\nreplica, while bounding the possible staleness if the local\nreplica has fallen behind.\n\nNote that this option can only be used in single-use\ntransactions.",
+          "description": "Read data at a timestamp \u003e= `NOW - max_staleness` seconds. Guarantees that all writes that have committed more than the specified number of seconds ago are visible. Because Cloud Spanner chooses the exact timestamp, this mode works even if the client's local clock is substantially skewed from Cloud Spanner commit timestamps. Useful for reading the freshest data available at a nearby replica, while bounding the possible staleness if the local replica has fallen behind. Note that this option can only be used in single-use transactions.",
           "format": "google-duration",
           "type": "string"
         },
         "minReadTimestamp": {
-          "description": "Executes all reads at a timestamp \u003e= `min_read_timestamp`.\n\nThis is useful for requesting fresher data than some previous\nread, or data that is fresh enough to observe the effects of some\npreviously committed transaction whose timestamp is known.\n\nNote that this option can only be used in single-use transactions.\n\nA timestamp in RFC3339 UTC \\\"Zulu\\\" format, accurate to nanoseconds.\nExample: `\"2014-10-02T15:01:23.045123456Z\"`.",
+          "description": "Executes all reads at a timestamp \u003e= `min_read_timestamp`. This is useful for requesting fresher data than some previous read, or data that is fresh enough to observe the effects of some previously committed transaction whose timestamp is known. Note that this option can only be used in single-use transactions. A timestamp in RFC3339 UTC \\\"Zulu\\\" format, accurate to nanoseconds. Example: `\"2014-10-02T15:01:23.045123456Z\"`.",
           "format": "google-datetime",
           "type": "string"
         },
         "readTimestamp": {
-          "description": "Executes all reads at the given timestamp. Unlike other modes,\nreads at a specific timestamp are repeatable; the same read at\nthe same timestamp always returns the same data. If the\ntimestamp is in the future, the read will block until the\nspecified timestamp, modulo the read's deadline.\n\nUseful for large scale consistent reads such as mapreduces, or\nfor coordinating many reads against a consistent snapshot of the\ndata.\n\nA timestamp in RFC3339 UTC \\\"Zulu\\\" format, accurate to nanoseconds.\nExample: `\"2014-10-02T15:01:23.045123456Z\"`.",
+          "description": "Executes all reads at the given timestamp. Unlike other modes, reads at a specific timestamp are repeatable; the same read at the same timestamp always returns the same data. If the timestamp is in the future, the read will block until the specified timestamp, modulo the read's deadline. Useful for large scale consistent reads such as mapreduces, or for coordinating many reads against a consistent snapshot of the data. A timestamp in RFC3339 UTC \\\"Zulu\\\" format, accurate to nanoseconds. Example: `\"2014-10-02T15:01:23.045123456Z\"`.",
           "format": "google-datetime",
           "type": "string"
         },
         "returnReadTimestamp": {
-          "description": "If true, the Cloud Spanner-selected read timestamp is included in\nthe Transaction message that describes the transaction.",
+          "description": "If true, the Cloud Spanner-selected read timestamp is included in the Transaction message that describes the transaction.",
           "type": "boolean"
         },
         "strong": {
-          "description": "Read at a timestamp where all previously committed transactions\nare visible.",
+          "description": "Read at a timestamp where all previously committed transactions are visible.",
           "type": "boolean"
         }
       },
       "type": "object"
     },
     "ReadRequest": {
-      "description": "The request for Read and\nStreamingRead.",
+      "description": "The request for Read and StreamingRead.",
       "id": "ReadRequest",
       "properties": {
         "columns": {
-          "description": "Required. The columns of table to be returned for each row matching\nthis request.",
+          "description": "Required. The columns of table to be returned for each row matching this request.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "index": {
-          "description": "If non-empty, the name of an index on table. This index is\nused instead of the table primary key when interpreting key_set\nand sorting result rows. See key_set for further information.",
+          "description": "If non-empty, the name of an index on table. This index is used instead of the table primary key when interpreting key_set and sorting result rows. See key_set for further information.",
           "type": "string"
         },
         "keySet": {
           "$ref": "KeySet",
-          "description": "Required. `key_set` identifies the rows to be yielded. `key_set` names the\nprimary keys of the rows in table to be yielded, unless index\nis present. If index is present, then key_set instead names\nindex keys in index.\n\nIf the partition_token field is empty, rows are yielded\nin table primary key order (if index is empty) or index key order\n(if index is non-empty).  If the partition_token field is not\nempty, rows will be yielded in an unspecified order.\n\nIt is not an error for the `key_set` to name rows that do not\nexist in the database. Read yields nothing for nonexistent rows."
+          "description": "Required. `key_set` identifies the rows to be yielded. `key_set` names the primary keys of the rows in table to be yielded, unless index is present. If index is present, then key_set instead names index keys in index. If the partition_token field is empty, rows are yielded in table primary key order (if index is empty) or index key order (if index is non-empty). If the partition_token field is not empty, rows will be yielded in an unspecified order. It is not an error for the `key_set` to name rows that do not exist in the database. Read yields nothing for nonexistent rows."
         },
         "limit": {
-          "description": "If greater than zero, only the first `limit` rows are yielded. If `limit`\nis zero, the default is no limit. A limit cannot be specified if\n`partition_token` is set.",
+          "description": "If greater than zero, only the first `limit` rows are yielded. If `limit` is zero, the default is no limit. A limit cannot be specified if `partition_token` is set.",
           "format": "int64",
           "type": "string"
         },
         "partitionToken": {
-          "description": "If present, results will be restricted to the specified partition\npreviously created using PartitionRead().    There must be an exact\nmatch for the values of fields common to this message and the\nPartitionReadRequest message used to create this partition_token.",
+          "description": "If present, results will be restricted to the specified partition previously created using PartitionRead(). There must be an exact match for the values of fields common to this message and the PartitionReadRequest message used to create this partition_token.",
           "format": "byte",
           "type": "string"
         },
         "resumeToken": {
-          "description": "If this request is resuming a previously interrupted read,\n`resume_token` should be copied from the last\nPartialResultSet yielded before the interruption. Doing this\nenables the new read to resume where the last read left off. The\nrest of the request parameters must exactly match the request\nthat yielded this token.",
+          "description": "If this request is resuming a previously interrupted read, `resume_token` should be copied from the last PartialResultSet yielded before the interruption. Doing this enables the new read to resume where the last read left off. The rest of the request parameters must exactly match the request that yielded this token.",
           "format": "byte",
           "type": "string"
         },
@@ -3141,13 +3149,13 @@
         },
         "transaction": {
           "$ref": "TransactionSelector",
-          "description": "The transaction to use. If none is provided, the default is a\ntemporary read-only transaction with strong concurrency."
+          "description": "The transaction to use. If none is provided, the default is a temporary read-only transaction with strong concurrency."
         }
       },
       "type": "object"
     },
     "ReadWrite": {
-      "description": "Message type to initiate a read-write transaction. Currently this\ntransaction type has no options.",
+      "description": "Message type to initiate a read-write transaction. Currently this transaction type has no options.",
       "id": "ReadWrite",
       "properties": {},
       "type": "object"
@@ -3156,7 +3164,7 @@
       "id": "ReplicaInfo",
       "properties": {
         "defaultLeaderLocation": {
-          "description": "If true, this location is designated as the default leader location where\nleader replicas are placed. See the [region types\ndocumentation](https://cloud.google.com/spanner/docs/instances#region_types)\nfor more details.",
+          "description": "If true, this location is designated as the default leader location where leader replicas are placed. See the [region types documentation](https://cloud.google.com/spanner/docs/instances#region_types) for more details.",
           "type": "boolean"
         },
         "location": {
@@ -3173,9 +3181,9 @@
           ],
           "enumDescriptions": [
             "Not specified.",
-            "Read-write replicas support both reads and writes. These replicas:\n\n* Maintain a full copy of your data.\n* Serve reads.\n* Can vote whether to commit a write.\n* Participate in leadership election.\n* Are eligible to become a leader.",
-            "Read-only replicas only support reads (not writes). Read-only replicas:\n\n* Maintain a full copy of your data.\n* Serve reads.\n* Do not participate in voting to commit writes.\n* Are not eligible to become a leader.",
-            "Witness replicas don't support reads but do participate in voting to\ncommit writes. Witness replicas:\n\n* Do not maintain a full copy of data.\n* Do not serve reads.\n* Vote whether to commit writes.\n* Participate in leader election but are not eligible to become leader."
+            "Read-write replicas support both reads and writes. These replicas: * Maintain a full copy of your data. * Serve reads. * Can vote whether to commit a write. * Participate in leadership election. * Are eligible to become a leader.",
+            "Read-only replicas only support reads (not writes). Read-only replicas: * Maintain a full copy of your data. * Serve reads. * Do not participate in voting to commit writes. * Are not eligible to become a leader.",
+            "Witness replicas don't support reads but do participate in voting to commit writes. Witness replicas: * Do not maintain a full copy of data. * Do not serve reads. * Vote whether to commit writes. * Participate in leader election but are not eligible to become leader."
           ],
           "type": "string"
         }
@@ -3183,7 +3191,7 @@
       "type": "object"
     },
     "RestoreDatabaseMetadata": {
-      "description": "Metadata type for the long-running operation returned by\nRestoreDatabase.",
+      "description": "Metadata type for the long-running operation returned by RestoreDatabase.",
       "id": "RestoreDatabaseMetadata",
       "properties": {
         "backupInfo": {
@@ -3191,7 +3199,7 @@
           "description": "Information about the backup used to restore the database."
         },
         "cancelTime": {
-          "description": "The time at which cancellation of this operation was received.\nOperations.CancelOperation\nstarts asynchronous cancellation on a long-running operation. The server\nmakes a best effort to cancel the operation, but success is not guaranteed.\nClients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a\ngoogle.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
+          "description": "The time at which cancellation of this operation was received. Operations.CancelOperation starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. 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`.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -3200,12 +3208,12 @@
           "type": "string"
         },
         "optimizeDatabaseOperationName": {
-          "description": "If exists, the name of the long-running operation that will be used to\ntrack the post-restore optimization process to optimize the performance of\nthe restored database, and remove the dependency on the restore source.\nThe name is of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/databases/\u003cdatabase\u003e/operations/\u003coperation\u003e`\nwhere the \u003cdatabase\u003e is the name of database being created and restored to.\nThe metadata type of the  long-running operation is\nOptimizeRestoredDatabaseMetadata. This long-running operation will be\nautomatically created by the system after the RestoreDatabase long-running\noperation completes successfully. This operation will not be created if the\nrestore was not successful.",
+          "description": "If exists, the name of the long-running operation that will be used to track the post-restore optimization process to optimize the performance of the restored database, and remove the dependency on the restore source. The name is of the form `projects//instances//databases//operations/` where the is the name of database being created and restored to. The metadata type of the long-running operation is OptimizeRestoredDatabaseMetadata. This long-running operation will be automatically created by the system after the RestoreDatabase long-running operation completes successfully. This operation will not be created if the restore was not successful.",
           "type": "string"
         },
         "progress": {
           "$ref": "OperationProgress",
-          "description": "The progress of the\nRestoreDatabase\noperation."
+          "description": "The progress of the RestoreDatabase operation."
         },
         "sourceType": {
           "description": "The type of the restore source.",
@@ -3223,15 +3231,15 @@
       "type": "object"
     },
     "RestoreDatabaseRequest": {
-      "description": "The request for\nRestoreDatabase.",
+      "description": "The request for RestoreDatabase.",
       "id": "RestoreDatabaseRequest",
       "properties": {
         "backup": {
-          "description": "Name of the backup from which to restore.  Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/backups/\u003cbackup\u003e`.",
+          "description": "Name of the backup from which to restore. Values are of the form `projects//instances//backups/`.",
           "type": "string"
         },
         "databaseId": {
-          "description": "Required. The id of the database to create and restore to. This\ndatabase must not already exist. The `database_id` appended to\n`parent` forms the full database name of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/databases/\u003cdatabase_id\u003e`.",
+          "description": "Required. The id of the database to create and restore to. This database must not already exist. The `database_id` appended to `parent` forms the full database name of the form `projects//instances//databases/`.",
           "type": "string"
         }
       },
@@ -3243,7 +3251,7 @@
       "properties": {
         "backupInfo": {
           "$ref": "BackupInfo",
-          "description": "Information about the backup used to restore the database. The backup\nmay no longer exist."
+          "description": "Information about the backup used to restore the database. The backup may no longer exist."
         },
         "sourceType": {
           "description": "The type of the restore source.",
@@ -3261,7 +3269,7 @@
       "type": "object"
     },
     "ResultSet": {
-      "description": "Results from Read or\nExecuteSql.",
+      "description": "Results from Read or ExecuteSql.",
       "id": "ResultSet",
       "properties": {
         "metadata": {
@@ -3269,7 +3277,7 @@
           "description": "Metadata about the result set, such as row type information."
         },
         "rows": {
-          "description": "Each element in `rows` is a row whose format is defined by\nmetadata.row_type. The ith element\nin each row matches the ith field in\nmetadata.row_type. Elements are\nencoded based on type as described\nhere.",
+          "description": "Each element in `rows` is a row whose format is defined by metadata.row_type. The ith element in each row matches the ith field in metadata.row_type. Elements are encoded based on type as described here.",
           "items": {
             "items": {
               "type": "any"
@@ -3280,7 +3288,7 @@
         },
         "stats": {
           "$ref": "ResultSetStats",
-          "description": "Query plan and execution statistics for the SQL statement that\nproduced this result set. These can be requested by setting\nExecuteSqlRequest.query_mode.\nDML statements always produce stats containing the number of rows\nmodified, unless executed using the\nExecuteSqlRequest.QueryMode.PLAN ExecuteSqlRequest.query_mode.\nOther fields may or may not be populated, based on the\nExecuteSqlRequest.query_mode."
+          "description": "Query plan and execution statistics for the SQL statement that produced this result set. These can be requested by setting ExecuteSqlRequest.query_mode. DML statements always produce stats containing the number of rows modified, unless executed using the ExecuteSqlRequest.QueryMode.PLAN ExecuteSqlRequest.query_mode. Other fields may or may not be populated, based on the ExecuteSqlRequest.query_mode."
         }
       },
       "type": "object"
@@ -3291,11 +3299,11 @@
       "properties": {
         "rowType": {
           "$ref": "StructType",
-          "description": "Indicates the field names and types for the rows in the result\nset.  For example, a SQL query like `\"SELECT UserId, UserName FROM\nUsers\"` could return a `row_type` value like:\n\n    \"fields\": [\n      { \"name\": \"UserId\", \"type\": { \"code\": \"INT64\" } },\n      { \"name\": \"UserName\", \"type\": { \"code\": \"STRING\" } },\n    ]"
+          "description": "Indicates the field names and types for the rows in the result set. For example, a SQL query like `\"SELECT UserId, UserName FROM Users\"` could return a `row_type` value like: \"fields\": [ { \"name\": \"UserId\", \"type\": { \"code\": \"INT64\" } }, { \"name\": \"UserName\", \"type\": { \"code\": \"STRING\" } }, ]"
         },
         "transaction": {
           "$ref": "Transaction",
-          "description": "If the read or SQL query began a transaction as a side-effect, the\ninformation about the new transaction is yielded here."
+          "description": "If the read or SQL query began a transaction as a side-effect, the information about the new transaction is yielded here."
         }
       },
       "type": "object"
@@ -3313,7 +3321,7 @@
             "description": "Properties of the object.",
             "type": "any"
           },
-          "description": "Aggregated statistics from the execution of the query. Only present when\nthe query is profiled. For example, a query could return the statistics as\nfollows:\n\n    {\n      \"rows_returned\": \"3\",\n      \"elapsed_time\": \"1.22 secs\",\n      \"cpu_time\": \"1.19 secs\"\n    }",
+          "description": "Aggregated statistics from the execution of the query. Only present when the query is profiled. For example, a query could return the statistics as follows: { \"rows_returned\": \"3\", \"elapsed_time\": \"1.22 secs\", \"cpu_time\": \"1.19 secs\" }",
           "type": "object"
         },
         "rowCountExact": {
@@ -3322,7 +3330,7 @@
           "type": "string"
         },
         "rowCountLowerBound": {
-          "description": "Partitioned DML does not offer exactly-once semantics, so it\nreturns a lower bound of the rows modified.",
+          "description": "Partitioned DML does not offer exactly-once semantics, so it returns a lower bound of the rows modified.",
           "format": "int64",
           "type": "string"
         }
@@ -3346,24 +3354,27 @@
       "id": "Session",
       "properties": {
         "approximateLastUseTime": {
-          "description": "Output only. The approximate timestamp when the session is last used. It is\ntypically earlier than the actual last use time.",
+          "description": "Output only. The approximate timestamp when the session is last used. It is typically earlier than the actual last use time.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "createTime": {
           "description": "Output only. The timestamp when the session is created.",
           "format": "google-datetime",
+          "readOnly": true,
           "type": "string"
         },
         "labels": {
           "additionalProperties": {
             "type": "string"
           },
-          "description": "The labels for the session.\n\n * Label keys must be between 1 and 63 characters long and must conform to\n   the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.\n * Label values must be between 0 and 63 characters long and must conform\n   to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.\n * No more than 64 labels can be associated with a given session.\n\nSee https://goo.gl/xmQnxf for more information on and examples of labels.",
+          "description": "The labels for the session. * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. * No more than 64 labels can be associated with a given session. See https://goo.gl/xmQnxf for more information on and examples of labels.",
           "type": "object"
         },
         "name": {
           "description": "Output only. The name of the session. This is always system-assigned.",
+          "readOnly": true,
           "type": "string"
         }
       },
@@ -3375,13 +3386,13 @@
       "properties": {
         "policy": {
           "$ref": "Policy",
-          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them."
+          "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them."
         }
       },
       "type": "object"
     },
     "ShortRepresentation": {
-      "description": "Condensed representation of a node and its subtree. Only present for\n`SCALAR` PlanNode(s).",
+      "description": "Condensed representation of a node and its subtree. Only present for `SCALAR` PlanNode(s).",
       "id": "ShortRepresentation",
       "properties": {
         "description": {
@@ -3393,7 +3404,7 @@
             "format": "int32",
             "type": "integer"
           },
-          "description": "A mapping of (subquery variable name) -\u003e (subquery node id) for cases\nwhere the `description` string of this node references a `SCALAR`\nsubquery contained in the expression subtree rooted at this node. The\nreferenced `SCALAR` subquery may not necessarily be a direct child of\nthis node.",
+          "description": "A mapping of (subquery variable name) -\u003e (subquery node id) for cases where the `description` string of this node references a `SCALAR` subquery contained in the expression subtree rooted at this node. The referenced `SCALAR` subquery may not necessarily be a direct child of this node.",
           "type": "object"
         }
       },
@@ -3407,7 +3418,7 @@
           "additionalProperties": {
             "$ref": "Type"
           },
-          "description": "It is not always possible for Cloud Spanner to infer the right SQL type\nfrom a JSON value.  For example, values of type `BYTES` and values\nof type `STRING` both appear in params as JSON strings.\n\nIn these cases, `param_types` can be used to specify the exact\nSQL type for some or all of the SQL statement parameters. See the\ndefinition of Type for more information\nabout SQL types.",
+          "description": "It is not always possible for Cloud Spanner to infer the right SQL type from a JSON value. For example, values of type `BYTES` and values of type `STRING` both appear in params as JSON strings. In these cases, `param_types` can be used to specify the exact SQL type for some or all of the SQL statement parameters. See the definition of Type for more information about SQL types.",
           "type": "object"
         },
         "params": {
@@ -3415,7 +3426,7 @@
             "description": "Properties of the object.",
             "type": "any"
           },
-          "description": "Parameter names and values that bind to placeholders in the DML string.\n\nA parameter placeholder consists of the `@` character followed by the\nparameter name (for example, `@firstName`). Parameter names can contain\nletters, numbers, and underscores.\n\nParameters can appear anywhere that a literal value is expected.  The\nsame parameter name can be used more than once, for example:\n\n`\"WHERE id \u003e @msg_id AND id \u003c @msg_id + 100\"`\n\nIt is an error to execute a SQL statement with unbound parameters.",
+          "description": "Parameter names and values that bind to placeholders in the DML string. A parameter placeholder consists of the `@` character followed by the parameter name (for example, `@firstName`). Parameter names can contain letters, numbers, and underscores. Parameters can appear anywhere that a literal value is expected. The same parameter name can be used more than once, for example: `\"WHERE id \u003e @msg_id AND id \u003c @msg_id + 100\"` It is an error to execute a SQL statement with unbound parameters.",
           "type": "object"
         },
         "sql": {
@@ -3426,7 +3437,7 @@
       "type": "object"
     },
     "Status": {
-      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "Status",
       "properties": {
         "code": {
@@ -3435,7 +3446,7 @@
           "type": "integer"
         },
         "details": {
-          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -3446,7 +3457,7 @@
           "type": "array"
         },
         "message": {
-          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
           "type": "string"
         }
       },
@@ -3457,7 +3468,7 @@
       "id": "StructType",
       "properties": {
         "fields": {
-          "description": "The list of fields that make up this struct. Order is\nsignificant, because values of this struct type are represented as\nlists, where the order of field values matches the order of\nfields in the StructType. In turn, the order of fields\nmatches the order of columns in a read request, or the order of\nfields in the `SELECT` clause of a query.",
+          "description": "The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query.",
           "items": {
             "$ref": "Field"
           },
@@ -3471,7 +3482,7 @@
       "id": "TestIamPermissionsRequest",
       "properties": {
         "permissions": {
-          "description": "REQUIRED: The set of permissions to check for 'resource'.\nPermissions with wildcards (such as '*', 'spanner.*', 'spanner.instances.*') are not allowed.",
+          "description": "REQUIRED: The set of permissions to check for 'resource'. Permissions with wildcards (such as '*', 'spanner.*', 'spanner.instances.*') are not allowed.",
           "items": {
             "type": "string"
           },
@@ -3485,7 +3496,7 @@
       "id": "TestIamPermissionsResponse",
       "properties": {
         "permissions": {
-          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.",
+          "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.",
           "items": {
             "type": "string"
           },
@@ -3499,12 +3510,12 @@
       "id": "Transaction",
       "properties": {
         "id": {
-          "description": "`id` may be used to identify the transaction in subsequent\nRead,\nExecuteSql,\nCommit, or\nRollback calls.\n\nSingle-use read-only transactions do not have IDs, because\nsingle-use transactions do not support multiple requests.",
+          "description": "`id` may be used to identify the transaction in subsequent Read, ExecuteSql, Commit, or Rollback calls. Single-use read-only transactions do not have IDs, because single-use transactions do not support multiple requests.",
           "format": "byte",
           "type": "string"
         },
         "readTimestamp": {
-          "description": "For snapshot read-only transactions, the read timestamp chosen\nfor the transaction. Not returned by default: see\nTransactionOptions.ReadOnly.return_read_timestamp.\n\nA timestamp in RFC3339 UTC \\\"Zulu\\\" format, accurate to nanoseconds.\nExample: `\"2014-10-02T15:01:23.045123456Z\"`.",
+          "description": "For snapshot read-only transactions, the read timestamp chosen for the transaction. Not returned by default: see TransactionOptions.ReadOnly.return_read_timestamp. A timestamp in RFC3339 UTC \\\"Zulu\\\" format, accurate to nanoseconds. Example: `\"2014-10-02T15:01:23.045123456Z\"`.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -3512,31 +3523,31 @@
       "type": "object"
     },
     "TransactionOptions": {
-      "description": "# Transactions\n\n\nEach session can have at most one active transaction at a time (note that\nstandalone reads and queries use a transaction internally and do count\ntowards the one transaction limit). After the active transaction is\ncompleted, the session can immediately be re-used for the next transaction.\nIt is not necessary to create a new session for each transaction.\n\n# Transaction Modes\n\nCloud Spanner supports three transaction modes:\n\n  1. Locking read-write. This type of transaction is the only way\n     to write data into Cloud Spanner. These transactions rely on\n     pessimistic locking and, if necessary, two-phase commit.\n     Locking read-write transactions may abort, requiring the\n     application to retry.\n\n  2. Snapshot read-only. This transaction type provides guaranteed\n     consistency across several reads, but does not allow\n     writes. Snapshot read-only transactions can be configured to\n     read at timestamps in the past. Snapshot read-only\n     transactions do not need to be committed.\n\n  3. Partitioned DML. This type of transaction is used to execute\n     a single Partitioned DML statement. Partitioned DML partitions\n     the key space and runs the DML statement over each partition\n     in parallel using separate, internal transactions that commit\n     independently. Partitioned DML transactions do not need to be\n     committed.\n\nFor transactions that only read, snapshot read-only transactions\nprovide simpler semantics and are almost always faster. In\nparticular, read-only transactions do not take locks, so they do\nnot conflict with read-write transactions. As a consequence of not\ntaking locks, they also do not abort, so retry loops are not needed.\n\nTransactions may only read/write data in a single database. They\nmay, however, read/write data in different tables within that\ndatabase.\n\n## Locking Read-Write Transactions\n\nLocking transactions may be used to atomically read-modify-write\ndata anywhere in a database. This type of transaction is externally\nconsistent.\n\nClients should attempt to minimize the amount of time a transaction\nis active. Faster transactions commit with higher probability\nand cause less contention. Cloud Spanner attempts to keep read locks\nactive as long as the transaction continues to do reads, and the\ntransaction has not been terminated by\nCommit or\nRollback.  Long periods of\ninactivity at the client may cause Cloud Spanner to release a\ntransaction's locks and abort it.\n\nConceptually, a read-write transaction consists of zero or more\nreads or SQL statements followed by\nCommit. At any time before\nCommit, the client can send a\nRollback request to abort the\ntransaction.\n\n### Semantics\n\nCloud Spanner can commit the transaction if all read locks it acquired\nare still valid at commit time, and it is able to acquire write\nlocks for all writes. Cloud Spanner can abort the transaction for any\nreason. If a commit attempt returns `ABORTED`, Cloud Spanner guarantees\nthat the transaction has not modified any user data in Cloud Spanner.\n\nUnless the transaction commits, Cloud Spanner makes no guarantees about\nhow long the transaction's locks were held for. It is an error to\nuse Cloud Spanner locks for any sort of mutual exclusion other than\nbetween Cloud Spanner transactions themselves.\n\n### Retrying Aborted Transactions\n\nWhen a transaction aborts, the application can choose to retry the\nwhole transaction again. To maximize the chances of successfully\ncommitting the retry, the client should execute the retry in the\nsame session as the original attempt. The original session's lock\npriority increases with each consecutive abort, meaning that each\nattempt has a slightly better chance of success than the previous.\n\nUnder some circumstances (e.g., many transactions attempting to\nmodify the same row(s)), a transaction can abort many times in a\nshort period before successfully committing. Thus, it is not a good\nidea to cap the number of retries a transaction can attempt;\ninstead, it is better to limit the total amount of wall time spent\nretrying.\n\n### Idle Transactions\n\nA transaction is considered idle if it has no outstanding reads or\nSQL queries and has not started a read or SQL query within the last 10\nseconds. Idle transactions can be aborted by Cloud Spanner so that they\ndon't hold on to locks indefinitely. In that case, the commit will\nfail with error `ABORTED`.\n\nIf this behavior is undesirable, periodically executing a simple\nSQL query in the transaction (e.g., `SELECT 1`) prevents the\ntransaction from becoming idle.\n\n## Snapshot Read-Only Transactions\n\nSnapshot read-only transactions provides a simpler method than\nlocking read-write transactions for doing several consistent\nreads. However, this type of transaction does not support writes.\n\nSnapshot transactions do not take locks. Instead, they work by\nchoosing a Cloud Spanner timestamp, then executing all reads at that\ntimestamp. Since they do not acquire locks, they do not block\nconcurrent read-write transactions.\n\nUnlike locking read-write transactions, snapshot read-only\ntransactions never abort. They can fail if the chosen read\ntimestamp is garbage collected; however, the default garbage\ncollection policy is generous enough that most applications do not\nneed to worry about this in practice.\n\nSnapshot read-only transactions do not need to call\nCommit or\nRollback (and in fact are not\npermitted to do so).\n\nTo execute a snapshot transaction, the client specifies a timestamp\nbound, which tells Cloud Spanner how to choose a read timestamp.\n\nThe types of timestamp bound are:\n\n  - Strong (the default).\n  - Bounded staleness.\n  - Exact staleness.\n\nIf the Cloud Spanner database to be read is geographically distributed,\nstale read-only transactions can execute more quickly than strong\nor read-write transaction, because they are able to execute far\nfrom the leader replica.\n\nEach type of timestamp bound is discussed in detail below.\n\n### Strong\n\nStrong reads are guaranteed to see the effects of all transactions\nthat have committed before the start of the read. Furthermore, all\nrows yielded by a single read are consistent with each other -- if\nany part of the read observes a transaction, all parts of the read\nsee the transaction.\n\nStrong reads are not repeatable: two consecutive strong read-only\ntransactions might return inconsistent results if there are\nconcurrent writes. If consistency across reads is required, the\nreads should be executed within a transaction or at an exact read\ntimestamp.\n\nSee TransactionOptions.ReadOnly.strong.\n\n### Exact Staleness\n\nThese timestamp bounds execute reads at a user-specified\ntimestamp. Reads at a timestamp are guaranteed to see a consistent\nprefix of the global transaction history: they observe\nmodifications done by all transactions with a commit timestamp \u003c=\nthe read timestamp, and observe none of the modifications done by\ntransactions with a larger commit timestamp. They will block until\nall conflicting transactions that may be assigned commit timestamps\n\u003c= the read timestamp have finished.\n\nThe timestamp can either be expressed as an absolute Cloud Spanner commit\ntimestamp or a staleness relative to the current time.\n\nThese modes do not require a \"negotiation phase\" to pick a\ntimestamp. As a result, they execute slightly faster than the\nequivalent boundedly stale concurrency modes. On the other hand,\nboundedly stale reads usually return fresher results.\n\nSee TransactionOptions.ReadOnly.read_timestamp and\nTransactionOptions.ReadOnly.exact_staleness.\n\n### Bounded Staleness\n\nBounded staleness modes allow Cloud Spanner to pick the read timestamp,\nsubject to a user-provided staleness bound. Cloud Spanner chooses the\nnewest timestamp within the staleness bound that allows execution\nof the reads at the closest available replica without blocking.\n\nAll rows yielded are consistent with each other -- if any part of\nthe read observes a transaction, all parts of the read see the\ntransaction. Boundedly stale reads are not repeatable: two stale\nreads, even if they use the same staleness bound, can execute at\ndifferent timestamps and thus return inconsistent results.\n\nBoundedly stale reads execute in two phases: the first phase\nnegotiates a timestamp among all replicas needed to serve the\nread. In the second phase, reads are executed at the negotiated\ntimestamp.\n\nAs a result of the two phase execution, bounded staleness reads are\nusually a little slower than comparable exact staleness\nreads. However, they are typically able to return fresher\nresults, and are more likely to execute at the closest replica.\n\nBecause the timestamp negotiation requires up-front knowledge of\nwhich rows will be read, it can only be used with single-use\nread-only transactions.\n\nSee TransactionOptions.ReadOnly.max_staleness and\nTransactionOptions.ReadOnly.min_read_timestamp.\n\n### Old Read Timestamps and Garbage Collection\n\nCloud Spanner continuously garbage collects deleted and overwritten data\nin the background to reclaim storage space. This process is known\nas \"version GC\". By default, version GC reclaims versions after they\nare one hour old. Because of this, Cloud Spanner cannot perform reads\nat read timestamps more than one hour in the past. This\nrestriction also applies to in-progress reads and/or SQL queries whose\ntimestamp become too old while executing. Reads and SQL queries with\ntoo-old read timestamps fail with the error `FAILED_PRECONDITION`.\n\n## Partitioned DML Transactions\n\nPartitioned DML transactions are used to execute DML statements with a\ndifferent execution strategy that provides different, and often better,\nscalability properties for large, table-wide operations than DML in a\nReadWrite transaction. Smaller scoped statements, such as an OLTP workload,\nshould prefer using ReadWrite transactions.\n\nPartitioned DML partitions the keyspace and runs the DML statement on each\npartition in separate, internal transactions. These transactions commit\nautomatically when complete, and run independently from one another.\n\nTo reduce lock contention, this execution strategy only acquires read locks\non rows that match the WHERE clause of the statement. Additionally, the\nsmaller per-partition transactions hold locks for less time.\n\nThat said, Partitioned DML is not a drop-in replacement for standard DML used\nin ReadWrite transactions.\n\n - The DML statement must be fully-partitionable. Specifically, the statement\n   must be expressible as the union of many statements which each access only\n   a single row of the table.\n\n - The statement is not applied atomically to all rows of the table. Rather,\n   the statement is applied atomically to partitions of the table, in\n   independent transactions. Secondary index rows are updated atomically\n   with the base table rows.\n\n - Partitioned DML does not guarantee exactly-once execution semantics\n   against a partition. The statement will be applied at least once to each\n   partition. It is strongly recommended that the DML statement should be\n   idempotent to avoid unexpected results. For instance, it is potentially\n   dangerous to run a statement such as\n   `UPDATE table SET column = column + 1` as it could be run multiple times\n   against some rows.\n\n - The partitions are committed automatically - there is no support for\n   Commit or Rollback. If the call returns an error, or if the client issuing\n   the ExecuteSql call dies, it is possible that some rows had the statement\n   executed on them successfully. It is also possible that statement was\n   never executed against other rows.\n\n - Partitioned DML transactions may only contain the execution of a single\n   DML statement via ExecuteSql or ExecuteStreamingSql.\n\n - If any error is encountered during the execution of the partitioned DML\n   operation (for instance, a UNIQUE INDEX violation, division by zero, or a\n   value that cannot be stored due to schema constraints), then the\n   operation is stopped at that point and an error is returned. It is\n   possible that at this point, some partitions have been committed (or even\n   committed multiple times), and other partitions have not been run at all.\n\nGiven the above, Partitioned DML is good fit for large, database-wide,\noperations that are idempotent, such as deleting old rows from a very large\ntable.",
+      "description": "# Transactions Each session can have at most one active transaction at a time (note that standalone reads and queries use a transaction internally and do count towards the one transaction limit). After the active transaction is completed, the session can immediately be re-used for the next transaction. It is not necessary to create a new session for each transaction. # Transaction Modes Cloud Spanner supports three transaction modes: 1. Locking read-write. This type of transaction is the only way to write data into Cloud Spanner. These transactions rely on pessimistic locking and, if necessary, two-phase commit. Locking read-write transactions may abort, requiring the application to retry. 2. Snapshot read-only. This transaction type provides guaranteed consistency across several reads, but does not allow writes. Snapshot read-only transactions can be configured to read at timestamps in the past. Snapshot read-only transactions do not need to be committed. 3. Partitioned DML. This type of transaction is used to execute a single Partitioned DML statement. Partitioned DML partitions the key space and runs the DML statement over each partition in parallel using separate, internal transactions that commit independently. Partitioned DML transactions do not need to be committed. For transactions that only read, snapshot read-only transactions provide simpler semantics and are almost always faster. In particular, read-only transactions do not take locks, so they do not conflict with read-write transactions. As a consequence of not taking locks, they also do not abort, so retry loops are not needed. Transactions may only read/write data in a single database. They may, however, read/write data in different tables within that database. ## Locking Read-Write Transactions Locking transactions may be used to atomically read-modify-write data anywhere in a database. This type of transaction is externally consistent. Clients should attempt to minimize the amount of time a transaction is active. Faster transactions commit with higher probability and cause less contention. Cloud Spanner attempts to keep read locks active as long as the transaction continues to do reads, and the transaction has not been terminated by Commit or Rollback. Long periods of inactivity at the client may cause Cloud Spanner to release a transaction's locks and abort it. Conceptually, a read-write transaction consists of zero or more reads or SQL statements followed by Commit. At any time before Commit, the client can send a Rollback request to abort the transaction. ### Semantics Cloud Spanner can commit the transaction if all read locks it acquired are still valid at commit time, and it is able to acquire write locks for all writes. Cloud Spanner can abort the transaction for any reason. If a commit attempt returns `ABORTED`, Cloud Spanner guarantees that the transaction has not modified any user data in Cloud Spanner. Unless the transaction commits, Cloud Spanner makes no guarantees about how long the transaction's locks were held for. It is an error to use Cloud Spanner locks for any sort of mutual exclusion other than between Cloud Spanner transactions themselves. ### Retrying Aborted Transactions When a transaction aborts, the application can choose to retry the whole transaction again. To maximize the chances of successfully committing the retry, the client should execute the retry in the same session as the original attempt. The original session's lock priority increases with each consecutive abort, meaning that each attempt has a slightly better chance of success than the previous. Under some circumstances (e.g., many transactions attempting to modify the same row(s)), a transaction can abort many times in a short period before successfully committing. Thus, it is not a good idea to cap the number of retries a transaction can attempt; instead, it is better to limit the total amount of wall time spent retrying. ### Idle Transactions A transaction is considered idle if it has no outstanding reads or SQL queries and has not started a read or SQL query within the last 10 seconds. Idle transactions can be aborted by Cloud Spanner so that they don't hold on to locks indefinitely. In that case, the commit will fail with error `ABORTED`. If this behavior is undesirable, periodically executing a simple SQL query in the transaction (e.g., `SELECT 1`) prevents the transaction from becoming idle. ## Snapshot Read-Only Transactions Snapshot read-only transactions provides a simpler method than locking read-write transactions for doing several consistent reads. However, this type of transaction does not support writes. Snapshot transactions do not take locks. Instead, they work by choosing a Cloud Spanner timestamp, then executing all reads at that timestamp. Since they do not acquire locks, they do not block concurrent read-write transactions. Unlike locking read-write transactions, snapshot read-only transactions never abort. They can fail if the chosen read timestamp is garbage collected; however, the default garbage collection policy is generous enough that most applications do not need to worry about this in practice. Snapshot read-only transactions do not need to call Commit or Rollback (and in fact are not permitted to do so). To execute a snapshot transaction, the client specifies a timestamp bound, which tells Cloud Spanner how to choose a read timestamp. The types of timestamp bound are: - Strong (the default). - Bounded staleness. - Exact staleness. If the Cloud Spanner database to be read is geographically distributed, stale read-only transactions can execute more quickly than strong or read-write transaction, because they are able to execute far from the leader replica. Each type of timestamp bound is discussed in detail below. ### Strong Strong reads are guaranteed to see the effects of all transactions that have committed before the start of the read. Furthermore, all rows yielded by a single read are consistent with each other -- if any part of the read observes a transaction, all parts of the read see the transaction. Strong reads are not repeatable: two consecutive strong read-only transactions might return inconsistent results if there are concurrent writes. If consistency across reads is required, the reads should be executed within a transaction or at an exact read timestamp. See TransactionOptions.ReadOnly.strong. ### Exact Staleness These timestamp bounds execute reads at a user-specified timestamp. Reads at a timestamp are guaranteed to see a consistent prefix of the global transaction history: they observe modifications done by all transactions with a commit timestamp \u003c= the read timestamp, and observe none of the modifications done by transactions with a larger commit timestamp. They will block until all conflicting transactions that may be assigned commit timestamps \u003c= the read timestamp have finished. The timestamp can either be expressed as an absolute Cloud Spanner commit timestamp or a staleness relative to the current time. These modes do not require a \"negotiation phase\" to pick a timestamp. As a result, they execute slightly faster than the equivalent boundedly stale concurrency modes. On the other hand, boundedly stale reads usually return fresher results. See TransactionOptions.ReadOnly.read_timestamp and TransactionOptions.ReadOnly.exact_staleness. ### Bounded Staleness Bounded staleness modes allow Cloud Spanner to pick the read timestamp, subject to a user-provided staleness bound. Cloud Spanner chooses the newest timestamp within the staleness bound that allows execution of the reads at the closest available replica without blocking. All rows yielded are consistent with each other -- if any part of the read observes a transaction, all parts of the read see the transaction. Boundedly stale reads are not repeatable: two stale reads, even if they use the same staleness bound, can execute at different timestamps and thus return inconsistent results. Boundedly stale reads execute in two phases: the first phase negotiates a timestamp among all replicas needed to serve the read. In the second phase, reads are executed at the negotiated timestamp. As a result of the two phase execution, bounded staleness reads are usually a little slower than comparable exact staleness reads. However, they are typically able to return fresher results, and are more likely to execute at the closest replica. Because the timestamp negotiation requires up-front knowledge of which rows will be read, it can only be used with single-use read-only transactions. See TransactionOptions.ReadOnly.max_staleness and TransactionOptions.ReadOnly.min_read_timestamp. ### Old Read Timestamps and Garbage Collection Cloud Spanner continuously garbage collects deleted and overwritten data in the background to reclaim storage space. This process is known as \"version GC\". By default, version GC reclaims versions after they are one hour old. Because of this, Cloud Spanner cannot perform reads at read timestamps more than one hour in the past. This restriction also applies to in-progress reads and/or SQL queries whose timestamp become too old while executing. Reads and SQL queries with too-old read timestamps fail with the error `FAILED_PRECONDITION`. ## Partitioned DML Transactions Partitioned DML transactions are used to execute DML statements with a different execution strategy that provides different, and often better, scalability properties for large, table-wide operations than DML in a ReadWrite transaction. Smaller scoped statements, such as an OLTP workload, should prefer using ReadWrite transactions. Partitioned DML partitions the keyspace and runs the DML statement on each partition in separate, internal transactions. These transactions commit automatically when complete, and run independently from one another. To reduce lock contention, this execution strategy only acquires read locks on rows that match the WHERE clause of the statement. Additionally, the smaller per-partition transactions hold locks for less time. That said, Partitioned DML is not a drop-in replacement for standard DML used in ReadWrite transactions. - The DML statement must be fully-partitionable. Specifically, the statement must be expressible as the union of many statements which each access only a single row of the table. - The statement is not applied atomically to all rows of the table. Rather, the statement is applied atomically to partitions of the table, in independent transactions. Secondary index rows are updated atomically with the base table rows. - Partitioned DML does not guarantee exactly-once execution semantics against a partition. The statement will be applied at least once to each partition. It is strongly recommended that the DML statement should be idempotent to avoid unexpected results. For instance, it is potentially dangerous to run a statement such as `UPDATE table SET column = column + 1` as it could be run multiple times against some rows. - The partitions are committed automatically - there is no support for Commit or Rollback. If the call returns an error, or if the client issuing the ExecuteSql call dies, it is possible that some rows had the statement executed on them successfully. It is also possible that statement was never executed against other rows. - Partitioned DML transactions may only contain the execution of a single DML statement via ExecuteSql or ExecuteStreamingSql. - If any error is encountered during the execution of the partitioned DML operation (for instance, a UNIQUE INDEX violation, division by zero, or a value that cannot be stored due to schema constraints), then the operation is stopped at that point and an error is returned. It is possible that at this point, some partitions have been committed (or even committed multiple times), and other partitions have not been run at all. Given the above, Partitioned DML is good fit for large, database-wide, operations that are idempotent, such as deleting old rows from a very large table.",
       "id": "TransactionOptions",
       "properties": {
         "partitionedDml": {
           "$ref": "PartitionedDml",
-          "description": "Partitioned DML transaction.\n\nAuthorization to begin a Partitioned DML transaction requires\n`spanner.databases.beginPartitionedDmlTransaction` permission\non the `session` resource."
+          "description": "Partitioned DML transaction. Authorization to begin a Partitioned DML transaction requires `spanner.databases.beginPartitionedDmlTransaction` permission on the `session` resource."
         },
         "readOnly": {
           "$ref": "ReadOnly",
-          "description": "Transaction will not write.\n\nAuthorization to begin a read-only transaction requires\n`spanner.databases.beginReadOnlyTransaction` permission\non the `session` resource."
+          "description": "Transaction will not write. Authorization to begin a read-only transaction requires `spanner.databases.beginReadOnlyTransaction` permission on the `session` resource."
         },
         "readWrite": {
           "$ref": "ReadWrite",
-          "description": "Transaction may write.\n\nAuthorization to begin a read-write transaction requires\n`spanner.databases.beginOrRollbackReadWriteTransaction` permission\non the `session` resource."
+          "description": "Transaction may write. Authorization to begin a read-write transaction requires `spanner.databases.beginOrRollbackReadWriteTransaction` permission on the `session` resource."
         }
       },
       "type": "object"
     },
     "TransactionSelector": {
-      "description": "This message is used to select the transaction in which a\nRead or\nExecuteSql call runs.\n\nSee TransactionOptions for more information about transactions.",
+      "description": "This message is used to select the transaction in which a Read or ExecuteSql call runs. See TransactionOptions for more information about transactions.",
       "id": "TransactionSelector",
       "properties": {
         "begin": {
           "$ref": "TransactionOptions",
-          "description": "Begin a new transaction and execute this read or SQL query in\nit. The transaction ID of the new transaction is returned in\nResultSetMetadata.transaction, which is a Transaction."
+          "description": "Begin a new transaction and execute this read or SQL query in it. The transaction ID of the new transaction is returned in ResultSetMetadata.transaction, which is a Transaction."
         },
         "id": {
           "description": "Execute the read or SQL query in a previously-started transaction.",
@@ -3545,18 +3556,18 @@
         },
         "singleUse": {
           "$ref": "TransactionOptions",
-          "description": "Execute the read or SQL query in a temporary transaction.\nThis is the most efficient way to execute a transaction that\nconsists of a single SQL query."
+          "description": "Execute the read or SQL query in a temporary transaction. This is the most efficient way to execute a transaction that consists of a single SQL query."
         }
       },
       "type": "object"
     },
     "Type": {
-      "description": "`Type` indicates the type of a Cloud Spanner value, as might be stored in a\ntable cell or returned from an SQL query.",
+      "description": "`Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query.",
       "id": "Type",
       "properties": {
         "arrayElementType": {
           "$ref": "Type",
-          "description": "If code == ARRAY, then `array_element_type`\nis the type of the array elements."
+          "description": "If code == ARRAY, then `array_element_type` is the type of the array elements."
         },
         "code": {
           "description": "Required. The TypeCode for this type.",
@@ -3577,30 +3588,30 @@
             "Not specified.",
             "Encoded as JSON `true` or `false`.",
             "Encoded as `string`, in decimal format.",
-            "Encoded as `number`, or the strings `\"NaN\"`, `\"Infinity\"`, or\n`\"-Infinity\"`.",
-            "Encoded as `string` in RFC 3339 timestamp format. The time zone\nmust be present, and must be `\"Z\"`.\n\nIf the schema has the column option\n`allow_commit_timestamp=true`, the placeholder string\n`\"spanner.commit_timestamp()\"` can be used to instruct the system\nto insert the commit timestamp associated with the transaction\ncommit.",
+            "Encoded as `number`, or the strings `\"NaN\"`, `\"Infinity\"`, or `\"-Infinity\"`.",
+            "Encoded as `string` in RFC 3339 timestamp format. The time zone must be present, and must be `\"Z\"`. If the schema has the column option `allow_commit_timestamp=true`, the placeholder string `\"spanner.commit_timestamp()\"` can be used to instruct the system to insert the commit timestamp associated with the transaction commit.",
             "Encoded as `string` in RFC 3339 date format.",
             "Encoded as `string`.",
-            "Encoded as a base64-encoded `string`, as described in RFC 4648,\nsection 4.",
-            "Encoded as `list`, where the list elements are represented\naccording to\narray_element_type.",
-            "Encoded as `list`, where list element `i` is represented according\nto [struct_type.fields[i]][google.spanner.v1.StructType.fields].",
-            "Encoded as `string`, in decimal format or scientific notation format.\n\u003cbr\u003eDecimal format:\n\u003cbr\u003e`[+-]Digits[.[Digits]]` or\n\u003cbr\u003e`+-.Digits`\n\nScientific notation:\n\u003cbr\u003e`[+-]Digits[.[Digits]][ExponentIndicator[+-]Digits]` or\n\u003cbr\u003e`+-.Digits[ExponentIndicator[+-]Digits]`\n\u003cbr\u003e(ExponentIndicator is `\"e\"` or `\"E\"`)"
+            "Encoded as a base64-encoded `string`, as described in RFC 4648, section 4.",
+            "Encoded as `list`, where the list elements are represented according to array_element_type.",
+            "Encoded as `list`, where list element `i` is represented according to [struct_type.fields[i]][google.spanner.v1.StructType.fields].",
+            "Encoded as `string`, in decimal format or scientific notation format. Decimal format: `[+-]Digits[.[Digits]]` or `+-.Digits` Scientific notation: `[+-]Digits[.[Digits]][ExponentIndicator[+-]Digits]` or `+-.Digits[ExponentIndicator[+-]Digits]` (ExponentIndicator is `\"e\"` or `\"E\"`)"
           ],
           "type": "string"
         },
         "structType": {
           "$ref": "StructType",
-          "description": "If code == STRUCT, then `struct_type`\nprovides type information for the struct's fields."
+          "description": "If code == STRUCT, then `struct_type` provides type information for the struct's fields."
         }
       },
       "type": "object"
     },
     "UpdateDatabaseDdlMetadata": {
-      "description": "Metadata type for the operation returned by\nUpdateDatabaseDdl.",
+      "description": "Metadata type for the operation returned by UpdateDatabaseDdl.",
       "id": "UpdateDatabaseDdlMetadata",
       "properties": {
         "commitTimestamps": {
-          "description": "Reports the commit timestamps of all statements that have\nsucceeded so far, where `commit_timestamps[i]` is the commit\ntimestamp for the statement `statements[i]`.",
+          "description": "Reports the commit timestamps of all statements that have succeeded so far, where `commit_timestamps[i]` is the commit timestamp for the statement `statements[i]`.",
           "items": {
             "format": "google-datetime",
             "type": "string"
@@ -3612,7 +3623,7 @@
           "type": "string"
         },
         "statements": {
-          "description": "For an update this list contains all the statements. For an\nindividual statement, this list contains only that statement.",
+          "description": "For an update this list contains all the statements. For an individual statement, this list contains only that statement.",
           "items": {
             "type": "string"
           },
@@ -3622,11 +3633,11 @@
       "type": "object"
     },
     "UpdateDatabaseDdlRequest": {
-      "description": "Enqueues the given DDL statements to be applied, in order but not\nnecessarily all at once, to the database schema at some point (or\npoints) in the future. The server checks that the statements\nare executable (syntactically valid, name tables that exist, etc.)\nbefore enqueueing them, but they may still fail upon\nlater execution (e.g., if a statement from another batch of\nstatements is applied first and it conflicts in some way, or if\nthere is some data-related problem like a `NULL` value in a column to\nwhich `NOT NULL` would be added). If a statement fails, all\nsubsequent statements in the batch are automatically cancelled.\n\nEach batch of statements is assigned a name which can be used with\nthe Operations API to monitor\nprogress. See the\noperation_id field for more\ndetails.",
+      "description": "Enqueues the given DDL statements to be applied, in order but not necessarily all at once, to the database schema at some point (or points) in the future. The server checks that the statements are executable (syntactically valid, name tables that exist, etc.) before enqueueing them, but they may still fail upon later execution (e.g., if a statement from another batch of statements is applied first and it conflicts in some way, or if there is some data-related problem like a `NULL` value in a column to which `NOT NULL` would be added). If a statement fails, all subsequent statements in the batch are automatically cancelled. Each batch of statements is assigned a name which can be used with the Operations API to monitor progress. See the operation_id field for more details.",
       "id": "UpdateDatabaseDdlRequest",
       "properties": {
         "operationId": {
-          "description": "If empty, the new update request is assigned an\nautomatically-generated operation ID. Otherwise, `operation_id`\nis used to construct the name of the resulting\nOperation.\n\nSpecifying an explicit operation ID simplifies determining\nwhether the statements were executed in the event that the\nUpdateDatabaseDdl call is replayed,\nor the return value is otherwise lost: the database and\n`operation_id` fields can be combined to form the\nname of the resulting\nlongrunning.Operation: `\u003cdatabase\u003e/operations/\u003coperation_id\u003e`.\n\n`operation_id` should be unique within the database, and must be\na valid identifier: `a-z*`. Note that\nautomatically-generated operation IDs always begin with an\nunderscore. If the named operation already exists,\nUpdateDatabaseDdl returns\n`ALREADY_EXISTS`.",
+          "description": "If empty, the new update request is assigned an automatically-generated operation ID. Otherwise, `operation_id` is used to construct the name of the resulting Operation. Specifying an explicit operation ID simplifies determining whether the statements were executed in the event that the UpdateDatabaseDdl call is replayed, or the return value is otherwise lost: the database and `operation_id` fields can be combined to form the name of the resulting longrunning.Operation: `/operations/`. `operation_id` should be unique within the database, and must be a valid identifier: `a-z*`. Note that automatically-generated operation IDs always begin with an underscore. If the named operation already exists, UpdateDatabaseDdl returns `ALREADY_EXISTS`.",
           "type": "string"
         },
         "statements": {
@@ -3640,11 +3651,11 @@
       "type": "object"
     },
     "UpdateInstanceMetadata": {
-      "description": "Metadata type for the operation returned by\nUpdateInstance.",
+      "description": "Metadata type for the operation returned by UpdateInstance.",
       "id": "UpdateInstanceMetadata",
       "properties": {
         "cancelTime": {
-          "description": "The time at which this operation was cancelled. If set, this operation is\nin the process of undoing itself (which is guaranteed to succeed) and\ncannot be cancelled again.",
+          "description": "The time at which this operation was cancelled. If set, this operation is in the process of undoing itself (which is guaranteed to succeed) and cannot be cancelled again.",
           "format": "google-datetime",
           "type": "string"
         },
@@ -3658,7 +3669,7 @@
           "description": "The desired end state of the update."
         },
         "startTime": {
-          "description": "The time at which UpdateInstance\nrequest was received.",
+          "description": "The time at which UpdateInstance request was received.",
           "format": "google-datetime",
           "type": "string"
         }
@@ -3670,23 +3681,23 @@
       "id": "UpdateInstanceRequest",
       "properties": {
         "fieldMask": {
-          "description": "Required. A mask specifying which fields in Instance should be updated.\nThe field mask must always be specified; this prevents any future fields in\nInstance from being erased accidentally by clients that do not know\nabout them.",
+          "description": "Required. A mask specifying which fields in Instance should be updated. The field mask must always be specified; this prevents any future fields in Instance from being erased accidentally by clients that do not know about them.",
           "format": "google-fieldmask",
           "type": "string"
         },
         "instance": {
           "$ref": "Instance",
-          "description": "Required. The instance to update, which must always include the instance\nname.  Otherwise, only fields mentioned in field_mask need be included."
+          "description": "Required. The instance to update, which must always include the instance name. Otherwise, only fields mentioned in field_mask need be included."
         }
       },
       "type": "object"
     },
     "Write": {
-      "description": "Arguments to insert, update, insert_or_update, and\nreplace operations.",
+      "description": "Arguments to insert, update, insert_or_update, and replace operations.",
       "id": "Write",
       "properties": {
         "columns": {
-          "description": "The names of the columns in table to be written.\n\nThe list of columns must contain enough columns to allow\nCloud Spanner to derive values for all primary key columns in the\nrow(s) to be modified.",
+          "description": "The names of the columns in table to be written. The list of columns must contain enough columns to allow Cloud Spanner to derive values for all primary key columns in the row(s) to be modified.",
           "items": {
             "type": "string"
           },
@@ -3697,7 +3708,7 @@
           "type": "string"
         },
         "values": {
-          "description": "The values to be written. `values` can contain more than one\nlist of values. If it does, then multiple rows are written, one\nfor each entry in `values`. Each list in `values` must have\nexactly as many entries as there are entries in columns\nabove. Sending multiple lists is equivalent to sending multiple\n`Mutation`s, each containing one `values` entry and repeating\ntable and columns. Individual values in each list are\nencoded as described here.",
+          "description": "The values to be written. `values` can contain more than one list of values. If it does, then multiple rows are written, one for each entry in `values`. Each list in `values` must have exactly as many entries as there are entries in columns above. Sending multiple lists is equivalent to sending multiple `Mutation`s, each containing one `values` entry and repeating table and columns. Individual values in each list are encoded as described here.",
           "items": {
             "items": {
               "type": "any"
diff --git a/spanner/v1/spanner-gen.go b/spanner/v1/spanner-gen.go
index 1c81e6c..73d0a27 100644
--- a/spanner/v1/spanner-gen.go
+++ b/spanner/v1/spanner-gen.go
@@ -281,64 +281,42 @@
 // Backup: A backup of a Cloud Spanner database.
 type Backup struct {
 	// CreateTime: Output only. The backup will contain an externally
-	// consistent
-	// copy of the database at the timestamp specified by
-	// `create_time`. `create_time` is approximately the time
-	// the
+	// consistent copy of the database at the timestamp specified by
+	// `create_time`. `create_time` is approximately the time the
 	// CreateBackup request is received.
 	CreateTime string `json:"createTime,omitempty"`
 
-	// Database: Required for the CreateBackup operation.
-	// Name of the database from which this backup was
-	// created. This needs to be in the same instance as the backup.
-	// Values are of the
-	// form
-	// `projects/<project>/instances/<instance>/databases/<database>`.
+	// Database: Required for the CreateBackup operation. Name of the
+	// database from which this backup was created. This needs to be in the
+	// same instance as the backup. Values are of the form
+	// `projects//instances//databases/`.
 	Database string `json:"database,omitempty"`
 
-	// ExpireTime: Required for the CreateBackup
-	// operation. The expiration time of the backup, with
-	// microseconds
-	// granularity that must be at least 6 hours and at most 366 days
-	// from the time the CreateBackup request is processed. Once the
-	// `expire_time`
-	// has passed, the backup is eligible to be automatically deleted by
-	// Cloud
-	// Spanner to free the resources used by the backup.
+	// ExpireTime: Required for the CreateBackup operation. The expiration
+	// time of the backup, with microseconds granularity that must be at
+	// least 6 hours and at most 366 days from the time the CreateBackup
+	// request is processed. Once the `expire_time` has passed, the backup
+	// is eligible to be automatically deleted by Cloud Spanner to free the
+	// resources used by the backup.
 	ExpireTime string `json:"expireTime,omitempty"`
 
-	// Name: Output only for the CreateBackup operation.
-	// Required for the UpdateBackup operation.
-	//
-	// A globally unique identifier for the backup which cannot be
-	// changed. Values are of the
-	// form
-	// `projects/<project>/instances/<instance>/backups/a-z*[a-z0-9]`
-	// Th
-	// e final segment of the name must be between 2 and 60 characters
-	// in length.
-	//
-	// The backup is stored in the location(s) specified in the
-	// instance
-	// configuration of the instance containing the backup, identified
-	// by the prefix of the backup name of the
-	// form
-	// `projects/<project>/instances/<instance>`.
+	// Name: Output only for the CreateBackup operation. Required for the
+	// UpdateBackup operation. A globally unique identifier for the backup
+	// which cannot be changed. Values are of the form
+	// `projects//instances//backups/a-z*[a-z0-9]` The final segment of the
+	// name must be between 2 and 60 characters in length. The backup is
+	// stored in the location(s) specified in the instance configuration of
+	// the instance containing the backup, identified by the prefix of the
+	// backup name of the form `projects//instances/`.
 	Name string `json:"name,omitempty"`
 
 	// ReferencingDatabases: Output only. The names of the restored
-	// databases that reference the backup.
-	// The database names are of
-	// the form
-	// `projects/<project>/instances/<instance>/databases/<database>`.
-	// Refere
-	// ncing databases may exist in different instances. The existence
-	// of
-	// any referencing database prevents the backup from being deleted. When
-	// a
-	// restored database from the backup enters the `READY` state, the
-	// reference
-	// to the backup is removed.
+	// databases that reference the backup. The database names are of the
+	// form `projects//instances//databases/`. Referencing databases may
+	// exist in different instances. The existence of any referencing
+	// database prevents the backup from being deleted. When a restored
+	// database from the backup enters the `READY` state, the reference to
+	// the backup is removed.
 	ReferencingDatabases []string `json:"referencingDatabases,omitempty"`
 
 	// SizeBytes: Output only. Size of the backup in bytes.
@@ -349,8 +327,7 @@
 	// Possible values:
 	//   "STATE_UNSPECIFIED" - Not specified.
 	//   "CREATING" - The pending backup is still being created. Operations
-	// on the
-	// backup may fail with `FAILED_PRECONDITION` in this state.
+	// on the backup may fail with `FAILED_PRECONDITION` in this state.
 	//   "READY" - The backup is complete and ready for use.
 	State string `json:"state,omitempty"`
 
@@ -387,8 +364,7 @@
 	Backup string `json:"backup,omitempty"`
 
 	// CreateTime: The backup contains an externally consistent copy of
-	// `source_database` at
-	// the timestamp specified by `create_time`.
+	// `source_database` at the timestamp specified by `create_time`.
 	CreateTime string `json:"createTime,omitempty"`
 
 	// SourceDatabase: Name of the database the backup was created from.
@@ -420,12 +396,9 @@
 // BatchCreateSessionsRequest: The request for BatchCreateSessions.
 type BatchCreateSessionsRequest struct {
 	// SessionCount: Required. The number of sessions to be created in this
-	// batch call.
-	// The API may return fewer than the requested number of sessions. If
-	// a
-	// specific number of sessions are desired, the client can make
-	// additional
-	// calls to BatchCreateSessions (adjusting
+	// batch call. The API may return fewer than the requested number of
+	// sessions. If a specific number of sessions are desired, the client
+	// can make additional calls to BatchCreateSessions (adjusting
 	// session_count as necessary).
 	SessionCount int64 `json:"sessionCount,omitempty"`
 
@@ -517,95 +490,53 @@
 
 // Binding: Associates `members` with a `role`.
 type Binding struct {
-	// Condition: The condition that is associated with this binding.
-	//
-	// If the condition evaluates to `true`, then this binding applies to
-	// the
-	// current request.
-	//
-	// If the condition evaluates to `false`, then this binding does not
-	// apply to
-	// the current request. However, a different role binding might grant
-	// the same
-	// role to one or more of the members in this binding.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// Condition: The condition that is associated with this binding. If the
+	// condition evaluates to `true`, then this binding applies to the
+	// current request. If the condition evaluates to `false`, then this
+	// binding does not apply to the current request. However, a different
+	// role binding might grant the same role to one or more of the members
+	// in this binding. To learn which resources support conditions in their
+	// IAM policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	Condition *Expr `json:"condition,omitempty"`
 
 	// Members: Specifies the identities requesting access for a Cloud
-	// Platform resource.
-	// `members` can have the following values:
-	//
-	// * `allUsers`: A special identifier that represents anyone who is
-	//    on the internet; with or without a Google account.
-	//
-	// * `allAuthenticatedUsers`: A special identifier that represents
-	// anyone
-	//    who is authenticated with a Google account or a service
-	// account.
-	//
-	// * `user:{emailid}`: An email address that represents a specific
-	// Google
-	//    account. For example, `alice@example.com` .
-	//
-	//
-	// * `serviceAccount:{emailid}`: An email address that represents a
-	// service
-	//    account. For example,
-	// `my-other-app@appspot.gserviceaccount.com`.
-	//
-	// * `group:{emailid}`: An email address that represents a Google
-	// group.
-	//    For example, `admins@example.com`.
-	//
-	// * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a user that has been recently deleted.
-	// For
-	//    example, `alice@example.com?uid=123456789012345678901`. If the
-	// user is
-	//    recovered, this value reverts to `user:{emailid}` and the
-	// recovered user
-	//    retains the role in the binding.
-	//
-	// * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
-	// (plus
-	//    unique identifier) representing a service account that has been
-	// recently
-	//    deleted. For example,
-	//
+	// Platform resource. `members` can have the following values: *
+	// `allUsers`: A special identifier that represents anyone who is on the
+	// internet; with or without a Google account. *
+	// `allAuthenticatedUsers`: A special identifier that represents anyone
+	// who is authenticated with a Google account or a service account. *
+	// `user:{emailid}`: An email address that represents a specific Google
+	// account. For example, `alice@example.com` . *
+	// `serviceAccount:{emailid}`: An email address that represents a
+	// service account. For example,
+	// `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An
+	// email address that represents a Google group. For example,
+	// `admins@example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An
+	// email address (plus unique identifier) representing a user that has
+	// been recently deleted. For example,
+	// `alice@example.com?uid=123456789012345678901`. If the user is
+	// recovered, this value reverts to `user:{emailid}` and the recovered
+	// user retains the role in the binding. *
+	// `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address
+	// (plus unique identifier) representing a service account that has been
+	// recently deleted. For example,
 	// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
-	//
-	//    If the service account is undeleted, this value reverts to
-	//    `serviceAccount:{emailid}` and the undeleted service account
-	// retains the
-	//    role in the binding.
-	//
-	// * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus
-	// unique
-	//    identifier) representing a Google group that has been recently
-	//    deleted. For example,
-	// `admins@example.com?uid=123456789012345678901`. If
-	//    the group is recovered, this value reverts to `group:{emailid}`
-	// and the
-	//    recovered group retains the role in the binding.
-	//
-	//
-	// * `domain:{domain}`: The G Suite domain (primary) that represents all
-	// the
-	//    users of that domain. For example, `google.com` or
-	// `example.com`.
-	//
-	//
+	// If the service account is undeleted, this value reverts to
+	// `serviceAccount:{emailid}` and the undeleted service account retains
+	// the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`:
+	// An email address (plus unique identifier) representing a Google group
+	// that has been recently deleted. For example,
+	// `admins@example.com?uid=123456789012345678901`. If the group is
+	// recovered, this value reverts to `group:{emailid}` and the recovered
+	// group retains the role in the binding. * `domain:{domain}`: The G
+	// Suite domain (primary) that represents all the users of that domain.
+	// For example, `google.com` or `example.com`.
 	Members []string `json:"members,omitempty"`
 
-	// Role: Role that is assigned to `members`.
-	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
+	// Role: Role that is assigned to `members`. For example,
+	// `roles/viewer`, `roles/editor`, or `roles/owner`.
 	Role string `json:"role,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Condition") to
@@ -632,34 +563,24 @@
 }
 
 // ChildLink: Metadata associated with a parent-child relationship
-// appearing in a
-// PlanNode.
+// appearing in a PlanNode.
 type ChildLink struct {
 	// ChildIndex: The node to which the link points.
 	ChildIndex int64 `json:"childIndex,omitempty"`
 
 	// Type: The type of the link. For example, in Hash Joins this could be
-	// used to
-	// distinguish between the build child and the probe child, or in the
-	// case
-	// of the child being an output variable, to represent the tag
-	// associated
-	// with the output variable.
+	// used to distinguish between the build child and the probe child, or
+	// in the case of the child being an output variable, to represent the
+	// tag associated with the output variable.
 	Type string `json:"type,omitempty"`
 
-	// Variable: Only present if the child node is SCALAR and corresponds
-	// to an output variable of the parent node. The field carries the name
-	// of
-	// the output variable.
-	// For example, a `TableScan` operator that reads rows from a table
-	// will
-	// have child links to the `SCALAR` nodes representing the output
-	// variables
-	// created for each column that is read by the operator. The
-	// corresponding
-	// `variable` fields will be set to the variable names assigned to
-	// the
-	// columns.
+	// Variable: Only present if the child node is SCALAR and corresponds to
+	// an output variable of the parent node. The field carries the name of
+	// the output variable. For example, a `TableScan` operator that reads
+	// rows from a table will have child links to the `SCALAR` nodes
+	// representing the output variables created for each column that is
+	// read by the operator. The corresponding `variable` fields will be set
+	// to the variable names assigned to the columns.
 	Variable string `json:"variable,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ChildIndex") to
@@ -688,23 +609,18 @@
 // CommitRequest: The request for Commit.
 type CommitRequest struct {
 	// Mutations: The mutations to be executed when this transaction
-	// commits. All
-	// mutations are applied atomically, in the order they appear in
-	// this list.
+	// commits. All mutations are applied atomically, in the order they
+	// appear in this list.
 	Mutations []*Mutation `json:"mutations,omitempty"`
 
 	// SingleUseTransaction: Execute mutations in a temporary transaction.
-	// Note that unlike
-	// commit of a previously-started transaction, commit with a
-	// temporary transaction is non-idempotent. That is, if
-	// the
-	// `CommitRequest` is sent to Cloud Spanner more than once
-	// (for
-	// instance, due to retries in the application, or in the
-	// transport library), it is possible that the mutations are
-	// executed more than once. If this is undesirable, use
-	// BeginTransaction and
-	// Commit instead.
+	// Note that unlike commit of a previously-started transaction, commit
+	// with a temporary transaction is non-idempotent. That is, if the
+	// `CommitRequest` is sent to Cloud Spanner more than once (for
+	// instance, due to retries in the application, or in the transport
+	// library), it is possible that the mutations are executed more than
+	// once. If this is undesirable, use BeginTransaction and Commit
+	// instead.
 	SingleUseTransaction *TransactionOptions `json:"singleUseTransaction,omitempty"`
 
 	// TransactionId: Commit a previously-started transaction.
@@ -767,28 +683,19 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// CreateBackupMetadata: Metadata type for the operation returned
-// by
+// CreateBackupMetadata: Metadata type for the operation returned by
 // CreateBackup.
 type CreateBackupMetadata struct {
 	// CancelTime: The time at which cancellation of this operation was
-	// received.
-	// Operations.CancelOperation
-	// starts asynchronous cancellation on a long-running operation. The
-	// server
-	// makes a best effort to cancel the operation, but success is not
-	// guaranteed.
-	// 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`.
+	// received. Operations.CancelOperation starts asynchronous cancellation
+	// on a long-running operation. The server makes a best effort to cancel
+	// the operation, but success is not guaranteed. 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`.
 	CancelTime string `json:"cancelTime,omitempty"`
 
 	// Database: The name of the database the backup is created from.
@@ -797,8 +704,7 @@
 	// Name: The name of the backup being created.
 	Name string `json:"name,omitempty"`
 
-	// Progress: The progress of the
-	// CreateBackup operation.
+	// Progress: The progress of the CreateBackup operation.
 	Progress *OperationProgress `json:"progress,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CancelTime") to
@@ -824,8 +730,7 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// CreateDatabaseMetadata: Metadata type for the operation returned
-// by
+// CreateDatabaseMetadata: Metadata type for the operation returned by
 // CreateDatabase.
 type CreateDatabaseMetadata struct {
 	// Database: The database being created.
@@ -857,21 +762,18 @@
 // CreateDatabaseRequest: The request for CreateDatabase.
 type CreateDatabaseRequest struct {
 	// CreateStatement: Required. A `CREATE DATABASE` statement, which
-	// specifies the ID of the
-	// new database.  The database ID must conform to the regular
-	// expression
-	// `a-z*[a-z0-9]` and be between 2 and 30 characters in length.
-	// If the database ID is a reserved word or if it contains a hyphen,
-	// the
-	// database ID must be enclosed in backticks (`` ` ``).
+	// specifies the ID of the new database. The database ID must conform to
+	// the regular expression `a-z*[a-z0-9]` and be between 2 and 30
+	// characters in length. If the database ID is a reserved word or if it
+	// contains a hyphen, the database ID must be enclosed in backticks (``
+	// ` ``).
 	CreateStatement string `json:"createStatement,omitempty"`
 
 	// ExtraStatements: Optional. A list of DDL statements to run inside the
-	// newly created
-	// database. Statements can create tables, indexes, etc.
-	// These
-	// statements execute atomically with the creation of the database:
-	// if there is an error in any statement, the database is not created.
+	// newly created database. Statements can create tables, indexes, etc.
+	// These statements execute atomically with the creation of the
+	// database: if there is an error in any statement, the database is not
+	// created.
 	ExtraStatements []string `json:"extraStatements,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CreateStatement") to
@@ -898,15 +800,12 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// CreateInstanceMetadata: Metadata type for the operation returned
-// by
+// CreateInstanceMetadata: Metadata type for the operation returned by
 // CreateInstance.
 type CreateInstanceMetadata struct {
 	// CancelTime: The time at which this operation was cancelled. If set,
-	// this operation is
-	// in the process of undoing itself (which is guaranteed to succeed)
-	// and
-	// cannot be cancelled again.
+	// this operation is in the process of undoing itself (which is
+	// guaranteed to succeed) and cannot be cancelled again.
 	CancelTime string `json:"cancelTime,omitempty"`
 
 	// EndTime: The time at which this operation failed or was completed
@@ -916,9 +815,7 @@
 	// Instance: The instance being created.
 	Instance *Instance `json:"instance,omitempty"`
 
-	// StartTime: The time at which the
-	// CreateInstance request was
-	// received.
+	// StartTime: The time at which the CreateInstance request was received.
 	StartTime string `json:"startTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CancelTime") to
@@ -946,16 +843,13 @@
 
 // CreateInstanceRequest: The request for CreateInstance.
 type CreateInstanceRequest struct {
-	// Instance: Required. The instance to create.  The name may be omitted,
-	// but if
-	// specified must be `<parent>/instances/<instance_id>`.
+	// Instance: Required. The instance to create. The name may be omitted,
+	// but if specified must be `/instances/`.
 	Instance *Instance `json:"instance,omitempty"`
 
-	// InstanceId: Required. The ID of the instance to create.  Valid
-	// identifiers are of the
-	// form `a-z*[a-z0-9]` and must be between 2 and 64 characters
-	// in
-	// length.
+	// InstanceId: Required. The ID of the instance to create. Valid
+	// identifiers are of the form `a-z*[a-z0-9]` and must be between 2 and
+	// 64 characters in length.
 	InstanceId string `json:"instanceId,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Instance") to
@@ -1015,18 +909,14 @@
 	// creation started.
 	CreateTime string `json:"createTime,omitempty"`
 
-	// Name: Required. The name of the database. Values are of the
-	// form
-	// `projects/<project>/instances/<instance>/databases/<database>`,
-	// w
-	// here `<database>` is as specified in the `CREATE DATABASE`
-	// statement. This name can be passed to other API methods to
-	// identify the database.
+	// Name: Required. The name of the database. Values are of the form
+	// `projects//instances//databases/`, where `` is as specified in the
+	// `CREATE DATABASE` statement. This name can be passed to other API
+	// methods to identify the database.
 	Name string `json:"name,omitempty"`
 
 	// RestoreInfo: Output only. Applicable only for restored databases.
-	// Contains information
-	// about the restore source.
+	// Contains information about the restore source.
 	RestoreInfo *RestoreInfo `json:"restoreInfo,omitempty"`
 
 	// State: Output only. The current database state.
@@ -1034,20 +924,14 @@
 	// Possible values:
 	//   "STATE_UNSPECIFIED" - Not specified.
 	//   "CREATING" - The database is still being created. Operations on the
-	// database may fail
-	// with `FAILED_PRECONDITION` in this state.
+	// database may fail with `FAILED_PRECONDITION` in this state.
 	//   "READY" - The database is fully created and ready for use.
 	//   "READY_OPTIMIZING" - The database is fully created and ready for
-	// use, but is still
-	// being optimized for performance and cannot handle full load.
-	//
-	// In this state, the database still references the backup
-	// it was restore from, preventing the backup
-	// from being deleted. When optimizations are complete, the full
-	// performance
-	// of the database will be restored, and the database will transition
-	// to
-	// `READY` state.
+	// use, but is still being optimized for performance and cannot handle
+	// full load. In this state, the database still references the backup it
+	// was restore from, preventing the backup from being deleted. When
+	// optimizations are complete, the full performance of the database will
+	// be restored, and the database will transition to `READY` state.
 	State string `json:"state,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1080,15 +964,11 @@
 // Delete: Arguments to delete operations.
 type Delete struct {
 	// KeySet: Required. The primary keys of the rows within table to
-	// delete.  The
-	// primary keys must be specified in the order in which they appear in
-	// the
-	// `PRIMARY KEY()` clause of the table's equivalent DDL statement (the
-	// DDL
-	// statement used to create the table).
-	// Delete is idempotent. The transaction will succeed even if some or
-	// all
-	// rows do not exist.
+	// delete. The primary keys must be specified in the order in which they
+	// appear in the `PRIMARY KEY()` clause of the table's equivalent DDL
+	// statement (the DDL statement used to create the table). Delete is
+	// idempotent. The transaction will succeed even if some or all rows do
+	// not exist.
 	KeySet *KeySet `json:"keySet,omitempty"`
 
 	// Table: Required. The table whose rows will be deleted.
@@ -1118,17 +998,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -1138,40 +1012,27 @@
 // ExecuteBatchDmlRequest: The request for ExecuteBatchDml.
 type ExecuteBatchDmlRequest struct {
 	// Seqno: Required. A per-transaction sequence number used to identify
-	// this request. This field
-	// makes each request idempotent such that if the request is received
-	// multiple
-	// times, at most one will succeed.
-	//
-	// The sequence number must be monotonically increasing within
-	// the
+	// this request. This field makes each request idempotent such that if
+	// the request is received multiple times, at most one will succeed. The
+	// sequence number must be monotonically increasing within the
 	// transaction. If a request arrives for the first time with an
-	// out-of-order
-	// sequence number, the transaction may be aborted. Replays of
-	// previously
-	// handled requests will yield the same response as the first execution.
+	// out-of-order sequence number, the transaction may be aborted. Replays
+	// of previously handled requests will yield the same response as the
+	// first execution.
 	Seqno int64 `json:"seqno,omitempty,string"`
 
 	// Statements: Required. The list of statements to execute in this
-	// batch. Statements are executed
-	// serially, such that the effects of statement `i` are visible to
-	// statement
-	// `i+1`. Each statement must be a DML statement. Execution stops at
-	// the
-	// first failed statement; the remaining statements are not
-	// executed.
-	//
-	// Callers must provide at least one statement.
+	// batch. Statements are executed serially, such that the effects of
+	// statement `i` are visible to statement `i+1`. Each statement must be
+	// a DML statement. Execution stops at the first failed statement; the
+	// remaining statements are not executed. Callers must provide at least
+	// one statement.
 	Statements []*Statement `json:"statements,omitempty"`
 
 	// Transaction: Required. The transaction to use. Must be a read-write
-	// transaction.
-	//
-	// To protect against replays, single-use transactions are not
-	// supported. The
-	// caller must either supply an existing transaction ID or begin a
-	// new
-	// transaction.
+	// transaction. To protect against replays, single-use transactions are
+	// not supported. The caller must either supply an existing transaction
+	// ID or begin a new transaction.
 	Transaction *TransactionSelector `json:"transaction,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Seqno") to
@@ -1198,57 +1059,32 @@
 }
 
 // ExecuteBatchDmlResponse: The response for ExecuteBatchDml. Contains a
-// list
-// of ResultSet messages, one for each DML statement that has
-// successfully
-// executed, in the same order as the statements in the request. If a
-// statement
-// fails, the status in the response body identifies the cause of the
-// failure.
-//
-// To check for DML statements that failed, use the following
-// approach:
-//
-// 1. Check the status in the response message. The google.rpc.Code
-// enum
-//    value `OK` indicates that all statements were executed
-// successfully.
-// 2. If the status was not `OK`, check the number of result sets in
-// the
-//    response. If the response contains `N` ResultSet messages, then
-//    statement `N+1` in the request failed.
-//
-// Example 1:
-//
-// * Request: 5 DML statements, all executed successfully.
-// * Response: 5 ResultSet messages, with the status `OK`.
-//
-// Example 2:
-//
-// * Request: 5 DML statements. The third statement has a syntax
-// error.
-// * Response: 2 ResultSet messages, and a syntax error
-// (`INVALID_ARGUMENT`)
-//   status. The number of ResultSet messages indicates that the third
-//   statement failed, and the fourth and fifth statements were not
-// executed.
+// list of ResultSet messages, one for each DML statement that has
+// successfully executed, in the same order as the statements in the
+// request. If a statement fails, the status in the response body
+// identifies the cause of the failure. To check for DML statements that
+// failed, use the following approach: 1. Check the status in the
+// response message. The google.rpc.Code enum value `OK` indicates that
+// all statements were executed successfully. 2. If the status was not
+// `OK`, check the number of result sets in the response. If the
+// response contains `N` ResultSet messages, then statement `N+1` in the
+// request failed. Example 1: * Request: 5 DML statements, all executed
+// successfully. * Response: 5 ResultSet messages, with the status `OK`.
+// Example 2: * Request: 5 DML statements. The third statement has a
+// syntax error. * Response: 2 ResultSet messages, and a syntax error
+// (`INVALID_ARGUMENT`) status. The number of ResultSet messages
+// indicates that the third statement failed, and the fourth and fifth
+// statements were not executed.
 type ExecuteBatchDmlResponse struct {
 	// ResultSets: One ResultSet for each statement in the request that ran
-	// successfully,
-	// in the same order as the statements in the request. Each ResultSet
-	// does
-	// not contain any rows. The ResultSetStats in each ResultSet
-	// contain
-	// the number of rows modified by the statement.
-	//
-	// Only the first ResultSet in the response contains
-	// valid
-	// ResultSetMetadata.
+	// successfully, in the same order as the statements in the request.
+	// Each ResultSet does not contain any rows. The ResultSetStats in each
+	// ResultSet contain the number of rows modified by the statement. Only
+	// the first ResultSet in the response contains valid ResultSetMetadata.
 	ResultSets []*ResultSet `json:"resultSets,omitempty"`
 
 	// Status: If all DML statements are executed successfully, the status
-	// is `OK`.
-	// Otherwise, the error status of the first failed statement.
+	// is `OK`. Otherwise, the error status of the first failed statement.
 	Status *Status `json:"status,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1278,66 +1114,47 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// ExecuteSqlRequest: The request for ExecuteSql
-// and
+// ExecuteSqlRequest: The request for ExecuteSql and
 // ExecuteStreamingSql.
 type ExecuteSqlRequest struct {
 	// ParamTypes: It is not always possible for Cloud Spanner to infer the
-	// right SQL type
-	// from a JSON value.  For example, values of type `BYTES` and values
-	// of type `STRING` both appear in params as JSON strings.
-	//
-	// In these cases, `param_types` can be used to specify the exact
-	// SQL type for some or all of the SQL statement parameters. See
-	// the
-	// definition of Type for more information
-	// about SQL types.
+	// right SQL type from a JSON value. For example, values of type `BYTES`
+	// and values of type `STRING` both appear in params as JSON strings. In
+	// these cases, `param_types` can be used to specify the exact SQL type
+	// for some or all of the SQL statement parameters. See the definition
+	// of Type for more information about SQL types.
 	ParamTypes map[string]Type `json:"paramTypes,omitempty"`
 
 	// Params: Parameter names and values that bind to placeholders in the
-	// SQL string.
-	//
-	// A parameter placeholder consists of the `@` character followed by
-	// the
-	// parameter name (for example, `@firstName`). Parameter names must
-	// conform
-	// to the naming requirements of identifiers as specified
-	// at
-	// https://cloud.google.com/spanner/docs/lexical#identifiers.
-	//
-	// Paramet
-	// ers can appear anywhere that a literal value is expected.  The
-	// same
-	// parameter name can be used more than once, for example:
-	//
-	// "WHERE id > @msg_id AND id < @msg_id + 100"
-	//
-	// It is an error to execute a SQL statement with unbound parameters.
+	// SQL string. A parameter placeholder consists of the `@` character
+	// followed by the parameter name (for example, `@firstName`). Parameter
+	// names must conform to the naming requirements of identifiers as
+	// specified at
+	// https://cloud.google.com/spanner/docs/lexical#identifiers. Parameters
+	// can appear anywhere that a literal value is expected. The same
+	// parameter name can be used more than once, for example: "WHERE id >
+	// @msg_id AND id < @msg_id + 100" It is an error to execute a SQL
+	// statement with unbound parameters.
 	Params googleapi.RawMessage `json:"params,omitempty"`
 
 	// PartitionToken: If present, results will be restricted to the
-	// specified partition
-	// previously created using PartitionQuery().  There must be an
-	// exact
-	// match for the values of fields common to this message and
-	// the
-	// PartitionQueryRequest message used to create this partition_token.
+	// specified partition previously created using PartitionQuery(). There
+	// must be an exact match for the values of fields common to this
+	// message and the PartitionQueryRequest message used to create this
+	// partition_token.
 	PartitionToken string `json:"partitionToken,omitempty"`
 
 	// QueryMode: Used to control the amount of debugging information
-	// returned in
-	// ResultSetStats. If partition_token is set, query_mode can only
-	// be set to QueryMode.NORMAL.
+	// returned in ResultSetStats. If partition_token is set, query_mode can
+	// only be set to QueryMode.NORMAL.
 	//
 	// Possible values:
 	//   "NORMAL" - The default mode. Only the statement results are
 	// returned.
 	//   "PLAN" - This mode returns only the query plan, without any results
-	// or
-	// execution statistics information.
+	// or execution statistics information.
 	//   "PROFILE" - This mode returns both the query plan and the execution
-	// statistics along
-	// with the results.
+	// statistics along with the results.
 	QueryMode string `json:"queryMode,omitempty"`
 
 	// QueryOptions: Query optimizer configuration to use for the given
@@ -1345,52 +1162,33 @@
 	QueryOptions *QueryOptions `json:"queryOptions,omitempty"`
 
 	// ResumeToken: If this request is resuming a previously interrupted SQL
-	// statement
-	// execution, `resume_token` should be copied from the
-	// last
-	// PartialResultSet yielded before the interruption. Doing this
-	// enables the new SQL statement execution to resume where the last one
-	// left
-	// off. The rest of the request parameters must exactly match
-	// the
+	// statement execution, `resume_token` should be copied from the last
+	// PartialResultSet yielded before the interruption. Doing this enables
+	// the new SQL statement execution to resume where the last one left
+	// off. The rest of the request parameters must exactly match the
 	// request that yielded this token.
 	ResumeToken string `json:"resumeToken,omitempty"`
 
 	// Seqno: A per-transaction sequence number used to identify this
-	// request. This field
-	// makes each request idempotent such that if the request is received
-	// multiple
-	// times, at most one will succeed.
-	//
-	// The sequence number must be monotonically increasing within
-	// the
+	// request. This field makes each request idempotent such that if the
+	// request is received multiple times, at most one will succeed. The
+	// sequence number must be monotonically increasing within the
 	// transaction. If a request arrives for the first time with an
-	// out-of-order
-	// sequence number, the transaction may be aborted. Replays of
-	// previously
-	// handled requests will yield the same response as the first
-	// execution.
-	//
-	// Required for DML statements. Ignored for queries.
+	// out-of-order sequence number, the transaction may be aborted. Replays
+	// of previously handled requests will yield the same response as the
+	// first execution. Required for DML statements. Ignored for queries.
 	Seqno int64 `json:"seqno,omitempty,string"`
 
 	// Sql: Required. The SQL string.
 	Sql string `json:"sql,omitempty"`
 
-	// Transaction: The transaction to use.
-	//
-	// For queries, if none is provided, the default is a temporary
-	// read-only
-	// transaction with strong concurrency.
-	//
-	// Standard DML statements require a read-write transaction. To
-	// protect
-	// against replays, single-use transactions are not supported.  The
-	// caller
-	// must either supply an existing transaction ID or begin a new
-	// transaction.
-	//
-	// Partitioned DML requires an existing Partitioned DML transaction ID.
+	// Transaction: The transaction to use. For queries, if none is
+	// provided, the default is a temporary read-only transaction with
+	// strong concurrency. Standard DML statements require a read-write
+	// transaction. To protect against replays, single-use transactions are
+	// not supported. The caller must either supply an existing transaction
+	// ID or begin a new transaction. Partitioned DML requires an existing
+	// Partitioned DML transaction ID.
 	Transaction *TransactionSelector `json:"transaction,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ParamTypes") to
@@ -1417,65 +1215,40 @@
 }
 
 // Expr: Represents a textual expression in the Common Expression
-// Language (CEL)
-// syntax. CEL is a C-like expression language. The syntax and semantics
-// of CEL
-// are documented at https://github.com/google/cel-spec.
-//
-// Example (Comparison):
-//
-//     title: "Summary size limit"
-//     description: "Determines if a summary is less than 100 chars"
-//     expression: "document.summary.size() < 100"
-//
-// Example (Equality):
-//
-//     title: "Requestor is owner"
-//     description: "Determines if requestor is the document owner"
-//     expression: "document.owner ==
-// request.auth.claims.email"
-//
-// Example (Logic):
-//
-//     title: "Public documents"
-//     description: "Determine whether the document should be publicly
-// visible"
-//     expression: "document.type != 'private' && document.type !=
-// 'internal'"
-//
-// Example (Data Manipulation):
-//
-//     title: "Notification string"
-//     description: "Create a notification string with a timestamp."
-//     expression: "'New message received at ' +
-// string(document.create_time)"
-//
-// The exact variables and functions that may be referenced within an
-// expression
-// are determined by the service that evaluates it. See the
-// service
-// documentation for additional information.
+// Language (CEL) syntax. CEL is a C-like expression language. The
+// syntax and semantics of CEL are documented at
+// https://github.com/google/cel-spec. Example (Comparison): title:
+// "Summary size limit" description: "Determines if a summary is less
+// than 100 chars" expression: "document.summary.size() < 100" Example
+// (Equality): title: "Requestor is owner" description: "Determines if
+// requestor is the document owner" expression: "document.owner ==
+// request.auth.claims.email" Example (Logic): title: "Public documents"
+// description: "Determine whether the document should be publicly
+// visible" expression: "document.type != 'private' && document.type !=
+// 'internal'" Example (Data Manipulation): title: "Notification string"
+// description: "Create a notification string with a timestamp."
+// expression: "'New message received at ' +
+// string(document.create_time)" The exact variables and functions that
+// may be referenced within an expression are determined by the service
+// that evaluates it. See the service documentation for additional
+// information.
 type Expr struct {
 	// Description: Optional. Description of the expression. This is a
-	// longer text which
-	// describes the expression, e.g. when hovered over it in a UI.
+	// longer text which describes the expression, e.g. when hovered over it
+	// in a UI.
 	Description string `json:"description,omitempty"`
 
 	// Expression: Textual representation of an expression in Common
-	// Expression Language
-	// syntax.
+	// Expression Language syntax.
 	Expression string `json:"expression,omitempty"`
 
 	// Location: Optional. String indicating the location of the expression
-	// for error
-	// reporting, e.g. a file name and a position in the file.
+	// for error reporting, e.g. a file name and a position in the file.
 	Location string `json:"location,omitempty"`
 
 	// Title: Optional. Title for the expression, i.e. a short string
-	// describing
-	// its purpose. This can be used e.g. in UIs which allow to enter
-	// the
-	// expression.
+	// describing its purpose. This can be used e.g. in UIs which allow to
+	// enter the expression.
 	Title string `json:"title,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -1503,15 +1276,12 @@
 
 // Field: Message representing a single field of a struct.
 type Field struct {
-	// Name: The name of the field. For reads, this is the column name.
-	// For
-	// SQL queries, it is the column alias (e.g., "Word" in the
-	// query "SELECT 'hello' AS Word"), or the column name
-	// (e.g.,
-	// "ColName" in the query "SELECT ColName FROM Table"). Some
-	// columns might have an empty name (e.g., !"SELECT
-	// UPPER(ColName)"). Note that a query result can contain
-	// multiple fields with the same name.
+	// Name: The name of the field. For reads, this is the column name. For
+	// SQL queries, it is the column alias (e.g., "Word" in the query
+	// "SELECT 'hello' AS Word"), or the column name (e.g., "ColName" in
+	// the query "SELECT ColName FROM Table"). Some columns might have an
+	// empty name (e.g., !"SELECT UPPER(ColName)"). Note that a query
+	// result can contain multiple fields with the same name.
 	Name string `json:"name,omitempty"`
 
 	// Type: The type of the field.
@@ -1543,8 +1313,7 @@
 // GetDatabaseDdlResponse: The response for GetDatabaseDdl.
 type GetDatabaseDdlResponse struct {
 	// Statements: A list of formatted DDL statements defining the schema of
-	// the database
-	// specified in the request.
+	// the database specified in the request.
 	Statements []string `json:"statements,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1577,8 +1346,7 @@
 // GetIamPolicyRequest: Request message for `GetIamPolicy` method.
 type GetIamPolicyRequest struct {
 	// Options: OPTIONAL: A `GetPolicyOptions` object for specifying options
-	// to
-	// `GetIamPolicy`.
+	// to `GetIamPolicy`.
 	Options *GetPolicyOptions `json:"options,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Options") to
@@ -1607,24 +1375,14 @@
 // GetPolicyOptions: Encapsulates settings provided to GetIamPolicy.
 type GetPolicyOptions struct {
 	// RequestedPolicyVersion: Optional. The policy format version to be
-	// returned.
-	//
-	// Valid values are 0, 1, and 3. Requests specifying an invalid value
-	// will be
-	// rejected.
-	//
-	// Requests for policies with any conditional bindings must specify
-	// version 3.
-	// Policies without any conditional bindings may specify any valid value
-	// or
-	// leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see
-	// the
-	// [IAM
-	// documentation](https://cloud.google.com/iam/help/conditions/r
-	// esource-policies).
+	// returned. Valid values are 0, 1, and 3. Requests specifying an
+	// invalid value will be rejected. Requests for policies with any
+	// conditional bindings must specify version 3. Policies without any
+	// conditional bindings may specify any valid value or leave the field
+	// unset. To learn which resources support conditions in their IAM
+	// policies, see the [IAM
+	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
+	// olicies).
 	RequestedPolicyVersion int64 `json:"requestedPolicyVersion,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -1656,92 +1414,63 @@
 // databases can be hosted.
 type Instance struct {
 	// Config: Required. The name of the instance's configuration. Values
-	// are of the form
-	// `projects/<project>/instanceConfigs/<configuration>`. See
-	// also InstanceConfig and
-	// ListInstanceConfigs.
+	// are of the form `projects//instanceConfigs/`. See also InstanceConfig
+	// and ListInstanceConfigs.
 	Config string `json:"config,omitempty"`
 
 	// DisplayName: Required. The descriptive name for this instance as it
-	// appears in UIs.
-	// Must be unique per project and between 4 and 30 characters in length.
+	// appears in UIs. Must be unique per project and between 4 and 30
+	// characters in length.
 	DisplayName string `json:"displayName,omitempty"`
 
 	// EndpointUris: Deprecated. This field is not populated.
 	EndpointUris []string `json:"endpointUris,omitempty"`
 
 	// Labels: Cloud Labels are a flexible and lightweight mechanism for
-	// organizing cloud
-	// resources into groups that reflect a customer's organizational needs
-	// and
-	// deployment strategies. Cloud Labels can be used to filter collections
-	// of
-	// resources. They can be used to control how resource metrics are
-	// aggregated.
-	// And they can be used as arguments to policy management rules (e.g.
-	// route,
-	// firewall, load balancing, etc.).
-	//
-	//  * Label keys must be between 1 and 63 characters long and must
-	// conform to
-	//    the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
-	//  * Label values must be between 0 and 63 characters long and must
-	// conform
-	//    to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
-	//  * No more than 64 labels can be associated with a given
-	// resource.
-	//
-	// See https://goo.gl/xmQnxf for more information on and examples of
-	// labels.
-	//
-	// If you plan to use labels in your own code, please note that
-	// additional
-	// characters may be allowed in the future. And so you are advised to
-	// use an
-	// internal label representation, such as JSON, which doesn't rely
-	// upon
-	// specific characters being disallowed.  For example, representing
-	// labels
-	// as the string:  name + "_" + value  would prove problematic if we
-	// were to
+	// organizing cloud resources into groups that reflect a customer's
+	// organizational needs and deployment strategies. Cloud Labels can be
+	// used to filter collections of resources. They can be used to control
+	// how resource metrics are aggregated. And they can be used as
+	// arguments to policy management rules (e.g. route, firewall, load
+	// balancing, etc.). * Label keys must be between 1 and 63 characters
+	// long and must conform to the following regular expression:
+	// `[a-z]([-a-z0-9]*[a-z0-9])?`. * Label values must be between 0 and 63
+	// characters long and must conform to the regular expression
+	// `([a-z]([-a-z0-9]*[a-z0-9])?)?`. * No more than 64 labels can be
+	// associated with a given resource. See https://goo.gl/xmQnxf for more
+	// information on and examples of labels. If you plan to use labels in
+	// your own code, please note that additional characters may be allowed
+	// in the future. And so you are advised to use an internal label
+	// representation, such as JSON, which doesn't rely upon specific
+	// characters being disallowed. For example, representing labels as the
+	// string: name + "_" + value would prove problematic if we were to
 	// allow "_" in a future release.
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// Name: Required. A unique identifier for the instance, which cannot be
-	// changed
-	// after the instance is created. Values are of the
-	// form
-	// `projects/<project>/instances/a-z*[a-z0-9]`. The final
-	// segment of the name must be between 2 and 64 characters in length.
+	// changed after the instance is created. Values are of the form
+	// `projects//instances/a-z*[a-z0-9]`. The final segment of the name
+	// must be between 2 and 64 characters in length.
 	Name string `json:"name,omitempty"`
 
-	// NodeCount: The number of nodes allocated to this instance. This
-	// may be zero in API responses for instances that are not yet in
-	// state
-	// `READY`.
-	//
-	// See
-	// [the
-	// documentation](https://cloud.google.com/spanner/docs/instances#no
-	// de_count)
-	// for more information about nodes.
+	// NodeCount: The number of nodes allocated to this instance. This may
+	// be zero in API responses for instances that are not yet in state
+	// `READY`. See [the
+	// documentation](https://cloud.google.com/spanner/docs/instances#node_co
+	// unt) for more information about nodes.
 	NodeCount int64 `json:"nodeCount,omitempty"`
 
-	// State: Output only. The current instance state. For
-	// CreateInstance, the state must be
-	// either omitted or set to `CREATING`. For
-	// UpdateInstance, the state must be
-	// either omitted or set to `READY`.
+	// State: Output only. The current instance state. For CreateInstance,
+	// the state must be either omitted or set to `CREATING`. For
+	// UpdateInstance, the state must be either omitted or set to `READY`.
 	//
 	// Possible values:
 	//   "STATE_UNSPECIFIED" - Not specified.
 	//   "CREATING" - The instance is still being created. Resources may not
-	// be
-	// available yet, and operations such as database creation may not
+	// be available yet, and operations such as database creation may not
 	// work.
 	//   "READY" - The instance is fully created and ready to do work such
-	// as
-	// creating databases.
+	// as creating databases.
 	State string `json:"state,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1772,21 +1501,19 @@
 }
 
 // InstanceConfig: A possible configuration for a Cloud Spanner
-// instance. Configurations
-// define the geographic placement of nodes and their replication.
+// instance. Configurations define the geographic placement of nodes and
+// their replication.
 type InstanceConfig struct {
 	// DisplayName: The name of this instance configuration as it appears in
 	// UIs.
 	DisplayName string `json:"displayName,omitempty"`
 
-	// Name: A unique identifier for the instance configuration.  Values
-	// are of the form
-	// `projects/<project>/instanceConfigs/a-z*`
+	// Name: A unique identifier for the instance configuration. Values are
+	// of the form `projects//instanceConfigs/a-z*`
 	Name string `json:"name,omitempty"`
 
 	// Replicas: The geographic placement of nodes in this instance
-	// configuration and their
-	// replication properties.
+	// configuration and their replication properties.
 	Replicas []*ReplicaInfo `json:"replicas,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1816,126 +1543,60 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// KeyRange: KeyRange represents a range of rows in a table or index.
-//
-// A range has a start key and an end key. These keys can be open
-// or
-// closed, indicating if the range includes rows with that key.
-//
-// Keys are represented by lists, where the ith value in the
-// list
-// corresponds to the ith component of the table or index primary
-// key.
-// Individual values are encoded as described
-// here.
-//
-// For example, consider the following table definition:
-//
-//     CREATE TABLE UserEvents (
-//       UserName STRING(MAX),
-//       EventDate STRING(10)
-//     ) PRIMARY KEY(UserName, EventDate);
-//
-// The following keys name rows in this table:
-//
-//     "Bob", "2014-09-23"
-//
-// Since the `UserEvents` table's `PRIMARY KEY` clause names
-// two
-// columns, each `UserEvents` key has two elements; the first is
-// the
-// `UserName`, and the second is the `EventDate`.
-//
-// Key ranges with multiple components are interpreted
-// lexicographically by component using the table or index key's
-// declared
-// sort order. For example, the following range returns all events
-// for
-// user "Bob" that occurred in the year 2015:
-//
-//     "start_closed": ["Bob", "2015-01-01"]
-//     "end_closed": ["Bob", "2015-12-31"]
-//
-// Start and end keys can omit trailing key components. This affects
-// the
-// inclusion and exclusion of rows that exactly match the provided
-// key
-// components: if the key is closed, then rows that exactly match
-// the
-// provided components are included; if the key is open, then rows
-// that exactly match are not included.
-//
-// For example, the following range includes all events for "Bob"
-// that
-// occurred during and after the year 2000:
-//
-//     "start_closed": ["Bob", "2000-01-01"]
-//     "end_closed": ["Bob"]
-//
-// The next example retrieves all events for "Bob":
-//
-//     "start_closed": ["Bob"]
-//     "end_closed": ["Bob"]
-//
-// To retrieve events before the year 2000:
-//
-//     "start_closed": ["Bob"]
-//     "end_open": ["Bob", "2000-01-01"]
-//
-// The following range includes all rows in the table:
-//
-//     "start_closed": []
-//     "end_closed": []
-//
-// This range returns all users whose `UserName` begins with
-// any
-// character from A to C:
-//
-//     "start_closed": ["A"]
-//     "end_open": ["D"]
-//
-// This range returns all users whose `UserName` begins with B:
-//
-//     "start_closed": ["B"]
-//     "end_open": ["C"]
-//
-// Key ranges honor column sort order. For example, suppose a table
-// is
-// defined as follows:
-//
-//     CREATE TABLE DescendingSortedTable {
-//       Key INT64,
-//       ...
-//     ) PRIMARY KEY(Key DESC);
-//
-// The following range retrieves all rows with key values between 1
-// and 100 inclusive:
-//
-//     "start_closed": ["100"]
-//     "end_closed": ["1"]
-//
-// Note that 100 is passed as the start, and 1 is passed as the
-// end,
-// because `Key` is a descending column in the schema.
+// KeyRange: KeyRange represents a range of rows in a table or index. A
+// range has a start key and an end key. These keys can be open or
+// closed, indicating if the range includes rows with that key. Keys are
+// represented by lists, where the ith value in the list corresponds to
+// the ith component of the table or index primary key. Individual
+// values are encoded as described here. For example, consider the
+// following table definition: CREATE TABLE UserEvents ( UserName
+// STRING(MAX), EventDate STRING(10) ) PRIMARY KEY(UserName, EventDate);
+// The following keys name rows in this table: "Bob", "2014-09-23" Since
+// the `UserEvents` table's `PRIMARY KEY` clause names two columns, each
+// `UserEvents` key has two elements; the first is the `UserName`, and
+// the second is the `EventDate`. Key ranges with multiple components
+// are interpreted lexicographically by component using the table or
+// index key's declared sort order. For example, the following range
+// returns all events for user "Bob" that occurred in the year 2015:
+// "start_closed": ["Bob", "2015-01-01"] "end_closed": ["Bob",
+// "2015-12-31"] Start and end keys can omit trailing key components.
+// This affects the inclusion and exclusion of rows that exactly match
+// the provided key components: if the key is closed, then rows that
+// exactly match the provided components are included; if the key is
+// open, then rows that exactly match are not included. For example, the
+// following range includes all events for "Bob" that occurred during
+// and after the year 2000: "start_closed": ["Bob", "2000-01-01"]
+// "end_closed": ["Bob"] The next example retrieves all events for
+// "Bob": "start_closed": ["Bob"] "end_closed": ["Bob"] To retrieve
+// events before the year 2000: "start_closed": ["Bob"] "end_open":
+// ["Bob", "2000-01-01"] The following range includes all rows in the
+// table: "start_closed": [] "end_closed": [] This range returns all
+// users whose `UserName` begins with any character from A to C:
+// "start_closed": ["A"] "end_open": ["D"] This range returns all users
+// whose `UserName` begins with B: "start_closed": ["B"] "end_open":
+// ["C"] Key ranges honor column sort order. For example, suppose a
+// table is defined as follows: CREATE TABLE DescendingSortedTable { Key
+// INT64, ... ) PRIMARY KEY(Key DESC); The following range retrieves all
+// rows with key values between 1 and 100 inclusive: "start_closed":
+// ["100"] "end_closed": ["1"] Note that 100 is passed as the start, and
+// 1 is passed as the end, because `Key` is a descending column in the
+// schema.
 type KeyRange struct {
 	// EndClosed: If the end is closed, then the range includes all rows
-	// whose
-	// first `len(end_closed)` key columns exactly match `end_closed`.
+	// whose first `len(end_closed)` key columns exactly match `end_closed`.
 	EndClosed []interface{} `json:"endClosed,omitempty"`
 
-	// EndOpen: If the end is open, then the range excludes rows whose
-	// first
+	// EndOpen: If the end is open, then the range excludes rows whose first
 	// `len(end_open)` key columns exactly match `end_open`.
 	EndOpen []interface{} `json:"endOpen,omitempty"`
 
 	// StartClosed: If the start is closed, then the range includes all rows
-	// whose
-	// first `len(start_closed)` key columns exactly match `start_closed`.
+	// whose first `len(start_closed)` key columns exactly match
+	// `start_closed`.
 	StartClosed []interface{} `json:"startClosed,omitempty"`
 
 	// StartOpen: If the start is open, then the range excludes rows whose
-	// first
-	// `len(start_open)` key columns exactly match `start_open`.
+	// first `len(start_open)` key columns exactly match `start_open`.
 	StartOpen []interface{} `json:"startOpen,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "EndClosed") to
@@ -1962,33 +1623,24 @@
 }
 
 // KeySet: `KeySet` defines a collection of Cloud Spanner keys and/or
-// key ranges. All
-// the keys are expected to be in the same table or index. The keys
-// need
-// not be sorted in any particular way.
-//
-// If the same key is specified multiple times in the set (for
-// example
-// if two ranges, two keys, or a key and a range overlap), Cloud
-// Spanner
+// key ranges. All the keys are expected to be in the same table or
+// index. The keys need not be sorted in any particular way. If the same
+// key is specified multiple times in the set (for example if two
+// ranges, two keys, or a key and a range overlap), Cloud Spanner
 // behaves as if the key were only specified once.
 type KeySet struct {
-	// All: For convenience `all` can be set to `true` to indicate that
-	// this
-	// `KeySet` matches all keys in the table or index. Note that any
-	// keys
+	// All: For convenience `all` can be set to `true` to indicate that this
+	// `KeySet` matches all keys in the table or index. Note that any keys
 	// specified in `keys` or `ranges` are only yielded once.
 	All bool `json:"all,omitempty"`
 
 	// Keys: A list of specific keys. Entries in `keys` should have exactly
-	// as
-	// many elements as there are columns in the primary or index key
-	// with which this `KeySet` is used.  Individual key values are
-	// encoded as described here.
+	// as many elements as there are columns in the primary or index key
+	// with which this `KeySet` is used. Individual key values are encoded
+	// as described here.
 	Keys [][]interface{} `json:"keys,omitempty"`
 
-	// Ranges: A list of key ranges. See KeyRange for more information
-	// about
+	// Ranges: A list of key ranges. See KeyRange for more information about
 	// key range specifications.
 	Ranges []*KeyRange `json:"ranges,omitempty"`
 
@@ -2015,28 +1667,19 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// ListBackupOperationsResponse: The response for
-// ListBackupOperations.
+// ListBackupOperationsResponse: The response for ListBackupOperations.
 type ListBackupOperationsResponse struct {
-	// NextPageToken: `next_page_token` can be sent in a
-	// subsequent
-	// ListBackupOperations
-	// call to fetch more of the matching metadata.
+	// NextPageToken: `next_page_token` can be sent in a subsequent
+	// ListBackupOperations call to fetch more of the matching metadata.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
-	// Operations: The list of matching backup long-running
-	// operations. Each operation's name will be
-	// prefixed by the backup's name and the operation's
-	// metadata will be of type
-	// CreateBackupMetadata. Operations returned include those that
-	// are
-	// pending or have completed/failed/canceled within the last 7
-	// days.
-	// Operations returned are ordered
-	// by
-	// `operation.metadata.value.progress.start_time` in descending order
-	// starting
-	// from the most recently started operation.
+	// Operations: The list of matching backup long-running operations. Each
+	// operation's name will be prefixed by the backup's name and the
+	// operation's metadata will be of type CreateBackupMetadata. Operations
+	// returned include those that are pending or have
+	// completed/failed/canceled within the last 7 days. Operations returned
+	// are ordered by `operation.metadata.value.progress.start_time` in
+	// descending order starting from the most recently started operation.
 	Operations []*Operation `json:"operations,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2069,14 +1712,12 @@
 // ListBackupsResponse: The response for ListBackups.
 type ListBackupsResponse struct {
 	// Backups: The list of matching backups. Backups returned are ordered
-	// by `create_time`
-	// in descending order, starting from the most recent `create_time`.
+	// by `create_time` in descending order, starting from the most recent
+	// `create_time`.
 	Backups []*Backup `json:"backups,omitempty"`
 
-	// NextPageToken: `next_page_token` can be sent in a
-	// subsequent
-	// ListBackups call to fetch more
-	// of the matching backups.
+	// NextPageToken: `next_page_token` can be sent in a subsequent
+	// ListBackups call to fetch more of the matching backups.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2106,21 +1747,17 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// ListDatabaseOperationsResponse: The response
-// for
+// ListDatabaseOperationsResponse: The response for
 // ListDatabaseOperations.
 type ListDatabaseOperationsResponse struct {
-	// NextPageToken: `next_page_token` can be sent in a
-	// subsequent
-	// ListDatabaseOperations
-	// call to fetch more of the matching metadata.
+	// NextPageToken: `next_page_token` can be sent in a subsequent
+	// ListDatabaseOperations call to fetch more of the matching metadata.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
-	// Operations: The list of matching database long-running
-	// operations. Each operation's name will be
-	// prefixed by the database's name. The operation's
-	// metadata field type
-	// `metadata.type_url` describes the type of the metadata.
+	// Operations: The list of matching database long-running operations.
+	// Each operation's name will be prefixed by the database's name. The
+	// operation's metadata field type `metadata.type_url` describes the
+	// type of the metadata.
 	Operations []*Operation `json:"operations,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2155,10 +1792,8 @@
 	// Databases: Databases that matched the request.
 	Databases []*Database `json:"databases,omitempty"`
 
-	// NextPageToken: `next_page_token` can be sent in a
-	// subsequent
-	// ListDatabases call to fetch more
-	// of the matching databases.
+	// NextPageToken: `next_page_token` can be sent in a subsequent
+	// ListDatabases call to fetch more of the matching databases.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2193,10 +1828,9 @@
 	// InstanceConfigs: The list of requested instance configurations.
 	InstanceConfigs []*InstanceConfig `json:"instanceConfigs,omitempty"`
 
-	// NextPageToken: `next_page_token` can be sent in a
-	// subsequent
-	// ListInstanceConfigs call to
-	// fetch more of the matching instance configurations.
+	// NextPageToken: `next_page_token` can be sent in a subsequent
+	// ListInstanceConfigs call to fetch more of the matching instance
+	// configurations.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2232,10 +1866,8 @@
 	// Instances: The list of requested instances.
 	Instances []*Instance `json:"instances,omitempty"`
 
-	// NextPageToken: `next_page_token` can be sent in a
-	// subsequent
-	// ListInstances call to fetch more
-	// of the matching instances.
+	// NextPageToken: `next_page_token` can be sent in a subsequent
+	// ListInstances call to fetch more of the matching instances.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2304,10 +1936,8 @@
 
 // ListSessionsResponse: The response for ListSessions.
 type ListSessionsResponse struct {
-	// NextPageToken: `next_page_token` can be sent in a
-	// subsequent
-	// ListSessions call to fetch more of the matching
-	// sessions.
+	// NextPageToken: `next_page_token` can be sent in a subsequent
+	// ListSessions call to fetch more of the matching sessions.
 	NextPageToken string `json:"nextPageToken,omitempty"`
 
 	// Sessions: The list of requested sessions.
@@ -2340,49 +1970,36 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// Mutation: A modification to one or more Cloud Spanner rows.
-// Mutations can be
-// applied to a Cloud Spanner database by sending them in a
+// Mutation: A modification to one or more Cloud Spanner rows. Mutations
+// can be applied to a Cloud Spanner database by sending them in a
 // Commit call.
 type Mutation struct {
-	// Delete: Delete rows from a table. Succeeds whether or not the
-	// named
+	// Delete: Delete rows from a table. Succeeds whether or not the named
 	// rows were present.
 	Delete *Delete `json:"delete,omitempty"`
 
-	// Insert: Insert new rows in a table. If any of the rows already
-	// exist,
+	// Insert: Insert new rows in a table. If any of the rows already exist,
 	// the write or transaction fails with error `ALREADY_EXISTS`.
 	Insert *Write `json:"insert,omitempty"`
 
 	// InsertOrUpdate: Like insert, except that if the row already exists,
-	// then
-	// its column values are overwritten with the ones provided. Any
-	// column values not explicitly written are preserved.
-	//
-	// When using insert_or_update, just as when using insert, all
-	// `NOT
-	// NULL` columns in the table must be given a value. This holds
-	// true
-	// even when the row already exists and will therefore actually be
-	// updated.
+	// then its column values are overwritten with the ones provided. Any
+	// column values not explicitly written are preserved. When using
+	// insert_or_update, just as when using insert, all `NOT NULL` columns
+	// in the table must be given a value. This holds true even when the row
+	// already exists and will therefore actually be updated.
 	InsertOrUpdate *Write `json:"insertOrUpdate,omitempty"`
 
-	// Replace: Like insert, except that if the row already exists, it
-	// is
-	// deleted, and the column values provided are inserted
-	// instead. Unlike insert_or_update, this means any values
-	// not
-	// explicitly written become `NULL`.
-	//
-	// In an interleaved table, if you create the child table with the
-	// `ON DELETE CASCADE` annotation, then replacing a parent row
-	// also deletes the child rows. Otherwise, you must delete the
-	// child rows before you replace the parent row.
+	// Replace: Like insert, except that if the row already exists, it is
+	// deleted, and the column values provided are inserted instead. Unlike
+	// insert_or_update, this means any values not explicitly written become
+	// `NULL`. In an interleaved table, if you create the child table with
+	// the `ON DELETE CASCADE` annotation, then replacing a parent row also
+	// deletes the child rows. Otherwise, you must delete the child rows
+	// before you replace the parent row.
 	Replace *Write `json:"replace,omitempty"`
 
-	// Update: Update existing rows in a table. If any of the rows does
-	// not
+	// Update: Update existing rows in a table. If any of the rows does not
 	// already exist, the transaction fails with error `NOT_FOUND`.
 	Update *Write `json:"update,omitempty"`
 
@@ -2410,52 +2027,38 @@
 }
 
 // Operation: This resource represents a long-running operation that is
-// the result of a
-// network API call.
+// the result of a network API call.
 type Operation struct {
 	// Done: 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.
+	// progress. If `true`, the operation is completed, and either `error`
+	// or `response` is available.
 	Done bool `json:"done,omitempty"`
 
 	// Error: The error result of the operation in case of failure or
 	// cancellation.
 	Error *Status `json:"error,omitempty"`
 
-	// Metadata: 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.
+	// Metadata: 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.
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// Name: The server-assigned name, which is only unique within the same
-	// service that
-	// originally returns it. If you use the default HTTP mapping,
-	// the
-	// `name` should be a resource name ending with
+	// service that originally returns it. If you use the default HTTP
+	// mapping, the `name` should be a resource name ending with
 	// `operations/{unique_id}`.
 	Name string `json:"name,omitempty"`
 
-	// Response: 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`.
+	// Response: 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`.
 	Response googleapi.RawMessage `json:"response,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2486,16 +2089,14 @@
 }
 
 // OperationProgress: Encapsulates progress related information for a
-// Cloud Spanner long
-// running operation.
+// Cloud Spanner long running operation.
 type OperationProgress struct {
 	// EndTime: If set, the time at which this operation failed or was
-	// completed
-	// successfully.
+	// completed successfully.
 	EndTime string `json:"endTime,omitempty"`
 
-	// ProgressPercent: Percent completion of the operation.
-	// Values are between 0 and 100 inclusive.
+	// ProgressPercent: Percent completion of the operation. Values are
+	// between 0 and 100 inclusive.
 	ProgressPercent int64 `json:"progressPercent,omitempty"`
 
 	// StartTime: Time the request was received.
@@ -2525,12 +2126,10 @@
 }
 
 // OptimizeRestoredDatabaseMetadata: Metadata type for the long-running
-// operation used to track the progress
-// of optimizations performed on a newly restored database. This
-// long-running
-// operation is automatically created by the system after the
-// successful
-// completion of a database restore, and cannot be cancelled.
+// operation used to track the progress of optimizations performed on a
+// newly restored database. This long-running operation is automatically
+// created by the system after the successful completion of a database
+// restore, and cannot be cancelled.
 type OptimizeRestoredDatabaseMetadata struct {
 	// Name: Name of the restored database being optimized.
 	Name string `json:"name,omitempty"`
@@ -2562,126 +2161,69 @@
 }
 
 // PartialResultSet: Partial results from a streaming read or SQL query.
-// Streaming reads and
-// SQL queries better tolerate large result sets, large rows, and
-// large
-// values, but are a little trickier to consume.
+// Streaming reads and SQL queries better tolerate large result sets,
+// large rows, and large values, but are a little trickier to consume.
 type PartialResultSet struct {
 	// ChunkedValue: If true, then the final value in values is chunked, and
-	// must
-	// be combined with more values from subsequent `PartialResultSet`s
+	// must be combined with more values from subsequent `PartialResultSet`s
 	// to obtain a complete field value.
 	ChunkedValue bool `json:"chunkedValue,omitempty"`
 
 	// Metadata: Metadata about the result set, such as row type
-	// information.
-	// Only present in the first response.
+	// information. Only present in the first response.
 	Metadata *ResultSetMetadata `json:"metadata,omitempty"`
 
 	// ResumeToken: Streaming calls might be interrupted for a variety of
-	// reasons, such
-	// as TCP connection loss. If this occurs, the stream of results can
-	// be resumed by re-sending the original request and
-	// including
-	// `resume_token`. Note that executing any other transaction in the
-	// same session invalidates the token.
+	// reasons, such as TCP connection loss. If this occurs, the stream of
+	// results can be resumed by re-sending the original request and
+	// including `resume_token`. Note that executing any other transaction
+	// in the same session invalidates the token.
 	ResumeToken string `json:"resumeToken,omitempty"`
 
 	// Stats: Query plan and execution statistics for the statement that
-	// produced this
-	// streaming result set. These can be requested by
-	// setting
-	// ExecuteSqlRequest.query_mode and are sent
-	// only once with the last response in the stream.
-	// This field will also be present in the last response for
-	// DML
-	// statements.
+	// produced this streaming result set. These can be requested by setting
+	// ExecuteSqlRequest.query_mode and are sent only once with the last
+	// response in the stream. This field will also be present in the last
+	// response for DML statements.
 	Stats *ResultSetStats `json:"stats,omitempty"`
 
 	// Values: A streamed result set consists of a stream of values, which
-	// might
-	// be split into many `PartialResultSet` messages to accommodate
-	// large rows and/or large values. Every N complete values defines
-	// a
-	// row, where N is equal to the number of entries
-	// in
-	// metadata.row_type.fields.
-	//
-	// Most values are encoded based on type as described
-	// here.
-	//
-	// It is possible that the last value in values is "chunked",
-	// meaning that the rest of the value is sent in
-	// subsequent
-	// `PartialResultSet`(s). This is denoted by the chunked_value
-	// field. Two or more chunked values can be merged to form a
-	// complete value as follows:
-	//
-	//   * `bool/number/null`: cannot be chunked
-	//   * `string`: concatenate the strings
-	//   * `list`: concatenate the lists. If the last element in a list is
-	// a
-	//     `string`, `list`, or `object`, merge it with the first element
-	// in
-	//     the next list by applying these rules recursively.
-	//   * `object`: concatenate the (field name, field value) pairs. If a
-	//     field name is duplicated, then apply these rules recursively
-	//     to merge the field values.
-	//
-	// Some examples of merging:
-	//
-	//     # Strings are concatenated.
-	//     "foo", "bar" => "foobar"
-	//
-	//     # Lists of non-strings are concatenated.
-	//     [2, 3], [4] => [2, 3, 4]
-	//
-	//     # Lists are concatenated, but the last and first elements are
-	// merged
-	//     # because they are strings.
-	//     ["a", "b"], ["c", "d"] => ["a", "bc", "d"]
-	//
-	//     # Lists are concatenated, but the last and first elements are
-	// merged
-	//     # because they are lists. Recursively, the last and first
-	// elements
-	//     # of the inner lists are merged because they are strings.
-	//     ["a", ["b", "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"]
-	//
-	//     # Non-overlapping object fields are combined.
-	//     {"a": "1"}, {"b": "2"} => {"a": "1", "b": 2"}
-	//
-	//     # Overlapping object fields are merged.
-	//     {"a": "1"}, {"a": "2"} => {"a": "12"}
-	//
-	//     # Examples of merging objects containing lists of strings.
-	//     {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]}
-	//
-	// For a more complete example, suppose a streaming SQL query
-	// is
-	// yielding a result set whose rows contain a single string
-	// field. The following `PartialResultSet`s might be yielded:
-	//
-	//     {
-	//       "metadata": { ... }
-	//       "values": ["Hello", "W"]
-	//       "chunked_value": true
-	//       "resume_token": "Af65..."
-	//     }
-	//     {
-	//       "values": ["orl"]
-	//       "chunked_value": true
-	//       "resume_token": "Bqp2..."
-	//     }
-	//     {
-	//       "values": ["d"]
-	//       "resume_token": "Zx1B..."
-	//     }
-	//
-	// This sequence of `PartialResultSet`s encodes two rows, one
-	// containing the field value "Hello", and a second containing
-	// the
-	// field value "World" = "W" + "orl" + "d".
+	// might be split into many `PartialResultSet` messages to accommodate
+	// large rows and/or large values. Every N complete values defines a
+	// row, where N is equal to the number of entries in
+	// metadata.row_type.fields. Most values are encoded based on type as
+	// described here. It is possible that the last value in values is
+	// "chunked", meaning that the rest of the value is sent in subsequent
+	// `PartialResultSet`(s). This is denoted by the chunked_value field.
+	// Two or more chunked values can be merged to form a complete value as
+	// follows: * `bool/number/null`: cannot be chunked * `string`:
+	// concatenate the strings * `list`: concatenate the lists. If the last
+	// element in a list is a `string`, `list`, or `object`, merge it with
+	// the first element in the next list by applying these rules
+	// recursively. * `object`: concatenate the (field name, field value)
+	// pairs. If a field name is duplicated, then apply these rules
+	// recursively to merge the field values. Some examples of merging: #
+	// Strings are concatenated. "foo", "bar" => "foobar" # Lists of
+	// non-strings are concatenated. [2, 3], [4] => [2, 3, 4] # Lists are
+	// concatenated, but the last and first elements are merged # because
+	// they are strings. ["a", "b"], ["c", "d"] => ["a", "bc", "d"] # Lists
+	// are concatenated, but the last and first elements are merged #
+	// because they are lists. Recursively, the last and first elements # of
+	// the inner lists are merged because they are strings. ["a", ["b",
+	// "c"]], [["d"], "e"] => ["a", ["b", "cd"], "e"] # Non-overlapping
+	// object fields are combined. {"a": "1"}, {"b": "2"} => {"a": "1", "b":
+	// 2"} # Overlapping object fields are merged. {"a": "1"}, {"a": "2"} =>
+	// {"a": "12"} # Examples of merging objects containing lists of
+	// strings. {"a": ["1"]}, {"a": ["2"]} => {"a": ["12"]} For a more
+	// complete example, suppose a streaming SQL query is yielding a result
+	// set whose rows contain a single string field. The following
+	// `PartialResultSet`s might be yielded: { "metadata": { ... } "values":
+	// ["Hello", "W"] "chunked_value": true "resume_token": "Af65..." } {
+	// "values": ["orl"] "chunked_value": true "resume_token": "Bqp2..." } {
+	// "values": ["d"] "resume_token": "Zx1B..." } This sequence of
+	// `PartialResultSet`s encodes two rows, one containing the field value
+	// "Hello", and a second containing the field value "World" = "W" +
+	// "orl" + "d".
 	Values []interface{} `json:"values,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -2711,15 +2253,12 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// Partition: Information returned for each partition returned in
-// a
+// Partition: Information returned for each partition returned in a
 // PartitionResponse.
 type Partition struct {
 	// PartitionToken: This token can be passed to Read, StreamingRead,
-	// ExecuteSql, or
-	// ExecuteStreamingSql requests to restrict the results to those
-	// identified by
-	// this partition token.
+	// ExecuteSql, or ExecuteStreamingSql requests to restrict the results
+	// to those identified by this partition token.
 	PartitionToken string `json:"partitionToken,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "PartitionToken") to
@@ -2746,34 +2285,23 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// PartitionOptions: Options for a PartitionQueryRequest
-// and
+// PartitionOptions: Options for a PartitionQueryRequest and
 // PartitionReadRequest.
 type PartitionOptions struct {
 	// MaxPartitions: **Note:** This hint is currently ignored by
-	// PartitionQuery and
-	// PartitionRead requests.
-	//
-	// The desired maximum number of partitions to return.  For example,
-	// this may
-	// be set to the number of workers available.  The default for this
-	// option
-	// is currently 10,000. The maximum value is currently 200,000.  This is
-	// only
-	// a hint.  The actual number of partitions returned may be smaller or
-	// larger
+	// PartitionQuery and PartitionRead requests. The desired maximum number
+	// of partitions to return. For example, this may be set to the number
+	// of workers available. The default for this option is currently
+	// 10,000. The maximum value is currently 200,000. This is only a hint.
+	// The actual number of partitions returned may be smaller or larger
 	// than this maximum count request.
 	MaxPartitions int64 `json:"maxPartitions,omitempty,string"`
 
 	// PartitionSizeBytes: **Note:** This hint is currently ignored by
-	// PartitionQuery and
-	// PartitionRead requests.
-	//
-	// The desired data size for each partition generated.  The default for
-	// this
-	// option is currently 1 GiB.  This is only a hint. The actual size of
-	// each
-	// partition may be smaller or larger than this size request.
+	// PartitionQuery and PartitionRead requests. The desired data size for
+	// each partition generated. The default for this option is currently 1
+	// GiB. This is only a hint. The actual size of each partition may be
+	// smaller or larger than this size request.
 	PartitionSizeBytes int64 `json:"partitionSizeBytes,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "MaxPartitions") to
@@ -2802,33 +2330,21 @@
 // PartitionQueryRequest: The request for PartitionQuery
 type PartitionQueryRequest struct {
 	// ParamTypes: It is not always possible for Cloud Spanner to infer the
-	// right SQL type
-	// from a JSON value.  For example, values of type `BYTES` and values
-	// of type `STRING` both appear in params as JSON strings.
-	//
-	// In these cases, `param_types` can be used to specify the exact
-	// SQL type for some or all of the SQL query parameters. See
-	// the
-	// definition of Type for more information
-	// about SQL types.
+	// right SQL type from a JSON value. For example, values of type `BYTES`
+	// and values of type `STRING` both appear in params as JSON strings. In
+	// these cases, `param_types` can be used to specify the exact SQL type
+	// for some or all of the SQL query parameters. See the definition of
+	// Type for more information about SQL types.
 	ParamTypes map[string]Type `json:"paramTypes,omitempty"`
 
 	// Params: Parameter names and values that bind to placeholders in the
-	// SQL string.
-	//
-	// A parameter placeholder consists of the `@` character followed by
-	// the
-	// parameter name (for example, `@firstName`). Parameter names can
-	// contain
-	// letters, numbers, and underscores.
-	//
-	// Parameters can appear anywhere that a literal value is expected.  The
-	// same
-	// parameter name can be used more than once, for example:
-	//
-	// "WHERE id > @msg_id AND id < @msg_id + 100"
-	//
-	// It is an error to execute a SQL statement with unbound parameters.
+	// SQL string. A parameter placeholder consists of the `@` character
+	// followed by the parameter name (for example, `@firstName`). Parameter
+	// names can contain letters, numbers, and underscores. Parameters can
+	// appear anywhere that a literal value is expected. The same parameter
+	// name can be used more than once, for example: "WHERE id > @msg_id
+	// AND id < @msg_id + 100" It is an error to execute a SQL statement
+	// with unbound parameters.
 	Params googleapi.RawMessage `json:"params,omitempty"`
 
 	// PartitionOptions: Additional options that affect how many partitions
@@ -2836,27 +2352,18 @@
 	PartitionOptions *PartitionOptions `json:"partitionOptions,omitempty"`
 
 	// Sql: Required. The query request to generate partitions for. The
-	// request will fail if
-	// the query is not root partitionable. The query plan of a
-	// root
-	// partitionable query has a single distributed union operator. A
-	// distributed
-	// union operator conceptually divides one or more tables into
-	// multiple
-	// splits, remotely evaluates a subquery independently on each split,
-	// and
-	// then unions all results.
-	//
-	// This must not contain DML commands, such as INSERT, UPDATE,
-	// or
-	// DELETE. Use ExecuteStreamingSql with a
-	// PartitionedDml transaction for large, partition-friendly DML
-	// operations.
+	// request will fail if the query is not root partitionable. The query
+	// plan of a root partitionable query has a single distributed union
+	// operator. A distributed union operator conceptually divides one or
+	// more tables into multiple splits, remotely evaluates a subquery
+	// independently on each split, and then unions all results. This must
+	// not contain DML commands, such as INSERT, UPDATE, or DELETE. Use
+	// ExecuteStreamingSql with a PartitionedDml transaction for large,
+	// partition-friendly DML operations.
 	Sql string `json:"sql,omitempty"`
 
 	// Transaction: Read only snapshot transactions are supported,
-	// read/write and single use
-	// transactions are not.
+	// read/write and single use transactions are not.
 	Transaction *TransactionSelector `json:"transaction,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ParamTypes") to
@@ -2884,25 +2391,21 @@
 
 // PartitionReadRequest: The request for PartitionRead
 type PartitionReadRequest struct {
-	// Columns: The columns of table to be returned for each row
-	// matching
+	// Columns: The columns of table to be returned for each row matching
 	// this request.
 	Columns []string `json:"columns,omitempty"`
 
-	// Index: If non-empty, the name of an index on table. This index
-	// is
-	// used instead of the table primary key when interpreting key_set
-	// and sorting result rows. See key_set for further information.
+	// Index: If non-empty, the name of an index on table. This index is
+	// used instead of the table primary key when interpreting key_set and
+	// sorting result rows. See key_set for further information.
 	Index string `json:"index,omitempty"`
 
 	// KeySet: Required. `key_set` identifies the rows to be yielded.
-	// `key_set` names the
-	// primary keys of the rows in table to be yielded, unless index
-	// is present. If index is present, then key_set instead names
-	// index keys in index.
-	//
-	// It is not an error for the `key_set` to name rows that do not
-	// exist in the database. Read yields nothing for nonexistent rows.
+	// `key_set` names the primary keys of the rows in table to be yielded,
+	// unless index is present. If index is present, then key_set instead
+	// names index keys in index. It is not an error for the `key_set` to
+	// name rows that do not exist in the database. Read yields nothing for
+	// nonexistent rows.
 	KeySet *KeySet `json:"keySet,omitempty"`
 
 	// PartitionOptions: Additional options that affect how many partitions
@@ -2913,8 +2416,7 @@
 	Table string `json:"table,omitempty"`
 
 	// Transaction: Read only snapshot transactions are supported,
-	// read/write and single use
-	// transactions are not.
+	// read/write and single use transactions are not.
 	Transaction *TransactionSelector `json:"transaction,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Columns") to
@@ -2940,8 +2442,7 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// PartitionResponse: The response for PartitionQuery
-// or PartitionRead
+// PartitionResponse: The response for PartitionQuery or PartitionRead
 type PartitionResponse struct {
 	// Partitions: Partitions created by this request.
 	Partitions []*Partition `json:"partitions,omitempty"`
@@ -2992,52 +2493,36 @@
 	DisplayName string `json:"displayName,omitempty"`
 
 	// ExecutionStats: The execution statistics associated with the node,
-	// contained in a group of
-	// key-value pairs. Only present if the plan was returned as a result of
-	// a
-	// profile query. For example, number of executions, number of rows/time
-	// per
-	// execution etc.
+	// contained in a group of key-value pairs. Only present if the plan was
+	// returned as a result of a profile query. For example, number of
+	// executions, number of rows/time per execution etc.
 	ExecutionStats googleapi.RawMessage `json:"executionStats,omitempty"`
 
 	// Index: The `PlanNode`'s index in node list.
 	Index int64 `json:"index,omitempty"`
 
 	// Kind: Used to determine the type of node. May be needed for
-	// visualizing
-	// different kinds of nodes differently. For example, If the node is
-	// a
-	// SCALAR node, it will have a condensed representation
-	// which can be used to directly embed a description of the node in
-	// its
+	// visualizing different kinds of nodes differently. For example, If the
+	// node is a SCALAR node, it will have a condensed representation which
+	// can be used to directly embed a description of the node in its
 	// parent.
 	//
 	// Possible values:
 	//   "KIND_UNSPECIFIED" - Not specified.
 	//   "RELATIONAL" - Denotes a Relational operator node in the expression
-	// tree. Relational
-	// operators represent iterative processing of rows during query
-	// execution.
-	// For example, a `TableScan` operation that reads rows from a table.
+	// tree. Relational operators represent iterative processing of rows
+	// during query execution. For example, a `TableScan` operation that
+	// reads rows from a table.
 	//   "SCALAR" - Denotes a Scalar node in the expression tree. Scalar
-	// nodes represent
-	// non-iterable entities in the query plan. For example, constants
-	// or
-	// arithmetic operators appearing inside predicate expressions or
-	// references
-	// to column names.
+	// nodes represent non-iterable entities in the query plan. For example,
+	// constants or arithmetic operators appearing inside predicate
+	// expressions or references to column names.
 	Kind string `json:"kind,omitempty"`
 
 	// Metadata: Attributes relevant to the node contained in a group of
-	// key-value pairs.
-	// For example, a Parameter Reference node could have the
-	// following
-	// information in its metadata:
-	//
-	//     {
-	//       "parameter_reference": "param1",
-	//       "parameter_type": "array"
-	//     }
+	// key-value pairs. For example, a Parameter Reference node could have
+	// the following information in its metadata: { "parameter_reference":
+	// "param1", "parameter_type": "array" }
 	Metadata googleapi.RawMessage `json:"metadata,omitempty"`
 
 	// ShortRepresentation: Condensed representation for SCALAR nodes.
@@ -3067,150 +2552,73 @@
 }
 
 // Policy: An Identity and Access Management (IAM) policy, which
-// specifies access
-// controls for Google Cloud resources.
-//
-//
-// A `Policy` is a collection of `bindings`. A `binding` binds one or
-// more
-// `members` to a single `role`. Members can be user accounts, service
-// accounts,
+// specifies access controls for Google Cloud resources. A `Policy` is a
+// collection of `bindings`. A `binding` binds one or more `members` to
+// a single `role`. Members can be user accounts, service accounts,
 // Google groups, and domains (such as G Suite). A `role` is a named
-// list of
-// permissions; each `role` can be an IAM predefined role or a
-// user-created
-// custom role.
-//
-// For some types of Google Cloud resources, a `binding` can also
-// specify a
-// `condition`, which is a logical expression that allows access to a
-// resource
-// only if the expression evaluates to `true`. A condition can add
-// constraints
-// based on attributes of the request, the resource, or both. To learn
-// which
-// resources support conditions in their IAM policies, see the
-// [IAM
+// list of permissions; each `role` can be an IAM predefined role or a
+// user-created custom role. For some types of Google Cloud resources, a
+// `binding` can also specify a `condition`, which is a logical
+// expression that allows access to a resource only if the expression
+// evaluates to `true`. A condition can add constraints based on
+// attributes of the request, the resource, or both. To learn which
+// resources support conditions in their IAM policies, see the [IAM
 // documentation](https://cloud.google.com/iam/help/conditions/resource-p
-// olicies).
-//
-// **JSON example:**
-//
-//     {
-//       "bindings": [
-//         {
-//           "role": "roles/resourcemanager.organizationAdmin",
-//           "members": [
-//             "user:mike@example.com",
-//             "group:admins@example.com",
-//             "domain:google.com",
-//
-// "serviceAccount:my-project-id@appspot.gserviceaccount.com"
-//           ]
-//         },
-//         {
-//           "role": "roles/resourcemanager.organizationViewer",
-//           "members": [
-//             "user:eve@example.com"
-//           ],
-//           "condition": {
-//             "title": "expirable access",
-//             "description": "Does not grant access after Sep 2020",
-//             "expression": "request.time <
-// timestamp('2020-10-01T00:00:00.000Z')",
-//           }
-//         }
-//       ],
-//       "etag": "BwWWja0YfJA=",
-//       "version": 3
-//     }
-//
-// **YAML example:**
-//
-//     bindings:
-//     - members:
-//       - user:mike@example.com
-//       - group:admins@example.com
-//       - domain:google.com
-//       - serviceAccount:my-project-id@appspot.gserviceaccount.com
-//       role: roles/resourcemanager.organizationAdmin
-//     - members:
-//       - user:eve@example.com
-//       role: roles/resourcemanager.organizationViewer
-//       condition:
-//         title: expirable access
-//         description: Does not grant access after Sep 2020
-//         expression: request.time <
-// timestamp('2020-10-01T00:00:00.000Z')
-//     - etag: BwWWja0YfJA=
-//     - version: 3
-//
-// For a description of IAM and its features, see the
-// [IAM documentation](https://cloud.google.com/iam/docs/).
+// olicies). **JSON example:** { "bindings": [ { "role":
+// "roles/resourcemanager.organizationAdmin", "members": [
+// "user:mike@example.com", "group:admins@example.com",
+// "domain:google.com",
+// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, {
+// "role": "roles/resourcemanager.organizationViewer", "members": [
+// "user:eve@example.com" ], "condition": { "title": "expirable access",
+// "description": "Does not grant access after Sep 2020", "expression":
+// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ],
+// "etag": "BwWWja0YfJA=", "version": 3 } **YAML example:** bindings: -
+// members: - user:mike@example.com - group:admins@example.com -
+// domain:google.com -
+// serviceAccount:my-project-id@appspot.gserviceaccount.com role:
+// roles/resourcemanager.organizationAdmin - members: -
+// user:eve@example.com role: roles/resourcemanager.organizationViewer
+// condition: title: expirable access description: Does not grant access
+// after Sep 2020 expression: request.time <
+// timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version:
+// 3 For a description of IAM and its features, see the [IAM
+// documentation](https://cloud.google.com/iam/docs/).
 type Policy struct {
 	// Bindings: Associates a list of `members` to a `role`. Optionally, may
-	// specify a
-	// `condition` that determines how and when the `bindings` are applied.
-	// Each
-	// of the `bindings` must contain at least one member.
+	// specify a `condition` that determines how and when the `bindings` are
+	// applied. Each of the `bindings` must contain at least one member.
 	Bindings []*Binding `json:"bindings,omitempty"`
 
 	// Etag: `etag` is used for optimistic concurrency control as a way to
-	// help
-	// prevent simultaneous updates of a policy from overwriting each
-	// other.
-	// It is strongly suggested that systems make use of the `etag` in
-	// the
-	// read-modify-write cycle to perform policy updates in order to avoid
-	// race
-	// conditions: An `etag` is returned in the response to `getIamPolicy`,
-	// and
-	// systems are expected to put that etag in the request to
-	// `setIamPolicy` to
-	// ensure that their change will be applied to the same version of the
-	// policy.
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
+	// help prevent simultaneous updates of a policy from overwriting each
+	// other. It is strongly suggested that systems make use of the `etag`
+	// in the read-modify-write cycle to perform policy updates in order to
+	// avoid race conditions: An `etag` is returned in the response to
+	// `getIamPolicy`, and systems are expected to put that etag in the
+	// request to `setIamPolicy` to ensure that their change will be applied
+	// to the same version of the policy. **Important:** If you use IAM
+	// Conditions, you must include the `etag` field whenever you call
+	// `setIamPolicy`. If you omit this field, then IAM allows you to
+	// overwrite a version `3` policy with a version `1` policy, and all of
 	// the conditions in the version `3` policy are lost.
 	Etag string `json:"etag,omitempty"`
 
-	// Version: Specifies the format of the policy.
-	//
-	// Valid values are `0`, `1`, and `3`. Requests that specify an invalid
-	// value
-	// are rejected.
-	//
+	// Version: Specifies the format of the policy. Valid values are `0`,
+	// `1`, and `3`. Requests that specify an invalid value are rejected.
 	// Any operation that affects conditional role bindings must specify
-	// version
-	// `3`. This requirement applies to the following operations:
-	//
-	// * Getting a policy that includes a conditional role binding
-	// * Adding a conditional role binding to a policy
-	// * Changing a conditional role binding in a policy
-	// * Removing any role binding, with or without a condition, from a
-	// policy
-	//   that includes conditions
-	//
-	// **Important:** If you use IAM Conditions, you must include the `etag`
-	// field
-	// whenever you call `setIamPolicy`. If you omit this field, then IAM
-	// allows
-	// you to overwrite a version `3` policy with a version `1` policy, and
-	// all of
-	// the conditions in the version `3` policy are lost.
-	//
-	// If a policy does not include any conditions, operations on that
-	// policy may
-	// specify any valid version or leave the field unset.
-	//
-	// To learn which resources support conditions in their IAM policies,
-	// see the
-	// [IAM
+	// version `3`. This requirement applies to the following operations: *
+	// Getting a policy that includes a conditional role binding * Adding a
+	// conditional role binding to a policy * Changing a conditional role
+	// binding in a policy * Removing any role binding, with or without a
+	// condition, from a policy that includes conditions **Important:** If
+	// you use IAM Conditions, you must include the `etag` field whenever
+	// you call `setIamPolicy`. If you omit this field, then IAM allows you
+	// to overwrite a version `3` policy with a version `1` policy, and all
+	// of the conditions in the version `3` policy are lost. If a policy
+	// does not include any conditions, operations on that policy may
+	// specify any valid version or leave the field unset. To learn which
+	// resources support conditions in their IAM policies, see the [IAM
 	// documentation](https://cloud.google.com/iam/help/conditions/resource-p
 	// olicies).
 	Version int64 `json:"version,omitempty"`
@@ -3245,35 +2653,17 @@
 // QueryOptions: Query optimizer configuration.
 type QueryOptions struct {
 	// OptimizerVersion: An option to control the selection of optimizer
-	// version.
-	//
-	// This parameter allows individual queries to pick different
-	// query
-	// optimizer versions.
-	//
-	// Specifying "latest" as a value instructs Cloud Spanner to use
-	// the
-	// latest supported query optimizer version. If not specified, Cloud
-	// Spanner
-	// uses optimizer version set at the database level options. Any
-	// other
-	// positive integer (from the list of supported optimizer
-	// versions)
-	// overrides the default optimizer version for query execution.
-	// The list of supported optimizer versions can be queried
-	// from
-	// SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS. Executing a SQL
-	// statement
-	// with an invalid optimizer version will fail with a syntax
-	// error
-	// (`INVALID_ARGUMENT`)
-	// status.
-	// See
-	// https://cloud.google.com/spanner/docs/query-optimizer/mana
-	// ge-query-optimizer
-	// for more information on managing the query optimizer.
-	//
-	// The `optimizer_version` statement hint has precedence over this
+	// version. This parameter allows individual queries to pick different
+	// query optimizer versions. Specifying "latest" as a value instructs
+	// Cloud Spanner to use the latest supported query optimizer version. If
+	// not specified, Cloud Spanner uses optimizer version set at the
+	// database level options. Any other positive integer (from the list of
+	// supported optimizer versions) overrides the default optimizer version
+	// for query execution. The list of supported optimizer versions can be
+	// queried from SPANNER_SYS.SUPPORTED_OPTIMIZER_VERSIONS. Executing a
+	// SQL statement with an invalid optimizer version will fail with a
+	// syntax error (`INVALID_ARGUMENT`) status. See
+	// https://cloud.google.com/spanner/docs/query-optimizer/manage-query-optimizer for more information on managing the query optimizer. The `optimizer_version` statement hint has precedence over this
 	// setting.
 	OptimizerVersion string `json:"optimizerVersion,omitempty"`
 
@@ -3305,10 +2695,8 @@
 // plan.
 type QueryPlan struct {
 	// PlanNodes: The nodes in the query plan. Plan nodes are returned in
-	// pre-order starting
-	// with the plan root. Each PlanNode's `id` corresponds to its index
-	// in
-	// `plan_nodes`.
+	// pre-order starting with the plan root. Each PlanNode's `id`
+	// corresponds to its index in `plan_nodes`.
 	PlanNodes []*PlanNode `json:"planNodes,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "PlanNodes") to
@@ -3337,83 +2725,53 @@
 // ReadOnly: Message type to initiate a read-only transaction.
 type ReadOnly struct {
 	// ExactStaleness: Executes all reads at a timestamp that is
-	// `exact_staleness`
-	// old. The timestamp is chosen soon after the read is
-	// started.
-	//
-	// Guarantees that all writes that have committed more than
-	// the
-	// specified number of seconds ago are visible. Because Cloud
-	// Spanner
-	// chooses the exact timestamp, this mode works even if the
-	// client's
-	// local clock is substantially skewed from Cloud Spanner
-	// commit
-	// timestamps.
-	//
-	// Useful for reading at nearby replicas without the
-	// distributed
-	// timestamp negotiation overhead of `max_staleness`.
+	// `exact_staleness` old. The timestamp is chosen soon after the read is
+	// started. Guarantees that all writes that have committed more than the
+	// specified number of seconds ago are visible. Because Cloud Spanner
+	// chooses the exact timestamp, this mode works even if the client's
+	// local clock is substantially skewed from Cloud Spanner commit
+	// timestamps. Useful for reading at nearby replicas without the
+	// distributed timestamp negotiation overhead of `max_staleness`.
 	ExactStaleness string `json:"exactStaleness,omitempty"`
 
-	// MaxStaleness: Read data at a timestamp >= `NOW -
-	// max_staleness`
-	// seconds. Guarantees that all writes that have committed more
-	// than the specified number of seconds ago are visible. Because
-	// Cloud Spanner chooses the exact timestamp, this mode works even
-	// if
-	// the client's local clock is substantially skewed from Cloud
-	// Spanner
-	// commit timestamps.
-	//
-	// Useful for reading the freshest data available at a nearby
-	// replica, while bounding the possible staleness if the local
-	// replica has fallen behind.
-	//
-	// Note that this option can only be used in single-use
-	// transactions.
+	// MaxStaleness: Read data at a timestamp >= `NOW - max_staleness`
+	// seconds. Guarantees that all writes that have committed more than the
+	// specified number of seconds ago are visible. Because Cloud Spanner
+	// chooses the exact timestamp, this mode works even if the client's
+	// local clock is substantially skewed from Cloud Spanner commit
+	// timestamps. Useful for reading the freshest data available at a
+	// nearby replica, while bounding the possible staleness if the local
+	// replica has fallen behind. Note that this option can only be used in
+	// single-use transactions.
 	MaxStaleness string `json:"maxStaleness,omitempty"`
 
 	// MinReadTimestamp: Executes all reads at a timestamp >=
-	// `min_read_timestamp`.
-	//
-	// This is useful for requesting fresher data than some previous
-	// read, or data that is fresh enough to observe the effects of
-	// some
-	// previously committed transaction whose timestamp is known.
-	//
-	// Note that this option can only be used in single-use transactions.
-	//
-	// A timestamp in RFC3339 UTC \"Zulu\" format, accurate to
-	// nanoseconds.
-	// Example: "2014-10-02T15:01:23.045123456Z".
+	// `min_read_timestamp`. This is useful for requesting fresher data than
+	// some previous read, or data that is fresh enough to observe the
+	// effects of some previously committed transaction whose timestamp is
+	// known. Note that this option can only be used in single-use
+	// transactions. A timestamp in RFC3339 UTC \"Zulu\" format, accurate to
+	// nanoseconds. Example: "2014-10-02T15:01:23.045123456Z".
 	MinReadTimestamp string `json:"minReadTimestamp,omitempty"`
 
 	// ReadTimestamp: Executes all reads at the given timestamp. Unlike
-	// other modes,
-	// reads at a specific timestamp are repeatable; the same read at
-	// the same timestamp always returns the same data. If the
-	// timestamp is in the future, the read will block until the
-	// specified timestamp, modulo the read's deadline.
-	//
-	// Useful for large scale consistent reads such as mapreduces, or
-	// for coordinating many reads against a consistent snapshot of
-	// the
-	// data.
-	//
-	// A timestamp in RFC3339 UTC \"Zulu\" format, accurate to
-	// nanoseconds.
-	// Example: "2014-10-02T15:01:23.045123456Z".
+	// other modes, reads at a specific timestamp are repeatable; the same
+	// read at the same timestamp always returns the same data. If the
+	// timestamp is in the future, the read will block until the specified
+	// timestamp, modulo the read's deadline. Useful for large scale
+	// consistent reads such as mapreduces, or for coordinating many reads
+	// against a consistent snapshot of the data. A timestamp in RFC3339 UTC
+	// \"Zulu\" format, accurate to nanoseconds. Example:
+	// "2014-10-02T15:01:23.045123456Z".
 	ReadTimestamp string `json:"readTimestamp,omitempty"`
 
 	// ReturnReadTimestamp: If true, the Cloud Spanner-selected read
-	// timestamp is included in
-	// the Transaction message that describes the transaction.
+	// timestamp is included in the Transaction message that describes the
+	// transaction.
 	ReturnReadTimestamp bool `json:"returnReadTimestamp,omitempty"`
 
 	// Strong: Read at a timestamp where all previously committed
-	// transactions
-	// are visible.
+	// transactions are visible.
 	Strong bool `json:"strong,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ExactStaleness") to
@@ -3440,66 +2798,52 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// ReadRequest: The request for Read and
-// StreamingRead.
+// ReadRequest: The request for Read and StreamingRead.
 type ReadRequest struct {
 	// Columns: Required. The columns of table to be returned for each row
-	// matching
-	// this request.
+	// matching this request.
 	Columns []string `json:"columns,omitempty"`
 
-	// Index: If non-empty, the name of an index on table. This index
-	// is
-	// used instead of the table primary key when interpreting key_set
-	// and sorting result rows. See key_set for further information.
+	// Index: If non-empty, the name of an index on table. This index is
+	// used instead of the table primary key when interpreting key_set and
+	// sorting result rows. See key_set for further information.
 	Index string `json:"index,omitempty"`
 
 	// KeySet: Required. `key_set` identifies the rows to be yielded.
-	// `key_set` names the
-	// primary keys of the rows in table to be yielded, unless index
-	// is present. If index is present, then key_set instead names
-	// index keys in index.
-	//
-	// If the partition_token field is empty, rows are yielded
-	// in table primary key order (if index is empty) or index key order
-	// (if index is non-empty).  If the partition_token field is not
-	// empty, rows will be yielded in an unspecified order.
-	//
-	// It is not an error for the `key_set` to name rows that do not
-	// exist in the database. Read yields nothing for nonexistent rows.
+	// `key_set` names the primary keys of the rows in table to be yielded,
+	// unless index is present. If index is present, then key_set instead
+	// names index keys in index. If the partition_token field is empty,
+	// rows are yielded in table primary key order (if index is empty) or
+	// index key order (if index is non-empty). If the partition_token field
+	// is not empty, rows will be yielded in an unspecified order. It is not
+	// an error for the `key_set` to name rows that do not exist in the
+	// database. Read yields nothing for nonexistent rows.
 	KeySet *KeySet `json:"keySet,omitempty"`
 
 	// Limit: If greater than zero, only the first `limit` rows are yielded.
-	// If `limit`
-	// is zero, the default is no limit. A limit cannot be specified
-	// if
-	// `partition_token` is set.
+	// If `limit` is zero, the default is no limit. A limit cannot be
+	// specified if `partition_token` is set.
 	Limit int64 `json:"limit,omitempty,string"`
 
 	// PartitionToken: If present, results will be restricted to the
-	// specified partition
-	// previously created using PartitionRead().    There must be an
-	// exact
-	// match for the values of fields common to this message and
-	// the
-	// PartitionReadRequest message used to create this partition_token.
+	// specified partition previously created using PartitionRead(). There
+	// must be an exact match for the values of fields common to this
+	// message and the PartitionReadRequest message used to create this
+	// partition_token.
 	PartitionToken string `json:"partitionToken,omitempty"`
 
 	// ResumeToken: If this request is resuming a previously interrupted
-	// read,
-	// `resume_token` should be copied from the last
-	// PartialResultSet yielded before the interruption. Doing this
-	// enables the new read to resume where the last read left off. The
-	// rest of the request parameters must exactly match the request
-	// that yielded this token.
+	// read, `resume_token` should be copied from the last PartialResultSet
+	// yielded before the interruption. Doing this enables the new read to
+	// resume where the last read left off. The rest of the request
+	// parameters must exactly match the request that yielded this token.
 	ResumeToken string `json:"resumeToken,omitempty"`
 
 	// Table: Required. The name of the table in the database to be read.
 	Table string `json:"table,omitempty"`
 
 	// Transaction: The transaction to use. If none is provided, the default
-	// is a
-	// temporary read-only transaction with strong concurrency.
+	// is a temporary read-only transaction with strong concurrency.
 	Transaction *TransactionSelector `json:"transaction,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Columns") to
@@ -3526,19 +2870,16 @@
 }
 
 // ReadWrite: Message type to initiate a read-write transaction.
-// Currently this
-// transaction type has no options.
+// Currently this transaction type has no options.
 type ReadWrite struct {
 }
 
 type ReplicaInfo struct {
 	// DefaultLeaderLocation: If true, this location is designated as the
-	// default leader location where
-	// leader replicas are placed. See the [region
-	// types
-	// documentation](https://cloud.google.com/spanner/docs/instances#r
-	// egion_types)
-	// for more details.
+	// default leader location where leader replicas are placed. See the
+	// [region types
+	// documentation](https://cloud.google.com/spanner/docs/instances#region_
+	// types) for more details.
 	DefaultLeaderLocation bool `json:"defaultLeaderLocation,omitempty"`
 
 	// Location: The location of the serving resources, e.g. "us-central1".
@@ -3549,29 +2890,18 @@
 	// Possible values:
 	//   "TYPE_UNSPECIFIED" - Not specified.
 	//   "READ_WRITE" - Read-write replicas support both reads and writes.
-	// These replicas:
-	//
-	// * Maintain a full copy of your data.
-	// * Serve reads.
-	// * Can vote whether to commit a write.
-	// * Participate in leadership election.
-	// * Are eligible to become a leader.
+	// These replicas: * Maintain a full copy of your data. * Serve reads. *
+	// Can vote whether to commit a write. * Participate in leadership
+	// election. * Are eligible to become a leader.
 	//   "READ_ONLY" - Read-only replicas only support reads (not writes).
-	// Read-only replicas:
-	//
-	// * Maintain a full copy of your data.
-	// * Serve reads.
-	// * Do not participate in voting to commit writes.
-	// * Are not eligible to become a leader.
+	// Read-only replicas: * Maintain a full copy of your data. * Serve
+	// reads. * Do not participate in voting to commit writes. * Are not
+	// eligible to become a leader.
 	//   "WITNESS" - Witness replicas don't support reads but do participate
-	// in voting to
-	// commit writes. Witness replicas:
-	//
-	// * Do not maintain a full copy of data.
-	// * Do not serve reads.
-	// * Vote whether to commit writes.
-	// * Participate in leader election but are not eligible to become
-	// leader.
+	// in voting to commit writes. Witness replicas: * Do not maintain a
+	// full copy of data. * Do not serve reads. * Vote whether to commit
+	// writes. * Participate in leader election but are not eligible to
+	// become leader.
 	Type string `json:"type,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g.
@@ -3600,61 +2930,41 @@
 }
 
 // RestoreDatabaseMetadata: Metadata type for the long-running operation
-// returned by
-// RestoreDatabase.
+// returned by RestoreDatabase.
 type RestoreDatabaseMetadata struct {
 	// BackupInfo: Information about the backup used to restore the
 	// database.
 	BackupInfo *BackupInfo `json:"backupInfo,omitempty"`
 
 	// CancelTime: The time at which cancellation of this operation was
-	// received.
-	// Operations.CancelOperation
-	// starts asynchronous cancellation on a long-running operation. The
-	// server
-	// makes a best effort to cancel the operation, but success is not
-	// guaranteed.
-	// 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`.
+	// received. Operations.CancelOperation starts asynchronous cancellation
+	// on a long-running operation. The server makes a best effort to cancel
+	// the operation, but success is not guaranteed. 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`.
 	CancelTime string `json:"cancelTime,omitempty"`
 
 	// Name: Name of the database being created and restored to.
 	Name string `json:"name,omitempty"`
 
 	// OptimizeDatabaseOperationName: If exists, the name of the
-	// long-running operation that will be used to
-	// track the post-restore optimization process to optimize the
-	// performance of
-	// the restored database, and remove the dependency on the restore
-	// source.
-	// The name is of the
-	// form
-	// `projects/<project>/instances/<instance>/databases/<database>/ope
-	// rations/<operation>`
-	// where the <database> is the name of database being created and
-	// restored to.
-	// The metadata type of the  long-running operation
-	// is
-	// OptimizeRestoredDatabaseMetadata. This long-running operation will
-	// be
+	// long-running operation that will be used to track the post-restore
+	// optimization process to optimize the performance of the restored
+	// database, and remove the dependency on the restore source. The name
+	// is of the form `projects//instances//databases//operations/` where
+	// the is the name of database being created and restored to. The
+	// metadata type of the long-running operation is
+	// OptimizeRestoredDatabaseMetadata. This long-running operation will be
 	// automatically created by the system after the RestoreDatabase
-	// long-running
-	// operation completes successfully. This operation will not be created
-	// if the
-	// restore was not successful.
+	// long-running operation completes successfully. This operation will
+	// not be created if the restore was not successful.
 	OptimizeDatabaseOperationName string `json:"optimizeDatabaseOperationName,omitempty"`
 
-	// Progress: The progress of the
-	// RestoreDatabase
-	// operation.
+	// Progress: The progress of the RestoreDatabase operation.
 	Progress *OperationProgress `json:"progress,omitempty"`
 
 	// SourceType: The type of the restore source.
@@ -3687,22 +2997,16 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// RestoreDatabaseRequest: The request for
-// RestoreDatabase.
+// RestoreDatabaseRequest: The request for RestoreDatabase.
 type RestoreDatabaseRequest struct {
-	// Backup: Name of the backup from which to restore.  Values are of the
-	// form
-	// `projects/<project>/instances/<instance>/backups/<backup>`.
+	// Backup: Name of the backup from which to restore. Values are of the
+	// form `projects//instances//backups/`.
 	Backup string `json:"backup,omitempty"`
 
 	// DatabaseId: Required. The id of the database to create and restore
-	// to. This
-	// database must not already exist. The `database_id` appended
-	// to
-	// `parent` forms the full database name of the
-	// form
-	// `projects/<project>/instances/<instance>/databases/<database_id>`
-	// .
+	// to. This database must not already exist. The `database_id` appended
+	// to `parent` forms the full database name of the form
+	// `projects//instances//databases/`.
 	DatabaseId string `json:"databaseId,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Backup") to
@@ -3731,8 +3035,7 @@
 // RestoreInfo: Information about the database restore.
 type RestoreInfo struct {
 	// BackupInfo: Information about the backup used to restore the
-	// database. The backup
-	// may no longer exist.
+	// database. The backup may no longer exist.
 	BackupInfo *BackupInfo `json:"backupInfo,omitempty"`
 
 	// SourceType: The type of the restore source.
@@ -3765,33 +3068,24 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// ResultSet: Results from Read or
-// ExecuteSql.
+// ResultSet: Results from Read or ExecuteSql.
 type ResultSet struct {
 	// Metadata: Metadata about the result set, such as row type
 	// information.
 	Metadata *ResultSetMetadata `json:"metadata,omitempty"`
 
-	// Rows: Each element in `rows` is a row whose format is defined
-	// by
-	// metadata.row_type. The ith element
-	// in each row matches the ith field in
-	// metadata.row_type. Elements are
-	// encoded based on type as described
+	// Rows: Each element in `rows` is a row whose format is defined by
+	// metadata.row_type. The ith element in each row matches the ith field
+	// in metadata.row_type. Elements are encoded based on type as described
 	// here.
 	Rows [][]interface{} `json:"rows,omitempty"`
 
-	// Stats: Query plan and execution statistics for the SQL statement
-	// that
-	// produced this result set. These can be requested by
-	// setting
-	// ExecuteSqlRequest.query_mode.
-	// DML statements always produce stats containing the number of
-	// rows
-	// modified, unless executed using the
-	// ExecuteSqlRequest.QueryMode.PLAN ExecuteSqlRequest.query_mode.
-	// Other fields may or may not be populated, based on
-	// the
+	// Stats: Query plan and execution statistics for the SQL statement that
+	// produced this result set. These can be requested by setting
+	// ExecuteSqlRequest.query_mode. DML statements always produce stats
+	// containing the number of rows modified, unless executed using the
+	// ExecuteSqlRequest.QueryMode.PLAN ExecuteSqlRequest.query_mode. Other
+	// fields may or may not be populated, based on the
 	// ExecuteSqlRequest.query_mode.
 	Stats *ResultSetStats `json:"stats,omitempty"`
 
@@ -3825,20 +3119,15 @@
 // ResultSetMetadata: Metadata about a ResultSet or PartialResultSet.
 type ResultSetMetadata struct {
 	// RowType: Indicates the field names and types for the rows in the
-	// result
-	// set.  For example, a SQL query like "SELECT UserId, UserName
-	// FROM
-	// Users" could return a `row_type` value like:
-	//
-	//     "fields": [
-	//       { "name": "UserId", "type": { "code": "INT64" } },
-	//       { "name": "UserName", "type": { "code": "STRING" } },
-	//     ]
+	// result set. For example, a SQL query like "SELECT UserId, UserName
+	// FROM Users" could return a `row_type` value like: "fields": [ {
+	// "name": "UserId", "type": { "code": "INT64" } }, { "name":
+	// "UserName", "type": { "code": "STRING" } }, ]
 	RowType *StructType `json:"rowType,omitempty"`
 
 	// Transaction: If the read or SQL query began a transaction as a
-	// side-effect, the
-	// information about the new transaction is yielded here.
+	// side-effect, the information about the new transaction is yielded
+	// here.
 	Transaction *Transaction `json:"transaction,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "RowType") to
@@ -3871,16 +3160,9 @@
 	QueryPlan *QueryPlan `json:"queryPlan,omitempty"`
 
 	// QueryStats: Aggregated statistics from the execution of the query.
-	// Only present when
-	// the query is profiled. For example, a query could return the
-	// statistics as
-	// follows:
-	//
-	//     {
-	//       "rows_returned": "3",
-	//       "elapsed_time": "1.22 secs",
-	//       "cpu_time": "1.19 secs"
-	//     }
+	// Only present when the query is profiled. For example, a query could
+	// return the statistics as follows: { "rows_returned": "3",
+	// "elapsed_time": "1.22 secs", "cpu_time": "1.19 secs" }
 	QueryStats googleapi.RawMessage `json:"queryStats,omitempty"`
 
 	// RowCountExact: Standard DML returns an exact count of rows that were
@@ -3888,8 +3170,7 @@
 	RowCountExact int64 `json:"rowCountExact,omitempty,string"`
 
 	// RowCountLowerBound: Partitioned DML does not offer exactly-once
-	// semantics, so it
-	// returns a lower bound of the rows modified.
+	// semantics, so it returns a lower bound of the rows modified.
 	RowCountLowerBound int64 `json:"rowCountLowerBound,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "QueryPlan") to
@@ -3946,26 +3227,20 @@
 // Session: A session in the Cloud Spanner API.
 type Session struct {
 	// ApproximateLastUseTime: Output only. The approximate timestamp when
-	// the session is last used. It is
-	// typically earlier than the actual last use time.
+	// the session is last used. It is typically earlier than the actual
+	// last use time.
 	ApproximateLastUseTime string `json:"approximateLastUseTime,omitempty"`
 
 	// CreateTime: Output only. The timestamp when the session is created.
 	CreateTime string `json:"createTime,omitempty"`
 
-	// Labels: The labels for the session.
-	//
-	//  * Label keys must be between 1 and 63 characters long and must
-	// conform to
-	//    the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
-	//  * Label values must be between 0 and 63 characters long and must
-	// conform
-	//    to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
-	//  * No more than 64 labels can be associated with a given
-	// session.
-	//
-	// See https://goo.gl/xmQnxf for more information on and examples of
-	// labels.
+	// Labels: The labels for the session. * Label keys must be between 1
+	// and 63 characters long and must conform to the following regular
+	// expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. * Label values must be
+	// between 0 and 63 characters long and must conform to the regular
+	// expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. * No more than 64 labels
+	// can be associated with a given session. See https://goo.gl/xmQnxf for
+	// more information on and examples of labels.
 	Labels map[string]string `json:"labels,omitempty"`
 
 	// Name: Output only. The name of the session. This is always
@@ -4004,11 +3279,9 @@
 // SetIamPolicyRequest: Request message for `SetIamPolicy` method.
 type SetIamPolicyRequest struct {
 	// Policy: REQUIRED: The complete policy to be applied to the
-	// `resource`. The size of
-	// the policy is limited to a few 10s of KB. An empty policy is a
-	// valid policy but certain Cloud Platform services (such as
-	// Projects)
-	// might reject them.
+	// `resource`. The size of the policy is limited to a few 10s of KB. An
+	// empty policy is a valid policy but certain Cloud Platform services
+	// (such as Projects) might reject them.
 	Policy *Policy `json:"policy,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Policy") to
@@ -4035,22 +3308,17 @@
 }
 
 // ShortRepresentation: Condensed representation of a node and its
-// subtree. Only present for
-// `SCALAR` PlanNode(s).
+// subtree. Only present for `SCALAR` PlanNode(s).
 type ShortRepresentation struct {
 	// Description: A string representation of the expression subtree rooted
 	// at this node.
 	Description string `json:"description,omitempty"`
 
 	// Subqueries: A mapping of (subquery variable name) -> (subquery node
-	// id) for cases
-	// where the `description` string of this node references a
-	// `SCALAR`
-	// subquery contained in the expression subtree rooted at this node.
-	// The
-	// referenced `SCALAR` subquery may not necessarily be a direct child
-	// of
-	// this node.
+	// id) for cases where the `description` string of this node references
+	// a `SCALAR` subquery contained in the expression subtree rooted at
+	// this node. The referenced `SCALAR` subquery may not necessarily be a
+	// direct child of this node.
 	Subqueries map[string]int64 `json:"subqueries,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Description") to
@@ -4079,33 +3347,21 @@
 // Statement: A single DML statement.
 type Statement struct {
 	// ParamTypes: It is not always possible for Cloud Spanner to infer the
-	// right SQL type
-	// from a JSON value.  For example, values of type `BYTES` and values
-	// of type `STRING` both appear in params as JSON strings.
-	//
-	// In these cases, `param_types` can be used to specify the exact
-	// SQL type for some or all of the SQL statement parameters. See
-	// the
-	// definition of Type for more information
-	// about SQL types.
+	// right SQL type from a JSON value. For example, values of type `BYTES`
+	// and values of type `STRING` both appear in params as JSON strings. In
+	// these cases, `param_types` can be used to specify the exact SQL type
+	// for some or all of the SQL statement parameters. See the definition
+	// of Type for more information about SQL types.
 	ParamTypes map[string]Type `json:"paramTypes,omitempty"`
 
 	// Params: Parameter names and values that bind to placeholders in the
-	// DML string.
-	//
-	// A parameter placeholder consists of the `@` character followed by
-	// the
-	// parameter name (for example, `@firstName`). Parameter names can
-	// contain
-	// letters, numbers, and underscores.
-	//
-	// Parameters can appear anywhere that a literal value is expected.
-	// The
-	// same parameter name can be used more than once, for example:
-	//
-	// "WHERE id > @msg_id AND id < @msg_id + 100"
-	//
-	// It is an error to execute a SQL statement with unbound parameters.
+	// DML string. A parameter placeholder consists of the `@` character
+	// followed by the parameter name (for example, `@firstName`). Parameter
+	// names can contain letters, numbers, and underscores. Parameters can
+	// appear anywhere that a literal value is expected. The same parameter
+	// name can be used more than once, for example: "WHERE id > @msg_id
+	// AND id < @msg_id + 100" It is an error to execute a SQL statement
+	// with unbound parameters.
 	Params googleapi.RawMessage `json:"params,omitempty"`
 
 	// Sql: Required. The DML string.
@@ -4135,32 +3391,24 @@
 }
 
 // Status: The `Status` type defines a logical error model that is
-// suitable for
-// different programming environments, including REST APIs and RPC APIs.
-// It is
-// used by [gRPC](https://github.com/grpc). Each `Status` message
-// contains
-// three pieces of data: error code, error message, and error
-// details.
-//
-// You can find out more about this error model and how to work with it
-// in the
-// [API Design Guide](https://cloud.google.com/apis/design/errors).
+// suitable for different programming environments, including REST APIs
+// and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each
+// `Status` message contains three pieces of data: error code, error
+// message, and error details. You can find out more about this error
+// model and how to work with it in the [API Design
+// Guide](https://cloud.google.com/apis/design/errors).
 type Status struct {
 	// Code: The status code, which should be an enum value of
 	// google.rpc.Code.
 	Code int64 `json:"code,omitempty"`
 
-	// Details: A list of messages that carry the error details.  There is a
-	// common set of
-	// message types for APIs to use.
+	// Details: A list of messages that carry the error details. There is a
+	// common set of message types for APIs to use.
 	Details []googleapi.RawMessage `json:"details,omitempty"`
 
 	// Message: 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.
+	// English. Any user-facing error message should be localized and sent
+	// in the google.rpc.Status.details field, or localized by the client.
 	Message string `json:"message,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Code") to
@@ -4188,15 +3436,12 @@
 
 // StructType: `StructType` defines the fields of a STRUCT type.
 type StructType struct {
-	// Fields: The list of fields that make up this struct. Order
-	// is
-	// significant, because values of this struct type are represented
-	// as
-	// lists, where the order of field values matches the order of
-	// fields in the StructType. In turn, the order of fields
-	// matches the order of columns in a read request, or the order
-	// of
-	// fields in the `SELECT` clause of a query.
+	// Fields: The list of fields that make up this struct. Order is
+	// significant, because values of this struct type are represented as
+	// lists, where the order of field values matches the order of fields in
+	// the StructType. In turn, the order of fields matches the order of
+	// columns in a read request, or the order of fields in the `SELECT`
+	// clause of a query.
 	Fields []*Field `json:"fields,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Fields") to
@@ -4226,8 +3471,7 @@
 // method.
 type TestIamPermissionsRequest struct {
 	// Permissions: REQUIRED: The set of permissions to check for
-	// 'resource'.
-	// Permissions with wildcards (such as '*', 'spanner.*',
+	// 'resource'. Permissions with wildcards (such as '*', 'spanner.*',
 	// 'spanner.instances.*') are not allowed.
 	Permissions []string `json:"permissions,omitempty"`
 
@@ -4258,8 +3502,7 @@
 // method.
 type TestIamPermissionsResponse struct {
 	// Permissions: A subset of `TestPermissionsRequest.permissions` that
-	// the caller is
-	// allowed.
+	// the caller is allowed.
 	Permissions []string `json:"permissions,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -4291,26 +3534,17 @@
 
 // Transaction: A transaction.
 type Transaction struct {
-	// Id: `id` may be used to identify the transaction in
-	// subsequent
-	// Read,
-	// ExecuteSql,
-	// Commit, or
-	// Rollback calls.
-	//
-	// Single-use read-only transactions do not have IDs, because
-	// single-use transactions do not support multiple requests.
+	// Id: `id` may be used to identify the transaction in subsequent Read,
+	// ExecuteSql, Commit, or Rollback calls. Single-use read-only
+	// transactions do not have IDs, because single-use transactions do not
+	// support multiple requests.
 	Id string `json:"id,omitempty"`
 
 	// ReadTimestamp: For snapshot read-only transactions, the read
-	// timestamp chosen
-	// for the transaction. Not returned by default:
-	// see
-	// TransactionOptions.ReadOnly.return_read_timestamp.
-	//
-	// A timestamp in RFC3339 UTC \"Zulu\" format, accurate to
-	// nanoseconds.
-	// Example: "2014-10-02T15:01:23.045123456Z".
+	// timestamp chosen for the transaction. Not returned by default: see
+	// TransactionOptions.ReadOnly.return_read_timestamp. A timestamp in
+	// RFC3339 UTC \"Zulu\" format, accurate to nanoseconds. Example:
+	// "2014-10-02T15:01:23.045123456Z".
 	ReadTimestamp string `json:"readTimestamp,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -4340,416 +3574,206 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// TransactionOptions: # Transactions
-//
-//
-// Each session can have at most one active transaction at a time (note
-// that
-// standalone reads and queries use a transaction internally and do
-// count
-// towards the one transaction limit). After the active transaction
-// is
-// completed, the session can immediately be re-used for the next
-// transaction.
-// It is not necessary to create a new session for each transaction.
-//
-// # Transaction Modes
-//
-// Cloud Spanner supports three transaction modes:
-//
-//   1. Locking read-write. This type of transaction is the only way
-//      to write data into Cloud Spanner. These transactions rely on
-//      pessimistic locking and, if necessary, two-phase commit.
-//      Locking read-write transactions may abort, requiring the
-//      application to retry.
-//
-//   2. Snapshot read-only. This transaction type provides guaranteed
-//      consistency across several reads, but does not allow
-//      writes. Snapshot read-only transactions can be configured to
-//      read at timestamps in the past. Snapshot read-only
-//      transactions do not need to be committed.
-//
-//   3. Partitioned DML. This type of transaction is used to execute
-//      a single Partitioned DML statement. Partitioned DML partitions
-//      the key space and runs the DML statement over each partition
-//      in parallel using separate, internal transactions that commit
-//      independently. Partitioned DML transactions do not need to be
-//      committed.
-//
-// For transactions that only read, snapshot read-only
-// transactions
-// provide simpler semantics and are almost always faster.
-// In
-// particular, read-only transactions do not take locks, so they do
-// not conflict with read-write transactions. As a consequence of
-// not
-// taking locks, they also do not abort, so retry loops are not
-// needed.
-//
-// Transactions may only read/write data in a single database. They
-// may, however, read/write data in different tables within
-// that
-// database.
-//
-// ## Locking Read-Write Transactions
-//
-// Locking transactions may be used to atomically read-modify-write
-// data anywhere in a database. This type of transaction is
-// externally
-// consistent.
-//
-// Clients should attempt to minimize the amount of time a
-// transaction
-// is active. Faster transactions commit with higher probability
-// and cause less contention. Cloud Spanner attempts to keep read
-// locks
-// active as long as the transaction continues to do reads, and
-// the
-// transaction has not been terminated by
-// Commit or
-// Rollback.  Long periods of
-// inactivity at the client may cause Cloud Spanner to release
-// a
-// transaction's locks and abort it.
-//
-// Conceptually, a read-write transaction consists of zero or more
-// reads or SQL statements followed by
-// Commit. At any time before
-// Commit, the client can send a
-// Rollback request to abort the
-// transaction.
-//
-// ### Semantics
-//
+// TransactionOptions: # Transactions Each session can have at most one
+// active transaction at a time (note that standalone reads and queries
+// use a transaction internally and do count towards the one transaction
+// limit). After the active transaction is completed, the session can
+// immediately be re-used for the next transaction. It is not necessary
+// to create a new session for each transaction. # Transaction Modes
+// Cloud Spanner supports three transaction modes: 1. Locking
+// read-write. This type of transaction is the only way to write data
+// into Cloud Spanner. These transactions rely on pessimistic locking
+// and, if necessary, two-phase commit. Locking read-write transactions
+// may abort, requiring the application to retry. 2. Snapshot read-only.
+// This transaction type provides guaranteed consistency across several
+// reads, but does not allow writes. Snapshot read-only transactions can
+// be configured to read at timestamps in the past. Snapshot read-only
+// transactions do not need to be committed. 3. Partitioned DML. This
+// type of transaction is used to execute a single Partitioned DML
+// statement. Partitioned DML partitions the key space and runs the DML
+// statement over each partition in parallel using separate, internal
+// transactions that commit independently. Partitioned DML transactions
+// do not need to be committed. For transactions that only read,
+// snapshot read-only transactions provide simpler semantics and are
+// almost always faster. In particular, read-only transactions do not
+// take locks, so they do not conflict with read-write transactions. As
+// a consequence of not taking locks, they also do not abort, so retry
+// loops are not needed. Transactions may only read/write data in a
+// single database. They may, however, read/write data in different
+// tables within that database. ## Locking Read-Write Transactions
+// Locking transactions may be used to atomically read-modify-write data
+// anywhere in a database. This type of transaction is externally
+// consistent. Clients should attempt to minimize the amount of time a
+// transaction is active. Faster transactions commit with higher
+// probability and cause less contention. Cloud Spanner attempts to keep
+// read locks active as long as the transaction continues to do reads,
+// and the transaction has not been terminated by Commit or Rollback.
+// Long periods of inactivity at the client may cause Cloud Spanner to
+// release a transaction's locks and abort it. Conceptually, a
+// read-write transaction consists of zero or more reads or SQL
+// statements followed by Commit. At any time before Commit, the client
+// can send a Rollback request to abort the transaction. ### Semantics
 // Cloud Spanner can commit the transaction if all read locks it
-// acquired
-// are still valid at commit time, and it is able to acquire write
-// locks for all writes. Cloud Spanner can abort the transaction for
-// any
-// reason. If a commit attempt returns `ABORTED`, Cloud Spanner
-// guarantees
-// that the transaction has not modified any user data in Cloud
-// Spanner.
-//
-// Unless the transaction commits, Cloud Spanner makes no guarantees
-// about
-// how long the transaction's locks were held for. It is an error to
-// use Cloud Spanner locks for any sort of mutual exclusion other
-// than
-// between Cloud Spanner transactions themselves.
-//
-// ### Retrying Aborted Transactions
-//
-// When a transaction aborts, the application can choose to retry
-// the
-// whole transaction again. To maximize the chances of
-// successfully
-// committing the retry, the client should execute the retry in the
-// same session as the original attempt. The original session's
-// lock
-// priority increases with each consecutive abort, meaning that
-// each
-// attempt has a slightly better chance of success than the
-// previous.
-//
-// Under some circumstances (e.g., many transactions attempting
-// to
-// modify the same row(s)), a transaction can abort many times in
-// a
-// short period before successfully committing. Thus, it is not a
-// good
-// idea to cap the number of retries a transaction can attempt;
-// instead, it is better to limit the total amount of wall time
-// spent
-// retrying.
-//
-// ### Idle Transactions
-//
-// A transaction is considered idle if it has no outstanding reads
-// or
-// SQL queries and has not started a read or SQL query within the last
-// 10
+// acquired are still valid at commit time, and it is able to acquire
+// write locks for all writes. Cloud Spanner can abort the transaction
+// for any reason. If a commit attempt returns `ABORTED`, Cloud Spanner
+// guarantees that the transaction has not modified any user data in
+// Cloud Spanner. Unless the transaction commits, Cloud Spanner makes no
+// guarantees about how long the transaction's locks were held for. It
+// is an error to use Cloud Spanner locks for any sort of mutual
+// exclusion other than between Cloud Spanner transactions themselves.
+// ### Retrying Aborted Transactions When a transaction aborts, the
+// application can choose to retry the whole transaction again. To
+// maximize the chances of successfully committing the retry, the client
+// should execute the retry in the same session as the original attempt.
+// The original session's lock priority increases with each consecutive
+// abort, meaning that each attempt has a slightly better chance of
+// success than the previous. Under some circumstances (e.g., many
+// transactions attempting to modify the same row(s)), a transaction can
+// abort many times in a short period before successfully committing.
+// Thus, it is not a good idea to cap the number of retries a
+// transaction can attempt; instead, it is better to limit the total
+// amount of wall time spent retrying. ### Idle Transactions A
+// transaction is considered idle if it has no outstanding reads or SQL
+// queries and has not started a read or SQL query within the last 10
 // seconds. Idle transactions can be aborted by Cloud Spanner so that
-// they
-// don't hold on to locks indefinitely. In that case, the commit
-// will
-// fail with error `ABORTED`.
-//
-// If this behavior is undesirable, periodically executing a simple
-// SQL query in the transaction (e.g., `SELECT 1`) prevents
-// the
-// transaction from becoming idle.
-//
-// ## Snapshot Read-Only Transactions
-//
-// Snapshot read-only transactions provides a simpler method
-// than
-// locking read-write transactions for doing several consistent
-// reads. However, this type of transaction does not support
-// writes.
-//
-// Snapshot transactions do not take locks. Instead, they work
-// by
-// choosing a Cloud Spanner timestamp, then executing all reads at
-// that
-// timestamp. Since they do not acquire locks, they do not
-// block
-// concurrent read-write transactions.
-//
-// Unlike locking read-write transactions, snapshot
-// read-only
-// transactions never abort. They can fail if the chosen read
-// timestamp is garbage collected; however, the default
-// garbage
-// collection policy is generous enough that most applications do
-// not
-// need to worry about this in practice.
-//
-// Snapshot read-only transactions do not need to call
-// Commit or
-// Rollback (and in fact are not
-// permitted to do so).
-//
-// To execute a snapshot transaction, the client specifies a
-// timestamp
-// bound, which tells Cloud Spanner how to choose a read timestamp.
-//
-// The types of timestamp bound are:
-//
-//   - Strong (the default).
-//   - Bounded staleness.
-//   - Exact staleness.
-//
-// If the Cloud Spanner database to be read is geographically
-// distributed,
-// stale read-only transactions can execute more quickly than strong
-// or read-write transaction, because they are able to execute far
-// from the leader replica.
-//
-// Each type of timestamp bound is discussed in detail below.
-//
-// ### Strong
-//
-// Strong reads are guaranteed to see the effects of all
-// transactions
-// that have committed before the start of the read. Furthermore,
-// all
-// rows yielded by a single read are consistent with each other --
-// if
-// any part of the read observes a transaction, all parts of the
-// read
-// see the transaction.
-//
-// Strong reads are not repeatable: two consecutive strong
-// read-only
-// transactions might return inconsistent results if there
-// are
-// concurrent writes. If consistency across reads is required, the
-// reads should be executed within a transaction or at an exact
-// read
-// timestamp.
-//
-// See TransactionOptions.ReadOnly.strong.
-//
-// ### Exact Staleness
-//
-// These timestamp bounds execute reads at a user-specified
-// timestamp. Reads at a timestamp are guaranteed to see a
-// consistent
-// prefix of the global transaction history: they observe
-// modifications done by all transactions with a commit timestamp <=
-// the read timestamp, and observe none of the modifications done
-// by
-// transactions with a larger commit timestamp. They will block
-// until
-// all conflicting transactions that may be assigned commit
-// timestamps
-// <= the read timestamp have finished.
-//
-// The timestamp can either be expressed as an absolute Cloud Spanner
-// commit
-// timestamp or a staleness relative to the current time.
-//
-// These modes do not require a "negotiation phase" to pick a
-// timestamp. As a result, they execute slightly faster than
-// the
-// equivalent boundedly stale concurrency modes. On the other
-// hand,
-// boundedly stale reads usually return fresher results.
-//
-// See TransactionOptions.ReadOnly.read_timestamp
-// and
-// TransactionOptions.ReadOnly.exact_staleness.
-//
-// ### Bounded Staleness
-//
+// they don't hold on to locks indefinitely. In that case, the commit
+// will fail with error `ABORTED`. If this behavior is undesirable,
+// periodically executing a simple SQL query in the transaction (e.g.,
+// `SELECT 1`) prevents the transaction from becoming idle. ## Snapshot
+// Read-Only Transactions Snapshot read-only transactions provides a
+// simpler method than locking read-write transactions for doing several
+// consistent reads. However, this type of transaction does not support
+// writes. Snapshot transactions do not take locks. Instead, they work
+// by choosing a Cloud Spanner timestamp, then executing all reads at
+// that timestamp. Since they do not acquire locks, they do not block
+// concurrent read-write transactions. Unlike locking read-write
+// transactions, snapshot read-only transactions never abort. They can
+// fail if the chosen read timestamp is garbage collected; however, the
+// default garbage collection policy is generous enough that most
+// applications do not need to worry about this in practice. Snapshot
+// read-only transactions do not need to call Commit or Rollback (and in
+// fact are not permitted to do so). To execute a snapshot transaction,
+// the client specifies a timestamp bound, which tells Cloud Spanner how
+// to choose a read timestamp. The types of timestamp bound are: -
+// Strong (the default). - Bounded staleness. - Exact staleness. If the
+// Cloud Spanner database to be read is geographically distributed,
+// stale read-only transactions can execute more quickly than strong or
+// read-write transaction, because they are able to execute far from the
+// leader replica. Each type of timestamp bound is discussed in detail
+// below. ### Strong Strong reads are guaranteed to see the effects of
+// all transactions that have committed before the start of the read.
+// Furthermore, all rows yielded by a single read are consistent with
+// each other -- if any part of the read observes a transaction, all
+// parts of the read see the transaction. Strong reads are not
+// repeatable: two consecutive strong read-only transactions might
+// return inconsistent results if there are concurrent writes. If
+// consistency across reads is required, the reads should be executed
+// within a transaction or at an exact read timestamp. See
+// TransactionOptions.ReadOnly.strong. ### Exact Staleness These
+// timestamp bounds execute reads at a user-specified timestamp. Reads
+// at a timestamp are guaranteed to see a consistent prefix of the
+// global transaction history: they observe modifications done by all
+// transactions with a commit timestamp <= the read timestamp, and
+// observe none of the modifications done by transactions with a larger
+// commit timestamp. They will block until all conflicting transactions
+// that may be assigned commit timestamps <= the read timestamp have
+// finished. The timestamp can either be expressed as an absolute Cloud
+// Spanner commit timestamp or a staleness relative to the current time.
+// These modes do not require a "negotiation phase" to pick a timestamp.
+// As a result, they execute slightly faster than the equivalent
+// boundedly stale concurrency modes. On the other hand, boundedly stale
+// reads usually return fresher results. See
+// TransactionOptions.ReadOnly.read_timestamp and
+// TransactionOptions.ReadOnly.exact_staleness. ### Bounded Staleness
 // Bounded staleness modes allow Cloud Spanner to pick the read
-// timestamp,
-// subject to a user-provided staleness bound. Cloud Spanner chooses
-// the
-// newest timestamp within the staleness bound that allows execution
-// of the reads at the closest available replica without blocking.
-//
-// All rows yielded are consistent with each other -- if any part of
-// the read observes a transaction, all parts of the read see
-// the
-// transaction. Boundedly stale reads are not repeatable: two
-// stale
-// reads, even if they use the same staleness bound, can execute
-// at
-// different timestamps and thus return inconsistent results.
-//
-// Boundedly stale reads execute in two phases: the first
-// phase
-// negotiates a timestamp among all replicas needed to serve the
-// read. In the second phase, reads are executed at the
-// negotiated
-// timestamp.
-//
-// As a result of the two phase execution, bounded staleness reads
-// are
-// usually a little slower than comparable exact staleness
-// reads. However, they are typically able to return fresher
-// results, and are more likely to execute at the closest
-// replica.
-//
-// Because the timestamp negotiation requires up-front knowledge
-// of
-// which rows will be read, it can only be used with
-// single-use
-// read-only transactions.
-//
-// See TransactionOptions.ReadOnly.max_staleness
-// and
-// TransactionOptions.ReadOnly.min_read_timestamp.
-//
-// ### Old Read Timestamps and Garbage Collection
-//
-// Cloud Spanner continuously garbage collects deleted and overwritten
-// data
-// in the background to reclaim storage space. This process is known
-// as "version GC". By default, version GC reclaims versions after
-// they
-// are one hour old. Because of this, Cloud Spanner cannot perform
-// reads
-// at read timestamps more than one hour in the past. This
-// restriction also applies to in-progress reads and/or SQL queries
-// whose
-// timestamp become too old while executing. Reads and SQL queries
-// with
-// too-old read timestamps fail with the error
-// `FAILED_PRECONDITION`.
-//
-// ## Partitioned DML Transactions
-//
+// timestamp, subject to a user-provided staleness bound. Cloud Spanner
+// chooses the newest timestamp within the staleness bound that allows
+// execution of the reads at the closest available replica without
+// blocking. All rows yielded are consistent with each other -- if any
+// part of the read observes a transaction, all parts of the read see
+// the transaction. Boundedly stale reads are not repeatable: two stale
+// reads, even if they use the same staleness bound, can execute at
+// different timestamps and thus return inconsistent results. Boundedly
+// stale reads execute in two phases: the first phase negotiates a
+// timestamp among all replicas needed to serve the read. In the second
+// phase, reads are executed at the negotiated timestamp. As a result of
+// the two phase execution, bounded staleness reads are usually a little
+// slower than comparable exact staleness reads. However, they are
+// typically able to return fresher results, and are more likely to
+// execute at the closest replica. Because the timestamp negotiation
+// requires up-front knowledge of which rows will be read, it can only
+// be used with single-use read-only transactions. See
+// TransactionOptions.ReadOnly.max_staleness and
+// TransactionOptions.ReadOnly.min_read_timestamp. ### Old Read
+// Timestamps and Garbage Collection Cloud Spanner continuously garbage
+// collects deleted and overwritten data in the background to reclaim
+// storage space. This process is known as "version GC". By default,
+// version GC reclaims versions after they are one hour old. Because of
+// this, Cloud Spanner cannot perform reads at read timestamps more than
+// one hour in the past. This restriction also applies to in-progress
+// reads and/or SQL queries whose timestamp become too old while
+// executing. Reads and SQL queries with too-old read timestamps fail
+// with the error `FAILED_PRECONDITION`. ## Partitioned DML Transactions
 // Partitioned DML transactions are used to execute DML statements with
-// a
-// different execution strategy that provides different, and often
-// better,
-// scalability properties for large, table-wide operations than DML in
-// a
-// ReadWrite transaction. Smaller scoped statements, such as an OLTP
-// workload,
-// should prefer using ReadWrite transactions.
-//
+// a different execution strategy that provides different, and often
+// better, scalability properties for large, table-wide operations than
+// DML in a ReadWrite transaction. Smaller scoped statements, such as an
+// OLTP workload, should prefer using ReadWrite transactions.
 // Partitioned DML partitions the keyspace and runs the DML statement on
-// each
-// partition in separate, internal transactions. These transactions
-// commit
-// automatically when complete, and run independently from one
-// another.
-//
-// To reduce lock contention, this execution strategy only acquires read
-// locks
-// on rows that match the WHERE clause of the statement. Additionally,
-// the
-// smaller per-partition transactions hold locks for less time.
-//
-// That said, Partitioned DML is not a drop-in replacement for standard
-// DML used
-// in ReadWrite transactions.
-//
-//  - The DML statement must be fully-partitionable. Specifically, the
-// statement
-//    must be expressible as the union of many statements which each
-// access only
-//    a single row of the table.
-//
-//  - The statement is not applied atomically to all rows of the table.
-// Rather,
-//    the statement is applied atomically to partitions of the table,
-// in
-//    independent transactions. Secondary index rows are updated
-// atomically
-//    with the base table rows.
-//
-//  - Partitioned DML does not guarantee exactly-once execution
-// semantics
-//    against a partition. The statement will be applied at least once
-// to each
-//    partition. It is strongly recommended that the DML statement
-// should be
-//    idempotent to avoid unexpected results. For instance, it is
-// potentially
-//    dangerous to run a statement such as
-//    `UPDATE table SET column = column + 1` as it could be run multiple
-// times
-//    against some rows.
-//
-//  - The partitions are committed automatically - there is no support
-// for
-//    Commit or Rollback. If the call returns an error, or if the client
-// issuing
-//    the ExecuteSql call dies, it is possible that some rows had the
-// statement
-//    executed on them successfully. It is also possible that statement
-// was
-//    never executed against other rows.
-//
-//  - Partitioned DML transactions may only contain the execution of a
-// single
-//    DML statement via ExecuteSql or ExecuteStreamingSql.
-//
-//  - If any error is encountered during the execution of the
-// partitioned DML
-//    operation (for instance, a UNIQUE INDEX violation, division by
-// zero, or a
-//    value that cannot be stored due to schema constraints), then the
-//    operation is stopped at that point and an error is returned. It
-// is
-//    possible that at this point, some partitions have been committed
-// (or even
-//    committed multiple times), and other partitions have not been run
-// at all.
-//
-// Given the above, Partitioned DML is good fit for large,
-// database-wide,
+// each partition in separate, internal transactions. These transactions
+// commit automatically when complete, and run independently from one
+// another. To reduce lock contention, this execution strategy only
+// acquires read locks on rows that match the WHERE clause of the
+// statement. Additionally, the smaller per-partition transactions hold
+// locks for less time. That said, Partitioned DML is not a drop-in
+// replacement for standard DML used in ReadWrite transactions. - The
+// DML statement must be fully-partitionable. Specifically, the
+// statement must be expressible as the union of many statements which
+// each access only a single row of the table. - The statement is not
+// applied atomically to all rows of the table. Rather, the statement is
+// applied atomically to partitions of the table, in independent
+// transactions. Secondary index rows are updated atomically with the
+// base table rows. - Partitioned DML does not guarantee exactly-once
+// execution semantics against a partition. The statement will be
+// applied at least once to each partition. It is strongly recommended
+// that the DML statement should be idempotent to avoid unexpected
+// results. For instance, it is potentially dangerous to run a statement
+// such as `UPDATE table SET column = column + 1` as it could be run
+// multiple times against some rows. - The partitions are committed
+// automatically - there is no support for Commit or Rollback. If the
+// call returns an error, or if the client issuing the ExecuteSql call
+// dies, it is possible that some rows had the statement executed on
+// them successfully. It is also possible that statement was never
+// executed against other rows. - Partitioned DML transactions may only
+// contain the execution of a single DML statement via ExecuteSql or
+// ExecuteStreamingSql. - If any error is encountered during the
+// execution of the partitioned DML operation (for instance, a UNIQUE
+// INDEX violation, division by zero, or a value that cannot be stored
+// due to schema constraints), then the operation is stopped at that
+// point and an error is returned. It is possible that at this point,
+// some partitions have been committed (or even committed multiple
+// times), and other partitions have not been run at all. Given the
+// above, Partitioned DML is good fit for large, database-wide,
 // operations that are idempotent, such as deleting old rows from a very
-// large
-// table.
+// large table.
 type TransactionOptions struct {
-	// PartitionedDml: Partitioned DML transaction.
-	//
-	// Authorization to begin a Partitioned DML transaction
-	// requires
-	// `spanner.databases.beginPartitionedDmlTransaction` permission
-	// on the `session` resource.
+	// PartitionedDml: Partitioned DML transaction. Authorization to begin a
+	// Partitioned DML transaction requires
+	// `spanner.databases.beginPartitionedDmlTransaction` permission on the
+	// `session` resource.
 	PartitionedDml *PartitionedDml `json:"partitionedDml,omitempty"`
 
-	// ReadOnly: Transaction will not write.
-	//
-	// Authorization to begin a read-only transaction
-	// requires
-	// `spanner.databases.beginReadOnlyTransaction` permission
-	// on the `session` resource.
+	// ReadOnly: Transaction will not write. Authorization to begin a
+	// read-only transaction requires
+	// `spanner.databases.beginReadOnlyTransaction` permission on the
+	// `session` resource.
 	ReadOnly *ReadOnly `json:"readOnly,omitempty"`
 
-	// ReadWrite: Transaction may write.
-	//
-	// Authorization to begin a read-write transaction
-	// requires
-	// `spanner.databases.beginOrRollbackReadWriteTransaction` permission
-	// on the `session` resource.
+	// ReadWrite: Transaction may write. Authorization to begin a read-write
+	// transaction requires
+	// `spanner.databases.beginOrRollbackReadWriteTransaction` permission on
+	// the `session` resource.
 	ReadWrite *ReadWrite `json:"readWrite,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "PartitionedDml") to
@@ -4777,16 +3801,11 @@
 }
 
 // TransactionSelector: This message is used to select the transaction
-// in which a
-// Read or
-// ExecuteSql call runs.
-//
-// See TransactionOptions for more information about transactions.
+// in which a Read or ExecuteSql call runs. See TransactionOptions for
+// more information about transactions.
 type TransactionSelector struct {
-	// Begin: Begin a new transaction and execute this read or SQL query
-	// in
-	// it. The transaction ID of the new transaction is returned
-	// in
+	// Begin: Begin a new transaction and execute this read or SQL query in
+	// it. The transaction ID of the new transaction is returned in
 	// ResultSetMetadata.transaction, which is a Transaction.
 	Begin *TransactionOptions `json:"begin,omitempty"`
 
@@ -4794,10 +3813,9 @@
 	// transaction.
 	Id string `json:"id,omitempty"`
 
-	// SingleUse: Execute the read or SQL query in a temporary
-	// transaction.
-	// This is the most efficient way to execute a transaction that
-	// consists of a single SQL query.
+	// SingleUse: Execute the read or SQL query in a temporary transaction.
+	// This is the most efficient way to execute a transaction that consists
+	// of a single SQL query.
 	SingleUse *TransactionOptions `json:"singleUse,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Begin") to
@@ -4824,11 +3842,10 @@
 }
 
 // Type: `Type` indicates the type of a Cloud Spanner value, as might be
-// stored in a
-// table cell or returned from an SQL query.
+// stored in a table cell or returned from an SQL query.
 type Type struct {
-	// ArrayElementType: If code == ARRAY, then `array_element_type`
-	// is the type of the array elements.
+	// ArrayElementType: If code == ARRAY, then `array_element_type` is the
+	// type of the array elements.
 	ArrayElementType *Type `json:"arrayElementType,omitempty"`
 
 	// Code: Required. The TypeCode for this type.
@@ -4838,48 +3855,31 @@
 	//   "BOOL" - Encoded as JSON `true` or `false`.
 	//   "INT64" - Encoded as `string`, in decimal format.
 	//   "FLOAT64" - Encoded as `number`, or the strings "NaN",
-	// "Infinity", or
-	// "-Infinity".
+	// "Infinity", or "-Infinity".
 	//   "TIMESTAMP" - Encoded as `string` in RFC 3339 timestamp format. The
-	// time zone
-	// must be present, and must be "Z".
-	//
-	// If the schema has the column option
-	// `allow_commit_timestamp=true`, the placeholder
-	// string
-	// "spanner.commit_timestamp()" can be used to instruct the system
-	// to insert the commit timestamp associated with the
-	// transaction
-	// commit.
+	// time zone must be present, and must be "Z". If the schema has the
+	// column option `allow_commit_timestamp=true`, the placeholder string
+	// "spanner.commit_timestamp()" can be used to instruct the system to
+	// insert the commit timestamp associated with the transaction commit.
 	//   "DATE" - Encoded as `string` in RFC 3339 date format.
 	//   "STRING" - Encoded as `string`.
 	//   "BYTES" - Encoded as a base64-encoded `string`, as described in RFC
-	// 4648,
-	// section 4.
+	// 4648, section 4.
 	//   "ARRAY" - Encoded as `list`, where the list elements are
-	// represented
-	// according to
-	// array_element_type.
+	// represented according to array_element_type.
 	//   "STRUCT" - Encoded as `list`, where list element `i` is represented
-	// according
-	// to [struct_type.fields[i]][google.spanner.v1.StructType.fields].
+	// according to
+	// [struct_type.fields[i]][google.spanner.v1.StructType.fields].
 	//   "NUMERIC" - Encoded as `string`, in decimal format or scientific
-	// notation format.
-	// <br>Decimal format:
-	// <br>`[+-]Digits[.[Digits]]` or
-	// <br>`+-.Digits`
-	//
-	// Scientific
-	// notation:
-	// <br>`[+-]Digits[.[Digits]][ExponentIndicator[+-]Digits]`
-	// or
-	// <br>`+-.Digits[ExponentIndicator[+-]Digits]`
-	// <br>(ExponentIndicator
-	//  is "e" or "E")
+	// notation format. Decimal format: `[+-]Digits[.[Digits]]` or
+	// `+-.Digits` Scientific notation:
+	// `[+-]Digits[.[Digits]][ExponentIndicator[+-]Digits]` or
+	// `+-.Digits[ExponentIndicator[+-]Digits]` (ExponentIndicator is "e"
+	// or "E")
 	Code string `json:"code,omitempty"`
 
-	// StructType: If code == STRUCT, then `struct_type`
-	// provides type information for the struct's fields.
+	// StructType: If code == STRUCT, then `struct_type` provides type
+	// information for the struct's fields.
 	StructType *StructType `json:"structType,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ArrayElementType") to
@@ -4907,22 +3907,18 @@
 }
 
 // UpdateDatabaseDdlMetadata: Metadata type for the operation returned
-// by
-// UpdateDatabaseDdl.
+// by UpdateDatabaseDdl.
 type UpdateDatabaseDdlMetadata struct {
 	// CommitTimestamps: Reports the commit timestamps of all statements
-	// that have
-	// succeeded so far, where `commit_timestamps[i]` is the
-	// commit
-	// timestamp for the statement `statements[i]`.
+	// that have succeeded so far, where `commit_timestamps[i]` is the
+	// commit timestamp for the statement `statements[i]`.
 	CommitTimestamps []string `json:"commitTimestamps,omitempty"`
 
 	// Database: The database being modified.
 	Database string `json:"database,omitempty"`
 
 	// Statements: For an update this list contains all the statements. For
-	// an
-	// individual statement, this list contains only that statement.
+	// an individual statement, this list contains only that statement.
 	Statements []string `json:"statements,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CommitTimestamps") to
@@ -4950,53 +3946,30 @@
 }
 
 // UpdateDatabaseDdlRequest: Enqueues the given DDL statements to be
-// applied, in order but not
-// necessarily all at once, to the database schema at some point
-// (or
-// points) in the future. The server checks that the statements
-// are executable (syntactically valid, name tables that exist,
-// etc.)
-// before enqueueing them, but they may still fail upon
-// later execution (e.g., if a statement from another batch
-// of
-// statements is applied first and it conflicts in some way, or if
-// there is some data-related problem like a `NULL` value in a column
-// to
-// which `NOT NULL` would be added). If a statement fails,
-// all
-// subsequent statements in the batch are automatically cancelled.
-//
-// Each batch of statements is assigned a name which can be used
-// with
-// the Operations API to monitor
-// progress. See the
-// operation_id field for more
-// details.
+// applied, in order but not necessarily all at once, to the database
+// schema at some point (or points) in the future. The server checks
+// that the statements are executable (syntactically valid, name tables
+// that exist, etc.) before enqueueing them, but they may still fail
+// upon later execution (e.g., if a statement from another batch of
+// statements is applied first and it conflicts in some way, or if there
+// is some data-related problem like a `NULL` value in a column to which
+// `NOT NULL` would be added). If a statement fails, all subsequent
+// statements in the batch are automatically cancelled. Each batch of
+// statements is assigned a name which can be used with the Operations
+// API to monitor progress. See the operation_id field for more details.
 type UpdateDatabaseDdlRequest struct {
-	// OperationId: If empty, the new update request is assigned
-	// an
-	// automatically-generated operation ID. Otherwise, `operation_id`
-	// is used to construct the name of the resulting
-	// Operation.
-	//
-	// Specifying an explicit operation ID simplifies determining
-	// whether the statements were executed in the event that
-	// the
-	// UpdateDatabaseDdl call is replayed,
-	// or the return value is otherwise lost: the database
-	// and
-	// `operation_id` fields can be combined to form the
-	// name of the resulting
-	// longrunning.Operation:
-	// `<database>/operations/<operation_id>`.
-	//
-	// `operation_id` should be unique within the database, and must be
-	// a valid identifier: `a-z*`. Note that
-	// automatically-generated operation IDs always begin with
-	// an
-	// underscore. If the named operation already exists,
-	// UpdateDatabaseDdl returns
-	// `ALREADY_EXISTS`.
+	// OperationId: If empty, the new update request is assigned an
+	// automatically-generated operation ID. Otherwise, `operation_id` is
+	// used to construct the name of the resulting Operation. Specifying an
+	// explicit operation ID simplifies determining whether the statements
+	// were executed in the event that the UpdateDatabaseDdl call is
+	// replayed, or the return value is otherwise lost: the database and
+	// `operation_id` fields can be combined to form the name of the
+	// resulting longrunning.Operation: `/operations/`. `operation_id`
+	// should be unique within the database, and must be a valid identifier:
+	// `a-z*`. Note that automatically-generated operation IDs always begin
+	// with an underscore. If the named operation already exists,
+	// UpdateDatabaseDdl returns `ALREADY_EXISTS`.
 	OperationId string `json:"operationId,omitempty"`
 
 	// Statements: Required. DDL statements to be applied to the database.
@@ -5025,15 +3998,12 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// UpdateInstanceMetadata: Metadata type for the operation returned
-// by
+// UpdateInstanceMetadata: Metadata type for the operation returned by
 // UpdateInstance.
 type UpdateInstanceMetadata struct {
 	// CancelTime: The time at which this operation was cancelled. If set,
-	// this operation is
-	// in the process of undoing itself (which is guaranteed to succeed)
-	// and
-	// cannot be cancelled again.
+	// this operation is in the process of undoing itself (which is
+	// guaranteed to succeed) and cannot be cancelled again.
 	CancelTime string `json:"cancelTime,omitempty"`
 
 	// EndTime: The time at which this operation failed or was completed
@@ -5043,8 +4013,7 @@
 	// Instance: The desired end state of the update.
 	Instance *Instance `json:"instance,omitempty"`
 
-	// StartTime: The time at which UpdateInstance
-	// request was received.
+	// StartTime: The time at which UpdateInstance request was received.
 	StartTime string `json:"startTime,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "CancelTime") to
@@ -5073,18 +4042,14 @@
 // UpdateInstanceRequest: The request for UpdateInstance.
 type UpdateInstanceRequest struct {
 	// FieldMask: Required. A mask specifying which fields in Instance
-	// should be updated.
-	// The field mask must always be specified; this prevents any future
-	// fields in
-	// Instance from being erased accidentally by clients that do not
-	// know
-	// about them.
+	// should be updated. The field mask must always be specified; this
+	// prevents any future fields in Instance from being erased accidentally
+	// by clients that do not know about them.
 	FieldMask string `json:"fieldMask,omitempty"`
 
 	// Instance: Required. The instance to update, which must always include
-	// the instance
-	// name.  Otherwise, only fields mentioned in field_mask need be
-	// included.
+	// the instance name. Otherwise, only fields mentioned in field_mask
+	// need be included.
 	Instance *Instance `json:"instance,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "FieldMask") to
@@ -5110,30 +4075,24 @@
 	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 }
 
-// Write: Arguments to insert, update, insert_or_update, and
-// replace operations.
+// Write: Arguments to insert, update, insert_or_update, and replace
+// operations.
 type Write struct {
-	// Columns: The names of the columns in table to be written.
-	//
-	// The list of columns must contain enough columns to allow
-	// Cloud Spanner to derive values for all primary key columns in
-	// the
-	// row(s) to be modified.
+	// Columns: The names of the columns in table to be written. The list of
+	// columns must contain enough columns to allow Cloud Spanner to derive
+	// values for all primary key columns in the row(s) to be modified.
 	Columns []string `json:"columns,omitempty"`
 
 	// Table: Required. The table whose rows will be written.
 	Table string `json:"table,omitempty"`
 
-	// Values: The values to be written. `values` can contain more than
-	// one
-	// list of values. If it does, then multiple rows are written, one
-	// for each entry in `values`. Each list in `values` must have
-	// exactly as many entries as there are entries in columns
-	// above. Sending multiple lists is equivalent to sending
-	// multiple
-	// `Mutation`s, each containing one `values` entry and repeating
-	// table and columns. Individual values in each list are
-	// encoded as described here.
+	// Values: The values to be written. `values` can contain more than one
+	// list of values. If it does, then multiple rows are written, one for
+	// each entry in `values`. Each list in `values` must have exactly as
+	// many entries as there are entries in columns above. Sending multiple
+	// lists is equivalent to sending multiple `Mutation`s, each containing
+	// one `values` entry and repeating table and columns. Individual values
+	// in each list are encoded as described here.
 	Values [][]interface{} `json:"values,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Columns") to
@@ -5214,7 +4173,7 @@
 
 func (c *ProjectsInstanceConfigsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5285,7 +4244,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the requested instance configuration. Values are of\nthe form `projects/\u003cproject\u003e/instanceConfigs/\u003cconfig\u003e`.",
+	//       "description": "Required. The name of the requested instance configuration. Values are of the form `projects//instanceConfigs/`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instanceConfigs/[^/]+$",
 	//       "required": true,
@@ -5324,17 +4283,16 @@
 }
 
 // PageSize sets the optional parameter "pageSize": Number of instance
-// configurations to be returned in the response. If 0 or
-// less, defaults to the server's maximum allowed page size.
+// configurations to be returned in the response. If 0 or less, defaults
+// to the server's maximum allowed page size.
 func (c *ProjectsInstanceConfigsListCall) PageSize(pageSize int64) *ProjectsInstanceConfigsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": If non-empty,
-// `page_token` should contain a
-// next_page_token
-// from a previous ListInstanceConfigsResponse.
+// `page_token` should contain a next_page_token from a previous
+// ListInstanceConfigsResponse.
 func (c *ProjectsInstanceConfigsListCall) PageToken(pageToken string) *ProjectsInstanceConfigsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -5377,7 +4335,7 @@
 
 func (c *ProjectsInstanceConfigsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5448,18 +4406,18 @@
 	//   ],
 	//   "parameters": {
 	//     "pageSize": {
-	//       "description": "Number of instance configurations to be returned in the response. If 0 or\nless, defaults to the server's maximum allowed page size.",
+	//       "description": "Number of instance configurations to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "If non-empty, `page_token` should contain a\nnext_page_token\nfrom a previous ListInstanceConfigsResponse.",
+	//       "description": "If non-empty, `page_token` should contain a next_page_token from a previous ListInstanceConfigsResponse.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The name of the project for which a list of supported instance\nconfigurations is requested. Values are of the form\n`projects/\u003cproject\u003e`.",
+	//       "description": "Required. The name of the project for which a list of supported instance configurations is requested. Values are of the form `projects/`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -5511,46 +4469,24 @@
 }
 
 // Create: Creates an instance and begins preparing it to begin serving.
-// The
-// returned long-running operation
-// can be used to track the progress of preparing the new
-// instance. The instance name is assigned by the caller. If the
-// named instance already exists, `CreateInstance`
-// returns
-// `ALREADY_EXISTS`.
-//
-// Immediately upon completion of this request:
-//
-//   * The instance is readable via the API, with all requested
-// attributes
-//     but no allocated resources. Its state is `CREATING`.
-//
-// Until completion of the returned operation:
-//
-//   * Cancelling the operation renders the instance immediately
-// unreadable
-//     via the API.
-//   * The instance can be deleted.
-//   * All other attempts to modify the instance are rejected.
-//
-// Upon completion of the returned operation:
-//
-//   * Billing for all successfully-allocated resources begins (some
-// types
-//     may have lower than the requested levels).
-//   * Databases can be created in the instance.
-//   * The instance's allocated resource levels are readable via the
-// API.
-//   * The instance's state becomes `READY`.
-//
-// The returned long-running operation will
-// have a name of the format `<instance_name>/operations/<operation_id>`
-// and
-// can be used to track creation of the instance.  The
-// metadata field type is
-// CreateInstanceMetadata.
-// The response field type is
-// Instance, if successful.
+// The returned long-running operation can be used to track the progress
+// of preparing the new instance. The instance name is assigned by the
+// caller. If the named instance already exists, `CreateInstance`
+// returns `ALREADY_EXISTS`. Immediately upon completion of this
+// request: * The instance is readable via the API, with all requested
+// attributes but no allocated resources. Its state is `CREATING`. Until
+// completion of the returned operation: * Cancelling the operation
+// renders the instance immediately unreadable via the API. * The
+// instance can be deleted. * All other attempts to modify the instance
+// are rejected. Upon completion of the returned operation: * Billing
+// for all successfully-allocated resources begins (some types may have
+// lower than the requested levels). * Databases can be created in the
+// instance. * The instance's allocated resource levels are readable via
+// the API. * The instance's state becomes `READY`. The returned
+// long-running operation will have a name of the format `/operations/`
+// and can be used to track creation of the instance. The metadata field
+// type is CreateInstanceMetadata. The response field type is Instance,
+// if successful.
 func (r *ProjectsInstancesService) Create(parent string, createinstancerequest *CreateInstanceRequest) *ProjectsInstancesCreateCall {
 	c := &ProjectsInstancesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -5585,7 +4521,7 @@
 
 func (c *ProjectsInstancesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5649,7 +4585,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates an instance and begins preparing it to begin serving. The\nreturned long-running operation\ncan be used to track the progress of preparing the new\ninstance. The instance name is assigned by the caller. If the\nnamed instance already exists, `CreateInstance` returns\n`ALREADY_EXISTS`.\n\nImmediately upon completion of this request:\n\n  * The instance is readable via the API, with all requested attributes\n    but no allocated resources. Its state is `CREATING`.\n\nUntil completion of the returned operation:\n\n  * Cancelling the operation renders the instance immediately unreadable\n    via the API.\n  * The instance can be deleted.\n  * All other attempts to modify the instance are rejected.\n\nUpon completion of the returned operation:\n\n  * Billing for all successfully-allocated resources begins (some types\n    may have lower than the requested levels).\n  * Databases can be created in the instance.\n  * The instance's allocated resource levels are readable via the API.\n  * The instance's state becomes `READY`.\n\nThe returned long-running operation will\nhave a name of the format `\u003cinstance_name\u003e/operations/\u003coperation_id\u003e` and\ncan be used to track creation of the instance.  The\nmetadata field type is\nCreateInstanceMetadata.\nThe response field type is\nInstance, if successful.",
+	//   "description": "Creates an instance and begins preparing it to begin serving. The returned long-running operation can be used to track the progress of preparing the new instance. The instance name is assigned by the caller. If the named instance already exists, `CreateInstance` returns `ALREADY_EXISTS`. Immediately upon completion of this request: * The instance is readable via the API, with all requested attributes but no allocated resources. Its state is `CREATING`. Until completion of the returned operation: * Cancelling the operation renders the instance immediately unreadable via the API. * The instance can be deleted. * All other attempts to modify the instance are rejected. Upon completion of the returned operation: * Billing for all successfully-allocated resources begins (some types may have lower than the requested levels). * Databases can be created in the instance. * The instance's allocated resource levels are readable via the API. * The instance's state becomes `READY`. The returned long-running operation will have a name of the format `/operations/` and can be used to track creation of the instance. The metadata field type is CreateInstanceMetadata. The response field type is Instance, if successful.",
 	//   "flatPath": "v1/projects/{projectsId}/instances",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.create",
@@ -5658,7 +4594,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The name of the project in which to create the instance. Values\nare of the form `projects/\u003cproject\u003e`.",
+	//       "description": "Required. The name of the project in which to create the instance. Values are of the form `projects/`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -5690,18 +4626,11 @@
 	header_    http.Header
 }
 
-// Delete: Deletes an instance.
-//
-// Immediately upon completion of the request:
-//
-//   * Billing ceases for all of the instance's reserved
-// resources.
-//
-// Soon afterward:
-//
-//   * The instance and *all of its databases* immediately and
-//     irrevocably disappear from the API. All data in the databases
-//     is permanently deleted.
+// Delete: Deletes an instance. Immediately upon completion of the
+// request: * Billing ceases for all of the instance's reserved
+// resources. Soon afterward: * The instance and *all of its databases*
+// immediately and irrevocably disappear from the API. All data in the
+// databases is permanently deleted.
 func (r *ProjectsInstancesService) Delete(name string) *ProjectsInstancesDeleteCall {
 	c := &ProjectsInstancesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -5735,7 +4664,7 @@
 
 func (c *ProjectsInstancesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5794,7 +4723,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes an instance.\n\nImmediately upon completion of the request:\n\n  * Billing ceases for all of the instance's reserved resources.\n\nSoon afterward:\n\n  * The instance and *all of its databases* immediately and\n    irrevocably disappear from the API. All data in the databases\n    is permanently deleted.",
+	//   "description": "Deletes an instance. Immediately upon completion of the request: * Billing ceases for all of the instance's reserved resources. Soon afterward: * The instance and *all of its databases* immediately and irrevocably disappear from the API. All data in the databases is permanently deleted.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "spanner.projects.instances.delete",
@@ -5803,7 +4732,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the instance to be deleted. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e`",
+	//       "description": "Required. The name of the instance to be deleted. Values are of the form `projects//instances/`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
 	//       "required": true,
@@ -5841,9 +4770,8 @@
 }
 
 // FieldMask sets the optional parameter "fieldMask": If field_mask is
-// present, specifies the subset of Instance fields that
-// should be returned.
-// If absent, all Instance fields are returned.
+// present, specifies the subset of Instance fields that should be
+// returned. If absent, all Instance fields are returned.
 func (c *ProjectsInstancesGetCall) FieldMask(fieldMask string) *ProjectsInstancesGetCall {
 	c.urlParams_.Set("fieldMask", fieldMask)
 	return c
@@ -5886,7 +4814,7 @@
 
 func (c *ProjectsInstancesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5957,13 +4885,13 @@
 	//   ],
 	//   "parameters": {
 	//     "fieldMask": {
-	//       "description": "If field_mask is present, specifies the subset of Instance fields that\nshould be returned.\nIf absent, all Instance fields are returned.",
+	//       "description": "If field_mask is present, specifies the subset of Instance fields that should be returned. If absent, all Instance fields are returned.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "name": {
-	//       "description": "Required. The name of the requested instance. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.",
+	//       "description": "Required. The name of the requested instance. Values are of the form `projects//instances/`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
 	//       "required": true,
@@ -5994,12 +4922,9 @@
 }
 
 // GetIamPolicy: Gets the access control policy for an instance
-// resource. Returns an empty
-// policy if an instance exists but does not have a policy
-// set.
-//
-// Authorization requires `spanner.instances.getIamPolicy` on
-// resource.
+// resource. Returns an empty policy if an instance exists but does not
+// have a policy set. Authorization requires
+// `spanner.instances.getIamPolicy` on resource.
 func (r *ProjectsInstancesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsInstancesGetIamPolicyCall {
 	c := &ProjectsInstancesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -6034,7 +4959,7 @@
 
 func (c *ProjectsInstancesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6098,7 +5023,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for an instance resource. Returns an empty\npolicy if an instance exists but does not have a policy set.\n\nAuthorization requires `spanner.instances.getIamPolicy` on\nresource.",
+	//   "description": "Gets the access control policy for an instance resource. Returns an empty policy if an instance exists but does not have a policy set. Authorization requires `spanner.instances.getIamPolicy` on resource.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}:getIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.getIamPolicy",
@@ -6107,7 +5032,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for database resources.",
+	//       "description": "REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for database resources.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
 	//       "required": true,
@@ -6148,45 +5073,33 @@
 }
 
 // Filter sets the optional parameter "filter": An expression for
-// filtering the results of the request. Filter rules are
-// case insensitive. The fields eligible for filtering are:
-//
-//   * `name`
-//   * `display_name`
-//   * `labels.key` where key is the name of a label
-//
-// Some examples of using filters are:
-//
-//   * `name:*` --> The instance has a name.
-//   * `name:Howl` --> The instance's name contains the string "howl".
-//   * `name:HOWL` --> Equivalent to above.
-//   * `NAME:howl` --> Equivalent to above.
-//   * `labels.env:*` --> The instance has the label "env".
-//   * `labels.env:dev` --> The instance has the label "env" and the
-// value of
-//                        the label contains the string "dev".
-//   * `name:howl labels.env:dev` --> The instance's name contains
-// "howl" and
-//                                  it has the label "env" with its
-// value
-//                                  containing "dev".
+// filtering the results of the request. Filter rules are case
+// insensitive. The fields eligible for filtering are: * `name` *
+// `display_name` * `labels.key` where key is the name of a label Some
+// examples of using filters are: * `name:*` --> The instance has a
+// name. * `name:Howl` --> The instance's name contains the string
+// "howl". * `name:HOWL` --> Equivalent to above. * `NAME:howl` -->
+// Equivalent to above. * `labels.env:*` --> The instance has the label
+// "env". * `labels.env:dev` --> The instance has the label "env" and
+// the value of the label contains the string "dev". * `name:howl
+// labels.env:dev` --> The instance's name contains "howl" and it has
+// the label "env" with its value containing "dev".
 func (c *ProjectsInstancesListCall) Filter(filter string) *ProjectsInstancesListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": Number of instances
-// to be returned in the response. If 0 or less, defaults
-// to the server's maximum allowed page size.
+// to be returned in the response. If 0 or less, defaults to the
+// server's maximum allowed page size.
 func (c *ProjectsInstancesListCall) PageSize(pageSize int64) *ProjectsInstancesListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": If non-empty,
-// `page_token` should contain a
-// next_page_token from a
-// previous ListInstancesResponse.
+// `page_token` should contain a next_page_token from a previous
+// ListInstancesResponse.
 func (c *ProjectsInstancesListCall) PageToken(pageToken string) *ProjectsInstancesListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -6229,7 +5142,7 @@
 
 func (c *ProjectsInstancesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6300,23 +5213,23 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "An expression for filtering the results of the request. Filter rules are\ncase insensitive. The fields eligible for filtering are:\n\n  * `name`\n  * `display_name`\n  * `labels.key` where key is the name of a label\n\nSome examples of using filters are:\n\n  * `name:*` --\u003e The instance has a name.\n  * `name:Howl` --\u003e The instance's name contains the string \"howl\".\n  * `name:HOWL` --\u003e Equivalent to above.\n  * `NAME:howl` --\u003e Equivalent to above.\n  * `labels.env:*` --\u003e The instance has the label \"env\".\n  * `labels.env:dev` --\u003e The instance has the label \"env\" and the value of\n                       the label contains the string \"dev\".\n  * `name:howl labels.env:dev` --\u003e The instance's name contains \"howl\" and\n                                 it has the label \"env\" with its value\n                                 containing \"dev\".",
+	//       "description": "An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are: * `name` * `display_name` * `labels.key` where key is the name of a label Some examples of using filters are: * `name:*` --\u003e The instance has a name. * `name:Howl` --\u003e The instance's name contains the string \"howl\". * `name:HOWL` --\u003e Equivalent to above. * `NAME:howl` --\u003e Equivalent to above. * `labels.env:*` --\u003e The instance has the label \"env\". * `labels.env:dev` --\u003e The instance has the label \"env\" and the value of the label contains the string \"dev\". * `name:howl labels.env:dev` --\u003e The instance's name contains \"howl\" and it has the label \"env\" with its value containing \"dev\".",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "Number of instances to be returned in the response. If 0 or less, defaults\nto the server's maximum allowed page size.",
+	//       "description": "Number of instances to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "If non-empty, `page_token` should contain a\nnext_page_token from a\nprevious ListInstancesResponse.",
+	//       "description": "If non-empty, `page_token` should contain a next_page_token from a previous ListInstancesResponse.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The name of the project for which a list of instances is\nrequested. Values are of the form `projects/\u003cproject\u003e`.",
+	//       "description": "Required. The name of the project for which a list of instances is requested. Values are of the form `projects/`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+$",
 	//       "required": true,
@@ -6368,54 +5281,28 @@
 }
 
 // Patch: Updates an instance, and begins allocating or releasing
-// resources
-// as requested. The returned long-running
-// operation can be used to track the
-// progress of updating the instance. If the named instance does
-// not
-// exist, returns `NOT_FOUND`.
-//
-// Immediately upon completion of this request:
-//
-//   * For resource types for which a decrease in the instance's
-// allocation
-//     has been requested, billing is based on the newly-requested
-// level.
-//
-// Until completion of the returned operation:
-//
-//   * Cancelling the operation sets its metadata's
-//     cancel_time, and begins
-//     restoring resources to their pre-request values. The operation
-//     is guaranteed to succeed at undoing all resource changes,
-//     after which point it terminates with a `CANCELLED` status.
-//   * All other attempts to modify the instance are rejected.
-//   * Reading the instance via the API continues to give the
-// pre-request
-//     resource levels.
-//
-// Upon completion of the returned operation:
-//
-//   * Billing begins for all successfully-allocated resources (some
-// types
-//     may have lower than the requested levels).
-//   * All newly-reserved resources are available for serving the
-// instance's
-//     tables.
-//   * The instance's new resource levels are readable via the API.
-//
-// The returned long-running operation will
-// have a name of the format `<instance_name>/operations/<operation_id>`
-// and
-// can be used to track the instance modification.  The
-// metadata field type is
-// UpdateInstanceMetadata.
-// The response field type is
-// Instance, if successful.
-//
-// Authorization requires `spanner.instances.update` permission
-// on
-// resource name.
+// resources as requested. The returned long-running operation can be
+// used to track the progress of updating the instance. If the named
+// instance does not exist, returns `NOT_FOUND`. Immediately upon
+// completion of this request: * For resource types for which a decrease
+// in the instance's allocation has been requested, billing is based on
+// the newly-requested level. Until completion of the returned
+// operation: * Cancelling the operation sets its metadata's
+// cancel_time, and begins restoring resources to their pre-request
+// values. The operation is guaranteed to succeed at undoing all
+// resource changes, after which point it terminates with a `CANCELLED`
+// status. * All other attempts to modify the instance are rejected. *
+// Reading the instance via the API continues to give the pre-request
+// resource levels. Upon completion of the returned operation: * Billing
+// begins for all successfully-allocated resources (some types may have
+// lower than the requested levels). * All newly-reserved resources are
+// available for serving the instance's tables. * The instance's new
+// resource levels are readable via the API. The returned long-running
+// operation will have a name of the format `/operations/` and can be
+// used to track the instance modification. The metadata field type is
+// UpdateInstanceMetadata. The response field type is Instance, if
+// successful. Authorization requires `spanner.instances.update`
+// permission on resource name.
 func (r *ProjectsInstancesService) Patch(nameid string, updateinstancerequest *UpdateInstanceRequest) *ProjectsInstancesPatchCall {
 	c := &ProjectsInstancesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.nameid = nameid
@@ -6450,7 +5337,7 @@
 
 func (c *ProjectsInstancesPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6514,7 +5401,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates an instance, and begins allocating or releasing resources\nas requested. The returned long-running\noperation can be used to track the\nprogress of updating the instance. If the named instance does not\nexist, returns `NOT_FOUND`.\n\nImmediately upon completion of this request:\n\n  * For resource types for which a decrease in the instance's allocation\n    has been requested, billing is based on the newly-requested level.\n\nUntil completion of the returned operation:\n\n  * Cancelling the operation sets its metadata's\n    cancel_time, and begins\n    restoring resources to their pre-request values. The operation\n    is guaranteed to succeed at undoing all resource changes,\n    after which point it terminates with a `CANCELLED` status.\n  * All other attempts to modify the instance are rejected.\n  * Reading the instance via the API continues to give the pre-request\n    resource levels.\n\nUpon completion of the returned operation:\n\n  * Billing begins for all successfully-allocated resources (some types\n    may have lower than the requested levels).\n  * All newly-reserved resources are available for serving the instance's\n    tables.\n  * The instance's new resource levels are readable via the API.\n\nThe returned long-running operation will\nhave a name of the format `\u003cinstance_name\u003e/operations/\u003coperation_id\u003e` and\ncan be used to track the instance modification.  The\nmetadata field type is\nUpdateInstanceMetadata.\nThe response field type is\nInstance, if successful.\n\nAuthorization requires `spanner.instances.update` permission on\nresource name.",
+	//   "description": "Updates an instance, and begins allocating or releasing resources as requested. The returned long-running operation can be used to track the progress of updating the instance. If the named instance does not exist, returns `NOT_FOUND`. Immediately upon completion of this request: * For resource types for which a decrease in the instance's allocation has been requested, billing is based on the newly-requested level. Until completion of the returned operation: * Cancelling the operation sets its metadata's cancel_time, and begins restoring resources to their pre-request values. The operation is guaranteed to succeed at undoing all resource changes, after which point it terminates with a `CANCELLED` status. * All other attempts to modify the instance are rejected. * Reading the instance via the API continues to give the pre-request resource levels. Upon completion of the returned operation: * Billing begins for all successfully-allocated resources (some types may have lower than the requested levels). * All newly-reserved resources are available for serving the instance's tables. * The instance's new resource levels are readable via the API. The returned long-running operation will have a name of the format `/operations/` and can be used to track the instance modification. The metadata field type is UpdateInstanceMetadata. The response field type is Instance, if successful. Authorization requires `spanner.instances.update` permission on resource name.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}",
 	//   "httpMethod": "PATCH",
 	//   "id": "spanner.projects.instances.patch",
@@ -6523,7 +5410,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. A unique identifier for the instance, which cannot be changed\nafter the instance is created. Values are of the form\n`projects/\u003cproject\u003e/instances/a-z*[a-z0-9]`. The final\nsegment of the name must be between 2 and 64 characters in length.",
+	//       "description": "Required. A unique identifier for the instance, which cannot be changed after the instance is created. Values are of the form `projects//instances/a-z*[a-z0-9]`. The final segment of the name must be between 2 and 64 characters in length.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
 	//       "required": true,
@@ -6557,11 +5444,8 @@
 }
 
 // SetIamPolicy: Sets the access control policy on an instance resource.
-// Replaces any
-// existing policy.
-//
-// Authorization requires `spanner.instances.setIamPolicy` on
-// resource.
+// Replaces any existing policy. Authorization requires
+// `spanner.instances.setIamPolicy` on resource.
 func (r *ProjectsInstancesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsInstancesSetIamPolicyCall {
 	c := &ProjectsInstancesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -6596,7 +5480,7 @@
 
 func (c *ProjectsInstancesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6660,7 +5544,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the access control policy on an instance resource. Replaces any\nexisting policy.\n\nAuthorization requires `spanner.instances.setIamPolicy` on\nresource.",
+	//   "description": "Sets the access control policy on an instance resource. Replaces any existing policy. Authorization requires `spanner.instances.setIamPolicy` on resource.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.setIamPolicy",
@@ -6669,7 +5553,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for databases resources.",
+	//       "description": "REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for databases resources.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
 	//       "required": true,
@@ -6703,15 +5587,10 @@
 }
 
 // TestIamPermissions: Returns permissions that the caller has on the
-// specified instance resource.
-//
-// Attempting this RPC on a non-existent Cloud Spanner instance resource
-// will
-// result in a NOT_FOUND error if the user has
-// `spanner.instances.list`
-// permission on the containing Google Cloud Project. Otherwise returns
-// an
-// empty set of permissions.
+// specified instance resource. Attempting this RPC on a non-existent
+// Cloud Spanner instance resource will result in a NOT_FOUND error if
+// the user has `spanner.instances.list` permission on the containing
+// Google Cloud Project. Otherwise returns an empty set of permissions.
 func (r *ProjectsInstancesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsInstancesTestIamPermissionsCall {
 	c := &ProjectsInstancesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -6746,7 +5625,7 @@
 
 func (c *ProjectsInstancesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6810,7 +5689,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns permissions that the caller has on the specified instance resource.\n\nAttempting this RPC on a non-existent Cloud Spanner instance resource will\nresult in a NOT_FOUND error if the user has `spanner.instances.list`\npermission on the containing Google Cloud Project. Otherwise returns an\nempty set of permissions.",
+	//   "description": "Returns permissions that the caller has on the specified instance resource. Attempting this RPC on a non-existent Cloud Spanner instance resource will result in a NOT_FOUND error if the user has `spanner.instances.list` permission on the containing Google Cloud Project. Otherwise returns an empty set of permissions.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.testIamPermissions",
@@ -6819,7 +5698,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for database resources.",
+	//       "description": "REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for database resources.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
 	//       "required": true,
@@ -6852,22 +5731,15 @@
 	header_      http.Header
 }
 
-// List: Lists the backup long-running operations in
-// the given instance. A backup operation has a name of the
-// form
-// `projects/<project>/instances/<instance>/backups/<backup>/operati
-// ons/<operation>`.
-// The long-running operation
-// metadata field type
-// `metadata.type_url` describes the type of the metadata. Operations
-// returned
-// include those that have completed/failed/canceled within the last 7
-// days,
-// and pending operations. Operations returned are ordered
-// by
+// List: Lists the backup long-running operations in the given instance.
+// A backup operation has a name of the form
+// `projects//instances//backups//operations/`. The long-running
+// operation metadata field type `metadata.type_url` describes the type
+// of the metadata. Operations returned include those that have
+// completed/failed/canceled within the last 7 days, and pending
+// operations. Operations returned are ordered by
 // `operation.metadata.value.progress.start_time` in descending order
-// starting
-// from the most recently started operation.
+// starting from the most recently started operation.
 func (r *ProjectsInstancesBackupOperationsService) List(parent string) *ProjectsInstancesBackupOperationsListCall {
 	c := &ProjectsInstancesBackupOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -6875,73 +5747,50 @@
 }
 
 // Filter sets the optional parameter "filter": An expression that
-// filters the list of returned backup operations.
-//
-// A filter expression consists of a field name, a
-// comparison operator, and a value for filtering.
-// The value must be a string, a number, or a boolean. The comparison
-// operator
-// must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
-// Colon `:` is the contains operator. Filter rules are not case
-// sensitive.
-//
-// The following fields in the operation
-// are eligible for filtering:
-//
-//   * `name` - The name of the long-running operation
-//   * `done` - False if the operation is in progress, else true.
-//   * `metadata.@type` - the type of metadata. For example, the type
-// string
-//      for CreateBackupMetadata is
-//
+// filters the list of returned backup operations. A filter expression
+// consists of a field name, a comparison operator, and a value for
+// filtering. The value must be a string, a number, or a boolean. The
+// comparison operator must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`,
+// or `:`. Colon `:` is the contains operator. Filter rules are not case
+// sensitive. The following fields in the operation are eligible for
+// filtering: * `name` - The name of the long-running operation * `done`
+// - False if the operation is in progress, else true. *
+// `metadata.@type` - the type of metadata. For example, the type string
+// for CreateBackupMetadata is
 // `type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMeta
-// data`.
-//   * `metadata.<field_name>` - any field in metadata.value.
-//   * `error` - Error associated with the long-running operation.
-//   * `response.@type` - the type of response.
-//   * `response.<field_name>` - any field in response.value.
-//
-// You can combine multiple expressions by enclosing each expression
-// in
-// parentheses. By default, expressions are combined with AND logic,
-// but
-// you can specify AND, OR, and NOT logic explicitly.
-//
-// Here are a few examples:
-//
-//   * `done:true` - The operation is complete.
-//   * `metadata.database:prod` - The database the backup was taken from
-// has
-//      a name containing the string "prod".
-//   *
+// data`. * `metadata.` - any field in metadata.value. * `error` - Error
+// associated with the long-running operation. * `response.@type` - the
+// type of response. * `response.` - any field in response.value. You
+// can combine multiple expressions by enclosing each expression in
+// parentheses. By default, expressions are combined with AND logic, but
+// you can specify AND, OR, and NOT logic explicitly. Here are a few
+// examples: * `done:true` - The operation is complete. *
+// `metadata.database:prod` - The database the backup was taken from has
+// a name containing the string "prod". *
 // `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.
-// CreateBackupMetadata) AND` \
-//     `(metadata.name:howl) AND` \
-//     `(metadata.progress.start_time < \"2018-03-28T14:50:00Z\") AND`
-// \
-//     `(error:*)` - Returns operations where:
-//     * The operation's metadata type is CreateBackupMetadata.
-//     * The backup name contains the string "howl".
-//     * The operation started before 2018-03-28T14:50:00Z.
-//     * The operation resulted in an error.
+// CreateBackupMetadata) AND` \ `(metadata.name:howl) AND` \
+// `(metadata.progress.start_time < \"2018-03-28T14:50:00Z\") AND` \
+// `(error:*)` - Returns operations where: * The operation's metadata
+// type is CreateBackupMetadata. * The backup name contains the string
+// "howl". * The operation started before 2018-03-28T14:50:00Z. * The
+// operation resulted in an error.
 func (c *ProjectsInstancesBackupOperationsListCall) Filter(filter string) *ProjectsInstancesBackupOperationsListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": Number of operations
-// to be returned in the response. If 0 or
-// less, defaults to the server's maximum allowed page size.
+// to be returned in the response. If 0 or less, defaults to the
+// server's maximum allowed page size.
 func (c *ProjectsInstancesBackupOperationsListCall) PageSize(pageSize int64) *ProjectsInstancesBackupOperationsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": If non-empty,
-// `page_token` should contain a
-// next_page_token
-// from a previous ListBackupOperationsResponse to the
-// same `parent` and with the same `filter`.
+// `page_token` should contain a next_page_token from a previous
+// ListBackupOperationsResponse to the same `parent` and with the same
+// `filter`.
 func (c *ProjectsInstancesBackupOperationsListCall) PageToken(pageToken string) *ProjectsInstancesBackupOperationsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -6984,7 +5833,7 @@
 
 func (c *ProjectsInstancesBackupOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7046,7 +5895,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists the backup long-running operations in\nthe given instance. A backup operation has a name of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/backups/\u003cbackup\u003e/operations/\u003coperation\u003e`.\nThe long-running operation\nmetadata field type\n`metadata.type_url` describes the type of the metadata. Operations returned\ninclude those that have completed/failed/canceled within the last 7 days,\nand pending operations. Operations returned are ordered by\n`operation.metadata.value.progress.start_time` in descending order starting\nfrom the most recently started operation.",
+	//   "description": "Lists the backup long-running operations in the given instance. A backup operation has a name of the form `projects//instances//backups//operations/`. The long-running operation metadata field type `metadata.type_url` describes the type of the metadata. Operations returned include those that have completed/failed/canceled within the last 7 days, and pending operations. Operations returned are ordered by `operation.metadata.value.progress.start_time` in descending order starting from the most recently started operation.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backupOperations",
 	//   "httpMethod": "GET",
 	//   "id": "spanner.projects.instances.backupOperations.list",
@@ -7055,23 +5904,23 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "An expression that filters the list of returned backup operations.\n\nA filter expression consists of a field name, a\ncomparison operator, and a value for filtering.\nThe value must be a string, a number, or a boolean. The comparison operator\nmust be one of: `\u003c`, `\u003e`, `\u003c=`, `\u003e=`, `!=`, `=`, or `:`.\nColon `:` is the contains operator. Filter rules are not case sensitive.\n\nThe following fields in the operation\nare eligible for filtering:\n\n  * `name` - The name of the long-running operation\n  * `done` - False if the operation is in progress, else true.\n  * `metadata.@type` - the type of metadata. For example, the type string\n     for CreateBackupMetadata is\n     `type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata`.\n  * `metadata.\u003cfield_name\u003e` - any field in metadata.value.\n  * `error` - Error associated with the long-running operation.\n  * `response.@type` - the type of response.\n  * `response.\u003cfield_name\u003e` - any field in response.value.\n\nYou can combine multiple expressions by enclosing each expression in\nparentheses. By default, expressions are combined with AND logic, but\nyou can specify AND, OR, and NOT logic explicitly.\n\nHere are a few examples:\n\n  * `done:true` - The operation is complete.\n  * `metadata.database:prod` - The database the backup was taken from has\n     a name containing the string \"prod\".\n  * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \\\n    `(metadata.name:howl) AND` \\\n    `(metadata.progress.start_time \u003c \\\"2018-03-28T14:50:00Z\\\") AND` \\\n    `(error:*)` - Returns operations where:\n    * The operation's metadata type is CreateBackupMetadata.\n    * The backup name contains the string \"howl\".\n    * The operation started before 2018-03-28T14:50:00Z.\n    * The operation resulted in an error.",
+	//       "description": "An expression that filters the list of returned backup operations. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be one of: `\u003c`, `\u003e`, `\u003c=`, `\u003e=`, `!=`, `=`, or `:`. Colon `:` is the contains operator. Filter rules are not case sensitive. The following fields in the operation are eligible for filtering: * `name` - The name of the long-running operation * `done` - False if the operation is in progress, else true. * `metadata.@type` - the type of metadata. For example, the type string for CreateBackupMetadata is `type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata`. * `metadata.` - any field in metadata.value. * `error` - Error associated with the long-running operation. * `response.@type` - the type of response. * `response.` - any field in response.value. You can combine multiple expressions by enclosing each expression in parentheses. By default, expressions are combined with AND logic, but you can specify AND, OR, and NOT logic explicitly. Here are a few examples: * `done:true` - The operation is complete. * `metadata.database:prod` - The database the backup was taken from has a name containing the string \"prod\". * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.CreateBackupMetadata) AND` \\ `(metadata.name:howl) AND` \\ `(metadata.progress.start_time \u003c \\\"2018-03-28T14:50:00Z\\\") AND` \\ `(error:*)` - Returns operations where: * The operation's metadata type is CreateBackupMetadata. * The backup name contains the string \"howl\". * The operation started before 2018-03-28T14:50:00Z. * The operation resulted in an error.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "Number of operations to be returned in the response. If 0 or\nless, defaults to the server's maximum allowed page size.",
+	//       "description": "Number of operations to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "If non-empty, `page_token` should contain a\nnext_page_token\nfrom a previous ListBackupOperationsResponse to the\nsame `parent` and with the same `filter`.",
+	//       "description": "If non-empty, `page_token` should contain a next_page_token from a previous ListBackupOperationsResponse to the same `parent` and with the same `filter`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The instance of the backup operations. Values are of\nthe form `projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.",
+	//       "description": "Required. The instance of the backup operations. Values are of the form `projects//instances/`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
 	//       "required": true,
@@ -7122,22 +5971,15 @@
 	header_    http.Header
 }
 
-// Create: Starts creating a new Cloud Spanner Backup.
-// The returned backup long-running operation
-// will have a name of the
-// format
-// `projects/<project>/instances/<instance>/backups/<backup>/opera
-// tions/<operation_id>`
-// and can be used to track creation of the backup. The
-// metadata field type is
-// CreateBackupMetadata. The
-// response field type is
-// Backup, if successful. Cancelling the returned operation will stop
-// the
-// creation and delete the backup.
-// There can be only one pending backup creation per database. Backup
-// creation
-// of different databases can run concurrently.
+// Create: Starts creating a new Cloud Spanner Backup. The returned
+// backup long-running operation will have a name of the format
+// `projects//instances//backups//operations/` and can be used to track
+// creation of the backup. The metadata field type is
+// CreateBackupMetadata. The response field type is Backup, if
+// successful. Cancelling the returned operation will stop the creation
+// and delete the backup. There can be only one pending backup creation
+// per database. Backup creation of different databases can run
+// concurrently.
 func (r *ProjectsInstancesBackupsService) Create(parent string, backup *Backup) *ProjectsInstancesBackupsCreateCall {
 	c := &ProjectsInstancesBackupsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -7146,10 +5988,8 @@
 }
 
 // BackupId sets the optional parameter "backupId": Required. The id of
-// the backup to be created. The `backup_id` appended to
-// `parent` forms the full backup name of the
-// form
-// `projects/<project>/instances/<instance>/backups/<backup_id>`.
+// the backup to be created. The `backup_id` appended to `parent` forms
+// the full backup name of the form `projects//instances//backups/`.
 func (c *ProjectsInstancesBackupsCreateCall) BackupId(backupId string) *ProjectsInstancesBackupsCreateCall {
 	c.urlParams_.Set("backupId", backupId)
 	return c
@@ -7182,7 +6022,7 @@
 
 func (c *ProjectsInstancesBackupsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7246,7 +6086,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Starts creating a new Cloud Spanner Backup.\nThe returned backup long-running operation\nwill have a name of the format\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/backups/\u003cbackup\u003e/operations/\u003coperation_id\u003e`\nand can be used to track creation of the backup. The\nmetadata field type is\nCreateBackupMetadata. The\nresponse field type is\nBackup, if successful. Cancelling the returned operation will stop the\ncreation and delete the backup.\nThere can be only one pending backup creation per database. Backup creation\nof different databases can run concurrently.",
+	//   "description": "Starts creating a new Cloud Spanner Backup. The returned backup long-running operation will have a name of the format `projects//instances//backups//operations/` and can be used to track creation of the backup. The metadata field type is CreateBackupMetadata. The response field type is Backup, if successful. Cancelling the returned operation will stop the creation and delete the backup. There can be only one pending backup creation per database. Backup creation of different databases can run concurrently.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.backups.create",
@@ -7255,12 +6095,12 @@
 	//   ],
 	//   "parameters": {
 	//     "backupId": {
-	//       "description": "Required. The id of the backup to be created. The `backup_id` appended to\n`parent` forms the full backup name of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/backups/\u003cbackup_id\u003e`.",
+	//       "description": "Required. The id of the backup to be created. The `backup_id` appended to `parent` forms the full backup name of the form `projects//instances//backups/`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The name of the instance in which the backup will be\ncreated. This must be the same instance that contains the database the\nbackup will be created from. The backup will be stored in the\nlocation(s) specified in the instance configuration of this\ninstance. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.",
+	//       "description": "Required. The name of the instance in which the backup will be created. This must be the same instance that contains the database the backup will be created from. The backup will be stored in the location(s) specified in the instance configuration of this instance. Values are of the form `projects//instances/`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
 	//       "required": true,
@@ -7326,7 +6166,7 @@
 
 func (c *ProjectsInstancesBackupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7394,7 +6234,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. Name of the backup to delete.\nValues are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/backups/\u003cbackup\u003e`.",
+	//       "description": "Required. Name of the backup to delete. Values are of the form `projects//instances//backups/`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+/backups/[^/]+$",
 	//       "required": true,
@@ -7468,7 +6308,7 @@
 
 func (c *ProjectsInstancesBackupsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7539,7 +6379,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. Name of the backup.\nValues are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/backups/\u003cbackup\u003e`.",
+	//       "description": "Required. Name of the backup. Values are of the form `projects//instances//backups/`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+/backups/[^/]+$",
 	//       "required": true,
@@ -7570,17 +6410,11 @@
 }
 
 // GetIamPolicy: Gets the access control policy for a database or backup
+// resource. Returns an empty policy if a database or backup exists but
+// does not have a policy set. Authorization requires
+// `spanner.databases.getIamPolicy` permission on resource. For backups,
+// authorization requires `spanner.backups.getIamPolicy` permission on
 // resource.
-// Returns an empty policy if a database or backup exists but does not
-// have a
-// policy set.
-//
-// Authorization requires `spanner.databases.getIamPolicy` permission
-// on
-// resource.
-// For backups, authorization requires
-// `spanner.backups.getIamPolicy`
-// permission on resource.
 func (r *ProjectsInstancesBackupsService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsInstancesBackupsGetIamPolicyCall {
 	c := &ProjectsInstancesBackupsGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -7615,7 +6449,7 @@
 
 func (c *ProjectsInstancesBackupsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7679,7 +6513,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for a database or backup resource.\nReturns an empty policy if a database or backup exists but does not have a\npolicy set.\n\nAuthorization requires `spanner.databases.getIamPolicy` permission on\nresource.\nFor backups, authorization requires `spanner.backups.getIamPolicy`\npermission on resource.",
+	//   "description": "Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups/{backupsId}:getIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.backups.getIamPolicy",
@@ -7688,7 +6522,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for database resources.",
+	//       "description": "REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for database resources.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+/backups/[^/]+$",
 	//       "required": true,
@@ -7721,10 +6555,9 @@
 	header_      http.Header
 }
 
-// List: Lists completed and pending backups.
-// Backups returned are ordered by `create_time` in descending
-// order,
-// starting from the most recent `create_time`.
+// List: Lists completed and pending backups. Backups returned are
+// ordered by `create_time` in descending order, starting from the most
+// recent `create_time`.
 func (r *ProjectsInstancesBackupsService) List(parent string) *ProjectsInstancesBackupsListCall {
 	c := &ProjectsInstancesBackupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -7732,68 +6565,44 @@
 }
 
 // Filter sets the optional parameter "filter": An expression that
-// filters the list of returned backups.
-//
-// A filter expression consists of a field name, a comparison operator,
-// and a
-// value for filtering.
-// The value must be a string, a number, or a boolean. The comparison
-// operator
-// must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
+// filters the list of returned backups. A filter expression consists of
+// a field name, a comparison operator, and a value for filtering. The
+// value must be a string, a number, or a boolean. The comparison
+// operator must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
 // Colon `:` is the contains operator. Filter rules are not case
-// sensitive.
-//
-// The following fields in the Backup are eligible for filtering:
-//
-//   * `name`
-//   * `database`
-//   * `state`
-//   * `create_time` (and values are of the format
-// YYYY-MM-DDTHH:MM:SSZ)
-//   * `expire_time` (and values are of the format
-// YYYY-MM-DDTHH:MM:SSZ)
-//   * `size_bytes`
-//
-// You can combine multiple expressions by enclosing each expression
-// in
-// parentheses. By default, expressions are combined with AND logic,
-// but
-// you can specify AND, OR, and NOT logic explicitly.
-//
-// Here are a few examples:
-//
-//   * `name:Howl` - The backup's name contains the string "howl".
-//   * `database:prod`
-//          - The database's name contains the string "prod".
-//   * `state:CREATING` - The backup is pending creation.
-//   * `state:READY` - The backup is fully created and ready for use.
-//   * `(name:howl) AND (create_time < \"2018-03-28T14:50:00Z\")`
-//          - The backup name contains the string "howl" and
-// `create_time`
-//              of the backup is before 2018-03-28T14:50:00Z.
-//   * `expire_time < \"2018-03-28T14:50:00Z\"
-//          - The backup `expire_time` is before 2018-03-28T14:50:00Z.
-//   * `size_bytes > 10000000000` - The backup's size is greater than
-// 10GB
+// sensitive. The following fields in the Backup are eligible for
+// filtering: * `name` * `database` * `state` * `create_time` (and
+// values are of the format YYYY-MM-DDTHH:MM:SSZ) * `expire_time` (and
+// values are of the format YYYY-MM-DDTHH:MM:SSZ) * `size_bytes` You can
+// combine multiple expressions by enclosing each expression in
+// parentheses. By default, expressions are combined with AND logic, but
+// you can specify AND, OR, and NOT logic explicitly. Here are a few
+// examples: * `name:Howl` - The backup's name contains the string
+// "howl". * `database:prod` - The database's name contains the string
+// "prod". * `state:CREATING` - The backup is pending creation. *
+// `state:READY` - The backup is fully created and ready for use. *
+// `(name:howl) AND (create_time < \"2018-03-28T14:50:00Z\")` - The
+// backup name contains the string "howl" and `create_time` of the
+// backup is before 2018-03-28T14:50:00Z. * `expire_time <
+// \"2018-03-28T14:50:00Z\" - The backup `expire_time` is before
+// 2018-03-28T14:50:00Z. * `size_bytes > 10000000000` - The backup's
+// size is greater than 10GB
 func (c *ProjectsInstancesBackupsListCall) Filter(filter string) *ProjectsInstancesBackupsListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": Number of backups to
-// be returned in the response. If 0 or
-// less, defaults to the server's maximum allowed page size.
+// be returned in the response. If 0 or less, defaults to the server's
+// maximum allowed page size.
 func (c *ProjectsInstancesBackupsListCall) PageSize(pageSize int64) *ProjectsInstancesBackupsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": If non-empty,
-// `page_token` should contain a
-// next_page_token from a
-// previous ListBackupsResponse to the same `parent` and with the
-// same
-// `filter`.
+// `page_token` should contain a next_page_token from a previous
+// ListBackupsResponse to the same `parent` and with the same `filter`.
 func (c *ProjectsInstancesBackupsListCall) PageToken(pageToken string) *ProjectsInstancesBackupsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -7836,7 +6645,7 @@
 
 func (c *ProjectsInstancesBackupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7898,7 +6707,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists completed and pending backups.\nBackups returned are ordered by `create_time` in descending order,\nstarting from the most recent `create_time`.",
+	//   "description": "Lists completed and pending backups. Backups returned are ordered by `create_time` in descending order, starting from the most recent `create_time`.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups",
 	//   "httpMethod": "GET",
 	//   "id": "spanner.projects.instances.backups.list",
@@ -7907,23 +6716,23 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "An expression that filters the list of returned backups.\n\nA filter expression consists of a field name, a comparison operator, and a\nvalue for filtering.\nThe value must be a string, a number, or a boolean. The comparison operator\nmust be one of: `\u003c`, `\u003e`, `\u003c=`, `\u003e=`, `!=`, `=`, or `:`.\nColon `:` is the contains operator. Filter rules are not case sensitive.\n\nThe following fields in the Backup are eligible for filtering:\n\n  * `name`\n  * `database`\n  * `state`\n  * `create_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)\n  * `expire_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ)\n  * `size_bytes`\n\nYou can combine multiple expressions by enclosing each expression in\nparentheses. By default, expressions are combined with AND logic, but\nyou can specify AND, OR, and NOT logic explicitly.\n\nHere are a few examples:\n\n  * `name:Howl` - The backup's name contains the string \"howl\".\n  * `database:prod`\n         - The database's name contains the string \"prod\".\n  * `state:CREATING` - The backup is pending creation.\n  * `state:READY` - The backup is fully created and ready for use.\n  * `(name:howl) AND (create_time \u003c \\\"2018-03-28T14:50:00Z\\\")`\n         - The backup name contains the string \"howl\" and `create_time`\n             of the backup is before 2018-03-28T14:50:00Z.\n  * `expire_time \u003c \\\"2018-03-28T14:50:00Z\\\"`\n         - The backup `expire_time` is before 2018-03-28T14:50:00Z.\n  * `size_bytes \u003e 10000000000` - The backup's size is greater than 10GB",
+	//       "description": "An expression that filters the list of returned backups. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be one of: `\u003c`, `\u003e`, `\u003c=`, `\u003e=`, `!=`, `=`, or `:`. Colon `:` is the contains operator. Filter rules are not case sensitive. The following fields in the Backup are eligible for filtering: * `name` * `database` * `state` * `create_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ) * `expire_time` (and values are of the format YYYY-MM-DDTHH:MM:SSZ) * `size_bytes` You can combine multiple expressions by enclosing each expression in parentheses. By default, expressions are combined with AND logic, but you can specify AND, OR, and NOT logic explicitly. Here are a few examples: * `name:Howl` - The backup's name contains the string \"howl\". * `database:prod` - The database's name contains the string \"prod\". * `state:CREATING` - The backup is pending creation. * `state:READY` - The backup is fully created and ready for use. * `(name:howl) AND (create_time \u003c \\\"2018-03-28T14:50:00Z\\\")` - The backup name contains the string \"howl\" and `create_time` of the backup is before 2018-03-28T14:50:00Z. * `expire_time \u003c \\\"2018-03-28T14:50:00Z\\\"` - The backup `expire_time` is before 2018-03-28T14:50:00Z. * `size_bytes \u003e 10000000000` - The backup's size is greater than 10GB",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "Number of backups to be returned in the response. If 0 or\nless, defaults to the server's maximum allowed page size.",
+	//       "description": "Number of backups to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "If non-empty, `page_token` should contain a\nnext_page_token from a\nprevious ListBackupsResponse to the same `parent` and with the same\n`filter`.",
+	//       "description": "If non-empty, `page_token` should contain a next_page_token from a previous ListBackupsResponse to the same `parent` and with the same `filter`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The instance to list backups from.  Values are of the\nform `projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.",
+	//       "description": "Required. The instance to list backups from. Values are of the form `projects//instances/`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
 	//       "required": true,
@@ -7983,14 +6792,11 @@
 }
 
 // UpdateMask sets the optional parameter "updateMask": Required. A mask
-// specifying which fields (e.g. `expire_time`) in the
-// Backup resource should be updated. This mask is relative to the
-// Backup
-// resource, not to the request message. The field mask must always
-// be
-// specified; this prevents any future fields from being erased
-// accidentally
-// by clients that do not know about them.
+// specifying which fields (e.g. `expire_time`) in the Backup resource
+// should be updated. This mask is relative to the Backup resource, not
+// to the request message. The field mask must always be specified; this
+// prevents any future fields from being erased accidentally by clients
+// that do not know about them.
 func (c *ProjectsInstancesBackupsPatchCall) UpdateMask(updateMask string) *ProjectsInstancesBackupsPatchCall {
 	c.urlParams_.Set("updateMask", updateMask)
 	return c
@@ -8023,7 +6829,7 @@
 
 func (c *ProjectsInstancesBackupsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8096,14 +6902,14 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Output only for the CreateBackup operation.\nRequired for the UpdateBackup operation.\n\nA globally unique identifier for the backup which cannot be\nchanged. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/backups/a-z*[a-z0-9]`\nThe final segment of the name must be between 2 and 60 characters\nin length.\n\nThe backup is stored in the location(s) specified in the instance\nconfiguration of the instance containing the backup, identified\nby the prefix of the backup name of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.",
+	//       "description": "Output only for the CreateBackup operation. Required for the UpdateBackup operation. A globally unique identifier for the backup which cannot be changed. Values are of the form `projects//instances//backups/a-z*[a-z0-9]` The final segment of the name must be between 2 and 60 characters in length. The backup is stored in the location(s) specified in the instance configuration of the instance containing the backup, identified by the prefix of the backup name of the form `projects//instances/`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+/backups/[^/]+$",
 	//       "required": true,
 	//       "type": "string"
 	//     },
 	//     "updateMask": {
-	//       "description": "Required. A mask specifying which fields (e.g. `expire_time`) in the\nBackup resource should be updated. This mask is relative to the Backup\nresource, not to the request message. The field mask must always be\nspecified; this prevents any future fields from being erased accidentally\nby clients that do not know about them.",
+	//       "description": "Required. A mask specifying which fields (e.g. `expire_time`) in the Backup resource should be updated. This mask is relative to the Backup resource, not to the request message. The field mask must always be specified; this prevents any future fields from being erased accidentally by clients that do not know about them.",
 	//       "format": "google-fieldmask",
 	//       "location": "query",
 	//       "type": "string"
@@ -8136,14 +6942,10 @@
 }
 
 // SetIamPolicy: Sets the access control policy on a database or backup
+// resource. Replaces any existing policy. Authorization requires
+// `spanner.databases.setIamPolicy` permission on resource. For backups,
+// authorization requires `spanner.backups.setIamPolicy` permission on
 // resource.
-// Replaces any existing policy.
-//
-// Authorization requires `spanner.databases.setIamPolicy`
-// permission on resource.
-// For backups, authorization requires
-// `spanner.backups.setIamPolicy`
-// permission on resource.
 func (r *ProjectsInstancesBackupsService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsInstancesBackupsSetIamPolicyCall {
 	c := &ProjectsInstancesBackupsSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -8178,7 +6980,7 @@
 
 func (c *ProjectsInstancesBackupsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8242,7 +7044,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the access control policy on a database or backup resource.\nReplaces any existing policy.\n\nAuthorization requires `spanner.databases.setIamPolicy`\npermission on resource.\nFor backups, authorization requires `spanner.backups.setIamPolicy`\npermission on resource.",
+	//   "description": "Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups/{backupsId}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.backups.setIamPolicy",
@@ -8251,7 +7053,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for databases resources.",
+	//       "description": "REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for databases resources.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+/backups/[^/]+$",
 	//       "required": true,
@@ -8285,18 +7087,13 @@
 }
 
 // TestIamPermissions: Returns permissions that the caller has on the
-// specified database or backup
-// resource.
-//
-// Attempting this RPC on a non-existent Cloud Spanner database
-// will
-// result in a NOT_FOUND error if the user has
-// `spanner.databases.list` permission on the containing Cloud
-// Spanner instance. Otherwise returns an empty set of
-// permissions.
-// Calling this method on a backup that does not exist will
-// result in a NOT_FOUND error if the user has
-// `spanner.backups.list` permission on the containing instance.
+// specified database or backup resource. Attempting this RPC on a
+// non-existent Cloud Spanner database will result in a NOT_FOUND error
+// if the user has `spanner.databases.list` permission on the containing
+// Cloud Spanner instance. Otherwise returns an empty set of
+// permissions. Calling this method on a backup that does not exist will
+// result in a NOT_FOUND error if the user has `spanner.backups.list`
+// permission on the containing instance.
 func (r *ProjectsInstancesBackupsService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsInstancesBackupsTestIamPermissionsCall {
 	c := &ProjectsInstancesBackupsTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -8331,7 +7128,7 @@
 
 func (c *ProjectsInstancesBackupsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8395,7 +7192,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns permissions that the caller has on the specified database or backup\nresource.\n\nAttempting this RPC on a non-existent Cloud Spanner database will\nresult in a NOT_FOUND error if the user has\n`spanner.databases.list` permission on the containing Cloud\nSpanner instance. Otherwise returns an empty set of permissions.\nCalling this method on a backup that does not exist will\nresult in a NOT_FOUND error if the user has\n`spanner.backups.list` permission on the containing instance.",
+	//   "description": "Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups/{backupsId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.backups.testIamPermissions",
@@ -8404,7 +7201,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for database resources.",
+	//       "description": "REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for database resources.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+/backups/[^/]+$",
 	//       "required": true,
@@ -8437,23 +7234,15 @@
 }
 
 // Cancel: 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`.
+// 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`.
 func (r *ProjectsInstancesBackupsOperationsService) Cancel(name string) *ProjectsInstancesBackupsOperationsCancelCall {
 	c := &ProjectsInstancesBackupsOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -8487,7 +7276,7 @@
 
 func (c *ProjectsInstancesBackupsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8546,7 +7335,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Starts asynchronous cancellation on a long-running operation.  The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed.  If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.  Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
+	//   "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups/{backupsId}/operations/{operationsId}:cancel",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.backups.operations.cancel",
@@ -8585,12 +7374,9 @@
 }
 
 // Delete: 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`.
+// 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`.
 func (r *ProjectsInstancesBackupsOperationsService) Delete(name string) *ProjectsInstancesBackupsOperationsDeleteCall {
 	c := &ProjectsInstancesBackupsOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -8624,7 +7410,7 @@
 
 func (c *ProjectsInstancesBackupsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8683,7 +7469,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.",
+	//   "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups/{backupsId}/operations/{operationsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "spanner.projects.instances.backups.operations.delete",
@@ -8722,11 +7508,9 @@
 	header_      http.Header
 }
 
-// Get: 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.
+// Get: 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.
 func (r *ProjectsInstancesBackupsOperationsService) Get(name string) *ProjectsInstancesBackupsOperationsGetCall {
 	c := &ProjectsInstancesBackupsOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -8770,7 +7554,7 @@
 
 func (c *ProjectsInstancesBackupsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8832,7 +7616,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+	//   "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups/{backupsId}/operations/{operationsId}",
 	//   "httpMethod": "GET",
 	//   "id": "spanner.projects.instances.backups.operations.get",
@@ -8872,22 +7656,15 @@
 }
 
 // List: 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. 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.
 func (r *ProjectsInstancesBackupsOperationsService) List(name string) *ProjectsInstancesBackupsOperationsListCall {
 	c := &ProjectsInstancesBackupsOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -8952,7 +7729,7 @@
 
 func (c *ProjectsInstancesBackupsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9014,7 +7791,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
+	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups/{backupsId}/operations",
 	//   "httpMethod": "GET",
 	//   "id": "spanner.projects.instances.backups.operations.list",
@@ -9090,18 +7867,12 @@
 	header_      http.Header
 }
 
-// List: Lists database longrunning-operations.
-// A database operation has a name of the
-// form
-// `projects/<project>/instances/<instance>/databases/<database>/ope
-// rations/<operation>`.
-// The long-running operation
-// metadata field type
-// `metadata.type_url` describes the type of the metadata. Operations
-// returned
-// include those that have completed/failed/canceled within the last 7
-// days,
-// and pending operations.
+// List: Lists database longrunning-operations. A database operation has
+// a name of the form `projects//instances//databases//operations/`. The
+// long-running operation metadata field type `metadata.type_url`
+// describes the type of the metadata. Operations returned include those
+// that have completed/failed/canceled within the last 7 days, and
+// pending operations.
 func (r *ProjectsInstancesDatabaseOperationsService) List(parent string) *ProjectsInstancesDatabaseOperationsListCall {
 	c := &ProjectsInstancesDatabaseOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -9109,74 +7880,51 @@
 }
 
 // Filter sets the optional parameter "filter": An expression that
-// filters the list of returned operations.
-//
-// A filter expression consists of a field name, a
-// comparison operator, and a value for filtering.
+// filters the list of returned operations. A filter expression consists
+// of a field name, a comparison operator, and a value for filtering.
 // The value must be a string, a number, or a boolean. The comparison
-// operator
-// must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
+// operator must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
 // Colon `:` is the contains operator. Filter rules are not case
-// sensitive.
-//
-// The following fields in the Operation
-// are eligible for filtering:
-//
-//   * `name` - The name of the long-running operation
-//   * `done` - False if the operation is in progress, else true.
-//   * `metadata.@type` - the type of metadata. For example, the type
-// string
-//      for RestoreDatabaseMetadata is
-//
+// sensitive. The following fields in the Operation are eligible for
+// filtering: * `name` - The name of the long-running operation * `done`
+// - False if the operation is in progress, else true. *
+// `metadata.@type` - the type of metadata. For example, the type string
+// for RestoreDatabaseMetadata is
 // `type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseM
-// etadata`.
-//   * `metadata.<field_name>` - any field in metadata.value.
-//   * `error` - Error associated with the long-running operation.
-//   * `response.@type` - the type of response.
-//   * `response.<field_name>` - any field in response.value.
-//
-// You can combine multiple expressions by enclosing each expression
-// in
+// etadata`. * `metadata.` - any field in metadata.value. * `error` -
+// Error associated with the long-running operation. * `response.@type`
+// - the type of response. * `response.` - any field in response.value.
+// You can combine multiple expressions by enclosing each expression in
 // parentheses. By default, expressions are combined with AND logic.
-// However,
-// you can specify AND, OR, and NOT logic explicitly.
-//
-// Here are a few examples:
-//
-//   * `done:true` - The operation is complete.
-//   *
+// However, you can specify AND, OR, and NOT logic explicitly. Here are
+// a few examples: * `done:true` - The operation is complete. *
 // `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.
-// RestoreDatabaseMetadata) AND` \
-//     `(metadata.source_type:BACKUP) AND` \
-//     `(metadata.backup_info.backup:backup_howl) AND` \
-//     `(metadata.name:restored_howl) AND` \
-//     `(metadata.progress.start_time < \"2018-03-28T14:50:00Z\") AND`
-// \
-//     `(error:*)` - Return operations where:
-//     * The operation's metadata type is RestoreDatabaseMetadata.
-//     * The database is restored from a backup.
-//     * The backup name contains "backup_howl".
-//     * The restored database's name contains "restored_howl".
-//     * The operation started before 2018-03-28T14:50:00Z.
-//     * The operation resulted in an error.
+// RestoreDatabaseMetadata) AND` \ `(metadata.source_type:BACKUP) AND` \
+// `(metadata.backup_info.backup:backup_howl) AND` \
+// `(metadata.name:restored_howl) AND` \ `(metadata.progress.start_time
+// < \"2018-03-28T14:50:00Z\") AND` \ `(error:*)` - Return operations
+// where: * The operation's metadata type is RestoreDatabaseMetadata. *
+// The database is restored from a backup. * The backup name contains
+// "backup_howl". * The restored database's name contains
+// "restored_howl". * The operation started before 2018-03-28T14:50:00Z.
+// * The operation resulted in an error.
 func (c *ProjectsInstancesDatabaseOperationsListCall) Filter(filter string) *ProjectsInstancesDatabaseOperationsListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": Number of operations
-// to be returned in the response. If 0 or
-// less, defaults to the server's maximum allowed page size.
+// to be returned in the response. If 0 or less, defaults to the
+// server's maximum allowed page size.
 func (c *ProjectsInstancesDatabaseOperationsListCall) PageSize(pageSize int64) *ProjectsInstancesDatabaseOperationsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": If non-empty,
-// `page_token` should contain a
-// next_page_token
-// from a previous ListDatabaseOperationsResponse to the
-// same `parent` and with the same `filter`.
+// `page_token` should contain a next_page_token from a previous
+// ListDatabaseOperationsResponse to the same `parent` and with the same
+// `filter`.
 func (c *ProjectsInstancesDatabaseOperationsListCall) PageToken(pageToken string) *ProjectsInstancesDatabaseOperationsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -9219,7 +7967,7 @@
 
 func (c *ProjectsInstancesDatabaseOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9281,7 +8029,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists database longrunning-operations.\nA database operation has a name of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/databases/\u003cdatabase\u003e/operations/\u003coperation\u003e`.\nThe long-running operation\nmetadata field type\n`metadata.type_url` describes the type of the metadata. Operations returned\ninclude those that have completed/failed/canceled within the last 7 days,\nand pending operations.",
+	//   "description": "Lists database longrunning-operations. A database operation has a name of the form `projects//instances//databases//operations/`. The long-running operation metadata field type `metadata.type_url` describes the type of the metadata. Operations returned include those that have completed/failed/canceled within the last 7 days, and pending operations.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databaseOperations",
 	//   "httpMethod": "GET",
 	//   "id": "spanner.projects.instances.databaseOperations.list",
@@ -9290,23 +8038,23 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "An expression that filters the list of returned operations.\n\nA filter expression consists of a field name, a\ncomparison operator, and a value for filtering.\nThe value must be a string, a number, or a boolean. The comparison operator\nmust be one of: `\u003c`, `\u003e`, `\u003c=`, `\u003e=`, `!=`, `=`, or `:`.\nColon `:` is the contains operator. Filter rules are not case sensitive.\n\nThe following fields in the Operation\nare eligible for filtering:\n\n  * `name` - The name of the long-running operation\n  * `done` - False if the operation is in progress, else true.\n  * `metadata.@type` - the type of metadata. For example, the type string\n     for RestoreDatabaseMetadata is\n     `type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata`.\n  * `metadata.\u003cfield_name\u003e` - any field in metadata.value.\n  * `error` - Error associated with the long-running operation.\n  * `response.@type` - the type of response.\n  * `response.\u003cfield_name\u003e` - any field in response.value.\n\nYou can combine multiple expressions by enclosing each expression in\nparentheses. By default, expressions are combined with AND logic. However,\nyou can specify AND, OR, and NOT logic explicitly.\n\nHere are a few examples:\n\n  * `done:true` - The operation is complete.\n  * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND` \\\n    `(metadata.source_type:BACKUP) AND` \\\n    `(metadata.backup_info.backup:backup_howl) AND` \\\n    `(metadata.name:restored_howl) AND` \\\n    `(metadata.progress.start_time \u003c \\\"2018-03-28T14:50:00Z\\\") AND` \\\n    `(error:*)` - Return operations where:\n    * The operation's metadata type is RestoreDatabaseMetadata.\n    * The database is restored from a backup.\n    * The backup name contains \"backup_howl\".\n    * The restored database's name contains \"restored_howl\".\n    * The operation started before 2018-03-28T14:50:00Z.\n    * The operation resulted in an error.",
+	//       "description": "An expression that filters the list of returned operations. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be one of: `\u003c`, `\u003e`, `\u003c=`, `\u003e=`, `!=`, `=`, or `:`. Colon `:` is the contains operator. Filter rules are not case sensitive. The following fields in the Operation are eligible for filtering: * `name` - The name of the long-running operation * `done` - False if the operation is in progress, else true. * `metadata.@type` - the type of metadata. For example, the type string for RestoreDatabaseMetadata is `type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata`. * `metadata.` - any field in metadata.value. * `error` - Error associated with the long-running operation. * `response.@type` - the type of response. * `response.` - any field in response.value. You can combine multiple expressions by enclosing each expression in parentheses. By default, expressions are combined with AND logic. However, you can specify AND, OR, and NOT logic explicitly. Here are a few examples: * `done:true` - The operation is complete. * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND` \\ `(metadata.source_type:BACKUP) AND` \\ `(metadata.backup_info.backup:backup_howl) AND` \\ `(metadata.name:restored_howl) AND` \\ `(metadata.progress.start_time \u003c \\\"2018-03-28T14:50:00Z\\\") AND` \\ `(error:*)` - Return operations where: * The operation's metadata type is RestoreDatabaseMetadata. * The database is restored from a backup. * The backup name contains \"backup_howl\". * The restored database's name contains \"restored_howl\". * The operation started before 2018-03-28T14:50:00Z. * The operation resulted in an error.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "Number of operations to be returned in the response. If 0 or\nless, defaults to the server's maximum allowed page size.",
+	//       "description": "Number of operations to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "If non-empty, `page_token` should contain a\nnext_page_token\nfrom a previous ListDatabaseOperationsResponse to the\nsame `parent` and with the same `filter`.",
+	//       "description": "If non-empty, `page_token` should contain a next_page_token from a previous ListDatabaseOperationsResponse to the same `parent` and with the same `filter`.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The instance of the database operations.\nValues are of the form `projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.",
+	//       "description": "Required. The instance of the database operations. Values are of the form `projects//instances/`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
 	//       "required": true,
@@ -9358,15 +8106,10 @@
 }
 
 // Create: Creates a new Cloud Spanner database and starts to prepare it
-// for serving.
-// The returned long-running operation will
-// have a name of the format `<database_name>/operations/<operation_id>`
-// and
-// can be used to track preparation of the database. The
-// metadata field type is
-// CreateDatabaseMetadata. The
-// response field type is
-// Database, if successful.
+// for serving. The returned long-running operation will have a name of
+// the format `/operations/` and can be used to track preparation of the
+// database. The metadata field type is CreateDatabaseMetadata. The
+// response field type is Database, if successful.
 func (r *ProjectsInstancesDatabasesService) Create(parent string, createdatabaserequest *CreateDatabaseRequest) *ProjectsInstancesDatabasesCreateCall {
 	c := &ProjectsInstancesDatabasesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -9401,7 +8144,7 @@
 
 func (c *ProjectsInstancesDatabasesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9465,7 +8208,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a new Cloud Spanner database and starts to prepare it for serving.\nThe returned long-running operation will\nhave a name of the format `\u003cdatabase_name\u003e/operations/\u003coperation_id\u003e` and\ncan be used to track preparation of the database. The\nmetadata field type is\nCreateDatabaseMetadata. The\nresponse field type is\nDatabase, if successful.",
+	//   "description": "Creates a new Cloud Spanner database and starts to prepare it for serving. The returned long-running operation will have a name of the format `/operations/` and can be used to track preparation of the database. The metadata field type is CreateDatabaseMetadata. The response field type is Database, if successful.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.databases.create",
@@ -9474,7 +8217,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The name of the instance that will serve the new database.\nValues are of the form `projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.",
+	//       "description": "Required. The name of the instance that will serve the new database. Values are of the form `projects//instances/`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
 	//       "required": true,
@@ -9506,9 +8249,8 @@
 	header_    http.Header
 }
 
-// DropDatabase: Drops (aka deletes) a Cloud Spanner database.
-// Completed backups for the database will be retained according to
-// their
+// DropDatabase: Drops (aka deletes) a Cloud Spanner database. Completed
+// backups for the database will be retained according to their
 // `expire_time`.
 func (r *ProjectsInstancesDatabasesService) DropDatabase(database string) *ProjectsInstancesDatabasesDropDatabaseCall {
 	c := &ProjectsInstancesDatabasesDropDatabaseCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -9543,7 +8285,7 @@
 
 func (c *ProjectsInstancesDatabasesDropDatabaseCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9602,7 +8344,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Drops (aka deletes) a Cloud Spanner database.\nCompleted backups for the database will be retained according to their\n`expire_time`.",
+	//   "description": "Drops (aka deletes) a Cloud Spanner database. Completed backups for the database will be retained according to their `expire_time`.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "spanner.projects.instances.databases.dropDatabase",
@@ -9685,7 +8427,7 @@
 
 func (c *ProjectsInstancesDatabasesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9756,7 +8498,7 @@
 	//   ],
 	//   "parameters": {
 	//     "name": {
-	//       "description": "Required. The name of the requested database. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/databases/\u003cdatabase\u003e`.",
+	//       "description": "Required. The name of the requested database. Values are of the form `projects//instances//databases/`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -9787,10 +8529,8 @@
 }
 
 // GetDdl: Returns the schema of a Cloud Spanner database as a list of
-// formatted
-// DDL statements. This method does not show pending schema updates,
-// those may
-// be queried using the Operations API.
+// formatted DDL statements. This method does not show pending schema
+// updates, those may be queried using the Operations API.
 func (r *ProjectsInstancesDatabasesService) GetDdl(database string) *ProjectsInstancesDatabasesGetDdlCall {
 	c := &ProjectsInstancesDatabasesGetDdlCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.database = database
@@ -9834,7 +8574,7 @@
 
 func (c *ProjectsInstancesDatabasesGetDdlCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9896,7 +8636,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns the schema of a Cloud Spanner database as a list of formatted\nDDL statements. This method does not show pending schema updates, those may\nbe queried using the Operations API.",
+	//   "description": "Returns the schema of a Cloud Spanner database as a list of formatted DDL statements. This method does not show pending schema updates, those may be queried using the Operations API.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/ddl",
 	//   "httpMethod": "GET",
 	//   "id": "spanner.projects.instances.databases.getDdl",
@@ -9905,7 +8645,7 @@
 	//   ],
 	//   "parameters": {
 	//     "database": {
-	//       "description": "Required. The database whose schema we wish to get.\nValues are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/databases/\u003cdatabase\u003e`",
+	//       "description": "Required. The database whose schema we wish to get. Values are of the form `projects//instances//databases/`",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -9936,17 +8676,11 @@
 }
 
 // GetIamPolicy: Gets the access control policy for a database or backup
+// resource. Returns an empty policy if a database or backup exists but
+// does not have a policy set. Authorization requires
+// `spanner.databases.getIamPolicy` permission on resource. For backups,
+// authorization requires `spanner.backups.getIamPolicy` permission on
 // resource.
-// Returns an empty policy if a database or backup exists but does not
-// have a
-// policy set.
-//
-// Authorization requires `spanner.databases.getIamPolicy` permission
-// on
-// resource.
-// For backups, authorization requires
-// `spanner.backups.getIamPolicy`
-// permission on resource.
 func (r *ProjectsInstancesDatabasesService) GetIamPolicy(resource string, getiampolicyrequest *GetIamPolicyRequest) *ProjectsInstancesDatabasesGetIamPolicyCall {
 	c := &ProjectsInstancesDatabasesGetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -9981,7 +8715,7 @@
 
 func (c *ProjectsInstancesDatabasesGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10045,7 +8779,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the access control policy for a database or backup resource.\nReturns an empty policy if a database or backup exists but does not have a\npolicy set.\n\nAuthorization requires `spanner.databases.getIamPolicy` permission on\nresource.\nFor backups, authorization requires `spanner.backups.getIamPolicy`\npermission on resource.",
+	//   "description": "Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}:getIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.databases.getIamPolicy",
@@ -10054,7 +8788,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for database resources.",
+	//       "description": "REQUIRED: The Cloud Spanner resource for which the policy is being retrieved. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for database resources.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -10095,17 +8829,16 @@
 }
 
 // PageSize sets the optional parameter "pageSize": Number of databases
-// to be returned in the response. If 0 or less,
-// defaults to the server's maximum allowed page size.
+// to be returned in the response. If 0 or less, defaults to the
+// server's maximum allowed page size.
 func (c *ProjectsInstancesDatabasesListCall) PageSize(pageSize int64) *ProjectsInstancesDatabasesListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": If non-empty,
-// `page_token` should contain a
-// next_page_token from a
-// previous ListDatabasesResponse.
+// `page_token` should contain a next_page_token from a previous
+// ListDatabasesResponse.
 func (c *ProjectsInstancesDatabasesListCall) PageToken(pageToken string) *ProjectsInstancesDatabasesListCall {
 	c.urlParams_.Set("pageToken", pageToken)
 	return c
@@ -10148,7 +8881,7 @@
 
 func (c *ProjectsInstancesDatabasesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10219,18 +8952,18 @@
 	//   ],
 	//   "parameters": {
 	//     "pageSize": {
-	//       "description": "Number of databases to be returned in the response. If 0 or less,\ndefaults to the server's maximum allowed page size.",
+	//       "description": "Number of databases to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "If non-empty, `page_token` should contain a\nnext_page_token from a\nprevious ListDatabasesResponse.",
+	//       "description": "If non-empty, `page_token` should contain a next_page_token from a previous ListDatabasesResponse.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "parent": {
-	//       "description": "Required. The instance whose databases should be listed.\nValues are of the form `projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.",
+	//       "description": "Required. The instance whose databases should be listed. Values are of the form `projects//instances/`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
 	//       "required": true,
@@ -10282,31 +9015,18 @@
 }
 
 // Restore: Create a new database by restoring from a completed backup.
-// The new
-// database must be in the same project and in an instance with the
-// same
-// instance configuration as the instance containing
-// the backup. The returned database long-running
-// operation has a name of the
-// format
-// `projects/<project>/instances/<instance>/databases/<database>/o
-// perations/<operation_id>`,
-// and can be used to track the progress of the operation, and to cancel
-// it.
-// The metadata field type is
-// RestoreDatabaseMetadata.
-// The response type
-// is Database, if
-// successful. Cancelling the returned operation will stop the restore
-// and
-// delete the database.
-// There can be only one database being restored into an instance at a
-// time.
-// Once the restore operation completes, a new restore operation can
-// be
-// initiated, without waiting for the optimize operation associated with
-// the
-// first restore to complete.
+// The new database must be in the same project and in an instance with
+// the same instance configuration as the instance containing the
+// backup. The returned database long-running operation has a name of
+// the format `projects//instances//databases//operations/`, and can be
+// used to track the progress of the operation, and to cancel it. The
+// metadata field type is RestoreDatabaseMetadata. The response type is
+// Database, if successful. Cancelling the returned operation will stop
+// the restore and delete the database. There can be only one database
+// being restored into an instance at a time. Once the restore operation
+// completes, a new restore operation can be initiated, without waiting
+// for the optimize operation associated with the first restore to
+// complete.
 func (r *ProjectsInstancesDatabasesService) Restore(parent string, restoredatabaserequest *RestoreDatabaseRequest) *ProjectsInstancesDatabasesRestoreCall {
 	c := &ProjectsInstancesDatabasesRestoreCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.parent = parent
@@ -10341,7 +9061,7 @@
 
 func (c *ProjectsInstancesDatabasesRestoreCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10405,7 +9125,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Create a new database by restoring from a completed backup. The new\ndatabase must be in the same project and in an instance with the same\ninstance configuration as the instance containing\nthe backup. The returned database long-running\noperation has a name of the format\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e/databases/\u003cdatabase\u003e/operations/\u003coperation_id\u003e`,\nand can be used to track the progress of the operation, and to cancel it.\nThe metadata field type is\nRestoreDatabaseMetadata.\nThe response type\nis Database, if\nsuccessful. Cancelling the returned operation will stop the restore and\ndelete the database.\nThere can be only one database being restored into an instance at a time.\nOnce the restore operation completes, a new restore operation can be\ninitiated, without waiting for the optimize operation associated with the\nfirst restore to complete.",
+	//   "description": "Create a new database by restoring from a completed backup. The new database must be in the same project and in an instance with the same instance configuration as the instance containing the backup. The returned database long-running operation has a name of the format `projects//instances//databases//operations/`, and can be used to track the progress of the operation, and to cancel it. The metadata field type is RestoreDatabaseMetadata. The response type is Database, if successful. Cancelling the returned operation will stop the restore and delete the database. There can be only one database being restored into an instance at a time. Once the restore operation completes, a new restore operation can be initiated, without waiting for the optimize operation associated with the first restore to complete.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases:restore",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.databases.restore",
@@ -10414,7 +9134,7 @@
 	//   ],
 	//   "parameters": {
 	//     "parent": {
-	//       "description": "Required. The name of the instance in which to create the\nrestored database. This instance must be in the same project and\nhave the same instance configuration as the instance containing\nthe source backup. Values are of the form\n`projects/\u003cproject\u003e/instances/\u003cinstance\u003e`.",
+	//       "description": "Required. The name of the instance in which to create the restored database. This instance must be in the same project and have the same instance configuration as the instance containing the source backup. Values are of the form `projects//instances/`.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+$",
 	//       "required": true,
@@ -10448,14 +9168,10 @@
 }
 
 // SetIamPolicy: Sets the access control policy on a database or backup
+// resource. Replaces any existing policy. Authorization requires
+// `spanner.databases.setIamPolicy` permission on resource. For backups,
+// authorization requires `spanner.backups.setIamPolicy` permission on
 // resource.
-// Replaces any existing policy.
-//
-// Authorization requires `spanner.databases.setIamPolicy`
-// permission on resource.
-// For backups, authorization requires
-// `spanner.backups.setIamPolicy`
-// permission on resource.
 func (r *ProjectsInstancesDatabasesService) SetIamPolicy(resource string, setiampolicyrequest *SetIamPolicyRequest) *ProjectsInstancesDatabasesSetIamPolicyCall {
 	c := &ProjectsInstancesDatabasesSetIamPolicyCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -10490,7 +9206,7 @@
 
 func (c *ProjectsInstancesDatabasesSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10554,7 +9270,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Sets the access control policy on a database or backup resource.\nReplaces any existing policy.\n\nAuthorization requires `spanner.databases.setIamPolicy`\npermission on resource.\nFor backups, authorization requires `spanner.backups.setIamPolicy`\npermission on resource.",
+	//   "description": "Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}:setIamPolicy",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.databases.setIamPolicy",
@@ -10563,7 +9279,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for databases resources.",
+	//       "description": "REQUIRED: The Cloud Spanner resource for which the policy is being set. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for databases resources.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -10597,18 +9313,13 @@
 }
 
 // TestIamPermissions: Returns permissions that the caller has on the
-// specified database or backup
-// resource.
-//
-// Attempting this RPC on a non-existent Cloud Spanner database
-// will
-// result in a NOT_FOUND error if the user has
-// `spanner.databases.list` permission on the containing Cloud
-// Spanner instance. Otherwise returns an empty set of
-// permissions.
-// Calling this method on a backup that does not exist will
-// result in a NOT_FOUND error if the user has
-// `spanner.backups.list` permission on the containing instance.
+// specified database or backup resource. Attempting this RPC on a
+// non-existent Cloud Spanner database will result in a NOT_FOUND error
+// if the user has `spanner.databases.list` permission on the containing
+// Cloud Spanner instance. Otherwise returns an empty set of
+// permissions. Calling this method on a backup that does not exist will
+// result in a NOT_FOUND error if the user has `spanner.backups.list`
+// permission on the containing instance.
 func (r *ProjectsInstancesDatabasesService) TestIamPermissions(resource string, testiampermissionsrequest *TestIamPermissionsRequest) *ProjectsInstancesDatabasesTestIamPermissionsCall {
 	c := &ProjectsInstancesDatabasesTestIamPermissionsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.resource = resource
@@ -10643,7 +9354,7 @@
 
 func (c *ProjectsInstancesDatabasesTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10707,7 +9418,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns permissions that the caller has on the specified database or backup\nresource.\n\nAttempting this RPC on a non-existent Cloud Spanner database will\nresult in a NOT_FOUND error if the user has\n`spanner.databases.list` permission on the containing Cloud\nSpanner instance. Otherwise returns an empty set of permissions.\nCalling this method on a backup that does not exist will\nresult in a NOT_FOUND error if the user has\n`spanner.backups.list` permission on the containing instance.",
+	//   "description": "Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}:testIamPermissions",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.databases.testIamPermissions",
@@ -10716,7 +9427,7 @@
 	//   ],
 	//   "parameters": {
 	//     "resource": {
-	//       "description": "REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e` for instance resources and `projects/\u003cproject ID\u003e/instances/\u003cinstance ID\u003e/databases/\u003cdatabase ID\u003e` for database resources.",
+	//       "description": "REQUIRED: The Cloud Spanner resource for which permissions are being tested. The format is `projects//instances/` for instance resources and `projects//instances//databases/` for database resources.",
 	//       "location": "path",
 	//       "pattern": "^projects/[^/]+/instances/[^/]+/databases/[^/]+$",
 	//       "required": true,
@@ -10749,16 +9460,12 @@
 	header_                  http.Header
 }
 
-// UpdateDdl: Updates the schema of a Cloud Spanner database
-// by
+// UpdateDdl: Updates the schema of a Cloud Spanner database by
 // creating/altering/dropping tables, columns, indexes, etc. The
-// returned
-// long-running operation will have a name of
-// the format `<database_name>/operations/<operation_id>` and can be
-// used to
-// track execution of the schema change(s). The
-// metadata field type is
-// UpdateDatabaseDdlMetadata.  The operation has no response.
+// returned long-running operation will have a name of the format
+// `/operations/` and can be used to track execution of the schema
+// change(s). The metadata field type is UpdateDatabaseDdlMetadata. The
+// operation has no response.
 func (r *ProjectsInstancesDatabasesService) UpdateDdl(database string, updatedatabaseddlrequest *UpdateDatabaseDdlRequest) *ProjectsInstancesDatabasesUpdateDdlCall {
 	c := &ProjectsInstancesDatabasesUpdateDdlCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.database = database
@@ -10793,7 +9500,7 @@
 
 func (c *ProjectsInstancesDatabasesUpdateDdlCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10857,7 +9564,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates the schema of a Cloud Spanner database by\ncreating/altering/dropping tables, columns, indexes, etc. The returned\nlong-running operation will have a name of\nthe format `\u003cdatabase_name\u003e/operations/\u003coperation_id\u003e` and can be used to\ntrack execution of the schema change(s). The\nmetadata field type is\nUpdateDatabaseDdlMetadata.  The operation has no response.",
+	//   "description": "Updates the schema of a Cloud Spanner database by creating/altering/dropping tables, columns, indexes, etc. The returned long-running operation will have a name of the format `/operations/` and can be used to track execution of the schema change(s). The metadata field type is UpdateDatabaseDdlMetadata. The operation has no response.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/ddl",
 	//   "httpMethod": "PATCH",
 	//   "id": "spanner.projects.instances.databases.updateDdl",
@@ -10899,23 +9606,15 @@
 }
 
 // Cancel: 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`.
+// 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`.
 func (r *ProjectsInstancesDatabasesOperationsService) Cancel(name string) *ProjectsInstancesDatabasesOperationsCancelCall {
 	c := &ProjectsInstancesDatabasesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -10949,7 +9648,7 @@
 
 func (c *ProjectsInstancesDatabasesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11008,7 +9707,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Starts asynchronous cancellation on a long-running operation.  The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed.  If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.  Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
+	//   "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/operations/{operationsId}:cancel",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.databases.operations.cancel",
@@ -11047,12 +9746,9 @@
 }
 
 // Delete: 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`.
+// 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`.
 func (r *ProjectsInstancesDatabasesOperationsService) Delete(name string) *ProjectsInstancesDatabasesOperationsDeleteCall {
 	c := &ProjectsInstancesDatabasesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -11086,7 +9782,7 @@
 
 func (c *ProjectsInstancesDatabasesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11145,7 +9841,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.",
+	//   "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/operations/{operationsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "spanner.projects.instances.databases.operations.delete",
@@ -11184,11 +9880,9 @@
 	header_      http.Header
 }
 
-// Get: 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.
+// Get: 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.
 func (r *ProjectsInstancesDatabasesOperationsService) Get(name string) *ProjectsInstancesDatabasesOperationsGetCall {
 	c := &ProjectsInstancesDatabasesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -11232,7 +9926,7 @@
 
 func (c *ProjectsInstancesDatabasesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11294,7 +9988,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+	//   "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/operations/{operationsId}",
 	//   "httpMethod": "GET",
 	//   "id": "spanner.projects.instances.databases.operations.get",
@@ -11334,22 +10028,15 @@
 }
 
 // List: 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. 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.
 func (r *ProjectsInstancesDatabasesOperationsService) List(name string) *ProjectsInstancesDatabasesOperationsListCall {
 	c := &ProjectsInstancesDatabasesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -11414,7 +10101,7 @@
 
 func (c *ProjectsInstancesDatabasesOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11476,7 +10163,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
+	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/operations",
 	//   "httpMethod": "GET",
 	//   "id": "spanner.projects.instances.databases.operations.list",
@@ -11552,12 +10239,9 @@
 	header_                    http.Header
 }
 
-// BatchCreate: Creates multiple new sessions.
-//
-// This API can be used to initialize a session cache on the
-// clients.
-// See https://goo.gl/TgSFN2 for best practices on session cache
-// management.
+// BatchCreate: Creates multiple new sessions. This API can be used to
+// initialize a session cache on the clients. See https://goo.gl/TgSFN2
+// for best practices on session cache management.
 func (r *ProjectsInstancesDatabasesSessionsService) BatchCreate(database string, batchcreatesessionsrequest *BatchCreateSessionsRequest) *ProjectsInstancesDatabasesSessionsBatchCreateCall {
 	c := &ProjectsInstancesDatabasesSessionsBatchCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.database = database
@@ -11592,7 +10276,7 @@
 
 func (c *ProjectsInstancesDatabasesSessionsBatchCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11656,7 +10340,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates multiple new sessions.\n\nThis API can be used to initialize a session cache on the clients.\nSee https://goo.gl/TgSFN2 for best practices on session cache management.",
+	//   "description": "Creates multiple new sessions. This API can be used to initialize a session cache on the clients. See https://goo.gl/TgSFN2 for best practices on session cache management.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions:batchCreate",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.databases.sessions.batchCreate",
@@ -11699,9 +10383,7 @@
 }
 
 // BeginTransaction: Begins a new transaction. This step can often be
-// skipped:
-// Read, ExecuteSql and
-// Commit can begin a new transaction as a
+// skipped: Read, ExecuteSql and Commit can begin a new transaction as a
 // side-effect.
 func (r *ProjectsInstancesDatabasesSessionsService) BeginTransaction(session string, begintransactionrequest *BeginTransactionRequest) *ProjectsInstancesDatabasesSessionsBeginTransactionCall {
 	c := &ProjectsInstancesDatabasesSessionsBeginTransactionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -11737,7 +10419,7 @@
 
 func (c *ProjectsInstancesDatabasesSessionsBeginTransactionCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11801,7 +10483,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Begins a new transaction. This step can often be skipped:\nRead, ExecuteSql and\nCommit can begin a new transaction as a\nside-effect.",
+	//   "description": "Begins a new transaction. This step can often be skipped: Read, ExecuteSql and Commit can begin a new transaction as a side-effect.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:beginTransaction",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.databases.sessions.beginTransaction",
@@ -11844,27 +10526,17 @@
 }
 
 // Commit: Commits a transaction. The request includes the mutations to
-// be
-// applied to rows in the database.
-//
-// `Commit` might return an `ABORTED` error. This can occur at any
-// time;
-// commonly, the cause is conflicts with concurrent
-// transactions. However, it can also happen for a variety of
-// other
-// reasons. If `Commit` returns `ABORTED`, the caller should
-// re-attempt
-// the transaction from the beginning, re-using the same session.
-//
-// On very rare occasions, `Commit` might return `UNKNOWN`. This can
-// happen,
-// for example, if the client job experiences a 1+ hour networking
-// failure.
-// At that point, Cloud Spanner has lost track of the transaction
-// outcome and
-// we recommend that you perform another read from the database to see
-// the
-// state of things as they are now.
+// be applied to rows in the database. `Commit` might return an
+// `ABORTED` error. This can occur at any time; commonly, the cause is
+// conflicts with concurrent transactions. However, it can also happen
+// for a variety of other reasons. If `Commit` returns `ABORTED`, the
+// caller should re-attempt the transaction from the beginning, re-using
+// the same session. On very rare occasions, `Commit` might return
+// `UNKNOWN`. This can happen, for example, if the client job
+// experiences a 1+ hour networking failure. At that point, Cloud
+// Spanner has lost track of the transaction outcome and we recommend
+// that you perform another read from the database to see the state of
+// things as they are now.
 func (r *ProjectsInstancesDatabasesSessionsService) Commit(session string, commitrequest *CommitRequest) *ProjectsInstancesDatabasesSessionsCommitCall {
 	c := &ProjectsInstancesDatabasesSessionsCommitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.session = session
@@ -11899,7 +10571,7 @@
 
 func (c *ProjectsInstancesDatabasesSessionsCommitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11963,7 +10635,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Commits a transaction. The request includes the mutations to be\napplied to rows in the database.\n\n`Commit` might return an `ABORTED` error. This can occur at any time;\ncommonly, the cause is conflicts with concurrent\ntransactions. However, it can also happen for a variety of other\nreasons. If `Commit` returns `ABORTED`, the caller should re-attempt\nthe transaction from the beginning, re-using the same session.\n\nOn very rare occasions, `Commit` might return `UNKNOWN`. This can happen,\nfor example, if the client job experiences a 1+ hour networking failure.\nAt that point, Cloud Spanner has lost track of the transaction outcome and\nwe recommend that you perform another read from the database to see the\nstate of things as they are now.",
+	//   "description": "Commits a transaction. The request includes the mutations to be applied to rows in the database. `Commit` might return an `ABORTED` error. This can occur at any time; commonly, the cause is conflicts with concurrent transactions. However, it can also happen for a variety of other reasons. If `Commit` returns `ABORTED`, the caller should re-attempt the transaction from the beginning, re-using the same session. On very rare occasions, `Commit` might return `UNKNOWN`. This can happen, for example, if the client job experiences a 1+ hour networking failure. At that point, Cloud Spanner has lost track of the transaction outcome and we recommend that you perform another read from the database to see the state of things as they are now.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:commit",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.databases.sessions.commit",
@@ -12005,36 +10677,19 @@
 	header_              http.Header
 }
 
-// Create: Creates a new session. A session can be used to
-// perform
+// Create: Creates a new session. A session can be used to perform
 // transactions that read and/or modify data in a Cloud Spanner
-// database.
-// Sessions are meant to be reused for many
-// consecutive
-// transactions.
-//
-// Sessions can only execute one transaction at a time. To
-// execute
-// multiple concurrent read-write/write-only transactions,
-// create
-// multiple sessions. Note that standalone reads and queries use
-// a
-// transaction internally, and count toward the one
-// transaction
-// limit.
-//
+// database. Sessions are meant to be reused for many consecutive
+// transactions. Sessions can only execute one transaction at a time. To
+// execute multiple concurrent read-write/write-only transactions,
+// create multiple sessions. Note that standalone reads and queries use
+// a transaction internally, and count toward the one transaction limit.
 // Active sessions use additional server resources, so it is a good idea
-// to
-// delete idle and unneeded sessions.
-// Aside from explicit deletes, Cloud Spanner may delete sessions for
-// which no
-// operations are sent for more than an hour. If a session is
-// deleted,
-// requests to it return `NOT_FOUND`.
-//
-// Idle sessions can be kept alive by sending a trivial SQL
-// query
-// periodically, e.g., "SELECT 1".
+// to delete idle and unneeded sessions. Aside from explicit deletes,
+// Cloud Spanner may delete sessions for which no operations are sent
+// for more than an hour. If a session is deleted, requests to it return
+// `NOT_FOUND`. Idle sessions can be kept alive by sending a trivial SQL
+// query periodically, e.g., "SELECT 1".
 func (r *ProjectsInstancesDatabasesSessionsService) Create(database string, createsessionrequest *CreateSessionRequest) *ProjectsInstancesDatabasesSessionsCreateCall {
 	c := &ProjectsInstancesDatabasesSessionsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.database = database
@@ -12069,7 +10724,7 @@
 
 func (c *ProjectsInstancesDatabasesSessionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12133,7 +10788,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a new session. A session can be used to perform\ntransactions that read and/or modify data in a Cloud Spanner database.\nSessions are meant to be reused for many consecutive\ntransactions.\n\nSessions can only execute one transaction at a time. To execute\nmultiple concurrent read-write/write-only transactions, create\nmultiple sessions. Note that standalone reads and queries use a\ntransaction internally, and count toward the one transaction\nlimit.\n\nActive sessions use additional server resources, so it is a good idea to\ndelete idle and unneeded sessions.\nAside from explicit deletes, Cloud Spanner may delete sessions for which no\noperations are sent for more than an hour. If a session is deleted,\nrequests to it return `NOT_FOUND`.\n\nIdle sessions can be kept alive by sending a trivial SQL query\nperiodically, e.g., `\"SELECT 1\"`.",
+	//   "description": "Creates a new session. A session can be used to perform transactions that read and/or modify data in a Cloud Spanner database. Sessions are meant to be reused for many consecutive transactions. Sessions can only execute one transaction at a time. To execute multiple concurrent read-write/write-only transactions, create multiple sessions. Note that standalone reads and queries use a transaction internally, and count toward the one transaction limit. Active sessions use additional server resources, so it is a good idea to delete idle and unneeded sessions. Aside from explicit deletes, Cloud Spanner may delete sessions for which no operations are sent for more than an hour. If a session is deleted, requests to it return `NOT_FOUND`. Idle sessions can be kept alive by sending a trivial SQL query periodically, e.g., `\"SELECT 1\"`.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.databases.sessions.create",
@@ -12175,10 +10830,8 @@
 }
 
 // Delete: Ends a session, releasing server resources associated with
-// it. This will
-// asynchronously trigger cancellation of any operations that are
-// running with
-// this session.
+// it. This will asynchronously trigger cancellation of any operations
+// that are running with this session.
 func (r *ProjectsInstancesDatabasesSessionsService) Delete(name string) *ProjectsInstancesDatabasesSessionsDeleteCall {
 	c := &ProjectsInstancesDatabasesSessionsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -12212,7 +10865,7 @@
 
 func (c *ProjectsInstancesDatabasesSessionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12271,7 +10924,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Ends a session, releasing server resources associated with it. This will\nasynchronously trigger cancellation of any operations that are running with\nthis session.",
+	//   "description": "Ends a session, releasing server resources associated with it. This will asynchronously trigger cancellation of any operations that are running with this session.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "spanner.projects.instances.databases.sessions.delete",
@@ -12311,22 +10964,14 @@
 }
 
 // ExecuteBatchDml: Executes a batch of SQL DML statements. This method
-// allows many statements
-// to be run with lower latency than submitting them sequentially
-// with
-// ExecuteSql.
-//
-// Statements are executed in sequential order. A request can succeed
-// even if
-// a statement fails. The ExecuteBatchDmlResponse.status field in
-// the
-// response provides information about the statement that failed.
-// Clients must
-// inspect this field to determine whether an error occurred.
-//
-// Execution stops after the first failed statement; the remaining
-// statements
-// are not executed.
+// allows many statements to be run with lower latency than submitting
+// them sequentially with ExecuteSql. Statements are executed in
+// sequential order. A request can succeed even if a statement fails.
+// The ExecuteBatchDmlResponse.status field in the response provides
+// information about the statement that failed. Clients must inspect
+// this field to determine whether an error occurred. Execution stops
+// after the first failed statement; the remaining statements are not
+// executed.
 func (r *ProjectsInstancesDatabasesSessionsService) ExecuteBatchDml(session string, executebatchdmlrequest *ExecuteBatchDmlRequest) *ProjectsInstancesDatabasesSessionsExecuteBatchDmlCall {
 	c := &ProjectsInstancesDatabasesSessionsExecuteBatchDmlCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.session = session
@@ -12361,7 +11006,7 @@
 
 func (c *ProjectsInstancesDatabasesSessionsExecuteBatchDmlCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12425,7 +11070,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Executes a batch of SQL DML statements. This method allows many statements\nto be run with lower latency than submitting them sequentially with\nExecuteSql.\n\nStatements are executed in sequential order. A request can succeed even if\na statement fails. The ExecuteBatchDmlResponse.status field in the\nresponse provides information about the statement that failed. Clients must\ninspect this field to determine whether an error occurred.\n\nExecution stops after the first failed statement; the remaining statements\nare not executed.",
+	//   "description": "Executes a batch of SQL DML statements. This method allows many statements to be run with lower latency than submitting them sequentially with ExecuteSql. Statements are executed in sequential order. A request can succeed even if a statement fails. The ExecuteBatchDmlResponse.status field in the response provides information about the statement that failed. Clients must inspect this field to determine whether an error occurred. Execution stops after the first failed statement; the remaining statements are not executed.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:executeBatchDml",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.databases.sessions.executeBatchDml",
@@ -12468,19 +11113,13 @@
 }
 
 // ExecuteSql: Executes an SQL statement, returning all results in a
-// single reply. This
-// method cannot be used to return a result set larger than 10 MiB;
-// if the query yields more data than that, the query fails with
-// a `FAILED_PRECONDITION` error.
-//
-// Operations inside read-write transactions might return `ABORTED`.
-// If
-// this occurs, the application should restart the transaction from
-// the beginning. See Transaction for more details.
-//
-// Larger result sets can be fetched in streaming fashion by
-// calling
-// ExecuteStreamingSql instead.
+// single reply. This method cannot be used to return a result set
+// larger than 10 MiB; if the query yields more data than that, the
+// query fails with a `FAILED_PRECONDITION` error. Operations inside
+// read-write transactions might return `ABORTED`. If this occurs, the
+// application should restart the transaction from the beginning. See
+// Transaction for more details. Larger result sets can be fetched in
+// streaming fashion by calling ExecuteStreamingSql instead.
 func (r *ProjectsInstancesDatabasesSessionsService) ExecuteSql(session string, executesqlrequest *ExecuteSqlRequest) *ProjectsInstancesDatabasesSessionsExecuteSqlCall {
 	c := &ProjectsInstancesDatabasesSessionsExecuteSqlCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.session = session
@@ -12515,7 +11154,7 @@
 
 func (c *ProjectsInstancesDatabasesSessionsExecuteSqlCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12579,7 +11218,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Executes an SQL statement, returning all results in a single reply. This\nmethod cannot be used to return a result set larger than 10 MiB;\nif the query yields more data than that, the query fails with\na `FAILED_PRECONDITION` error.\n\nOperations inside read-write transactions might return `ABORTED`. If\nthis occurs, the application should restart the transaction from\nthe beginning. See Transaction for more details.\n\nLarger result sets can be fetched in streaming fashion by calling\nExecuteStreamingSql instead.",
+	//   "description": "Executes an SQL statement, returning all results in a single reply. This method cannot be used to return a result set larger than 10 MiB; if the query yields more data than that, the query fails with a `FAILED_PRECONDITION` error. Operations inside read-write transactions might return `ABORTED`. If this occurs, the application should restart the transaction from the beginning. See Transaction for more details. Larger result sets can be fetched in streaming fashion by calling ExecuteStreamingSql instead.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:executeSql",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.databases.sessions.executeSql",
@@ -12621,12 +11260,10 @@
 	header_           http.Header
 }
 
-// ExecuteStreamingSql: Like ExecuteSql, except returns the result
-// set as a stream. Unlike ExecuteSql, there
-// is no limit on the size of the returned result set. However,
-// no
-// individual row in the result set can exceed 100 MiB, and no
-// column value can exceed 10 MiB.
+// ExecuteStreamingSql: Like ExecuteSql, except returns the result set
+// as a stream. Unlike ExecuteSql, there is no limit on the size of the
+// returned result set. However, no individual row in the result set can
+// exceed 100 MiB, and no column value can exceed 10 MiB.
 func (r *ProjectsInstancesDatabasesSessionsService) ExecuteStreamingSql(session string, executesqlrequest *ExecuteSqlRequest) *ProjectsInstancesDatabasesSessionsExecuteStreamingSqlCall {
 	c := &ProjectsInstancesDatabasesSessionsExecuteStreamingSqlCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.session = session
@@ -12661,7 +11298,7 @@
 
 func (c *ProjectsInstancesDatabasesSessionsExecuteStreamingSqlCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12725,7 +11362,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Like ExecuteSql, except returns the result\nset as a stream. Unlike ExecuteSql, there\nis no limit on the size of the returned result set. However, no\nindividual row in the result set can exceed 100 MiB, and no\ncolumn value can exceed 10 MiB.",
+	//   "description": "Like ExecuteSql, except returns the result set as a stream. Unlike ExecuteSql, there is no limit on the size of the returned result set. However, no individual row in the result set can exceed 100 MiB, and no column value can exceed 10 MiB.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:executeStreamingSql",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.databases.sessions.executeStreamingSql",
@@ -12768,10 +11405,8 @@
 }
 
 // Get: Gets a session. Returns `NOT_FOUND` if the session does not
-// exist.
-// This is mainly useful for determining whether a session is
-// still
-// alive.
+// exist. This is mainly useful for determining whether a session is
+// still alive.
 func (r *ProjectsInstancesDatabasesSessionsService) Get(name string) *ProjectsInstancesDatabasesSessionsGetCall {
 	c := &ProjectsInstancesDatabasesSessionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -12815,7 +11450,7 @@
 
 func (c *ProjectsInstancesDatabasesSessionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12877,7 +11512,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets a session. Returns `NOT_FOUND` if the session does not exist.\nThis is mainly useful for determining whether a session is still\nalive.",
+	//   "description": "Gets a session. Returns `NOT_FOUND` if the session does not exist. This is mainly useful for determining whether a session is still alive.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}",
 	//   "httpMethod": "GET",
 	//   "id": "spanner.projects.instances.databases.sessions.get",
@@ -12924,33 +11559,27 @@
 }
 
 // Filter sets the optional parameter "filter": An expression for
-// filtering the results of the request. Filter rules are
-// case insensitive. The fields eligible for filtering are:
-//
-//   * `labels.key` where key is the name of a label
-//
-// Some examples of using filters are:
-//
-//   * `labels.env:*` --> The session has the label "env".
-//   * `labels.env:dev` --> The session has the label "env" and the
-// value of
-//                        the label contains the string "dev".
+// filtering the results of the request. Filter rules are case
+// insensitive. The fields eligible for filtering are: * `labels.key`
+// where key is the name of a label Some examples of using filters are:
+// * `labels.env:*` --> The session has the label "env". *
+// `labels.env:dev` --> The session has the label "env" and the value of
+// the label contains the string "dev".
 func (c *ProjectsInstancesDatabasesSessionsListCall) Filter(filter string) *ProjectsInstancesDatabasesSessionsListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
 }
 
 // PageSize sets the optional parameter "pageSize": Number of sessions
-// to be returned in the response. If 0 or less, defaults
-// to the server's maximum allowed page size.
+// to be returned in the response. If 0 or less, defaults to the
+// server's maximum allowed page size.
 func (c *ProjectsInstancesDatabasesSessionsListCall) PageSize(pageSize int64) *ProjectsInstancesDatabasesSessionsListCall {
 	c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
 	return c
 }
 
 // PageToken sets the optional parameter "pageToken": If non-empty,
-// `page_token` should contain a
-// next_page_token from a previous
+// `page_token` should contain a next_page_token from a previous
 // ListSessionsResponse.
 func (c *ProjectsInstancesDatabasesSessionsListCall) PageToken(pageToken string) *ProjectsInstancesDatabasesSessionsListCall {
 	c.urlParams_.Set("pageToken", pageToken)
@@ -12994,7 +11623,7 @@
 
 func (c *ProjectsInstancesDatabasesSessionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13072,18 +11701,18 @@
 	//       "type": "string"
 	//     },
 	//     "filter": {
-	//       "description": "An expression for filtering the results of the request. Filter rules are\ncase insensitive. The fields eligible for filtering are:\n\n  * `labels.key` where key is the name of a label\n\nSome examples of using filters are:\n\n  * `labels.env:*` --\u003e The session has the label \"env\".\n  * `labels.env:dev` --\u003e The session has the label \"env\" and the value of\n                       the label contains the string \"dev\".",
+	//       "description": "An expression for filtering the results of the request. Filter rules are case insensitive. The fields eligible for filtering are: * `labels.key` where key is the name of a label Some examples of using filters are: * `labels.env:*` --\u003e The session has the label \"env\". * `labels.env:dev` --\u003e The session has the label \"env\" and the value of the label contains the string \"dev\".",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
 	//     "pageSize": {
-	//       "description": "Number of sessions to be returned in the response. If 0 or less, defaults\nto the server's maximum allowed page size.",
+	//       "description": "Number of sessions to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.",
 	//       "format": "int32",
 	//       "location": "query",
 	//       "type": "integer"
 	//     },
 	//     "pageToken": {
-	//       "description": "If non-empty, `page_token` should contain a\nnext_page_token from a previous\nListSessionsResponse.",
+	//       "description": "If non-empty, `page_token` should contain a next_page_token from a previous ListSessionsResponse.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -13133,24 +11762,16 @@
 }
 
 // PartitionQuery: Creates a set of partition tokens that can be used to
-// execute a query
-// operation in parallel.  Each of the returned partition tokens can be
-// used
-// by ExecuteStreamingSql to specify a subset
-// of the query result to read.  The same session and read-only
-// transaction
-// must be used by the PartitionQueryRequest used to create
-// the
-// partition tokens and the ExecuteSqlRequests that use the partition
-// tokens.
-//
-// Partition tokens become invalid when the session used to create
-// them
+// execute a query operation in parallel. Each of the returned partition
+// tokens can be used by ExecuteStreamingSql to specify a subset of the
+// query result to read. The same session and read-only transaction must
+// be used by the PartitionQueryRequest used to create the partition
+// tokens and the ExecuteSqlRequests that use the partition tokens.
+// Partition tokens become invalid when the session used to create them
 // is deleted, is idle for too long, begins a new transaction, or
-// becomes too
-// old.  When any of these happen, it is not possible to resume the
-// query, and
-// the whole operation must be restarted from the beginning.
+// becomes too old. When any of these happen, it is not possible to
+// resume the query, and the whole operation must be restarted from the
+// beginning.
 func (r *ProjectsInstancesDatabasesSessionsService) PartitionQuery(session string, partitionqueryrequest *PartitionQueryRequest) *ProjectsInstancesDatabasesSessionsPartitionQueryCall {
 	c := &ProjectsInstancesDatabasesSessionsPartitionQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.session = session
@@ -13185,7 +11806,7 @@
 
 func (c *ProjectsInstancesDatabasesSessionsPartitionQueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13249,7 +11870,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a set of partition tokens that can be used to execute a query\noperation in parallel.  Each of the returned partition tokens can be used\nby ExecuteStreamingSql to specify a subset\nof the query result to read.  The same session and read-only transaction\nmust be used by the PartitionQueryRequest used to create the\npartition tokens and the ExecuteSqlRequests that use the partition tokens.\n\nPartition tokens become invalid when the session used to create them\nis deleted, is idle for too long, begins a new transaction, or becomes too\nold.  When any of these happen, it is not possible to resume the query, and\nthe whole operation must be restarted from the beginning.",
+	//   "description": "Creates a set of partition tokens that can be used to execute a query operation in parallel. Each of the returned partition tokens can be used by ExecuteStreamingSql to specify a subset of the query result to read. The same session and read-only transaction must be used by the PartitionQueryRequest used to create the partition tokens and the ExecuteSqlRequests that use the partition tokens. Partition tokens become invalid when the session used to create them is deleted, is idle for too long, begins a new transaction, or becomes too old. When any of these happen, it is not possible to resume the query, and the whole operation must be restarted from the beginning.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:partitionQuery",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.databases.sessions.partitionQuery",
@@ -13292,28 +11913,18 @@
 }
 
 // PartitionRead: Creates a set of partition tokens that can be used to
-// execute a read
-// operation in parallel.  Each of the returned partition tokens can be
-// used
-// by StreamingRead to specify a subset of the read
-// result to read.  The same session and read-only transaction must be
-// used by
-// the PartitionReadRequest used to create the partition tokens and
-// the
-// ReadRequests that use the partition tokens.  There are no
-// ordering
-// guarantees on rows returned among the returned partition tokens, or
-// even
-// within each individual StreamingRead call issued with a
-// partition_token.
-//
-// Partition tokens become invalid when the session used to create
-// them
-// is deleted, is idle for too long, begins a new transaction, or
-// becomes too
-// old.  When any of these happen, it is not possible to resume the
-// read, and
-// the whole operation must be restarted from the beginning.
+// execute a read operation in parallel. Each of the returned partition
+// tokens can be used by StreamingRead to specify a subset of the read
+// result to read. The same session and read-only transaction must be
+// used by the PartitionReadRequest used to create the partition tokens
+// and the ReadRequests that use the partition tokens. There are no
+// ordering guarantees on rows returned among the returned partition
+// tokens, or even within each individual StreamingRead call issued with
+// a partition_token. Partition tokens become invalid when the session
+// used to create them is deleted, is idle for too long, begins a new
+// transaction, or becomes too old. When any of these happen, it is not
+// possible to resume the read, and the whole operation must be
+// restarted from the beginning.
 func (r *ProjectsInstancesDatabasesSessionsService) PartitionRead(session string, partitionreadrequest *PartitionReadRequest) *ProjectsInstancesDatabasesSessionsPartitionReadCall {
 	c := &ProjectsInstancesDatabasesSessionsPartitionReadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.session = session
@@ -13348,7 +11959,7 @@
 
 func (c *ProjectsInstancesDatabasesSessionsPartitionReadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13412,7 +12023,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Creates a set of partition tokens that can be used to execute a read\noperation in parallel.  Each of the returned partition tokens can be used\nby StreamingRead to specify a subset of the read\nresult to read.  The same session and read-only transaction must be used by\nthe PartitionReadRequest used to create the partition tokens and the\nReadRequests that use the partition tokens.  There are no ordering\nguarantees on rows returned among the returned partition tokens, or even\nwithin each individual StreamingRead call issued with a partition_token.\n\nPartition tokens become invalid when the session used to create them\nis deleted, is idle for too long, begins a new transaction, or becomes too\nold.  When any of these happen, it is not possible to resume the read, and\nthe whole operation must be restarted from the beginning.",
+	//   "description": "Creates a set of partition tokens that can be used to execute a read operation in parallel. Each of the returned partition tokens can be used by StreamingRead to specify a subset of the read result to read. The same session and read-only transaction must be used by the PartitionReadRequest used to create the partition tokens and the ReadRequests that use the partition tokens. There are no ordering guarantees on rows returned among the returned partition tokens, or even within each individual StreamingRead call issued with a partition_token. Partition tokens become invalid when the session used to create them is deleted, is idle for too long, begins a new transaction, or becomes too old. When any of these happen, it is not possible to resume the read, and the whole operation must be restarted from the beginning.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:partitionRead",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.databases.sessions.partitionRead",
@@ -13454,22 +12065,15 @@
 	header_     http.Header
 }
 
-// Read: Reads rows from the database using key lookups and scans, as
-// a
-// simple key/value style alternative to
-// ExecuteSql.  This method cannot be used to
-// return a result set larger than 10 MiB; if the read matches more
-// data than that, the read fails with a
-// `FAILED_PRECONDITION`
-// error.
-//
-// Reads inside read-write transactions might return `ABORTED`. If
-// this occurs, the application should restart the transaction from
-// the beginning. See Transaction for more details.
-//
-// Larger result sets can be yielded in streaming fashion by
-// calling
-// StreamingRead instead.
+// Read: Reads rows from the database using key lookups and scans, as a
+// simple key/value style alternative to ExecuteSql. This method cannot
+// be used to return a result set larger than 10 MiB; if the read
+// matches more data than that, the read fails with a
+// `FAILED_PRECONDITION` error. Reads inside read-write transactions
+// might return `ABORTED`. If this occurs, the application should
+// restart the transaction from the beginning. See Transaction for more
+// details. Larger result sets can be yielded in streaming fashion by
+// calling StreamingRead instead.
 func (r *ProjectsInstancesDatabasesSessionsService) Read(session string, readrequest *ReadRequest) *ProjectsInstancesDatabasesSessionsReadCall {
 	c := &ProjectsInstancesDatabasesSessionsReadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.session = session
@@ -13504,7 +12108,7 @@
 
 func (c *ProjectsInstancesDatabasesSessionsReadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13568,7 +12172,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Reads rows from the database using key lookups and scans, as a\nsimple key/value style alternative to\nExecuteSql.  This method cannot be used to\nreturn a result set larger than 10 MiB; if the read matches more\ndata than that, the read fails with a `FAILED_PRECONDITION`\nerror.\n\nReads inside read-write transactions might return `ABORTED`. If\nthis occurs, the application should restart the transaction from\nthe beginning. See Transaction for more details.\n\nLarger result sets can be yielded in streaming fashion by calling\nStreamingRead instead.",
+	//   "description": "Reads rows from the database using key lookups and scans, as a simple key/value style alternative to ExecuteSql. This method cannot be used to return a result set larger than 10 MiB; if the read matches more data than that, the read fails with a `FAILED_PRECONDITION` error. Reads inside read-write transactions might return `ABORTED`. If this occurs, the application should restart the transaction from the beginning. See Transaction for more details. Larger result sets can be yielded in streaming fashion by calling StreamingRead instead.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:read",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.databases.sessions.read",
@@ -13611,15 +12215,11 @@
 }
 
 // Rollback: Rolls back a transaction, releasing any locks it holds. It
-// is a good
-// idea to call this for any transaction that includes one or more
-// Read or ExecuteSql requests and
-// ultimately decides not to commit.
-//
-// `Rollback` returns `OK` if it successfully aborts the transaction,
-// the
-// transaction was already aborted, or the transaction is not
-// found. `Rollback` never returns `ABORTED`.
+// is a good idea to call this for any transaction that includes one or
+// more Read or ExecuteSql requests and ultimately decides not to
+// commit. `Rollback` returns `OK` if it successfully aborts the
+// transaction, the transaction was already aborted, or the transaction
+// is not found. `Rollback` never returns `ABORTED`.
 func (r *ProjectsInstancesDatabasesSessionsService) Rollback(session string, rollbackrequest *RollbackRequest) *ProjectsInstancesDatabasesSessionsRollbackCall {
 	c := &ProjectsInstancesDatabasesSessionsRollbackCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.session = session
@@ -13654,7 +12254,7 @@
 
 func (c *ProjectsInstancesDatabasesSessionsRollbackCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13718,7 +12318,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Rolls back a transaction, releasing any locks it holds. It is a good\nidea to call this for any transaction that includes one or more\nRead or ExecuteSql requests and\nultimately decides not to commit.\n\n`Rollback` returns `OK` if it successfully aborts the transaction, the\ntransaction was already aborted, or the transaction is not\nfound. `Rollback` never returns `ABORTED`.",
+	//   "description": "Rolls back a transaction, releasing any locks it holds. It is a good idea to call this for any transaction that includes one or more Read or ExecuteSql requests and ultimately decides not to commit. `Rollback` returns `OK` if it successfully aborts the transaction, the transaction was already aborted, or the transaction is not found. `Rollback` never returns `ABORTED`.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:rollback",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.databases.sessions.rollback",
@@ -13760,11 +12360,10 @@
 	header_     http.Header
 }
 
-// StreamingRead: Like Read, except returns the result set as a
-// stream. Unlike Read, there is no limit on the
-// size of the returned result set. However, no individual row in
-// the result set can exceed 100 MiB, and no column value can exceed
-// 10 MiB.
+// StreamingRead: Like Read, except returns the result set as a stream.
+// Unlike Read, there is no limit on the size of the returned result
+// set. However, no individual row in the result set can exceed 100 MiB,
+// and no column value can exceed 10 MiB.
 func (r *ProjectsInstancesDatabasesSessionsService) StreamingRead(session string, readrequest *ReadRequest) *ProjectsInstancesDatabasesSessionsStreamingReadCall {
 	c := &ProjectsInstancesDatabasesSessionsStreamingReadCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.session = session
@@ -13799,7 +12398,7 @@
 
 func (c *ProjectsInstancesDatabasesSessionsStreamingReadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13863,7 +12462,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Like Read, except returns the result set as a\nstream. Unlike Read, there is no limit on the\nsize of the returned result set. However, no individual row in\nthe result set can exceed 100 MiB, and no column value can exceed\n10 MiB.",
+	//   "description": "Like Read, except returns the result set as a stream. Unlike Read, there is no limit on the size of the returned result set. However, no individual row in the result set can exceed 100 MiB, and no column value can exceed 10 MiB.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/sessions/{sessionsId}:streamingRead",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.databases.sessions.streamingRead",
@@ -13905,23 +12504,15 @@
 }
 
 // Cancel: 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`.
+// 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`.
 func (r *ProjectsInstancesOperationsService) Cancel(name string) *ProjectsInstancesOperationsCancelCall {
 	c := &ProjectsInstancesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -13955,7 +12546,7 @@
 
 func (c *ProjectsInstancesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14014,7 +12605,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Starts asynchronous cancellation on a long-running operation.  The server\nmakes a best effort to cancel the operation, but success is not\nguaranteed.  If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.  Clients can use\nOperations.GetOperation or\nother methods to check whether the cancellation succeeded or whether the\noperation completed despite cancellation. On successful cancellation,\nthe operation is not deleted; instead, it becomes an operation with\nan Operation.error value with a google.rpc.Status.code of 1,\ncorresponding to `Code.CANCELLED`.",
+	//   "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/operations/{operationsId}:cancel",
 	//   "httpMethod": "POST",
 	//   "id": "spanner.projects.instances.operations.cancel",
@@ -14053,12 +12644,9 @@
 }
 
 // Delete: 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`.
+// 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`.
 func (r *ProjectsInstancesOperationsService) Delete(name string) *ProjectsInstancesOperationsDeleteCall {
 	c := &ProjectsInstancesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -14092,7 +12680,7 @@
 
 func (c *ProjectsInstancesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14151,7 +12739,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Deletes a long-running operation. This method indicates that the client is\nno longer interested in the operation result. It does not cancel the\noperation. If the server doesn't support this method, it returns\n`google.rpc.Code.UNIMPLEMENTED`.",
+	//   "description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/operations/{operationsId}",
 	//   "httpMethod": "DELETE",
 	//   "id": "spanner.projects.instances.operations.delete",
@@ -14190,11 +12778,9 @@
 	header_      http.Header
 }
 
-// Get: 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.
+// Get: 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.
 func (r *ProjectsInstancesOperationsService) Get(name string) *ProjectsInstancesOperationsGetCall {
 	c := &ProjectsInstancesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -14238,7 +12824,7 @@
 
 func (c *ProjectsInstancesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14300,7 +12886,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+	//   "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/operations/{operationsId}",
 	//   "httpMethod": "GET",
 	//   "id": "spanner.projects.instances.operations.get",
@@ -14340,22 +12926,15 @@
 }
 
 // List: 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. 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.
 func (r *ProjectsInstancesOperationsService) List(name string) *ProjectsInstancesOperationsListCall {
 	c := &ProjectsInstancesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -14420,7 +12999,7 @@
 
 func (c *ProjectsInstancesOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14482,7 +13061,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.",
+	//   "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `\"/v1/{name=users/*}/operations\"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.",
 	//   "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/operations",
 	//   "httpMethod": "GET",
 	//   "id": "spanner.projects.instances.operations.list",
diff --git a/speech/v1/speech-gen.go b/speech/v1/speech-gen.go
index 4853d41..5082495 100644
--- a/speech/v1/speech-gen.go
+++ b/speech/v1/speech-gen.go
@@ -1301,7 +1301,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1487,7 +1487,7 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1665,7 +1665,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1846,7 +1846,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2025,7 +2025,7 @@
 
 func (c *SpeechLongrunningrecognizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2152,7 +2152,7 @@
 
 func (c *SpeechRecognizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/speech/v1p1beta1/speech-gen.go b/speech/v1p1beta1/speech-gen.go
index b456168..3f90659 100644
--- a/speech/v1p1beta1/speech-gen.go
+++ b/speech/v1p1beta1/speech-gen.go
@@ -1709,7 +1709,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1895,7 +1895,7 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2073,7 +2073,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2254,7 +2254,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2433,7 +2433,7 @@
 
 func (c *SpeechLongrunningrecognizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2560,7 +2560,7 @@
 
 func (c *SpeechRecognizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/speech/v2beta1/speech-gen.go b/speech/v2beta1/speech-gen.go
index 2db003b..a97ea4f 100644
--- a/speech/v2beta1/speech-gen.go
+++ b/speech/v2beta1/speech-gen.go
@@ -683,7 +683,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -864,7 +864,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/storage/v1/storage-gen.go b/storage/v1/storage-gen.go
index a671798..3266f39 100644
--- a/storage/v1/storage-gen.go
+++ b/storage/v1/storage-gen.go
@@ -2444,7 +2444,7 @@
 
 func (c *BucketAccessControlsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2592,7 +2592,7 @@
 
 func (c *BucketAccessControlsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2759,7 +2759,7 @@
 
 func (c *BucketAccessControlsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2932,7 +2932,7 @@
 
 func (c *BucketAccessControlsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3093,7 +3093,7 @@
 
 func (c *BucketAccessControlsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3267,7 +3267,7 @@
 
 func (c *BucketAccessControlsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3453,7 +3453,7 @@
 
 func (c *BucketsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3632,7 +3632,7 @@
 
 func (c *BucketsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3838,7 +3838,7 @@
 
 func (c *BucketsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4055,7 +4055,7 @@
 
 func (c *BucketsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4312,7 +4312,7 @@
 
 func (c *BucketsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4522,7 +4522,7 @@
 
 func (c *BucketsLockRetentionPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4757,7 +4757,7 @@
 
 func (c *BucketsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4986,7 +4986,7 @@
 
 func (c *BucketsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5161,7 +5161,7 @@
 
 func (c *BucketsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5401,7 +5401,7 @@
 
 func (c *BucketsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5613,7 +5613,7 @@
 
 func (c *ChannelsStopCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5730,7 +5730,7 @@
 
 func (c *DefaultObjectAccessControlsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5878,7 +5878,7 @@
 
 func (c *DefaultObjectAccessControlsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6046,7 +6046,7 @@
 
 func (c *DefaultObjectAccessControlsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6236,7 +6236,7 @@
 
 func (c *DefaultObjectAccessControlsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6409,7 +6409,7 @@
 
 func (c *DefaultObjectAccessControlsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6583,7 +6583,7 @@
 
 func (c *DefaultObjectAccessControlsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6755,7 +6755,7 @@
 
 func (c *NotificationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6903,7 +6903,7 @@
 
 func (c *NotificationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7073,7 +7073,7 @@
 
 func (c *NotificationsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7248,7 +7248,7 @@
 
 func (c *NotificationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7421,7 +7421,7 @@
 
 func (c *ObjectAccessControlsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7593,7 +7593,7 @@
 
 func (c *ObjectAccessControlsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7784,7 +7784,7 @@
 
 func (c *ObjectAccessControlsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7981,7 +7981,7 @@
 
 func (c *ObjectAccessControlsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8166,7 +8166,7 @@
 
 func (c *ObjectAccessControlsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8364,7 +8364,7 @@
 
 func (c *ObjectAccessControlsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8599,7 +8599,7 @@
 
 func (c *ObjectsComposeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8942,7 +8942,7 @@
 
 func (c *ObjectsCopyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9270,7 +9270,7 @@
 
 func (c *ObjectsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9503,7 +9503,7 @@
 
 func (c *ObjectsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9753,7 +9753,7 @@
 
 func (c *ObjectsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10070,7 +10070,7 @@
 
 func (c *ObjectsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10443,7 +10443,7 @@
 
 func (c *ObjectsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10760,7 +10760,7 @@
 
 func (c *ObjectsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11152,7 +11152,7 @@
 
 func (c *ObjectsRewriteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11455,7 +11455,7 @@
 
 func (c *ObjectsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11655,7 +11655,7 @@
 
 func (c *ObjectsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11916,7 +11916,7 @@
 
 func (c *ObjectsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12234,7 +12234,7 @@
 
 func (c *ObjectsWatchAllCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12450,7 +12450,7 @@
 
 func (c *ProjectsHmacKeysCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12600,7 +12600,7 @@
 
 func (c *ProjectsHmacKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12735,7 +12735,7 @@
 
 func (c *ProjectsHmacKeysGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12935,7 +12935,7 @@
 
 func (c *ProjectsHmacKeysListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13130,7 +13130,7 @@
 
 func (c *ProjectsHmacKeysUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13307,7 +13307,7 @@
 
 func (c *ProjectsServiceAccountGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/storagetransfer/v1/storagetransfer-api.json b/storagetransfer/v1/storagetransfer-api.json
index 4f6644f..d0b2522 100644
--- a/storagetransfer/v1/storagetransfer-api.json
+++ b/storagetransfer/v1/storagetransfer-api.json
@@ -107,7 +107,7 @@
     "googleServiceAccounts": {
       "methods": {
         "get": {
-          "description": "Returns the Google service account that is used by Storage Transfer\nService to access buckets in the project where transfers\nrun or in other projects. Each Google service account is associated\nwith one Google Cloud Platform Console project. Users\nshould add this service account to the Google Cloud Storage bucket\nACLs to grant access to Storage Transfer Service. This service\naccount is created and owned by Storage Transfer Service and can\nonly be used by Storage Transfer Service.",
+          "description": "Returns the Google service account that is used by Storage Transfer Service to access buckets in the project where transfers run or in other projects. Each Google service account is associated with one Google Cloud Platform Console project. Users should add this service account to the Google Cloud Storage bucket ACLs to grant access to Storage Transfer Service. This service account is created and owned by Storage Transfer Service and can only be used by Storage Transfer Service.",
           "flatPath": "v1/googleServiceAccounts/{projectId}",
           "httpMethod": "GET",
           "id": "storagetransfer.googleServiceAccounts.get",
@@ -116,7 +116,7 @@
           ],
           "parameters": {
             "projectId": {
-              "description": "Required. The ID of the Google Cloud Platform Console project that the\nGoogle service account is associated with.",
+              "description": "Required. The ID of the Google Cloud Platform Console project that the Google service account is associated with.",
               "location": "path",
               "required": true,
               "type": "string"
@@ -169,7 +169,7 @@
               "type": "string"
             },
             "projectId": {
-              "description": "Required. The ID of the Google Cloud Platform Console project that owns the\njob.",
+              "description": "Required. The ID of the Google Cloud Platform Console project that owns the job.",
               "location": "query",
               "type": "string"
             }
@@ -190,7 +190,7 @@
           "parameterOrder": [],
           "parameters": {
             "filter": {
-              "description": "Required. A list of query parameters specified as JSON text in the form of:\n{\"project\u003cspan\u003e_\u003c/span\u003eid\":\"my_project_id\",\n \"job_names\":[\"jobid1\",\"jobid2\",...],\n \"job_statuses\":[\"status1\",\"status2\",...]}.\nSince `job_names` and `job_statuses` support multiple values, their values\nmust be specified with array notation. `project`\u003cspan\u003e`_`\u003c/span\u003e`id` is\nrequired.  `job_names` and `job_statuses` are optional.  The valid values\nfor `job_statuses` are case-insensitive:\nENABLED,\nDISABLED, and\nDELETED.",
+              "description": "Required. A list of query parameters specified as JSON text in the form of: {\"project_id\":\"my_project_id\", \"job_names\":[\"jobid1\",\"jobid2\",...], \"job_statuses\":[\"status1\",\"status2\",...]}. Since `job_names` and `job_statuses` support multiple values, their values must be specified with array notation. `project``_``id` is required. `job_names` and `job_statuses` are optional. The valid values for `job_statuses` are case-insensitive: ENABLED, DISABLED, and DELETED.",
               "location": "query",
               "type": "string"
             },
@@ -215,7 +215,7 @@
           ]
         },
         "patch": {
-          "description": "Updates a transfer job. Updating a job's transfer spec does not affect\ntransfer operations that are running already. Updating a job's schedule\nis not allowed.\n\n**Note:** The job's status field can be modified\nusing this RPC (for example, to set a job's status to\nDELETED,\nDISABLED, or\nENABLED).",
+          "description": "Updates a transfer job. Updating a job's transfer spec does not affect transfer operations that are running already. Updating a job's schedule is not allowed. **Note:** The job's status field can be modified using this RPC (for example, to set a job's status to DELETED, DISABLED, or ENABLED).",
           "flatPath": "v1/transferJobs/{transferJobsId}",
           "httpMethod": "PATCH",
           "id": "storagetransfer.transferJobs.patch",
@@ -247,7 +247,7 @@
     "transferOperations": {
       "methods": {
         "cancel": {
-          "description": "Cancels a transfer. Use the\ntransferOperations.get method to\ncheck if the cancellation succeeded or if the operation completed despite\nthe `cancel` request.\n\nWhen you cancel an operation, the currently running transfer is\ninterrupted.  For recurring transfer jobs, the next instance of the transfer job\nwill still run.  For example, if your job is configured to run every day\nat 1pm and you cancel Monday's operation at 1:05pm, Monday's transfer\nwill stop. However, a transfer job will still be attempted on Tuesday.\n\nThis applies only to currently running operations. If an operation is\nnot currently running, `cancel` does nothing.\n\n\u003caside class=\"caution\"\u003e\n\u003cb\u003eCaution:\u003c/b\u003e Canceling a transfer job can leave your data in an unknown\nstate. We recommend that you restore the state at both the destination and the\nsource after the `cancel` request completes so that your data is in a consistent\nstate.\n\u003c/aside\u003e\n\nWhen you cancel a job, the next job computes a delta of files and may repair any\ninconsistent state. For instance, if you run a job every day, and today's job\nfound 10 new files and transferred five files before you canceled the job,\ntomorrow's transfer operation will compute a new delta with the five files that\nwere not copied today plus any new files discovered tomorrow.",
+          "description": "Cancels a transfer. Use the transferOperations.get method to check if the cancellation succeeded or if the operation completed despite the `cancel` request. When you cancel an operation, the currently running transfer is interrupted. For recurring transfer jobs, the next instance of the transfer job will still run. For example, if your job is configured to run every day at 1pm and you cancel Monday's operation at 1:05pm, Monday's transfer will stop. However, a transfer job will still be attempted on Tuesday. This applies only to currently running operations. If an operation is not currently running, `cancel` does nothing. *Caution:* Canceling a transfer job can leave your data in an unknown state. We recommend that you restore the state at both the destination and the source after the `cancel` request completes so that your data is in a consistent state. When you cancel a job, the next job computes a delta of files and may repair any inconsistent state. For instance, if you run a job every day, and today's job found 10 new files and transferred five files before you canceled the job, tomorrow's transfer operation will compute a new delta with the five files that were not copied today plus any new files discovered tomorrow.",
           "flatPath": "v1/transferOperations/{transferOperationsId}:cancel",
           "httpMethod": "POST",
           "id": "storagetransfer.transferOperations.cancel",
@@ -272,7 +272,7 @@
           ]
         },
         "get": {
-          "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+          "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
           "flatPath": "v1/transferOperations/{transferOperationsId}",
           "httpMethod": "GET",
           "id": "storagetransfer.transferOperations.get",
@@ -306,7 +306,7 @@
           ],
           "parameters": {
             "filter": {
-              "description": "Required. A list of query parameters specified as JSON text in the form of: {\"project\u003cspan\u003e_\u003c/span\u003eid\":\"my_project_id\",\n \"job_names\":[\"jobid1\",\"jobid2\",...],\n \"operation_names\":[\"opid1\",\"opid2\",...],\n \"transfer_statuses\":[\"status1\",\"status2\",...]}.\nSince `job_names`, `operation_names`, and `transfer_statuses` support multiple values, they must be specified with array notation. `project`\u003cspan\u003e`_`\u003c/span\u003e`id` is required. `job_names`, `operation_names`, and `transfer_statuses` are optional. The valid values for `transfer_statuses` are case-insensitive: IN_PROGRESS, PAUSED, SUCCESS, FAILED, and ABORTED.",
+              "description": "Required. 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\",...], \"transfer_statuses\":[\"status1\",\"status2\",...]}. Since `job_names`, `operation_names`, and `transfer_statuses` support multiple values, they must be specified with array notation. `project``_``id` is required. `job_names`, `operation_names`, and `transfer_statuses` are optional. The valid values for `transfer_statuses` are case-insensitive: IN_PROGRESS, PAUSED, SUCCESS, FAILED, and ABORTED.",
               "location": "query",
               "type": "string"
             },
@@ -396,11 +396,11 @@
       }
     }
   },
-  "revision": "20200730",
+  "revision": "20200807",
   "rootUrl": "https://storagetransfer.googleapis.com/",
   "schemas": {
     "AwsAccessKey": {
-      "description": "AWS access key (see\n[AWS Security\nCredentials](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)).",
+      "description": "AWS access key (see [AWS Security Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)).",
       "id": "AwsAccessKey",
       "properties": {
         "accessKeyId": {
@@ -408,29 +408,29 @@
           "type": "string"
         },
         "secretAccessKey": {
-          "description": "Required. AWS secret access key. This field is not returned in RPC\nresponses.",
+          "description": "Required. AWS secret access key. This field is not returned in RPC responses.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "AwsS3Data": {
-      "description": "An AwsS3Data resource can be a data source, but not a data sink.\nIn an AwsS3Data resource, an object's name is the S3 object's key name.",
+      "description": "An AwsS3Data resource can be a data source, but not a data sink. In an AwsS3Data resource, an object's name is the S3 object's key name.",
       "id": "AwsS3Data",
       "properties": {
         "awsAccessKey": {
           "$ref": "AwsAccessKey",
-          "description": "Required. AWS access key used to sign the API requests to the AWS S3\nbucket. Permissions on the bucket must be granted to the access ID of the\nAWS access key."
+          "description": "Required. AWS access key used to sign the API requests to the AWS S3 bucket. Permissions on the bucket must be granted to the access ID of the AWS access key."
         },
         "bucketName": {
-          "description": "Required. S3 Bucket name (see\n[Creating a\nbucket](https://docs.aws.amazon.com/AmazonS3/latest/dev/create-bucket-get-location-example.html)).",
+          "description": "Required. S3 Bucket name (see [Creating a bucket](https://docs.aws.amazon.com/AmazonS3/latest/dev/create-bucket-get-location-example.html)).",
           "type": "string"
         }
       },
       "type": "object"
     },
     "AzureBlobStorageData": {
-      "description": "An AzureBlobStorageData resource can be a data source, but not a data sink.\nAn AzureBlobStorageData resource represents one Azure container. The storage\naccount determines the [Azure\nendpoint](https://docs.microsoft.com/en-us/azure/storage/common/storage-create-storage-account#storage-account-endpoints).\nIn an AzureBlobStorageData resource, a blobs's name is the [Azure Blob\nStorage blob's key\nname](https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata#blob-names).",
+      "description": "An AzureBlobStorageData resource can be a data source, but not a data sink. An AzureBlobStorageData resource represents one Azure container. The storage account determines the [Azure endpoint](https://docs.microsoft.com/en-us/azure/storage/common/storage-create-storage-account#storage-account-endpoints). In an AzureBlobStorageData resource, a blobs's name is the [Azure Blob Storage blob's key name](https://docs.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata#blob-names).",
       "id": "AzureBlobStorageData",
       "properties": {
         "azureCredentials": {
@@ -453,28 +453,28 @@
       "id": "AzureCredentials",
       "properties": {
         "sasToken": {
-          "description": "Required. Azure shared access signature. (see\n[Grant limited access to Azure Storage resources using shared access\nsignatures\n(SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview)).",
+          "description": "Required. Azure shared access signature. (see [Grant limited access to Azure Storage resources using shared access signatures (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview)).",
           "type": "string"
         }
       },
       "type": "object"
     },
     "Date": {
-      "description": "Represents a whole or partial calendar date, e.g. a birthday. The time of day\nand time zone are either specified elsewhere or are not significant. The date\nis relative to the Proleptic Gregorian Calendar. This can represent:\n\n* A full date, with non-zero year, month and day values\n* A month and day value, with a zero year, e.g. an anniversary\n* A year on its own, with zero month and day values\n* A year and month value, with a zero day, e.g. a credit card expiration date\n\nRelated types are google.type.TimeOfDay and `google.protobuf.Timestamp`.",
+      "description": "Represents a whole or partial calendar date, e.g. a birthday. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the Proleptic Gregorian Calendar. This can represent: * A full date, with non-zero year, month and day values * A month and day value, with a zero year, e.g. an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, e.g. a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.",
       "id": "Date",
       "properties": {
         "day": {
-          "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0\nif specifying a year by itself or a year and month where the day is not\nsignificant.",
+          "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a year by itself or a year and month where the day is not significant.",
           "format": "int32",
           "type": "integer"
         },
         "month": {
-          "description": "Month of year. Must be from 1 to 12, or 0 if specifying a year without a\nmonth and day.",
+          "description": "Month of year. Must be from 1 to 12, or 0 if specifying a year without a month and day.",
           "format": "int32",
           "type": "integer"
         },
         "year": {
-          "description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without\na year.",
+          "description": "Year of date. Must be from 1 to 9999, or 0 if specifying a date without a year.",
           "format": "int32",
           "type": "integer"
         }
@@ -482,7 +482,7 @@
       "type": "object"
     },
     "Empty": {
-      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
+      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.",
       "id": "Empty",
       "properties": {},
       "type": "object"
@@ -499,14 +499,14 @@
           "type": "array"
         },
         "url": {
-          "description": "Required. A URL that refers to the target (a data source, a data sink,\nor an object) with which the error is associated.",
+          "description": "Required. A URL that refers to the target (a data source, a data sink, or an object) with which the error is associated.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "ErrorSummary": {
-      "description": "A summary of errors by error code, plus a count and sample error log\nentries.",
+      "description": "A summary of errors by error code, plus a count and sample error log entries.",
       "id": "ErrorSummary",
       "properties": {
         "errorCode": {
@@ -531,23 +531,23 @@
             "DATA_LOSS"
           ],
           "enumDescriptions": [
-            "Not an error; returned on success\n\nHTTP Mapping: 200 OK",
-            "The operation was cancelled, typically by the caller.\n\nHTTP Mapping: 499 Client Closed Request",
-            "Unknown error.  For example, this error may be returned when\na `Status` value received from another address space belongs to\nan error space that is not known in this address space.  Also\nerrors raised by APIs that do not return enough error information\nmay be converted to this error.\n\nHTTP Mapping: 500 Internal Server Error",
-            "The client specified an invalid argument.  Note that this differs\nfrom `FAILED_PRECONDITION`.  `INVALID_ARGUMENT` indicates arguments\nthat are problematic regardless of the state of the system\n(e.g., a malformed file name).\n\nHTTP Mapping: 400 Bad Request",
-            "The deadline expired before the operation could complete. For operations\nthat change the state of the system, this error may be returned\neven if the operation has completed successfully.  For example, a\nsuccessful response from a server could have been delayed long\nenough for the deadline to expire.\n\nHTTP Mapping: 504 Gateway Timeout",
-            "Some requested entity (e.g., file or directory) was not found.\n\nNote to server developers: if a request is denied for an entire class\nof users, such as gradual feature rollout or undocumented allowlist,\n`NOT_FOUND` may be used. If a request is denied for some users within\na class of users, such as user-based access control, `PERMISSION_DENIED`\nmust be used.\n\nHTTP Mapping: 404 Not Found",
-            "The entity that a client attempted to create (e.g., file or directory)\nalready exists.\n\nHTTP Mapping: 409 Conflict",
-            "The caller does not have permission to execute the specified\noperation. `PERMISSION_DENIED` must not be used for rejections\ncaused by exhausting some resource (use `RESOURCE_EXHAUSTED`\ninstead for those errors). `PERMISSION_DENIED` must not be\nused if the caller can not be identified (use `UNAUTHENTICATED`\ninstead for those errors). This error code does not imply the\nrequest is valid or the requested entity exists or satisfies\nother pre-conditions.\n\nHTTP Mapping: 403 Forbidden",
-            "The request does not have valid authentication credentials for the\noperation.\n\nHTTP Mapping: 401 Unauthorized",
-            "Some resource has been exhausted, perhaps a per-user quota, or\nperhaps the entire file system is out of space.\n\nHTTP Mapping: 429 Too Many Requests",
-            "The operation was rejected because the system is not in a state\nrequired for the operation's execution.  For example, the directory\nto be deleted is non-empty, an rmdir operation is applied to\na non-directory, etc.\n\nService implementors can use the following guidelines to decide\nbetween `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`:\n (a) Use `UNAVAILABLE` if the client can retry just the failing call.\n (b) Use `ABORTED` if the client should retry at a higher level\n     (e.g., when a client-specified test-and-set fails, indicating the\n     client should restart a read-modify-write sequence).\n (c) Use `FAILED_PRECONDITION` if the client should not retry until\n     the system state has been explicitly fixed.  E.g., if an \"rmdir\"\n     fails because the directory is non-empty, `FAILED_PRECONDITION`\n     should be returned since the client should not retry unless\n     the files are deleted from the directory.\n\nHTTP Mapping: 400 Bad Request",
-            "The operation was aborted, typically due to a concurrency issue such as\na sequencer check failure or transaction abort.\n\nSee the guidelines above for deciding between `FAILED_PRECONDITION`,\n`ABORTED`, and `UNAVAILABLE`.\n\nHTTP Mapping: 409 Conflict",
-            "The operation was attempted past the valid range.  E.g., seeking or\nreading past end-of-file.\n\nUnlike `INVALID_ARGUMENT`, this error indicates a problem that may\nbe fixed if the system state changes. For example, a 32-bit file\nsystem will generate `INVALID_ARGUMENT` if asked to read at an\noffset that is not in the range [0,2^32-1], but it will generate\n`OUT_OF_RANGE` if asked to read from an offset past the current\nfile size.\n\nThere is a fair bit of overlap between `FAILED_PRECONDITION` and\n`OUT_OF_RANGE`.  We recommend using `OUT_OF_RANGE` (the more specific\nerror) when it applies so that callers who are iterating through\na space can easily look for an `OUT_OF_RANGE` error to detect when\nthey are done.\n\nHTTP Mapping: 400 Bad Request",
-            "The operation is not implemented or is not supported/enabled in this\nservice.\n\nHTTP Mapping: 501 Not Implemented",
-            "Internal errors.  This means that some invariants expected by the\nunderlying system have been broken.  This error code is reserved\nfor serious errors.\n\nHTTP Mapping: 500 Internal Server Error",
-            "The service is currently unavailable.  This is most likely a\ntransient condition, which can be corrected by retrying with\na backoff. Note that it is not always safe to retry\nnon-idempotent operations.\n\nSee the guidelines above for deciding between `FAILED_PRECONDITION`,\n`ABORTED`, and `UNAVAILABLE`.\n\nHTTP Mapping: 503 Service Unavailable",
-            "Unrecoverable data loss or corruption.\n\nHTTP Mapping: 500 Internal Server Error"
+            "Not an error; returned on success HTTP Mapping: 200 OK",
+            "The operation was cancelled, typically by the caller. HTTP Mapping: 499 Client Closed Request",
+            "Unknown error. For example, this error may be returned when a `Status` value received from another address space belongs to an error space that is not known in this address space. Also errors raised by APIs that do not return enough error information may be converted to this error. HTTP Mapping: 500 Internal Server Error",
+            "The client specified an invalid argument. Note that this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT` indicates arguments that are problematic regardless of the state of the system (e.g., a malformed file name). HTTP Mapping: 400 Bad Request",
+            "The deadline expired before the operation could complete. For operations that change the state of the system, this error may be returned even if the operation has completed successfully. For example, a successful response from a server could have been delayed long enough for the deadline to expire. HTTP Mapping: 504 Gateway Timeout",
+            "Some requested entity (e.g., file or directory) was not found. Note to server developers: if a request is denied for an entire class of users, such as gradual feature rollout or undocumented allowlist, `NOT_FOUND` may be used. If a request is denied for some users within a class of users, such as user-based access control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404 Not Found",
+            "The entity that a client attempted to create (e.g., file or directory) already exists. HTTP Mapping: 409 Conflict",
+            "The caller does not have permission to execute the specified operation. `PERMISSION_DENIED` must not be used for rejections caused by exhausting some resource (use `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED` must not be used if the caller can not be identified (use `UNAUTHENTICATED` instead for those errors). This error code does not imply the request is valid or the requested entity exists or satisfies other pre-conditions. HTTP Mapping: 403 Forbidden",
+            "The request does not have valid authentication credentials for the operation. HTTP Mapping: 401 Unauthorized",
+            "Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space. HTTP Mapping: 429 Too Many Requests",
+            "The operation was rejected because the system is not in a state required for the operation's execution. For example, the directory to be deleted is non-empty, an rmdir operation is applied to a non-directory, etc. Service implementors can use the following guidelines to decide between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can retry just the failing call. (b) Use `ABORTED` if the client should retry at a higher level (e.g., when a client-specified test-and-set fails, indicating the client should restart a read-modify-write sequence). (c) Use `FAILED_PRECONDITION` if the client should not retry until the system state has been explicitly fixed. E.g., if an \"rmdir\" fails because the directory is non-empty, `FAILED_PRECONDITION` should be returned since the client should not retry unless the files are deleted from the directory. HTTP Mapping: 400 Bad Request",
+            "The operation was aborted, typically due to a concurrency issue such as a sequencer check failure or transaction abort. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 409 Conflict",
+            "The operation was attempted past the valid range. E.g., seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`, this error indicates a problem that may be fixed if the system state changes. For example, a 32-bit file system will generate `INVALID_ARGUMENT` if asked to read at an offset that is not in the range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to read from an offset past the current file size. There is a fair bit of overlap between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We recommend using `OUT_OF_RANGE` (the more specific error) when it applies so that callers who are iterating through a space can easily look for an `OUT_OF_RANGE` error to detect when they are done. HTTP Mapping: 400 Bad Request",
+            "The operation is not implemented or is not supported/enabled in this service. HTTP Mapping: 501 Not Implemented",
+            "Internal errors. This means that some invariants expected by the underlying system have been broken. This error code is reserved for serious errors. HTTP Mapping: 500 Internal Server Error",
+            "The service is currently unavailable. This is most likely a transient condition, which can be corrected by retrying with a backoff. Note that it is not always safe to retry non-idempotent operations. See the guidelines above for deciding between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping: 503 Service Unavailable",
+            "Unrecoverable data loss or corruption. HTTP Mapping: 500 Internal Server Error"
           ],
           "type": "string"
         },
@@ -557,7 +557,7 @@
           "type": "string"
         },
         "errorLogEntries": {
-          "description": "Error samples.\n\nAt most 5 error log entries will be recorded for a given\nerror code for a single transfer operation.",
+          "description": "Error samples. At most 5 error log entries will be recorded for a given error code for a single transfer operation.",
           "items": {
             "$ref": "ErrorLogEntry"
           },
@@ -567,11 +567,11 @@
       "type": "object"
     },
     "GcsData": {
-      "description": "In a GcsData resource, an object's name is the Cloud Storage object's\nname and its \"last modification time\" refers to the object's `updated`\nproperty of Cloud Storage objects, which changes when the content or the\nmetadata of the object is updated.",
+      "description": "In a GcsData resource, an object's name is the Cloud Storage object's name and its \"last modification time\" refers to the object's `updated` property of Cloud Storage objects, which changes when the content or the metadata of the object is updated.",
       "id": "GcsData",
       "properties": {
         "bucketName": {
-          "description": "Required. Cloud Storage bucket name (see\n[Bucket Name\nRequirements](https://cloud.google.com/storage/docs/naming#requirements)).",
+          "description": "Required. Cloud Storage bucket name (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/naming#requirements)).",
           "type": "string"
         }
       },
@@ -589,11 +589,11 @@
       "type": "object"
     },
     "HttpData": {
-      "description": "An HttpData resource specifies a list of objects on the web to be transferred\nover HTTP.  The information of the objects to be transferred is contained in\na file referenced by a URL. The first line in the file must be\n`\"TsvHttpData-1.0\"`, which specifies the format of the file.  Subsequent\nlines specify the information of the list of objects, one object per list\nentry. Each entry has the following tab-delimited fields:\n\n* **HTTP URL** — The location of the object.\n\n* **Length** — The size of the object in bytes.\n\n* **MD5** — The base64-encoded MD5 hash of the object.\n\nFor an example of a valid TSV file, see\n[Transferring data from\nURLs](https://cloud.google.com/storage-transfer/docs/create-url-list).\n\nWhen transferring data based on a URL list, keep the following in mind:\n\n* When an object located at `http(s)://hostname:port/\u003cURL-path\u003e` is\ntransferred to a data sink, the name of the object at the data sink is\n`\u003chostname\u003e/\u003cURL-path\u003e`.\n\n* If the specified size of an object does not match the actual size of the\nobject fetched, the object will not be transferred.\n\n* If the specified MD5 does not match the MD5 computed from the transferred\nbytes, the object transfer will fail. For more information, see\n[Generating MD5\nhashes](https://cloud.google.com/storage-transfer/docs/create-url-list#md5)\n\n* Ensure that each URL you specify is publicly accessible. For\nexample, in Cloud Storage you can\n[share an object publicly]\n(https://cloud.google.com/storage/docs/cloud-console#_sharingdata) and get\na link to it.\n\n* Storage Transfer Service obeys `robots.txt` rules and requires the source\nHTTP server to support `Range` requests and to return a `Content-Length`\nheader in each response.\n\n* ObjectConditions have no effect when filtering objects to transfer.",
+      "description": "An HttpData resource specifies a list of objects on the web to be transferred over HTTP. The information of the objects to be transferred is contained in a file referenced by a URL. The first line in the file must be `\"TsvHttpData-1.0\"`, which specifies the format of the file. Subsequent lines specify the information of the list of objects, one object per list entry. Each entry has the following tab-delimited fields: * **HTTP URL** — The location of the object. * **Length** — The size of the object in bytes. * **MD5** — The base64-encoded MD5 hash of the object. For an example of a valid TSV file, see [Transferring data from URLs](https://cloud.google.com/storage-transfer/docs/create-url-list). When transferring data based on a URL list, keep the following in mind: * When an object located at `http(s)://hostname:port/` is transferred to a data sink, the name of the object at the data sink is `/`. * If the specified size of an object does not match the actual size of the object fetched, the object will not be transferred. * If the specified MD5 does not match the MD5 computed from the transferred bytes, the object transfer will fail. For more information, see [Generating MD5 hashes](https://cloud.google.com/storage-transfer/docs/create-url-list#md5) * Ensure that each URL you specify is publicly accessible. For example, in Cloud Storage you can [share an object publicly] (https://cloud.google.com/storage/docs/cloud-console#_sharingdata) and get a link to it. * Storage Transfer Service obeys `robots.txt` rules and requires the source HTTP server to support `Range` requests and to return a `Content-Length` header in each response. * ObjectConditions have no effect when filtering objects to transfer.",
       "id": "HttpData",
       "properties": {
         "listUrl": {
-          "description": "Required. The URL that points to the file that stores the object list\nentries. This file must allow public access.  Currently, only URLs with\nHTTP and HTTPS schemes are supported.",
+          "description": "Required. The URL that points to the file that stores the object list entries. This file must allow public access. Currently, only URLs with HTTP and HTTPS schemes are supported.",
           "type": "string"
         }
       },
@@ -636,16 +636,16 @@
       "type": "object"
     },
     "NotificationConfig": {
-      "description": "Specification to configure notifications published to Cloud Pub/Sub.\nNotifications will be published to the customer-provided topic using the\nfollowing `PubsubMessage.attributes`:\n\n* `\"eventType\"`: one of the EventType values\n* `\"payloadFormat\"`: one of the PayloadFormat values\n* `\"projectId\"`: the project_id of the\n`TransferOperation`\n* `\"transferJobName\"`: the\ntransfer_job_name of the\n`TransferOperation`\n* `\"transferOperationName\"`: the name of the\n`TransferOperation`\n\nThe `PubsubMessage.data` will contain a TransferOperation resource\nformatted according to the specified `PayloadFormat`.",
+      "description": "Specification to configure notifications published to Cloud Pub/Sub. Notifications will be published to the customer-provided topic using the following `PubsubMessage.attributes`: * `\"eventType\"`: one of the EventType values * `\"payloadFormat\"`: one of the PayloadFormat values * `\"projectId\"`: the project_id of the `TransferOperation` * `\"transferJobName\"`: the transfer_job_name of the `TransferOperation` * `\"transferOperationName\"`: the name of the `TransferOperation` The `PubsubMessage.data` will contain a TransferOperation resource formatted according to the specified `PayloadFormat`.",
       "id": "NotificationConfig",
       "properties": {
         "eventTypes": {
-          "description": "Event types for which a notification is desired. If empty, send\nnotifications for all event types.",
+          "description": "Event types for which a notification is desired. If empty, send notifications for all event types.",
           "enumDescriptions": [
             "Illegal value, to avoid allowing a default.",
-            "`TransferOperation` completed with status\nSUCCESS.",
-            "`TransferOperation` completed with status\nFAILED.",
-            "`TransferOperation` completed with status\nABORTED."
+            "`TransferOperation` completed with status SUCCESS.",
+            "`TransferOperation` completed with status FAILED.",
+            "`TransferOperation` completed with status ABORTED."
           ],
           "items": {
             "enum": [
@@ -654,6 +654,12 @@
               "TRANSFER_OPERATION_FAILED",
               "TRANSFER_OPERATION_ABORTED"
             ],
+            "enumDescriptions": [
+              "Illegal value, to avoid allowing a default.",
+              "`TransferOperation` completed with status SUCCESS.",
+              "`TransferOperation` completed with status FAILED.",
+              "`TransferOperation` completed with status ABORTED."
+            ],
             "type": "string"
           },
           "type": "array"
@@ -668,52 +674,52 @@
           "enumDescriptions": [
             "Illegal value, to avoid allowing a default.",
             "No payload is included with the notification.",
-            "`TransferOperation` is [formatted as a JSON\nresponse](https://developers.google.com/protocol-buffers/docs/proto3#json),\nin application/json."
+            "`TransferOperation` is [formatted as a JSON response](https://developers.google.com/protocol-buffers/docs/proto3#json), in application/json."
           ],
           "type": "string"
         },
         "pubsubTopic": {
-          "description": "Required. The `Topic.name` of the Cloud Pub/Sub topic to which to publish\nnotifications. Must be of the format: `projects/{project}/topics/{topic}`.\nNot matching this format will result in an\nINVALID_ARGUMENT error.",
+          "description": "Required. The `Topic.name` of the Cloud Pub/Sub topic to which to publish notifications. Must be of the format: `projects/{project}/topics/{topic}`. Not matching this format will result in an INVALID_ARGUMENT error.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "ObjectConditions": {
-      "description": "Conditions that determine which objects will be transferred. Applies only\nto Cloud Data Sources such as S3, Azure, and Cloud Storage.\n\nThe \"last modification time\" refers to the time of the\nlast change to the object's content or metadata — specifically, this is\nthe `updated` property of Cloud Storage objects, the `LastModified` field of\nS3 objects, and the `Last-Modified` header of Azure blobs.",
+      "description": "Conditions that determine which objects will be transferred. Applies only to Cloud Data Sources such as S3, Azure, and Cloud Storage. The \"last modification time\" refers to the time of the last change to the object's content or metadata — specifically, this is the `updated` property of Cloud Storage objects, the `LastModified` field of S3 objects, and the `Last-Modified` header of Azure blobs.",
       "id": "ObjectConditions",
       "properties": {
         "excludePrefixes": {
-          "description": "`exclude_prefixes` must follow the requirements described for\ninclude_prefixes.\n\nThe max size of `exclude_prefixes` is 1000.",
+          "description": "`exclude_prefixes` must follow the requirements described for include_prefixes. The max size of `exclude_prefixes` is 1000.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "includePrefixes": {
-          "description": "If `include_prefixes` is specified, objects that satisfy the object\nconditions must have names that start with one of the `include_prefixes`\nand that do not start with any of the exclude_prefixes. If\n`include_prefixes` is not specified, all objects except those that have\nnames starting with one of the `exclude_prefixes` must satisfy the object\nconditions.\n\nRequirements:\n\n  * Each include-prefix and exclude-prefix can contain any sequence of\n    Unicode characters, to a max length of 1024 bytes when UTF8-encoded,\n    and must not contain Carriage Return or Line Feed characters.  Wildcard\n    matching and regular expression matching are not supported.\n\n  * Each include-prefix and exclude-prefix must omit the leading slash.\n    For example, to include the `requests.gz` object in a transfer from\n    `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the include\n    prefix as `logs/y=2015/requests.gz`.\n\n  * None of the include-prefix or the exclude-prefix values can be empty,\n    if specified.\n\n  * Each include-prefix must include a distinct portion of the object\n    namespace. No include-prefix may be a prefix of another\n    include-prefix.\n\n  * Each exclude-prefix must exclude a distinct portion of the object\n    namespace. No exclude-prefix may be a prefix of another\n    exclude-prefix.\n\n  * If `include_prefixes` is specified, then each exclude-prefix must start\n    with the value of a path explicitly included by `include_prefixes`.\n\nThe max size of `include_prefixes` is 1000.",
+          "description": "If `include_prefixes` is specified, objects that satisfy the object conditions must have names that start with one of the `include_prefixes` and that do not start with any of the exclude_prefixes. If `include_prefixes` is not specified, all objects except those that have names starting with one of the `exclude_prefixes` must satisfy the object conditions. Requirements: * Each include-prefix and exclude-prefix can contain any sequence of Unicode characters, to a max length of 1024 bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed characters. Wildcard matching and regular expression matching are not supported. * Each include-prefix and exclude-prefix must omit the leading slash. For example, to include the `requests.gz` object in a transfer from `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the include prefix as `logs/y=2015/requests.gz`. * None of the include-prefix or the exclude-prefix values can be empty, if specified. * Each include-prefix must include a distinct portion of the object namespace. No include-prefix may be a prefix of another include-prefix. * Each exclude-prefix must exclude a distinct portion of the object namespace. No exclude-prefix may be a prefix of another exclude-prefix. * If `include_prefixes` is specified, then each exclude-prefix must start with the value of a path explicitly included by `include_prefixes`. The max size of `include_prefixes` is 1000.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "lastModifiedBefore": {
-          "description": "If specified, only objects with a \"last modification time\" before this\ntimestamp and objects that don't have a \"last modification time\" will be\ntransferred.",
+          "description": "If specified, only objects with a \"last modification time\" before this timestamp and objects that don't have a \"last modification time\" will be transferred.",
           "format": "google-datetime",
           "type": "string"
         },
         "lastModifiedSince": {
-          "description": "If specified, only objects with a \"last modification time\" on or after\nthis timestamp and objects that don't have a \"last modification time\" are\ntransferred.\n\nThe `last_modified_since` and `last_modified_before` fields can be used\ntogether for chunked data processing. For example, consider a script that\nprocesses each day's worth of data at a time. For that you'd set each\nof the fields as follows:\n\n*  `last_modified_since` to the start of the day\n\n*  `last_modified_before` to the end of the day",
+          "description": "If specified, only objects with a \"last modification time\" on or after this timestamp and objects that don't have a \"last modification time\" are transferred. The `last_modified_since` and `last_modified_before` fields can be used together for chunked data processing. For example, consider a script that processes each day's worth of data at a time. For that you'd set each of the fields as follows: * `last_modified_since` to the start of the day * `last_modified_before` to the end of the day",
           "format": "google-datetime",
           "type": "string"
         },
         "maxTimeElapsedSinceLastModification": {
-          "description": "If specified, only objects with a \"last modification time\" on or after\n`NOW` - `max_time_elapsed_since_last_modification` and objects that don't\nhave a \"last modification time\" are transferred.\n\nFor each TransferOperation started by this TransferJob,\n`NOW` refers to the start_time of the\n`TransferOperation`.",
+          "description": "If specified, only objects with a \"last modification time\" on or after `NOW` - `max_time_elapsed_since_last_modification` and objects that don't have a \"last modification time\" are transferred. For each TransferOperation started by this TransferJob, `NOW` refers to the start_time of the `TransferOperation`.",
           "format": "google-duration",
           "type": "string"
         },
         "minTimeElapsedSinceLastModification": {
-          "description": "If specified, only objects with a \"last modification time\" before\n`NOW` - `min_time_elapsed_since_last_modification` and objects that don't\n have a \"last modification time\" are transferred.\n\nFor each TransferOperation started by this TransferJob, `NOW`\nrefers to the start_time of the\n`TransferOperation`.",
+          "description": "If specified, only objects with a \"last modification time\" before `NOW` - `min_time_elapsed_since_last_modification` and objects that don't have a \"last modification time\" are transferred. For each TransferOperation started by this TransferJob, `NOW` refers to the start_time of the `TransferOperation`.",
           "format": "google-duration",
           "type": "string"
         }
@@ -721,11 +727,11 @@
       "type": "object"
     },
     "Operation": {
-      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
+      "description": "This resource represents a long-running operation that is the result of a network API call.",
       "id": "Operation",
       "properties": {
         "done": {
-          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
+          "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.",
           "type": "boolean"
         },
         "error": {
@@ -749,7 +755,7 @@
             "description": "Properties of the object. Contains field @type with type URL.",
             "type": "any"
           },
-          "description": "The normal response of the operation in case of success.  If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`.  If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource.  For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name.  For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
+          "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
           "type": "object"
         }
       },
@@ -773,21 +779,21 @@
       "properties": {
         "scheduleEndDate": {
           "$ref": "Date",
-          "description": "The last day a transfer runs. Date boundaries are determined relative to\nUTC time. A job will run once per 24 hours within the following guidelines:\n\n*   If `schedule_end_date` and schedule_start_date are the same and in\n    the future relative to UTC, the transfer is executed only one time.\n*   If `schedule_end_date` is later than `schedule_start_date`  and\n    `schedule_end_date` is in the future relative to UTC, the job will\n    run each day at start_time_of_day through `schedule_end_date`."
+          "description": "The last day a transfer runs. Date boundaries are determined relative to UTC time. A job will run once per 24 hours within the following guidelines: * If `schedule_end_date` and schedule_start_date are the same and in the future relative to UTC, the transfer is executed only one time. * If `schedule_end_date` is later than `schedule_start_date` and `schedule_end_date` is in the future relative to UTC, the job will run each day at start_time_of_day through `schedule_end_date`."
         },
         "scheduleStartDate": {
           "$ref": "Date",
-          "description": "Required. The start date of a transfer. Date boundaries are determined\nrelative to UTC time. If `schedule_start_date` and start_time_of_day\nare in the past relative to the job's creation time, the transfer starts\nthe day after you schedule the transfer request.\n\n**Note:** When starting jobs at or near midnight UTC it is possible that\na job will start later than expected. For example, if you send an outbound\nrequest on June 1 one millisecond prior to midnight UTC and the Storage\nTransfer Service server receives the request on June 2, then it will create\na TransferJob with `schedule_start_date` set to June 2 and a\n`start_time_of_day` set to midnight UTC. The first scheduled\nTransferOperation will take place on June 3 at midnight UTC."
+          "description": "Required. The start date of a transfer. Date boundaries are determined relative to UTC time. If `schedule_start_date` and start_time_of_day are in the past relative to the job's creation time, the transfer starts the day after you schedule the transfer request. **Note:** When starting jobs at or near midnight UTC it is possible that a job will start later than expected. For example, if you send an outbound request on June 1 one millisecond prior to midnight UTC and the Storage Transfer Service server receives the request on June 2, then it will create a TransferJob with `schedule_start_date` set to June 2 and a `start_time_of_day` set to midnight UTC. The first scheduled TransferOperation will take place on June 3 at midnight UTC."
         },
         "startTimeOfDay": {
           "$ref": "TimeOfDay",
-          "description": "The time in UTC that a transfer job is scheduled to run. Transfers may\nstart later than this time.\n\nIf `start_time_of_day` is not specified:\n\n*   One-time transfers run immediately.\n*   Recurring transfers run immediately, and each day at midnight UTC,\n    through schedule_end_date.\n\nIf `start_time_of_day` is specified:\n\n*   One-time transfers run at the specified time.\n*   Recurring transfers run at the specified time each day, through\n    `schedule_end_date`."
+          "description": "The time in UTC that a transfer job is scheduled to run. Transfers may start later than this time. If `start_time_of_day` is not specified: * One-time transfers run immediately. * Recurring transfers run immediately, and each day at midnight UTC, through schedule_end_date. If `start_time_of_day` is specified: * One-time transfers run at the specified time. * Recurring transfers run at the specified time each day, through `schedule_end_date`."
         }
       },
       "type": "object"
     },
     "Status": {
-      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).",
+      "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).",
       "id": "Status",
       "properties": {
         "code": {
@@ -796,7 +802,7 @@
           "type": "integer"
         },
         "details": {
-          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
+          "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
           "items": {
             "additionalProperties": {
               "description": "Properties of the object. Contains field @type with type URL.",
@@ -807,18 +813,18 @@
           "type": "array"
         },
         "message": {
-          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
+          "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.",
           "type": "string"
         }
       },
       "type": "object"
     },
     "TimeOfDay": {
-      "description": "Represents a time of day. The date and time zone are either not significant\nor are specified elsewhere. An API may choose to allow leap seconds. Related\ntypes are google.type.Date and `google.protobuf.Timestamp`.",
+      "description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.",
       "id": "TimeOfDay",
       "properties": {
         "hours": {
-          "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose\nto allow the value \"24:00:00\" for scenarios like business closing time.",
+          "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.",
           "format": "int32",
           "type": "integer"
         },
@@ -833,7 +839,7 @@
           "type": "integer"
         },
         "seconds": {
-          "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may\nallow the value 60 if it allows leap-seconds.",
+          "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.",
           "format": "int32",
           "type": "integer"
         }
@@ -865,7 +871,7 @@
           "type": "string"
         },
         "bytesFoundFromSource": {
-          "description": "Bytes found in the data source that are scheduled to be transferred,\nexcluding any that are filtered based on object conditions or skipped due\nto sync.",
+          "description": "Bytes found in the data source that are scheduled to be transferred, excluding any that are filtered based on object conditions or skipped due to sync.",
           "format": "int64",
           "type": "string"
         },
@@ -875,12 +881,12 @@
           "type": "string"
         },
         "bytesFromSourceFailed": {
-          "description": "Bytes in the data source that failed to be transferred or that failed to\nbe deleted after being transferred.",
+          "description": "Bytes in the data source that failed to be transferred or that failed to be deleted after being transferred.",
           "format": "int64",
           "type": "string"
         },
         "bytesFromSourceSkippedBySync": {
-          "description": "Bytes in the data source that are not transferred because they already\nexist in the data sink.",
+          "description": "Bytes in the data source that are not transferred because they already exist in the data sink.",
           "format": "int64",
           "type": "string"
         },
@@ -905,7 +911,7 @@
           "type": "string"
         },
         "objectsFoundFromSource": {
-          "description": "Objects found in the data source that are scheduled to be transferred,\nexcluding any that are filtered based on object conditions or skipped due\nto sync.",
+          "description": "Objects found in the data source that are scheduled to be transferred, excluding any that are filtered based on object conditions or skipped due to sync.",
           "format": "int64",
           "type": "string"
         },
@@ -915,12 +921,12 @@
           "type": "string"
         },
         "objectsFromSourceFailed": {
-          "description": "Objects in the data source that failed to be transferred or that failed\nto be deleted after being transferred.",
+          "description": "Objects in the data source that failed to be transferred or that failed to be deleted after being transferred.",
           "format": "int64",
           "type": "string"
         },
         "objectsFromSourceSkippedBySync": {
-          "description": "Objects in the data source that are not transferred because they already\nexist in the data sink.",
+          "description": "Objects in the data source that are not transferred because they already exist in the data sink.",
           "format": "int64",
           "type": "string"
         }
@@ -928,7 +934,7 @@
       "type": "object"
     },
     "TransferJob": {
-      "description": "This resource represents the configuration of a transfer job that runs\nperiodically.",
+      "description": "This resource represents the configuration of a transfer job that runs periodically.",
       "id": "TransferJob",
       "properties": {
         "creationTime": {
@@ -942,7 +948,7 @@
           "type": "string"
         },
         "description": {
-          "description": "A description provided by the user for the job. Its max length is 1024\nbytes when Unicode-encoded.",
+          "description": "A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded.",
           "type": "string"
         },
         "lastModificationTime": {
@@ -951,7 +957,7 @@
           "type": "string"
         },
         "name": {
-          "description": "A unique name (within the transfer project) assigned when the job is\ncreated.  If this field is empty in a CreateTransferJobRequest, Storage\nTransfer Service will assign a unique name. Otherwise, the specified name\nis used as the unique name for this job.\n\nIf the specified name is in use by a job, the creation request fails with\nan ALREADY_EXISTS error.\n\nThis name must start with `\"transferJobs/\"` prefix and end with a letter or\na number, and should be no more than 128 characters.\nExample: `\"transferJobs/[A-Za-z0-9-._~]*[A-Za-z0-9]$\"`\n\nInvalid job names will fail with an\nINVALID_ARGUMENT error.",
+          "description": "A unique name (within the transfer project) assigned when the job is created. If this field is empty in a CreateTransferJobRequest, Storage Transfer Service will assign a unique name. Otherwise, the specified name is used as the unique name for this job. If the specified name is in use by a job, the creation request fails with an ALREADY_EXISTS error. This name must start with `\"transferJobs/\"` prefix and end with a letter or a number, and should be no more than 128 characters. Example: `\"transferJobs/[A-Za-z0-9-._~]*[A-Za-z0-9]$\"` Invalid job names will fail with an INVALID_ARGUMENT error.",
           "type": "string"
         },
         "notificationConfig": {
@@ -967,7 +973,7 @@
           "description": "Schedule specification."
         },
         "status": {
-          "description": "Status of the job. This value MUST be specified for\n`CreateTransferJobRequests`.\n\n**Note:** The effect of the new job status takes place during a subsequent\njob run. For example, if you change the job status from\nENABLED to DISABLED, and an operation\nspawned by the transfer is running, the status change would not affect the\ncurrent operation.",
+          "description": "Status of the job. This value MUST be specified for `CreateTransferJobRequests`. **Note:** The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from ENABLED to DISABLED, and an operation spawned by the transfer is running, the status change would not affect the current operation.",
           "enum": [
             "STATUS_UNSPECIFIED",
             "ENABLED",
@@ -978,7 +984,7 @@
             "Zero is an illegal value.",
             "New transfers will be performed based on the schedule.",
             "New transfers will not be scheduled.",
-            "This is a soft delete state. After a transfer job is set to this\nstate, the job and all the transfer executions are subject to\ngarbage collection. Transfer jobs become eligible for garbage collection\n30 days after their status is set to `DELETED`."
+            "This is a soft delete state. After a transfer job is set to this state, the job and all the transfer executions are subject to garbage collection. Transfer jobs become eligible for garbage collection 30 days after their status is set to `DELETED`."
           ],
           "type": "string"
         },
@@ -1064,11 +1070,11 @@
       "id": "TransferOptions",
       "properties": {
         "deleteObjectsFromSourceAfterTransfer": {
-          "description": "Whether objects should be deleted from the source after they are\ntransferred to the sink.\n\n**Note:** This option and delete_objects_unique_in_sink are mutually\nexclusive.",
+          "description": "Whether objects should be deleted from the source after they are transferred to the sink. **Note:** This option and delete_objects_unique_in_sink are mutually exclusive.",
           "type": "boolean"
         },
         "deleteObjectsUniqueInSink": {
-          "description": "Whether objects that exist only in the sink should be deleted.\n\n**Note:** This option and delete_objects_from_source_after_transfer are\nmutually exclusive.",
+          "description": "Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.",
           "type": "boolean"
         },
         "overwriteObjectsAlreadyExistingInSink": {
@@ -1104,11 +1110,11 @@
         },
         "objectConditions": {
           "$ref": "ObjectConditions",
-          "description": "Only objects that satisfy these object conditions are included in the set\nof data source and data sink objects.  Object conditions based on\nobjects' \"last modification time\" do not exclude objects in a data sink."
+          "description": "Only objects that satisfy these object conditions are included in the set of data source and data sink objects. Object conditions based on objects' \"last modification time\" do not exclude objects in a data sink."
         },
         "transferOptions": {
           "$ref": "TransferOptions",
-          "description": "If the option\ndelete_objects_unique_in_sink\nis `true`, object conditions based on objects' \"last modification time\" are\nignored and do not exclude objects in a data source or a data sink."
+          "description": "If the option delete_objects_unique_in_sink is `true`, object conditions based on objects' \"last modification time\" are ignored and do not exclude objects in a data source or a data sink."
         }
       },
       "type": "object"
@@ -1118,15 +1124,15 @@
       "id": "UpdateTransferJobRequest",
       "properties": {
         "projectId": {
-          "description": "Required. The ID of the Google Cloud Platform Console project that owns the\njob.",
+          "description": "Required. The ID of the Google Cloud Platform Console project that owns the job.",
           "type": "string"
         },
         "transferJob": {
           "$ref": "TransferJob",
-          "description": "Required. The job to update. `transferJob` is expected to specify only\nfour fields: description,\ntransfer_spec,\nnotification_config, and\nstatus.  An `UpdateTransferJobRequest` that specifies\nother fields will be rejected with the error\nINVALID_ARGUMENT."
+          "description": "Required. The job to update. `transferJob` is expected to specify only four fields: description, transfer_spec, notification_config, and status. An `UpdateTransferJobRequest` that specifies other fields will be rejected with the error INVALID_ARGUMENT."
         },
         "updateTransferJobFieldMask": {
-          "description": "The field mask of the fields in `transferJob` that are to be updated in\nthis request.  Fields in `transferJob` that can be updated are:\ndescription,\ntransfer_spec,\nnotification_config, and\nstatus.  To update the `transfer_spec` of the job, a\ncomplete transfer specification must be provided. An incomplete\nspecification missing any required fields will be rejected with the error\nINVALID_ARGUMENT.",
+          "description": "The field mask of the fields in `transferJob` that are to be updated in this request. Fields in `transferJob` that can be updated are: description, transfer_spec, notification_config, and status. To update the `transfer_spec` of the job, a complete transfer specification must be provided. An incomplete specification missing any required fields will be rejected with the error INVALID_ARGUMENT.",
           "format": "google-fieldmask",
           "type": "string"
         }
diff --git a/storagetransfer/v1/storagetransfer-gen.go b/storagetransfer/v1/storagetransfer-gen.go
index 83f26bd..9e4cd3d 100644
--- a/storagetransfer/v1/storagetransfer-gen.go
+++ b/storagetransfer/v1/storagetransfer-gen.go
@@ -168,18 +168,15 @@
 	s *Service
 }
 
-// AwsAccessKey: AWS access key (see
-// [AWS
-// Security
-// Credentials](https://docs.aws.amazon.com/general/latest/gr/aw
-// s-security-credentials.html)).
+// AwsAccessKey: AWS access key (see [AWS Security
+// Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-securit
+// y-credentials.html)).
 type AwsAccessKey struct {
 	// AccessKeyId: Required. AWS access key ID.
 	AccessKeyId string `json:"accessKeyId,omitempty"`
 
 	// SecretAccessKey: Required. AWS secret access key. This field is not
-	// returned in RPC
-	// responses.
+	// returned in RPC responses.
 	SecretAccessKey string `json:"secretAccessKey,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AccessKeyId") to
@@ -206,22 +203,17 @@
 }
 
 // AwsS3Data: An AwsS3Data resource can be a data source, but not a data
-// sink.
-// In an AwsS3Data resource, an object's name is the S3 object's key
-// name.
+// sink. In an AwsS3Data resource, an object's name is the S3 object's
+// key name.
 type AwsS3Data struct {
 	// AwsAccessKey: Required. AWS access key used to sign the API requests
-	// to the AWS S3
-	// bucket. Permissions on the bucket must be granted to the access ID of
-	// the
-	// AWS access key.
+	// to the AWS S3 bucket. Permissions on the bucket must be granted to
+	// the access ID of the AWS access key.
 	AwsAccessKey *AwsAccessKey `json:"awsAccessKey,omitempty"`
 
-	// BucketName: Required. S3 Bucket name (see
-	// [Creating
-	// a
-	// bucket](https://docs.aws.amazon.com/AmazonS3/latest/dev/create-bucke
-	// t-get-location-example.html)).
+	// BucketName: Required. S3 Bucket name (see [Creating a
+	// bucket](https://docs.aws.amazon.com/AmazonS3/latest/dev/create-bucket-
+	// get-location-example.html)).
 	BucketName string `json:"bucketName,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AwsAccessKey") to
@@ -248,19 +240,15 @@
 }
 
 // AzureBlobStorageData: An AzureBlobStorageData resource can be a data
-// source, but not a data sink.
-// An AzureBlobStorageData resource represents one Azure container. The
-// storage
-// account determines the
+// source, but not a data sink. An AzureBlobStorageData resource
+// represents one Azure container. The storage account determines the
 // [Azure
-// endpoint](https://docs.microsoft.com/en-us/azure/storage/common
-// /storage-create-storage-account#storage-account-endpoints).
-// In an AzureBlobStorageData resource, a blobs's name is the [Azure
-// Blob
-// Storage blob's
-// key
-// name](https://docs.microsoft.com/en-us/rest/api/storageservices/na
-// ming-and-referencing-containers--blobs--and-metadata#blob-names).
+// endpoint](https://docs.microsoft.com/en-us/azure/storage/common/storag
+// e-create-storage-account#storage-account-endpoints). In an
+// AzureBlobStorageData resource, a blobs's name is the [Azure Blob
+// Storage blob's key
+// name](https://docs.microsoft.com/en-us/rest/api/storageservices/naming
+// -and-referencing-containers--blobs--and-metadata#blob-names).
 type AzureBlobStorageData struct {
 	// AzureCredentials: Required. Credentials used to authenticate API
 	// requests to Azure.
@@ -299,12 +287,11 @@
 
 // AzureCredentials: Azure credentials
 type AzureCredentials struct {
-	// SasToken: Required. Azure shared access signature. (see
-	// [Grant limited access to Azure Storage resources using shared
-	// access
+	// SasToken: Required. Azure shared access signature. (see [Grant
+	// limited access to Azure Storage resources using shared access
 	// signatures
-	// (SAS)](https://docs.microsoft.com/en-us/azure/storag
-	// e/common/storage-sas-overview)).
+	// (SAS)](https://docs.microsoft.com/en-us/azure/storage/common/storage-s
+	// as-overview)).
 	SasToken string `json:"sasToken,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "SasToken") to
@@ -331,36 +318,26 @@
 }
 
 // Date: Represents a whole or partial calendar date, e.g. a birthday.
-// The time of day
-// and time zone are either specified elsewhere or are not significant.
-// The date
-// is relative to the Proleptic Gregorian Calendar. This can
-// represent:
-//
-// * A full date, with non-zero year, month and day values
-// * A month and day value, with a zero year, e.g. an anniversary
-// * A year on its own, with zero month and day values
-// * A year and month value, with a zero day, e.g. a credit card
-// expiration date
-//
-// Related types are google.type.TimeOfDay and
+// The time of day and time zone are either specified elsewhere or are
+// not significant. The date is relative to the Proleptic Gregorian
+// Calendar. This can represent: * A full date, with non-zero year,
+// month and day values * A month and day value, with a zero year, e.g.
+// an anniversary * A year on its own, with zero month and day values *
+// A year and month value, with a zero day, e.g. a credit card
+// expiration date Related types are google.type.TimeOfDay and
 // `google.protobuf.Timestamp`.
 type Date struct {
 	// Day: Day of month. Must be from 1 to 31 and valid for the year and
-	// month, or 0
-	// if specifying a year by itself or a year and month where the day is
-	// not
-	// significant.
+	// month, or 0 if specifying a year by itself or a year and month where
+	// the day is not significant.
 	Day int64 `json:"day,omitempty"`
 
 	// Month: Month of year. Must be from 1 to 12, or 0 if specifying a year
-	// without a
-	// month and day.
+	// without a month and day.
 	Month int64 `json:"month,omitempty"`
 
 	// Year: Year of date. Must be from 1 to 9999, or 0 if specifying a date
-	// without
-	// a year.
+	// without a year.
 	Year int64 `json:"year,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Day") to
@@ -387,17 +364,11 @@
 }
 
 // Empty: 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 `{}`.
+// 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 `{}`.
 type Empty struct {
 	// ServerResponse contains the HTTP response code and headers from the
 	// server.
@@ -410,8 +381,7 @@
 	ErrorDetails []string `json:"errorDetails,omitempty"`
 
 	// Url: Required. A URL that refers to the target (a data source, a data
-	// sink,
-	// or an object) with which the error is associated.
+	// sink, or an object) with which the error is associated.
 	Url string `json:"url,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ErrorDetails") to
@@ -438,175 +408,105 @@
 }
 
 // ErrorSummary: A summary of errors by error code, plus a count and
-// sample error log
-// entries.
+// sample error log entries.
 type ErrorSummary struct {
 	// ErrorCode: Required.
 	//
 	// Possible values:
-	//   "OK" - Not an error; returned on success
-	//
-	// HTTP Mapping: 200 OK
-	//   "CANCELLED" - The operation was cancelled, typically by the
-	// caller.
-	//
+	//   "OK" - Not an error; returned on success HTTP Mapping: 200 OK
+	//   "CANCELLED" - The operation was cancelled, typically by the caller.
 	// HTTP Mapping: 499 Client Closed Request
-	//   "UNKNOWN" - Unknown error.  For example, this error may be returned
-	// when
-	// a `Status` value received from another address space belongs to
-	// an error space that is not known in this address space.  Also
-	// errors raised by APIs that do not return enough error information
-	// may be converted to this error.
-	//
-	// HTTP Mapping: 500 Internal Server Error
-	//   "INVALID_ARGUMENT" - The client specified an invalid argument.
-	// Note that this differs
-	// from `FAILED_PRECONDITION`.  `INVALID_ARGUMENT` indicates
-	// arguments
-	// that are problematic regardless of the state of the system
-	// (e.g., a malformed file name).
-	//
-	// HTTP Mapping: 400 Bad Request
+	//   "UNKNOWN" - Unknown error. For example, this error may be returned
+	// when a `Status` value received from another address space belongs to
+	// an error space that is not known in this address space. Also errors
+	// raised by APIs that do not return enough error information may be
+	// converted to this error. HTTP Mapping: 500 Internal Server Error
+	//   "INVALID_ARGUMENT" - The client specified an invalid argument. Note
+	// that this differs from `FAILED_PRECONDITION`. `INVALID_ARGUMENT`
+	// indicates arguments that are problematic regardless of the state of
+	// the system (e.g., a malformed file name). HTTP Mapping: 400 Bad
+	// Request
 	//   "DEADLINE_EXCEEDED" - The deadline expired before the operation
-	// could complete. For operations
-	// that change the state of the system, this error may be returned
-	// even if the operation has completed successfully.  For example,
-	// a
-	// successful response from a server could have been delayed long
-	// enough for the deadline to expire.
-	//
-	// HTTP Mapping: 504 Gateway Timeout
+	// could complete. For operations that change the state of the system,
+	// this error may be returned even if the operation has completed
+	// successfully. For example, a successful response from a server could
+	// have been delayed long enough for the deadline to expire. HTTP
+	// Mapping: 504 Gateway Timeout
 	//   "NOT_FOUND" - Some requested entity (e.g., file or directory) was
-	// not found.
-	//
-	// Note to server developers: if a request is denied for an entire
-	// class
-	// of users, such as gradual feature rollout or undocumented
-	// allowlist,
-	// `NOT_FOUND` may be used. If a request is denied for some users
-	// within
-	// a class of users, such as user-based access control,
-	// `PERMISSION_DENIED`
-	// must be used.
-	//
-	// HTTP Mapping: 404 Not Found
+	// not found. Note to server developers: if a request is denied for an
+	// entire class of users, such as gradual feature rollout or
+	// undocumented allowlist, `NOT_FOUND` may be used. If a request is
+	// denied for some users within a class of users, such as user-based
+	// access control, `PERMISSION_DENIED` must be used. HTTP Mapping: 404
+	// Not Found
 	//   "ALREADY_EXISTS" - The entity that a client attempted to create
-	// (e.g., file or directory)
-	// already exists.
-	//
-	// HTTP Mapping: 409 Conflict
+	// (e.g., file or directory) already exists. HTTP Mapping: 409 Conflict
 	//   "PERMISSION_DENIED" - The caller does not have permission to
-	// execute the specified
-	// operation. `PERMISSION_DENIED` must not be used for rejections
-	// caused by exhausting some resource (use `RESOURCE_EXHAUSTED`
-	// instead for those errors). `PERMISSION_DENIED` must not be
-	// used if the caller can not be identified (use
-	// `UNAUTHENTICATED`
-	// instead for those errors). This error code does not imply the
-	// request is valid or the requested entity exists or satisfies
-	// other pre-conditions.
-	//
-	// HTTP Mapping: 403 Forbidden
+	// execute the specified operation. `PERMISSION_DENIED` must not be used
+	// for rejections caused by exhausting some resource (use
+	// `RESOURCE_EXHAUSTED` instead for those errors). `PERMISSION_DENIED`
+	// must not be used if the caller can not be identified (use
+	// `UNAUTHENTICATED` instead for those errors). This error code does not
+	// imply the request is valid or the requested entity exists or
+	// satisfies other pre-conditions. HTTP Mapping: 403 Forbidden
 	//   "UNAUTHENTICATED" - The request does not have valid authentication
-	// credentials for the
-	// operation.
-	//
-	// HTTP Mapping: 401 Unauthorized
+	// credentials for the operation. HTTP Mapping: 401 Unauthorized
 	//   "RESOURCE_EXHAUSTED" - Some resource has been exhausted, perhaps a
-	// per-user quota, or
-	// perhaps the entire file system is out of space.
-	//
+	// per-user quota, or perhaps the entire file system is out of space.
 	// HTTP Mapping: 429 Too Many Requests
 	//   "FAILED_PRECONDITION" - The operation was rejected because the
-	// system is not in a state
-	// required for the operation's execution.  For example, the
-	// directory
-	// to be deleted is non-empty, an rmdir operation is applied to
-	// a non-directory, etc.
-	//
-	// Service implementors can use the following guidelines to
-	// decide
-	// between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`:
-	//  (a) Use `UNAVAILABLE` if the client can retry just the failing
-	// call.
-	//  (b) Use `ABORTED` if the client should retry at a higher level
-	//      (e.g., when a client-specified test-and-set fails, indicating
-	// the
-	//      client should restart a read-modify-write sequence).
-	//  (c) Use `FAILED_PRECONDITION` if the client should not retry until
-	//      the system state has been explicitly fixed.  E.g., if an
-	// "rmdir"
-	//      fails because the directory is non-empty, `FAILED_PRECONDITION`
-	//      should be returned since the client should not retry unless
-	//      the files are deleted from the directory.
-	//
-	// HTTP Mapping: 400 Bad Request
+	// system is not in a state required for the operation's execution. For
+	// example, the directory to be deleted is non-empty, an rmdir operation
+	// is applied to a non-directory, etc. Service implementors can use the
+	// following guidelines to decide between `FAILED_PRECONDITION`,
+	// `ABORTED`, and `UNAVAILABLE`: (a) Use `UNAVAILABLE` if the client can
+	// retry just the failing call. (b) Use `ABORTED` if the client should
+	// retry at a higher level (e.g., when a client-specified test-and-set
+	// fails, indicating the client should restart a read-modify-write
+	// sequence). (c) Use `FAILED_PRECONDITION` if the client should not
+	// retry until the system state has been explicitly fixed. E.g., if an
+	// "rmdir" fails because the directory is non-empty,
+	// `FAILED_PRECONDITION` should be returned since the client should not
+	// retry unless the files are deleted from the directory. HTTP Mapping:
+	// 400 Bad Request
 	//   "ABORTED" - The operation was aborted, typically due to a
-	// concurrency issue such as
-	// a sequencer check failure or transaction abort.
-	//
-	// See the guidelines above for deciding between
-	// `FAILED_PRECONDITION`,
-	// `ABORTED`, and `UNAVAILABLE`.
-	//
-	// HTTP Mapping: 409 Conflict
+	// concurrency issue such as a sequencer check failure or transaction
+	// abort. See the guidelines above for deciding between
+	// `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping:
+	// 409 Conflict
 	//   "OUT_OF_RANGE" - The operation was attempted past the valid range.
-	// E.g., seeking or
-	// reading past end-of-file.
-	//
-	// Unlike `INVALID_ARGUMENT`, this error indicates a problem that may
-	// be fixed if the system state changes. For example, a 32-bit
-	// file
-	// system will generate `INVALID_ARGUMENT` if asked to read at an
-	// offset that is not in the range [0,2^32-1], but it will
-	// generate
-	// `OUT_OF_RANGE` if asked to read from an offset past the current
-	// file size.
-	//
-	// There is a fair bit of overlap between `FAILED_PRECONDITION`
-	// and
-	// `OUT_OF_RANGE`.  We recommend using `OUT_OF_RANGE` (the more
-	// specific
-	// error) when it applies so that callers who are iterating through
-	// a space can easily look for an `OUT_OF_RANGE` error to detect
-	// when
-	// they are done.
-	//
-	// HTTP Mapping: 400 Bad Request
+	// E.g., seeking or reading past end-of-file. Unlike `INVALID_ARGUMENT`,
+	// this error indicates a problem that may be fixed if the system state
+	// changes. For example, a 32-bit file system will generate
+	// `INVALID_ARGUMENT` if asked to read at an offset that is not in the
+	// range [0,2^32-1], but it will generate `OUT_OF_RANGE` if asked to
+	// read from an offset past the current file size. There is a fair bit
+	// of overlap between `FAILED_PRECONDITION` and `OUT_OF_RANGE`. We
+	// recommend using `OUT_OF_RANGE` (the more specific error) when it
+	// applies so that callers who are iterating through a space can easily
+	// look for an `OUT_OF_RANGE` error to detect when they are done. HTTP
+	// Mapping: 400 Bad Request
 	//   "UNIMPLEMENTED" - The operation is not implemented or is not
-	// supported/enabled in this
-	// service.
-	//
-	// HTTP Mapping: 501 Not Implemented
-	//   "INTERNAL" - Internal errors.  This means that some invariants
-	// expected by the
-	// underlying system have been broken.  This error code is reserved
-	// for serious errors.
-	//
-	// HTTP Mapping: 500 Internal Server Error
-	//   "UNAVAILABLE" - The service is currently unavailable.  This is most
-	// likely a
-	// transient condition, which can be corrected by retrying with
-	// a backoff. Note that it is not always safe to retry
-	// non-idempotent operations.
-	//
-	// See the guidelines above for deciding between
-	// `FAILED_PRECONDITION`,
-	// `ABORTED`, and `UNAVAILABLE`.
-	//
-	// HTTP Mapping: 503 Service Unavailable
-	//   "DATA_LOSS" - Unrecoverable data loss or corruption.
-	//
-	// HTTP Mapping: 500 Internal Server Error
+	// supported/enabled in this service. HTTP Mapping: 501 Not Implemented
+	//   "INTERNAL" - Internal errors. This means that some invariants
+	// expected by the underlying system have been broken. This error code
+	// is reserved for serious errors. HTTP Mapping: 500 Internal Server
+	// Error
+	//   "UNAVAILABLE" - The service is currently unavailable. This is most
+	// likely a transient condition, which can be corrected by retrying with
+	// a backoff. Note that it is not always safe to retry non-idempotent
+	// operations. See the guidelines above for deciding between
+	// `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`. HTTP Mapping:
+	// 503 Service Unavailable
+	//   "DATA_LOSS" - Unrecoverable data loss or corruption. HTTP Mapping:
+	// 500 Internal Server Error
 	ErrorCode string `json:"errorCode,omitempty"`
 
 	// ErrorCount: Required. Count of this type of error.
 	ErrorCount int64 `json:"errorCount,omitempty,string"`
 
-	// ErrorLogEntries: Error samples.
-	//
-	// At most 5 error log entries will be recorded for a given
-	// error code for a single transfer operation.
+	// ErrorLogEntries: Error samples. At most 5 error log entries will be
+	// recorded for a given error code for a single transfer operation.
 	ErrorLogEntries []*ErrorLogEntry `json:"errorLogEntries,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ErrorCode") to
@@ -633,18 +533,13 @@
 }
 
 // GcsData: In a GcsData resource, an object's name is the Cloud Storage
-// object's
-// name and its "last modification time" refers to the object's
-// `updated`
-// property of Cloud Storage objects, which changes when the content or
-// the
-// metadata of the object is updated.
+// object's name and its "last modification time" refers to the object's
+// `updated` property of Cloud Storage objects, which changes when the
+// content or the metadata of the object is updated.
 type GcsData struct {
-	// BucketName: Required. Cloud Storage bucket name (see
-	// [Bucket
-	// Name
-	// Requirements](https://cloud.google.com/storage/docs/naming#requir
-	// ements)).
+	// BucketName: Required. Cloud Storage bucket name (see [Bucket Name
+	// Requirements](https://cloud.google.com/storage/docs/naming#requirement
+	// s)).
 	BucketName string `json:"bucketName,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "BucketName") to
@@ -703,73 +598,36 @@
 }
 
 // HttpData: An HttpData resource specifies a list of objects on the web
-// to be transferred
-// over HTTP.  The information of the objects to be transferred is
-// contained in
-// a file referenced by a URL. The first line in the file must
-// be
-// "TsvHttpData-1.0", which specifies the format of the file.
-// Subsequent
-// lines specify the information of the list of objects, one object per
-// list
-// entry. Each entry has the following tab-delimited fields:
-//
-// * **HTTP URL** — The location of the object.
-//
-// * **Length** — The size of the object in bytes.
-//
-// * **MD5** — The base64-encoded MD5 hash of the object.
-//
-// For an example of a valid TSV file, see
-// [Transferring data
-// from
-// URLs](https://cloud.google.com/storage-transfer/docs/create-url-l
-// ist).
-//
-// When transferring data based on a URL list, keep the following in
-// mind:
-//
-// * When an object located at `http(s)://hostname:port/<URL-path>`
-// is
+// to be transferred over HTTP. The information of the objects to be
+// transferred is contained in a file referenced by a URL. The first
+// line in the file must be "TsvHttpData-1.0", which specifies the
+// format of the file. Subsequent lines specify the information of the
+// list of objects, one object per list entry. Each entry has the
+// following tab-delimited fields: * **HTTP URL** — The location of
+// the object. * **Length** — The size of the object in bytes. *
+// **MD5** — The base64-encoded MD5 hash of the object. For an example
+// of a valid TSV file, see [Transferring data from
+// URLs](https://cloud.google.com/storage-transfer/docs/create-url-list).
+//  When transferring data based on a URL list, keep the following in
+// mind: * When an object located at `http(s)://hostname:port/` is
 // transferred to a data sink, the name of the object at the data sink
-// is
-// `<hostname>/<URL-path>`.
-//
-// * If the specified size of an object does not match the actual size
-// of the
-// object fetched, the object will not be transferred.
-//
-// * If the specified MD5 does not match the MD5 computed from the
-// transferred
-// bytes, the object transfer will fail. For more information,
-// see
-// [Generating
-// MD5
-// hashes](https://cloud.google.com/storage-transfer/docs/create-url-
-// list#md5)
-//
-// * Ensure that each URL you specify is publicly accessible.
-// For
-// example, in Cloud Storage you can
-// [share an object
-// publicly]
-// (https://cloud.google.com/storage/docs/cloud-console#_sharin
-// gdata) and get
-// a link to it.
-//
-// * Storage Transfer Service obeys `robots.txt` rules and requires the
-// source
-// HTTP server to support `Range` requests and to return a
-// `Content-Length`
-// header in each response.
-//
-// * ObjectConditions have no effect when filtering objects to transfer.
+// is `/`. * If the specified size of an object does not match the
+// actual size of the object fetched, the object will not be
+// transferred. * If the specified MD5 does not match the MD5 computed
+// from the transferred bytes, the object transfer will fail. For more
+// information, see [Generating MD5
+// hashes](https://cloud.google.com/storage-transfer/docs/create-url-list
+// #md5) * Ensure that each URL you specify is publicly accessible. For
+// example, in Cloud Storage you can [share an object publicly]
+// (https://cloud.google.com/storage/docs/cloud-console#_sharingdata)
+// and get a link to it. * Storage Transfer Service obeys `robots.txt`
+// rules and requires the source HTTP server to support `Range` requests
+// and to return a `Content-Length` header in each response. *
+// ObjectConditions have no effect when filtering objects to transfer.
 type HttpData struct {
 	// ListUrl: Required. The URL that points to the file that stores the
-	// object list
-	// entries. This file must allow public access.  Currently, only URLs
-	// with
-	// HTTP and HTTPS schemes are supported.
+	// object list entries. This file must allow public access. Currently,
+	// only URLs with HTTP and HTTPS schemes are supported.
 	ListUrl string `json:"listUrl,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ListUrl") to
@@ -868,41 +726,28 @@
 }
 
 // NotificationConfig: Specification to configure notifications
-// published to Cloud Pub/Sub.
-// Notifications will be published to the customer-provided topic using
-// the
-// following `PubsubMessage.attributes`:
-//
-// * "eventType": one of the EventType values
-// * "payloadFormat": one of the PayloadFormat values
-// * "projectId": the project_id of the
-// `TransferOperation`
-// * "transferJobName": the
-// transfer_job_name of the
-// `TransferOperation`
-// * "transferOperationName": the name of the
-// `TransferOperation`
-//
-// The `PubsubMessage.data` will contain a TransferOperation
-// resource
+// published to Cloud Pub/Sub. Notifications will be published to the
+// customer-provided topic using the following
+// `PubsubMessage.attributes`: * "eventType": one of the EventType
+// values * "payloadFormat": one of the PayloadFormat values *
+// "projectId": the project_id of the `TransferOperation` *
+// "transferJobName": the transfer_job_name of the `TransferOperation`
+// * "transferOperationName": the name of the `TransferOperation` The
+// `PubsubMessage.data` will contain a TransferOperation resource
 // formatted according to the specified `PayloadFormat`.
 type NotificationConfig struct {
 	// EventTypes: Event types for which a notification is desired. If
-	// empty, send
-	// notifications for all event types.
+	// empty, send notifications for all event types.
 	//
 	// Possible values:
 	//   "EVENT_TYPE_UNSPECIFIED" - Illegal value, to avoid allowing a
 	// default.
 	//   "TRANSFER_OPERATION_SUCCESS" - `TransferOperation` completed with
-	// status
-	// SUCCESS.
+	// status SUCCESS.
 	//   "TRANSFER_OPERATION_FAILED" - `TransferOperation` completed with
-	// status
-	// FAILED.
+	// status FAILED.
 	//   "TRANSFER_OPERATION_ABORTED" - `TransferOperation` completed with
-	// status
-	// ABORTED.
+	// status ABORTED.
 	EventTypes []string `json:"eventTypes,omitempty"`
 
 	// PayloadFormat: Required. The desired format of the notification
@@ -912,19 +757,15 @@
 	//   "PAYLOAD_FORMAT_UNSPECIFIED" - Illegal value, to avoid allowing a
 	// default.
 	//   "NONE" - No payload is included with the notification.
-	//   "JSON" - `TransferOperation` is [formatted as a
-	// JSON
-	// response](https://developers.google.com/protocol-buffers/docs/pro
-	// to3#json),
-	// in application/json.
+	//   "JSON" - `TransferOperation` is [formatted as a JSON
+	// response](https://developers.google.com/protocol-buffers/docs/proto3#j
+	// son), in application/json.
 	PayloadFormat string `json:"payloadFormat,omitempty"`
 
 	// PubsubTopic: Required. The `Topic.name` of the Cloud Pub/Sub topic to
-	// which to publish
-	// notifications. Must be of the format:
-	// `projects/{project}/topics/{topic}`.
-	// Not matching this format will result in an
-	// INVALID_ARGUMENT error.
+	// which to publish notifications. Must be of the format:
+	// `projects/{project}/topics/{topic}`. Not matching this format will
+	// result in an INVALID_ARGUMENT error.
 	PubsubTopic string `json:"pubsubTopic,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "EventTypes") to
@@ -951,121 +792,72 @@
 }
 
 // ObjectConditions: Conditions that determine which objects will be
-// transferred. Applies only
-// to Cloud Data Sources such as S3, Azure, and Cloud Storage.
-//
-// The "last modification time" refers to the time of the
-// last change to the object's content or metadata — specifically,
-// this is
-// the `updated` property of Cloud Storage objects, the `LastModified`
-// field of
-// S3 objects, and the `Last-Modified` header of Azure blobs.
+// transferred. Applies only to Cloud Data Sources such as S3, Azure,
+// and Cloud Storage. The "last modification time" refers to the time of
+// the last change to the object's content or metadata — specifically,
+// this is the `updated` property of Cloud Storage objects, the
+// `LastModified` field of S3 objects, and the `Last-Modified` header of
+// Azure blobs.
 type ObjectConditions struct {
 	// ExcludePrefixes: `exclude_prefixes` must follow the requirements
-	// described for
-	// include_prefixes.
-	//
-	// The max size of `exclude_prefixes` is 1000.
+	// described for include_prefixes. The max size of `exclude_prefixes` is
+	// 1000.
 	ExcludePrefixes []string `json:"excludePrefixes,omitempty"`
 
 	// IncludePrefixes: If `include_prefixes` is specified, objects that
-	// satisfy the object
-	// conditions must have names that start with one of the
-	// `include_prefixes`
-	// and that do not start with any of the exclude_prefixes.
-	// If
-	// `include_prefixes` is not specified, all objects except those that
-	// have
-	// names starting with one of the `exclude_prefixes` must satisfy the
-	// object
-	// conditions.
-	//
-	// Requirements:
-	//
-	//   * Each include-prefix and exclude-prefix can contain any sequence
-	// of
-	//     Unicode characters, to a max length of 1024 bytes when
-	// UTF8-encoded,
-	//     and must not contain Carriage Return or Line Feed characters.
-	// Wildcard
-	//     matching and regular expression matching are not supported.
-	//
-	//   * Each include-prefix and exclude-prefix must omit the leading
-	// slash.
-	//     For example, to include the `requests.gz` object in a transfer
-	// from
-	//     `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the
-	// include
-	//     prefix as `logs/y=2015/requests.gz`.
-	//
-	//   * None of the include-prefix or the exclude-prefix values can be
-	// empty,
-	//     if specified.
-	//
-	//   * Each include-prefix must include a distinct portion of the
-	// object
-	//     namespace. No include-prefix may be a prefix of another
-	//     include-prefix.
-	//
-	//   * Each exclude-prefix must exclude a distinct portion of the
-	// object
-	//     namespace. No exclude-prefix may be a prefix of another
-	//     exclude-prefix.
-	//
-	//   * If `include_prefixes` is specified, then each exclude-prefix must
-	// start
-	//     with the value of a path explicitly included by
-	// `include_prefixes`.
-	//
-	// The max size of `include_prefixes` is 1000.
+	// satisfy the object conditions must have names that start with one of
+	// the `include_prefixes` and that do not start with any of the
+	// exclude_prefixes. If `include_prefixes` is not specified, all objects
+	// except those that have names starting with one of the
+	// `exclude_prefixes` must satisfy the object conditions. Requirements:
+	// * Each include-prefix and exclude-prefix can contain any sequence of
+	// Unicode characters, to a max length of 1024 bytes when UTF8-encoded,
+	// and must not contain Carriage Return or Line Feed characters.
+	// Wildcard matching and regular expression matching are not supported.
+	// * Each include-prefix and exclude-prefix must omit the leading slash.
+	// For example, to include the `requests.gz` object in a transfer from
+	// `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the include
+	// prefix as `logs/y=2015/requests.gz`. * None of the include-prefix or
+	// the exclude-prefix values can be empty, if specified. * Each
+	// include-prefix must include a distinct portion of the object
+	// namespace. No include-prefix may be a prefix of another
+	// include-prefix. * Each exclude-prefix must exclude a distinct portion
+	// of the object namespace. No exclude-prefix may be a prefix of another
+	// exclude-prefix. * If `include_prefixes` is specified, then each
+	// exclude-prefix must start with the value of a path explicitly
+	// included by `include_prefixes`. The max size of `include_prefixes` is
+	// 1000.
 	IncludePrefixes []string `json:"includePrefixes,omitempty"`
 
 	// LastModifiedBefore: If specified, only objects with a "last
-	// modification time" before this
-	// timestamp and objects that don't have a "last modification time" will
-	// be
-	// transferred.
+	// modification time" before this timestamp and objects that don't have
+	// a "last modification time" will be transferred.
 	LastModifiedBefore string `json:"lastModifiedBefore,omitempty"`
 
 	// LastModifiedSince: If specified, only objects with a "last
-	// modification time" on or after
-	// this timestamp and objects that don't have a "last modification time"
-	// are
-	// transferred.
-	//
-	// The `last_modified_since` and `last_modified_before` fields can be
-	// used
+	// modification time" on or after this timestamp and objects that don't
+	// have a "last modification time" are transferred. The
+	// `last_modified_since` and `last_modified_before` fields can be used
 	// together for chunked data processing. For example, consider a script
-	// that
-	// processes each day's worth of data at a time. For that you'd set
-	// each
-	// of the fields as follows:
-	//
-	// *  `last_modified_since` to the start of the day
-	//
-	// *  `last_modified_before` to the end of the day
+	// that processes each day's worth of data at a time. For that you'd set
+	// each of the fields as follows: * `last_modified_since` to the start
+	// of the day * `last_modified_before` to the end of the day
 	LastModifiedSince string `json:"lastModifiedSince,omitempty"`
 
 	// MaxTimeElapsedSinceLastModification: If specified, only objects with
-	// a "last modification time" on or after
-	// `NOW` - `max_time_elapsed_since_last_modification` and objects that
-	// don't
-	// have a "last modification time" are transferred.
-	//
-	// For each TransferOperation started by this TransferJob,
-	// `NOW` refers to the start_time of the
-	// `TransferOperation`.
+	// a "last modification time" on or after `NOW` -
+	// `max_time_elapsed_since_last_modification` and objects that don't
+	// have a "last modification time" are transferred. For each
+	// TransferOperation started by this TransferJob, `NOW` refers to the
+	// start_time of the `TransferOperation`.
 	MaxTimeElapsedSinceLastModification string `json:"maxTimeElapsedSinceLastModification,omitempty"`
 
 	// MinTimeElapsedSinceLastModification: If specified, only objects with
-	// a "last modification time" before
-	// `NOW` - `min_time_elapsed_since_last_modification` and objects that
-	// don't
-	//  have a "last modification time" are transferred.
-	//
-	// For each TransferOperation started by this TransferJob, `NOW`
-	// refers to the start_time of the
-	// `TransferOperation`.
+	// a "last modification time" before `NOW` -
+	// `min_time_elapsed_since_last_modification` and objects that don't
+	// have a "last modification time" are transferred. For each
+	// TransferOperation started by this TransferJob, `NOW` refers to the
+	// start_time of the `TransferOperation`.
 	MinTimeElapsedSinceLastModification string `json:"minTimeElapsedSinceLastModification,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ExcludePrefixes") to
@@ -1093,14 +885,11 @@
 }
 
 // Operation: This resource represents a long-running operation that is
-// the result of a
-// network API call.
+// the result of a network API call.
 type Operation struct {
 	// Done: 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.
+	// progress. If `true`, the operation is completed, and either `error`
+	// or `response` is available.
 	Done bool `json:"done,omitempty"`
 
 	// Error: The error result of the operation in case of failure or
@@ -1117,21 +906,14 @@
 	// `transferOperations/some/unique/name`.
 	Name string `json:"name,omitempty"`
 
-	// Response: 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`.
+	// Response: 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`.
 	Response googleapi.RawMessage `json:"response,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -1174,59 +956,36 @@
 // Schedule: Transfers can be scheduled to recur or to run just once.
 type Schedule struct {
 	// ScheduleEndDate: The last day a transfer runs. Date boundaries are
-	// determined relative to
-	// UTC time. A job will run once per 24 hours within the following
-	// guidelines:
-	//
-	// *   If `schedule_end_date` and schedule_start_date are the same and
-	// in
-	//     the future relative to UTC, the transfer is executed only one
-	// time.
-	// *   If `schedule_end_date` is later than `schedule_start_date`  and
-	//     `schedule_end_date` is in the future relative to UTC, the job
-	// will
-	//     run each day at start_time_of_day through `schedule_end_date`.
+	// determined relative to UTC time. A job will run once per 24 hours
+	// within the following guidelines: * If `schedule_end_date` and
+	// schedule_start_date are the same and in the future relative to UTC,
+	// the transfer is executed only one time. * If `schedule_end_date` is
+	// later than `schedule_start_date` and `schedule_end_date` is in the
+	// future relative to UTC, the job will run each day at
+	// start_time_of_day through `schedule_end_date`.
 	ScheduleEndDate *Date `json:"scheduleEndDate,omitempty"`
 
 	// ScheduleStartDate: Required. The start date of a transfer. Date
-	// boundaries are determined
-	// relative to UTC time. If `schedule_start_date` and
-	// start_time_of_day
-	// are in the past relative to the job's creation time, the transfer
-	// starts
-	// the day after you schedule the transfer request.
-	//
-	// **Note:** When starting jobs at or near midnight UTC it is possible
-	// that
-	// a job will start later than expected. For example, if you send an
-	// outbound
-	// request on June 1 one millisecond prior to midnight UTC and the
-	// Storage
-	// Transfer Service server receives the request on June 2, then it will
-	// create
-	// a TransferJob with `schedule_start_date` set to June 2 and
-	// a
-	// `start_time_of_day` set to midnight UTC. The first
-	// scheduled
+	// boundaries are determined relative to UTC time. If
+	// `schedule_start_date` and start_time_of_day are in the past relative
+	// to the job's creation time, the transfer starts the day after you
+	// schedule the transfer request. **Note:** When starting jobs at or
+	// near midnight UTC it is possible that a job will start later than
+	// expected. For example, if you send an outbound request on June 1 one
+	// millisecond prior to midnight UTC and the Storage Transfer Service
+	// server receives the request on June 2, then it will create a
+	// TransferJob with `schedule_start_date` set to June 2 and a
+	// `start_time_of_day` set to midnight UTC. The first scheduled
 	// TransferOperation will take place on June 3 at midnight UTC.
 	ScheduleStartDate *Date `json:"scheduleStartDate,omitempty"`
 
 	// StartTimeOfDay: The time in UTC that a transfer job is scheduled to
-	// run. Transfers may
-	// start later than this time.
-	//
-	// If `start_time_of_day` is not specified:
-	//
-	// *   One-time transfers run immediately.
-	// *   Recurring transfers run immediately, and each day at midnight
-	// UTC,
-	//     through schedule_end_date.
-	//
-	// If `start_time_of_day` is specified:
-	//
-	// *   One-time transfers run at the specified time.
-	// *   Recurring transfers run at the specified time each day, through
-	//     `schedule_end_date`.
+	// run. Transfers may start later than this time. If `start_time_of_day`
+	// is not specified: * One-time transfers run immediately. * Recurring
+	// transfers run immediately, and each day at midnight UTC, through
+	// schedule_end_date. If `start_time_of_day` is specified: * One-time
+	// transfers run at the specified time. * Recurring transfers run at the
+	// specified time each day, through `schedule_end_date`.
 	StartTimeOfDay *TimeOfDay `json:"startTimeOfDay,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ScheduleEndDate") to
@@ -1254,32 +1013,24 @@
 }
 
 // Status: The `Status` type defines a logical error model that is
-// suitable for
-// different programming environments, including REST APIs and RPC APIs.
-// It is
-// used by [gRPC](https://github.com/grpc). Each `Status` message
-// contains
-// three pieces of data: error code, error message, and error
-// details.
-//
-// You can find out more about this error model and how to work with it
-// in the
-// [API Design Guide](https://cloud.google.com/apis/design/errors).
+// suitable for different programming environments, including REST APIs
+// and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each
+// `Status` message contains three pieces of data: error code, error
+// message, and error details. You can find out more about this error
+// model and how to work with it in the [API Design
+// Guide](https://cloud.google.com/apis/design/errors).
 type Status struct {
 	// Code: The status code, which should be an enum value of
 	// google.rpc.Code.
 	Code int64 `json:"code,omitempty"`
 
-	// Details: A list of messages that carry the error details.  There is a
-	// common set of
-	// message types for APIs to use.
+	// Details: A list of messages that carry the error details. There is a
+	// common set of message types for APIs to use.
 	Details []googleapi.RawMessage `json:"details,omitempty"`
 
 	// Message: 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.
+	// English. Any user-facing error message should be localized and sent
+	// in the google.rpc.Status.details field, or localized by the client.
 	Message string `json:"message,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Code") to
@@ -1306,15 +1057,13 @@
 }
 
 // TimeOfDay: Represents a time of day. The date and time zone are
-// either not significant
-// or are specified elsewhere. An API may choose to allow leap seconds.
-// Related
-// types are google.type.Date and `google.protobuf.Timestamp`.
+// either not significant or are specified elsewhere. An API may choose
+// to allow leap seconds. Related types are google.type.Date and
+// `google.protobuf.Timestamp`.
 type TimeOfDay struct {
 	// Hours: Hours of day in 24 hour format. Should be from 0 to 23. An API
-	// may choose
-	// to allow the value "24:00:00" for scenarios like business closing
-	// time.
+	// may choose to allow the value "24:00:00" for scenarios like business
+	// closing time.
 	Hours int64 `json:"hours,omitempty"`
 
 	// Minutes: Minutes of hour of day. Must be from 0 to 59.
@@ -1325,8 +1074,7 @@
 	Nanos int64 `json:"nanos,omitempty"`
 
 	// Seconds: Seconds of minutes of the time. Must normally be from 0 to
-	// 59. An API may
-	// allow the value 60 if it allows leap-seconds.
+	// 59. An API may allow the value 60 if it allows leap-seconds.
 	Seconds int64 `json:"seconds,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "Hours") to
@@ -1369,10 +1117,8 @@
 	BytesFailedToDeleteFromSink int64 `json:"bytesFailedToDeleteFromSink,omitempty,string"`
 
 	// BytesFoundFromSource: Bytes found in the data source that are
-	// scheduled to be transferred,
-	// excluding any that are filtered based on object conditions or skipped
-	// due
-	// to sync.
+	// scheduled to be transferred, excluding any that are filtered based on
+	// object conditions or skipped due to sync.
 	BytesFoundFromSource int64 `json:"bytesFoundFromSource,omitempty,string"`
 
 	// BytesFoundOnlyFromSink: Bytes found only in the data sink that are
@@ -1380,13 +1126,11 @@
 	BytesFoundOnlyFromSink int64 `json:"bytesFoundOnlyFromSink,omitempty,string"`
 
 	// BytesFromSourceFailed: Bytes in the data source that failed to be
-	// transferred or that failed to
-	// be deleted after being transferred.
+	// transferred or that failed to be deleted after being transferred.
 	BytesFromSourceFailed int64 `json:"bytesFromSourceFailed,omitempty,string"`
 
 	// BytesFromSourceSkippedBySync: Bytes in the data source that are not
-	// transferred because they already
-	// exist in the data sink.
+	// transferred because they already exist in the data sink.
 	BytesFromSourceSkippedBySync int64 `json:"bytesFromSourceSkippedBySync,omitempty,string"`
 
 	// ObjectsCopiedToSink: Objects that are copied to the data sink.
@@ -1404,10 +1148,8 @@
 	ObjectsFailedToDeleteFromSink int64 `json:"objectsFailedToDeleteFromSink,omitempty,string"`
 
 	// ObjectsFoundFromSource: Objects found in the data source that are
-	// scheduled to be transferred,
-	// excluding any that are filtered based on object conditions or skipped
-	// due
-	// to sync.
+	// scheduled to be transferred, excluding any that are filtered based on
+	// object conditions or skipped due to sync.
 	ObjectsFoundFromSource int64 `json:"objectsFoundFromSource,omitempty,string"`
 
 	// ObjectsFoundOnlyFromSink: Objects found only in the data sink that
@@ -1415,13 +1157,11 @@
 	ObjectsFoundOnlyFromSink int64 `json:"objectsFoundOnlyFromSink,omitempty,string"`
 
 	// ObjectsFromSourceFailed: Objects in the data source that failed to be
-	// transferred or that failed
-	// to be deleted after being transferred.
+	// transferred or that failed to be deleted after being transferred.
 	ObjectsFromSourceFailed int64 `json:"objectsFromSourceFailed,omitempty,string"`
 
 	// ObjectsFromSourceSkippedBySync: Objects in the data source that are
-	// not transferred because they already
-	// exist in the data sink.
+	// not transferred because they already exist in the data sink.
 	ObjectsFromSourceSkippedBySync int64 `json:"objectsFromSourceSkippedBySync,omitempty,string"`
 
 	// ForceSendFields is a list of field names (e.g. "BytesCopiedToSink")
@@ -1449,8 +1189,7 @@
 }
 
 // TransferJob: This resource represents the configuration of a transfer
-// job that runs
-// periodically.
+// job that runs periodically.
 type TransferJob struct {
 	// CreationTime: Output only. The time that the transfer job was
 	// created.
@@ -1461,8 +1200,7 @@
 	DeletionTime string `json:"deletionTime,omitempty"`
 
 	// Description: A description provided by the user for the job. Its max
-	// length is 1024
-	// bytes when Unicode-encoded.
+	// length is 1024 bytes when Unicode-encoded.
 	Description string `json:"description,omitempty"`
 
 	// LastModificationTime: Output only. The time that the transfer job was
@@ -1470,24 +1208,15 @@
 	LastModificationTime string `json:"lastModificationTime,omitempty"`
 
 	// Name: A unique name (within the transfer project) assigned when the
-	// job is
-	// created.  If this field is empty in a CreateTransferJobRequest,
-	// Storage
-	// Transfer Service will assign a unique name. Otherwise, the specified
-	// name
-	// is used as the unique name for this job.
-	//
-	// If the specified name is in use by a job, the creation request fails
-	// with
-	// an ALREADY_EXISTS error.
-	//
-	// This name must start with "transferJobs/" prefix and end with a
-	// letter or
-	// a number, and should be no more than 128 characters.
-	// Example: "transferJobs/[A-Za-z0-9-._~]*[A-Za-z0-9]$"
-	//
-	// Invalid job names will fail with an
-	// INVALID_ARGUMENT error.
+	// job is created. If this field is empty in a CreateTransferJobRequest,
+	// Storage Transfer Service will assign a unique name. Otherwise, the
+	// specified name is used as the unique name for this job. If the
+	// specified name is in use by a job, the creation request fails with an
+	// ALREADY_EXISTS error. This name must start with "transferJobs/"
+	// prefix and end with a letter or a number, and should be no more than
+	// 128 characters. Example:
+	// "transferJobs/[A-Za-z0-9-._~]*[A-Za-z0-9]$" Invalid job names will
+	// fail with an INVALID_ARGUMENT error.
 	Name string `json:"name,omitempty"`
 
 	// NotificationConfig: Notification configuration.
@@ -1500,28 +1229,21 @@
 	// Schedule: Schedule specification.
 	Schedule *Schedule `json:"schedule,omitempty"`
 
-	// Status: Status of the job. This value MUST be specified
-	// for
-	// `CreateTransferJobRequests`.
-	//
-	// **Note:** The effect of the new job status takes place during a
-	// subsequent
-	// job run. For example, if you change the job status from
-	// ENABLED to DISABLED, and an operation
+	// Status: Status of the job. This value MUST be specified for
+	// `CreateTransferJobRequests`. **Note:** The effect of the new job
+	// status takes place during a subsequent job run. For example, if you
+	// change the job status from ENABLED to DISABLED, and an operation
 	// spawned by the transfer is running, the status change would not
-	// affect the
-	// current operation.
+	// affect the current operation.
 	//
 	// Possible values:
 	//   "STATUS_UNSPECIFIED" - Zero is an illegal value.
 	//   "ENABLED" - New transfers will be performed based on the schedule.
 	//   "DISABLED" - New transfers will not be scheduled.
 	//   "DELETED" - This is a soft delete state. After a transfer job is
-	// set to this
-	// state, the job and all the transfer executions are subject to
-	// garbage collection. Transfer jobs become eligible for garbage
-	// collection
-	// 30 days after their status is set to `DELETED`.
+	// set to this state, the job and all the transfer executions are
+	// subject to garbage collection. Transfer jobs become eligible for
+	// garbage collection 30 days after their status is set to `DELETED`.
 	Status string `json:"status,omitempty"`
 
 	// TransferSpec: Transfer specification.
@@ -1626,20 +1348,14 @@
 // on objects in a transfer.
 type TransferOptions struct {
 	// DeleteObjectsFromSourceAfterTransfer: Whether objects should be
-	// deleted from the source after they are
-	// transferred to the sink.
-	//
-	// **Note:** This option and delete_objects_unique_in_sink are
-	// mutually
+	// deleted from the source after they are transferred to the sink.
+	// **Note:** This option and delete_objects_unique_in_sink are mutually
 	// exclusive.
 	DeleteObjectsFromSourceAfterTransfer bool `json:"deleteObjectsFromSourceAfterTransfer,omitempty"`
 
 	// DeleteObjectsUniqueInSink: Whether objects that exist only in the
-	// sink should be deleted.
-	//
-	// **Note:** This option and delete_objects_from_source_after_transfer
-	// are
-	// mutually exclusive.
+	// sink should be deleted. **Note:** This option and
+	// delete_objects_from_source_after_transfer are mutually exclusive.
 	DeleteObjectsUniqueInSink bool `json:"deleteObjectsUniqueInSink,omitempty"`
 
 	// OverwriteObjectsAlreadyExistingInSink: Whether overwriting objects
@@ -1689,18 +1405,15 @@
 	HttpDataSource *HttpData `json:"httpDataSource,omitempty"`
 
 	// ObjectConditions: Only objects that satisfy these object conditions
-	// are included in the set
-	// of data source and data sink objects.  Object conditions based
-	// on
-	// objects' "last modification time" do not exclude objects in a data
-	// sink.
+	// are included in the set of data source and data sink objects. Object
+	// conditions based on objects' "last modification time" do not exclude
+	// objects in a data sink.
 	ObjectConditions *ObjectConditions `json:"objectConditions,omitempty"`
 
-	// TransferOptions: If the option
-	// delete_objects_unique_in_sink
-	// is `true`, object conditions based on objects' "last modification
-	// time" are
-	// ignored and do not exclude objects in a data source or a data sink.
+	// TransferOptions: If the option delete_objects_unique_in_sink is
+	// `true`, object conditions based on objects' "last modification time"
+	// are ignored and do not exclude objects in a data source or a data
+	// sink.
 	TransferOptions *TransferOptions `json:"transferOptions,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AwsS3DataSource") to
@@ -1730,33 +1443,23 @@
 // UpdateTransferJobRequest: Request passed to UpdateTransferJob.
 type UpdateTransferJobRequest struct {
 	// ProjectId: Required. The ID of the Google Cloud Platform Console
-	// project that owns the
-	// job.
+	// project that owns the job.
 	ProjectId string `json:"projectId,omitempty"`
 
 	// TransferJob: Required. The job to update. `transferJob` is expected
-	// to specify only
-	// four fields: description,
-	// transfer_spec,
-	// notification_config, and
-	// status.  An `UpdateTransferJobRequest` that specifies
-	// other fields will be rejected with the error
+	// to specify only four fields: description, transfer_spec,
+	// notification_config, and status. An `UpdateTransferJobRequest` that
+	// specifies other fields will be rejected with the error
 	// INVALID_ARGUMENT.
 	TransferJob *TransferJob `json:"transferJob,omitempty"`
 
 	// UpdateTransferJobFieldMask: The field mask of the fields in
-	// `transferJob` that are to be updated in
-	// this request.  Fields in `transferJob` that can be updated
-	// are:
-	// description,
-	// transfer_spec,
-	// notification_config, and
-	// status.  To update the `transfer_spec` of the job, a
-	// complete transfer specification must be provided. An
-	// incomplete
-	// specification missing any required fields will be rejected with the
-	// error
-	// INVALID_ARGUMENT.
+	// `transferJob` that are to be updated in this request. Fields in
+	// `transferJob` that can be updated are: description, transfer_spec,
+	// notification_config, and status. To update the `transfer_spec` of the
+	// job, a complete transfer specification must be provided. An
+	// incomplete specification missing any required fields will be rejected
+	// with the error INVALID_ARGUMENT.
 	UpdateTransferJobFieldMask string `json:"updateTransferJobFieldMask,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "ProjectId") to
@@ -1794,17 +1497,13 @@
 }
 
 // Get: Returns the Google service account that is used by Storage
-// Transfer
-// Service to access buckets in the project where transfers
-// run or in other projects. Each Google service account is
-// associated
-// with one Google Cloud Platform Console project. Users
-// should add this service account to the Google Cloud Storage
-// bucket
-// ACLs to grant access to Storage Transfer Service. This
-// service
-// account is created and owned by Storage Transfer Service and can
-// only be used by Storage Transfer Service.
+// Transfer Service to access buckets in the project where transfers run
+// or in other projects. Each Google service account is associated with
+// one Google Cloud Platform Console project. Users should add this
+// service account to the Google Cloud Storage bucket ACLs to grant
+// access to Storage Transfer Service. This service account is created
+// and owned by Storage Transfer Service and can only be used by Storage
+// Transfer Service.
 func (r *GoogleServiceAccountsService) Get(projectId string) *GoogleServiceAccountsGetCall {
 	c := &GoogleServiceAccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.projectId = projectId
@@ -1848,7 +1547,7 @@
 
 func (c *GoogleServiceAccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1910,7 +1609,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Returns the Google service account that is used by Storage Transfer\nService to access buckets in the project where transfers\nrun or in other projects. Each Google service account is associated\nwith one Google Cloud Platform Console project. Users\nshould add this service account to the Google Cloud Storage bucket\nACLs to grant access to Storage Transfer Service. This service\naccount is created and owned by Storage Transfer Service and can\nonly be used by Storage Transfer Service.",
+	//   "description": "Returns the Google service account that is used by Storage Transfer Service to access buckets in the project where transfers run or in other projects. Each Google service account is associated with one Google Cloud Platform Console project. Users should add this service account to the Google Cloud Storage bucket ACLs to grant access to Storage Transfer Service. This service account is created and owned by Storage Transfer Service and can only be used by Storage Transfer Service.",
 	//   "flatPath": "v1/googleServiceAccounts/{projectId}",
 	//   "httpMethod": "GET",
 	//   "id": "storagetransfer.googleServiceAccounts.get",
@@ -1919,7 +1618,7 @@
 	//   ],
 	//   "parameters": {
 	//     "projectId": {
-	//       "description": "Required. The ID of the Google Cloud Platform Console project that the\nGoogle service account is associated with.",
+	//       "description": "Required. The ID of the Google Cloud Platform Console project that the Google service account is associated with.",
 	//       "location": "path",
 	//       "required": true,
 	//       "type": "string"
@@ -1980,7 +1679,7 @@
 
 func (c *TransferJobsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2080,8 +1779,7 @@
 }
 
 // ProjectId sets the optional parameter "projectId": Required. The ID
-// of the Google Cloud Platform Console project that owns the
-// job.
+// of the Google Cloud Platform Console project that owns the job.
 func (c *TransferJobsGetCall) ProjectId(projectId string) *TransferJobsGetCall {
 	c.urlParams_.Set("projectId", projectId)
 	return c
@@ -2124,7 +1822,7 @@
 
 func (c *TransferJobsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2202,7 +1900,7 @@
 	//       "type": "string"
 	//     },
 	//     "projectId": {
-	//       "description": "Required. The ID of the Google Cloud Platform Console project that owns the\njob.",
+	//       "description": "Required. The ID of the Google Cloud Platform Console project that owns the job.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
@@ -2235,21 +1933,13 @@
 }
 
 // Filter sets the optional parameter "filter": Required. A list of
-// query parameters specified as JSON text in the form
-// of:
-// {"project<span>_</span>id":"my_project_id",
-//  "job_names":["jobid1","jobid2",...],
-//  "job_statuses":["status1","status2",...]}.
-// Since `job_names` and `job_statuses` support multiple values, their
-// values
-// must be specified with array notation. `project`<span>`_`</span>`id`
-// is
-// required.  `job_names` and `job_statuses` are optional.  The valid
-// values
-// for `job_statuses` are case-insensitive:
-// ENABLED,
-// DISABLED, and
-// DELETED.
+// query parameters specified as JSON text in the form of:
+// {"project_id":"my_project_id", "job_names":["jobid1","jobid2",...],
+// "job_statuses":["status1","status2",...]}. Since `job_names` and
+// `job_statuses` support multiple values, their values must be
+// specified with array notation. `project``_``id` is required.
+// `job_names` and `job_statuses` are optional. The valid values for
+// `job_statuses` are case-insensitive: ENABLED, DISABLED, and DELETED.
 func (c *TransferJobsListCall) Filter(filter string) *TransferJobsListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
@@ -2306,7 +1996,7 @@
 
 func (c *TransferJobsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2372,7 +2062,7 @@
 	//   "parameterOrder": [],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "Required. A list of query parameters specified as JSON text in the form of:\n{\"project\u003cspan\u003e_\u003c/span\u003eid\":\"my_project_id\",\n \"job_names\":[\"jobid1\",\"jobid2\",...],\n \"job_statuses\":[\"status1\",\"status2\",...]}.\nSince `job_names` and `job_statuses` support multiple values, their values\nmust be specified with array notation. `project`\u003cspan\u003e`_`\u003c/span\u003e`id` is\nrequired.  `job_names` and `job_statuses` are optional.  The valid values\nfor `job_statuses` are case-insensitive:\nENABLED,\nDISABLED, and\nDELETED.",
+	//       "description": "Required. A list of query parameters specified as JSON text in the form of: {\"project_id\":\"my_project_id\", \"job_names\":[\"jobid1\",\"jobid2\",...], \"job_statuses\":[\"status1\",\"status2\",...]}. Since `job_names` and `job_statuses` support multiple values, their values must be specified with array notation. `project``_``id` is required. `job_names` and `job_statuses` are optional. The valid values for `job_statuses` are case-insensitive: ENABLED, DISABLED, and DELETED.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -2432,17 +2122,10 @@
 }
 
 // Patch: Updates a transfer job. Updating a job's transfer spec does
-// not affect
-// transfer operations that are running already. Updating a job's
-// schedule
-// is not allowed.
-//
-// **Note:** The job's status field can be modified
-// using this RPC (for example, to set a job's status
-// to
-// DELETED,
-// DISABLED, or
-// ENABLED).
+// not affect transfer operations that are running already. Updating a
+// job's schedule is not allowed. **Note:** The job's status field can
+// be modified using this RPC (for example, to set a job's status to
+// DELETED, DISABLED, or ENABLED).
 func (r *TransferJobsService) Patch(jobName string, updatetransferjobrequest *UpdateTransferJobRequest) *TransferJobsPatchCall {
 	c := &TransferJobsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.jobName = jobName
@@ -2477,7 +2160,7 @@
 
 func (c *TransferJobsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2541,7 +2224,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Updates a transfer job. Updating a job's transfer spec does not affect\ntransfer operations that are running already. Updating a job's schedule\nis not allowed.\n\n**Note:** The job's status field can be modified\nusing this RPC (for example, to set a job's status to\nDELETED,\nDISABLED, or\nENABLED).",
+	//   "description": "Updates a transfer job. Updating a job's transfer spec does not affect transfer operations that are running already. Updating a job's schedule is not allowed. **Note:** The job's status field can be modified using this RPC (for example, to set a job's status to DELETED, DISABLED, or ENABLED).",
 	//   "flatPath": "v1/transferJobs/{transferJobsId}",
 	//   "httpMethod": "PATCH",
 	//   "id": "storagetransfer.transferJobs.patch",
@@ -2581,45 +2264,24 @@
 	header_    http.Header
 }
 
-// Cancel: Cancels a transfer. Use the
-// transferOperations.get method to
+// Cancel: Cancels a transfer. Use the transferOperations.get method to
 // check if the cancellation succeeded or if the operation completed
-// despite
-// the `cancel` request.
-//
-// When you cancel an operation, the currently running transfer
-// is
-// interrupted.  For recurring transfer jobs, the next instance of the
-// transfer job
-// will still run.  For example, if your job is configured to run every
-// day
-// at 1pm and you cancel Monday's operation at 1:05pm, Monday's
-// transfer
-// will stop. However, a transfer job will still be attempted on
-// Tuesday.
-//
-// This applies only to currently running operations. If an operation
-// is
-// not currently running, `cancel` does nothing.
-//
-// <aside class="caution">
-// <b>Caution:</b> Canceling a transfer job can leave your data in an
-// unknown
-// state. We recommend that you restore the state at both the
-// destination and the
-// source after the `cancel` request completes so that your data is in a
-// consistent
-// state.
-// </aside>
-//
-// When you cancel a job, the next job computes a delta of files and may
-// repair any
-// inconsistent state. For instance, if you run a job every day, and
-// today's job
-// found 10 new files and transferred five files before you canceled the
-// job,
-// tomorrow's transfer operation will compute a new delta with the five
-// files that
+// despite the `cancel` request. When you cancel an operation, the
+// currently running transfer is interrupted. For recurring transfer
+// jobs, the next instance of the transfer job will still run. For
+// example, if your job is configured to run every day at 1pm and you
+// cancel Monday's operation at 1:05pm, Monday's transfer will stop.
+// However, a transfer job will still be attempted on Tuesday. This
+// applies only to currently running operations. If an operation is not
+// currently running, `cancel` does nothing. *Caution:* Canceling a
+// transfer job can leave your data in an unknown state. We recommend
+// that you restore the state at both the destination and the source
+// after the `cancel` request completes so that your data is in a
+// consistent state. When you cancel a job, the next job computes a
+// delta of files and may repair any inconsistent state. For instance,
+// if you run a job every day, and today's job found 10 new files and
+// transferred five files before you canceled the job, tomorrow's
+// transfer operation will compute a new delta with the five files that
 // were not copied today plus any new files discovered tomorrow.
 func (r *TransferOperationsService) Cancel(name string) *TransferOperationsCancelCall {
 	c := &TransferOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
@@ -2654,7 +2316,7 @@
 
 func (c *TransferOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2713,7 +2375,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Cancels a transfer. Use the\ntransferOperations.get method to\ncheck if the cancellation succeeded or if the operation completed despite\nthe `cancel` request.\n\nWhen you cancel an operation, the currently running transfer is\ninterrupted.  For recurring transfer jobs, the next instance of the transfer job\nwill still run.  For example, if your job is configured to run every day\nat 1pm and you cancel Monday's operation at 1:05pm, Monday's transfer\nwill stop. However, a transfer job will still be attempted on Tuesday.\n\nThis applies only to currently running operations. If an operation is\nnot currently running, `cancel` does nothing.\n\n\u003caside class=\"caution\"\u003e\n\u003cb\u003eCaution:\u003c/b\u003e Canceling a transfer job can leave your data in an unknown\nstate. We recommend that you restore the state at both the destination and the\nsource after the `cancel` request completes so that your data is in a consistent\nstate.\n\u003c/aside\u003e\n\nWhen you cancel a job, the next job computes a delta of files and may repair any\ninconsistent state. For instance, if you run a job every day, and today's job\nfound 10 new files and transferred five files before you canceled the job,\ntomorrow's transfer operation will compute a new delta with the five files that\nwere not copied today plus any new files discovered tomorrow.",
+	//   "description": "Cancels a transfer. Use the transferOperations.get method to check if the cancellation succeeded or if the operation completed despite the `cancel` request. When you cancel an operation, the currently running transfer is interrupted. For recurring transfer jobs, the next instance of the transfer job will still run. For example, if your job is configured to run every day at 1pm and you cancel Monday's operation at 1:05pm, Monday's transfer will stop. However, a transfer job will still be attempted on Tuesday. This applies only to currently running operations. If an operation is not currently running, `cancel` does nothing. *Caution:* Canceling a transfer job can leave your data in an unknown state. We recommend that you restore the state at both the destination and the source after the `cancel` request completes so that your data is in a consistent state. When you cancel a job, the next job computes a delta of files and may repair any inconsistent state. For instance, if you run a job every day, and today's job found 10 new files and transferred five files before you canceled the job, tomorrow's transfer operation will compute a new delta with the five files that were not copied today plus any new files discovered tomorrow.",
 	//   "flatPath": "v1/transferOperations/{transferOperationsId}:cancel",
 	//   "httpMethod": "POST",
 	//   "id": "storagetransfer.transferOperations.cancel",
@@ -2751,11 +2413,9 @@
 	header_      http.Header
 }
 
-// Get: 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.
+// Get: 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.
 func (r *TransferOperationsService) Get(name string) *TransferOperationsGetCall {
 	c := &TransferOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.name = name
@@ -2799,7 +2459,7 @@
 
 func (c *TransferOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2861,7 +2521,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
+	//   "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.",
 	//   "flatPath": "v1/transferOperations/{transferOperationsId}",
 	//   "httpMethod": "GET",
 	//   "id": "storagetransfer.transferOperations.get",
@@ -2908,16 +2568,14 @@
 
 // Filter sets the optional parameter "filter": Required. A list of
 // query parameters specified as JSON text in the form of:
-// {"project<span>_</span>id":"my_project_id",
-//  "job_names":["jobid1","jobid2",...],
-//  "operation_names":["opid1","opid2",...],
-//  "transfer_statuses":["status1","status2",...]}.
-// Since `job_names`, `operation_names`, and `transfer_statuses` support
-// multiple values, they must be specified with array notation.
-// `project`<span>`_`</span>`id` is required. `job_names`,
-// `operation_names`, and `transfer_statuses` are optional. The valid
-// values for `transfer_statuses` are case-insensitive: IN_PROGRESS,
-// PAUSED, SUCCESS, FAILED, and ABORTED.
+// {"project_id":"my_project_id", "job_names":["jobid1","jobid2",...],
+// "operation_names":["opid1","opid2",...],
+// "transfer_statuses":["status1","status2",...]}. Since `job_names`,
+// `operation_names`, and `transfer_statuses` support multiple values,
+// they must be specified with array notation. `project``_``id` is
+// required. `job_names`, `operation_names`, and `transfer_statuses` are
+// optional. The valid values for `transfer_statuses` are
+// case-insensitive: IN_PROGRESS, PAUSED, SUCCESS, FAILED, and ABORTED.
 func (c *TransferOperationsListCall) Filter(filter string) *TransferOperationsListCall {
 	c.urlParams_.Set("filter", filter)
 	return c
@@ -2974,7 +2632,7 @@
 
 func (c *TransferOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3045,7 +2703,7 @@
 	//   ],
 	//   "parameters": {
 	//     "filter": {
-	//       "description": "Required. A list of query parameters specified as JSON text in the form of: {\"project\u003cspan\u003e_\u003c/span\u003eid\":\"my_project_id\",\n \"job_names\":[\"jobid1\",\"jobid2\",...],\n \"operation_names\":[\"opid1\",\"opid2\",...],\n \"transfer_statuses\":[\"status1\",\"status2\",...]}.\nSince `job_names`, `operation_names`, and `transfer_statuses` support multiple values, they must be specified with array notation. `project`\u003cspan\u003e`_`\u003c/span\u003e`id` is required. `job_names`, `operation_names`, and `transfer_statuses` are optional. The valid values for `transfer_statuses` are case-insensitive: IN_PROGRESS, PAUSED, SUCCESS, FAILED, and ABORTED.",
+	//       "description": "Required. 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\",...], \"transfer_statuses\":[\"status1\",\"status2\",...]}. Since `job_names`, `operation_names`, and `transfer_statuses` support multiple values, they must be specified with array notation. `project``_``id` is required. `job_names`, `operation_names`, and `transfer_statuses` are optional. The valid values for `transfer_statuses` are case-insensitive: IN_PROGRESS, PAUSED, SUCCESS, FAILED, and ABORTED.",
 	//       "location": "query",
 	//       "type": "string"
 	//     },
@@ -3146,7 +2804,7 @@
 
 func (c *TransferOperationsPauseCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3286,7 +2944,7 @@
 
 func (c *TransferOperationsResumeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/streetviewpublish/v1/streetviewpublish-gen.go b/streetviewpublish/v1/streetviewpublish-gen.go
index e968abb..24d34a5 100644
--- a/streetviewpublish/v1/streetviewpublish-gen.go
+++ b/streetviewpublish/v1/streetviewpublish-gen.go
@@ -1016,7 +1016,7 @@
 
 func (c *PhotoCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1144,7 +1144,7 @@
 
 func (c *PhotoDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1313,7 +1313,7 @@
 
 func (c *PhotoGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1468,7 +1468,7 @@
 
 func (c *PhotoStartUploadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1621,7 +1621,7 @@
 
 func (c *PhotoUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1770,7 +1770,7 @@
 
 func (c *PhotosBatchDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1942,7 +1942,7 @@
 
 func (c *PhotosBatchGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2099,7 +2099,7 @@
 
 func (c *PhotosBatchUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2285,7 +2285,7 @@
 
 func (c *PhotosListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/synth.metadata b/synth.metadata
index 54ad9df..9697cad 100644
--- a/synth.metadata
+++ b/synth.metadata
@@ -4,7 +4,7 @@
       "git": {
         "name": ".",
         "remote": "https://github.com/googleapis/google-api-go-client.git",
-        "sha": "9e2b1a1ddef64e24a341da66a07b9d56a1747eae"
+        "sha": "a87a0974131ca1aa879e0dd1d89726d577540c28"
       }
     }
   ]
diff --git a/tagmanager/v1/tagmanager-gen.go b/tagmanager/v1/tagmanager-gen.go
index d07a46b..c174301 100644
--- a/tagmanager/v1/tagmanager-gen.go
+++ b/tagmanager/v1/tagmanager-gen.go
@@ -2249,7 +2249,7 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2392,7 +2392,7 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2524,7 +2524,7 @@
 
 func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2668,7 +2668,7 @@
 
 func (c *AccountsContainersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2807,7 +2807,7 @@
 
 func (c *AccountsContainersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2929,7 +2929,7 @@
 
 func (c *AccountsContainersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3081,7 +3081,7 @@
 
 func (c *AccountsContainersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3226,7 +3226,7 @@
 
 func (c *AccountsContainersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3380,7 +3380,7 @@
 
 func (c *AccountsContainersEnvironmentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3529,7 +3529,7 @@
 
 func (c *AccountsContainersEnvironmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3661,7 +3661,7 @@
 
 func (c *AccountsContainersEnvironmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3823,7 +3823,7 @@
 
 func (c *AccountsContainersEnvironmentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3978,7 +3978,7 @@
 
 func (c *AccountsContainersEnvironmentsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4140,7 +4140,7 @@
 
 func (c *AccountsContainersFoldersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4289,7 +4289,7 @@
 
 func (c *AccountsContainersFoldersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4421,7 +4421,7 @@
 
 func (c *AccountsContainersFoldersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4583,7 +4583,7 @@
 
 func (c *AccountsContainersFoldersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4737,7 +4737,7 @@
 
 func (c *AccountsContainersFoldersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4910,7 +4910,7 @@
 
 func (c *AccountsContainersFoldersEntitiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5086,7 +5086,7 @@
 
 func (c *AccountsContainersMoveFoldersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5235,7 +5235,7 @@
 
 func (c *AccountsContainersReauthorizeEnvironmentsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5392,7 +5392,7 @@
 
 func (c *AccountsContainersTagsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5541,7 +5541,7 @@
 
 func (c *AccountsContainersTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5673,7 +5673,7 @@
 
 func (c *AccountsContainersTagsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5835,7 +5835,7 @@
 
 func (c *AccountsContainersTagsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5989,7 +5989,7 @@
 
 func (c *AccountsContainersTagsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6151,7 +6151,7 @@
 
 func (c *AccountsContainersTriggersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6300,7 +6300,7 @@
 
 func (c *AccountsContainersTriggersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6432,7 +6432,7 @@
 
 func (c *AccountsContainersTriggersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6594,7 +6594,7 @@
 
 func (c *AccountsContainersTriggersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6749,7 +6749,7 @@
 
 func (c *AccountsContainersTriggersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6911,7 +6911,7 @@
 
 func (c *AccountsContainersVariablesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7060,7 +7060,7 @@
 
 func (c *AccountsContainersVariablesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7192,7 +7192,7 @@
 
 func (c *AccountsContainersVariablesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7354,7 +7354,7 @@
 
 func (c *AccountsContainersVariablesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7509,7 +7509,7 @@
 
 func (c *AccountsContainersVariablesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7671,7 +7671,7 @@
 
 func (c *AccountsContainersVersionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7820,7 +7820,7 @@
 
 func (c *AccountsContainersVersionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7952,7 +7952,7 @@
 
 func (c *AccountsContainersVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8129,7 +8129,7 @@
 
 func (c *AccountsContainersVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8295,7 +8295,7 @@
 
 func (c *AccountsContainersVersionsPublishCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8452,7 +8452,7 @@
 
 func (c *AccountsContainersVersionsRestoreCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8601,7 +8601,7 @@
 
 func (c *AccountsContainersVersionsUndeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8760,7 +8760,7 @@
 
 func (c *AccountsContainersVersionsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8920,7 +8920,7 @@
 
 func (c *AccountsPermissionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9060,7 +9060,7 @@
 
 func (c *AccountsPermissionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9182,7 +9182,7 @@
 
 func (c *AccountsPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9334,7 +9334,7 @@
 
 func (c *AccountsPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9470,7 +9470,7 @@
 
 func (c *AccountsPermissionsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/tagmanager/v2/tagmanager-gen.go b/tagmanager/v2/tagmanager-gen.go
index 61d56b6..09c8a82 100644
--- a/tagmanager/v2/tagmanager-gen.go
+++ b/tagmanager/v2/tagmanager-gen.go
@@ -3454,7 +3454,7 @@
 
 func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3605,7 +3605,7 @@
 
 func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3764,7 +3764,7 @@
 
 func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3909,7 +3909,7 @@
 
 func (c *AccountsContainersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4047,7 +4047,7 @@
 
 func (c *AccountsContainersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4160,7 +4160,7 @@
 
 func (c *AccountsContainersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4312,7 +4312,7 @@
 
 func (c *AccountsContainersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4482,7 +4482,7 @@
 
 func (c *AccountsContainersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4627,7 +4627,7 @@
 
 func (c *AccountsContainersEnvironmentsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4765,7 +4765,7 @@
 
 func (c *AccountsContainersEnvironmentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4878,7 +4878,7 @@
 
 func (c *AccountsContainersEnvironmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5030,7 +5030,7 @@
 
 func (c *AccountsContainersEnvironmentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5193,7 +5193,7 @@
 
 func (c *AccountsContainersEnvironmentsReauthorizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5341,7 +5341,7 @@
 
 func (c *AccountsContainersEnvironmentsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5495,7 +5495,7 @@
 
 func (c *AccountsContainersVersionHeadersLatestCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5654,7 +5654,7 @@
 
 func (c *AccountsContainersVersionHeadersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5820,7 +5820,7 @@
 
 func (c *AccountsContainersVersionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5941,7 +5941,7 @@
 
 func (c *AccountsContainersVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6092,7 +6092,7 @@
 
 func (c *AccountsContainersVersionsLiveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6234,7 +6234,7 @@
 
 func (c *AccountsContainersVersionsPublishCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6370,7 +6370,7 @@
 
 func (c *AccountsContainersVersionsSetLatestCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6500,7 +6500,7 @@
 
 func (c *AccountsContainersVersionsUndeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6640,7 +6640,7 @@
 
 func (c *AccountsContainersVersionsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6785,7 +6785,7 @@
 
 func (c *AccountsContainersWorkspacesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6927,7 +6927,7 @@
 
 func (c *AccountsContainersWorkspacesCreateVersionCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7065,7 +7065,7 @@
 
 func (c *AccountsContainersWorkspacesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7178,7 +7178,7 @@
 
 func (c *AccountsContainersWorkspacesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7323,7 +7323,7 @@
 
 func (c *AccountsContainersWorkspacesGetStatusCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7475,7 +7475,7 @@
 
 func (c *AccountsContainersWorkspacesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7636,7 +7636,7 @@
 
 func (c *AccountsContainersWorkspacesQuickPreviewCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7777,7 +7777,7 @@
 
 func (c *AccountsContainersWorkspacesResolveConflictCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7894,7 +7894,7 @@
 
 func (c *AccountsContainersWorkspacesSyncCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8034,7 +8034,7 @@
 
 func (c *AccountsContainersWorkspacesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8296,7 +8296,7 @@
 
 func (c *AccountsContainersWorkspacesBuiltInVariablesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8775,7 +8775,7 @@
 
 func (c *AccountsContainersWorkspacesBuiltInVariablesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9125,7 +9125,7 @@
 
 func (c *AccountsContainersWorkspacesBuiltInVariablesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9406,7 +9406,7 @@
 
 func (c *AccountsContainersWorkspacesBuiltInVariablesRevertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9767,7 +9767,7 @@
 
 func (c *AccountsContainersWorkspacesFoldersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9905,7 +9905,7 @@
 
 func (c *AccountsContainersWorkspacesFoldersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10014,7 +10014,7 @@
 
 func (c *AccountsContainersWorkspacesFoldersEntitiesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10182,7 +10182,7 @@
 
 func (c *AccountsContainersWorkspacesFoldersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10334,7 +10334,7 @@
 
 func (c *AccountsContainersWorkspacesFoldersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10517,7 +10517,7 @@
 
 func (c *AccountsContainersWorkspacesFoldersMoveEntitiesToFolderCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10652,7 +10652,7 @@
 
 func (c *AccountsContainersWorkspacesFoldersRevertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10796,7 +10796,7 @@
 
 func (c *AccountsContainersWorkspacesFoldersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -10941,7 +10941,7 @@
 
 func (c *AccountsContainersWorkspacesTagsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11079,7 +11079,7 @@
 
 func (c *AccountsContainersWorkspacesTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11192,7 +11192,7 @@
 
 func (c *AccountsContainersWorkspacesTagsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11344,7 +11344,7 @@
 
 func (c *AccountsContainersWorkspacesTagsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11511,7 +11511,7 @@
 
 func (c *AccountsContainersWorkspacesTagsRevertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11655,7 +11655,7 @@
 
 func (c *AccountsContainersWorkspacesTagsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11800,7 +11800,7 @@
 
 func (c *AccountsContainersWorkspacesTemplatesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11938,7 +11938,7 @@
 
 func (c *AccountsContainersWorkspacesTemplatesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12051,7 +12051,7 @@
 
 func (c *AccountsContainersWorkspacesTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12203,7 +12203,7 @@
 
 func (c *AccountsContainersWorkspacesTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12371,7 +12371,7 @@
 
 func (c *AccountsContainersWorkspacesTemplatesRevertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12516,7 +12516,7 @@
 
 func (c *AccountsContainersWorkspacesTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12661,7 +12661,7 @@
 
 func (c *AccountsContainersWorkspacesTriggersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12799,7 +12799,7 @@
 
 func (c *AccountsContainersWorkspacesTriggersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12912,7 +12912,7 @@
 
 func (c *AccountsContainersWorkspacesTriggersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13064,7 +13064,7 @@
 
 func (c *AccountsContainersWorkspacesTriggersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13232,7 +13232,7 @@
 
 func (c *AccountsContainersWorkspacesTriggersRevertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13377,7 +13377,7 @@
 
 func (c *AccountsContainersWorkspacesTriggersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13522,7 +13522,7 @@
 
 func (c *AccountsContainersWorkspacesVariablesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13660,7 +13660,7 @@
 
 func (c *AccountsContainersWorkspacesVariablesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13773,7 +13773,7 @@
 
 func (c *AccountsContainersWorkspacesVariablesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13925,7 +13925,7 @@
 
 func (c *AccountsContainersWorkspacesVariablesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14093,7 +14093,7 @@
 
 func (c *AccountsContainersWorkspacesVariablesRevertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14238,7 +14238,7 @@
 
 func (c *AccountsContainersWorkspacesVariablesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14383,7 +14383,7 @@
 
 func (c *AccountsContainersWorkspacesZonesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14521,7 +14521,7 @@
 
 func (c *AccountsContainersWorkspacesZonesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14634,7 +14634,7 @@
 
 func (c *AccountsContainersWorkspacesZonesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14786,7 +14786,7 @@
 
 func (c *AccountsContainersWorkspacesZonesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14953,7 +14953,7 @@
 
 func (c *AccountsContainersWorkspacesZonesRevertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15097,7 +15097,7 @@
 
 func (c *AccountsContainersWorkspacesZonesUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15242,7 +15242,7 @@
 
 func (c *AccountsUserPermissionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15381,7 +15381,7 @@
 
 func (c *AccountsUserPermissionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15494,7 +15494,7 @@
 
 func (c *AccountsUserPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15646,7 +15646,7 @@
 
 func (c *AccountsUserPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15807,7 +15807,7 @@
 
 func (c *AccountsUserPermissionsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/tasks/v1/tasks-gen.go b/tasks/v1/tasks-gen.go
index 5d53296..d6df502 100644
--- a/tasks/v1/tasks-gen.go
+++ b/tasks/v1/tasks-gen.go
@@ -460,7 +460,7 @@
 
 func (c *TasklistsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -572,7 +572,7 @@
 
 func (c *TasklistsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -706,7 +706,7 @@
 
 func (c *TasklistsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -855,7 +855,7 @@
 
 func (c *TasklistsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1012,7 +1012,7 @@
 
 func (c *TasklistsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1151,7 +1151,7 @@
 
 func (c *TasklistsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1290,7 +1290,7 @@
 
 func (c *TasksClearCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1393,7 +1393,7 @@
 
 func (c *TasksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1515,7 +1515,7 @@
 
 func (c *TasksGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1673,7 +1673,7 @@
 
 func (c *TasksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1910,7 +1910,7 @@
 
 func (c *TasksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2135,7 +2135,7 @@
 
 func (c *TasksMoveCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2287,7 +2287,7 @@
 
 func (c *TasksPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2436,7 +2436,7 @@
 
 func (c *TasksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/testing/v1/testing-gen.go b/testing/v1/testing-gen.go
index a615c97..ab20640 100644
--- a/testing/v1/testing-gen.go
+++ b/testing/v1/testing-gen.go
@@ -3204,7 +3204,7 @@
 
 func (c *ApplicationDetailServiceGetApkDetailsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3337,7 +3337,7 @@
 
 func (c *ProjectsTestMatricesCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3491,7 +3491,7 @@
 
 func (c *ProjectsTestMatricesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3649,7 +3649,7 @@
 
 func (c *ProjectsTestMatricesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3811,7 +3811,7 @@
 
 func (c *TestEnvironmentCatalogGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/texttospeech/v1/texttospeech-api.json b/texttospeech/v1/texttospeech-api.json
index a000819..ef59ba9 100644
--- a/texttospeech/v1/texttospeech-api.json
+++ b/texttospeech/v1/texttospeech-api.json
@@ -108,7 +108,7 @@
     "text": {
       "methods": {
         "synthesize": {
-          "description": "Synthesizes speech synchronously: receive results after all text input\nhas been processed.",
+          "description": "Synthesizes speech synchronously: receive results after all text input has been processed.",
           "flatPath": "v1/text:synthesize",
           "httpMethod": "POST",
           "id": "texttospeech.text.synthesize",
@@ -137,7 +137,7 @@
           "parameterOrder": [],
           "parameters": {
             "languageCode": {
-              "description": "Optional. Recommended.\n[BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. If\nspecified, the ListVoices call will only return voices that can be used to\nsynthesize this language_code. E.g. when specifying \"en-NZ\", you will get\nsupported \"en-*\" voices; when specifying \"no\", you will get supported\n\"no-*\" (Norwegian) and \"nb-*\" (Norwegian Bokmal) voices; specifying \"zh\"\nwill also get supported \"cmn-*\" voices; specifying \"zh-hk\" will also get\nsupported \"yue-*\" voices.",
+              "description": "Optional. Recommended. [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. If specified, the ListVoices call will only return voices that can be used to synthesize this language_code. E.g. when specifying \"en-NZ\", you will get supported \"en-*\" voices; when specifying \"no\", you will get supported \"no-*\" (Norwegian) and \"nb-*\" (Norwegian Bokmal) voices; specifying \"zh\" will also get supported \"cmn-*\" voices; specifying \"zh-hk\" will also get supported \"yue-*\" voices.",
               "location": "query",
               "type": "string"
             }
@@ -153,7 +153,7 @@
       }
     }
   },
-  "revision": "20200619",
+  "revision": "20200807",
   "rootUrl": "https://texttospeech.googleapis.com/",
   "schemas": {
     "AudioConfig": {
@@ -170,36 +170,36 @@
           ],
           "enumDescriptions": [
             "Not specified. Will return result google.rpc.Code.INVALID_ARGUMENT.",
-            "Uncompressed 16-bit signed little-endian samples (Linear PCM).\nAudio content returned as LINEAR16 also contains a WAV header.",
+            "Uncompressed 16-bit signed little-endian samples (Linear PCM). Audio content returned as LINEAR16 also contains a WAV header.",
             "MP3 audio at 32kbps.",
-            "Opus encoded audio wrapped in an ogg container. The result will be a\nfile which can be played natively on Android, and in browsers (at least\nChrome and Firefox). The quality of the encoding is considerably higher\nthan MP3 while using approximately the same bitrate."
+            "Opus encoded audio wrapped in an ogg container. The result will be a file which can be played natively on Android, and in browsers (at least Chrome and Firefox). The quality of the encoding is considerably higher than MP3 while using approximately the same bitrate."
           ],
           "type": "string"
         },
         "effectsProfileId": {
-          "description": "Optional. Input only. An identifier which selects 'audio effects' profiles\nthat are applied on (post synthesized) text to speech. Effects are applied\non top of each other in the order they are given. See\n[audio\nprofiles](https://cloud.google.com/text-to-speech/docs/audio-profiles) for\ncurrent supported profile ids.",
+          "description": "Optional. Input only. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. See [audio profiles](https://cloud.google.com/text-to-speech/docs/audio-profiles) for current supported profile ids.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "pitch": {
-          "description": "Optional. Input only. Speaking pitch, in the range [-20.0, 20.0]. 20 means\nincrease 20 semitones from the original pitch. -20 means decrease 20\nsemitones from the original pitch.",
+          "description": "Optional. Input only. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch.",
           "format": "double",
           "type": "number"
         },
         "sampleRateHertz": {
-          "description": "Optional. The synthesis sample rate (in hertz) for this audio. When this is\nspecified in SynthesizeSpeechRequest, if this is different from the voice's\nnatural sample rate, then the synthesizer will honor this request by\nconverting to the desired sample rate (which might result in worse audio\nquality), unless the specified sample rate is not supported for the\nencoding chosen, in which case it will fail the request and return\ngoogle.rpc.Code.INVALID_ARGUMENT.",
+          "description": "Optional. The synthesis sample rate (in hertz) for this audio. When this is specified in SynthesizeSpeechRequest, if this is different from the voice's natural sample rate, then the synthesizer will honor this request by converting to the desired sample rate (which might result in worse audio quality), unless the specified sample rate is not supported for the encoding chosen, in which case it will fail the request and return google.rpc.Code.INVALID_ARGUMENT.",
           "format": "int32",
           "type": "integer"
         },
         "speakingRate": {
-          "description": "Optional. Input only. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is\nthe normal native speed supported by the specific voice. 2.0 is twice as\nfast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0\nspeed. Any other values \u003c 0.25 or \u003e 4.0 will return an error.",
+          "description": "Optional. Input only. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values \u003c 0.25 or \u003e 4.0 will return an error.",
           "format": "double",
           "type": "number"
         },
         "volumeGainDb": {
-          "description": "Optional. Input only. Volume gain (in dB) of the normal native volume\nsupported by the specific voice, in the range [-96.0, 16.0]. If unset, or\nset to a value of 0.0 (dB), will play at normal native signal amplitude. A\nvalue of -6.0 (dB) will play at approximately half the amplitude of the\nnormal native signal amplitude. A value of +6.0 (dB) will play at\napproximately twice the amplitude of the normal native signal amplitude.\nStrongly recommend not to exceed +10 (dB) as there's usually no effective\nincrease in loudness for any value greater than that.",
+          "description": "Optional. Input only. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. Strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that.",
           "format": "double",
           "type": "number"
         }
@@ -221,11 +221,11 @@
       "type": "object"
     },
     "SynthesisInput": {
-      "description": "Contains text input to be synthesized. Either `text` or `ssml` must be\nsupplied. Supplying both or neither returns\ngoogle.rpc.Code.INVALID_ARGUMENT. The input size is limited to 5000\ncharacters.",
+      "description": "Contains text input to be synthesized. Either `text` or `ssml` must be supplied. Supplying both or neither returns google.rpc.Code.INVALID_ARGUMENT. The input size is limited to 5000 characters.",
       "id": "SynthesisInput",
       "properties": {
         "ssml": {
-          "description": "The SSML document to be synthesized. The SSML document must be valid\nand well-formed. Otherwise the RPC will fail and return\ngoogle.rpc.Code.INVALID_ARGUMENT. For more information, see\n[SSML](https://cloud.google.com/text-to-speech/docs/ssml).",
+          "description": "The SSML document to be synthesized. The SSML document must be valid and well-formed. Otherwise the RPC will fail and return google.rpc.Code.INVALID_ARGUMENT. For more information, see [SSML](https://cloud.google.com/text-to-speech/docs/ssml).",
           "type": "string"
         },
         "text": {
@@ -259,7 +259,7 @@
       "id": "SynthesizeSpeechResponse",
       "properties": {
         "audioContent": {
-          "description": "The audio data bytes encoded as specified in the request, including the\nheader for encodings that are wrapped in containers (e.g. MP3, OGG_OPUS).\nFor LINEAR16 audio, we include the WAV header. Note: as\nwith all bytes fields, protobuffers use a pure binary representation,\nwhereas JSON representations use base64.",
+          "description": "The audio data bytes encoded as specified in the request, including the header for encodings that are wrapped in containers (e.g. MP3, OGG_OPUS). For LINEAR16 audio, we include the WAV header. Note: as with all bytes fields, protobuffers use a pure binary representation, whereas JSON representations use base64.",
           "format": "byte",
           "type": "string"
         }
@@ -271,14 +271,14 @@
       "id": "Voice",
       "properties": {
         "languageCodes": {
-          "description": "The languages that this voice supports, expressed as\n[BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tags (e.g.\n\"en-US\", \"es-419\", \"cmn-tw\").",
+          "description": "The languages that this voice supports, expressed as [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tags (e.g. \"en-US\", \"es-419\", \"cmn-tw\").",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "name": {
-          "description": "The name of this voice.  Each distinct voice has a unique name.",
+          "description": "The name of this voice. Each distinct voice has a unique name.",
           "type": "string"
         },
         "naturalSampleRateHertz": {
@@ -295,7 +295,7 @@
             "NEUTRAL"
           ],
           "enumDescriptions": [
-            "An unspecified gender.\nIn VoiceSelectionParams, this means that the client doesn't care which\ngender the selected voice will have. In the Voice field of\nListVoicesResponse, this may mean that the voice doesn't fit any of the\nother categories in this enum, or that the gender of the voice isn't known.",
+            "An unspecified gender. In VoiceSelectionParams, this means that the client doesn't care which gender the selected voice will have. In the Voice field of ListVoicesResponse, this may mean that the voice doesn't fit any of the other categories in this enum, or that the gender of the voice isn't known.",
             "A male voice.",
             "A female voice.",
             "A gender-neutral voice. This voice is not yet supported."
@@ -310,15 +310,15 @@
       "id": "VoiceSelectionParams",
       "properties": {
         "languageCode": {
-          "description": "Required. The language (and potentially also the region) of the voice expressed as a\n[BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag, e.g.\n\"en-US\". This should not include a script tag (e.g. use\n\"cmn-cn\" rather than \"cmn-Hant-cn\"), because the script will be inferred\nfrom the input provided in the SynthesisInput.  The TTS service\nwill use this parameter to help choose an appropriate voice.  Note that\nthe TTS service may choose a voice with a slightly different language code\nthan the one selected; it may substitute a different region\n(e.g. using en-US rather than en-CA if there isn't a Canadian voice\navailable), or even a different language, e.g. using \"nb\" (Norwegian\nBokmal) instead of \"no\" (Norwegian)\".",
+          "description": "Required. The language (and potentially also the region) of the voice expressed as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag, e.g. \"en-US\". This should not include a script tag (e.g. use \"cmn-cn\" rather than \"cmn-Hant-cn\"), because the script will be inferred from the input provided in the SynthesisInput. The TTS service will use this parameter to help choose an appropriate voice. Note that the TTS service may choose a voice with a slightly different language code than the one selected; it may substitute a different region (e.g. using en-US rather than en-CA if there isn't a Canadian voice available), or even a different language, e.g. using \"nb\" (Norwegian Bokmal) instead of \"no\" (Norwegian)\".",
           "type": "string"
         },
         "name": {
-          "description": "The name of the voice. If not set, the service will choose a\nvoice based on the other parameters such as language_code and gender.",
+          "description": "The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and gender.",
           "type": "string"
         },
         "ssmlGender": {
-          "description": "The preferred gender of the voice. If not set, the service will\nchoose a voice based on the other parameters such as language_code and\nname. Note that this is only a preference, not requirement; if a\nvoice of the appropriate gender is not available, the synthesizer should\nsubstitute a voice with a different gender rather than failing the request.",
+          "description": "The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement; if a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request.",
           "enum": [
             "SSML_VOICE_GENDER_UNSPECIFIED",
             "MALE",
@@ -326,7 +326,7 @@
             "NEUTRAL"
           ],
           "enumDescriptions": [
-            "An unspecified gender.\nIn VoiceSelectionParams, this means that the client doesn't care which\ngender the selected voice will have. In the Voice field of\nListVoicesResponse, this may mean that the voice doesn't fit any of the\nother categories in this enum, or that the gender of the voice isn't known.",
+            "An unspecified gender. In VoiceSelectionParams, this means that the client doesn't care which gender the selected voice will have. In the Voice field of ListVoicesResponse, this may mean that the voice doesn't fit any of the other categories in this enum, or that the gender of the voice isn't known.",
             "A male voice.",
             "A female voice.",
             "A gender-neutral voice. This voice is not yet supported."
diff --git a/texttospeech/v1/texttospeech-gen.go b/texttospeech/v1/texttospeech-gen.go
index 4cc5dbb..dca1d66 100644
--- a/texttospeech/v1/texttospeech-gen.go
+++ b/texttospeech/v1/texttospeech-gen.go
@@ -166,76 +166,55 @@
 	//   "AUDIO_ENCODING_UNSPECIFIED" - Not specified. Will return result
 	// google.rpc.Code.INVALID_ARGUMENT.
 	//   "LINEAR16" - Uncompressed 16-bit signed little-endian samples
-	// (Linear PCM).
-	// Audio content returned as LINEAR16 also contains a WAV header.
+	// (Linear PCM). Audio content returned as LINEAR16 also contains a WAV
+	// header.
 	//   "MP3" - MP3 audio at 32kbps.
 	//   "OGG_OPUS" - Opus encoded audio wrapped in an ogg container. The
-	// result will be a
-	// file which can be played natively on Android, and in browsers (at
-	// least
-	// Chrome and Firefox). The quality of the encoding is considerably
-	// higher
-	// than MP3 while using approximately the same bitrate.
+	// result will be a file which can be played natively on Android, and in
+	// browsers (at least Chrome and Firefox). The quality of the encoding
+	// is considerably higher than MP3 while using approximately the same
+	// bitrate.
 	AudioEncoding string `json:"audioEncoding,omitempty"`
 
 	// EffectsProfileId: Optional. Input only. An identifier which selects
-	// 'audio effects' profiles
-	// that are applied on (post synthesized) text to speech. Effects are
-	// applied
-	// on top of each other in the order they are given.
-	// See
-	// [audio
-	// profiles](https://cloud.google.com/text-to-speech/docs/audi
-	// o-profiles) for
-	// current supported profile ids.
+	// 'audio effects' profiles that are applied on (post synthesized) text
+	// to speech. Effects are applied on top of each other in the order they
+	// are given. See [audio
+	// profiles](https://cloud.google.com/text-to-speech/docs/audio-profiles)
+	//  for current supported profile ids.
 	EffectsProfileId []string `json:"effectsProfileId,omitempty"`
 
 	// Pitch: Optional. Input only. Speaking pitch, in the range [-20.0,
-	// 20.0]. 20 means
-	// increase 20 semitones from the original pitch. -20 means decrease
-	// 20
-	// semitones from the original pitch.
+	// 20.0]. 20 means increase 20 semitones from the original pitch. -20
+	// means decrease 20 semitones from the original pitch.
 	Pitch float64 `json:"pitch,omitempty"`
 
 	// SampleRateHertz: Optional. The synthesis sample rate (in hertz) for
-	// this audio. When this is
-	// specified in SynthesizeSpeechRequest, if this is different from the
-	// voice's
-	// natural sample rate, then the synthesizer will honor this request
-	// by
-	// converting to the desired sample rate (which might result in worse
-	// audio
-	// quality), unless the specified sample rate is not supported for
-	// the
-	// encoding chosen, in which case it will fail the request and
-	// return
+	// this audio. When this is specified in SynthesizeSpeechRequest, if
+	// this is different from the voice's natural sample rate, then the
+	// synthesizer will honor this request by converting to the desired
+	// sample rate (which might result in worse audio quality), unless the
+	// specified sample rate is not supported for the encoding chosen, in
+	// which case it will fail the request and return
 	// google.rpc.Code.INVALID_ARGUMENT.
 	SampleRateHertz int64 `json:"sampleRateHertz,omitempty"`
 
 	// SpeakingRate: Optional. Input only. Speaking rate/speed, in the range
-	// [0.25, 4.0]. 1.0 is
-	// the normal native speed supported by the specific voice. 2.0 is twice
-	// as
-	// fast, and 0.5 is half as fast. If unset(0.0), defaults to the native
-	// 1.0
-	// speed. Any other values < 0.25 or > 4.0 will return an error.
+	// [0.25, 4.0]. 1.0 is the normal native speed supported by the specific
+	// voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0),
+	// defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0
+	// will return an error.
 	SpeakingRate float64 `json:"speakingRate,omitempty"`
 
 	// VolumeGainDb: Optional. Input only. Volume gain (in dB) of the normal
-	// native volume
-	// supported by the specific voice, in the range [-96.0, 16.0]. If
-	// unset, or
-	// set to a value of 0.0 (dB), will play at normal native signal
-	// amplitude. A
-	// value of -6.0 (dB) will play at approximately half the amplitude of
-	// the
-	// normal native signal amplitude. A value of +6.0 (dB) will play
-	// at
-	// approximately twice the amplitude of the normal native signal
-	// amplitude.
-	// Strongly recommend not to exceed +10 (dB) as there's usually no
-	// effective
-	// increase in loudness for any value greater than that.
+	// native volume supported by the specific voice, in the range [-96.0,
+	// 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal
+	// native signal amplitude. A value of -6.0 (dB) will play at
+	// approximately half the amplitude of the normal native signal
+	// amplitude. A value of +6.0 (dB) will play at approximately twice the
+	// amplitude of the normal native signal amplitude. Strongly recommend
+	// not to exceed +10 (dB) as there's usually no effective increase in
+	// loudness for any value greater than that.
 	VolumeGainDb float64 `json:"volumeGainDb,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AudioEncoding") to
@@ -313,19 +292,13 @@
 }
 
 // SynthesisInput: Contains text input to be synthesized. Either `text`
-// or `ssml` must be
-// supplied. Supplying both or neither
-// returns
-// google.rpc.Code.INVALID_ARGUMENT. The input size is limited to
-// 5000
+// or `ssml` must be supplied. Supplying both or neither returns
+// google.rpc.Code.INVALID_ARGUMENT. The input size is limited to 5000
 // characters.
 type SynthesisInput struct {
 	// Ssml: The SSML document to be synthesized. The SSML document must be
-	// valid
-	// and well-formed. Otherwise the RPC will fail and
-	// return
-	// google.rpc.Code.INVALID_ARGUMENT. For more information,
-	// see
+	// valid and well-formed. Otherwise the RPC will fail and return
+	// google.rpc.Code.INVALID_ARGUMENT. For more information, see
 	// [SSML](https://cloud.google.com/text-to-speech/docs/ssml).
 	Ssml string `json:"ssml,omitempty"`
 
@@ -395,13 +368,10 @@
 // `SynthesizeSpeech` method.
 type SynthesizeSpeechResponse struct {
 	// AudioContent: The audio data bytes encoded as specified in the
-	// request, including the
-	// header for encodings that are wrapped in containers (e.g. MP3,
-	// OGG_OPUS).
-	// For LINEAR16 audio, we include the WAV header. Note: as
-	// with all bytes fields, protobuffers use a pure binary
-	// representation,
-	// whereas JSON representations use base64.
+	// request, including the header for encodings that are wrapped in
+	// containers (e.g. MP3, OGG_OPUS). For LINEAR16 audio, we include the
+	// WAV header. Note: as with all bytes fields, protobuffers use a pure
+	// binary representation, whereas JSON representations use base64.
 	AudioContent string `json:"audioContent,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -433,14 +403,12 @@
 
 // Voice: Description of a voice supported by the TTS service.
 type Voice struct {
-	// LanguageCodes: The languages that this voice supports, expressed
-	// as
+	// LanguageCodes: The languages that this voice supports, expressed as
 	// [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tags
-	// (e.g.
-	// "en-US", "es-419", "cmn-tw").
+	// (e.g. "en-US", "es-419", "cmn-tw").
 	LanguageCodes []string `json:"languageCodes,omitempty"`
 
-	// Name: The name of this voice.  Each distinct voice has a unique name.
+	// Name: The name of this voice. Each distinct voice has a unique name.
 	Name string `json:"name,omitempty"`
 
 	// NaturalSampleRateHertz: The natural sample rate (in hertz) for this
@@ -450,15 +418,12 @@
 	// SsmlGender: The gender of this voice.
 	//
 	// Possible values:
-	//   "SSML_VOICE_GENDER_UNSPECIFIED" - An unspecified gender.
-	// In VoiceSelectionParams, this means that the client doesn't care
-	// which
-	// gender the selected voice will have. In the Voice field
-	// of
+	//   "SSML_VOICE_GENDER_UNSPECIFIED" - An unspecified gender. In
+	// VoiceSelectionParams, this means that the client doesn't care which
+	// gender the selected voice will have. In the Voice field of
 	// ListVoicesResponse, this may mean that the voice doesn't fit any of
-	// the
-	// other categories in this enum, or that the gender of the voice isn't
-	// known.
+	// the other categories in this enum, or that the gender of the voice
+	// isn't known.
 	//   "MALE" - A male voice.
 	//   "FEMALE" - A female voice.
 	//   "NEUTRAL" - A gender-neutral voice. This voice is not yet
@@ -492,52 +457,37 @@
 // synthesis request.
 type VoiceSelectionParams struct {
 	// LanguageCode: Required. The language (and potentially also the
-	// region) of the voice expressed as
-	// a
+	// region) of the voice expressed as a
 	// [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag,
-	// e.g.
-	// "en-US". This should not include a script tag (e.g. use
-	// "cmn-cn" rather than "cmn-Hant-cn"), because the script will be
-	// inferred
-	// from the input provided in the SynthesisInput.  The TTS service
-	// will use this parameter to help choose an appropriate voice.  Note
-	// that
-	// the TTS service may choose a voice with a slightly different language
-	// code
-	// than the one selected; it may substitute a different region
-	// (e.g. using en-US rather than en-CA if there isn't a Canadian
-	// voice
-	// available), or even a different language, e.g. using "nb"
-	// (Norwegian
+	// e.g. "en-US". This should not include a script tag (e.g. use "cmn-cn"
+	// rather than "cmn-Hant-cn"), because the script will be inferred from
+	// the input provided in the SynthesisInput. The TTS service will use
+	// this parameter to help choose an appropriate voice. Note that the TTS
+	// service may choose a voice with a slightly different language code
+	// than the one selected; it may substitute a different region (e.g.
+	// using en-US rather than en-CA if there isn't a Canadian voice
+	// available), or even a different language, e.g. using "nb" (Norwegian
 	// Bokmal) instead of "no" (Norwegian)".
 	LanguageCode string `json:"languageCode,omitempty"`
 
-	// Name: The name of the voice. If not set, the service will choose
-	// a
+	// Name: The name of the voice. If not set, the service will choose a
 	// voice based on the other parameters such as language_code and gender.
 	Name string `json:"name,omitempty"`
 
 	// SsmlGender: The preferred gender of the voice. If not set, the
-	// service will
-	// choose a voice based on the other parameters such as language_code
-	// and
-	// name. Note that this is only a preference, not requirement; if
-	// a
-	// voice of the appropriate gender is not available, the synthesizer
-	// should
-	// substitute a voice with a different gender rather than failing the
-	// request.
+	// service will choose a voice based on the other parameters such as
+	// language_code and name. Note that this is only a preference, not
+	// requirement; if a voice of the appropriate gender is not available,
+	// the synthesizer should substitute a voice with a different gender
+	// rather than failing the request.
 	//
 	// Possible values:
-	//   "SSML_VOICE_GENDER_UNSPECIFIED" - An unspecified gender.
-	// In VoiceSelectionParams, this means that the client doesn't care
-	// which
-	// gender the selected voice will have. In the Voice field
-	// of
+	//   "SSML_VOICE_GENDER_UNSPECIFIED" - An unspecified gender. In
+	// VoiceSelectionParams, this means that the client doesn't care which
+	// gender the selected voice will have. In the Voice field of
 	// ListVoicesResponse, this may mean that the voice doesn't fit any of
-	// the
-	// other categories in this enum, or that the gender of the voice isn't
-	// known.
+	// the other categories in this enum, or that the gender of the voice
+	// isn't known.
 	//   "MALE" - A male voice.
 	//   "FEMALE" - A female voice.
 	//   "NEUTRAL" - A gender-neutral voice. This voice is not yet
@@ -578,8 +528,7 @@
 }
 
 // Synthesize: Synthesizes speech synchronously: receive results after
-// all text input
-// has been processed.
+// all text input has been processed.
 func (r *TextService) Synthesize(synthesizespeechrequest *SynthesizeSpeechRequest) *TextSynthesizeCall {
 	c := &TextSynthesizeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.synthesizespeechrequest = synthesizespeechrequest
@@ -613,7 +562,7 @@
 
 func (c *TextSynthesizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -674,7 +623,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Synthesizes speech synchronously: receive results after all text input\nhas been processed.",
+	//   "description": "Synthesizes speech synchronously: receive results after all text input has been processed.",
 	//   "flatPath": "v1/text:synthesize",
 	//   "httpMethod": "POST",
 	//   "id": "texttospeech.text.synthesize",
@@ -710,21 +659,14 @@
 	return c
 }
 
-// LanguageCode sets the optional parameter "languageCode":
-// Recommended.
+// LanguageCode sets the optional parameter "languageCode": Recommended.
 // [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag.
-// If
-// specified, the ListVoices call will only return voices that can be
-// used to
-// synthesize this language_code. E.g. when specifying "en-NZ", you will
-// get
-// supported "en-*" voices; when specifying "no", you will get
-// supported
-// "no-*" (Norwegian) and "nb-*" (Norwegian Bokmal) voices; specifying
-// "zh"
-// will also get supported "cmn-*" voices; specifying "zh-hk" will also
-// get
-// supported "yue-*" voices.
+// If specified, the ListVoices call will only return voices that can be
+// used to synthesize this language_code. E.g. when specifying "en-NZ",
+// you will get supported "en-*" voices; when specifying "no", you will
+// get supported "no-*" (Norwegian) and "nb-*" (Norwegian Bokmal)
+// voices; specifying "zh" will also get supported "cmn-*" voices;
+// specifying "zh-hk" will also get supported "yue-*" voices.
 func (c *VoicesListCall) LanguageCode(languageCode string) *VoicesListCall {
 	c.urlParams_.Set("languageCode", languageCode)
 	return c
@@ -767,7 +709,7 @@
 
 func (c *VoicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -833,7 +775,7 @@
 	//   "parameterOrder": [],
 	//   "parameters": {
 	//     "languageCode": {
-	//       "description": "Optional. Recommended.\n[BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. If\nspecified, the ListVoices call will only return voices that can be used to\nsynthesize this language_code. E.g. when specifying \"en-NZ\", you will get\nsupported \"en-*\" voices; when specifying \"no\", you will get supported\n\"no-*\" (Norwegian) and \"nb-*\" (Norwegian Bokmal) voices; specifying \"zh\"\nwill also get supported \"cmn-*\" voices; specifying \"zh-hk\" will also get\nsupported \"yue-*\" voices.",
+	//       "description": "Optional. Recommended. [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. If specified, the ListVoices call will only return voices that can be used to synthesize this language_code. E.g. when specifying \"en-NZ\", you will get supported \"en-*\" voices; when specifying \"no\", you will get supported \"no-*\" (Norwegian) and \"nb-*\" (Norwegian Bokmal) voices; specifying \"zh\" will also get supported \"cmn-*\" voices; specifying \"zh-hk\" will also get supported \"yue-*\" voices.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
diff --git a/texttospeech/v1beta1/texttospeech-api.json b/texttospeech/v1beta1/texttospeech-api.json
index 93e4b49..d15e4c1 100644
--- a/texttospeech/v1beta1/texttospeech-api.json
+++ b/texttospeech/v1beta1/texttospeech-api.json
@@ -108,7 +108,7 @@
     "text": {
       "methods": {
         "synthesize": {
-          "description": "Synthesizes speech synchronously: receive results after all text input\nhas been processed.",
+          "description": "Synthesizes speech synchronously: receive results after all text input has been processed.",
           "flatPath": "v1beta1/text:synthesize",
           "httpMethod": "POST",
           "id": "texttospeech.text.synthesize",
@@ -137,7 +137,7 @@
           "parameterOrder": [],
           "parameters": {
             "languageCode": {
-              "description": "Optional. Recommended.\n[BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. If\nspecified, the ListVoices call will only return voices that can be used to\nsynthesize this language_code. E.g. when specifying \"en-NZ\", you will get\nsupported \"en-*\" voices; when specifying \"no\", you will get supported\n\"no-*\" (Norwegian) and \"nb-*\" (Norwegian Bokmal) voices; specifying \"zh\"\nwill also get supported \"cmn-*\" voices; specifying \"zh-hk\" will also get\nsupported \"yue-*\" voices.",
+              "description": "Optional. Recommended. [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. If specified, the ListVoices call will only return voices that can be used to synthesize this language_code. E.g. when specifying \"en-NZ\", you will get supported \"en-*\" voices; when specifying \"no\", you will get supported \"no-*\" (Norwegian) and \"nb-*\" (Norwegian Bokmal) voices; specifying \"zh\" will also get supported \"cmn-*\" voices; specifying \"zh-hk\" will also get supported \"yue-*\" voices.",
               "location": "query",
               "type": "string"
             }
@@ -153,7 +153,7 @@
       }
     }
   },
-  "revision": "20200731",
+  "revision": "20200807",
   "rootUrl": "https://texttospeech.googleapis.com/",
   "schemas": {
     "AudioConfig": {
@@ -171,37 +171,37 @@
           ],
           "enumDescriptions": [
             "Not specified. Will return result google.rpc.Code.INVALID_ARGUMENT.",
-            "Uncompressed 16-bit signed little-endian samples (Linear PCM).\nAudio content returned as LINEAR16 also contains a WAV header.",
+            "Uncompressed 16-bit signed little-endian samples (Linear PCM). Audio content returned as LINEAR16 also contains a WAV header.",
             "MP3 audio at 32kbps.",
-            "Opus encoded audio wrapped in an ogg container. The result will be a\nfile which can be played natively on Android, and in browsers (at least\nChrome and Firefox). The quality of the encoding is considerably higher\nthan MP3 while using approximately the same bitrate.",
-            "8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.\nAudio content returned as MULAW also contains a WAV header."
+            "Opus encoded audio wrapped in an ogg container. The result will be a file which can be played natively on Android, and in browsers (at least Chrome and Firefox). The quality of the encoding is considerably higher than MP3 while using approximately the same bitrate.",
+            "8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law. Audio content returned as MULAW also contains a WAV header."
           ],
           "type": "string"
         },
         "effectsProfileId": {
-          "description": "Optional. Input only. An identifier which selects 'audio effects' profiles\nthat are applied on (post synthesized) text to speech. Effects are applied\non top of each other in the order they are given. See\n[audio\nprofiles](https://cloud.google.com/text-to-speech/docs/audio-profiles) for\ncurrent supported profile ids.",
+          "description": "Optional. Input only. An identifier which selects 'audio effects' profiles that are applied on (post synthesized) text to speech. Effects are applied on top of each other in the order they are given. See [audio profiles](https://cloud.google.com/text-to-speech/docs/audio-profiles) for current supported profile ids.",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "pitch": {
-          "description": "Optional. Input only. Speaking pitch, in the range [-20.0, 20.0]. 20 means\nincrease 20 semitones from the original pitch. -20 means decrease 20\nsemitones from the original pitch.",
+          "description": "Optional. Input only. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 semitones from the original pitch. -20 means decrease 20 semitones from the original pitch.",
           "format": "double",
           "type": "number"
         },
         "sampleRateHertz": {
-          "description": "Optional. The synthesis sample rate (in hertz) for this audio. When this is\nspecified in SynthesizeSpeechRequest, if this is different from the voice's\nnatural sample rate, then the synthesizer will honor this request by\nconverting to the desired sample rate (which might result in worse audio\nquality), unless the specified sample rate is not supported for the\nencoding chosen, in which case it will fail the request and return\ngoogle.rpc.Code.INVALID_ARGUMENT.",
+          "description": "Optional. The synthesis sample rate (in hertz) for this audio. When this is specified in SynthesizeSpeechRequest, if this is different from the voice's natural sample rate, then the synthesizer will honor this request by converting to the desired sample rate (which might result in worse audio quality), unless the specified sample rate is not supported for the encoding chosen, in which case it will fail the request and return google.rpc.Code.INVALID_ARGUMENT.",
           "format": "int32",
           "type": "integer"
         },
         "speakingRate": {
-          "description": "Optional. Input only. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is\nthe normal native speed supported by the specific voice. 2.0 is twice as\nfast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0\nspeed. Any other values \u003c 0.25 or \u003e 4.0 will return an error.",
+          "description": "Optional. Input only. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal native speed supported by the specific voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any other values \u003c 0.25 or \u003e 4.0 will return an error.",
           "format": "double",
           "type": "number"
         },
         "volumeGainDb": {
-          "description": "Optional. Input only. Volume gain (in dB) of the normal native volume\nsupported by the specific voice, in the range [-96.0, 16.0]. If unset, or\nset to a value of 0.0 (dB), will play at normal native signal amplitude. A\nvalue of -6.0 (dB) will play at approximately half the amplitude of the\nnormal native signal amplitude. A value of +6.0 (dB) will play at\napproximately twice the amplitude of the normal native signal amplitude.\nStrongly recommend not to exceed +10 (dB) as there's usually no effective\nincrease in loudness for any value greater than that.",
+          "description": "Optional. Input only. Volume gain (in dB) of the normal native volume supported by the specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) will play at approximately half the amplitude of the normal native signal amplitude. A value of +6.0 (dB) will play at approximately twice the amplitude of the normal native signal amplitude. Strongly recommend not to exceed +10 (dB) as there's usually no effective increase in loudness for any value greater than that.",
           "format": "double",
           "type": "number"
         }
@@ -223,11 +223,11 @@
       "type": "object"
     },
     "SynthesisInput": {
-      "description": "Contains text input to be synthesized. Either `text` or `ssml` must be\nsupplied. Supplying both or neither returns\ngoogle.rpc.Code.INVALID_ARGUMENT. The input size is limited to 5000\ncharacters.",
+      "description": "Contains text input to be synthesized. Either `text` or `ssml` must be supplied. Supplying both or neither returns google.rpc.Code.INVALID_ARGUMENT. The input size is limited to 5000 characters.",
       "id": "SynthesisInput",
       "properties": {
         "ssml": {
-          "description": "The SSML document to be synthesized. The SSML document must be valid\nand well-formed. Otherwise the RPC will fail and return\ngoogle.rpc.Code.INVALID_ARGUMENT. For more information, see\n[SSML](https://cloud.google.com/text-to-speech/docs/ssml).",
+          "description": "The SSML document to be synthesized. The SSML document must be valid and well-formed. Otherwise the RPC will fail and return google.rpc.Code.INVALID_ARGUMENT. For more information, see [SSML](https://cloud.google.com/text-to-speech/docs/ssml).",
           "type": "string"
         },
         "text": {
@@ -249,13 +249,17 @@
           "description": "Whether and what timepoints are returned in the response.",
           "enumDescriptions": [
             "Not specified. No timepoint information will be returned.",
-            "Timepoint information of \u003cmark\u003e tags in SSML input will be returned."
+            "Timepoint information of tags in SSML input will be returned."
           ],
           "items": {
             "enum": [
               "TIMEPOINT_TYPE_UNSPECIFIED",
               "SSML_MARK"
             ],
+            "enumDescriptions": [
+              "Not specified. No timepoint information will be returned.",
+              "Timepoint information of tags in SSML input will be returned."
+            ],
             "type": "string"
           },
           "type": "array"
@@ -280,12 +284,12 @@
           "description": "The audio metadata of `audio_content`."
         },
         "audioContent": {
-          "description": "The audio data bytes encoded as specified in the request, including the\nheader for encodings that are wrapped in containers (e.g. MP3, OGG_OPUS).\nFor LINEAR16 audio, we include the WAV header. Note: as\nwith all bytes fields, protobuffers use a pure binary representation,\nwhereas JSON representations use base64.",
+          "description": "The audio data bytes encoded as specified in the request, including the header for encodings that are wrapped in containers (e.g. MP3, OGG_OPUS). For LINEAR16 audio, we include the WAV header. Note: as with all bytes fields, protobuffers use a pure binary representation, whereas JSON representations use base64.",
           "format": "byte",
           "type": "string"
         },
         "timepoints": {
-          "description": "A link between a position in the original request input and a corresponding\ntime in the output audio. It's only supported via \u003cmark\u003e of SSML input.",
+          "description": "A link between a position in the original request input and a corresponding time in the output audio. It's only supported via of SSML input.",
           "items": {
             "$ref": "Timepoint"
           },
@@ -295,11 +299,11 @@
       "type": "object"
     },
     "Timepoint": {
-      "description": "This contains a mapping between a certain point in the input text and a\ncorresponding time in the output audio.",
+      "description": "This contains a mapping between a certain point in the input text and a corresponding time in the output audio.",
       "id": "Timepoint",
       "properties": {
         "markName": {
-          "description": "Timepoint name as received from the client within \u003cmark\u003e tag.",
+          "description": "Timepoint name as received from the client within tag.",
           "type": "string"
         },
         "timeSeconds": {
@@ -315,14 +319,14 @@
       "id": "Voice",
       "properties": {
         "languageCodes": {
-          "description": "The languages that this voice supports, expressed as\n[BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tags (e.g.\n\"en-US\", \"es-419\", \"cmn-tw\").",
+          "description": "The languages that this voice supports, expressed as [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tags (e.g. \"en-US\", \"es-419\", \"cmn-tw\").",
           "items": {
             "type": "string"
           },
           "type": "array"
         },
         "name": {
-          "description": "The name of this voice.  Each distinct voice has a unique name.",
+          "description": "The name of this voice. Each distinct voice has a unique name.",
           "type": "string"
         },
         "naturalSampleRateHertz": {
@@ -339,7 +343,7 @@
             "NEUTRAL"
           ],
           "enumDescriptions": [
-            "An unspecified gender.\nIn VoiceSelectionParams, this means that the client doesn't care which\ngender the selected voice will have. In the Voice field of\nListVoicesResponse, this may mean that the voice doesn't fit any of the\nother categories in this enum, or that the gender of the voice isn't known.",
+            "An unspecified gender. In VoiceSelectionParams, this means that the client doesn't care which gender the selected voice will have. In the Voice field of ListVoicesResponse, this may mean that the voice doesn't fit any of the other categories in this enum, or that the gender of the voice isn't known.",
             "A male voice.",
             "A female voice.",
             "A gender-neutral voice. This voice is not yet supported."
@@ -354,15 +358,15 @@
       "id": "VoiceSelectionParams",
       "properties": {
         "languageCode": {
-          "description": "Required. The language (and potentially also the region) of the voice expressed as a\n[BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag, e.g.\n\"en-US\". This should not include a script tag (e.g. use\n\"cmn-cn\" rather than \"cmn-Hant-cn\"), because the script will be inferred\nfrom the input provided in the SynthesisInput.  The TTS service\nwill use this parameter to help choose an appropriate voice.  Note that\nthe TTS service may choose a voice with a slightly different language code\nthan the one selected; it may substitute a different region\n(e.g. using en-US rather than en-CA if there isn't a Canadian voice\navailable), or even a different language, e.g. using \"nb\" (Norwegian\nBokmal) instead of \"no\" (Norwegian)\".",
+          "description": "Required. The language (and potentially also the region) of the voice expressed as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag, e.g. \"en-US\". This should not include a script tag (e.g. use \"cmn-cn\" rather than \"cmn-Hant-cn\"), because the script will be inferred from the input provided in the SynthesisInput. The TTS service will use this parameter to help choose an appropriate voice. Note that the TTS service may choose a voice with a slightly different language code than the one selected; it may substitute a different region (e.g. using en-US rather than en-CA if there isn't a Canadian voice available), or even a different language, e.g. using \"nb\" (Norwegian Bokmal) instead of \"no\" (Norwegian)\".",
           "type": "string"
         },
         "name": {
-          "description": "The name of the voice. If not set, the service will choose a\nvoice based on the other parameters such as language_code and gender.",
+          "description": "The name of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and gender.",
           "type": "string"
         },
         "ssmlGender": {
-          "description": "The preferred gender of the voice. If not set, the service will\nchoose a voice based on the other parameters such as language_code and\nname. Note that this is only a preference, not requirement; if a\nvoice of the appropriate gender is not available, the synthesizer should\nsubstitute a voice with a different gender rather than failing the request.",
+          "description": "The preferred gender of the voice. If not set, the service will choose a voice based on the other parameters such as language_code and name. Note that this is only a preference, not requirement; if a voice of the appropriate gender is not available, the synthesizer should substitute a voice with a different gender rather than failing the request.",
           "enum": [
             "SSML_VOICE_GENDER_UNSPECIFIED",
             "MALE",
@@ -370,7 +374,7 @@
             "NEUTRAL"
           ],
           "enumDescriptions": [
-            "An unspecified gender.\nIn VoiceSelectionParams, this means that the client doesn't care which\ngender the selected voice will have. In the Voice field of\nListVoicesResponse, this may mean that the voice doesn't fit any of the\nother categories in this enum, or that the gender of the voice isn't known.",
+            "An unspecified gender. In VoiceSelectionParams, this means that the client doesn't care which gender the selected voice will have. In the Voice field of ListVoicesResponse, this may mean that the voice doesn't fit any of the other categories in this enum, or that the gender of the voice isn't known.",
             "A male voice.",
             "A female voice.",
             "A gender-neutral voice. This voice is not yet supported."
diff --git a/texttospeech/v1beta1/texttospeech-gen.go b/texttospeech/v1beta1/texttospeech-gen.go
index 1c59a6f..46c76c3 100644
--- a/texttospeech/v1beta1/texttospeech-gen.go
+++ b/texttospeech/v1beta1/texttospeech-gen.go
@@ -166,79 +166,58 @@
 	//   "AUDIO_ENCODING_UNSPECIFIED" - Not specified. Will return result
 	// google.rpc.Code.INVALID_ARGUMENT.
 	//   "LINEAR16" - Uncompressed 16-bit signed little-endian samples
-	// (Linear PCM).
-	// Audio content returned as LINEAR16 also contains a WAV header.
+	// (Linear PCM). Audio content returned as LINEAR16 also contains a WAV
+	// header.
 	//   "MP3" - MP3 audio at 32kbps.
 	//   "OGG_OPUS" - Opus encoded audio wrapped in an ogg container. The
-	// result will be a
-	// file which can be played natively on Android, and in browsers (at
-	// least
-	// Chrome and Firefox). The quality of the encoding is considerably
-	// higher
-	// than MP3 while using approximately the same bitrate.
+	// result will be a file which can be played natively on Android, and in
+	// browsers (at least Chrome and Firefox). The quality of the encoding
+	// is considerably higher than MP3 while using approximately the same
+	// bitrate.
 	//   "MULAW" - 8-bit samples that compand 14-bit audio samples using
-	// G.711 PCMU/mu-law.
-	// Audio content returned as MULAW also contains a WAV header.
+	// G.711 PCMU/mu-law. Audio content returned as MULAW also contains a
+	// WAV header.
 	AudioEncoding string `json:"audioEncoding,omitempty"`
 
 	// EffectsProfileId: Optional. Input only. An identifier which selects
-	// 'audio effects' profiles
-	// that are applied on (post synthesized) text to speech. Effects are
-	// applied
-	// on top of each other in the order they are given.
-	// See
-	// [audio
-	// profiles](https://cloud.google.com/text-to-speech/docs/audi
-	// o-profiles) for
-	// current supported profile ids.
+	// 'audio effects' profiles that are applied on (post synthesized) text
+	// to speech. Effects are applied on top of each other in the order they
+	// are given. See [audio
+	// profiles](https://cloud.google.com/text-to-speech/docs/audio-profiles)
+	//  for current supported profile ids.
 	EffectsProfileId []string `json:"effectsProfileId,omitempty"`
 
 	// Pitch: Optional. Input only. Speaking pitch, in the range [-20.0,
-	// 20.0]. 20 means
-	// increase 20 semitones from the original pitch. -20 means decrease
-	// 20
-	// semitones from the original pitch.
+	// 20.0]. 20 means increase 20 semitones from the original pitch. -20
+	// means decrease 20 semitones from the original pitch.
 	Pitch float64 `json:"pitch,omitempty"`
 
 	// SampleRateHertz: Optional. The synthesis sample rate (in hertz) for
-	// this audio. When this is
-	// specified in SynthesizeSpeechRequest, if this is different from the
-	// voice's
-	// natural sample rate, then the synthesizer will honor this request
-	// by
-	// converting to the desired sample rate (which might result in worse
-	// audio
-	// quality), unless the specified sample rate is not supported for
-	// the
-	// encoding chosen, in which case it will fail the request and
-	// return
+	// this audio. When this is specified in SynthesizeSpeechRequest, if
+	// this is different from the voice's natural sample rate, then the
+	// synthesizer will honor this request by converting to the desired
+	// sample rate (which might result in worse audio quality), unless the
+	// specified sample rate is not supported for the encoding chosen, in
+	// which case it will fail the request and return
 	// google.rpc.Code.INVALID_ARGUMENT.
 	SampleRateHertz int64 `json:"sampleRateHertz,omitempty"`
 
 	// SpeakingRate: Optional. Input only. Speaking rate/speed, in the range
-	// [0.25, 4.0]. 1.0 is
-	// the normal native speed supported by the specific voice. 2.0 is twice
-	// as
-	// fast, and 0.5 is half as fast. If unset(0.0), defaults to the native
-	// 1.0
-	// speed. Any other values < 0.25 or > 4.0 will return an error.
+	// [0.25, 4.0]. 1.0 is the normal native speed supported by the specific
+	// voice. 2.0 is twice as fast, and 0.5 is half as fast. If unset(0.0),
+	// defaults to the native 1.0 speed. Any other values < 0.25 or > 4.0
+	// will return an error.
 	SpeakingRate float64 `json:"speakingRate,omitempty"`
 
 	// VolumeGainDb: Optional. Input only. Volume gain (in dB) of the normal
-	// native volume
-	// supported by the specific voice, in the range [-96.0, 16.0]. If
-	// unset, or
-	// set to a value of 0.0 (dB), will play at normal native signal
-	// amplitude. A
-	// value of -6.0 (dB) will play at approximately half the amplitude of
-	// the
-	// normal native signal amplitude. A value of +6.0 (dB) will play
-	// at
-	// approximately twice the amplitude of the normal native signal
-	// amplitude.
-	// Strongly recommend not to exceed +10 (dB) as there's usually no
-	// effective
-	// increase in loudness for any value greater than that.
+	// native volume supported by the specific voice, in the range [-96.0,
+	// 16.0]. If unset, or set to a value of 0.0 (dB), will play at normal
+	// native signal amplitude. A value of -6.0 (dB) will play at
+	// approximately half the amplitude of the normal native signal
+	// amplitude. A value of +6.0 (dB) will play at approximately twice the
+	// amplitude of the normal native signal amplitude. Strongly recommend
+	// not to exceed +10 (dB) as there's usually no effective increase in
+	// loudness for any value greater than that.
 	VolumeGainDb float64 `json:"volumeGainDb,omitempty"`
 
 	// ForceSendFields is a list of field names (e.g. "AudioEncoding") to
@@ -316,19 +295,13 @@
 }
 
 // SynthesisInput: Contains text input to be synthesized. Either `text`
-// or `ssml` must be
-// supplied. Supplying both or neither
-// returns
-// google.rpc.Code.INVALID_ARGUMENT. The input size is limited to
-// 5000
+// or `ssml` must be supplied. Supplying both or neither returns
+// google.rpc.Code.INVALID_ARGUMENT. The input size is limited to 5000
 // characters.
 type SynthesisInput struct {
 	// Ssml: The SSML document to be synthesized. The SSML document must be
-	// valid
-	// and well-formed. Otherwise the RPC will fail and
-	// return
-	// google.rpc.Code.INVALID_ARGUMENT. For more information,
-	// see
+	// valid and well-formed. Otherwise the RPC will fail and return
+	// google.rpc.Code.INVALID_ARGUMENT. For more information, see
 	// [SSML](https://cloud.google.com/text-to-speech/docs/ssml).
 	Ssml string `json:"ssml,omitempty"`
 
@@ -370,8 +343,8 @@
 	// Possible values:
 	//   "TIMEPOINT_TYPE_UNSPECIFIED" - Not specified. No timepoint
 	// information will be returned.
-	//   "SSML_MARK" - Timepoint information of <mark> tags in SSML input
-	// will be returned.
+	//   "SSML_MARK" - Timepoint information of tags in SSML input will be
+	// returned.
 	EnableTimePointing []string `json:"enableTimePointing,omitempty"`
 
 	// Input: Required. The Synthesizer requires either plain text or SSML
@@ -411,19 +384,15 @@
 	AudioConfig *AudioConfig `json:"audioConfig,omitempty"`
 
 	// AudioContent: The audio data bytes encoded as specified in the
-	// request, including the
-	// header for encodings that are wrapped in containers (e.g. MP3,
-	// OGG_OPUS).
-	// For LINEAR16 audio, we include the WAV header. Note: as
-	// with all bytes fields, protobuffers use a pure binary
-	// representation,
-	// whereas JSON representations use base64.
+	// request, including the header for encodings that are wrapped in
+	// containers (e.g. MP3, OGG_OPUS). For LINEAR16 audio, we include the
+	// WAV header. Note: as with all bytes fields, protobuffers use a pure
+	// binary representation, whereas JSON representations use base64.
 	AudioContent string `json:"audioContent,omitempty"`
 
 	// Timepoints: A link between a position in the original request input
-	// and a corresponding
-	// time in the output audio. It's only supported via <mark> of SSML
-	// input.
+	// and a corresponding time in the output audio. It's only supported via
+	// of SSML input.
 	Timepoints []*Timepoint `json:"timepoints,omitempty"`
 
 	// ServerResponse contains the HTTP response code and headers from the
@@ -454,11 +423,9 @@
 }
 
 // Timepoint: This contains a mapping between a certain point in the
-// input text and a
-// corresponding time in the output audio.
+// input text and a corresponding time in the output audio.
 type Timepoint struct {
-	// MarkName: Timepoint name as received from the client within <mark>
-	// tag.
+	// MarkName: Timepoint name as received from the client within tag.
 	MarkName string `json:"markName,omitempty"`
 
 	// TimeSeconds: Time offset in seconds from the start of the synthesized
@@ -504,14 +471,12 @@
 
 // Voice: Description of a voice supported by the TTS service.
 type Voice struct {
-	// LanguageCodes: The languages that this voice supports, expressed
-	// as
+	// LanguageCodes: The languages that this voice supports, expressed as
 	// [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tags
-	// (e.g.
-	// "en-US", "es-419", "cmn-tw").
+	// (e.g. "en-US", "es-419", "cmn-tw").
 	LanguageCodes []string `json:"languageCodes,omitempty"`
 
-	// Name: The name of this voice.  Each distinct voice has a unique name.
+	// Name: The name of this voice. Each distinct voice has a unique name.
 	Name string `json:"name,omitempty"`
 
 	// NaturalSampleRateHertz: The natural sample rate (in hertz) for this
@@ -521,15 +486,12 @@
 	// SsmlGender: The gender of this voice.
 	//
 	// Possible values:
-	//   "SSML_VOICE_GENDER_UNSPECIFIED" - An unspecified gender.
-	// In VoiceSelectionParams, this means that the client doesn't care
-	// which
-	// gender the selected voice will have. In the Voice field
-	// of
+	//   "SSML_VOICE_GENDER_UNSPECIFIED" - An unspecified gender. In
+	// VoiceSelectionParams, this means that the client doesn't care which
+	// gender the selected voice will have. In the Voice field of
 	// ListVoicesResponse, this may mean that the voice doesn't fit any of
-	// the
-	// other categories in this enum, or that the gender of the voice isn't
-	// known.
+	// the other categories in this enum, or that the gender of the voice
+	// isn't known.
 	//   "MALE" - A male voice.
 	//   "FEMALE" - A female voice.
 	//   "NEUTRAL" - A gender-neutral voice. This voice is not yet
@@ -563,52 +525,37 @@
 // synthesis request.
 type VoiceSelectionParams struct {
 	// LanguageCode: Required. The language (and potentially also the
-	// region) of the voice expressed as
-	// a
+	// region) of the voice expressed as a
 	// [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag,
-	// e.g.
-	// "en-US". This should not include a script tag (e.g. use
-	// "cmn-cn" rather than "cmn-Hant-cn"), because the script will be
-	// inferred
-	// from the input provided in the SynthesisInput.  The TTS service
-	// will use this parameter to help choose an appropriate voice.  Note
-	// that
-	// the TTS service may choose a voice with a slightly different language
-	// code
-	// than the one selected; it may substitute a different region
-	// (e.g. using en-US rather than en-CA if there isn't a Canadian
-	// voice
-	// available), or even a different language, e.g. using "nb"
-	// (Norwegian
+	// e.g. "en-US". This should not include a script tag (e.g. use "cmn-cn"
+	// rather than "cmn-Hant-cn"), because the script will be inferred from
+	// the input provided in the SynthesisInput. The TTS service will use
+	// this parameter to help choose an appropriate voice. Note that the TTS
+	// service may choose a voice with a slightly different language code
+	// than the one selected; it may substitute a different region (e.g.
+	// using en-US rather than en-CA if there isn't a Canadian voice
+	// available), or even a different language, e.g. using "nb" (Norwegian
 	// Bokmal) instead of "no" (Norwegian)".
 	LanguageCode string `json:"languageCode,omitempty"`
 
-	// Name: The name of the voice. If not set, the service will choose
-	// a
+	// Name: The name of the voice. If not set, the service will choose a
 	// voice based on the other parameters such as language_code and gender.
 	Name string `json:"name,omitempty"`
 
 	// SsmlGender: The preferred gender of the voice. If not set, the
-	// service will
-	// choose a voice based on the other parameters such as language_code
-	// and
-	// name. Note that this is only a preference, not requirement; if
-	// a
-	// voice of the appropriate gender is not available, the synthesizer
-	// should
-	// substitute a voice with a different gender rather than failing the
-	// request.
+	// service will choose a voice based on the other parameters such as
+	// language_code and name. Note that this is only a preference, not
+	// requirement; if a voice of the appropriate gender is not available,
+	// the synthesizer should substitute a voice with a different gender
+	// rather than failing the request.
 	//
 	// Possible values:
-	//   "SSML_VOICE_GENDER_UNSPECIFIED" - An unspecified gender.
-	// In VoiceSelectionParams, this means that the client doesn't care
-	// which
-	// gender the selected voice will have. In the Voice field
-	// of
+	//   "SSML_VOICE_GENDER_UNSPECIFIED" - An unspecified gender. In
+	// VoiceSelectionParams, this means that the client doesn't care which
+	// gender the selected voice will have. In the Voice field of
 	// ListVoicesResponse, this may mean that the voice doesn't fit any of
-	// the
-	// other categories in this enum, or that the gender of the voice isn't
-	// known.
+	// the other categories in this enum, or that the gender of the voice
+	// isn't known.
 	//   "MALE" - A male voice.
 	//   "FEMALE" - A female voice.
 	//   "NEUTRAL" - A gender-neutral voice. This voice is not yet
@@ -649,8 +596,7 @@
 }
 
 // Synthesize: Synthesizes speech synchronously: receive results after
-// all text input
-// has been processed.
+// all text input has been processed.
 func (r *TextService) Synthesize(synthesizespeechrequest *SynthesizeSpeechRequest) *TextSynthesizeCall {
 	c := &TextSynthesizeCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 	c.synthesizespeechrequest = synthesizespeechrequest
@@ -684,7 +630,7 @@
 
 func (c *TextSynthesizeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -745,7 +691,7 @@
 	}
 	return ret, nil
 	// {
-	//   "description": "Synthesizes speech synchronously: receive results after all text input\nhas been processed.",
+	//   "description": "Synthesizes speech synchronously: receive results after all text input has been processed.",
 	//   "flatPath": "v1beta1/text:synthesize",
 	//   "httpMethod": "POST",
 	//   "id": "texttospeech.text.synthesize",
@@ -781,21 +727,14 @@
 	return c
 }
 
-// LanguageCode sets the optional parameter "languageCode":
-// Recommended.
+// LanguageCode sets the optional parameter "languageCode": Recommended.
 // [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag.
-// If
-// specified, the ListVoices call will only return voices that can be
-// used to
-// synthesize this language_code. E.g. when specifying "en-NZ", you will
-// get
-// supported "en-*" voices; when specifying "no", you will get
-// supported
-// "no-*" (Norwegian) and "nb-*" (Norwegian Bokmal) voices; specifying
-// "zh"
-// will also get supported "cmn-*" voices; specifying "zh-hk" will also
-// get
-// supported "yue-*" voices.
+// If specified, the ListVoices call will only return voices that can be
+// used to synthesize this language_code. E.g. when specifying "en-NZ",
+// you will get supported "en-*" voices; when specifying "no", you will
+// get supported "no-*" (Norwegian) and "nb-*" (Norwegian Bokmal)
+// voices; specifying "zh" will also get supported "cmn-*" voices;
+// specifying "zh-hk" will also get supported "yue-*" voices.
 func (c *VoicesListCall) LanguageCode(languageCode string) *VoicesListCall {
 	c.urlParams_.Set("languageCode", languageCode)
 	return c
@@ -838,7 +777,7 @@
 
 func (c *VoicesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -904,7 +843,7 @@
 	//   "parameterOrder": [],
 	//   "parameters": {
 	//     "languageCode": {
-	//       "description": "Optional. Recommended.\n[BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. If\nspecified, the ListVoices call will only return voices that can be used to\nsynthesize this language_code. E.g. when specifying \"en-NZ\", you will get\nsupported \"en-*\" voices; when specifying \"no\", you will get supported\n\"no-*\" (Norwegian) and \"nb-*\" (Norwegian Bokmal) voices; specifying \"zh\"\nwill also get supported \"cmn-*\" voices; specifying \"zh-hk\" will also get\nsupported \"yue-*\" voices.",
+	//       "description": "Optional. Recommended. [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. If specified, the ListVoices call will only return voices that can be used to synthesize this language_code. E.g. when specifying \"en-NZ\", you will get supported \"en-*\" voices; when specifying \"no\", you will get supported \"no-*\" (Norwegian) and \"nb-*\" (Norwegian Bokmal) voices; specifying \"zh\" will also get supported \"cmn-*\" voices; specifying \"zh-hk\" will also get supported \"yue-*\" voices.",
 	//       "location": "query",
 	//       "type": "string"
 	//     }
diff --git a/toolresults/v1beta3/toolresults-gen.go b/toolresults/v1beta3/toolresults-gen.go
index 7f612f0..7ab347f 100644
--- a/toolresults/v1beta3/toolresults-gen.go
+++ b/toolresults/v1beta3/toolresults-gen.go
@@ -4574,7 +4574,7 @@
 
 func (c *ProjectsGetSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4726,7 +4726,7 @@
 
 func (c *ProjectsInitializeSettingsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4869,7 +4869,7 @@
 
 func (c *ProjectsHistoriesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5027,7 +5027,7 @@
 
 func (c *ProjectsHistoriesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5206,7 +5206,7 @@
 
 func (c *ProjectsHistoriesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5391,7 +5391,7 @@
 
 func (c *ProjectsHistoriesExecutionsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5559,7 +5559,7 @@
 
 func (c *ProjectsHistoriesExecutionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5741,7 +5741,7 @@
 
 func (c *ProjectsHistoriesExecutionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5932,7 +5932,7 @@
 
 func (c *ProjectsHistoriesExecutionsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6107,7 +6107,7 @@
 
 func (c *ProjectsHistoriesExecutionsClustersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6284,7 +6284,7 @@
 
 func (c *ProjectsHistoriesExecutionsClustersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6452,7 +6452,7 @@
 
 func (c *ProjectsHistoriesExecutionsEnvironmentsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6642,7 +6642,7 @@
 
 func (c *ProjectsHistoriesExecutionsEnvironmentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6849,7 +6849,7 @@
 
 func (c *ProjectsHistoriesExecutionsStepsAccessibilityClustersCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7007,7 +7007,7 @@
 
 func (c *ProjectsHistoriesExecutionsStepsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7185,7 +7185,7 @@
 
 func (c *ProjectsHistoriesExecutionsStepsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7360,7 +7360,7 @@
 
 func (c *ProjectsHistoriesExecutionsStepsGetPerfMetricsSummaryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7554,7 +7554,7 @@
 
 func (c *ProjectsHistoriesExecutionsStepsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7756,7 +7756,7 @@
 
 func (c *ProjectsHistoriesExecutionsStepsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -7936,7 +7936,7 @@
 
 func (c *ProjectsHistoriesExecutionsStepsPublishXunitXmlFilesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8107,7 +8107,7 @@
 
 func (c *ProjectsHistoriesExecutionsStepsPerfMetricsSummaryCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8278,7 +8278,7 @@
 
 func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8459,7 +8459,7 @@
 
 func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8659,7 +8659,7 @@
 
 func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8852,7 +8852,7 @@
 
 func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesBatchCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9063,7 +9063,7 @@
 
 func (c *ProjectsHistoriesExecutionsStepsPerfSampleSeriesSamplesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9282,7 +9282,7 @@
 
 func (c *ProjectsHistoriesExecutionsStepsTestCasesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9482,7 +9482,7 @@
 
 func (c *ProjectsHistoriesExecutionsStepsTestCasesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9706,7 +9706,7 @@
 
 func (c *ProjectsHistoriesExecutionsStepsThumbnailsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/tpu/v1/tpu-gen.go b/tpu/v1/tpu-gen.go
index 47c8ad8..97e52b5 100644
--- a/tpu/v1/tpu-gen.go
+++ b/tpu/v1/tpu-gen.go
@@ -970,7 +970,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1136,7 +1136,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1317,7 +1317,7 @@
 
 func (c *ProjectsLocationsAcceleratorTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1487,7 +1487,7 @@
 
 func (c *ProjectsLocationsAcceleratorTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1671,7 +1671,7 @@
 
 func (c *ProjectsLocationsNodesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1814,7 +1814,7 @@
 
 func (c *ProjectsLocationsNodesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1955,7 +1955,7 @@
 
 func (c *ProjectsLocationsNodesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2113,7 +2113,7 @@
 
 func (c *ProjectsLocationsNodesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2280,7 +2280,7 @@
 
 func (c *ProjectsLocationsNodesReimageCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2420,7 +2420,7 @@
 
 func (c *ProjectsLocationsNodesStartCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2560,7 +2560,7 @@
 
 func (c *ProjectsLocationsNodesStopCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2707,7 +2707,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2840,7 +2840,7 @@
 
 func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2983,7 +2983,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3157,7 +3157,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3338,7 +3338,7 @@
 
 func (c *ProjectsLocationsTensorflowVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3508,7 +3508,7 @@
 
 func (c *ProjectsLocationsTensorflowVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/tpu/v1alpha1/tpu-gen.go b/tpu/v1alpha1/tpu-gen.go
index 8286f9a..fb0099a 100644
--- a/tpu/v1alpha1/tpu-gen.go
+++ b/tpu/v1alpha1/tpu-gen.go
@@ -970,7 +970,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1136,7 +1136,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1317,7 +1317,7 @@
 
 func (c *ProjectsLocationsAcceleratorTypesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1487,7 +1487,7 @@
 
 func (c *ProjectsLocationsAcceleratorTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1671,7 +1671,7 @@
 
 func (c *ProjectsLocationsNodesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1814,7 +1814,7 @@
 
 func (c *ProjectsLocationsNodesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1955,7 +1955,7 @@
 
 func (c *ProjectsLocationsNodesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2113,7 +2113,7 @@
 
 func (c *ProjectsLocationsNodesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2280,7 +2280,7 @@
 
 func (c *ProjectsLocationsNodesReimageCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2420,7 +2420,7 @@
 
 func (c *ProjectsLocationsNodesStartCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2560,7 +2560,7 @@
 
 func (c *ProjectsLocationsNodesStopCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2707,7 +2707,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2840,7 +2840,7 @@
 
 func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2983,7 +2983,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3157,7 +3157,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3338,7 +3338,7 @@
 
 func (c *ProjectsLocationsTensorflowVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3508,7 +3508,7 @@
 
 func (c *ProjectsLocationsTensorflowVersionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/translate/v2/translate-gen.go b/translate/v2/translate-gen.go
index 3088a36..b5fc863 100644
--- a/translate/v2/translate-gen.go
+++ b/translate/v2/translate-gen.go
@@ -565,7 +565,7 @@
 
 func (c *DetectionsDetectCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -702,7 +702,7 @@
 
 func (c *DetectionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -858,7 +858,7 @@
 
 func (c *LanguagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1041,7 +1041,7 @@
 
 func (c *TranslationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1209,7 +1209,7 @@
 
 func (c *TranslationsTranslateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/translate/v3/translate-gen.go b/translate/v3/translate-gen.go
index 7c8f565..4b5a388 100644
--- a/translate/v3/translate-gen.go
+++ b/translate/v3/translate-gen.go
@@ -1590,7 +1590,7 @@
 
 func (c *ProjectsDetectLanguageCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1779,7 +1779,7 @@
 
 func (c *ProjectsGetSupportedLanguagesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1925,7 +1925,7 @@
 
 func (c *ProjectsTranslateTextCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2076,7 +2076,7 @@
 
 func (c *ProjectsLocationsBatchTranslateTextCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2216,7 +2216,7 @@
 
 func (c *ProjectsLocationsDetectLanguageCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2366,7 +2366,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2550,7 +2550,7 @@
 
 func (c *ProjectsLocationsGetSupportedLanguagesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2727,7 +2727,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2900,7 +2900,7 @@
 
 func (c *ProjectsLocationsTranslateTextCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3043,7 +3043,7 @@
 
 func (c *ProjectsLocationsGlossariesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3183,7 +3183,7 @@
 
 func (c *ProjectsLocationsGlossariesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3327,7 +3327,7 @@
 
 func (c *ProjectsLocationsGlossariesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3525,7 +3525,7 @@
 
 func (c *ProjectsLocationsGlossariesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3715,7 +3715,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3860,7 +3860,7 @@
 
 func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4006,7 +4006,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4188,7 +4188,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4376,7 +4376,7 @@
 
 func (c *ProjectsLocationsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/translate/v3beta1/translate-gen.go b/translate/v3beta1/translate-gen.go
index 4f30790..101f5a2 100644
--- a/translate/v3beta1/translate-gen.go
+++ b/translate/v3beta1/translate-gen.go
@@ -1579,7 +1579,7 @@
 
 func (c *ProjectsDetectLanguageCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1768,7 +1768,7 @@
 
 func (c *ProjectsGetSupportedLanguagesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1914,7 +1914,7 @@
 
 func (c *ProjectsTranslateTextCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2065,7 +2065,7 @@
 
 func (c *ProjectsLocationsBatchTranslateTextCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2205,7 +2205,7 @@
 
 func (c *ProjectsLocationsDetectLanguageCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2355,7 +2355,7 @@
 
 func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2539,7 +2539,7 @@
 
 func (c *ProjectsLocationsGetSupportedLanguagesCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2716,7 +2716,7 @@
 
 func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2889,7 +2889,7 @@
 
 func (c *ProjectsLocationsTranslateTextCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3032,7 +3032,7 @@
 
 func (c *ProjectsLocationsGlossariesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3172,7 +3172,7 @@
 
 func (c *ProjectsLocationsGlossariesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3316,7 +3316,7 @@
 
 func (c *ProjectsLocationsGlossariesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3514,7 +3514,7 @@
 
 func (c *ProjectsLocationsGlossariesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3704,7 +3704,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3849,7 +3849,7 @@
 
 func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3995,7 +3995,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4177,7 +4177,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4365,7 +4365,7 @@
 
 func (c *ProjectsLocationsOperationsWaitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/vault/v1/vault-gen.go b/vault/v1/vault-gen.go
index 3d0eafe..07f1b69 100644
--- a/vault/v1/vault-gen.go
+++ b/vault/v1/vault-gen.go
@@ -2089,7 +2089,7 @@
 
 func (c *MattersAddPermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2229,7 +2229,7 @@
 
 func (c *MattersCloseCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2370,7 +2370,7 @@
 
 func (c *MattersCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2496,7 +2496,7 @@
 
 func (c *MattersDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2648,7 +2648,7 @@
 
 func (c *MattersGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2841,7 +2841,7 @@
 
 func (c *MattersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3018,7 +3018,7 @@
 
 func (c *MattersRemovePermissionsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3158,7 +3158,7 @@
 
 func (c *MattersReopenCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3298,7 +3298,7 @@
 
 func (c *MattersUndeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3441,7 +3441,7 @@
 
 func (c *MattersUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3580,7 +3580,7 @@
 
 func (c *MattersExportsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3719,7 +3719,7 @@
 
 func (c *MattersExportsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3869,7 +3869,7 @@
 
 func (c *MattersExportsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4035,7 +4035,7 @@
 
 func (c *MattersExportsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4208,7 +4208,7 @@
 
 func (c *MattersHoldsAddHeldAccountsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4355,7 +4355,7 @@
 
 func (c *MattersHoldsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4495,7 +4495,7 @@
 
 func (c *MattersHoldsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4657,7 +4657,7 @@
 
 func (c *MattersHoldsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -4849,7 +4849,7 @@
 
 func (c *MattersHoldsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5032,7 +5032,7 @@
 
 func (c *MattersHoldsRemoveHeldAccountsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5185,7 +5185,7 @@
 
 func (c *MattersHoldsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5338,7 +5338,7 @@
 
 func (c *MattersHoldsAccountsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5489,7 +5489,7 @@
 
 func (c *MattersHoldsAccountsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5651,7 +5651,7 @@
 
 func (c *MattersHoldsAccountsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5794,7 +5794,7 @@
 
 func (c *MattersSavedQueriesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -5933,7 +5933,7 @@
 
 func (c *MattersSavedQueriesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6083,7 +6083,7 @@
 
 func (c *MattersSavedQueriesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6252,7 +6252,7 @@
 
 func (c *MattersSavedQueriesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -6423,7 +6423,7 @@
 
 func (c *OperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/vectortile/v1/vectortile-gen.go b/vectortile/v1/vectortile-gen.go
index 31c6dc6..a043b32 100644
--- a/vectortile/v1/vectortile-gen.go
+++ b/vectortile/v1/vectortile-gen.go
@@ -1305,7 +1305,7 @@
 
 func (c *FeaturetilesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1668,7 +1668,7 @@
 
 func (c *TerraintilesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/verifiedaccess/v1/verifiedaccess-gen.go b/verifiedaccess/v1/verifiedaccess-gen.go
index 0a93419..ebc1a2c 100644
--- a/verifiedaccess/v1/verifiedaccess-gen.go
+++ b/verifiedaccess/v1/verifiedaccess-gen.go
@@ -371,7 +371,7 @@
 
 func (c *ChallengeCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -496,7 +496,7 @@
 
 func (c *ChallengeVerifyCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/videointelligence/v1/videointelligence-gen.go b/videointelligence/v1/videointelligence-gen.go
index 80bd683..703ad17 100644
--- a/videointelligence/v1/videointelligence-gen.go
+++ b/videointelligence/v1/videointelligence-gen.go
@@ -8163,7 +8163,7 @@
 
 func (c *OperationsProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8299,7 +8299,7 @@
 
 func (c *OperationsProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8444,7 +8444,7 @@
 
 func (c *OperationsProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8592,7 +8592,7 @@
 
 func (c *ProjectsLocationsCorpuraOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8744,7 +8744,7 @@
 
 func (c *ProjectsLocationsOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -8888,7 +8888,7 @@
 
 func (c *ProjectsLocationsOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9033,7 +9033,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9214,7 +9214,7 @@
 
 func (c *ProjectsLocationsOperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -9391,7 +9391,7 @@
 
 func (c *VideosAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/videointelligence/v1beta2/videointelligence-gen.go b/videointelligence/v1beta2/videointelligence-gen.go
index 6c80271..9460343 100644
--- a/videointelligence/v1beta2/videointelligence-gen.go
+++ b/videointelligence/v1beta2/videointelligence-gen.go
@@ -7984,7 +7984,7 @@
 
 func (c *VideosAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/videointelligence/v1p1beta1/videointelligence-gen.go b/videointelligence/v1p1beta1/videointelligence-gen.go
index 550092f..5a076ab 100644
--- a/videointelligence/v1p1beta1/videointelligence-gen.go
+++ b/videointelligence/v1p1beta1/videointelligence-gen.go
@@ -7984,7 +7984,7 @@
 
 func (c *VideosAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/videointelligence/v1p2beta1/videointelligence-gen.go b/videointelligence/v1p2beta1/videointelligence-gen.go
index 48dca81..fee9d66 100644
--- a/videointelligence/v1p2beta1/videointelligence-gen.go
+++ b/videointelligence/v1p2beta1/videointelligence-gen.go
@@ -7984,7 +7984,7 @@
 
 func (c *VideosAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/videointelligence/v1p3beta1/videointelligence-gen.go b/videointelligence/v1p3beta1/videointelligence-gen.go
index 77c411f..5e6f35b 100644
--- a/videointelligence/v1p3beta1/videointelligence-gen.go
+++ b/videointelligence/v1p3beta1/videointelligence-gen.go
@@ -8080,7 +8080,7 @@
 
 func (c *VideosAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/vision/v1/vision-gen.go b/vision/v1/vision-gen.go
index 0e92610..144fc65 100644
--- a/vision/v1/vision-gen.go
+++ b/vision/v1/vision-gen.go
@@ -13934,7 +13934,7 @@
 
 func (c *FilesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14066,7 +14066,7 @@
 
 func (c *FilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14192,7 +14192,7 @@
 
 func (c *ImagesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14324,7 +14324,7 @@
 
 func (c *ImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14463,7 +14463,7 @@
 
 func (c *LocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14608,7 +14608,7 @@
 
 func (c *OperationsCancelCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14750,7 +14750,7 @@
 
 func (c *OperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14894,7 +14894,7 @@
 
 func (c *OperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15069,7 +15069,7 @@
 
 func (c *OperationsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15247,7 +15247,7 @@
 
 func (c *ProjectsFilesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15394,7 +15394,7 @@
 
 func (c *ProjectsFilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15535,7 +15535,7 @@
 
 func (c *ProjectsImagesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15682,7 +15682,7 @@
 
 func (c *ProjectsImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15828,7 +15828,7 @@
 
 func (c *ProjectsLocationsFilesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15975,7 +15975,7 @@
 
 func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16116,7 +16116,7 @@
 
 func (c *ProjectsLocationsImagesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16263,7 +16263,7 @@
 
 func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16415,7 +16415,7 @@
 
 func (c *ProjectsLocationsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16554,7 +16554,7 @@
 
 func (c *ProjectsLocationsProductSetsAddProductCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16707,7 +16707,7 @@
 
 func (c *ProjectsLocationsProductSetsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16853,7 +16853,7 @@
 
 func (c *ProjectsLocationsProductSetsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16996,7 +16996,7 @@
 
 func (c *ProjectsLocationsProductSetsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17139,7 +17139,7 @@
 
 func (c *ProjectsLocationsProductSetsImportCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17305,7 +17305,7 @@
 
 func (c *ProjectsLocationsProductSetsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17486,7 +17486,7 @@
 
 func (c *ProjectsLocationsProductSetsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17633,7 +17633,7 @@
 
 func (c *ProjectsLocationsProductSetsRemoveProductCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17800,7 +17800,7 @@
 
 func (c *ProjectsLocationsProductSetsProductsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17982,7 +17982,7 @@
 
 func (c *ProjectsLocationsProductsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18129,7 +18129,7 @@
 
 func (c *ProjectsLocationsProductsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18272,7 +18272,7 @@
 
 func (c *ProjectsLocationsProductsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18433,7 +18433,7 @@
 
 func (c *ProjectsLocationsProductsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18618,7 +18618,7 @@
 
 func (c *ProjectsLocationsProductsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18782,7 +18782,7 @@
 
 func (c *ProjectsLocationsProductsPurgeCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18947,7 +18947,7 @@
 
 func (c *ProjectsLocationsProductsReferenceImagesCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19095,7 +19095,7 @@
 
 func (c *ProjectsLocationsProductsReferenceImagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19238,7 +19238,7 @@
 
 func (c *ProjectsLocationsProductsReferenceImagesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19401,7 +19401,7 @@
 
 func (c *ProjectsLocationsProductsReferenceImagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19580,7 +19580,7 @@
 
 func (c *ProjectsOperationsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/vision/v1p1beta1/vision-gen.go b/vision/v1p1beta1/vision-gen.go
index 939a474..9af3b15 100644
--- a/vision/v1p1beta1/vision-gen.go
+++ b/vision/v1p1beta1/vision-gen.go
@@ -13345,7 +13345,7 @@
 
 func (c *FilesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13479,7 +13479,7 @@
 
 func (c *FilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13605,7 +13605,7 @@
 
 func (c *ImagesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13739,7 +13739,7 @@
 
 func (c *ImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13872,7 +13872,7 @@
 
 func (c *ProjectsFilesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14021,7 +14021,7 @@
 
 func (c *ProjectsFilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14162,7 +14162,7 @@
 
 func (c *ProjectsImagesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14311,7 +14311,7 @@
 
 func (c *ProjectsImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14457,7 +14457,7 @@
 
 func (c *ProjectsLocationsFilesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14606,7 +14606,7 @@
 
 func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14747,7 +14747,7 @@
 
 func (c *ProjectsLocationsImagesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14896,7 +14896,7 @@
 
 func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/vision/v1p2beta1/vision-gen.go b/vision/v1p2beta1/vision-gen.go
index be446f6..5ed1a20 100644
--- a/vision/v1p2beta1/vision-gen.go
+++ b/vision/v1p2beta1/vision-gen.go
@@ -13345,7 +13345,7 @@
 
 func (c *FilesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13479,7 +13479,7 @@
 
 func (c *FilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13605,7 +13605,7 @@
 
 func (c *ImagesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13739,7 +13739,7 @@
 
 func (c *ImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13872,7 +13872,7 @@
 
 func (c *ProjectsFilesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14021,7 +14021,7 @@
 
 func (c *ProjectsFilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14162,7 +14162,7 @@
 
 func (c *ProjectsImagesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14311,7 +14311,7 @@
 
 func (c *ProjectsImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14457,7 +14457,7 @@
 
 func (c *ProjectsLocationsFilesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14606,7 +14606,7 @@
 
 func (c *ProjectsLocationsFilesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14747,7 +14747,7 @@
 
 func (c *ProjectsLocationsImagesAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14896,7 +14896,7 @@
 
 func (c *ProjectsLocationsImagesAsyncBatchAnnotateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/webmasters/v3/webmasters-gen.go b/webmasters/v3/webmasters-gen.go
index 01c82cb..1b42f7f 100644
--- a/webmasters/v3/webmasters-gen.go
+++ b/webmasters/v3/webmasters-gen.go
@@ -659,7 +659,7 @@
 
 func (c *SearchanalyticsQueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -798,7 +798,7 @@
 
 func (c *SitemapsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -919,7 +919,7 @@
 
 func (c *SitemapsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1080,7 +1080,7 @@
 
 func (c *SitemapsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1219,7 +1219,7 @@
 
 func (c *SitemapsSubmitCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1327,7 +1327,7 @@
 
 func (c *SitesAddCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1428,7 +1428,7 @@
 
 func (c *SitesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1539,7 +1539,7 @@
 
 func (c *SitesGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1680,7 +1680,7 @@
 
 func (c *SitesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/websecurityscanner/v1/websecurityscanner-gen.go b/websecurityscanner/v1/websecurityscanner-gen.go
index dc15988..787c961 100644
--- a/websecurityscanner/v1/websecurityscanner-gen.go
+++ b/websecurityscanner/v1/websecurityscanner-gen.go
@@ -1520,7 +1520,7 @@
 
 func (c *ProjectsScanConfigsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1658,7 +1658,7 @@
 
 func (c *ProjectsScanConfigsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1799,7 +1799,7 @@
 
 func (c *ProjectsScanConfigsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1960,7 +1960,7 @@
 
 func (c *ProjectsScanConfigsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2137,7 +2137,7 @@
 
 func (c *ProjectsScanConfigsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2283,7 +2283,7 @@
 
 func (c *ProjectsScanConfigsStartCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2432,7 +2432,7 @@
 
 func (c *ProjectsScanConfigsScanRunsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2594,7 +2594,7 @@
 
 func (c *ProjectsScanConfigsScanRunsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2761,7 +2761,7 @@
 
 func (c *ProjectsScanConfigsScanRunsStopCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2927,7 +2927,7 @@
 
 func (c *ProjectsScanConfigsScanRunsCrawledUrlsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3103,7 +3103,7 @@
 
 func (c *ProjectsScanConfigsScanRunsFindingTypeStatsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3247,7 +3247,7 @@
 
 func (c *ProjectsScanConfigsScanRunsFindingsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3416,7 +3416,7 @@
 
 func (c *ProjectsScanConfigsScanRunsFindingsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/websecurityscanner/v1alpha/websecurityscanner-gen.go b/websecurityscanner/v1alpha/websecurityscanner-gen.go
index ee35fba..124f849 100644
--- a/websecurityscanner/v1alpha/websecurityscanner-gen.go
+++ b/websecurityscanner/v1alpha/websecurityscanner-gen.go
@@ -1201,7 +1201,7 @@
 
 func (c *ProjectsScanConfigsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1339,7 +1339,7 @@
 
 func (c *ProjectsScanConfigsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1480,7 +1480,7 @@
 
 func (c *ProjectsScanConfigsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1641,7 +1641,7 @@
 
 func (c *ProjectsScanConfigsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1818,7 +1818,7 @@
 
 func (c *ProjectsScanConfigsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1964,7 +1964,7 @@
 
 func (c *ProjectsScanConfigsStartCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2113,7 +2113,7 @@
 
 func (c *ProjectsScanConfigsScanRunsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2275,7 +2275,7 @@
 
 func (c *ProjectsScanConfigsScanRunsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2442,7 +2442,7 @@
 
 func (c *ProjectsScanConfigsScanRunsStopCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2608,7 +2608,7 @@
 
 func (c *ProjectsScanConfigsScanRunsCrawledUrlsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2784,7 +2784,7 @@
 
 func (c *ProjectsScanConfigsScanRunsFindingTypeStatsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2928,7 +2928,7 @@
 
 func (c *ProjectsScanConfigsScanRunsFindingsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3097,7 +3097,7 @@
 
 func (c *ProjectsScanConfigsScanRunsFindingsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/websecurityscanner/v1beta/websecurityscanner-gen.go b/websecurityscanner/v1beta/websecurityscanner-gen.go
index a29cdba..dc88cb5 100644
--- a/websecurityscanner/v1beta/websecurityscanner-gen.go
+++ b/websecurityscanner/v1beta/websecurityscanner-gen.go
@@ -1492,7 +1492,7 @@
 
 func (c *ProjectsScanConfigsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1630,7 +1630,7 @@
 
 func (c *ProjectsScanConfigsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1771,7 +1771,7 @@
 
 func (c *ProjectsScanConfigsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1932,7 +1932,7 @@
 
 func (c *ProjectsScanConfigsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2109,7 +2109,7 @@
 
 func (c *ProjectsScanConfigsPatchCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2255,7 +2255,7 @@
 
 func (c *ProjectsScanConfigsStartCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2404,7 +2404,7 @@
 
 func (c *ProjectsScanConfigsScanRunsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2566,7 +2566,7 @@
 
 func (c *ProjectsScanConfigsScanRunsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2733,7 +2733,7 @@
 
 func (c *ProjectsScanConfigsScanRunsStopCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2899,7 +2899,7 @@
 
 func (c *ProjectsScanConfigsScanRunsCrawledUrlsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3075,7 +3075,7 @@
 
 func (c *ProjectsScanConfigsScanRunsFindingTypeStatsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3219,7 +3219,7 @@
 
 func (c *ProjectsScanConfigsScanRunsFindingsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -3388,7 +3388,7 @@
 
 func (c *ProjectsScanConfigsScanRunsFindingsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/youtube/v3/youtube-gen.go b/youtube/v3/youtube-gen.go
index c032e66..cb55e2b 100644
--- a/youtube/v3/youtube-gen.go
+++ b/youtube/v3/youtube-gen.go
@@ -10942,7 +10942,7 @@
 
 func (c *AbuseReportsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11141,7 +11141,7 @@
 
 func (c *ActivitiesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11356,7 +11356,7 @@
 
 func (c *CaptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11514,7 +11514,7 @@
 
 func (c *CaptionsDownloadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11730,7 +11730,7 @@
 
 func (c *CaptionsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -11967,7 +11967,7 @@
 
 func (c *CaptionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12194,7 +12194,7 @@
 
 func (c *CaptionsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12477,7 +12477,7 @@
 
 func (c *ChannelBannersInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12679,7 +12679,7 @@
 
 func (c *ChannelSectionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -12825,7 +12825,7 @@
 
 func (c *ChannelSectionsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13027,7 +13027,7 @@
 
 func (c *ChannelSectionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13204,7 +13204,7 @@
 
 func (c *ChannelSectionsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13443,7 +13443,7 @@
 
 func (c *ChannelsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13667,7 +13667,7 @@
 
 func (c *ChannelsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -13810,7 +13810,7 @@
 
 func (c *CommentThreadsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14048,7 +14048,7 @@
 
 func (c *CommentThreadsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14287,7 +14287,7 @@
 
 func (c *CommentThreadsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14421,7 +14421,7 @@
 
 func (c *CommentsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14519,7 +14519,7 @@
 
 func (c *CommentsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14709,7 +14709,7 @@
 
 func (c *CommentsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -14899,7 +14899,7 @@
 
 func (c *CommentsMarkAsSpamCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15008,7 +15008,7 @@
 
 func (c *CommentsSetModerationStatusCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15133,7 +15133,7 @@
 
 func (c *CommentsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15298,7 +15298,7 @@
 
 func (c *GuideCategoriesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15463,7 +15463,7 @@
 
 func (c *I18nLanguagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15617,7 +15617,7 @@
 
 func (c *I18nRegionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -15803,7 +15803,7 @@
 
 func (c *LiveBroadcastsBindCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16021,7 +16021,7 @@
 
 func (c *LiveBroadcastsControlCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16223,7 +16223,7 @@
 
 func (c *LiveBroadcastsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16374,7 +16374,7 @@
 
 func (c *LiveBroadcastsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16629,7 +16629,7 @@
 
 func (c *LiveBroadcastsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -16893,7 +16893,7 @@
 
 func (c *LiveBroadcastsTransitionCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17099,7 +17099,7 @@
 
 func (c *LiveBroadcastsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17244,7 +17244,7 @@
 
 func (c *LiveChatBansDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17343,7 +17343,7 @@
 
 func (c *LiveChatBansInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17478,7 +17478,7 @@
 
 func (c *LiveChatMessagesDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17577,7 +17577,7 @@
 
 func (c *LiveChatMessagesInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17756,7 +17756,7 @@
 
 func (c *LiveChatMessagesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -17938,7 +17938,7 @@
 
 func (c *LiveChatModeratorsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18037,7 +18037,7 @@
 
 func (c *LiveChatModeratorsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18201,7 +18201,7 @@
 
 func (c *LiveChatModeratorsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18413,7 +18413,7 @@
 
 func (c *LiveStreamsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18563,7 +18563,7 @@
 
 func (c *LiveStreamsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -18791,7 +18791,7 @@
 
 func (c *LiveStreamsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19018,7 +19018,7 @@
 
 func (c *LiveStreamsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19221,7 +19221,7 @@
 
 func (c *MembersListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19425,7 +19425,7 @@
 
 func (c *MembershipsLevelsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19575,7 +19575,7 @@
 
 func (c *PlaylistItemsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19697,7 +19697,7 @@
 
 func (c *PlaylistItemsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -19903,7 +19903,7 @@
 
 func (c *PlaylistItemsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20107,7 +20107,7 @@
 
 func (c *PlaylistItemsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20265,7 +20265,7 @@
 
 func (c *PlaylistsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20411,7 +20411,7 @@
 
 func (c *PlaylistsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20654,7 +20654,7 @@
 
 func (c *PlaylistsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -20869,7 +20869,7 @@
 
 func (c *PlaylistsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21314,7 +21314,7 @@
 
 func (c *SearchListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21806,7 +21806,7 @@
 
 func (c *SponsorsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -21986,7 +21986,7 @@
 
 func (c *SubscriptionsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22086,7 +22086,7 @@
 
 func (c *SubscriptionsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22347,7 +22347,7 @@
 
 func (c *SubscriptionsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22605,7 +22605,7 @@
 
 func (c *SuperChatEventsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22776,7 +22776,7 @@
 
 func (c *TestsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -22917,7 +22917,7 @@
 
 func (c *ThirdPartyLinksDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23034,7 +23034,7 @@
 
 func (c *ThirdPartyLinksInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23196,7 +23196,7 @@
 
 func (c *ThirdPartyLinksListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23342,7 +23342,7 @@
 
 func (c *ThirdPartyLinksUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23533,7 +23533,7 @@
 
 func (c *ThumbnailsSetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23726,7 +23726,7 @@
 
 func (c *VideoAbuseReportReasonsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -23893,7 +23893,7 @@
 
 func (c *VideoCategoriesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24058,7 +24058,7 @@
 
 func (c *VideosDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24190,7 +24190,7 @@
 
 func (c *VideosGetRatingCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24430,7 +24430,7 @@
 
 func (c *VideosInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24760,7 +24760,7 @@
 
 func (c *VideosListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -24997,7 +24997,7 @@
 
 func (c *VideosRateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25129,7 +25129,7 @@
 
 func (c *VideosReportAbuseCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25253,7 +25253,7 @@
 
 func (c *VideosUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25453,7 +25453,7 @@
 
 func (c *WatermarksSetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25625,7 +25625,7 @@
 
 func (c *WatermarksUnsetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25747,7 +25747,7 @@
 
 func (c *YoutubeV3InfocardsCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -25918,7 +25918,7 @@
 
 func (c *YoutubeV3InfocardsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/youtubeanalytics/v2/youtubeanalytics-gen.go b/youtubeanalytics/v2/youtubeanalytics-gen.go
index 082733f..a489c28 100644
--- a/youtubeanalytics/v2/youtubeanalytics-gen.go
+++ b/youtubeanalytics/v2/youtubeanalytics-gen.go
@@ -797,7 +797,7 @@
 
 func (c *GroupItemsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -946,7 +946,7 @@
 
 func (c *GroupItemsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1116,7 +1116,7 @@
 
 func (c *GroupItemsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1273,7 +1273,7 @@
 
 func (c *GroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1422,7 +1422,7 @@
 
 func (c *GroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1615,7 +1615,7 @@
 
 func (c *GroupsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1799,7 +1799,7 @@
 
 func (c *GroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2056,7 +2056,7 @@
 
 func (c *ReportsQueryCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
diff --git a/youtubereporting/v1/youtubereporting-gen.go b/youtubereporting/v1/youtubereporting-gen.go
index 1a90770..986ff91 100644
--- a/youtubereporting/v1/youtubereporting-gen.go
+++ b/youtubereporting/v1/youtubereporting-gen.go
@@ -1027,7 +1027,7 @@
 
 func (c *JobsCreateCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1168,7 +1168,7 @@
 
 func (c *JobsDeleteCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1323,7 +1323,7 @@
 
 func (c *JobsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1505,7 +1505,7 @@
 
 func (c *JobsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1691,7 +1691,7 @@
 
 func (c *JobsReportsGetCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -1898,7 +1898,7 @@
 
 func (c *JobsReportsListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2098,7 +2098,7 @@
 
 func (c *MediaDownloadCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}
@@ -2294,7 +2294,7 @@
 
 func (c *ReportTypesListCall) doRequest(alt string) (*http.Response, error) {
 	reqHeaders := make(http.Header)
-	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200811")
+	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200812")
 	for k, v := range c.header_ {
 		reqHeaders[k] = v
 	}